(script 56)

(string
    string_039e "GoingDown"
    string_03a8 "GoingUp"
    string_03b0 "Room56"
    string_03b7 "glow"
)

(said
    said_0268 look/passage
    said_026e look/escalier,escalier
    said_0277 look<haut
    said_027d look[<around,at][/room]
)

(synonym
    escalier | stair | staircase | stairway | step = upstair
)

(local
)

// 0294
(instance glow of HighLite
    (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
        highLiteX $0
        highLiteY $0
        deltaX $0
        deltaY $0
        leadingEdge $0
        ignoreCast $0
        eyesID $0
    )
)

// 02f0
(instance public Room56 of Rm
    (properties
        script $0
        number $0
        timer $0
        keep $0
        initialized $0
        picture $38
        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 00              ldi 0 
  0018:65 16             aTop horizon 
  001a:35 37              ldi 37 
  001c:65 1c             aTop east 
  001e:65 1e             aTop south 
  0020:35 34              ldi 34 
  0022:a0 00bd            sag global189 
  0025:39 57            pushi 57 // $57 init
  0027:76               push0 
  0028:57 37 04         super Rm 4 

  002b:38 010a          pushi 10a // $10a setRegions
  002e:78               push1 
  002f:38 00f2          pushi f2 // $f2 read
  0032:54 06             self 6 

  0034:39 05            pushi 5 // $5 view
  0036:78               push1 
  0037:39 07            pushi 7 // $7 cel
  0039:39 57            pushi 57 // $57 init
  003b:76               push0 
  003c:81 00              lag gEgo 
  003e:4a 0a             send a 

  0040:89 0c              lsg gPrevRoomNum 
  0042:35 37              ldi 37 
  0044:1a                 eq? 
  0045:31 14              bnt code_005b 
  0047:39 06            pushi 6 // $6 loop
  0049:78               push1 
  004a:78               push1 
  004b:38 00c5          pushi c5 // $c5 posn
  004e:7a               push2 
  004f:38 0133          pushi 133 // $133 vertAngle
  0052:38 00bc          pushi bc // $bc motionInited
  0055:81 00              lag gEgo 
  0057:4a 0e             send e 

  0059:33 08              jmp code_0063 

        code_005b
  005b:39 7a            pushi 7a // $7a setScript
  005d:78               push1 
  005e:74 0315          lofss $0376 // GoingDown
  0061:54 06             self 6 


        code_0063
  0063:38 0146          pushi 146 // $146 deltaX
  0066:78               push1 
  0067:39 08            pushi 8 // $8 underBits
  0069:38 0147          pushi 147 // $147 deltaY
  006c:78               push1 
  006d:39 08            pushi 8 // $8 underBits
  006f:39 57            pushi 57 // $57 init
  0071:76               push0 
  0072:72 0225          lofsa $029a // glow
  0075:4a 10             send 10 

  0077:48                 ret 
    )

    (method (doit) // method_0078
  0078:76               push0 
  0079:45 14 00         callb procedure_0014 0 // IsFirstTimeInRoom 

  007c:31 0a              bnt code_0088 
  007e:7a               push2 
  007f:39 38            pushi 38 // $38 moveSpeed
  0081:76               push0 
  0082:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_0088
  0088:38 00db          pushi db // $db onControl
  008b:76               push0 
  008c:81 00              lag gEgo 
  008e:4a 04             send 4 

  0090:36                push 
  0091:35 02              ldi 2 
  0093:12                 and 
  0094:31 0f              bnt code_00a5 
  0096:67 08             pTos script 
  0098:35 00              ldi 0 
  009a:1a                 eq? 
  009b:31 08              bnt code_00a5 
  009d:39 7a            pushi 7a // $7a setScript
  009f:78               push1 
  00a0:74 02a3          lofss $0346 // GoingUp
  00a3:54 06             self 6 


        code_00a5
  00a5:39 3c            pushi 3c // $3c doit
  00a7:76               push0 
  00a8:57 37 04         super Rm 4 

  00ab:48                 ret 
    )

    (method (dispose) // method_00ac
  00ac:78               push1 
  00ad:38 00d6          pushi d6 // $d6 observeControl
  00b0:43 03 02         callk DisposeScript 2 

  00b3:39 58            pushi 58 // $58 dispose
  00b5:76               push0 
  00b6:57 37 04         super Rm 4 

  00b9:48                 ret 
    )

    (method (newRoom) // method_00ba
  00ba:38 00f8          pushi f8 // $f8 newRoom
  00bd:78               push1 
  00be:8f 01              lsp param1 
  00c0:57 37 06         super Rm 6 

  00c3:48                 ret 
    )

    (method (handleEvent) // method_00c4
  00c4:39 4c            pushi 4c // $4c claimed
  00c6:76               push0 
  00c7:87 01              lap param1 
  00c9:4a 04             send 4 

  00cb:31 01              bnt code_00ce 
  00cd:48                 ret 

        code_00ce
  00ce:39 6f            pushi 6f // $6f handleEvent
  00d0:78               push1 
  00d1:8f 01              lsp param1 
  00d3:57 37 06         super Rm 6 

  00d6:39 22            pushi 22 // $22 type
  00d8:76               push0 
  00d9:87 01              lap param1 
  00db:4a 04             send 4 

  00dd:36                push 
  00de:34 0080            ldi 80 
  00e1:1a                 eq? 
  00e2:31 46              bnt code_012a 
  00e4:78               push1 
  00e5:74 0195          lofss $027d // look[<around,at][/room]
  00e8:43 25 02         callk Said 2 

  00eb:31 0c              bnt code_00f9 
  00ed:7a               push2 
  00ee:39 38            pushi 38 // $38 moveSpeed
  00f0:76               push0 
  00f1:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  00f7:33 31              jmp code_012a 

        code_00f9
  00f9:78               push1 
  00fa:74 016b          lofss $0268 // look/passage
  00fd:43 25 02         callk Said 2 

  0100:31 0c              bnt code_010e 
  0102:7a               push2 
  0103:39 38            pushi 38 // $38 moveSpeed
  0105:78               push1 
  0106:46 00ff 0000 04  calle ff procedure_0000 4 // Print 

  010c:33 1c              jmp code_012a 

        code_010e
  010e:78               push1 
  010f:74 015c          lofss $026e // look/escalier,escalier
  0112:43 25 02         callk Said 2 

  0115:2f 09               bt code_0120 
  0117:78               push1 
  0118:74 015c          lofss $0277 // look<haut
  011b:43 25 02         callk Said 2 

  011e:31 0a              bnt code_012a 

        code_0120
  0120:7a               push2 
  0121:39 38            pushi 38 // $38 moveSpeed
  0123:7a               push2 
  0124:46 00ff 0000 04  calle ff procedure_0000 4 // Print 


        code_012a
  012a:48                 ret 
    )

)

// 0340
(instance GoingUp 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_012b
  012b:87 01              lap param1 
  012d:65 0a             aTop state 
  012f:36                push 
  0130:3c                 dup 
  0131:35 00              ldi 0 
  0133:1a                 eq? 
  0134:31 22              bnt code_0158 
  0136:76               push0 
  0137:45 03 00         callb procedure_0003 0 // HandsOff 

  013a:39 12            pushi 12 // $12 illegalBits
  013c:78               push1 
  013d:76               push0 
  013e:38 00c8          pushi c8 // $c8 setLoop
  0141:78               push1 
  0142:78               push1 
  0143:38 00d3          pushi d3 // $d3 setMotion
  0146:39 04            pushi 4 // $4 x
  0148:51 1d            class MoveTo 
  014a:36                push 
  014b:38 00b1          pushi b1 // $b1 bumpTurn
  014e:39 7a            pushi 7a // $7a setScript
  0150:7c            pushSelf 
  0151:81 00              lag gEgo 
  0153:4a 18             send 18 

  0155:32 00af            jmp code_0207 

        code_0158
  0158:3c                 dup 
  0159:35 01              ldi 1 
  015b:1a                 eq? 
  015c:31 3c              bnt code_019a 
  015e:88 0097            lsg global151 
  0161:34 0200            ldi 200 
  0164:12                 and 
  0165:31 12              bnt code_0179 
  0167:39 06            pushi 6 // $6 loop
  0169:78               push1 
  016a:7a               push2 
  016b:81 00              lag gEgo 
  016d:4a 06             send 6 

  016f:35 03              ldi 3 
  0171:65 0a             aTop state 
  0173:35 02              ldi 2 
  0175:65 10             aTop cycles 
  0177:33 1f              jmp code_0198 

        code_0179
  0179:39 05            pushi 5 // $5 view
  017b:78               push1 
  017c:39 1a            pushi 1a // $1a text
  017e:39 06            pushi 6 // $6 loop
  0180:78               push1 
  0181:76               push0 
  0182:39 07            pushi 7 // $7 cel
  0184:78               push1 
  0185:76               push0 
  0186:38 00d3          pushi d3 // $d3 setMotion
  0189:39 04            pushi 4 // $4 x
  018b:51 1d            class MoveTo 
  018d:36                push 
  018e:38 00ad          pushi ad // $ad distance
  0191:39 74            pushi 74 // $74 lastSeconds
  0193:7c            pushSelf 
  0194:81 00              lag gEgo 
  0196:4a 1e             send 1e 


        code_0198
  0198:33 6d              jmp code_0207 

        code_019a
  019a:3c                 dup 
  019b:35 02              ldi 2 
  019d:1a                 eq? 
  019e:31 1a              bnt code_01ba 
  01a0:39 06            pushi 6 // $6 loop
  01a2:78               push1 
  01a3:78               push1 
  01a4:39 07            pushi 7 // $7 cel
  01a6:78               push1 
  01a7:76               push0 
  01a8:38 00a4          pushi a4 // $a4 cycleSpeed
  01ab:78               push1 
  01ac:78               push1 
  01ad:39 7e            pushi 7e // $7e setCycle
  01af:7a               push2 
  01b0:51 1a            class End 
  01b2:36                push 
  01b3:7c            pushSelf 
  01b4:81 00              lag gEgo 
  01b6:4a 1a             send 1a 

  01b8:33 4d              jmp code_0207 

        code_01ba
  01ba:3c                 dup 
  01bb:35 03              ldi 3 
  01bd:1a                 eq? 
  01be:31 15              bnt code_01d5 
  01c0:39 06            pushi 6 // $6 loop
  01c2:78               push1 
  01c3:7a               push2 
  01c4:39 07            pushi 7 // $7 cel
  01c6:78               push1 
  01c7:76               push0 
  01c8:39 7e            pushi 7e // $7e setCycle
  01ca:7a               push2 
  01cb:51 1a            class End 
  01cd:36                push 
  01ce:7c            pushSelf 
  01cf:81 00              lag gEgo 
  01d1:4a 14             send 14 

  01d3:33 32              jmp code_0207 

        code_01d5
  01d5:3c                 dup 
  01d6:35 04              ldi 4 
  01d8:1a                 eq? 
  01d9:31 2c              bnt code_0207 
  01db:76               push0 
  01dc:45 04 00         callb procedure_0004 0 // HandsOn 

  01df:38 00c8          pushi c8 // $c8 setLoop
  01e2:78               push1 
  01e3:39 ff            pushi ff // $ff checkAni
  01e5:38 00a4          pushi a4 // $a4 cycleSpeed
  01e8:78               push1 
  01e9:39 ff            pushi ff // $ff checkAni
  01eb:39 12            pushi 12 // $12 illegalBits
  01ed:78               push1 
  01ee:38 8000          pushi 8000 // $8000 sel_32768
  01f1:81 00              lag gEgo 
  01f3:4a 12             send 12 

  01f5:39 7a            pushi 7a // $7a setScript
  01f7:78               push1 
  01f8:76               push0 
  01f9:63 08             pToa client 
  01fb:4a 06             send 6 

  01fd:38 00f8          pushi f8 // $f8 newRoom
  0200:78               push1 
  0201:39 39            pushi 39 // $39 canBeHere
  0203:81 02              lag gCurRoom 
  0205:4a 06             send 6 


        code_0207
  0207:3a                toss 
  0208:48                 ret 
    )

)

// 0370
(instance GoingDown 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_0209
  0209:87 01              lap param1 
  020b:65 0a             aTop state 
  020d:36                push 
  020e:3c                 dup 
  020f:35 00              ldi 0 
  0211:1a                 eq? 
  0212:31 2b              bnt code_023f 
  0214:76               push0 
  0215:45 03 00         callb procedure_0003 0 // HandsOff 

  0218:38 00c5          pushi c5 // $c5 posn
  021b:7a               push2 
  021c:38 00b2          pushi b2 // $b2 lastBumped
  021f:39 74            pushi 74 // $74 lastSeconds
  0221:39 12            pushi 12 // $12 illegalBits
  0223:78               push1 
  0224:76               push0 
  0225:38 00c8          pushi c8 // $c8 setLoop
  0228:78               push1 
  0229:76               push0 
  022a:38 00d3          pushi d3 // $d3 setMotion
  022d:39 04            pushi 4 // $4 x
  022f:51 1d            class MoveTo 
  0231:36                push 
  0232:38 00ee          pushi ee // $ee has
  0235:38 00b9          pushi b9 // $b9 nonBumps
  0238:7c            pushSelf 
  0239:81 00              lag gEgo 
  023b:4a 20             send 20 

  023d:33 22              jmp code_0261 

        code_023f
  023f:3c                 dup 
  0240:35 01              ldi 1 
  0242:1a                 eq? 
  0243:31 1c              bnt code_0261 
  0245:76               push0 
  0246:45 04 00         callb procedure_0004 0 // HandsOn 

  0249:38 00c8          pushi c8 // $c8 setLoop
  024c:78               push1 
  024d:39 ff            pushi ff // $ff checkAni
  024f:39 12            pushi 12 // $12 illegalBits
  0251:78               push1 
  0252:38 8000          pushi 8000 // $8000 sel_32768
  0255:81 00              lag gEgo 
  0257:4a 0c             send c 

  0259:39 7a            pushi 7a // $7a setScript
  025b:78               push1 
  025c:76               push0 
  025d:63 08             pToa client 
  025f:4a 06             send 6 


        code_0261
  0261:3a                toss 
  0262:48                 ret 
  0263:00                bnot 
    )

)



