(version 2)
(include "sci.sh")
(exports
    0 fallRight
    1 fallLeft
    2 fallSEast
    3 fallSWest
    4 fallNorth
    5 longFallBack
    6 longFallFront
    7 longFallSWest
    8 longFallLeft
    9 longFallRight
)
(use "Main")
(use "Class_255_0")
(use "Cycle")
(use "Obj")
(script 613)



(procedure (localproc_0640 param1)
    proc0_2()
    (send gEgo:
        view(66)
        illegalBits(0)
        loop(param1)
        cel(0)
        setMotion(0)
        cycleSpeed(1)
    )
)


(procedure (localproc_0665)
    (send (ScriptID(0 21)):
        number(17)
        loop(1)
        init()
        play()
    )
)


(instance public fallRight of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(7)
                (send gEgo:setCycle(End self))
            )
            (case 1
                (send gEgo:
                    loop(0)
                    cel(2)
                    setCycle(End self)
                )
            )
            (case 2
                localproc_0665()
                (send gEgo:
                    loop(3)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 3
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public fallLeft of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(8)
                (send gEgo:setCycle(End self))
            )
            (case 1
                (send gEgo:
                    loop(1)
                    cel(2)
                    setCycle(End self)
                )
            )
            (case 2
                localproc_0665()
                (send gEgo:
                    loop(4)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 3
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public fallSEast of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(0)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    loop(3)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public fallSWest of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(1)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (if (== gNumber 67)
                    (send gEgo:
                        loop(4)
                        cel(0)
                        setPri(10)
                        setCycle(End self)
                    )
                )(else
                    (send gEgo:
                        loop(4)
                        cel(0)
                        setCycle(End self)
                    )
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public fallNorth of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(2)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    setPri((send gEgo:priority))
                    posn(- (send gEgo:x) 8 - (send gEgo:y) 22)
                    loop(3)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public longFallBack of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(2)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    setPri(1)
                    loop(5)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public longFallFront of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(1)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    loop(5)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public longFallSWest of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(2)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    setPri(1)
                    loop(5)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public longFallLeft of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(8)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    setPri(1)
                    loop(5)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance public longFallRight of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                localproc_0640(7)
                (send gEgo:setCycle(End self))
            )
            (case 1
                localproc_0665()
                (send gEgo:
                    setPri(1)
                    loop(6)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (self:setScript(fellOffTree))
            )
        )
    )

)
(instance fellOffTree of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (if (proc0_12(1))
                    proc255_0(613 0)
                    (send gGame:changeScore(-3))
                )
                (self:cue())
            )
            (case 1
                (send (ScriptID(0 21)):fade())
                proc0_16("WHOOPS!")
                (self:dispose())
            )
        )
    )

)
