(script 21)

(string
    string_05ce "BHouse"
    string_05d5 "House"
    string_05db "Room21"
    string_05e2 "Thunder"
    string_05ea "door"
    string_05ef "house"
    string_05f5 "light1"
    string_05fc "light2"
    string_0603 "light3"
    string_060a "showers"
)

(said
    said_0392 /lamp[<gallery]
    said_039b /monument
    said_039f /path
    said_03a3 [<around,at][/room]
    said_03b1 look/cabin<little
    said_03ba look/cabin<jouer
    said_03c3 look/cabane
    said_03c9 look>
)

(synonym
    path | voie | walkway = marcher | walk
    lamp | lampe = allumer | ignite | illuminer | light
)

(local
    local0 = $0000
)

// 03d4
(instance public Room21 of Rm
    (properties
        script $0
        number $0
        timer $0
        keep $0
        initialized $0
        picture $15
        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_001a
  001a:35 1b              ldi 1b 
  001c:65 1e             aTop south 
  001e:35 16              ldi 16 
  0020:65 1c             aTop east 
  0022:35 0a              ldi a 
  0024:65 1a             aTop north 
  0026:35 56              ldi 56 
  0028:65 16             aTop horizon 
  002a:39 57            pushi 57 // $57 init
  002c:76               push0 
  002d:57 37 04         super Rm 4 

  0030:38 010a          pushi 10a // $10a setRegions
  0033:78               push1 
  0034:38 00ce          pushi ce // $ce yLast
  0037:38 010b          pushi 10b // $10b setFeatures
  003a:7a               push2 
  003b:74 0530          lofss $056e // House
  003e:74 0563          lofss $05a4 // BHouse
  0041:54 0e             self e 

  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 03d9          lofss $042a // showers
  0051:72 0406          lofsa $045a // light1
  0054:4a 0a             send a 

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

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


        code_0066
  0066:39 61            pushi 61 // $61 add
  0068:78               push1 
  0069:74 0502          lofss $056e // House
  006c:39 3c            pushi 3c // $3c doit
  006e:76               push0 
  006f:81 0a              lag gAddToPics 
  0071:4a 0a             send a 

  0073:88 00a5            lsg gAct 
  0076:35 01              ldi 1 
  0078:1a                 eq? 
  0079:31 09              bnt code_0084 
  007b:38 010a          pushi 10a // $10a setRegions
  007e:78               push1 
  007f:38 017d          pushi 17d // $17d sel_381
  0082:54 06             self 6 


        code_0084
  0084:88 00a5            lsg gAct 
  0087:35 02              ldi 2 
  0089:20                 ge? 
  008a:31 11              bnt code_009d 
  008c:88 00a5            lsg gAct 
  008f:35 04              ldi 4 
  0091:22                 lt? 
  0092:31 09              bnt code_009d 
  0094:38 010a          pushi 10a // $10a setRegions
  0097:78               push1 
  0098:38 00ca          pushi ca // $ca show
  009b:54 06             self 6 


        code_009d
  009d:88 00a5            lsg gAct 
  00a0:35 03              ldi 3 
  00a2:1a                 eq? 
  00a3:31 07              bnt code_00ac 
  00a5:89 72              lsg global114 
  00a7:35 0a              ldi a 
  00a9:1c                 ne? 
  00aa:2f 10               bt code_00bc 

        code_00ac
  00ac:88 00a5            lsg gAct 
  00af:35 06              ldi 6 
  00b1:1a                 eq? 
  00b2:31 11              bnt code_00c5 
  00b4:89 76              lsg gMustDos 
  00b6:35 02              ldi 2 
  00b8:12                 and 
  00b9:18                 not 
  00ba:31 09              bnt code_00c5 

        code_00bc
  00bc:38 010a          pushi 10a // $10a setRegions
  00bf:78               push1 
  00c0:38 0119          pushi 119 // $119 startExtra
  00c3:54 06             self 6 


        code_00c5
  00c5:89 0c              lsg gPrevRoomNum 
  00c7:3c                 dup 
  00c8:35 0a              ldi a 
  00ca:1a                 eq? 
  00cb:31 11              bnt code_00de 
  00cd:38 00c5          pushi c5 // $c5 posn
  00d0:7a               push2 
  00d1:38 0118          pushi 118 // $118 stopExtra
  00d4:38 0081          pushi 81 // $81 prevSignal
  00d7:81 00              lag gEgo 
  00d9:4a 08             send 8 

  00db:32 0087            jmp code_0165 

        code_00de
  00de:3c                 dup 
  00df:35 0e              ldi e 
  00e1:1a                 eq? 
  00e2:31 0f              bnt code_00f3 
  00e4:38 00c5          pushi c5 // $c5 posn
  00e7:7a               push2 
  00e8:39 59            pushi 59 // $59 showStr
  00ea:38 0081          pushi 81 // $81 prevSignal
  00ed:81 00              lag gEgo 
  00ef:4a 08             send 8 

  00f1:33 72              jmp code_0165 

        code_00f3
  00f3:3c                 dup 
  00f4:35 0f              ldi f 
  00f6:1a                 eq? 
  00f7:31 10              bnt code_0109 
  00f9:38 00c5          pushi c5 // $c5 posn
  00fc:7a               push2 
  00fd:38 0139          pushi 139 // $139 msgID
  0100:38 0081          pushi 81 // $81 prevSignal
  0103:81 00              lag gEgo 
  0105:4a 08             send 8 

  0107:33 5c              jmp code_0165 

        code_0109
  0109:3c                 dup 
  010a:35 14              ldi 14 
  010c:1a                 eq? 
  010d:31 0f              bnt code_011e 
  010f:38 00c5          pushi c5 // $c5 posn
  0112:7a               push2 
  0113:39 07            pushi 7 // $7 cel
  0115:38 00ba          pushi ba // $ba targetX
  0118:81 00              lag gEgo 
  011a:4a 08             send 8 

  011c:33 47              jmp code_0165 

        code_011e
  011e:3c                 dup 
  011f:35 16              ldi 16 
  0121:1a                 eq? 
  0122:31 1e              bnt code_0142 
  0124:39 03            pushi 3 // $3 y
  0126:76               push0 
  0127:81 00              lag gEgo 
  0129:4a 04             send 4 

  012b:36                push 
  012c:34 0096            ldi 96 
  012f:1e                 gt? 
  0130:31 0e              bnt code_0140 
  0132:38 00c5          pushi c5 // $c5 posn
  0135:7a               push2 
  0136:38 0136          pushi 136 // $136 elevatorID
  0139:38 00ac          pushi ac // $ac onTarget
  013c:81 00              lag gEgo 
  013e:4a 08             send 8 


        code_0140
  0140:33 23              jmp code_0165 

        code_0142
  0142:3c                 dup 
  0143:35 1b              ldi 1b 
  0145:1a                 eq? 
  0146:31 10              bnt code_0158 
  0148:38 00c5          pushi c5 // $c5 posn
  014b:7a               push2 
  014c:38 00b7          pushi b7 // $b7 nearestDist
  014f:38 00bc          pushi bc // $bc motionInited
  0152:81 00              lag gEgo 
  0154:4a 08             send 8 

  0156:33 0d              jmp code_0165 

        code_0158
  0158:38 00c5          pushi c5 // $c5 posn
  015b:7a               push2 
  015c:39 07            pushi 7 // $7 cel
  015e:38 0096          pushi 96 // $96 busy
  0161:81 00              lag gEgo 
  0163:4a 08             send 8 


        code_0165
  0165:3a                toss 
  0166:39 12            pushi 12 // $12 illegalBits
  0168:78               push1 
  0169:38 8000          pushi 8000 // $8000 sel_32768
  016c:39 05            pushi 5 // $5 view
  016e:78               push1 
  016f:76               push0 
  0170:39 57            pushi 57 // $57 init
  0172:76               push0 
  0173:81 00              lag gEgo 
  0175:4a 10             send 10 

  0177:48                 ret 
    )

    (method (doit) // method_0178
  0178:38 00eb          pushi eb // $eb edgeHit
  017b:76               push0 
  017c:81 00              lag gEgo 
  017e:4a 04             send 4 

  0180:36                push 
  0181:35 04              ldi 4 
  0183:1a                 eq? 
  0184:31 24              bnt code_01aa 
  0186:39 03            pushi 3 // $3 y
  0188:76               push0 
  0189:81 00              lag gEgo 
  018b:4a 04             send 4 

  018d:36                push 
  018e:34 00a6            ldi a6 
  0191:22                 lt? 
  0192:31 0c              bnt code_01a0 
  0194:38 00f8          pushi f8 // $f8 newRoom
  0197:78               push1 
  0198:39 0d            pushi d // $d lsTop
  019a:81 02              lag gCurRoom 
  019c:4a 06             send 6 

  019e:33 0a              jmp code_01aa 

        code_01a0
  01a0:38 00f8          pushi f8 // $f8 newRoom
  01a3:78               push1 
  01a4:39 14            pushi 14 // $14 brLeft
  01a6:81 02              lag gCurRoom 
  01a8:4a 06             send 6 


        code_01aa
  01aa:76               push0 
  01ab:45 14 00         callb procedure_0014 0 // IsFirstTimeInRoom 

  01ae:31 0a              bnt code_01ba 
  01b0:7a               push2 
  01b1:39 15            pushi 15 // $15 brBottom
  01b3:76               push0 
  01b4:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_01ba
  01ba:38 00db          pushi db // $db onControl
  01bd:78               push1 
  01be:76               push0 
  01bf:81 00              lag gEgo 
  01c1:4a 06             send 6 

  01c3:36                push 
  01c4:35 08              ldi 8 
  01c6:12                 and 
  01c7:31 0a              bnt code_01d3 
  01c9:38 00f8          pushi f8 // $f8 newRoom
  01cc:78               push1 
  01cd:39 0e            pushi e // $e lsLeft
  01cf:81 02              lag gCurRoom 
  01d1:4a 06             send 6 


        code_01d3
  01d3:38 00db          pushi db // $db onControl
  01d6:78               push1 
  01d7:76               push0 
  01d8:81 00              lag gEgo 
  01da:4a 06             send 6 

  01dc:36                push 
  01dd:35 04              ldi 4 
  01df:12                 and 
  01e0:31 0a              bnt code_01ec 
  01e2:38 00f8          pushi f8 // $f8 newRoom
  01e5:78               push1 
  01e6:39 0a            pushi a // $a nsLeft
  01e8:81 02              lag gCurRoom 
  01ea:4a 06             send 6 


        code_01ec
  01ec:38 00db          pushi db // $db onControl
  01ef:78               push1 
  01f0:76               push0 
  01f1:81 00              lag gEgo 
  01f3:4a 06             send 6 

  01f5:36                push 
  01f6:35 10              ldi 10 
  01f8:12                 and 
  01f9:31 0a              bnt code_0205 
  01fb:38 00f8          pushi f8 // $f8 newRoom
  01fe:78               push1 
  01ff:39 0d            pushi d // $d lsTop
  0201:81 02              lag gCurRoom 
  0203:4a 06             send 6 


        code_0205
  0205:39 3c            pushi 3c // $3c doit
  0207:76               push0 
  0208:57 37 04         super Rm 4 

  020b:48                 ret 
    )

    (method (dispose) // method_020c
  020c:39 58            pushi 58 // $58 dispose
  020e:76               push0 
  020f:57 37 04         super Rm 4 

  0212:48                 ret 
    )

    (method (newRoom) // method_0213
  0213:38 00f8          pushi f8 // $f8 newRoom
  0216:78               push1 
  0217:8f 01              lsp param1 
  0219:57 37 06         super Rm 6 

  021c:48                 ret 
    )

    (method (handleEvent) // method_021d
  021d:3f 01             link 1 // (var $1)
  021f:39 4c            pushi 4c // $4c claimed
  0221:76               push0 
  0222:87 01              lap param1 
  0224:4a 04             send 4 

  0226:31 03              bnt code_022b 
  0228:35 01              ldi 1 
  022a:48                 ret 

        code_022b
  022b:39 22            pushi 22 // $22 type
  022d:76               push0 
  022e:87 01              lap param1 
  0230:4a 04             send 4 

  0232:36                push 
  0233:34 0080            ldi 80 
  0236:1a                 eq? 
  0237:31 60              bnt code_0299 
  0239:78               push1 
  023a:74 018c          lofss $03c9 // look>
  023d:43 25 02         callk Said 2 

  0240:31 57              bnt code_0299 
  0242:78               push1 
  0243:74 015d          lofss $03a3 // [<around,at][/room]
  0246:43 25 02         callk Said 2 

  0249:31 0c              bnt code_0257 
  024b:7a               push2 
  024c:39 15            pushi 15 // $15 brBottom
  024e:76               push0 
  024f:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  0255:33 42              jmp code_0299 

        code_0257
  0257:78               push1 
  0258:74 0144          lofss $039f // /path
  025b:43 25 02         callk Said 2 

  025e:31 0c              bnt code_026c 
  0260:7a               push2 
  0261:39 15            pushi 15 // $15 brBottom
  0263:78               push1 
  0264:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  026a:33 2d              jmp code_0299 

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

  0273:31 0c              bnt code_0281 
  0275:7a               push2 
  0276:39 15            pushi 15 // $15 brBottom
  0278:7a               push2 
  0279:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  027f:33 18              jmp code_0299 

        code_0281
  0281:78               push1 
  0282:74 010d          lofss $0392 // /lamp[<gallery]
  0285:43 25 02         callk Said 2 

  0288:31 0f              bnt code_0299 
  028a:39 4c            pushi 4c // $4c claimed
  028c:78               push1 
  028d:78               push1 
  028e:87 01              lap param1 
  0290:4a 06             send 6 

  0292:78               push1 
  0293:74 0354          lofss $05ea // door
  0296:45 19 02         callb procedure_0019 2 // DoLook 


        code_0299
  0299:48                 ret 
    )

)

// 0424
(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_029a
  029a:87 01              lap param1 
  029c:65 0a             aTop state 
  029e:36                push 
  029f:3c                 dup 
  02a0:35 00              ldi 0 
  02a2:1a                 eq? 
  02a3:31 09              bnt code_02ae 
  02a5:35 03              ldi 3 
  02a7:65 0a             aTop state 
  02a9:65 12             aTop seconds 
  02ab:32 0097            jmp code_0345 

        code_02ae
  02ae:3c                 dup 
  02af:35 01              ldi 1 
  02b1:1a                 eq? 
  02b2:31 27              bnt code_02db 
  02b4:39 7e            pushi 7e // $7e setCycle
  02b6:78               push1 
  02b7:51 16            class Fwd 
  02b9:36                push 
  02ba:72 019d          lofsa $045a // light1
  02bd:4a 06             send 6 

  02bf:39 7e            pushi 7e // $7e setCycle
  02c1:78               push1 
  02c2:51 16            class Fwd 
  02c4:36                push 
  02c5:72 01e0          lofsa $04a8 // light2
  02c8:4a 06             send 6 

  02ca:39 7e            pushi 7e // $7e setCycle
  02cc:78               push1 
  02cd:51 16            class Fwd 
  02cf:36                push 
  02d0:72 0223          lofsa $04f6 // light3
  02d3:4a 06             send 6 

  02d5:35 07              ldi 7 
  02d7:65 10             aTop cycles 
  02d9:33 6a              jmp code_0345 

        code_02db
  02db:3c                 dup 
  02dc:35 02              ldi 2 
  02de:1a                 eq? 
  02df:31 24              bnt code_0305 
  02e1:39 7e            pushi 7e // $7e setCycle
  02e3:78               push1 
  02e4:51 1a            class End 
  02e6:36                push 
  02e7:72 0170          lofsa $045a // light1
  02ea:4a 06             send 6 

  02ec:39 7e            pushi 7e // $7e setCycle
  02ee:78               push1 
  02ef:51 1a            class End 
  02f1:36                push 
  02f2:72 01b3          lofsa $04a8 // light2
  02f5:4a 06             send 6 

  02f7:39 7e            pushi 7e // $7e setCycle
  02f9:7a               push2 
  02fa:51 1a            class End 
  02fc:36                push 
  02fd:7c            pushSelf 
  02fe:72 01f5          lofsa $04f6 // light3
  0301:4a 08             send 8 

  0303:33 40              jmp code_0345 

        code_0305
  0305:3c                 dup 
  0306:35 03              ldi 3 
  0308:1a                 eq? 
  0309:31 0f              bnt code_031a 
  030b:39 06            pushi 6 // $6 loop
  030d:78               push1 
  030e:78               push1 
  030f:39 2a            pushi 2a // $2a play
  0311:78               push1 
  0312:7c            pushSelf 
  0313:72 022e          lofsa $0544 // Thunder
  0316:4a 0c             send c 

  0318:33 2b              jmp code_0345 

        code_031a
  031a:3c                 dup 
  031b:35 04              ldi 4 
  031d:1a                 eq? 
  031e:31 17              bnt code_0337 
  0320:7a               push2 
  0321:78               push1 
  0322:39 64            pushi 64 // $64 allTrue
  0324:43 40 04         callk Random 4 

  0327:36                push 
  0328:35 19              ldi 19 
  032a:22                 lt? 
  032b:31 04              bnt code_0331 
  032d:35 00              ldi 0 
  032f:65 0a             aTop state 

        code_0331
  0331:35 07              ldi 7 
  0333:65 10             aTop cycles 
  0335:33 0e              jmp code_0345 

        code_0337
  0337:3c                 dup 
  0338:35 05              ldi 5 
  033a:1a                 eq? 
  033b:31 08              bnt code_0345 
  033d:35 03              ldi 3 
  033f:65 0a             aTop state 
  0341:35 05              ldi 5 
  0343:65 12             aTop seconds 

        code_0345
  0345:3a                toss 
  0346:48                 ret 
    )

)

// 0454
(instance light1 of Prop
    (properties
        y $15
        x $fc
        z $0
        heading $0
        yStep $2
        view $79
        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
    )
)

// 04a2
(instance light2 of Prop
    (properties
        y $16
        x $125
        z $0
        heading $0
        yStep $2
        view $79
        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
    )
)

// 04f0
(instance light3 of Prop
    (properties
        y $16
        x $10d
        z $0
        heading $0
        yStep $2
        view $79
        loop $3
        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
    )
)

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

// 0568
(instance House of RPicView
    (properties
        y $57
        x $6c
        z $0
        heading $0
        view $79
        loop $0
        cel $0
        priority $ffff
        signal $0
        nsTop $0
        nsLeft $0
        nsBottom $0
        nsRight $0
    )
    (method (handleEvent) // method_0347
  0347:78               push1 
  0348:74 0066          lofss $03b1 // look/cabin<little
  034b:43 25 02         callk Said 2 

  034e:2f 12               bt code_0362 
  0350:78               push1 
  0351:74 006f          lofss $03c3 // look/cabane
  0354:43 25 02         callk Said 2 

  0357:2f 09               bt code_0362 
  0359:78               push1 
  035a:74 005d          lofss $03ba // look/cabin<jouer
  035d:43 25 02         callk Said 2 

  0360:31 0b              bnt code_036d 

        code_0362
  0362:7a               push2 
  0363:39 15            pushi 15 // $15 brBottom
  0365:39 03            pushi 3 // $3 y
  0367:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_036d
  036d:48                 ret 
    )

)

// 059e
(instance BHouse of RFeature
    (properties
        y $0
        x $0
        z $0
        heading $0
        nsTop $17
        nsLeft $113
        nsBottom $62
        nsRight $13f
    )
    (method (handleEvent) // method_036e
  036e:39 03            pushi 3 // $3 y
  0370:7c            pushSelf 
  0371:8f 01              lsp param1 
  0373:39 03            pushi 3 // $3 y
  0375:46 00ff 0005 06  calle ff procedure_0005 6 // MousedOn 

  037b:31 0f              bnt code_038c 
  037d:39 4c            pushi 4c // $4c claimed
  037f:78               push1 
  0380:78               push1 
  0381:87 01              lap param1 
  0383:4a 06             send 6 

  0385:78               push1 
  0386:74 0266          lofss $05ef // house
  0389:45 19 02         callb procedure_0019 2 // DoLook 


        code_038c
  038c:48                 ret 
  038d:00                bnot 
    )

)



