(version 2)
(include "sci.sh")
(exports
    0 rm265
)
(use "Main")
(use "Swing")
(use "FPRoom")
(use "Scaler")
(use "PolyPath")
(use "Polygon")
(use "CueObj")
(use "Door")
(use "n958")
(use "Jump")
(use "Cycle")
(use "View")
(use "Obj")
(script 265)


(local
    local0
    pEventX
    local2
    gEgoCycleSpeed

)
(instance public rm265 of FPRoom
    (properties
        noun 16
        picture 260
        horizon 40
        north 320
        east 270
        west 250
    )

    (method (init)
        proc958_0(132 2269 2264 637)
        proc958_0(128 261)
        proc958_0(130 991 12)
        (switch (gGNumber)
            (case west
                = style 12
            )
            (case east
                = style 11
                (if (< (send gEgo:y) 100)
                    (send gEgo:y(100))
                )
            )
            (case 680
                (send gGame:handsOn())
            )
            (case north
                (send gEgo:
                    x(= style 100)
                    y(45)
                )
            )
            (default 
                = style 100
                (send gEgo:
                    x(160)
                    y(160)
                )
            )
        )
        (send gEgo:
            init()
            setScale(Scaler 100 50 175 95)
            normalize()
        )
        (super:init())
        (if (proc0_2(64))
            (if (proc0_2(8))
                (bakingSoda:
                    posn(260 80)
                    init()
                    stopUpd()
                    approachVerbs(4)
                    ignoreActors()
                )
                (seesaw:cel((seesaw:lastCel())))
            )(else
                (bakingSoda:
                    posn(233 80)
                    init()
                    stopUpd()
                    approachVerbs(4)
                    ignoreActors()
                )
                (seesaw:cel(0))
            )
        )
        (if (== global119 14)
            (send global2:addObstacle((send ((Polygon:new())):
                    type(2)
                    init(0 0 319 0 319 99 278 108 207 89 283 68 279 65 201 85 144 72 84 33 84 7 48 7 49 43 119 93 0 93)
                    yourself()
                )
 (send ((Polygon:new())):
                    type(2)
                    init(0 181 251 179 301 141 319 135 319 189 0 189)
                    yourself()
                )
 (send ((Polygon:new())):
                    type(2)
                    init(0 96 22 96 22 117 0 117)
                    yourself()
                )
))
            (flame1:
                setCycle(Fwd)
                init()
                setPri(5)
                ignoreActors()
                setScript(sCycleColors)
            )
            (signGlow:
                setCycle(Fwd)
                cycleSpeed(15)
                init()
                ignoreActors()
                setPri(5)
            )
            (swing:
                init()
                cel(3)
                setPri(8)
                stopUpd()
                ignoreActors()
                approachVerbs(4)
            )
            (bigSwing:
                init()
                approachVerbs(4)
            )
            (seesaw:
                init()
                setPri(5)
                stopUpd()
                ignoreActors()
                approachVerbs(4 41)
            )
            (if (not proc0_2(61))
                (send global2:setScript(sEnterRoom))
            )(else
                (send gGame:handsOn())
            )
        )(else
            (send global2:addObstacle((send ((Polygon:new())):
                    type(2)
                    init(0 0 319 0 319 99 278 108 221 97 204 67 211 39 234 49 234 33 206 33 201 66 176 63 144 72 84 33 84 7 48 7 49 43 113 93 0 96)
                    yourself()
                )
 (send ((Polygon:new())):
                    type(2)
                    init(0 181 251 179 301 141 319 135 319 189 0 189)
                    yourself()
                )
 (send ((Polygon:new())):
                    type(2)
                    init(0 104 23 104 23 121 0 121)
                    yourself()
                )
))
            (swing:
                init()
                cel(3)
                setPri(8)
                stopUpd()
                ignoreActors()
                approachVerbs(4)
            )
            (seesaw:
                init()
                setPri(5)
                ignoreActors()
                stopUpd()
                approachVerbs(4 41)
            )
            (burnedShell:
                setPri(5)
                ignoreActors()
                init()
                stopUpd()
                approachVerbs(4)
            )
            (send gGame:handsOn())
        )
        (if (== global119 14)
            0
        )(else
            (if (== gGNumber 270)
                (send gGameMusic2:fade(127 30 12 0))
            )(else
                (send gGameMusic2:
                    number(260)
                    loop(-1)
                    play()
                )
            )
        )
        (schoolDoor:
            init()
            stopUpd()
        )
        (assayOffice:
            init()
            approachVerbs(4)
            setOnMeCheck(1 1024)
        )
        (school:
            init()
            approachVerbs(4)
            setOnMeCheck(1 32)
        )
        (buildings:
            init()
            approachVerbs(4)
            setOnMeCheck(1 256)
        )
        (street:
            init()
            approachVerbs(4)
            setOnMeCheck(1 2)
        )
        (slide:
            init()
            approachVerbs(4)
            setOnMeCheck(1 4)
        )
        (seesawBase:
            init()
            approachVerbs(4)
            setOnMeCheck(1 8)
        )
        (tree:
            init()
            approachVerbs(4)
            setOnMeCheck(1 16)
        )
        (windowPanes:
            init()
            approachVerbs(4)
            setOnMeCheck(1 64)
        )
        (roof:
            init()
            approachVerbs(4)
            setOnMeCheck(1 128)
        )
        (clutter:
            init()
            approachVerbs(4)
            setOnMeCheck(1 512)
        )
    )


    (method (dispose)
        (if (<> global119 14)
            (send gGameMusic2:fade())
        )
        DisposeScript(991)
        DisposeScript(12)
        (super:dispose())
    )


    (method (doVerb theVerb param2)
        return 
            (switch (theVerb)
                (case 3
                    (if (not (send gEgo:cycler) or ((send gEgo:cycler) and (== (send ((send gEgo:cycler)):firstC) 3)))
                        (send global2:setScript(sStandUp))
                    )
                    return 1
                )
                (default 
                    (super:doVerb(theVerb rest param2))
                )
            )
    )


    (method (newRoom newRoomNumber)
        (send gOldWH:delete(global2))
        (if ((== newRoomNumber 320) and ((== global119 14) or (== global119 15)))
            proc0_15(1 16)
        )
        (super:newRoom(newRoomNumber))
    )

)
(instance sCycleColors of Script
    (properties)

    (method (doit param1)
        Palette(palANIMATE 228 233 1)
        (super:doit(rest param1))
        (if (== (fireSound:prevSignal) -1)
            (fireSound:play(self))
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (fireSound:play(self))
            )
            (case 1
                (fireSound:prevSignal(0))
                (self:changeState(0))
            )
        )
    )

)
(instance sStandUp of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                (send gEgo:
                    view(261)
                    setLoop(8)
                    z(0)
                    posn(301 20)
                    setCel(2)
                    setCycle(Beg self)
                )
                proc0_4(82)
            )
            (case 1
                (swing:show())
                (send gEgo:
                    normalize()
                    state(2)
                    posn(293 70)
                    setPri(-1)
                    setScale(Scaler 100 50 175 95)
                    setSpeed(gEgoCycleSpeed)
                    setMotion(MoveTo 273 72 self)
                )
            )
            (case 2
                (bigSwing:
                    init()
                    approachVerbs(4)
                )
                (send gGame:handsOn())
                (swing:stopUpd())
                (send global2:horizon(40))
                (send gOldWH:delete(global2))
                (self:dispose())
            )
        )
    )

)
(instance sFlingIt of Script
    (properties)

    (method (changeState newState)
        (var temp0, temp1)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                (send gEgo:setMotion(PolyPath 118 126 self))
            )
            (case 1
                (throwSound:play())
                (send gEgo:
                    view(261)
                    setLoop(0)
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 2
                (send gEgo:setCycle(End))
                = temp0 Random(14 71)
                = temp1 Random(87 96)
                (bakingSoda:
                    x(93)
                    y(75)
                    init()
                    setPri(6)
                    ignoreActors()
                    approachVerbs(4)
                    setCycle(Fwd)
                    setMotion(JumpTo temp0 temp1 self)
                )
                (throwSound:
                    number(2268)
                    play()
                )
            )
            (case 3
                (send gEgo:
                    normalize()
                    loop(7)
                )
                (send global2:style(100))
                (send client:
                    cel(0)
                    x((bakingSoda:x))
                    y((bakingSoda:y))
                    setPri(6)
                    ignoreActors()
                    setScale(-1 gEgo)
                    init()
                    setCycle(End self)
                )
                (bakingSoda:dispose())
            )
            (case 4
                (send client:stopUpd())
                = cycles 5
            )
            (case 5
                (send gFpMessager:say(15 41 0 0 self))
            )
            (case 6
                (send gGame:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance sEnterRoom of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                = cycles 10
            )
            (case 1
                proc0_3(61)
                proc0_5(gEgo flame1)
                = cycles 5
            )
            (case 2
                (send gFpMessager:say(14 0 0 0 self))
            )
            (case 3
                (send gGame:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance sEgoSwings of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                proc958_0(132 2266)
                (bigSwing:dispose())
                (send global2:horizon(0))
                = gEgoCycleSpeed (send gEgo:cycleSpeed)
                (send gEgo:
                    setSpeed(7)
                    setMotion(MoveTo 301 80 self)
                )
            )
            (case 1
                (swing:hide())
                (send gEgo:
                    view(261)
                    setLoop(8)
                    posn(301 20)
                    cel(0)
                    state(0)
                    setScale(0)
                    setCycle(End self)
                )
                (send gIconBar:disable(0 1 3 5))
                proc0_3(82)
            )
            (case 2
                (send gEgo:
                    view(261)
                    setLoop(1)
                    cel(3)
                    posn(300 100)
                    z(80)
                    cycleSpeed(10)
                    setPri(6)
                )
                (send gOldWH:addToFront(global2))
                (send gGame:handsOn())
                (send gUser:canControl(0))
                (self:dispose())
            )
        )
    )

)
(instance sLandInSwamp of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                (send gOldWH:delete(global2))
                (send gEgo:setCycle(End self))
            )
            (case 1
                (send gEgo:hide())
                (swing:
                    show()
                    setCycle(Swing 1 1 2265 1)
                )
                (jumpSound:
                    number(2266)
                    play()
                )
                = seconds 3
            )
            (case 2
                ShakeScreen(10)
                = seconds 3
            )
            (case 3
                = global122 7
                (send global2:newRoom(99))
                (self:dispose())
            )
        )
    )

)
(instance sHitWall of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                (send gOldWH:delete(global2))
                (if ((== (send gEgo:cel) (send ((send gEgo:cycler)):lastC)) or ((<> (send gEgo:cel) (send ((send gEgo:cycler)):lastC)) and (== (send ((send gEgo:cycler)):cycleDir) 1)))
                    (send gEgo:setCycle(End self))
                )(else
                    = cycles 1
                )
            )
            (case 1
                (send gEgo:setCycle(Beg self))
            )
            (case 2
                (send gEgo:
                    loop(2)
                    z(0)
                    cel(0)
                    posn(257 33)
                    setCycle(CT 1 1 self)
                )
                (swing:
                    show()
                    setCycle(Swing 1 1 2265 1)
                )
                (jumpSound:
                    number(2266)
                    play()
                )
            )
            (case 3
                (send gEgo:
                    setLoop(3)
                    posn(273 33)
                    cel(0)
                    setCycle(CT 2 1 self)
                )
            )
            (case 4
                ShakeScreen(10)
                = ticks 80
            )
            (case 5
                (send gEgo:setCycle(End self))
            )
            (case 6
                = global122 9
                (send global2:newRoom(99))
                (self:dispose())
            )
        )
    )

)
(instance sJumpToRoof of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                (send gOldWH:delete(global2))
                (if ((== (send gEgo:cel) (send ((send gEgo:cycler)):lastC)) or ((<> (send gEgo:cel) (send ((send gEgo:cycler)):lastC)) and (== (send ((send gEgo:cycler)):cycleDir) 1)))
                    (send gEgo:setCycle(End self))
                )(else
                    = cycles 1
                )
            )
            (case 1
                (send gEgo:setCycle(Beg self))
            )
            (case 2
                (jumpSound:
                    number(2266)
                    play()
                )
                (send gEgo:
                    setLoop(2)
                    z(0)
                    cel(0)
                    posn(256 27)
                    setCycle(End self)
                )
                (swing:
                    show()
                    setCycle(Swing 1 1 2265 1)
                )
            )
            (case 3
                (send gEgo:
                    normalize()
                    setSpeed(gEgoCycleSpeed)
                    posn(242 28)
                    setScale(Scaler 100 50 175 95)
                )
                = seconds 2
            )
            (case 4
                (send gIconBar:enable(2))
                (send gIconBar:curIcon((send gIconBar:at(2))))
                (send gGame:setCursor(2))
                (send gUser:canControl(1))
                (send gUser:input(1))
                = local0 1
                (send gGame:points(5))
                proc0_4(82)
                (send global2:horizon(0))
                (self:dispose())
            )
        )
    )

)
(instance sEgoJumps of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                (send gTimers:delete(ScriptID(0 13)))
                (switch (register)
                    (case 2
                        Load(rsVIEW 266)
                        (send gEgo:setMotion(MoveTo 246 20 self))
                    )
                    (case 1
                        (send gEgo:setMotion(MoveTo 273 18 self))
                    )
                    (case 0
                        (send gEgo:setMotion(MoveTo 232 23 self))
                    )
                )
            )
            (case 1
                (send gEgo:
                    setScale(0)
                    setPri(6)
                    view(261)
                    setLoop(
                        (if (register)
                            4
                        )(else
                            7
                        )
)
                    setCel(0)
                    setCycle(CT 4 1 self)
                )
            )
            (case 2
                (jumpSound:
                    number(2267)
                    play()
                )
                (send gEgo:setCycle(CT 8 1 self))
            )
            (case 3
                (switch (register)
                    (case 0
                        = local0 0
                        (send gEgo:setCycle(End self))
                    )
                    (case 1
                        (send gEgo:setCycle(End))
                        (jumpSound:
                            number(2268)
                            play()
                        )
                        (bakingSoda:
                            view(261)
                            setLoop(5)
                            setCycle(Fwd)
                            setMotion(JumpTo 256 57 self)
                        )
                        (if (< (seesaw:cel) 2)
                            (seesaw:setCycle(End))
                        )
                    )
                    (case 2
                        (send gEgo:
                            state(2)
                            setCycle(End)
                        )
                        (jumpSound:
                            number(2268)
                            play()
                        )
                        (bakingSoda:
                            setCycle(Fwd)
                            setMotion(JumpTo 46 14 self)
                        )
                        = local0 0
                        (if (> (seesaw:cel) 0)
                            (seesaw:setCycle(Beg))
                        )
                        ++global119
                    )
                )
            )
            (case 4
                (switch (register)
                    (case 1
                        (send gEgo:
                            posn(263 85)
                            setScale(Scaler 100 50 175 95)
                            normalize()
                        )
                        = cycles 2
                    )
                    (case 2
                        (send gEgo:
                            posn(236 87)
                            setScale(Scaler 100 50 175 95)
                            normalize()
                        )
                        = cycles 2
                    )
                    (case 0
                        = global122 9
                        (send global2:newRoom(99))
                    )
                )
            )
            (case 5
                (switch (register)
                    (case 1
                        (bakingSoda:hide())
                        (send gEgo:
                            view(261)
                            loop(6)
                            cel(0)
                            setScale(0)
                            setCycle(End self)
                        )
                    )
                    (case 2
                        (send ((send global2:obstacles)):
                            delete()
                            dispose()
                        )
                        (bakingSoda:dispose())
                        (jumpSound:
                            number(2264)
                            play()
                        )
                        (splatter:
                            view(266)
                            cel(0)
                            x(25)
                            y(43)
                            init()
                            setPri(15)
                            setCycle(CT 5 1 self)
                        )
                    )
                )
            )
            (case 6
                (if (== register 1)
                    = global122 9
                    (send global2:newRoom(99))
                )(else
                    (burnedShell:
                        init()
                        stopUpd()
                        approachVerbs(4)
                        setPri(5)
                    )
                    (splatter:setCycle(End self))
                    (seesaw:stopUpd())
                    proc0_4(64)
                    (flame1:dispose())
                    (signGlow:dispose())
                    UnLoad(128 264)
                    (send global2:addObstacle((send ((Polygon:new())):
                            type(2)
                            init(0 0 319 0 319 99 278 108 221 97 204 67 211 39 234 49 234 33 206 33 201 66 176 63 144 72 84 33 84 7 48 7 49 43 113 93 0 96)
                            yourself()
                        )
 (send ((Polygon:new())):
                            type(2)
                            init(0 181 251 179 301 141 319 135 319 189 0 189)
                            yourself()
                        )
 (send ((Polygon:new())):
                            type(2)
                            init(0 104 23 104 23 121 0 121)
                            yourself()
                        )
))
                    (send gGameMusic1:fade())
                    (send global2:horizon(40))
                )
            )
            (case 7
                (splatter:dispose())
                = cycles 3
            )
            (case 8
                (send gGameMusic2:
                    number(2701)
                    loop(1)
                    play(self)
                )
            )
            (case 9
                (send gGameMusic2:
                    number(260)
                    loop(-1)
                    play()
                )
                (send gFpMessager:say(23 0 0 0 self))
                (send gGame:points(12))
            )
            (case 10
                (send gGame:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance splatter of Prop
    (properties
        noun 22
        view 262
    )
)
(instance bakingSoda of Actor
    (properties
        noun 24
        approachX 251
        approachY 101
        view 260
        loop 1
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (if (local0 or proc0_2(82))
                    (send gFpMessager:say(noun theVerb 18))
                )(else
                    (send gEgo:get(-1 0 2 self))
                    proc0_4(64)
                    proc0_4(7)
                    proc0_4(8)
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance seesaw of Prop
    (properties
        x 252
        y 79
        z -2
        noun 4
        approachX 251
        approachY 101
        view 260
        loop 2
    )

    (method (handleEvent pEvent)
        (if (proc0_2(82))
            (super:handleEvent(pEvent))
        )(else
            = pEventX (send pEvent:x)
            (super:handleEvent(pEvent))
        )
    )


    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 41
                (if (((== global119 14) and not local0) and not proc0_2(82))
                    proc0_3(64)
                    (if (> pEventX 250)
                        proc0_3(8)
                        (send gGame:points(2 153))
                        (bakingSoda:posn(260 80))
                        (if (< cel 2)
                            (self:setCycle(End))
                        )
                    )(else
                        proc0_3(7)
                        (bakingSoda:posn(233 80))
                        (if (> cel 0)
                            (self:setCycle(Beg))
                        )
                    )
                    (bakingSoda:
                        init()
                        ignoreActors()
                        approachVerbs(4)
                        setPri(6)
                    )
                    (send gEgo:put(0))
                )(else
                    (super:doVerb(theVerb rest param2))
                )
            )
            (case 4
                (if (proc0_2(82))
                    (send gFpMessager:say(noun 4 19))
                )(else
                    (if (local0)
                        (if (proc0_2(7))
                            (send global2:setScript(sEgoJumps 0 1))
                        )(else
                            (if (proc0_2(8))
                                (send global2:setScript(sEgoJumps 0 2))
                            )(else
                                (send global2:setScript(sEgoJumps 0 0))
                            )
                        )
                    )(else
                        (if (== global119 14)
                            (if (not proc0_2(7) and not proc0_2(8))
                                (send gFpMessager:say(noun theVerb 2))
                            )(else
                                (super:doVerb(theVerb rest param2))
                            )
                        )(else
                            (super:doVerb(theVerb rest param2))
                        )
                    )
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance swing of Prop
    (properties
        x 300
        y 60
        z 40
        noun 3
        approachX 271
        approachY 74
        view 260
        loop 4
        signal $1000
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (if ((not proc0_2(82) and not local0) and (== global119 14))
                    (send global2:setScript(sEgoSwings))
                )(else
                    (super:doVerb(theVerb rest param2))
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance flame1 of Prop
    (properties
        x 1
        y 48
        noun 15
        view 264
        cycleSpeed 10
        detailLevel 2
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 41
                (if (not local0 and not proc0_2(82))
                    (send ((splatter:new())):setScript(sFlingIt))
                )(else
                    (send gFpMessager:say(noun theVerb 19))
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance signGlow of Prop
    (properties
        x 3
        y 7
        view 264
        loop 2
        priority 15
        signal $0010
        detailLevel 2
    )
)
(instance schoolDoor of Door
    (properties
        x 210
        y 60
        noun 2
        approachX 199
        approachY 70
        view 260
        locked 1
        openSnd 2146
        closeSnd 2147
        openVerb 4
        moveToX 227
        moveToY 39
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (send gFpMessager:say(noun theVerb))
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance burnedShell of View
    (properties
        x 1
        y 2
        noun 11
        approachX 84
        approachY 98
        approachDist 76
        view 265
    )
)
(instance bigSwing of Feature
    (properties
        x 302
        y 81
        z 40
        noun 3
        nsTop 20
        nsLeft 294
        nsBottom 67
        nsRight 311
        approachX 271
        approachY 74
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (send global2:setScript(sEgoSwings))
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance assayOffice of Feature
    (properties
        x 38
        y 44
        noun 11
        sightAngle 40
        approachX 84
        approachY 98
        approachDist 76
    )

    (method (doVerb theVerb param2)
        (var temp0)
        (if (== global119 14)
            = temp0 4
        )(else
            = temp0 6
        )
        (if (proc999_5(theVerb 1 4))
            (send gFpMessager:say(noun theVerb temp0))
        )(else
            (super:doVerb(theVerb rest param2))
        )
    )

)
(instance school of Feature
    (properties
        x 247
        y 28
        noun 12
        sightAngle 40
        approachX 200
        approachY 84
        approachDist 80
    )

    (method (handleEvent pEvent)
        (asm
            pushi   #curIcon
            pushi   0
            lag     gIconBar
            send    4
            push    
            pushi   #at
            pushi   1
            pushi   2
            lag     gIconBar
            send    6
            eq?     
            bnt     code_1627
            pushi   #state
            pushi   0
            lag     gInv
            send    4
            push    
            ldi     2048
            eq?     
            bnt     code_1627
            pushi   1
            pushi   82
            callb   proc0_2, 2
            bnt     code_1627
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            not     
            bt      code_156c
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            bnt     code_156c
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     3
            eq?     
code_156c:  not     
            bnt     code_1627
            pushi   #claimed
            pushi   1
            pushi   1
            lap     pEvent
            send    6
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_15c1
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_15d0
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     65535
            eq?     
            bnt     code_15d0
code_15c1:  pushi   #setScript
            pushi   1
            lofsa   sHitWall
            push    
            lag     gEgo
            send    6
            jmp     code_1630
code_15d0:  pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #lastC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_1619
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #lastC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_1630
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     1
            eq?     
            bnt     code_1630
code_1619:  pushi   #setScript
            pushi   1
            lofsa   sLandInSwamp
            push    
            lag     gEgo
            send    6
            jmp     code_1630
code_1627:  pushi   #handleEvent
            pushi   1
            lsp     pEvent
            super   Feature, 6
code_1630:  ret     
        )
    )

)
(instance buildings of Feature
    (properties
        x 130
        y 21
        noun 13
        sightAngle 40
        approachX 112
        approachY 61
        approachDist 49
    )
)
(instance street of Feature
    (properties
        x 130
        y 21
        noun 5
        sightAngle 40
        approachX 112
        approachY 61
        approachDist 49
    )
)
(instance slide of Feature
    (properties
        x 130
        y 21
        noun 6
        sightAngle 40
        approachX 112
        approachY 61
        approachDist 49
    )
)
(instance seesawBase of Feature
    (properties
        x 130
        y 21
        noun 4
        sightAngle 40
        approachX 251
        approachY 101
        approachDist 49
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 41
                (if (((== global119 14) and not local0) and not proc0_2(82))
                    proc0_3(64)
                    (if (> pEventX 250)
                        proc0_3(8)
                        (bakingSoda:posn(233 80))
                    )(else
                        proc0_3(7)
                        (bakingSoda:posn(260 72))
                    )
                    (bakingSoda:
                        init()
                        ignoreActors()
                        setPri(6)
                    )
                    (send gEgo:put(0))
                )(else
                    (super:doVerb(theVerb rest param2))
                )
            )
            (case 4
                (if (proc0_2(82))
                    (send gFpMessager:say(noun 4 19))
                )(else
                    (if (local0)
                        (if (proc0_2(7))
                            (send global2:setScript(sEgoJumps 0 1))
                        )(else
                            (if (proc0_2(8))
                                (send global2:setScript(sEgoJumps 0 2))
                            )(else
                                (send global2:setScript(sEgoJumps 0 0))
                            )
                        )
                    )(else
                        (if (== global119 14)
                            (if (not proc0_2(7) and not proc0_2(8))
                                (send gFpMessager:say(noun theVerb 2))
                            )(else
                                (super:doVerb(theVerb rest param2))
                            )
                        )(else
                            (super:doVerb(theVerb rest param2))
                        )
                    )
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance tree of Feature
    (properties
        x 130
        y 21
        noun 7
        sightAngle 40
        approachX 216
        approachY 108
        approachDist 49
    )

    (method (handleEvent pEvent)
        (if ((proc0_2(82) and (< 30 (send pEvent:y))) and (< (send pEvent:y) 62))
            (send pEvent:claimed(1))
        )(else
            (super:handleEvent(pEvent))
        )
    )

)
(instance windowPanes of Feature
    (properties
        x 130
        y 21
        noun 8
        sightAngle 40
        approachX 200
        approachY 84
        approachDist 49
    )

    (method (handleEvent pEvent)
        (asm
            pushi   #curIcon
            pushi   0
            lag     gIconBar
            send    4
            push    
            pushi   #at
            pushi   1
            pushi   2
            lag     gIconBar
            send    6
            eq?     
            bnt     code_18bc
            pushi   #state
            pushi   0
            lag     gInv
            send    4
            push    
            ldi     2048
            eq?     
            bnt     code_18bc
            pushi   1
            pushi   82
            callb   proc0_2, 2
            bnt     code_18bc
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            not     
            bt      code_1801
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            bnt     code_1801
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     3
            eq?     
code_1801:  not     
            bnt     code_18bc
            pushi   #claimed
            pushi   1
            pushi   1
            lap     pEvent
            send    6
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_1856
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_1865
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     65535
            eq?     
            bnt     code_1865
code_1856:  pushi   #setScript
            pushi   1
            lofsa   sHitWall
            push    
            lag     gEgo
            send    6
            jmp     code_18c5
code_1865:  pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #lastC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_18ae
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #lastC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_18c5
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     1
            eq?     
            bnt     code_18c5
code_18ae:  pushi   #setScript
            pushi   1
            lofsa   sLandInSwamp
            push    
            lag     gEgo
            send    6
            jmp     code_18c5
code_18bc:  pushi   #handleEvent
            pushi   1
            lsp     pEvent
            super   Feature, 6
code_18c5:  ret     
        )
    )

)
(instance roof of Feature
    (properties
        x 130
        y 21
        noun 9
        sightAngle 40
        approachX 200
        approachY 84
        approachDist 49
    )

    (method (handleEvent pEvent)
        (asm
            pushi   #curIcon
            pushi   0
            lag     gIconBar
            send    4
            push    
            pushi   #at
            pushi   1
            pushi   2
            lag     gIconBar
            send    6
            eq?     
            bnt     code_1a6f
            pushi   #state
            pushi   0
            lag     gInv
            send    4
            push    
            ldi     2048
            eq?     
            bnt     code_1a6f
            pushi   1
            pushi   82
            callb   proc0_2, 2
            bnt     code_1a6f
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            not     
            bt      code_191c
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            bnt     code_191c
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     3
            eq?     
code_191c:  not     
            bnt     code_1a6f
            pushi   #claimed
            pushi   1
            pushi   1
            lap     pEvent
            send    6
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     0
            eq?     
            bnt     code_1995
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_1986
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_1995
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     65535
            eq?     
            bnt     code_1995
code_1986:  pushi   #setScript
            pushi   1
            lofsa   sJumpToRoof
            push    
            lag     gEgo
            send    6
            jmp     code_1a78
code_1995:  pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     1
            eq?     
            bt      code_19bf
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     2
            eq?     
            bnt     code_1a17
code_19bf:  pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_1a08
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #firstC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_1a17
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     65535
            eq?     
            bnt     code_1a17
code_1a08:  pushi   #setScript
            pushi   1
            lofsa   sHitWall
            push    
            lag     gEgo
            send    6
            jmp     code_1a78
code_1a17:  pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #lastC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            eq?     
            bt      code_1a60
            pushi   #cel
            pushi   0
            lag     gEgo
            send    4
            push    
            pushi   #lastC
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            ne?     
            bnt     code_1a78
            pushi   #cycleDir
            pushi   0
            pushi   #cycler
            pushi   0
            lag     gEgo
            send    4
            send    4
            push    
            ldi     1
            eq?     
            bnt     code_1a78
code_1a60:  pushi   #setScript
            pushi   1
            lofsa   sLandInSwamp
            push    
            lag     gEgo
            send    6
            jmp     code_1a78
code_1a6f:  pushi   #handleEvent
            pushi   1
            lsp     pEvent
            super   Feature, 6
code_1a78:  ret     
        )
    )

)
(instance clutter of Feature
    (properties
        x 130
        y 21
        noun 10
        sightAngle 40
        approachX 160
        approachY 138
        approachDist 49
    )
)
(instance throwSound of FPSound
    (properties
        flags $0001
        number 2264
    )
)
(instance fireSound of FPSound
    (properties
        flags $0001
        number 2269
    )
)
(instance jumpSound of FPSound
    (properties
        flags $0001
        number 2266
    )
)
