(script 203)

(string
    string_0510 "Clarence"
    string_0519 "clarActions"
    string_0525 "clarence"
    string_052e "clarwand"
    string_0537 ""
)

(said
    said_03ac ask,raconter,hold,deliver,look,get,abattre,embrasser,embrace,draguer>
    said_03cb look/attorney
    said_03d1 bonjour/attorney
)

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

(local
    local0 = $0025
    local1 = $0097
    local2 = $0096
    local3 = $009f
    local4 = $0023
    local5 = $00b6
    local6 = $004d
    local7 = $00a3
    local8 = $0074
    local9 = $0080
    local10 = $0118
    local11 = $0089
    local12 = $0094
    local13 = $00af
    local14 = $0000
    local15 = $0000
    local16 = $ffec
    local17 = $008c
    local18 = $ffec
    local19 = $00b0
    local20 = $ffec
    local21 = $007c
    local22 = $006e
    local23 = $0069
    local24 = $013f
    local25 = $0071
    local26 = $0103
    local27 = $00f0
    local28 = $005a
    local29 = $0086
    local30 = $0154
    local31 = $0091
    local32 = $006c
    local33 = $00f0
    local34 = $0077
    local35 = $00f0
    local36 = $ffec
    local37 = $0088
    local38 = $00cd
    local39 = $0074
    local40 = $ffec
    local41 = $00aa
    local42 = $0016
    local43 = $0017
    local44 = $001d
    local45 = $001e
    local46 = $0008
    local47 = $0007
    local48 = $0006
    local49 = $0012
    local50 = $0000
)

// 03de
(instance public clarwand 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:89 76              lsg gMustDos 
  0022:35 08              ldi 8 
  0024:12                 and 
  0025:18                 not 
  0026:31 2d              bnt code_0055 
  0028:7a               push2 
  0029:38 0087          pushi 87 // $87 clean
  002c:39 29            pushi 29 // $29 edit
  002e:43 00 04         callk Load 4 

  0031:39 05            pushi 5 // $5 view
  0033:38 0084          pushi 84 // $84 stop
  0036:39 1d            pushi 1d // $1d back
  0038:39 5e            pushi 5e // $5e respondsTo
  003a:39 5f            pushi 5f // $5f yourself
  003c:39 60            pushi 60 // $60 size
  003e:45 15 0a         callb procedure_0015 a // LoadMany 

  0041:7a               push2 
  0042:38 0082          pushi 82 // $82 owner
  0045:38 0196          pushi 196 // $196 sel_406
  0048:43 00 04         callk Load 4 

  004b:7a               push2 
  004c:38 0080          pushi 80 // $80 timeLeft
  004f:38 0282          pushi 282 // $282 sel_642
  0052:43 00 04         callk Load 4 


        code_0055
  0055:39 03            pushi 3 // $3 y
  0057:38 008f          pushi 8f // $8f moveTo
  005a:38 00f3          pushi f3 // $f3 close
  005d:38 0123          pushi 123 // $123 yTilt
  0060:45 15 06         callb procedure_0015 6 // LoadMany 

  0063:7a               push2 
  0064:38 0080          pushi 80 // $80 timeLeft
  0067:38 038a          pushi 38a // $38a sel_906
  006a:43 00 04         callk Load 4 

  006d:34 0123            ldi 123 
  0070:a0 017f            sag global383 
  0073:88 0173            lsg global371 
  0076:35 00              ldi 0 
  0078:1a                 eq? 
  0079:31 0a              bnt code_0085 
  007b:34 02bc            ldi 2bc 
  007e:a0 0173            sag global371 
  0081:35 00              ldi 0 
  0083:a1 73              sag gJeevesChoresState 

        code_0085
  0085:39 12            pushi 12 // $12 illegalBits
  0087:78               push1 
  0088:38 8000          pushi 8000 // $8000 sel_32768
  008b:38 00d5          pushi d5 // $d5 ignoreHorizon
  008e:78               push1 
  008f:78               push1 
  0090:72 03b3          lofsa $0446 // Clarence
  0093:4a 0c             send c 

  0095:39 07            pushi 7 // $7 cel
  0097:81 73              lag gJeevesChoresState 
  0099:04                 sub 
  009a:9b 2a             lsli local42 
  009c:81 0b              lag gCurRoomNum 
  009e:1a                 eq? 
  009f:30 0081            bnt code_0123 
  00a2:88 0173            lsg global371 
  00a5:39 06            pushi 6 // $6 loop
  00a7:81 73              lag gJeevesChoresState 
  00a9:04                 sub 
  00aa:36                push 
  00ab:35 64              ldi 64 
  00ad:06                 mul 
  00ae:20                 ge? 
  00af:31 72              bnt code_0123 
  00b1:88 00d0            lsg global208 
  00b4:35 40              ldi 40 
  00b6:14                  or 
  00b7:a0 00d0            sag global208 
  00ba:38 02bb          pushi 2bb // $2bb sel_699
  00bd:89 73              lsg gJeevesChoresState 
  00bf:35 64              ldi 64 
  00c1:06                 mul 
  00c2:04                 sub 
  00c3:a0 0173            sag global371 
  00c6:35 01              ldi 1 
  00c8:a3 32              sal local50 
  00ca:38 00d4          pushi d4 // $d4 setAvoider
  00cd:78               push1 
  00ce:38 00be          pushi be // $be offScreenOK
  00d1:78               push1 
  00d2:78               push1 
  00d3:39 56            pushi 56 // $56 new
  00d5:76               push0 
  00d6:51 21            class Avoid 
  00d8:4a 04             send 4 

  00da:4a 06             send 6 

  00dc:36                push 
  00dd:39 7e            pushi 7e // $7e setCycle
  00df:78               push1 
  00e0:51 17            class Walk 
  00e2:36                push 
  00e3:38 00c5          pushi c5 // $c5 posn
  00e6:7a               push2 
  00e7:89 73              lsg gJeevesChoresState 
  00e9:35 02              ldi 2 
  00eb:06                 mul 
  00ec:9b 00             lsli local0 
  00ee:89 73              lsg gJeevesChoresState 
  00f0:35 02              ldi 2 
  00f2:06                 mul 
  00f3:36                push 
  00f4:35 01              ldi 1 
  00f6:02                 add 
  00f7:9b 00             lsli local0 
  00f9:38 00d3          pushi d3 // $d3 setMotion
  00fc:39 03            pushi 3 // $3 y
  00fe:51 1d            class MoveTo 
  0100:36                push 
  0101:89 73              lsg gJeevesChoresState 
  0103:35 02              ldi 2 
  0105:06                 mul 
  0106:9b 1c             lsli local28 
  0108:89 73              lsg gJeevesChoresState 
  010a:35 02              ldi 2 
  010c:06                 mul 
  010d:36                push 
  010e:35 01              ldi 1 
  0110:02                 add 
  0111:9b 1c             lsli local28 
  0113:39 57            pushi 57 // $57 init
  0115:76               push0 
  0116:72 032d          lofsa $0446 // Clarence
  0119:4a 22             send 22 

  011b:39 7a            pushi 7a // $7a setScript
  011d:78               push1 
  011e:74 02f5          lofss $0416 // clarActions
  0121:54 06             self 6 


        code_0123
  0123:48                 ret 
    )

    (method (doit) // method_0124
  0124:88 0173            lsg global371 
  0127:35 64              ldi 64 
  0129:0a                 mod 
  012a:36                push 
  012b:35 00              ldi 0 
  012d:1a                 eq? 
  012e:31 7e              bnt code_01ae 
  0130:88 0173            lsg global371 
  0133:35 64              ldi 64 
  0135:08                 div 
  0136:9b 2a             lsli local42 
  0138:81 0b              lag gCurRoomNum 
  013a:1a                 eq? 
  013b:31 71              bnt code_01ae 
  013d:35 01              ldi 1 
  013f:a3 32              sal local50 
  0141:88 00d0            lsg global208 
  0144:35 40              ldi 40 
  0146:14                  or 
  0147:a0 00d0            sag global208 
  014a:39 07            pushi 7 // $7 cel
  014c:88 0173            lsg global371 
  014f:35 64              ldi 64 
  0151:08                 div 
  0152:04                 sub 
  0153:a1 73              sag gJeevesChoresState 
  0155:38 00d4          pushi d4 // $d4 setAvoider
  0158:78               push1 
  0159:38 00be          pushi be // $be offScreenOK
  015c:78               push1 
  015d:78               push1 
  015e:39 56            pushi 56 // $56 new
  0160:76               push0 
  0161:51 21            class Avoid 
  0163:4a 04             send 4 

  0165:4a 06             send 6 

  0167:36                push 
  0168:39 7e            pushi 7e // $7e setCycle
  016a:78               push1 
  016b:51 17            class Walk 
  016d:36                push 
  016e:38 00c5          pushi c5 // $c5 posn
  0171:7a               push2 
  0172:89 73              lsg gJeevesChoresState 
  0174:35 02              ldi 2 
  0176:06                 mul 
  0177:9b 0e             lsli local14 
  0179:89 73              lsg gJeevesChoresState 
  017b:35 02              ldi 2 
  017d:06                 mul 
  017e:36                push 
  017f:35 01              ldi 1 
  0181:02                 add 
  0182:9b 0e             lsli local14 
  0184:38 00d3          pushi d3 // $d3 setMotion
  0187:39 03            pushi 3 // $3 y
  0189:51 1d            class MoveTo 
  018b:36                push 
  018c:89 73              lsg gJeevesChoresState 
  018e:35 02              ldi 2 
  0190:06                 mul 
  0191:9b 1c             lsli local28 
  0193:89 73              lsg gJeevesChoresState 
  0195:35 02              ldi 2 
  0197:06                 mul 
  0198:36                push 
  0199:35 01              ldi 1 
  019b:02                 add 
  019c:9b 1c             lsli local28 
  019e:39 57            pushi 57 // $57 init
  01a0:76               push0 
  01a1:72 02a2          lofsa $0446 // Clarence
  01a4:4a 22             send 22 

  01a6:39 7a            pushi 7a // $7a setScript
  01a8:78               push1 
  01a9:74 026a          lofss $0416 // clarActions
  01ac:54 06             self 6 


        code_01ae
  01ae:39 3c            pushi 3c // $3c doit
  01b0:76               push0 
  01b1:57 36 04         super Rgn 4 

  01b4:48                 ret 
    )

    (method (dispose) // method_01b5
  01b5:83 32              lal local50 
  01b7:31 3e              bnt code_01f7 
  01b9:39 03            pushi 3 // $3 y
  01bb:76               push0 
  01bc:72 0287          lofsa $0446 // Clarence
  01bf:4a 04             send 4 

  01c1:36                push 
  01c2:34 00c8            ldi c8 
  01c5:1e                 gt? 
  01c6:31 23              bnt code_01eb 
  01c8:c1 73              +ag gJeevesChoresState 
  01ca:39 07            pushi 7 // $7 cel
  01cc:81 73              lag gJeevesChoresState 
  01ce:04                 sub 
  01cf:9b 2a             lsli local42 
  01d1:35 16              ldi 16 
  01d3:1a                 eq? 
  01d4:31 07              bnt code_01dd 
  01d6:35 01              ldi 1 
  01d8:a0 0173            sag global371 
  01db:33 0c              jmp code_01e9 

        code_01dd
  01dd:38 02bb          pushi 2bb // $2bb sel_699
  01e0:89 73              lsg gJeevesChoresState 
  01e2:35 64              ldi 64 
  01e4:06                 mul 
  01e5:04                 sub 
  01e6:a0 0173            sag global371 

        code_01e9
  01e9:33 0c              jmp code_01f7 

        code_01eb
  01eb:38 026c          pushi 26c // $26c sel_620
  01ee:89 73              lsg gJeevesChoresState 
  01f0:35 64              ldi 64 
  01f2:06                 mul 
  01f3:04                 sub 
  01f4:a0 0173            sag global371 

        code_01f7
  01f7:78               push1 
  01f8:38 03d9          pushi 3d9 // $3d9 sel_985
  01fb:43 03 02         callk DisposeScript 2 

  01fe:39 58            pushi 58 // $58 dispose
  0200:76               push0 
  0201:57 36 04         super Rgn 4 

  0204:48                 ret 
    )

    (method (handleEvent) // method_0205
  0205:39 6f            pushi 6f // $6f handleEvent
  0207:78               push1 
  0208:8f 01              lsp param1 
  020a:57 36 06         super Rgn 6 

  020d:39 4c            pushi 4c // $4c claimed
  020f:76               push0 
  0210:87 01              lap param1 
  0212:4a 04             send 4 

  0214:31 03              bnt code_0219 
  0216:35 01              ldi 1 
  0218:48                 ret 

        code_0219
  0219:39 22            pushi 22 // $22 type
  021b:76               push0 
  021c:87 01              lap param1 
  021e:4a 04             send 4 

  0220:36                push 
  0221:34 0080            ldi 80 
  0224:1a                 eq? 
  0225:31 2e              bnt code_0255 
  0227:80 00d0            lag global208 
  022a:31 29              bnt code_0255 
  022c:78               push1 
  022d:74 017c          lofss $03ac // ask,raconter,hold,deliver,look,get,abattre,embrasser,embrace,draguer>
  0230:43 25 02         callk Said 2 

  0233:31 20              bnt code_0255 
  0235:39 7a            pushi 7a // $7a setScript
  0237:78               push1 
  0238:7a               push2 
  0239:38 00f3          pushi f3 // $f3 close
  023c:76               push0 
  023d:43 02 04         callk ScriptID 4 

  0240:36                push 
  0241:72 0202          lofsa $0446 // Clarence
  0244:4a 06             send 6 

  0246:39 6f            pushi 6f // $6f handleEvent
  0248:78               push1 
  0249:8f 01              lsp param1 
  024b:39 76            pushi 76 // $76 script
  024d:76               push0 
  024e:72 01f5          lofsa $0446 // Clarence
  0251:4a 04             send 4 

  0253:4a 06             send 6 


        code_0255
  0255:48                 ret 
    )

)

// 0410
(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_0256
  0256:87 01              lap param1 
  0258:65 0a             aTop state 
  025a:36                push 
  025b:3c                 dup 
  025c:35 00              ldi 0 
  025e:1a                 eq? 
  025f:31 41              bnt code_02a2 
  0261:80 00d8            lag global216 
  0264:18                 not 
  0265:31 06              bnt code_026d 
  0267:35 ff              ldi ff 
  0269:65 0a             aTop state 
  026b:33 2e              jmp code_029b 

        code_026d
  026d:89 76              lsg gMustDos 
  026f:35 08              ldi 8 
  0271:12                 and 
  0272:18                 not 
  0273:31 1b              bnt code_0290 
  0275:89 76              lsg gMustDos 
  0277:35 08              ldi 8 
  0279:14                  or 
  027a:a1 76              sag gMustDos 
  027c:39 7a            pushi 7a // $7a setScript
  027e:78               push1 
  027f:7a               push2 
  0280:38 0196          pushi 196 // $196 sel_406
  0283:76               push0 
  0284:43 02 04         callk ScriptID 4 

  0287:36                push 
  0288:54 06             self 6 

  028a:35 ff              ldi ff 
  028c:65 0a             aTop state 
  028e:33 0b              jmp code_029b 

        code_0290
  0290:39 76            pushi 76 // $76 script
  0292:76               push0 
  0293:54 04             self 4 

  0295:31 04              bnt code_029b 
  0297:35 ff              ldi ff 
  0299:65 0a             aTop state 

        code_029b
  029b:35 01              ldi 1 
  029d:65 10             aTop cycles 
  029f:32 0089            jmp code_032b 

        code_02a2
  02a2:3c                 dup 
  02a3:35 01              ldi 1 
  02a5:1a                 eq? 
  02a6:31 3a              bnt code_02e2 
  02a8:39 04            pushi 4 // $4 x
  02aa:76               push0 
  02ab:72 0198          lofsa $0446 // Clarence
  02ae:4a 04             send 4 

  02b0:36                push 
  02b1:89 73              lsg gJeevesChoresState 
  02b3:35 02              ldi 2 
  02b5:06                 mul 
  02b6:93 1c             lali local28 
  02b8:1a                 eq? 
  02b9:31 1d              bnt code_02d8 
  02bb:39 03            pushi 3 // $3 y
  02bd:76               push0 
  02be:72 0185          lofsa $0446 // Clarence
  02c1:4a 04             send 4 

  02c3:36                push 
  02c4:89 73              lsg gJeevesChoresState 
  02c6:35 02              ldi 2 
  02c8:06                 mul 
  02c9:36                push 
  02ca:35 01              ldi 1 
  02cc:02                 add 
  02cd:93 1c             lali local28 
  02cf:1a                 eq? 
  02d0:31 06              bnt code_02d8 
  02d2:35 01              ldi 1 
  02d4:65 0a             aTop state 
  02d6:33 04              jmp code_02dc 

        code_02d8
  02d8:35 00              ldi 0 
  02da:65 0a             aTop state 

        code_02dc
  02dc:35 01              ldi 1 
  02de:65 10             aTop cycles 
  02e0:33 49              jmp code_032b 

        code_02e2
  02e2:3c                 dup 
  02e3:35 02              ldi 2 
  02e5:1a                 eq? 
  02e6:31 43              bnt code_032b 
  02e8:35 00              ldi 0 
  02ea:a3 32              sal local50 
  02ec:c1 73              +ag gJeevesChoresState 
  02ee:39 07            pushi 7 // $7 cel
  02f0:81 73              lag gJeevesChoresState 
  02f2:04                 sub 
  02f3:9b 2a             lsli local42 
  02f5:35 16              ldi 16 
  02f7:1a                 eq? 
  02f8:31 07              bnt code_0301 
  02fa:35 01              ldi 1 
  02fc:a0 0173            sag global371 
  02ff:33 0c              jmp code_030d 

        code_0301
  0301:38 02bb          pushi 2bb // $2bb sel_699
  0304:89 73              lsg gJeevesChoresState 
  0306:35 64              ldi 64 
  0308:06                 mul 
  0309:04                 sub 
  030a:a0 0173            sag global371 

        code_030d
  030d:88 00d0            lsg global208 
  0310:35 bf              ldi bf 
  0312:12                 and 
  0313:a0 00d0            sag global208 
  0316:35 00              ldi 0 
  0318:a0 017f            sag global383 
  031b:39 58            pushi 58 // $58 dispose
  031d:76               push0 
  031e:72 0125          lofsa $0446 // Clarence
  0321:4a 04             send 4 

  0323:39 7a            pushi 7a // $7a setScript
  0325:78               push1 
  0326:76               push0 
  0327:63 08             pToa client 
  0329:4a 06             send 6 


        code_032b
  032b:3a                toss 
  032c:48                 ret 
    )

)

// 0440
(instance Clarence of Act
    (properties
        y $0
        x $0
        z $0
        heading $0
        yStep $2
        view $190
        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
    )
    (method (handleEvent) // method_032d
  032d:39 6f            pushi 6f // $6f handleEvent
  032f:78               push1 
  0330:8f 01              lsp param1 
  0332:57 28 06         super Act 6 

  0335:78               push1 
  0336:74 0098          lofss $03d1 // bonjour/attorney
  0339:43 25 02         callk Said 2 

  033c:31 0d              bnt code_034b 
  033e:7a               push2 
  033f:38 00cb          pushi cb // $cb addToPic
  0342:76               push0 
  0343:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0349:33 5c              jmp code_03a7 

        code_034b
  034b:39 03            pushi 3 // $3 y
  034d:7c            pushSelf 
  034e:8f 01              lsp param1 
  0350:39 03            pushi 3 // $3 y
  0352:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  0358:31 1a              bnt code_0374 
  035a:88 00cf            lsg global207 
  035d:35 40              ldi 40 
  035f:12                 and 
  0360:18                 not 
  0361:31 11              bnt code_0374 
  0363:39 4c            pushi 4c // $4c claimed
  0365:78               push1 
  0366:78               push1 
  0367:87 01              lap param1 
  0369:4a 06             send 6 

  036b:78               push1 
  036c:74 01b6          lofss $0525 // clarence
  036f:45 19 02         callb procedure_0019 2 // DoLook 

  0372:33 33              jmp code_03a7 

        code_0374
  0374:88 00cf            lsg global207 
  0377:35 40              ldi 40 
  0379:12                 and 
  037a:31 2b              bnt code_03a7 
  037c:39 03            pushi 3 // $3 y
  037e:7c            pushSelf 
  037f:8f 01              lsp param1 
  0381:39 03            pushi 3 // $3 y
  0383:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  0389:2f 09               bt code_0394 
  038b:78               push1 
  038c:74 003c          lofss $03cb // look/attorney
  038f:43 25 02         callk Said 2 

  0392:31 13              bnt code_03a7 

        code_0394
  0394:39 4c            pushi 4c // $4c claimed
  0396:78               push1 
  0397:78               push1 
  0398:87 01              lap param1 
  039a:4a 06             send 6 

  039c:7a               push2 
  039d:38 00cb          pushi cb // $cb addToPic
  03a0:78               push1 
  03a1:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_03a7
  03a7:48                 ret 
    )

)



