(script 378)

(string
    string_0534 "ClarAss"
    string_053c "ClarSit"
    string_0544 "Clarence"
    string_054d "Jeeves"
    string_0554 "Smoke"
    string_055a "clarActions"
    string_0566 "clarence"
    string_056f ""
)

(said
    said_0328 /attorney
    said_032c /butt
    said_0330 /boire,glass
    said_0337 get/butt
    said_033d get/boire,glass
    said_0346 ecouter/attorney
    said_034c look/attorney
    said_0352 look>
    said_0356 bonjour>
)

(synonym
    attorney | clarence | lawyer = person | personne
    attorney | clarence | lawyer = fellow | gars | gentleman | guy | homme | man | type
)

(local
    local0 = $0000
    local1 = $0000
    local2 = $0000
    local3 = $0000
)

// 0360
(instance Jeeves of servent
    (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
    )
)

// 03da
(instance public ClarSit of Rgn
    (properties
        script $0
        number $0
        timer $0
        keep $0
        initialized $0
    )
    (method (init) // method_001a
  001a:39 57            pushi 57 // $57 init
  001c:76               push0 
  001d:57 36 04         super Rgn 4 

  0020:39 03            pushi 3 // $3 y
  0022:38 008f          pushi 8f // $8f moveTo
  0025:38 00f3          pushi f3 // $f3 close
  0028:38 00da          pushi da // $da inRect
  002b:45 15 06         callb procedure_0015 6 // LoadMany 

  002e:7a               push2 
  002f:38 008e          pushi 8e // $8e move
  0032:39 07            pushi 7 // $7 cel
  0034:45 15 04         callb procedure_0015 4 // LoadMany 

  0037:35 40              ldi 40 
  0039:a0 00d0            sag global208 
  003c:34 00da            ldi da 
  003f:a0 017f            sag global383 
  0042:39 57            pushi 57 // $57 init
  0044:76               push0 
  0045:38 00c6          pushi c6 // $c6 stopUpd
  0048:76               push0 
  0049:72 0448          lofsa $0494 // ClarAss
  004c:4a 08             send 8 

  004e:39 42            pushi 42 // $42 setPri
  0050:78               push1 
  0051:39 06            pushi 6 // $6 loop
  0053:39 57            pushi 57 // $57 init
  0055:76               push0 
  0056:39 7a            pushi 7a // $7a setScript
  0058:78               push1 
  0059:74 03b6          lofss $0412 // clarActions
  005c:72 03e3          lofsa $0442 // Clarence
  005f:4a 10             send 10 

  0061:39 42            pushi 42 // $42 setPri
  0063:78               push1 
  0064:39 06            pushi 6 // $6 loop
  0066:39 57            pushi 57 // $57 init
  0068:76               push0 
  0069:38 0089          pushi 89 // $89 hide
  006c:76               push0 
  006d:72 0472          lofsa $04e2 // Smoke
  0070:4a 0e             send e 

  0072:88 00c2            lsg global194 
  0075:35 02              ldi 2 
  0077:12                 and 
  0078:18                 not 
  0079:31 58              bnt code_00d3 
  007b:88 00c2            lsg global194 
  007e:35 02              ldi 2 
  0080:14                  or 
  0081:a0 00c2            sag global194 
  0084:39 05            pushi 5 // $5 view
  0086:78               push1 
  0087:38 01bc          pushi 1bc // $1bc sel_444
  008a:38 00c5          pushi c5 // $c5 posn
  008d:7a               push2 
  008e:39 f1            pushi f1 // $f1 write
  0090:39 62            pushi 62 // $62 eachElementDo
  0092:39 7e            pushi 7e // $7e setCycle
  0094:78               push1 
  0095:51 17            class Walk 
  0097:36                push 
  0098:38 014c          pushi 14c // $14c guest1
  009b:78               push1 
  009c:74 03f5          lofss $0494 // ClarAss
  009f:38 014d          pushi 14d // $14d exitX
  00a2:78               push1 
  00a3:39 f6            pushi f6 // $f6 carrying
  00a5:38 014e          pushi 14e // $14e exitY
  00a8:78               push1 
  00a9:39 62            pushi 62 // $62 eachElementDo
  00ab:38 0153          pushi 153 // $153 itemX
  00ae:78               push1 
  00af:38 00b2          pushi b2 // $b2 lastBumped
  00b2:38 0154          pushi 154 // $154 itemY
  00b5:78               push1 
  00b6:39 6c            pushi 6c // $6c addToEnd
  00b8:38 00d4          pushi d4 // $d4 setAvoider
  00bb:78               push1 
  00bc:38 00be          pushi be // $be offScreenOK
  00bf:78               push1 
  00c0:78               push1 
  00c1:39 56            pushi 56 // $56 new
  00c3:76               push0 
  00c4:51 21            class Avoid 
  00c6:4a 04             send 4 

  00c8:4a 06             send 6 

  00ca:36                push 
  00cb:39 57            pushi 57 // $57 init
  00cd:76               push0 
  00ce:72 0295          lofsa $0366 // Jeeves
  00d1:4a 3c             send 3c 


        code_00d3
  00d3:48                 ret 
    )

    (method (doit) // method_00d4
  00d4:8b 03              lsl local3 
  00d6:35 32              ldi 32 
  00d8:22                 lt? 
  00d9:31 04              bnt code_00df 
  00db:c3 03              +al local3 
  00dd:33 05              jmp code_00e4 

        code_00df
  00df:35 01              ldi 1 
  00e1:a0 00a7            sag global167 

        code_00e4
  00e4:39 3c            pushi 3c // $3c doit
  00e6:76               push0 
  00e7:57 36 04         super Rgn 4 

  00ea:48                 ret 
    )

    (method (dispose) // method_00eb
  00eb:78               push1 
  00ec:38 00cc          pushi cc // $cc isExtra
  00ef:43 03 02         callk DisposeScript 2 

  00f2:78               push1 
  00f3:38 03cf          pushi 3cf // $3cf sel_975
  00f6:43 03 02         callk DisposeScript 2 

  00f9:78               push1 
  00fa:38 03d9          pushi 3d9 // $3d9 sel_985
  00fd:43 03 02         callk DisposeScript 2 

  0100:39 58            pushi 58 // $58 dispose
  0102:76               push0 
  0103:57 36 04         super Rgn 4 

  0106:48                 ret 
    )

    (method (handleEvent) // method_0107
  0107:39 6f            pushi 6f // $6f handleEvent
  0109:78               push1 
  010a:8f 01              lsp param1 
  010c:57 36 06         super Rgn 6 

  010f:39 4c            pushi 4c // $4c claimed
  0111:76               push0 
  0112:87 01              lap param1 
  0114:4a 04             send 4 

  0116:31 03              bnt code_011b 
  0118:35 01              ldi 1 
  011a:48                 ret 

        code_011b
  011b:39 22            pushi 22 // $22 type
  011d:76               push0 
  011e:87 01              lap param1 
  0120:4a 04             send 4 

  0122:36                push 
  0123:34 0080            ldi 80 
  0126:1a                 eq? 
  0127:30 00c6            bnt code_01f0 
  012a:78               push1 
  012b:74 0224          lofss $0352 // look>
  012e:43 25 02         callk Said 2 

  0131:31 5a              bnt code_018d 
  0133:78               push1 
  0134:74 01f1          lofss $0328 // /attorney
  0137:43 25 02         callk Said 2 

  013a:31 1f              bnt code_015b 
  013c:88 00cf            lsg global207 
  013f:35 40              ldi 40 
  0141:12                 and 
  0142:31 0d              bnt code_0151 
  0144:7a               push2 
  0145:38 017a          pushi 17a // $17a sel_378
  0148:76               push0 
  0149:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  014f:33 08              jmp code_0159 

        code_0151
  0151:39 4c            pushi 4c // $4c claimed
  0153:78               push1 
  0154:76               push0 
  0155:87 01              lap param1 
  0157:4a 06             send 6 


        code_0159
  0159:33 30              jmp code_018b 

        code_015b
  015b:78               push1 
  015c:74 01cd          lofss $032c // /butt
  015f:43 25 02         callk Said 2 

  0162:31 13              bnt code_0177 
  0164:78               push1 
  0165:39 0d            pushi d // $d lsTop
  0167:45 05 02         callb procedure_0005 2 // SetFlag 

  016a:7a               push2 
  016b:38 017a          pushi 17a // $17a sel_378
  016e:78               push1 
  016f:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0175:33 14              jmp code_018b 

        code_0177
  0177:78               push1 
  0178:74 01b5          lofss $0330 // /boire,glass
  017b:43 25 02         callk Said 2 

  017e:31 0b              bnt code_018b 
  0180:7a               push2 
  0181:38 017a          pushi 17a // $17a sel_378
  0184:7a               push2 
  0185:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_018b
  018b:33 63              jmp code_01f0 

        code_018d
  018d:78               push1 
  018e:74 01c5          lofss $0356 // bonjour>
  0191:43 25 02         callk Said 2 

  0194:31 17              bnt code_01ad 
  0196:78               push1 
  0197:74 018e          lofss $0328 // /attorney
  019a:43 25 02         callk Said 2 

  019d:31 0c              bnt code_01ab 
  019f:7a               push2 
  01a0:38 017a          pushi 17a // $17a sel_378
  01a3:39 03            pushi 3 // $3 y
  01a5:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_01ab
  01ab:33 43              jmp code_01f0 

        code_01ad
  01ad:78               push1 
  01ae:74 0195          lofss $0346 // ecouter/attorney
  01b1:43 25 02         callk Said 2 

  01b4:31 0e              bnt code_01c4 
  01b6:7a               push2 
  01b7:38 017a          pushi 17a // $17a sel_378
  01ba:39 04            pushi 4 // $4 x
  01bc:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  01c2:33 2c              jmp code_01f0 

        code_01c4
  01c4:78               push1 
  01c5:74 016f          lofss $0337 // get/butt
  01c8:43 25 02         callk Said 2 

  01cb:31 0e              bnt code_01db 
  01cd:7a               push2 
  01ce:38 017a          pushi 17a // $17a sel_378
  01d1:39 05            pushi 5 // $5 view
  01d3:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  01d9:33 15              jmp code_01f0 

        code_01db
  01db:78               push1 
  01dc:74 015e          lofss $033d // get/boire,glass
  01df:43 25 02         callk Said 2 

  01e2:31 0c              bnt code_01f0 
  01e4:7a               push2 
  01e5:38 017a          pushi 17a // $17a sel_378
  01e8:39 06            pushi 6 // $6 loop
  01ea:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_01f0
  01f0:48                 ret 
    )

)

// 040c
(instance clarActions of Script
    (properties
        client $0
        state $ffff
        start $0
        timer $0
        cycles $0
        seconds $0
        lastSeconds $0
        register $0
        script $0
        caller $0
    )
    (method (changeState) // method_01f1
  01f1:87 01              lap param1 
  01f3:65 0a             aTop state 
  01f5:36                push 
  01f6:3c                 dup 
  01f7:35 00              ldi 0 
  01f9:1a                 eq? 
  01fa:31 18              bnt code_0214 
  01fc:39 06            pushi 6 // $6 loop
  01fe:78               push1 
  01ff:39 05            pushi 5 // $5 view
  0201:39 07            pushi 7 // $7 cel
  0203:78               push1 
  0204:76               push0 
  0205:39 7e            pushi 7e // $7e setCycle
  0207:7a               push2 
  0208:51 1a            class End 
  020a:36                push 
  020b:7c            pushSelf 
  020c:72 0233          lofsa $0442 // Clarence
  020f:4a 14             send 14 

  0211:32 00b1            jmp code_02c5 

        code_0214
  0214:3c                 dup 
  0215:35 01              ldi 1 
  0217:1a                 eq? 
  0218:31 1d              bnt code_0237 
  021a:39 06            pushi 6 // $6 loop
  021c:78               push1 
  021d:39 04            pushi 4 // $4 x
  021f:39 07            pushi 7 // $7 cel
  0221:78               push1 
  0222:76               push0 
  0223:38 00a4          pushi a4 // $a4 cycleSpeed
  0226:78               push1 
  0227:78               push1 
  0228:39 7e            pushi 7e // $7e setCycle
  022a:7a               push2 
  022b:51 1a            class End 
  022d:36                push 
  022e:7c            pushSelf 
  022f:72 0210          lofsa $0442 // Clarence
  0232:4a 1a             send 1a 

  0234:32 008e            jmp code_02c5 

        code_0237
  0237:3c                 dup 
  0238:35 02              ldi 2 
  023a:1a                 eq? 
  023b:31 29              bnt code_0266 
  023d:39 07            pushi 7 // $7 cel
  023f:78               push1 
  0240:76               push0 
  0241:39 7e            pushi 7e // $7e setCycle
  0243:7a               push2 
  0244:51 1a            class End 
  0246:36                push 
  0247:7c            pushSelf 
  0248:38 00ca          pushi ca // $ca show
  024b:76               push0 
  024c:72 0293          lofsa $04e2 // Smoke
  024f:4a 12             send 12 

  0251:8b 00              lsl local0 
  0253:35 01              ldi 1 
  0255:22                 lt? 
  0256:31 08              bnt code_0260 
  0258:c3 00              +al local0 
  025a:35 00              ldi 0 
  025c:65 0a             aTop state 
  025e:33 04              jmp code_0264 

        code_0260
  0260:35 00              ldi 0 
  0262:a3 00              sal local0 

        code_0264
  0264:33 5f              jmp code_02c5 

        code_0266
  0266:3c                 dup 
  0267:35 03              ldi 3 
  0269:1a                 eq? 
  026a:31 32              bnt code_029e 
  026c:39 07            pushi 7 // $7 cel
  026e:78               push1 
  026f:76               push0 
  0270:38 0089          pushi 89 // $89 hide
  0273:76               push0 
  0274:72 026b          lofsa $04e2 // Smoke
  0277:4a 0a             send a 

  0279:39 06            pushi 6 // $6 loop
  027b:78               push1 
  027c:78               push1 
  027d:39 07            pushi 7 // $7 cel
  027f:78               push1 
  0280:39 05            pushi 5 // $5 view
  0282:38 00a4          pushi a4 // $a4 cycleSpeed
  0285:78               push1 
  0286:7a               push2 
  0287:39 7e            pushi 7e // $7e setCycle
  0289:78               push1 
  028a:51 1b            class Beg 
  028c:36                push 
  028d:72 01b2          lofsa $0442 // Clarence
  0290:4a 18             send 18 

  0292:7a               push2 
  0293:39 06            pushi 6 // $6 loop
  0295:39 0c            pushi c // $c nsRight
  0297:43 40 04         callk Random 4 

  029a:65 12             aTop seconds 
  029c:33 27              jmp code_02c5 

        code_029e
  029e:3c                 dup 
  029f:35 04              ldi 4 
  02a1:1a                 eq? 
  02a2:31 21              bnt code_02c5 
  02a4:39 06            pushi 6 // $6 loop
  02a6:78               push1 
  02a7:7a               push2 
  02a8:39 07            pushi 7 // $7 cel
  02aa:78               push1 
  02ab:76               push0 
  02ac:39 7e            pushi 7e // $7e setCycle
  02ae:78               push1 
  02af:51 1a            class End 
  02b1:36                push 
  02b2:72 018d          lofsa $0442 // Clarence
  02b5:4a 12             send 12 

  02b7:7a               push2 
  02b8:39 06            pushi 6 // $6 loop
  02ba:39 0c            pushi c // $c nsRight
  02bc:43 40 04         callk Random 4 

  02bf:65 12             aTop seconds 
  02c1:35 ff              ldi ff 
  02c3:65 0a             aTop state 

        code_02c5
  02c5:3a                toss 
  02c6:48                 ret 
    )

)

// 043c
(instance Clarence of Prop
    (properties
        y $4a
        x $ab
        z $0
        heading $0
        yStep $2
        view $191
        loop $1
        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
    )
    (method (handleEvent) // method_02c7
  02c7:39 03            pushi 3 // $3 y
  02c9:7c            pushSelf 
  02ca:8f 01              lsp param1 
  02cc:39 03            pushi 3 // $3 y
  02ce:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  02d4:31 1a              bnt code_02f0 
  02d6:88 00cf            lsg global207 
  02d9:35 40              ldi 40 
  02db:12                 and 
  02dc:18                 not 
  02dd:31 11              bnt code_02f0 
  02df:39 4c            pushi 4c // $4c claimed
  02e1:78               push1 
  02e2:78               push1 
  02e3:87 01              lap param1 
  02e5:4a 06             send 6 

  02e7:78               push1 
  02e8:74 027b          lofss $0566 // clarence
  02eb:45 19 02         callb procedure_0019 2 // DoLook 

  02ee:33 33              jmp code_0323 

        code_02f0
  02f0:88 00cf            lsg global207 
  02f3:35 40              ldi 40 
  02f5:12                 and 
  02f6:31 2b              bnt code_0323 
  02f8:39 03            pushi 3 // $3 y
  02fa:7c            pushSelf 
  02fb:8f 01              lsp param1 
  02fd:39 03            pushi 3 // $3 y
  02ff:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  0305:2f 09               bt code_0310 
  0307:78               push1 
  0308:74 0041          lofss $034c // look/attorney
  030b:43 25 02         callk Said 2 

  030e:31 13              bnt code_0323 

        code_0310
  0310:39 4c            pushi 4c // $4c claimed
  0312:78               push1 
  0313:78               push1 
  0314:87 01              lap param1 
  0316:4a 06             send 6 

  0318:7a               push2 
  0319:38 017a          pushi 17a // $17a sel_378
  031c:76               push0 
  031d:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_0323
  0323:48                 ret 
    )

)

// 048e
(instance ClarAss of Prop
    (properties
        y $66
        x $a8
        z $0
        heading $0
        yStep $2
        view $191
        loop $0
        cel $2
        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
    )
)

// 04dc
(instance Smoke of Prop
    (properties
        y $3c
        x $a7
        z $0
        heading $0
        yStep $2
        view $191
        loop $6
        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
    )
)



