(include "sci.sh")
(use "Main")
(use "VelocityMover")
(use "genetix")
(use "Scaler")
(use "PolyPath")
(use "Polygon")
(use "n958")
(use "StopWalk")
(use "Sound")
(use "Cycle")
(use "Sounds")
(use "Obj")
(script 740)


(local
    local0[4]
    local4

)
(instance theMusic3 of Sound
    (properties)
)
(instance public rm740 of Rm
    (properties
        noun 8
        picture 113
    )

    (method (init)
        proc958_0(143 number)
        (self:setRegions(31))
        proc958_0(128 626 612)
        (bigRock:init())
        (bin:init())
        (machinery:init())
        (path:init())
        (sky:init())
        (palmTree:init())
        (lever:init())
        (flies:
            init()
            setCycle(Fwd)
        )
        (if (proc0_1(22))
            (send gSq5Music2:
                number(600)
                loop(-1)
                play()
            )
            (send gSq5Music2:setVol(proc999_2(127 proc999_3(30 (- (send gEgo:y) 32)))))
            (exit730:init())
            (send gWalkHandler:addToFront(self))
            (send gWalkHandler:addToFront(exit730))
            (if (== gGModNum 730)
                (send gRoom:setScript(sFly730))
            )(else
                (send gRoom:setScript(sFly730))
            )
        )(else
            (send gRoom:addObstacle((send ((Polygon:new())):
                    type(3)
                    init(110 169 276 169 272 116 180 102 170 93 166 108 176 122 110 122 93 119 69 124 0 115 2 144 104 169)
                    yourself()
                )
))
            (if (== gGModNum 730)
                (send gRoom:setScript(sHuman730))
            )(else
                (send gRoom:setScript(sHuman760))
            )
        )
        (super:init())
        (send gSQ5:handsOn())
    )


    (method (doit)
        (if (proc0_1(22))
            (send gEgo:setLoop((/ (+ (send gEgo:heading) 90) 180)))
            (send gSq5Music2:setVol(proc999_2(127 proc999_3(30 (- (send gEgo:y) 32)))))
        )
        (if (not script and not proc0_1(22))
            (switch ((send gEgo:onControl(1)))
                (case 2
                    (send gRoom:setScript(ScriptID(31 3) 0 4))
                )
                (case 4
                    (send gRoom:setScript(ScriptID(31 3) 0 3))
                )
            )
        )
        (super:doit())
    )


    (method (dispose param1)
        (send gWalkHandler:delete(egoBody))
        (send gWalkHandler:delete(self))
        (send gWalkHandler:delete(exit730))
        (if (local4)
            proc0_2(23)
        )
        (super:dispose(rest param1))
    )


    (method (doVerb param1 param2)
        (if (proc0_1(22))
            (switch (param1)
                (case 3
                    proc31_2(gPEventY)
                    (if (< 10 gPEventX)
                        (send gEgo:setMotion(VelocityMover gPEventX gPEventY self 0))
                    )(else
                        (send gRoom:setScript(sExitLeft))
                    )
                )
                (default 
                    (super:doVerb(param1 rest param2))
                )
            )
        )
    )

)
(instance sExitLeft of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send gEgo:setMotion(VelocityMover 65336 100 0 1)) = seconds 2  )
            )
            (case 1
                ((send gSQ5:handsOn()) (send gRoom:newRoom(760)) )
            )
        )
    )

)
(instance sDoTrash of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) proc0_2(117) = seconds 2 proc31_2(105) (send gEgo:setMotion(VelocityMover 167 105 0 0))  )
            )
            (case 1
                ((myCliffy:
                    init()
                    setPri(1)
                    posn(130 105)
                    setCycle(Walk)
                    setMotion(MoveTo 182 133 self)
                )
  )
            )
            (case 2
                ((myCliffy:
                    setPri(14)
                    setMotion(MoveTo 151 134 self)
                )
  )
            )
            (case 3
                ((myCliffy:setMotion(MoveTo 108 134 self))  )
            )
            (case 4
                ((myCliffy:setMotion(MoveTo 108 124 self))  )
            )
            (case 5
                ((myCliffy:
                    view(612)
                    setLoop(2)
                )
 = cycles 3  )
            )
            (case 6
                ((myCliffy:cel(1)) = ticks 30  )
            )
            (case 7
                ((myCliffy:cel(2)) = ticks 30  )
            )
            (case 8
                ((myCliffy:cel(3)) (lever:setCel(1)) = ticks 30  )
            )
            (case 9
                ((myCliffy:setCel(4)) (lever:setCel(2)) = ticks 30  )
            )
            (case 10
                ((myCliffy:cel(5)) = ticks 30  )
            )
            (case 11
                ((theMusic3:
                    init()
                    number(244)
                    setLoop(1)
                    play()
                )
 (trash:
                    init()
                    setCycle(End self)
                )
  )
            )
            (case 12
                ((trash:
                    addToPic()
                    dispose()
                )
 (egoBody:
                    view(612)
                    x(144)
                    y(135)
                    init()
                    setPri(12)
                    setLoop(1)
                )
 = seconds 2  )
            )
            (case 13
                ((egoBody:
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 14
                ((egoBody:
                    setLoop(6)
                    setCycle(End self)
                )
  )
            )
            (case 15
                ((myCliffy:
                    view(20)
                    setHeading(90)
                    setScale(Scaler 100 61 132 102)
                    setCycle(StopWalk -1)
                )
 = seconds 2  )
            )
            (case 16
                ((myCliffy:setMotion(MoveTo 100 139 self))  )
            )
            (case 17
                ((myCliffy:setMotion(MoveTo 118 139 self))  )
            )
            (case 18
                ((send gTestMessager:say(3 1 0 0 self))  )
            )
            (case 19
                ((send gWalkHandler:addToFront(egoBody)) (send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance sReEnergize of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send gEgo:setMotion(VelocityMover 140 105 self 1)) proc0_10(237 10)  )
            )
            (case 1
                (= seconds 1  )
            )
            (case 2
                ((send gTestMessager:say(3 0 0 0 self))  )
            )
            (case 3
                (= seconds 2  )
            )
            (case 4
                ((send gEgo:dispose()) (theMusic3:
                    number(260)
                    setLoop(1)
                    play()
                )
 (send gSq5Music2:stop()) (egoBody:
                    view(604)
                    setLoop(0)
                    cel(15)
                    setScale(Scaler 100 61 132 102)
                    setCycle(Beg self)
                )
  )
            )
            (case 5
                ((egoBody:setCycle(End self))  )
            )
            (case 6
                ((theMusic3:play()) (egoBody:setCycle(End self))  )
            )
            (case 7
                ((egoBody:setCycle(Beg self))  )
            )
            (case 8
                ((egoBody:dispose()) = seconds 2  )
            )
            (case 9
                ((theMusic3:play()) proc0_6(6) (send gEgo:
                    init()
                    cel(0)
                    posn(144 135)
                    setMotion(0)
                    scaleX(128)
                    scaleY(128)
                    loop(0)
                    setPri(12)
                    setScale(Scaler 100 61 132 102)
                    setCycle(End self)
                )
  )
            )
            (case 10
                (proc0_3(22) (theMusic3:dispose()) = local4 1 (send gWalkHandler:delete(self)) (send gWalkHandler:delete(exit730)) proc0_6(0 2) proc0_10(236 50) (send gRoom:addObstacle((send ((Polygon:new())):
                        type(3)
                        init(110 169 276 169 272 116 170 93 166 108 176 122 110 122 93 119 69 124 0 115 2 144 104 169)
                        yourself()
                    )
)) (send gEgo:setHeading(270 self)) (myCliffy:setPri(-1))  )
            )
            (case 11
                ((send gTestMessager:say(7 0 0 0 self))  )
            )
            (case 12
                ((myCliffy:setMotion(PolyPath 167 114 self))  )
            )
            (case 13
                ((send gSQ5:handsOn()) (myCliffy:setMotion(MoveTo 127 103 self))  )
            )
            (case 14
                ((self:dispose()) )
            )
        )
    )

)
(instance sHuman730 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) proc0_6(0) (send gEgo:
                    init()
                    setScale(Scaler 100 61 132 102)
                    posn(127 104)
                    setMotion(MoveTo 192 121 self)
                )
  )
            )
            (case 1
                ((send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance sFly730 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) proc31_1(110 110) 
                (if (not proc0_1(79))
                    (send gSQ5:handsOn())
                    (self:dispose())
                )(else
                    (if (proc0_1(117))
                        (myCliffy:
                            init()
                            posn(118 139)
                            setHeading(90)
                            setScale(Scaler 100 61 132 102)
                            setCycle(StopWalk -1)
                        )
                        (egoBody:
                            view(612)
                            x(144)
                            y(135)
                            cel(7)
                            init()
                            setPri(12)
                            setLoop(6)
                        )
                        (trash:
                            init()
                            addToPic()
                        )
                        (lever:init())
                        (send gWalkHandler:addToFront(egoBody))
                        = cycles 1
                    )(else
                        = next sDoTrash
                        = cycles 2
                    )
                )
 )
            )
            (case 1
                ((self:dispose()) )
            )
        )
    )

)
(instance sHuman760 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = seconds 1  )
            )
            (case 1
                (proc0_6(0) (send gEgo:
                    init()
                    setScale(Scaler 100 61 132 102)
                    posn(65516 123)
                    setMotion(MoveTo 44 128 self)
                )
  )
            )
            (case 2
                ((send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance sFlyLeave730 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send gEgo:setMotion(VelocityMover 155 80 0 0)) = seconds 4  )
            )
            (case 1
                ((send gSQ5:handsOn()) (send gRoom:newRoom(730)) )
            )
        )
    )

)
(instance myCliffy of MyActor
    (properties
        x 65526
        y 127
        view 20
        loop 2
        priority theMusic3
        signal 16400
    )
)
(instance lever of MyProp
    (properties
        x 121
        y 94
        view 612
        loop 4
        priority 8
        signal 16400
    )
)
(instance trash of MyActor
    (properties
        x 131
        y 123
        z 30
        view 612
        loop 3
        priority 8
        signal 16400
    )
)
(instance exit730 of MyFeature
    (properties
        x 271
        y 89
        onMeCheck 4
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 3
                (proc31_2(gPEventY) (send gRoom:setScript(sFlyLeave730))  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance bigRock of MyFeature
    (properties
        x rm740
        y 52
        noun 1
        onMeCheck 256
    )
)
(instance bin of MyFeature
    (properties
        x 131
        y 99
        noun 2
        onMeCheck 64
    )
)
(instance machinery of MyFeature
    (properties
        x 100
        y 181
        noun 5
        onMeCheck 16
    )
)
(instance path of MyFeature
    (properties
        x 165
        y 128
        noun 6
        onMeCheck 32
    )
)
(instance sky of MyFeature
    (properties
        x sReEnergize
        y 22
        noun 9
        onMeCheck 128
    )
)
(instance palmTree of MyFeature
    (properties
        x 253
        y 71
        noun 10
        onMeCheck 8
    )
)
(instance egoBody of MyActor
    (properties
        noun 2
        signal 16400
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 3
                ((send gRoom:setScript(sReEnergize))  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance flies of MyProp
    (properties
        x 90
        y rm740
        noun 4
        view 612
        loop 5
        cel 4
        priority 8
        signal 16400
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 1
                (
                (if (proc0_1(22))
                    (send gTestMessager:say(4 1 1 0))
                )(else
                    (send gTestMessager:say(4 1 2 0))
                )
 )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance public sUseComm of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send gEgo:
                    view(14)
                    loop(0)
                    cel(0)
                    setCycle(End self)
                )
 (send gSq5Music2:
                    number(603)
                    setLoop(1)
                    play()
                )
  )
            )
            (case 1
                ((send gTestMessager:say(4 32 4 0 self 701))  )
            )
            (case 2
                ((send gEgo:setCycle(Beg self))  )
            )
            (case 3
                (proc0_6(0) (self:dispose()) (send gSQ5:handsOn()) )
            )
        )
    )

)
