(script 18)

(string
    string_060e "Gate"
    string_0613 "House"
    string_0619 "Room18"
    string_0620 "Thunder"
    string_0628 "light1"
    string_062f "light2"
    string_0636 "light3"
    string_063d "showers"
    string_0645 ""
)

(said
    said_03b6 /garden
    said_03ba /path,(boulder<stepping)
    said_03c6 <(dans,through)/garden,archway
    said_03d5 [<around,at][/room]
    said_03e3 ask,raconter,hold,deliver,look,get,abattre,embrasser,embrace,draguer>
    said_0402 clore/archway
    said_0408 look/archway
    said_040e look/cabin
    said_0414 look>
    said_0418 open/archway
)

(synonym
    garden | jardin | parc | park = arbuste | arbustes | buisson | bush | haie | hedge | shrub | shrubbery
)

(local
)

// 0424
(instance public Room18 of Rm
    (properties
        script $0
        number $0
        timer $0
        keep $0
        initialized $0
        picture $12
        style $ffff
        horizon $0
        controls $0
        north $0
        east $0
        south $0
        west $0
        curPic $0
        picAngle $0
        vanishingX $a0
        vanishingY $8ad0
        vertAngle $0
    )
    (method (init) // method_0016
  0016:35 08              ldi 8 
  0018:65 1c             aTop east 
  001a:35 06              ldi 6 
  001c:65 1a             aTop north 
  001e:34 0087            ldi 87 
  0021:65 16             aTop horizon 
  0023:39 57            pushi 57 // $57 init
  0025:76               push0 
  0026:57 37 04         super Rm 4 

  0029:39 2b            pushi 2b // $2b number
  002b:78               push1 
  002c:39 11            pushi 11 // $11 signal
  002e:39 06            pushi 6 // $6 loop
  0030:78               push1 
  0031:76               push0 
  0032:72 055f          lofsa $0594 // Thunder
  0035:4a 0c             send c 

  0037:38 010b          pushi 10b // $10b setFeatures
  003a:7a               push2 
  003b:74 0580          lofss $05be // House
  003e:74 05a9          lofss $05ea // Gate
  0041:54 08             self 8 

  0043:80 00df            lag gDetailLevel 
  0046:31 1e              bnt code_0066 
  0048:39 57            pushi 57 // $57 init
  004a:76               push0 
  004b:39 7a            pushi 7a // $7a setScript
  004d:78               push1 
  004e:74 0429          lofss $047a // showers
  0051:72 0456          lofsa $04aa // light1
  0054:4a 0a             send a 

  0056:39 57            pushi 57 // $57 init
  0058:76               push0 
  0059:72 049c          lofsa $04f8 // light2
  005c:4a 04             send 4 

  005e:39 57            pushi 57 // $57 init
  0060:76               push0 
  0061:72 04e2          lofsa $0546 // light3
  0064:4a 04             send 4 


        code_0066
  0066:88 00a5            lsg gAct 
  0069:35 03              ldi 3 
  006b:1a                 eq? 
  006c:31 10              bnt code_007e 
  006e:89 73              lsg gJeevesChoresState 
  0070:35 00              ldi 0 
  0072:1a                 eq? 
  0073:31 09              bnt code_007e 
  0075:38 010a          pushi 10a // $10a setRegions
  0078:78               push1 
  0079:38 00cb          pushi cb // $cb addToPic
  007c:54 06             self 6 


        code_007e
  007e:89 0c              lsg gPrevRoomNum 
  0080:3c                 dup 
  0081:35 11              ldi 11 
  0083:1a                 eq? 
  0084:31 0f              bnt code_0095 
  0086:38 00c5          pushi c5 // $c5 posn
  0089:7a               push2 
  008a:78               push1 
  008b:38 00ae          pushi ae // $ae distanceTo
  008e:81 00              lag gEgo 
  0090:4a 08             send 8 

  0092:32 0082            jmp code_0117 

        code_0095
  0095:3c                 dup 
  0096:35 0c              ldi c 
  0098:1a                 eq? 
  0099:31 0e              bnt code_00a9 
  009b:38 00c5          pushi c5 // $c5 posn
  009e:7a               push2 
  009f:78               push1 
  00a0:38 009b          pushi 9b // $9b bottom
  00a3:81 00              lag gEgo 
  00a5:4a 08             send 8 

  00a7:33 6e              jmp code_0117 

        code_00a9
  00a9:3c                 dup 
  00aa:35 06              ldi 6 
  00ac:1a                 eq? 
  00ad:31 0f              bnt code_00be 
  00af:38 00c5          pushi c5 // $c5 posn
  00b2:7a               push2 
  00b3:39 3f            pushi 3f // $3f priority
  00b5:38 0089          pushi 89 // $89 hide
  00b8:81 00              lag gEgo 
  00ba:4a 08             send 8 

  00bc:33 59              jmp code_0117 

        code_00be
  00be:3c                 dup 
  00bf:35 18              ldi 18 
  00c1:1a                 eq? 
  00c2:31 10              bnt code_00d4 
  00c4:38 00c5          pushi c5 // $c5 posn
  00c7:7a               push2 
  00c8:38 0098          pushi 98 // $98 center
  00cb:38 00bb          pushi bb // $bb targetY
  00ce:81 00              lag gEgo 
  00d0:4a 08             send 8 

  00d2:33 43              jmp code_0117 

        code_00d4
  00d4:3c                 dup 
  00d5:35 17              ldi 17 
  00d7:1a                 eq? 
  00d8:31 0f              bnt code_00e9 
  00da:38 00c5          pushi c5 // $c5 posn
  00dd:7a               push2 
  00de:39 4a            pushi 4a // $4a pragmaFail
  00e0:38 00bc          pushi bc // $bc motionInited
  00e3:81 00              lag gEgo 
  00e5:4a 08             send 8 

  00e7:33 2e              jmp code_0117 

        code_00e9
  00e9:3c                 dup 
  00ea:35 08              ldi 8 
  00ec:1a                 eq? 
  00ed:31 14              bnt code_0103 
  00ef:38 00c5          pushi c5 // $c5 posn
  00f2:7a               push2 
  00f3:38 013b          pushi 13b // $13b gateX
  00f6:38 00b4          pushi b4 // $b4 escaping
  00f9:39 06            pushi 6 // $6 loop
  00fb:78               push1 
  00fc:78               push1 
  00fd:81 00              lag gEgo 
  00ff:4a 0e             send e 

  0101:33 14              jmp code_0117 

        code_0103
  0103:3c                 dup 
  0104:35 41              ldi 41 
  0106:1a                 eq? 
  0107:31 0e              bnt code_0117 
  0109:38 00c5          pushi c5 // $c5 posn
  010c:7a               push2 
  010d:38 009e          pushi 9e // $9e completed
  0110:38 00a8          pushi a8 // $a8 endCel
  0113:81 00              lag gEgo 
  0115:4a 08             send 8 


        code_0117
  0117:3a                toss 
  0118:39 05            pushi 5 // $5 view
  011a:78               push1 
  011b:76               push0 
  011c:39 12            pushi 12 // $12 illegalBits
  011e:78               push1 
  011f:38 8000          pushi 8000 // $8000 sel_32768
  0122:39 57            pushi 57 // $57 init
  0124:76               push0 
  0125:81 00              lag gEgo 
  0127:4a 10             send 10 

  0129:48                 ret 
    )

    (method (doit) // method_012a
  012a:76               push0 
  012b:45 14 00         callb procedure_0014 0 // IsFirstTimeInRoom 

  012e:31 0a              bnt code_013a 
  0130:7a               push2 
  0131:39 12            pushi 12 // $12 illegalBits
  0133:76               push0 
  0134:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_013a
  013a:38 00db          pushi db // $db onControl
  013d:78               push1 
  013e:76               push0 
  013f:81 00              lag gEgo 
  0141:4a 06             send 6 

  0143:36                push 
  0144:35 04              ldi 4 
  0146:12                 and 
  0147:31 0a              bnt code_0153 
  0149:38 00f8          pushi f8 // $f8 newRoom
  014c:78               push1 
  014d:39 41            pushi 41 // $41 replay
  014f:81 02              lag gCurRoom 
  0151:4a 06             send 6 


        code_0153
  0153:38 00eb          pushi eb // $eb edgeHit
  0156:76               push0 
  0157:81 00              lag gEgo 
  0159:4a 04             send 4 

  015b:36                push 
  015c:35 04              ldi 4 
  015e:1a                 eq? 
  015f:31 24              bnt code_0185 
  0161:39 03            pushi 3 // $3 y
  0163:76               push0 
  0164:81 00              lag gEgo 
  0166:4a 04             send 4 

  0168:36                push 
  0169:34 00aa            ldi aa 
  016c:22                 lt? 
  016d:31 0c              bnt code_017b 
  016f:38 00f8          pushi f8 // $f8 newRoom
  0172:78               push1 
  0173:39 0c            pushi c // $c nsRight
  0175:81 02              lag gCurRoom 
  0177:4a 06             send 6 

  0179:33 0a              jmp code_0185 

        code_017b
  017b:38 00f8          pushi f8 // $f8 newRoom
  017e:78               push1 
  017f:39 11            pushi 11 // $11 signal
  0181:81 02              lag gCurRoom 
  0183:4a 06             send 6 


        code_0185
  0185:38 00eb          pushi eb // $eb edgeHit
  0188:76               push0 
  0189:81 00              lag gEgo 
  018b:4a 04             send 4 

  018d:36                push 
  018e:35 03              ldi 3 
  0190:1a                 eq? 
  0191:31 23              bnt code_01b6 
  0193:39 04            pushi 4 // $4 x
  0195:76               push0 
  0196:81 00              lag gEgo 
  0198:4a 04             send 4 

  019a:36                push 
  019b:35 78              ldi 78 
  019d:22                 lt? 
  019e:31 0c              bnt code_01ac 
  01a0:38 00f8          pushi f8 // $f8 newRoom
  01a3:78               push1 
  01a4:39 17            pushi 17 // $17 name
  01a6:81 02              lag gCurRoom 
  01a8:4a 06             send 6 

  01aa:33 0a              jmp code_01b6 

        code_01ac
  01ac:38 00f8          pushi f8 // $f8 newRoom
  01af:78               push1 
  01b0:39 18            pushi 18 // $18 key
  01b2:81 02              lag gCurRoom 
  01b4:4a 06             send 6 


        code_01b6
  01b6:39 3c            pushi 3c // $3c doit
  01b8:76               push0 
  01b9:57 37 04         super Rm 4 

  01bc:48                 ret 
    )

    (method (dispose) // method_01bd
  01bd:39 58            pushi 58 // $58 dispose
  01bf:76               push0 
  01c0:57 37 04         super Rm 4 

  01c3:48                 ret 
    )

    (method (newRoom) // method_01c4
  01c4:8f 01              lsp param1 
  01c6:35 33              ldi 33 
  01c8:1a                 eq? 
  01c9:31 0e              bnt code_01d9 
  01cb:38 0102          pushi 102 // $102 keep
  01ce:78               push1 
  01cf:76               push0 
  01d0:78               push1 
  01d1:38 00d0          pushi d0 // $d0 baseSetter
  01d4:43 02 02         callk ScriptID 2 

  01d7:4a 06             send 6 


        code_01d9
  01d9:38 00f8          pushi f8 // $f8 newRoom
  01dc:78               push1 
  01dd:8f 01              lsp param1 
  01df:57 37 06         super Rm 6 

  01e2:48                 ret 
    )

    (method (handleEvent) // method_01e3
  01e3:3f 01             link 1 // (var $1)
  01e5:39 4c            pushi 4c // $4c claimed
  01e7:76               push0 
  01e8:87 01              lap param1 
  01ea:4a 04             send 4 

  01ec:31 03              bnt code_01f1 
  01ee:35 01              ldi 1 
  01f0:48                 ret 

        code_01f1
  01f1:39 22            pushi 22 // $22 type
  01f3:76               push0 
  01f4:87 01              lap param1 
  01f6:4a 04             send 4 

  01f8:36                push 
  01f9:34 0080            ldi 80 
  01fc:1a                 eq? 
  01fd:30 008e            bnt code_028e 
  0200:80 00d0            lag global208 
  0203:31 2d              bnt code_0232 
  0205:78               push1 
  0206:74 01da          lofss $03e3 // ask,raconter,hold,deliver,look,get,abattre,embrasser,embrace,draguer>
  0209:43 25 02         callk Said 2 

  020c:31 24              bnt code_0232 
  020e:39 7a            pushi 7a // $7a setScript
  0210:78               push1 
  0211:7a               push2 
  0212:38 00f3          pushi f3 // $f3 close
  0215:76               push0 
  0216:43 02 04         callk ScriptID 4 

  0219:36                push 
  021a:54 06             self 6 

  021c:39 6f            pushi 6f // $6f handleEvent
  021e:78               push1 
  021f:8f 01              lsp param1 
  0221:39 76            pushi 76 // $76 script
  0223:76               push0 
  0224:54 04             self 4 

  0226:4a 06             send 6 

  0228:39 4c            pushi 4c // $4c claimed
  022a:76               push0 
  022b:87 01              lap param1 
  022d:4a 04             send 4 

  022f:31 01              bnt code_0232 
  0231:48                 ret 

        code_0232
  0232:78               push1 
  0233:74 01de          lofss $0414 // look>
  0236:43 25 02         callk Said 2 

  0239:31 53              bnt code_028e 
  023b:78               push1 
  023c:74 0196          lofss $03d5 // [<around,at][/room]
  023f:43 25 02         callk Said 2 

  0242:31 0c              bnt code_0250 
  0244:7a               push2 
  0245:39 12            pushi 12 // $12 illegalBits
  0247:76               push0 
  0248:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  024e:33 3e              jmp code_028e 

        code_0250
  0250:78               push1 
  0251:74 0172          lofss $03c6 // <(dans,through)/garden,archway
  0254:43 25 02         callk Said 2 

  0257:31 0c              bnt code_0265 
  0259:7a               push2 
  025a:39 12            pushi 12 // $12 illegalBits
  025c:78               push1 
  025d:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0263:33 29              jmp code_028e 

        code_0265
  0265:78               push1 
  0266:74 014d          lofss $03b6 // /garden
  0269:43 25 02         callk Said 2 

  026c:31 0c              bnt code_027a 
  026e:7a               push2 
  026f:39 12            pushi 12 // $12 illegalBits
  0271:7a               push2 
  0272:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0278:33 14              jmp code_028e 

        code_027a
  027a:78               push1 
  027b:74 013c          lofss $03ba // /path,(boulder<stepping)
  027e:43 25 02         callk Said 2 

  0281:31 0b              bnt code_028e 
  0283:7a               push2 
  0284:39 12            pushi 12 // $12 illegalBits
  0286:39 03            pushi 3 // $3 y
  0288:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_028e
  028e:48                 ret 
    )

)

// 0474
(instance showers 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_028f
  028f:87 01              lap param1 
  0291:65 0a             aTop state 
  0293:36                push 
  0294:3c                 dup 
  0295:35 00              ldi 0 
  0297:1a                 eq? 
  0298:31 27              bnt code_02c1 
  029a:39 7e            pushi 7e // $7e setCycle
  029c:78               push1 
  029d:51 16            class Fwd 
  029f:36                push 
  02a0:72 0207          lofsa $04aa // light1
  02a3:4a 06             send 6 

  02a5:39 7e            pushi 7e // $7e setCycle
  02a7:78               push1 
  02a8:51 16            class Fwd 
  02aa:36                push 
  02ab:72 024a          lofsa $04f8 // light2
  02ae:4a 06             send 6 

  02b0:39 7e            pushi 7e // $7e setCycle
  02b2:78               push1 
  02b3:51 16            class Fwd 
  02b5:36                push 
  02b6:72 028d          lofsa $0546 // light3
  02b9:4a 06             send 6 

  02bb:35 07              ldi 7 
  02bd:65 10             aTop cycles 
  02bf:33 6a              jmp code_032b 

        code_02c1
  02c1:3c                 dup 
  02c2:35 01              ldi 1 
  02c4:1a                 eq? 
  02c5:31 24              bnt code_02eb 
  02c7:39 7e            pushi 7e // $7e setCycle
  02c9:78               push1 
  02ca:51 1a            class End 
  02cc:36                push 
  02cd:72 01da          lofsa $04aa // light1
  02d0:4a 06             send 6 

  02d2:39 7e            pushi 7e // $7e setCycle
  02d4:78               push1 
  02d5:51 1a            class End 
  02d7:36                push 
  02d8:72 021d          lofsa $04f8 // light2
  02db:4a 06             send 6 

  02dd:39 7e            pushi 7e // $7e setCycle
  02df:7a               push2 
  02e0:51 1a            class End 
  02e2:36                push 
  02e3:7c            pushSelf 
  02e4:72 025f          lofsa $0546 // light3
  02e7:4a 08             send 8 

  02e9:33 40              jmp code_032b 

        code_02eb
  02eb:3c                 dup 
  02ec:35 02              ldi 2 
  02ee:1a                 eq? 
  02ef:31 0f              bnt code_0300 
  02f1:39 06            pushi 6 // $6 loop
  02f3:78               push1 
  02f4:78               push1 
  02f5:39 2a            pushi 2a // $2a play
  02f7:78               push1 
  02f8:7c            pushSelf 
  02f9:72 0298          lofsa $0594 // Thunder
  02fc:4a 0c             send c 

  02fe:33 2b              jmp code_032b 

        code_0300
  0300:3c                 dup 
  0301:35 03              ldi 3 
  0303:1a                 eq? 
  0304:31 17              bnt code_031d 
  0306:7a               push2 
  0307:78               push1 
  0308:39 64            pushi 64 // $64 allTrue
  030a:43 40 04         callk Random 4 

  030d:36                push 
  030e:35 19              ldi 19 
  0310:22                 lt? 
  0311:31 04              bnt code_0317 
  0313:35 ff              ldi ff 
  0315:65 0a             aTop state 

        code_0317
  0317:35 07              ldi 7 
  0319:65 10             aTop cycles 
  031b:33 0e              jmp code_032b 

        code_031d
  031d:3c                 dup 
  031e:35 04              ldi 4 
  0320:1a                 eq? 
  0321:31 08              bnt code_032b 
  0323:35 02              ldi 2 
  0325:65 0a             aTop state 
  0327:35 05              ldi 5 
  0329:65 12             aTop seconds 

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

)

// 04a4
(instance light1 of Prop
    (properties
        y $54
        x $11d
        z $0
        heading $0
        yStep $2
        view $76
        loop $0
        cel $1
        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
    )
)

// 04f2
(instance light2 of Prop
    (properties
        y $4e
        x $ce
        z $0
        heading $0
        yStep $2
        view $76
        loop $1
        cel $1
        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
    )
)

// 0540
(instance light3 of Prop
    (properties
        y $58
        x $b5
        z $0
        heading $0
        yStep $2
        view $76
        loop $2
        cel $1
        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
    )
)

// 058e
(instance Thunder of Sound
    (properties
        state $0
        number $0
        priority $0
        loop $1
        handle $0
        signal $0
        prevSignal $0
        client $0
        owner $0
    )
)

// 05b8
(instance House of RFeature
    (properties
        y $0
        x $0
        z $0
        heading $0
        nsTop $4d
        nsLeft $e
        nsBottom $6f
        nsRight $52
    )
    (method (handleEvent) // method_032d
  032d:39 03            pushi 3 // $3 y
  032f:7c            pushSelf 
  0330:8f 01              lsp param1 
  0332:39 03            pushi 3 // $3 y
  0334:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  033a:2f 09               bt code_0345 
  033c:78               push1 
  033d:74 00ce          lofss $040e // look/cabin
  0340:43 25 02         callk Said 2 

  0343:31 13              bnt code_0358 

        code_0345
  0345:39 4c            pushi 4c // $4c claimed
  0347:78               push1 
  0348:78               push1 
  0349:87 01              lap param1 
  034b:4a 06             send 6 

  034d:7a               push2 
  034e:39 12            pushi 12 // $12 illegalBits
  0350:39 04            pushi 4 // $4 x
  0352:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_0358
  0358:48                 ret 
    )

)

// 05e4
(instance Gate of RFeature
    (properties
        y $0
        x $0
        z $0
        heading $0
        nsTop $6b
        nsLeft $aa
        nsBottom $a2
        nsRight $c9
    )
    (method (handleEvent) // method_0359
  0359:78               push1 
  035a:74 00a5          lofss $0402 // clore/archway
  035d:43 25 02         callk Said 2 

  0360:31 0d              bnt code_036f 
  0362:7a               push2 
  0363:39 12            pushi 12 // $12 illegalBits
  0365:39 05            pushi 5 // $5 view
  0367:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  036d:33 41              jmp code_03b0 

        code_036f
  036f:78               push1 
  0370:74 00a5          lofss $0418 // open/archway
  0373:43 25 02         callk Said 2 

  0376:31 0d              bnt code_0385 
  0378:7a               push2 
  0379:39 12            pushi 12 // $12 illegalBits
  037b:39 06            pushi 6 // $6 loop
  037d:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0383:33 2b              jmp code_03b0 

        code_0385
  0385:39 03            pushi 3 // $3 y
  0387:7c            pushSelf 
  0388:8f 01              lsp param1 
  038a:39 03            pushi 3 // $3 y
  038c:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  0392:2f 09               bt code_039d 
  0394:78               push1 
  0395:74 0070          lofss $0408 // look/archway
  0398:43 25 02         callk Said 2 

  039b:31 13              bnt code_03b0 

        code_039d
  039d:39 4c            pushi 4c // $4c claimed
  039f:78               push1 
  03a0:78               push1 
  03a1:87 01              lap param1 
  03a3:4a 06             send 6 

  03a5:7a               push2 
  03a6:39 12            pushi 12 // $12 illegalBits
  03a8:39 07            pushi 7 // $7 cel
  03aa:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_03b0
  03b0:48                 ret 
  03b1:00                bnot 
    )

)



