(include "sci.sh")
(use "Main")
(use "AnimDialog")
(use "eureka")
(use "Blink")
(use "Scaler")
(use "PolyPath")
(use "Polygon")
(use "CueObj")
(use "n958")
(use "StopWalk")
(use "Grooper")
(use "Sound")
(use "Cycle")
(use "Sounds")
(use "View")
(use "Obj")
(script 240)


(local
    local0[20] = (20 123 148 85 154 30 135 140 164 144 189 123 123 123 123 13 120 141 73 145 )
    local20[24] = (111 134 180 4 110 135 115 133 79 138 90 0 104 136 109 135 155 139 270 1 131 137 126 136 )
    local44[24] = (5 113 135 3 116 133 111 125 2 94 139 1 70 141 38 142 3 139 139 0 164 141 180 141 )
    local68[6] = (112 133 106 135 123 136 )
    local74
    theRegister_2
    theGPEventX_2
    theGPEventY_2
    local78
    local79
    local80
    local81
    local82[4]

)
(procedure public (proc240_1 param1)
    (if (paramTotal)
        = local74 param1
    )
    return local74
)


(procedure public (proc240_6 theTheGPEventX_2 theTheGPEventY_2)
    = theGPEventX_2 theTheGPEventX_2
    = theGPEventY_2 theTheGPEventY_2
)


(procedure public (proc240_7 param1)
    (if (paramTotal)
        = local81 param1
    )
    return local81
)


(procedure public (proc240_25 param1)
    (if (paramTotal)
        = local79 param1
    )
    return local79
)


(procedure public (proc240_26 param1)
    (if (paramTotal)
        = local80 param1
    )
    return local80
)


(procedure public (proc240_28 param1)
    (cliffy:
        view(20)
        setLoop(-1)
        loop(
            (if (paramTotal)
                param1
            )(else
                (cliffy:loop)
            )
)
        setScript(0)
        setCycle(StopWalk -1)
        setLoop(Grooper)
        setScale(Scaler 116 71 149 123)
        setStep(2 2)
        setPri(-1)
        cycleSpeed(6)
        moveSpeed(6)
        detailLevel(0)
    )
)


(procedure public (proc240_29 param1)
    (spike:
        view(242)
        setLoop(-1)
        loop(
            (if (paramTotal)
                param1
            )(else
                (spike:loop)
            )
)
        setScript(0)
        setCycle(Walk)
        setScale(Scaler 85 50 144 122)
        setPri(-1)
        detailLevel(0)
    )
)


(procedure public (proc240_30)
    (if (proc0_1(61))
        (if (<> (send gSq5Music1:number) 20)
            (send gSq5Music1:
                number(20)
                loop(-1)
                play()
            )
        )
    )(else
        (if (proc0_1(84))
            (if (<> (send gSq5Music1:number) 42)
                (send gSq5Music1:
                    number(42)
                    loop(-1)
                    play()
                )
            )
        )(else
            (send gSq5Music1:
                number(101)
                loop(-1)
                play(90)
            )
        )
    )
)


(procedure (localproc_016a)
    (if (== gGModNum 246)
        = global130 8
    )(else
        (if (<> (eureka:puke) 0)
            = global130 0
        )(else
            (if (((== gEurekaCurLocation 4) and not (& global169 $0004)) and (>= global127 3))
                = global169 (| global169 $0004)
                = global130 9
            )(else
                (if (((== gEurekaCurLocation 8) and (<= 700 gGModNum)) and (<= gGModNum 799))
                    proc0_2(103)
                    = global130 11
                )(else
                    (if ((((== gEurekaCurLocation 6) and (<> gGModNum 225)) and (== global142 1)) and not proc0_1(45))
                        = global130 2
                    )(else
                        (if ((== gEurekaCurLocation 3) and (== gGModNum 325))
                            (if ((send gEgo:has(12)))
                                proc0_2(80)
                                (if (& global169 $0020)
                                    (if (== global170 1)
                                        = global130 4
                                    )(else
                                        = global130 2
                                    )
                                )(else
                                    = global130 10
                                )
                            )(else
                                (if (not & global169 $0020)
                                    = global130 13
                                )(else
                                    (if (== global170 1)
                                        = global130 4
                                    )(else
                                        = global130 2
                                    )
                                )
                            )
                        )(else
                            (if (((== global130 7) or ((== global170 1) and (<> global130 0))) or ((== global130 6) and (== gGModNum 225)))
                                = global170 1
                                = global130 4
                            )(else
                                (if ((== gEurekaCurLocation 14) and (== (eureka:puke) 0))
                                    = global130 8
                                )
                            )
                        )
                    )
                )
            )
        )
    )
)


(instance public rm240 of Rm
    (properties
        noun 19
        picture 43
        style 10
        vanishingX 81
        vanishingY 87
    )

    (method (init)
        (var temp0)
        (if (== (send gSq5Music2:number) 105)
            (theMusic3:
                number(105)
                loop(-1)
                play()
            )
            (send gSq5Music2:stop())
        )
        (if (== gGModNum 1040)
            (eureka:puke(1))
        )
        proc958_0(128 0 259 250)
        (send gEgo:
            view(0)
            actions(0)
        )
        (send gRoom:setRegions(210))
        (if (== gGModNum 246)
            = style 100
        )
        (super:init())
        (if (proc0_1(57))
            (stain:addToPic())
        )
        (tkrRoger:normal(1))
        (tkrCliffy:normal(1))
        (send (ScriptID(244 0)):doit())
        (tank:
            init()
            setOnMeCheck(1 8)
        )
        (cryoDoor:init())
        (chamber:init())
        (cryoButton:
            init()
            setOnMeCheck(1 4)
        )
        (thePad:
            init()
            setOnMeCheck(1 2)
        )
        (tankTop:init())
        (send gWalkHandler:addToFront(self))
        (send gWalkHandler:addToFront(thePad))
        (send gWalkHandler:addToFront(northDoor))
        (send gDirectionHandler:addToFront(self))
        (northDoor:init())
        (send gRoom:addObstacle((send ((Polygon:new())):
                type(3)
                init(19 157 82 157 84 131 144 131 174 153 233 153 233 148 202 134 161 134 150 127 181 127 175 125 154 125 150 122 128 122 132 125 113 125 112 122 94 122 94 125 19 125)
                yourself()
            )
))
        (cliffy:init())
        (droole:init())
        (flo:init())
        (wd40:init())
        (spike:init())
        proc240_30()
        (if (== global164 9)
            (bea:init())
        )
        (if (== gGModNum 246)
            proc0_6(0 2)
            (send gEgo:
                init()
                x(225)
                y(146)
                setScale(Scaler 116 71 149 123)
            )
            (send gSQ5:handsOn())
        )(else
            (if (== (eureka:puke) 7)
                (send gEgo:
                    init()
                    view(239)
                    loop(3)
                    cel(0)
                    setPri(1)
                    posn(42 138)
                    setScale(0)
                )
                (self:setScript(ScriptID(245 0)))
            )(else
                (if (== gGModNum 241)
                    proc0_6(0 2)
                    (send gEgo:
                        init()
                        loop(2)
                        posn(170 126)
                        setScale(Scaler 116 71 149 123)
                    )
                    (send gSQ5:handsOn())
                )(else
                    (if ((<= 300 gGModNum) and (<= gGModNum 399))
                        (switch (gGModNum)
                            (case 300
                                proc0_10(175 175)
                                (if ((send gEgo:has(20)) and (== global130 4))
                                    (send gRoom:setScript(ScriptID(243 14)))
                                )(else
                                    = theRegister_2 2
                                    (send gRoom:setScript(beamRoger 0 1))
                                )
                            )
                            (case 325
                                (if ((send gEgo:has(12)))
                                    (send gRoom:setScript(ScriptID(243 21)))
                                )(else
                                    (if (& global169 $0020)
                                        = theRegister_2 2
                                        (send gRoom:setScript(beamRoger 0 1))
                                    )(else
                                        (send gRoom:setScript(ScriptID(243 31)))
                                    )
                                )
                            )
                        )
                    )(else
                        (if ((== gEurekaCurLocation 6) and (<> gGModNum 225))
                            (if ((== global142 1) and not proc0_1(45))
                                = local74 0
                                proc958_0(128 256 255 257 258 259)
                                (send gRoom:setScript(ScriptID(243 1)))
                            )(else
                                (send gRoom:setScript(ScriptID(243 29)))
                            )
                        )(else
                            (if (((== gEurekaCurLocation 8) and (<> gGModNum 225)) and not (& global169 $0002))
                                proc958_0(128 6 20 0)
                                (self:setScript(ScriptID(243 23)))
                            )(else
                                (if (((== gEurekaCurLocation 8) and (<= 700 gGModNum)) and (<= gGModNum 799))
                                    (self:setScript(ScriptID(243 31)))
                                )(else
                                    (if (proc999_5(gGModNum 300 325 500 400 410 420 730 760 1040))
                                        = theRegister_2 2
                                        (send gRoom:setScript(beamRoger 0 1))
                                    )(else
                                        proc0_6(0 2)
                                        (send gEgo:
                                            init()
                                            setLoop(2)
                                            posn(41 119)
                                            setPri(1)
                                            setScale(Scaler 116 71 149 123)
                                        )
                                        (send gRoom:setScript(enterRoom))
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )


    (method (doit param1)
        (super:doit(rest param1))
        (if (script)
            0
        )(else
            (if (proc0_5(gEgo 16) and (== global126 3))
                (self:setScript(ScriptID(243 8)))
            )
        )
    )


    (method (dispose param1)
        (send gEgo:setScript(0))
        (send gWalkHandler:delete(northDoor))
        (send gWalkHandler:delete(self))
        (send gWalkHandler:delete(thePad))
        (send gDirectionHandler:delete(self))
        DisposeScript(956)
        DisposeScript(969)
        DisposeScript(991)
        DisposeScript(243)
        DisposeScript(244)
        DisposeScript(245)
        (if (== (theMusic3:number) 105)
            (send gSq5Music2:
                number(105)
                loop(-1)
                play()
            )
            (theMusic3:stop())
        )
        (super:dispose(rest param1))
    )


    (method (doVerb param1 param2)
        = theGPEventX_2 gPEventX
        = theGPEventY_2 gPEventY
        return 
            (switch (param1)
                (case 3
                    (
                    (if (local81)
                        (send gTestMessager:say(noun 3 13 0))
                        return 1
                    )(else
                        (if (local74)
                            (if (proc999_4(66 120 159 131 gPEventX gPEventY))
                                (send gRoom:setScript(getOffPad 0 0))
                                return 1
                            )(else
                                (if (< gPEventX 113)
                                    (send gRoom:setScript(getOffPad 0 1))
                                    return 1
                                )(else
                                    (send gRoom:setScript(getOffPad 0 2))
                                    return 1
                                )
                            )
                        )(else
                            (super:doVerb(param1 rest param2))
                        )
                    )
 )
                )
                (case 2
                    (
                    (if (local74)
                        (send gRoom:setScript(beamRoger 0 0))
                    )(else
                        (super:doVerb(param1 rest param2))
                    )
 )
                )
                (default 
                    ((super:doVerb(param1 rest param2)) )
                )
            )
    )

)
(instance droole of Actor
    (properties
        x 133
        y 140
        noun 13
        view 31
        signal 24576
    )

    (method (init param1)
        (if (((not proc0_1(76) and (== gEurekaCurLocation 5)) and (== gGModNum 225)) and proc0_1(30))
            (super:init(rest param1))
            (self:cel((self:lastCel())))
        )(else
            (if ((not proc0_1(74) and (== gEurekaCurLocation 4)) and (>= global127 3))
                (super:init(rest param1))
                (self:cel((self:lastCel())))
            )
        )
    )


    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                ((send gTestMessager:say(noun 2 14 0))  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )


    (method (cue)
        (if ((<= 400 gGModNum) and (<= gGModNum 499))
            (self:setScript(extraLeaves 0 self))
        )(else
            (if (proc999_5(gEurekaCurLocation 4))
                (self:dispose())
            )
        )
    )

)
(instance flo of Actor
    (properties
        x 126
        y 140
        view 32
        signal 24576
    )

    (method (init param1)
        (if ((not proc0_1(74) and (== gEurekaCurLocation 4)) and (>= global127 3))
            (super:init(rest param1))
            (self:cel((self:lastCel())))
        )
    )


    (method (cue)
        (if (== gEurekaCurLocation 4)
            (self:dispose())
        )
    )

)
(instance public cliffy of Actor
    (properties
        x 122
        y 145
        noun 5
        yStep 1
        view 33
        signal 24576
        xStep 2
    )

    (method (init param1)
        = local78 53
        localproc_016a()
        (if (== global130 9)
            (self:
                view(33)
                loop(0)
                posn(122 145)
                cel((self:lastCel()))
                detailLevel(0)
            )
            (super:init(rest param1))
        )(else
            (if (== global130 11)
                (self:
                    view(33)
                    loop(0)
                    detailLevel(0)
                    posn(122 145)
                    cel(0)
                )
                (if (< global164 8)
                    = local78 5
                )(else
                    = local78 53
                )
                (super:init(rest param1))
            )(else
                (if (== global130 13)
                    (self:
                        view(33)
                        loop(0)
                        detailLevel(0)
                        posn(122 145)
                        cel(0)
                    )
                    (super:init(rest param1))
                )(else
                    (if (== global130 2)
                        (super:init(rest param1))
                        (self:
                            view(191)
                            loop(0)
                            x(239)
                            y(164)
                            detailLevel(2)
                            setPri(13)
                            setScale(Scaler 116 71 149 123)
                            setScript(bang)
                        )
                    )(else
                        (if (== global130 4)
                            (super:init(rest param1))
                            (self:
                                view(248)
                                loop(0)
                                cel(0)
                                x(226)
                                y(170)
                                detailLevel(2)
                                setPri(13)
                                setScale(Scaler 116 71 149 123)
                                setCycle(Fwd)
                                setScript(bang)
                            )
                            = local78 6
                        )(else
                            (if (proc999_5(global130 5 12 8))
                                (self:
                                    view(26)
                                    loop(0)
                                    cel(0)
                                    posn(238 162)
                                    setScale(Scaler 116 71 149 123)
                                    setScript(bang)
                                )
                                (if (== global130 5)
                                    = local78 5
                                )(else
                                    = local78 8
                                )
                                (super:init(rest param1))
                            )(else
                                (if (== global130 10)
                                    proc0_2(80)
                                    (self:
                                        view(21)
                                        loop(11)
                                        cel(0)
                                        detailLevel(0)
                                        scaleSignal(1)
                                        scaleX(120)
                                        scaleY(120)
                                        posn(92 77)
                                    )
                                    (super:init(rest param1))
                                )
                            )
                        )
                    )
                )
            )
        )
    )


    (method (doVerb param1 param2)
        (if (== param1 2)
            (if (== global130 5)
                (send gRoom:setScript(ScriptID(243 27)))
            )(else
                (if (== global130 8)
                    (send gRoom:setScript(ScriptID(243 28)))
                )(else
                    (if (proc0_1(61))
                        (send gTestMessager:say(5 2 52 0))
                    )(else
                        (if (GetMessage(2 240 noun param1 local78 1))
                            (send gTestMessager:say(noun param1 local78 0))
                        )(else
                            (super:doVerb(param1 rest param2))
                        )
                    )
                )
            )
        )(else
            (if (GetMessage(2 240 noun param1 local78 1))
                (send gTestMessager:say(noun param1 local78 0))
            )(else
                (super:doVerb(param1 rest param2))
            )
        )
    )


    (method (cue)
        (if (== global130 9)
            = global130 0
            (self:dispose())
        )
    )

)
(instance extraView of View
    (properties
        x 256
        y 143
        view 248
        loop 2
        cel 1
        priority 1
        signal 16400
    )
)
(instance stain of View
    (properties
        x 249
        y 87
        noun 23
        view 247
        loop 1
        priority 11
        signal 16400
    )

    (method (doVerb param1)
        (tank:doVerb(rest param1))
    )

)
(instance public spike of Actor
    (properties
        noun 22
        view 244
        signal 16384
    )

    (method (init param1 param2)
        (switch (global126)
            (case 7
                ((self:
                    view(245)
                    loop(0)
                    cel(0)
                    posn(197 139)
                    setPri(10)
                    x(185)
                    y(115)
                    setScale(Scaler 116 71 149 123)
                )
 (super:init(rest param2))  )
            )
            (case 2
                ((self:
                    view(244)
                    loop(2)
                    cel(0)
                    x(253)
                    y(101)
                    setPri(11)
                    setScale(0)
                    detailLevel(3)
                    setCycle(Fwd)
                )
 (super:init()) (bubbles:
                    setCycle(Fwd)
                    init()
                )
  )
            )
            (case 3
                ((spike:
                    view(242)
                    x(146)
                    y(181)
                )
 )
            )
        )
        (if (paramTotal and param1)
            (super:init())
        )
    )


    (method (doVerb param1 param2)
        (if (== global126 2)
            (tank:doVerb(param1 rest param2))
        )(else
            (if ((== global126 7) and (== param1 2))
                (send gRoom:setScript(ScriptID(243 27)))
            )(else
                (super:doVerb(param1 rest param2))
            )
        )
    )

)
(instance wd40 of Actor
    (properties
        x 113
        y 139
        noun 28
        view 248
        signal 24576
        detailLevel 3
    )

    (method (init param1)
        (if (== global170 1)
            (self:
                view(248)
                loop(2)
                cel(0)
                x(255)
                y(144)
                setPri(13)
                noun(27)
            )
            (extraView:
                noun(19)
                addToPic()
            )
            (super:init(rest param1))
        )(else
            (if ((== global170 2) and (== (eureka:puke) 0))
                (self:
                    view(265)
                    loop(0)
                    x(124)
                    y(107)
                    setScale(0)
                    cycleSpeed(15)
                    noun(28)
                    setCycle(Fwd)
                )
                (super:init(rest param1))
                (extraView:
                    view(265)
                    loop(1)
                    cel(0)
                    x(124)
                    y(107)
                    noun(28)
                    addToPic()
                )
            )
        )
    )


    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                (
                (if (== gEurekaCurLocation 5)
                    (send gTestMessager:say(noun 2 50 0))
                )(else
                    (if (((== gEurekaCurLocation 6) and proc0_1(63)) and (< global164 1))
                        (send gTestMessager:say(noun 2 47 0))
                    )(else
                        (if ((== gEurekaCurLocation 8) and not proc0_1(75))
                            (send gTestMessager:say(noun 2 45 0))
                        )(else
                            (if (proc0_1(80) and (== global164 8))
                                (send gTestMessager:say(noun 2 49 0))
                            )(else
                                (if (not proc0_1(80) and (== global164 8))
                                    (send gTestMessager:say(noun 2 48 0))
                                )(else
                                    (if (== noun 28)
                                        (send gTestMessager:say(noun 2 41 0))
                                    )(else
                                        (super:doVerb(param1 rest param2))
                                    )
                                )
                            )
                        )
                    )
                )
 )
            )
            (default 
                (
                (if (GetMessage(2 240 noun param1 41 1))
                    (send gTestMessager:say(noun param1 41 0))
                )(else
                    (super:doVerb(param1 rest param2))
                )
 )
            )
        )
    )

)
(instance lookInChamber of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if (local74)
                    (self:setScript(getOffPad self 2))
                )(else
                    = cycles 1
                )
 )
            )
            (case 1
                ((send gEgo:setMotion(PolyPath 170 126 self))  )
            )
            (case 2
                ((send gSQ5:handsOn()) (send gRoom:newRoom(241)) )
            )
        )
    )

)
(instance public chamber of Actor
    (properties
        x 241
        y 132
        view 259
        loop 2
        cel 1
        priority 9
        signal 22544
    )

    (method (init param1)
        (if (((== gEurekaCurLocation 14) and (> (eureka:puke) 2)) and proc999_5(global164 8 10))
            (self:
                view(24)
                loop(1)
                posn(203 132)
                setCycle(Fwd)
            )
            = global164 10
            (super:init(rest param1))
        )(else
            (if (proc0_1(44))
                (self:
                    view(259)
                    loop(2)
                    x(202)
                    y(132)
                    setPri(10)
                    cel(
                        (if (proc0_1(45))
                            0
                        )(else
                            1
                        )
)
                )
                (super:init(rest param1))
                (self:stopUpd())
            )(else
                (if (== (send gRoom:script) openBox)
                    (super:init(rest param1))
                )
            )
        )
        = noun 
            (switch (global164)
                (case 1
                    (7  )
                )
                (case 8
                    (8  )
                )
                (case 10
                    (6  )
                )
                (case 2
                    (12  )
                )
                (default 
                    (11 )
                )
            )
    )


    (method (doVerb param1 param2)
        (switch (param1)
            (case 1
                (
                (if (== global164 8)
                    (send gTestMessager:say(8 1 0 0))
                )(else
                    (if (local81)
                        (send gTestMessager:say(11 1 13 0))
                    )(else
                        (if (== global164 9)
                            (send gTestMessager:say(11 1 0 0))
                        )(else
                            (if (== global164 10)
                                (send gTestMessager:say(6 1 0 0))
                            )(else
                                (if (proc0_1(45) and (== view 259))
                                    (send gRoom:setScript(lookInChamber))
                                )(else
                                    (super:doVerb(param1 rest param2))
                                )
                            )
                        )
                    )
                )
 )
            )
            (case 4
                (
                (if (== global164 8)
                    (send gTestMessager:say(8 4 0 0))
                )(else
                    (if (== global164 10)
                        (send gRoom:setScript(ScriptID(245 1)))
                    )(else
                        (if (== global164 9)
                            (send gTestMessager:say(7 4 11 0))
                        )(else
                            (if (proc0_1(45))
                                (if (== view 259)
                                    (if (== global130 5)
                                        (send gTestMessager:say(7 4 8 0))
                                    )(else
                                        (if (proc999_5(global164 2 1))
                                            (send gRoom:setScript(ScriptID(243 4)))
                                        )(else
                                            (send gTestMessager:say(7 4 11 0))
                                        )
                                    )
                                )(else
                                    (send gRoom:setScript(ScriptID(243 6)))
                                )
                            )(else
                                (if ((send gCast:contains(bea)) or local81)
                                    (if ((== view 259) and (== cel 1))
                                        (if (local81)
                                            (send gTestMessager:say(11 4 13 0))
                                        )(else
                                            (send gRoom:setScript(ScriptID(243 4)))
                                        )
                                    )(else
                                        (if (local81)
                                            (send gRoom:setScript(ScriptID(243 2)))
                                        )(else
                                            (send gTestMessager:say(11 4 12 0))
                                        )
                                    )
                                )(else
                                    (send gTestMessager:say(7 4 11 0))
                                )
                            )
                        )
                    )
                )
 )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )


    (method (setCycle param1 param2)
        (if (param1)
            (send gSq5Music2:
                number(103)
                loop(1)
                play()
            )
        )
        (super:setCycle(param1 rest param2))
    )


    (method (setMotion param1 param2)
        (if (param1)
            (send gSq5Music2:
                number(160)
                loop(1)
                play()
            )
        )
        (super:setMotion(param1 rest param2))
    )

)
(instance public tankTop of Prop
    (properties
        x 233
        y 87
        view 244
        loop 4
        signal 16384
    )

    (method (init param1 param2)
        (if (proc0_1(43))
            = cel (self:lastCel())
            (super:init(rest param2))
            (self:stopUpd())
        )(else
            = cel 0
        )
        (if (paramTotal and param1)
            (super:init(rest param2))
            (self:startUpd())
        )
    )


    (method (doVerb param1 param2)
        (tank:doVerb(param1 rest param2))
    )


    (method (setCycle param1 param2)
        (if (param1)
            (send gSq5Music2:
                number(108)
                loop(1)
                play()
            )
        )
        (super:setCycle(param1 rest param2))
    )

)
(instance public bubbles of Prop
    (properties
        x 254
        y 101
        view 244
        loop 3
        priority 12
        signal 16400
        detailLevel 3
    )
)
(instance cryoDoor of Prop
    (properties
        x 224
        y 99
        noun 10
        view 259
        loop 1
        priority 10
        signal 22544
    )

    (method (init param1)
        (if (not proc0_1(44))
            (if (== (send gRoom:script) closeBox)
                (self:cel((self:lastCel())))
            )
            (super:init(rest param1))
        )
        (self:stopUpd())
    )


    (method (setCycle param1 param2)
        (if (param1)
            (send gSq5Music2:
                number(103)
                loop(1)
                play()
            )
        )
        (super:setCycle(param1 rest param2))
    )

)
(instance public bea of Actor
    (properties
        x 97
        y 186
        z 50
        view 256
        loop 1
        priority 15
        signal 16400
    )

    (method (init param1)
        (if (== global164 9)
            (self:
                view(25)
                loop(0)
                cel(15)
                posn(128 143 0)
                noun(4)
                setScale(Scaler 116 71 149 123)
            )
        )(else
            (self:stopUpd())
            = noun 3
        )
        (super:init(rest param1))
    )


    (method (doVerb param1 param2)
        (switch (param1)
            (case 4
                (
                (if (== global164 9)
                    (super:doVerb(param1))
                )(else
                    (send gRoom:setScript(ScriptID(243 5)))
                )
 )
            )
            (case 2
                (
                (if (== noun 4)
                    (if (proc0_1(72))
                        (send gTestMessager:say(noun 2 46 0))
                    )(else
                        (send gTestMessager:say(noun 2 58 0))
                    )
                )(else
                    (super:doVerb(param1 rest param2))
                )
 )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance extraLeaves of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send register:
                    view(local0[+ (= temp0 
                            (switch (register)
                                (case cliffy
                                    (0  )
                                )
                                (case droole
                                    (5  )
                                )
                                (case wd40
                                    (15 )
                                )
                            )
) 0])
                    loop(2)
                    setCycle(StopWalk -1)
                    setLoop(Grooper)
                    setScale(Scaler 116 71 149 123)
                    posn(local0[+ temp0 1] local0[+ temp0 2])
                    setMotion(MoveTo local0[+ temp0 3] local0[+ temp0 4] self)
                )
  )
            )
            (case 1
                ((send register:setMotion(PolyPath 44 127 self))  )
            )
            (case 2
                ((northDoor:setCycle(End self))  )
            )
            (case 3
                ((send register:
                    setPri(0)
                    setMotion(MoveTo 45 120 self)
                )
  )
            )
            (case 4
                ((northDoor:setCycle(Beg self))  )
            )
            (case 5
                ((northDoor:stopUpd()) (send gSQ5:handsOn()) (send register:dispose()) (self:dispose()) )
            )
        )
    )

)
(instance enterRoom of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send gEgo:setMotion(MoveTo 41 130 self))  )
            )
            (case 1
                ((send gEgo:
                    setPri(-1)
                    setLoop(-1)
                )
 (northDoor:setCycle(Beg self))  )
            )
            (case 2
                (
                (if (== global130 9)
                    (send gSq5Music2:
                        number(260)
                        loop(1)
                        play()
                    )
                    (cliffy:setCycle(Beg cliffy))
                    (flo:setCycle(Beg flo))
                    (droole:setCycle(Beg droole))
                    = seconds 4
                )(else
                    = cycles 1
                )
 )
            )
            (case 3
                (
                (switch (global130)
                    (case 5
                        ((send gTestMessager:say(5 2 9 0 self))  )
                    )
                    (case 12
                        ((send gTestMessager:say(5 2 10 0 self))  )
                    )
                    (default 
                        (= cycles 1 )
                    )
                )
  )
            )
            (case 4
                ((northDoor:stopUpd()) 
                (if ((send gEgo:has(20)) and (== global130 4))
                    = next ScriptID(243 14)
                )(else
                    (if ((== global130 8) and not (& global169 $0008))
                        = next ScriptID(243 28)
                    )(else
                        (send gSQ5:handsOn())
                    )
                )
 (self:dispose()) )
            )
        )
    )

)
(instance public bang of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if (< (send gSQ5:detailLevel()) (cliffy:detailLevel()))
                    (cliffy:stopUpd())
                    --state
                )(else
                    (cliffy:startUpd())
                    (switch ((cliffy:view))
                        (case 191
                            (cliffy:setLoop(Random(0 3)))
                            (if (== (cliffy:loop) 2)
                                (cliffy:setLoop(4))
                            )
                            = register Random(3 7)
                        )
                        (case 26
                            (cliffy:setLoop(Random(0 2)))
                            = register 1
                        )
                        (default 
                            (cliffy:setLoop(Random(0 1)))
                            = register Random(3 7)
                        )
                    )
                )
 = cycles 1  )
            )
            (case 1
                ((cliffy:
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 2
                (
                (if (--register)
                    = state (- state 2)
                )(else
                    = state (- state 3)
                )
 
                (switch ((cliffy:view))
                    (case 191
                        (40 (theMusic3:
                            x
                            loop(1)
                            play(self)
                        )
  )
                    )
                    (case 26
                        (= seconds 5  )
                    )
                    (default 
                        ((theMusic3:
                            number(
                                (if ((cliffy:loop))
                                    230
                                )(else
                                    232
                                )
)
                            loop(1)
                            play(self)
                        )
 )
                    )
                )
 )
            )
        )
    )

)
(instance exitRoom of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if (local74)
                    (self:setScript(getOffPad self 1))
                )(else
                    = cycles 1
                )
 )
            )
            (case 1
                ((send gEgo:setMotion(PolyPath 41 130 self))  )
            )
            (case 2
                ((send gEgo:setHeading(0 self))  )
            )
            (case 3
                (
                (if ((send gEgo:has(8)))
                    = state 0
                    (if (not proc0_1(56))
                        (self:setScript(ScriptID(243 26) self))
                    )(else
                        (self:setScript(putSpikeBack self))
                    )
                )(else
                    (if ((== global126 2) and not proc0_1(56))
                        (self:setScript(ScriptID(243 10) self))
                    )(else
                        = cycles 1
                    )
                )
 )
            )
            (case 4
                ((northDoor:setCycle(End self))  )
            )
            (case 5
                ((send gEgo:
                    setPri(1)
                    setLoop(3)
                    setMotion(MoveTo 41 119 self)
                )
  )
            )
            (case 6
                (
                (if ((send gAddToPics:contains(stain)))
                    proc0_3(57)
                )
 
                (switch (global126)
                    (case 5
                        (= global126 4  )
                    )
                    (case 2
                        (
                        (if (not proc0_1(56))
                            proc0_2(57)
                            = global126 4
                        )
 )
                    )
                )
 (send gRoom:newRoom(225)) )
            )
        )
    )

)
(instance public getOnPad of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if (== client gRoom)
                    (send gSQ5:handsOff())
                )
 = theRegister_2 register (send gEgo:setMotion(PolyPath local20[register] local20[(+ (= register (* register 8)) 1)] self))  )
            )
            (case 1
                ((send gEgo:setHeading(local20[(+ register 2)] self))  )
            )
            (case 2
                ((send gEgo:
                    view(250)
                    cel(0)
                    loop(local20[+ register 3])
                    posn(local20[+ register 4] local20[+ register 5])
                    setCycle(End self)
                )
  )
            )
            (case 3
                (proc0_6(0 2) (send gEgo:
                    setScale(0)
                    heading(180)
                    posn(local20[+ register 6] local20[+ register 7])
                )
 = local74 1 
                (if (== client gRoom)
                    (send gSQ5:handsOn())
                )
 (self:dispose()) )
            )
        )
    )

)
(instance public getOffPad of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = register (* register 8) (send gEgo:
                    heading(180)
                    setMotion(MoveTo local20[+ register 6] local20[+ register 7] self)
                )
  )
            )
            (case 1
                ((send gEgo:
                    view(250)
                    cel(0)
                    loop(local44[register])
                    posn(local44[+ register 1] local44[+ register 2])
                    setCycle(End self)
                )
  )
            )
            (case 2
                (proc0_6(0 local44[+ register 3]) (send gEgo:
                    setScale(Scaler 116 71 149 123)
                    setPri(10)
                    posn(local44[+ register 4] local44[+ register 5])
                    setMotion(MoveTo local44[+ register 6] local44[+ register 7] self)
                )
  )
            )
            (case 3
                ((send gEgo:setPri(-1)) = local74 0 
                (if (== client gRoom)
                    (send gEgo:setMotion(PolyPath theGPEventX_2 theGPEventY_2))
                    (send gSQ5:handsOn())
                )
 (self:dispose()) )
            )
        )
    )

)
(instance putSpikeBack of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gTestMessager:say(22 0 32 0 self))  )
            )
            (case 1
                ((self:setScript(ScriptID(243 9) self))  )
            )
            (case 2
                ((self:setScript(openTank self))  )
            )
            (case 3
                ((self:dispose()) )
            )
        )
    )

)
(instance beamRoger of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if ((send gEgo:has(8)) and not proc999_5(gEurekaCurLocation 4 14))
                    (self:setScript(putSpikeBack self))
                )(else
                    = state (+ state 1)
                    = cycles 2
                )
 )
            )
            (case 1
                ((self:setScript(getOnPad self 2))  )
            )
            (case 2
                (
                (if (not register)
                    (send gTestMessager:say(18 2 26 0 self))
                )(else
                    = cycles 1
                )
 )
            )
            (case 3
                (
                (if ((<> gEurekaCurLocation 14) and proc0_1(84))
                    = cycles 1
                )(else
                    (if (((== (eureka:puke) 7) and (== global126 2)) and not register)
                        (self:setScript(ScriptID(245 2) self))
                    )(else
                        (if (((== gEurekaCurLocation 8) and proc0_1(75)) and not register)
                            (self:setScript(ScriptID(243 24) self))
                        )(else
                            (if ((((((== gEurekaCurLocation 3) and proc0_1(9)) and not (& global169 $0020)) and not proc0_1(80)) and not register) and (<> global130 0))
                                (self:setScript(ScriptID(243 24) self))
                            )(else
                                = cycles 1
                            )
                        )
                    )
                )
 )
            )
            (case 4
                ((send gEgo:
                    view(6)
                    loop(0)
                    posn(local68[* theRegister_2 2] local68[+ (* theRegister_2 2) 1])
                )
 
                (if (register)
                    (send gEgo:
                        setScale(Scaler 116 71 149 123)
                        init()
                    )
                    (if (Random(0 2))
                        (send gEgo:
                            cel(0)
                            cycleSpeed(6)
                            setCycle(End self)
                        )
                        (send gSq5Music2:
                            number(260)
                            loop(1)
                            play()
                        )
                    )(else
                        (self:setScript(ScriptID(243 30) self))
                    )
                )(else
                    (send gEgo:
                        cel((send gEgo:lastCel()))
                        setCycle(Beg self)
                    )
                    (send gSq5Music2:
                        number(260)
                        loop(1)
                        play()
                    )
                    (if ((send gCast:contains(droole)) and (== (droole:view) 31))
                        (droole:setCycle(Beg droole))
                    )
                    (if ((send gCast:contains(cliffy)) and (== (cliffy:view) 33))
                        (cliffy:setCycle(Beg cliffy))
                    )
                    (if ((== global164 9) and (send gCast:contains(bea)))
                        (bea:setCycle(Beg))
                    )
                )
 )
            )
            (case 5
                ((send gSq5Music2:stop()) proc240_30() 
                (if ((<> gEurekaCurLocation 14) and proc0_1(84))
                    proc0_9(11)
                )(else
                    (if ((== gEurekaCurLocation 8) and not proc0_1(75))
                        = next ScriptID(243 13)
                        (self:dispose())
                    )(else
                        (if ((((== gEurekaCurLocation 14) and (<= 2 (eureka:puke))) and (<= (eureka:puke) 6)) and not register)
                            = next ScriptID(243 13)
                            (self:dispose())
                        )(else
                            (if (((proc0_1(63) and proc0_1(76)) and proc0_1(75)) and (== global164 1))
                                = next ScriptID(243 23)
                                (self:dispose())
                            )(else
                                (if (register)
                                    proc0_6(0 2)
                                    (send gEgo:
                                        setScale(0)
                                        heading(180)
                                        posn(local20[+ (* theRegister_2 8) 6] local20[+ (* theRegister_2 8) 7])
                                    )
                                    = local74 1
                                    (if (not (extraLeaves:client))
                                        (send gSQ5:handsOn())
                                    )
                                    (if ((== gEurekaCurLocation 14) and (== (eureka:puke) 1))
                                        (send gTestMessager:say(29 2 55 0))
                                    )
                                    (self:dispose())
                                )(else
                                    (send gEgo:hide())
                                    = local74 0
                                    = seconds 3
                                )
                            )
                        )
                    )
                )
 )
            )
            (case 6
                ((send gEgo:get(10)) 
                (if ((<> gEurekaCurLocation 14) and proc0_1(84))
                    proc0_9(11)
                )(else
                    (switch (gEurekaCurLocation)
                        (case 3
                            (if (proc0_1(9) and not proc0_1(89))
                                (send gRoom:newRoom(325))
                            )(else
                                proc0_3(61)
                                (send gRoom:newRoom(300))
                            )
                        )
                        (case 4
                            (if (< global127 3)
                                = next ScriptID(243 25)
                                (self:dispose())
                            )(else
                                proc0_2(74)
                                (send gRoom:newRoom(500))
                            )
                        )
                        (case 5
                            (if (not proc0_1(30))
                                = next ScriptID(243 25)
                                (self:dispose())
                            )(else
                                (send gRoom:newRoom(410))
                            )
                        )
                        (case 7
                            = next ScriptID(243 25)
                            (self:dispose())
                        )
                        (case 8
                            (if (proc0_1(75))
                                (send gRoom:newRoom(730))
                            )(else
                                (send gRoom:newRoom(760))
                            )
                        )
                        (case 6
                            (send gRoom:newRoom(620))
                        )
                        (case 14
                            (if (== (eureka:puke) 7)
                                (if (== global164 9)
                                    (if (proc0_1(59))
                                        (send gRoom:newRoom(1040))
                                    )(else
                                        (send gRoom:newRoom(1001))
                                    )
                                )(else
                                    proc0_9(37)
                                )
                            )(else
                                (if ((< 0 (eureka:puke)) and (< (eureka:puke) 7))
                                    proc0_9(48)
                                )(else
                                    = next ScriptID(243 25)
                                    (self:dispose())
                                )
                            )
                        )
                        (default 
                            (if (proc999_5(gEurekaCurLocation 9 10 11 12 13))
                                proc0_9(50)
                            )(else
                                proc0_9(45)
                            )
                        )
                    )
                )
 )
            )
        )
    )

)
(instance public openTank of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if (== client gRoom)
                    (send gSQ5:handsOff())
                )
 
                (if (local74)
                    (self:setScript(getOffPad self 2))
                )(else
                    = cycles 1
                )
 )
            )
            (case 1
                ((send gEgo:setMotion(PolyPath 223 146 self))  )
            )
            (case 2
                ((send gEgo:setHeading(45 self))  )
            )
            (case 3
                ((send gEgo:
                    view(243)
                    loop(0)
                    cel(0)
                    posn(222 145)
                    looper(0)
                    setScale(0)
                    setCycle(End self)
                )
  )
            )
            (case 4
                ((send gSq5Music2:
                    number(124)
                    loop(1)
                    play(self)
                )
  )
            )
            (case 5
                ((send gEgo:setCycle(Beg self)) 
                (if (proc0_1(43))
                    (tankTop:setCycle(Beg self))
                    (bubbles:
                        init()
                        cel((bubbles:lastCel()))
                        setCycle(Beg self)
                    )
                )(else
                    (tankTop:
                        init(1)
                        setCycle(End self)
                    )
                    (bubbles:
                        init()
                        cel(0)
                        setCycle(End self)
                    )
                )
 )
            )
            (case 6
                ( )
            )
            (case 7
                ( )
            )
            (case 8
                ((bubbles:dispose()) proc0_6(0 6) (send gEgo:
                    setScale(Scaler 116 71 149 123)
                    posn(223 146)
                )
 
                (if (proc0_1(43))
                    proc0_3(43)
                    (tankTop:dispose())
                )(else
                    proc0_2(43)
                    (tankTop:stopUpd())
                )
 
                (if (== client gRoom)
                    (if ((== global126 2) and proc0_1(43))
                        = next ScriptID(243 11)
                    )(else
                        (send gSQ5:handsOn())
                    )
                )
 (self:dispose()) )
            )
        )
    )

)
(instance openBox of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if (local74)
                    (self:setScript(getOffPad self 2))
                )(else
                    = cycles 1
                )
 )
            )
            (case 1
                ((send gEgo:setMotion(PolyPath 205 139 self))  )
            )
            (case 2
                ((send gEgo:setHeading(45 self))  )
            )
            (case 3
                ((send gEgo:
                    view(243)
                    loop(2)
                    cel(0)
                    posn(205 139)
                    setCycle(End self)
                )
  )
            )
            (case 4
                ((send gSq5Music2:
                    number(124)
                    loop(1)
                    play()
                )
 = seconds 2  )
            )
            (case 5
                ((send gEgo:setCycle(Beg self))  )
            )
            (case 6
                (proc0_6(0 6) (send gEgo:
                    x(205)
                    y(139)
                    setScale(Scaler 116 71 149 123)
                    setHeading(45 self)
                )
  )
            )
            (case 7
                ((chamber:init()) (cryoDoor:setCycle(End self))  )
            )
            (case 8
                ((chamber:
                    setPri(9)
                    setMotion(MoveTo 202 132 self)
                )
  )
            )
            (case 9
                ((send gEgo:setHeading(0 self))  )
            )
            (case 10
                (proc240_30() proc0_2(44) (chamber:init()) (cryoDoor:dispose()) (send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance closeBox of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if (local74)
                    (self:setScript(getOffPad self 2))
                )(else
                    = cycles 1
                )
 )
            )
            (case 1
                ((send gEgo:setMotion(PolyPath 205 139 self))  )
            )
            (case 2
                ((send gEgo:setHeading(90 self))  )
            )
            (case 3
                ((send gEgo:
                    view(243)
                    loop(2)
                    cel(0)
                    posn(205 139)
                    setCycle(End self)
                )
  )
            )
            (case 4
                ((send gSq5Music2:
                    number(124)
                    loop(1)
                    play()
                )
 = seconds 2  )
            )
            (case 5
                ((send gEgo:setCycle(Beg self))  )
            )
            (case 6
                (proc0_6(0 6) (send gEgo:
                    x(205)
                    y(139)
                    setScale(Scaler 116 71 149 123)
                    setHeading(45 self)
                )
  )
            )
            (case 7
                ((chamber:
                    setPri(9)
                    setMotion(MoveTo 241 132 self)
                )
  )
            )
            (case 8
                ((send gEgo:setHeading(90 self))  )
            )
            (case 9
                (proc0_3(44) (cryoDoor:
                    init()
                    setCycle(Beg self)
                )
  )
            )
            (case 10
                ((chamber:dispose()) (cryoDoor:stopUpd()) (send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance public beaTalker of Talker
    (properties
        x 172
        y 55
        view 261
        loop 1
        signal 16384
        back 5
    )

    (method (init param1)
        = font gFont
        (if (local80)
            = gSq5Win gNewSpeakWindow
            (self:
                view(261)
                loop(1)
                cel(0)
                x(172)
                y(55)
                textX(65364)
                talkWidth(150)
                signal(16384)
                disposeWhenDone(1)
            )
            (send gSq5Win:
                tailX(205)
                tailY(93)
                isBottom(0)
                xOffset(20)
            )
            (beaMouth:
                view(261)
                loop(0)
                nsLeft(3)
                nsTop(21)
                signal(16384)
            )
            (super:init(0 0 beaMouth rest param1))
        )(else
            (self:
                view(1001)
                loop(0)
                x(10)
                y(25)
                textX(120)
                textY(10)
                talkWidth(150)
                disposeWhenDone(1)
            )
            = gSq5Win gSq5Win_2
            (beaMouth:
                view(1001)
                loop(1)
                nsLeft(47)
                nsTop(34)
            )
            (beaEyes:setLoop(Random(2 3)))
            (super:init(0 beaEyes beaMouth rest param1))
        )
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )

)
(instance beaEyes of Prop
    (properties
        nsTop 20
        nsLeft 54
        view 1001
        loop 2
    )
)
(instance beaMouth of Prop
    (properties
        nsTop 21
        nsLeft 3
        view 261
        signal 16384
    )
)
(instance public tkrCliffy of ChoiceTalker
    (properties
        x 0
        y 5
        view 1003
        talkWidth 150
        keepWindow 1
        textX 115
        textY 20
    )

    (method (init param1)
        = keepWindow not normal
        = font gFont
        (cliffyEyes:setLoop(Random(2 3)))
        (super:init(cliffyBust cliffyEyes cliffyMouth rest param1))
    )

)
(instance cliffyBust of Prop
    (properties
        view 1003
    )
)
(instance cliffyEyes of Prop
    (properties
        nsTop 14
        nsLeft 58
        view 1003
        loop 2
    )
)
(instance cliffyMouth of Prop
    (properties
        nsTop 32
        nsLeft 52
        view 1003
        loop 1
    )
)
(instance public tkrRoger of ChoiceTalker
    (properties
        x 0
        y 15
        view 1000
        talkWidth 150
        keepWindow 1
        textX 100
        textY 20
    )

    (method (init param1)
        = font gFont
        (if (local79)
            (self:
                view(261)
                loop(4)
                cel(0)
                x(115)
                textX(65421)
                textY(10)
                talkWidth(250)
                y(40)
            )
            (send (= gSq5Win gNewSpeakWindow):
                tailX(160)
                tailY(40)
                isBottom(1)
                xOffset(1)
            )
            (rogMouth:
                view(261)
                loop(3)
                nsLeft(7)
                nsTop(28)
            )
            (super:init(0 0 rogMouth rest param1))
        )(else
            (self:
                view(1000)
                loop(0)
                cel(0)
                x(0)
                textX(112)
                textY(10)
                talkWidth(150)
                y(15)
            )
            (rogMouth:
                view(1000)
                loop(1)
                nsLeft(44)
                nsTop(35)
            )
            (rogEyes:setLoop(Random(2 3)))
            = keepWindow not normal
            (super:init(0 rogEyes rogMouth rest param1))
        )
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )

)
(instance rogEyes of Prop
    (properties
        nsTop 21
        nsLeft 47
        view 1000
        loop 2
    )
)
(instance rogMouth of Prop
    (properties
        nsTop 35
        nsLeft 44
        view 1000
        loop 1
    )

    (method (init param1)
        (if (local79)
            (self:
                view(261)
                loop(3)
                nsLeft(7)
                nsTop(28)
            )
        )(else
            (self:
                view(1000)
                loop(1)
                nsLeft(44)
                nsTop(35)
            )
        )
        (super:init(rest param1))
    )

)
(instance cryoButton of Feature
    (properties
        x 232
        y 104
        noun 9
        onMeCheck 4
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 4
                (
                (if (proc0_1(44))
                    (if (local81)
                        (send gTestMessager:say(11 4 13 0))
                    )(else
                        (if (proc0_1(45))
                            (send gTestMessager:say(11 4 12))
                        )(else
                            (if (<> (chamber:view) 259)
                                (send gTestMessager:say(11 4 12))
                            )(else
                                (send gRoom:setScript(closeBox))
                            )
                        )
                    )
                )(else
                    (if (local81)
                        (send gTestMessager:say(11 4 13))
                    )(else
                        (send gRoom:setScript(openBox))
                    )
                )
 )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance public tank of Feature
    (properties
        x 232
        y 104
        onMeCheck 8
    )

    (method (init param1)
        = noun 
            (switch (global126)
                (case 2
                    (25  )
                )
                (default 
                    (24 )
                )
            )
        (if ((send gAddToPics:contains(stain)))
            = noun 23
        )
        (super:init(rest param1))
    )


    (method (doVerb param1 param2)
        (if (not proc999_5(param1 4 31 29))
            (super:doVerb(param1 rest param2))
        )(else
            (if (proc0_1(57))
                (send gTestMessager:say(23 0 0 0))
            )(else
                (if (local81)
                    (send gTestMessager:say(24 0 13 0))
                )(else
                    (switch (param1)
                        (case 4
                            (send gRoom:setScript(openTank))
                        )
                        (case 31
                            (send gRoom:setScript(ScriptID(243 9)))
                        )
                        (case 29
                            (if (<> global126 2)
                                (send gTestMessager:say(24 29 0 0))
                            )(else
                                (if (proc0_1(56))
                                    (send gTestMessager:say(25 29 33 0))
                                )(else
                                    (send gRoom:setScript(ScriptID(243 12)))
                                )
                            )
                        )
                        (default 
                            (super:doVerb(param1 rest param2))
                        )
                    )
                )
            )
        )
    )

)
(instance thePad of Feature
    (properties
        x 124
        y 145
        noun 26
        onMeCheck 2
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 3
                (
                (if (local81)
                    (self:doVerb(4))
                )(else
                    (if (not local74)
                        (if (proc999_4(66 120 159 131 gEgo))
                            (send gRoom:setScript(getOnPad 0 0))
                        )(else
                            (if (< (send gEgo:x) 113)
                                (send gRoom:setScript(getOnPad 0 1))
                            )(else
                                (send gRoom:setScript(getOnPad 0 2))
                            )
                        )
                    )
                )
 )
            )
            (case 4
                (
                (if (local81)
                    (send gRoom:setScript(ScriptID(243 7)))
                )(else
                    (super:doVerb(param1))
                )
 )
            )
            (case 24
                (
                (if (local74)
                    (if (== global130 6)
                        (send gTestMessager:say(26 24 38 0))
                    )(else
                        (if (((((send gCast:contains(bea)) and (<> global164 9)) or local81) or ((proc0_1(63) and (== gEurekaCurLocation 6)) and not proc999_5(global164 1 8))) or (((<> gGModNum 225) and (== gEurekaCurLocation 8)) and (<> global164 8)))
                            (send gTestMessager:say(noun 24 13 0))
                        )(else
                            (send gRoom:setScript(beamRoger 0 0))
                        )
                    )
                )(else
                    (send gTestMessager:say(noun 24 39 0))
                )
 )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance public northDoor of Prop
    (properties
        x 23
        y 95
        noun 20
        view 259
        priority 5
        signal 20496
    )

    (method (init)
        (if (proc999_5(gGModNum 100 225))
            = cel (self:lastCel())
        )
        (super:init())
        (self:stopUpd())
    )


    (method (doVerb param1 param2)
        (if (proc999_5(param1 3 4))
            (if (local81)
                (send gTestMessager:say(noun 4 13 0))
            )(else
                (if (proc0_1(75) and (< global164 8))
                    (send gTestMessager:say(noun 4 25 0))
                )(else
                    (if (== (chamber:view) 280)
                        (send gTestMessager:say(noun 4 57 0))
                    )(else
                        (if (((== gEurekaCurLocation 6) and proc0_1(63)) and ((proc0_1(45) and not proc999_5(global164 1 8)) or (send gCast:contains(bea))))
                            (send gTestMessager:say(noun 4 29 0))
                        )(else
                            (if (((== gEurekaCurLocation 4) and not proc0_1(74)) and (>= global127 3))
                                (send gTestMessager:say(noun 4 30 0))
                            )(else
                                (if (((== gEurekaCurLocation 4) and (not proc0_1(54) or proc0_1(49))) and (>= global127 3))
                                    (send gTestMessager:say(noun 4 30 0))
                                )(else
                                    (send gRoom:setScript(exitRoom))
                                )
                            )
                        )
                    )
                )
            )
        )(else
            (super:doVerb(param1 rest param2))
        )
    )


    (method (setCycle param1 param2)
        (if (param1)
            (send gSq5Music2:
                number(103)
                loop(1)
                play()
            )
        )
        (super:setCycle(param1 rest param2))
    )

)
(instance theMusic3 of Sound
    (properties)
)
