(script 204)

(string
    string_04c0 "Clarence"
    string_04c9 "Gloria"
    string_04d0 "Rudy"
    string_04d5 "Wilbur"
    string_04dc "servent"
)

(said
    said_0348 /butler,man>
    said_0350 ask,get/boire,glass
    said_035c ask,raconter[/butler]/*<about
    said_036d embrace
    said_0370 draguer//(butler,man)<avec
    said_037f get
    said_0382 deliver,hold/*/butler
    said_038e deliver,hold/*<butler
    said_039a abattre
    said_039d embrasser
    said_03a0 look/butler,man
    said_03a9 look/hommes
    said_03af look/gens
    said_03b5 bonjour
)

(local
)

// 03be
(class servent of Act
    (properties
        y $0
        x $0
        z $0
        heading $0
        yStep $2
        view $0
        loop $0
        cel $0
        priority $0
        underBits $0
        signal $0
        nsTop $0
        nsLeft $0
        nsBottom $0
        nsRight $0
        lsTop $0
        lsLeft $0
        lsBottom $0
        lsRight $0
        brTop $0
        brLeft $0
        brBottom $0
        brRight $0
        cycleSpeed $0
        script $0
        cycler $0
        timer $0
        illegalBits $8000
        xLast $0
        yLast $0
        xStep $3
        moveSpeed $0
        blocks $0
        baseSetter $0
        mover $0
        looper $0
        viewer $0
        avoider $0
        guest1 $0
        exitX $0
        exitY $0
        seconds $0
        lastSeconds $0
        serveState $0
        guestState $0
        serving $0
        outOfRoom $0
        itemX $0
        itemY $0
    )
    (method (init) // method_0004
  0004:39 57            pushi 57 // $57 init
  0006:76               push0 
  0007:57 28 04         super Act 4 

  000a:7a               push2 
  000b:38 0087          pushi 87 // $87 clean
  000e:39 04            pushi 4 // $4 x
  0010:43 00 04         callk Load 4 

  0013:35 ff              ldi ff 
  0015:65 5e             aTop serveState 
  0017:35 01              ldi 1 
  0019:65 60             aTop guestState 
  001b:35 00              ldi 0 
  001d:65 62             aTop serving 
  001f:88 00c3            lsg global195 
  0022:34 0400            ldi 400 
  0025:14                  or 
  0026:a0 00c3            sag global195 
  0029:48                 ret 
    )

    (method (doit) // method_002a
  002a:3f 01             link 1 // (var $1)
  002c:39 3c            pushi 3c // $3c doit
  002e:76               push0 
  002f:57 28 04         super Act 4 

  0032:63 5a             pToa seconds 
  0034:31 1c              bnt code_0052 
  0036:78               push1 
  0037:78               push1 
  0038:43 46 02         callk GetTime 2 

  003b:a5 00              sat temp0 
  003d:67 5c             pTos lastSeconds 
  003f:85 00              lat temp0 
  0041:1c                 ne? 
  0042:31 0e              bnt code_0052 
  0044:85 00              lat temp0 
  0046:65 5c             aTop lastSeconds 
  0048:6d 5a            dpToa seconds 
  004a:18                 not 
  004b:31 05              bnt code_0052 
  004d:39 79            pushi 79 // $79 cue
  004f:76               push0 
  0050:54 04             self 4 


        code_0052
  0052:88 00a7            lsg global167 
  0055:35 01              ldi 1 
  0057:1a                 eq? 
  0058:31 11              bnt code_006b 
  005a:67 62             pTos serving 
  005c:35 00              ldi 0 
  005e:1a                 eq? 
  005f:31 0a              bnt code_006b 
  0061:38 0155          pushi 155 // $155 serve
  0064:76               push0 
  0065:54 04             self 4 

  0067:35 01              ldi 1 
  0069:65 62             aTop serving 

        code_006b
  006b:48                 ret 
    )

    (method (dispose) // method_006c
  006c:78               push1 
  006d:38 03d9          pushi 3d9 // $3d9 sel_985
  0070:43 03 02         callk DisposeScript 2 

  0073:88 00c3            lsg global195 
  0076:34 fbff            ldi fbff 
  0079:12                 and 
  007a:a0 00c3            sag global195 
  007d:39 58            pushi 58 // $58 dispose
  007f:76               push0 
  0080:57 28 04         super Act 4 

  0083:48                 ret 
    )

    (method (handleEvent) // method_0084
  0084:3f 01             link 1 // (var $1)
  0086:39 4c            pushi 4c // $4c claimed
  0088:76               push0 
  0089:87 01              lap param1 
  008b:4a 04             send 4 

  008d:31 01              bnt code_0090 
  008f:48                 ret 

        code_0090
  0090:39 22            pushi 22 // $22 type
  0092:76               push0 
  0093:87 01              lap param1 
  0095:4a 04             send 4 

  0097:36                push 
  0098:34 0080            ldi 80 
  009b:1a                 eq? 
  009c:30 01e2            bnt code_0281 
  009f:38 00da          pushi da // $da inRect
  00a2:39 04            pushi 4 // $4 x
  00a4:76               push0 
  00a5:76               push0 
  00a6:38 013f          pushi 13f // $13f chainY
  00a9:38 00bf          pushi bf // $bf findPosn
  00ac:54 0c             self c 

  00ae:30 01d0            bnt code_0281 
  00b1:39 03            pushi 3 // $3 y
  00b3:7c            pushSelf 
  00b4:8f 01              lsp param1 
  00b6:39 03            pushi 3 // $3 y
  00b8:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  00be:2f 09               bt code_00c9 
  00c0:78               push1 
  00c1:74 02dc          lofss $03a0 // look/butler,man
  00c4:43 25 02         callk Said 2 

  00c7:31 3a              bnt code_0103 

        code_00c9
  00c9:88 00cf            lsg global207 
  00cc:34 0400            ldi 400 
  00cf:12                 and 
  00d0:31 0d              bnt code_00df 
  00d2:7a               push2 
  00d3:38 00cc          pushi cc // $cc isExtra
  00d6:76               push0 
  00d7:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  00dd:33 19              jmp code_00f8 

        code_00df
  00df:35 0b              ldi b 
  00e1:a0 00d5            sag global213 
  00e4:88 00cf            lsg global207 
  00e7:34 0400            ldi 400 
  00ea:14                  or 
  00eb:a0 00cf            sag global207 
  00ee:39 03            pushi 3 // $3 y
  00f0:76               push0 
  00f1:38 00cc          pushi cc // $cc isExtra
  00f4:78               push1 
  00f5:45 01 06         callb procedure_0001 6 // Say 


        code_00f8
  00f8:39 4c            pushi 4c // $4c claimed
  00fa:78               push1 
  00fb:78               push1 
  00fc:87 01              lap param1 
  00fe:4a 06             send 6 

  0100:32 017e            jmp code_0281 

        code_0103
  0103:78               push1 
  0104:74 0269          lofss $0370 // draguer//(butler,man)<avec
  0107:43 25 02         callk Said 2 

  010a:31 0e              bnt code_011a 
  010c:7a               push2 
  010d:38 00cc          pushi cc // $cc isExtra
  0110:7a               push2 
  0111:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0117:32 0167            jmp code_0281 

        code_011a
  011a:78               push1 
  011b:74 0232          lofss $0350 // ask,get/boire,glass
  011e:43 25 02         callk Said 2 

  0121:31 0f              bnt code_0132 
  0123:7a               push2 
  0124:38 00cc          pushi cc // $cc isExtra
  0127:39 03            pushi 3 // $3 y
  0129:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  012f:32 014f            jmp code_0281 

        code_0132
  0132:78               push1 
  0133:74 0226          lofss $035c // ask,raconter[/butler]/*<about
  0136:43 25 02         callk Said 2 

  0139:31 0f              bnt code_014a 
  013b:7a               push2 
  013c:38 00cc          pushi cc // $cc isExtra
  013f:39 04            pushi 4 // $4 x
  0141:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0147:32 0137            jmp code_0281 

        code_014a
  014a:78               push1 
  014b:74 0234          lofss $0382 // deliver,hold/*/butler
  014e:43 25 02         callk Said 2 

  0151:2f 09               bt code_015c 
  0153:78               push1 
  0154:74 0237          lofss $038e // deliver,hold/*<butler
  0157:43 25 02         callk Said 2 

  015a:31 1f              bnt code_017b 

        code_015c
  015c:80 00db            lag global219 
  015f:31 13              bnt code_0174 
  0161:80 00e0            lag global224 
  0164:31 0e              bnt code_0174 
  0166:7a               push2 
  0167:38 00cc          pushi cc // $cc isExtra
  016a:39 04            pushi 4 // $4 x
  016c:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0172:33 04              jmp code_0178 

        code_0174
  0174:76               push0 
  0175:45 0d 00         callb procedure_000d 0 // DontHave 


        code_0178
  0178:32 0106            jmp code_0281 

        code_017b
  017b:78               push1 
  017c:74 0230          lofss $03af // look/gens
  017f:43 25 02         callk Said 2 

  0182:31 3e              bnt code_01c2 
  0184:39 03            pushi 3 // $3 y
  0186:38 00cc          pushi cc // $cc isExtra
  0189:39 05            pushi 5 // $5 view
  018b:89 0b              lsg gCurRoomNum 
  018d:3c                 dup 
  018e:35 20              ldi 20 
  0190:1a                 eq? 
  0191:31 05              bnt code_0198 
  0193:72 033f          lofsa $04d5 // Wilbur
  0196:33 1f              jmp code_01b7 

        code_0198
  0198:3c                 dup 
  0199:35 24              ldi 24 
  019b:1a                 eq? 
  019c:31 05              bnt code_01a3 
  019e:72 0328          lofsa $04c9 // Gloria
  01a1:33 14              jmp code_01b7 

        code_01a3
  01a3:3c                 dup 
  01a4:35 26              ldi 26 
  01a6:1a                 eq? 
  01a7:31 05              bnt code_01ae 
  01a9:72 0314          lofsa $04c0 // Clarence
  01ac:33 09              jmp code_01b7 

        code_01ae
  01ae:3c                 dup 
  01af:35 30              ldi 30 
  01b1:1a                 eq? 
  01b2:31 03              bnt code_01b7 
  01b4:72 0319          lofsa $04d0 // Rudy

        code_01b7
  01b7:3a                toss 
  01b8:36                push 
  01b9:46 00ff 0004 06  calle ff procedure_0004 6 // Printf 

  01bf:32 00bf            jmp code_0281 

        code_01c2
  01c2:78               push1 
  01c3:74 01e3          lofss $03a9 // look/hommes
  01c6:43 25 02         callk Said 2 

  01c9:31 3c              bnt code_0207 
  01cb:39 03            pushi 3 // $3 y
  01cd:38 00cc          pushi cc // $cc isExtra
  01d0:39 05            pushi 5 // $5 view
  01d2:89 0b              lsg gCurRoomNum 
  01d4:3c                 dup 
  01d5:35 20              ldi 20 
  01d7:1a                 eq? 
  01d8:31 05              bnt code_01df 
  01da:72 02f8          lofsa $04d5 // Wilbur
  01dd:33 1e              jmp code_01fd 

        code_01df
  01df:3c                 dup 
  01e0:35 26              ldi 26 
  01e2:1a                 eq? 
  01e3:31 05              bnt code_01ea 
  01e5:72 02d8          lofsa $04c0 // Clarence
  01e8:33 13              jmp code_01fd 

        code_01ea
  01ea:3c                 dup 
  01eb:35 30              ldi 30 
  01ed:1a                 eq? 
  01ee:31 05              bnt code_01f5 
  01f0:72 02dd          lofsa $04d0 // Rudy
  01f3:33 08              jmp code_01fd 

        code_01f5
  01f5:39 4c            pushi 4c // $4c claimed
  01f7:78               push1 
  01f8:76               push0 
  01f9:87 01              lap param1 
  01fb:4a 06             send 6 


        code_01fd
  01fd:3a                toss 
  01fe:36                push 
  01ff:46 00ff 0004 06  calle ff procedure_0004 6 // Printf 

  0205:33 7a              jmp code_0281 

        code_0207
  0207:78               push1 
  0208:74 013d          lofss $0348 // /butler,man>
  020b:43 25 02         callk Said 2 

  020e:31 71              bnt code_0281 
  0210:78               push1 
  0211:74 01a1          lofss $03b5 // bonjour
  0214:43 25 02         callk Said 2 

  0217:31 0e              bnt code_0227 
  0219:7a               push2 
  021a:38 00cc          pushi cc // $cc isExtra
  021d:39 04            pushi 4 // $4 x
  021f:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0225:33 5a              jmp code_0281 

        code_0227
  0227:78               push1 
  0228:74 0154          lofss $037f // get
  022b:43 25 02         callk Said 2 

  022e:31 0e              bnt code_023e 
  0230:7a               push2 
  0231:38 00cc          pushi cc // $cc isExtra
  0234:39 06            pushi 6 // $6 loop
  0236:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  023c:33 43              jmp code_0281 

        code_023e
  023e:78               push1 
  023f:74 0158          lofss $039a // abattre
  0242:43 25 02         callk Said 2 

  0245:31 0e              bnt code_0255 
  0247:7a               push2 
  0248:38 00cc          pushi cc // $cc isExtra
  024b:39 07            pushi 7 // $7 cel
  024d:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0253:33 2c              jmp code_0281 

        code_0255
  0255:78               push1 
  0256:74 0114          lofss $036d // embrace
  0259:43 25 02         callk Said 2 

  025c:31 0e              bnt code_026c 
  025e:7a               push2 
  025f:38 00cc          pushi cc // $cc isExtra
  0262:39 08            pushi 8 // $8 underBits
  0264:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  026a:33 15              jmp code_0281 

        code_026c
  026c:78               push1 
  026d:74 012d          lofss $039d // embrasser
  0270:43 25 02         callk Said 2 

  0273:31 0c              bnt code_0281 
  0275:7a               push2 
  0276:38 00cc          pushi cc // $cc isExtra
  0279:39 09            pushi 9 // $9 nsTop
  027b:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_0281
  0281:48                 ret 
    )

    (method (serve) // method_0282
  0282:38 00d3          pushi d3 // $d3 setMotion
  0285:39 04            pushi 4 // $4 x
  0287:51 1d            class MoveTo 
  0289:36                push 
  028a:67 66             pTos itemX 
  028c:67 68             pTos itemY 
  028e:7c            pushSelf 
  028f:54 0c             self c 

  0291:48                 ret 
    )

    (method (leave) // method_0292
  0292:35 02              ldi 2 
  0294:65 5e             aTop serveState 
  0296:35 01              ldi 1 
  0298:65 64             aTop outOfRoom 
  029a:38 00d3          pushi d3 // $d3 setMotion
  029d:39 04            pushi 4 // $4 x
  029f:51 1d            class MoveTo 
  02a1:36                push 
  02a2:67 56             pTos exitX 
  02a4:67 58             pTos exitY 
  02a6:7c            pushSelf 
  02a7:54 0c             self c 

  02a9:48                 ret 
    )

    (method (converse) // method_02aa
  02aa:35 03              ldi 3 
  02ac:65 5a             aTop seconds 
  02ae:48                 ret 
    )

    (method (cue) // method_02af
  02af:6f 5e            ipTos serveState 
  02b1:3c                 dup 
  02b2:35 00              ldi 0 
  02b4:1a                 eq? 
  02b5:31 2b              bnt code_02e2 
  02b7:39 06            pushi 6 // $6 loop
  02b9:78               push1 
  02ba:39 03            pushi 3 // $3 y
  02bc:54 06             self 6 

  02be:39 09            pushi 9 // $9 nsTop
  02c0:38 00cc          pushi cc // $cc isExtra
  02c3:39 0a            pushi a // $a nsLeft
  02c5:39 43            pushi 43 // $43 at
  02c7:38 00a0          pushi a0 // $a0 cycleDone
  02ca:39 0a            pushi a // $a nsLeft
  02cc:39 21            pushi 21 // $21 font
  02ce:39 04            pushi 4 // $4 x
  02d0:39 53            pushi 53 // $53 draw
  02d2:39 58            pushi 58 // $58 dispose
  02d4:46 00ff 0000 12  calle ff procedure_0000 12 // Print 

  02da:38 0157          pushi 157 // $157 converse
  02dd:76               push0 
  02de:54 04             self 4 

  02e0:33 5f              jmp code_0341 

        code_02e2
  02e2:3c                 dup 
  02e3:35 01              ldi 1 
  02e5:1a                 eq? 
  02e6:31 28              bnt code_0310 
  02e8:76               push0 
  02e9:45 0f 00         callb procedure_000f 0 // cls 

  02ec:39 09            pushi 9 // $9 nsTop
  02ee:38 00cc          pushi cc // $cc isExtra
  02f1:39 0b            pushi b // $b nsBottom
  02f3:39 43            pushi 43 // $43 at
  02f5:38 00a0          pushi a0 // $a0 cycleDone
  02f8:39 0a            pushi a // $a nsLeft
  02fa:39 21            pushi 21 // $21 font
  02fc:39 04            pushi 4 // $4 x
  02fe:39 53            pushi 53 // $53 draw
  0300:39 58            pushi 58 // $58 dispose
  0302:46 00ff 0000 12  calle ff procedure_0000 12 // Print 

  0308:38 0157          pushi 157 // $157 converse
  030b:76               push0 
  030c:54 04             self 4 

  030e:33 31              jmp code_0341 

        code_0310
  0310:3c                 dup 
  0311:35 02              ldi 2 
  0313:1a                 eq? 
  0314:31 10              bnt code_0326 
  0316:76               push0 
  0317:45 0f 00         callb procedure_000f 0 // cls 

  031a:35 ff              ldi ff 
  031c:65 5e             aTop serveState 
  031e:38 0156          pushi 156 // $156 leave
  0321:76               push0 
  0322:54 04             self 4 

  0324:33 1b              jmp code_0341 

        code_0326
  0326:3c                 dup 
  0327:35 03              ldi 3 
  0329:1a                 eq? 
  032a:31 15              bnt code_0341 
  032c:67 64             pTos outOfRoom 
  032e:35 01              ldi 1 
  0330:1a                 eq? 
  0331:31 0e              bnt code_0341 
  0333:38 00d4          pushi d4 // $d4 setAvoider
  0336:78               push1 
  0337:76               push0 
  0338:38 00c6          pushi c6 // $c6 stopUpd
  033b:76               push0 
  033c:39 58            pushi 58 // $58 dispose
  033e:76               push0 
  033f:54 0e             self e 


        code_0341
  0341:3a                toss 
  0342:48                 ret 
  0343:00                bnot 
    )

)



