(script 379)

(string
    string_0596 "Jeeves"
    string_059d "Rudy"
    string_05a2 "drink"
    string_05a8 "glass"
    string_05ae "rudy"
    string_05b3 "rudyDrin"
)

(said
    said_03d0 boire/boire
    said_03d6 get/boire,glass
    said_03df ecouter/rudolph
    said_03e5 look/glass,boire
    said_03ee look/rudolph
    said_03f4 bonjour/rudolph
)

(synonym
    boire | drink = alcohol | alcool | beer | biere | booze | bourbon | cognac | liquor | vin | wine
    rudolph | rudy = person | personne
    rudolph | rudy = fellow | gars | gentleman | guy | homme | man | type
)

(local
    local0 = $0000
)

// 0400
(instance Rudy of Act
    (properties
        y $7e
        x $a9
        z $0
        heading $0
        yStep $2
        view $17d
        loop $3
        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
        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_001e
  001e:39 03            pushi 3 // $3 y
  0020:7c            pushSelf 
  0021:8f 01              lsp param1 
  0023:39 03            pushi 3 // $3 y
  0025:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  002b:31 1b              bnt code_0048 
  002d:88 00cf            lsg global207 
  0030:34 0100            ldi 100 
  0033:12                 and 
  0034:18                 not 
  0035:31 11              bnt code_0048 
  0037:39 4c            pushi 4c // $4c claimed
  0039:78               push1 
  003a:78               push1 
  003b:87 01              lap param1 
  003d:4a 06             send 6 

  003f:78               push1 
  0040:74 056b          lofss $05ae // rudy
  0043:45 19 02         callb procedure_0019 2 // DoLook 

  0046:33 34              jmp code_007c 

        code_0048
  0048:88 00cf            lsg global207 
  004b:34 0100            ldi 100 
  004e:12                 and 
  004f:31 2b              bnt code_007c 
  0051:39 03            pushi 3 // $3 y
  0053:7c            pushSelf 
  0054:8f 01              lsp param1 
  0056:39 03            pushi 3 // $3 y
  0058:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  005e:2f 09               bt code_0069 
  0060:78               push1 
  0061:74 038a          lofss $03ee // look/rudolph
  0064:43 25 02         callk Said 2 

  0067:31 13              bnt code_007c 

        code_0069
  0069:39 4c            pushi 4c // $4c claimed
  006b:78               push1 
  006c:78               push1 
  006d:87 01              lap param1 
  006f:4a 06             send 6 

  0071:7a               push2 
  0072:38 017b          pushi 17b // $17b sel_379
  0075:76               push0 
  0076:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_007c
  007c:48                 ret 
    )

)

// 0468
(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
    )
)

// 04e2
(instance public rudyDrin of Rgn
    (properties
        script $0
        number $0
        timer $0
        keep $0
        initialized $0
    )
    (method (init) // method_007d
  007d:39 57            pushi 57 // $57 init
  007f:76               push0 
  0080:57 36 04         super Rgn 4 

  0083:39 03            pushi 3 // $3 y
  0085:38 008f          pushi 8f // $8f moveTo
  0088:38 00f3          pushi f3 // $f3 close
  008b:38 00de          pushi de // $de horizon
  008e:45 15 06         callb procedure_0015 6 // LoadMany 

  0091:39 03            pushi 3 // $3 y
  0093:38 0080          pushi 80 // $80 timeLeft
  0096:38 017d          pushi 17d // $17d sel_381
  0099:38 038c          pushi 38c // $38c sel_908
  009c:45 15 06         callb procedure_0015 6 // LoadMany 

  009f:34 0100            ldi 100 
  00a2:a0 00d0            sag global208 
  00a5:34 00de            ldi de 
  00a8:a0 0181            sag global385 
  00ab:39 42            pushi 42 // $42 setPri
  00ad:78               push1 
  00ae:39 0d            pushi d // $d lsTop
  00b0:38 00c9          pushi c9 // $c9 ignoreActors
  00b3:78               push1 
  00b4:78               push1 
  00b5:39 57            pushi 57 // $57 init
  00b7:76               push0 
  00b8:38 00c6          pushi c6 // $c6 stopUpd
  00bb:76               push0 
  00bc:72 048b          lofsa $054a // glass
  00bf:4a 14             send 14 

  00c1:39 57            pushi 57 // $57 init
  00c3:76               push0 
  00c4:39 7a            pushi 7a // $7a setScript
  00c6:78               push1 
  00c7:74 0450          lofss $051a // drink
  00ca:72 0339          lofsa $0406 // Rudy
  00cd:4a 0a             send a 

  00cf:88 00c2            lsg global194 
  00d2:35 01              ldi 1 
  00d4:12                 and 
  00d5:18                 not 
  00d6:31 50              bnt code_0128 
  00d8:88 00c2            lsg global194 
  00db:35 01              ldi 1 
  00dd:14                  or 
  00de:a0 00c2            sag global194 
  00e1:39 05            pushi 5 // $5 view
  00e3:78               push1 
  00e4:38 01bc          pushi 1bc // $1bc sel_444
  00e7:38 00c5          pushi c5 // $c5 posn
  00ea:7a               push2 
  00eb:39 f6            pushi f6 // $f6 carrying
  00ed:39 65            pushi 65 // $65 contains
  00ef:39 7e            pushi 7e // $7e setCycle
  00f1:78               push1 
  00f2:51 17            class Walk 
  00f4:36                push 
  00f5:38 014c          pushi 14c // $14c guest1
  00f8:78               push1 
  00f9:74 044e          lofss $054a // glass
  00fc:38 014d          pushi 14d // $14d exitX
  00ff:78               push1 
  0100:39 f6            pushi f6 // $f6 carrying
  0102:38 014e          pushi 14e // $14e exitY
  0105:78               push1 
  0106:39 65            pushi 65 // $65 contains
  0108:38 00d4          pushi d4 // $d4 setAvoider
  010b:78               push1 
  010c:38 00be          pushi be // $be offScreenOK
  010f:78               push1 
  0110:78               push1 
  0111:39 56            pushi 56 // $56 new
  0113:76               push0 
  0114:51 21            class Avoid 
  0116:4a 04             send 4 

  0118:4a 06             send 6 

  011a:36                push 
  011b:39 57            pushi 57 // $57 init
  011d:76               push0 
  011e:72 034d          lofsa $046e // Jeeves
  0121:4a 30             send 30 

  0123:35 01              ldi 1 
  0125:a0 00a7            sag global167 

        code_0128
  0128:48                 ret 
    )

    (method (doit) // method_0129
  0129:39 3c            pushi 3c // $3c doit
  012b:76               push0 
  012c:57 36 04         super Rgn 4 

  012f:39 03            pushi 3 // $3 y
  0131:76               push0 
  0132:81 00              lag gEgo 
  0134:4a 04             send 4 

  0136:36                push 
  0137:34 009e            ldi 9e 
  013a:1e                 gt? 
  013b:31 0b              bnt code_0148 
  013d:39 42            pushi 42 // $42 setPri
  013f:78               push1 
  0140:39 0e            pushi e // $e lsLeft
  0142:81 00              lag gEgo 
  0144:4a 06             send 6 

  0146:33 09              jmp code_0151 

        code_0148
  0148:39 42            pushi 42 // $42 setPri
  014a:78               push1 
  014b:39 ff            pushi ff // $ff checkAni
  014d:81 00              lag gEgo 
  014f:4a 06             send 6 


        code_0151
  0151:48                 ret 
    )

    (method (dispose) // method_0152
  0152:39 58            pushi 58 // $58 dispose
  0154:76               push0 
  0155:57 36 04         super Rgn 4 

  0158:48                 ret 
    )

    (method (handleEvent) // method_0159
  0159:39 4c            pushi 4c // $4c claimed
  015b:76               push0 
  015c:87 01              lap param1 
  015e:4a 04             send 4 

  0160:31 01              bnt code_0163 
  0162:48                 ret 

        code_0163
  0163:39 22            pushi 22 // $22 type
  0165:76               push0 
  0166:87 01              lap param1 
  0168:4a 04             send 4 

  016a:36                push 
  016b:34 0080            ldi 80 
  016e:1a                 eq? 
  016f:30 00b4            bnt code_0226 
  0172:78               push1 
  0173:74 026f          lofss $03e5 // look/glass,boire
  0176:43 25 02         callk Said 2 

  0179:31 0e              bnt code_0189 
  017b:7a               push2 
  017c:38 017b          pushi 17b // $17b sel_379
  017f:78               push1 
  0180:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0186:32 009d            jmp code_0226 

        code_0189
  0189:78               push1 
  018a:74 0252          lofss $03df // ecouter/rudolph
  018d:43 25 02         callk Said 2 

  0190:31 0e              bnt code_01a0 
  0192:7a               push2 
  0193:38 017b          pushi 17b // $17b sel_379
  0196:7a               push2 
  0197:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  019d:32 0086            jmp code_0226 

        code_01a0
  01a0:78               push1 
  01a1:74 0232          lofss $03d6 // get/boire,glass
  01a4:43 25 02         callk Said 2 

  01a7:31 0e              bnt code_01b7 
  01a9:7a               push2 
  01aa:38 017b          pushi 17b // $17b sel_379
  01ad:39 03            pushi 3 // $3 y
  01af:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  01b5:33 6f              jmp code_0226 

        code_01b7
  01b7:78               push1 
  01b8:74 0215          lofss $03d0 // boire/boire
  01bb:43 25 02         callk Said 2 

  01be:31 0e              bnt code_01ce 
  01c0:7a               push2 
  01c1:38 017b          pushi 17b // $17b sel_379
  01c4:39 04            pushi 4 // $4 x
  01c6:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  01cc:33 58              jmp code_0226 

        code_01ce
  01ce:78               push1 
  01cf:74 0222          lofss $03f4 // bonjour/rudolph
  01d2:43 25 02         callk Said 2 

  01d5:31 4f              bnt code_0226 
  01d7:35 09              ldi 9 
  01d9:a0 00d5            sag global213 
  01dc:8b 00              lsl local0 
  01de:3c                 dup 
  01df:35 00              ldi 0 
  01e1:1a                 eq? 
  01e2:31 0d              bnt code_01f1 
  01e4:39 03            pushi 3 // $3 y
  01e6:78               push1 
  01e7:38 017b          pushi 17b // $17b sel_379
  01ea:39 05            pushi 5 // $5 view
  01ec:45 01 06         callb procedure_0001 6 // Say 

  01ef:33 32              jmp code_0223 

        code_01f1
  01f1:3c                 dup 
  01f2:35 01              ldi 1 
  01f4:1a                 eq? 
  01f5:31 0d              bnt code_0204 
  01f7:39 03            pushi 3 // $3 y
  01f9:78               push1 
  01fa:38 017b          pushi 17b // $17b sel_379
  01fd:39 06            pushi 6 // $6 loop
  01ff:45 01 06         callb procedure_0001 6 // Say 

  0202:33 1f              jmp code_0223 

        code_0204
  0204:3c                 dup 
  0205:35 02              ldi 2 
  0207:1a                 eq? 
  0208:31 0d              bnt code_0217 
  020a:39 03            pushi 3 // $3 y
  020c:78               push1 
  020d:38 017b          pushi 17b // $17b sel_379
  0210:39 07            pushi 7 // $7 cel
  0212:45 01 06         callb procedure_0001 6 // Say 

  0215:33 0c              jmp code_0223 

        code_0217
  0217:7a               push2 
  0218:38 017b          pushi 17b // $17b sel_379
  021b:39 08            pushi 8 // $8 underBits
  021d:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_0223
  0223:3a                toss 
  0224:c3 00              +al local0 

        code_0226
  0226:48                 ret 
    )

)

// 0514
(instance drink 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_0227
  0227:87 01              lap param1 
  0229:65 0a             aTop state 
  022b:36                push 
  022c:3c                 dup 
  022d:35 00              ldi 0 
  022f:1a                 eq? 
  0230:31 22              bnt code_0254 
  0232:38 00a4          pushi a4 // $a4 cycleSpeed
  0235:78               push1 
  0236:7a               push2 
  0237:39 42            pushi 42 // $42 setPri
  0239:78               push1 
  023a:39 0e            pushi e // $e lsLeft
  023c:39 12            pushi 12 // $12 illegalBits
  023e:78               push1 
  023f:76               push0 
  0240:38 00c9          pushi c9 // $c9 ignoreActors
  0243:78               push1 
  0244:78               push1 
  0245:39 7e            pushi 7e // $7e setCycle
  0247:7a               push2 
  0248:51 1b            class Beg 
  024a:36                push 
  024b:7c            pushSelf 
  024c:72 01b7          lofsa $0406 // Rudy
  024f:4a 20             send 20 

  0251:32 0176            jmp code_03ca 

        code_0254
  0254:3c                 dup 
  0255:35 01              ldi 1 
  0257:1a                 eq? 
  0258:31 21              bnt code_027b 
  025a:38 0089          pushi 89 // $89 hide
  025d:76               push0 
  025e:72 02e9          lofsa $054a // glass
  0261:4a 04             send 4 

  0263:39 06            pushi 6 // $6 loop
  0265:78               push1 
  0266:7a               push2 
  0267:39 07            pushi 7 // $7 cel
  0269:78               push1 
  026a:39 03            pushi 3 // $3 y
  026c:39 7e            pushi 7e // $7e setCycle
  026e:7a               push2 
  026f:51 1b            class Beg 
  0271:36                push 
  0272:7c            pushSelf 
  0273:72 0190          lofsa $0406 // Rudy
  0276:4a 14             send 14 

  0278:32 014f            jmp code_03ca 

        code_027b
  027b:3c                 dup 
  027c:35 02              ldi 2 
  027e:1a                 eq? 
  027f:31 1a              bnt code_029b 
  0281:39 06            pushi 6 // $6 loop
  0283:78               push1 
  0284:78               push1 
  0285:39 07            pushi 7 // $7 cel
  0287:78               push1 
  0288:76               push0 
  0289:39 7e            pushi 7e // $7e setCycle
  028b:78               push1 
  028c:51 1a            class End 
  028e:36                push 
  028f:72 0174          lofsa $0406 // Rudy
  0292:4a 12             send 12 

  0294:35 03              ldi 3 
  0296:65 12             aTop seconds 
  0298:32 012f            jmp code_03ca 

        code_029b
  029b:3c                 dup 
  029c:35 03              ldi 3 
  029e:1a                 eq? 
  029f:31 0f              bnt code_02b0 
  02a1:39 7e            pushi 7e // $7e setCycle
  02a3:7a               push2 
  02a4:51 1b            class Beg 
  02a6:36                push 
  02a7:7c            pushSelf 
  02a8:72 015b          lofsa $0406 // Rudy
  02ab:4a 08             send 8 

  02ad:32 011a            jmp code_03ca 

        code_02b0
  02b0:3c                 dup 
  02b1:35 04              ldi 4 
  02b3:1a                 eq? 
  02b4:31 17              bnt code_02cd 
  02b6:39 06            pushi 6 // $6 loop
  02b8:78               push1 
  02b9:7a               push2 
  02ba:39 07            pushi 7 // $7 cel
  02bc:78               push1 
  02bd:76               push0 
  02be:39 7e            pushi 7e // $7e setCycle
  02c0:7a               push2 
  02c1:51 1a            class End 
  02c3:36                push 
  02c4:7c            pushSelf 
  02c5:72 013e          lofsa $0406 // Rudy
  02c8:4a 14             send 14 

  02ca:32 00fd            jmp code_03ca 

        code_02cd
  02cd:3c                 dup 
  02ce:35 05              ldi 5 
  02d0:1a                 eq? 
  02d1:31 3b              bnt code_030e 
  02d3:38 00ca          pushi ca // $ca show
  02d6:76               push0 
  02d7:72 0270          lofsa $054a // glass
  02da:4a 04             send 4 

  02dc:39 06            pushi 6 // $6 loop
  02de:78               push1 
  02df:39 03            pushi 3 // $3 y
  02e1:39 07            pushi 7 // $7 cel
  02e3:78               push1 
  02e4:76               push0 
  02e5:39 7e            pushi 7e // $7e setCycle
  02e7:78               push1 
  02e8:51 1a            class End 
  02ea:36                push 
  02eb:72 0118          lofsa $0406 // Rudy
  02ee:4a 12             send 12 

  02f0:7a               push2 
  02f1:78               push1 
  02f2:39 64            pushi 64 // $64 allTrue
  02f4:43 40 04         callk Random 4 

  02f7:36                push 
  02f8:35 1e              ldi 1e 
  02fa:1e                 gt? 
  02fb:31 04              bnt code_0301 
  02fd:35 ff              ldi ff 
  02ff:65 0a             aTop state 

        code_0301
  0301:7a               push2 
  0302:39 06            pushi 6 // $6 loop
  0304:39 0c            pushi c // $c nsRight
  0306:43 40 04         callk Random 4 

  0309:65 12             aTop seconds 
  030b:32 00bc            jmp code_03ca 

        code_030e
  030e:3c                 dup 
  030f:35 06              ldi 6 
  0311:1a                 eq? 
  0312:31 32              bnt code_0346 
  0314:39 06            pushi 6 // $6 loop
  0316:78               push1 
  0317:39 05            pushi 5 // $5 view
  0319:39 07            pushi 7 // $7 cel
  031b:78               push1 
  031c:76               push0 
  031d:39 7e            pushi 7e // $7e setCycle
  031f:78               push1 
  0320:51 1a            class End 
  0322:36                push 
  0323:72 00e0          lofsa $0406 // Rudy
  0326:4a 12             send 12 

  0328:7a               push2 
  0329:78               push1 
  032a:39 64            pushi 64 // $64 allTrue
  032c:43 40 04         callk Random 4 

  032f:36                push 
  0330:35 32              ldi 32 
  0332:22                 lt? 
  0333:31 04              bnt code_0339 
  0335:35 08              ldi 8 
  0337:65 0a             aTop state 

        code_0339
  0339:7a               push2 
  033a:39 03            pushi 3 // $3 y
  033c:39 06            pushi 6 // $6 loop
  033e:43 40 04         callk Random 4 

  0341:65 12             aTop seconds 
  0343:32 0084            jmp code_03ca 

        code_0346
  0346:3c                 dup 
  0347:35 07              ldi 7 
  0349:1a                 eq? 
  034a:31 20              bnt code_036c 
  034c:39 06            pushi 6 // $6 loop
  034e:78               push1 
  034f:39 06            pushi 6 // $6 loop
  0351:39 07            pushi 7 // $7 cel
  0353:78               push1 
  0354:76               push0 
  0355:39 7e            pushi 7e // $7e setCycle
  0357:78               push1 
  0358:51 1a            class End 
  035a:36                push 
  035b:72 00a8          lofsa $0406 // Rudy
  035e:4a 12             send 12 

  0360:7a               push2 
  0361:39 03            pushi 3 // $3 y
  0363:39 06            pushi 6 // $6 loop
  0365:43 40 04         callk Random 4 

  0368:65 12             aTop seconds 
  036a:33 5e              jmp code_03ca 

        code_036c
  036c:3c                 dup 
  036d:35 08              ldi 8 
  036f:1a                 eq? 
  0370:31 13              bnt code_0385 
  0372:39 06            pushi 6 // $6 loop
  0374:78               push1 
  0375:39 06            pushi 6 // $6 loop
  0377:39 7e            pushi 7e // $7e setCycle
  0379:7a               push2 
  037a:51 1b            class Beg 
  037c:36                push 
  037d:7c            pushSelf 
  037e:72 0085          lofsa $0406 // Rudy
  0381:4a 0e             send e 

  0383:33 45              jmp code_03ca 

        code_0385
  0385:3c                 dup 
  0386:35 09              ldi 9 
  0388:1a                 eq? 
  0389:31 18              bnt code_03a3 
  038b:39 07            pushi 7 // $7 cel
  038d:78               push1 
  038e:39 03            pushi 3 // $3 y
  0390:39 06            pushi 6 // $6 loop
  0392:78               push1 
  0393:39 05            pushi 5 // $5 view
  0395:39 7e            pushi 7e // $7e setCycle
  0397:7a               push2 
  0398:51 1b            class Beg 
  039a:36                push 
  039b:7c            pushSelf 
  039c:72 0067          lofsa $0406 // Rudy
  039f:4a 14             send 14 

  03a1:33 27              jmp code_03ca 

        code_03a3
  03a3:3c                 dup 
  03a4:35 0a              ldi a 
  03a6:1a                 eq? 
  03a7:31 21              bnt code_03ca 
  03a9:7a               push2 
  03aa:78               push1 
  03ab:39 64            pushi 64 // $64 allTrue
  03ad:43 40 04         callk Random 4 

  03b0:36                push 
  03b1:35 46              ldi 46 
  03b3:22                 lt? 
  03b4:31 06              bnt code_03bc 
  03b6:35 ff              ldi ff 
  03b8:65 0a             aTop state 
  03ba:33 04              jmp code_03c0 

        code_03bc
  03bc:35 05              ldi 5 
  03be:65 0a             aTop state 

        code_03c0
  03c0:7a               push2 
  03c1:39 03            pushi 3 // $3 y
  03c3:39 09            pushi 9 // $9 nsTop
  03c5:43 40 04         callk Random 4 

  03c8:65 12             aTop seconds 

        code_03ca
  03ca:3a                toss 
  03cb:48                 ret 
    )

)

// 0544
(instance glass of Prop
    (properties
        y $8a
        x $97
        z $0
        heading $0
        yStep $2
        view $17d
        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
    )
)



