(include "sci.sh")
(use "Main")
(use "Scaler")
(use "Osc")
(use "ForwardCounter")
(use "StopWalk")
(use "Grooper")
(use "Sound")
(use "Cycle")
(use "View")
(use "Obj")
(script 227)



(instance public sSpikeComments of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = seconds 1  )
            )
            (case 1
                ((send gTestMessager:say(11 0 0 0 self))  )
            )
            (case 2
                ((send (ScriptID(225 1)):setCycle(End self)) (cliffy:setMotion(MoveTo 66 133 self))  )
            )
            (case 3
                (0  )
            )
            (case 4
                ((send (ScriptID(225 1)):setCycle(Beg self))  )
            )
            (case 5
                ((send gSQ5:handsOn()) (cliffy:dispose()) (self:dispose()) )
            )
        )
    )

)
(instance public sMeetCliffy of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) proc0_2(60) = cycles 1  )
            )
            (case 1
                ((send gTestMessager:say(7 0 0 1 self))  )
            )
            (case 2
                ((send gEgo:setMotion(MoveTo 141 134 self))  )
            )
            (case 3
                ((send gEgo:hide()) (cliffy:
                    view(231)
                    setLoop(0)
                    cel(0)
                    cycleSpeed(15)
                    posn(151 138)
                )
 = cycles 1  )
            )
            (case 4
                ((cliffy:setCycle(End self))  )
            )
            (case 5
                ((send gTestMessager:say(7 0 0 2 self))  )
            )
            (case 6
                ((cliffy:
                    setLoop(1)
                    setCycle(ForwardCounter 3 self)
                )
  )
            )
            (case 7
                ((send gTestMessager:say(7 0 0 3 self))  )
            )
            (case 8
                ((cliffy:
                    setLoop(2)
                    setCycle(End self)
                )
  )
            )
            (case 9
                ((send gTestMessager:say(7 0 0 4 self))  )
            )
            (case 10
                ((cliffy:
                    setLoop(3)
                    setCycle(ForwardCounter 3 self)
                )
  )
            )
            (case 11
                ((send gTestMessager:say(7 0 0 5 self))  )
            )
            (case 12
                ((cliffy:setCel(0)) = seconds 2  )
            )
            (case 13
                ((send gTestMessager:say(7 0 0 6 self))  )
            )
            (case 14
                ((cliffy:
                    setLoop(4)
                    setCycle(0)
                    ignoreActors(1)
                    posn(166 138)
                )
 (send gEgo:
                    view(231)
                    setLoop(5)
                    cel(0)
                    show()
                    setScale(0)
                    x(151)
                    y(135)
                    setCycle(End self)
                )
  )
            )
            (case 15
                (= seconds 1  )
            )
            (case 16
                (proc0_6(0 4) (send gEgo:
                    x(138)
                    y(135)
                    setScale(Scaler 153 42 168 107)
                )
 (cliffy:
                    view(20)
                    loop(8)
                    cel(7)
                    posn(170 138)
                    setStep(3 3)
                    cycleSpeed(7)
                    moveSpeed(7)
                    setLoop(Grooper)
                    setScale(Scaler 153 42 168 107)
                    setCycle(StopWalk -1)
                    signal(| $0004 (cliffy:signal))
                )
 = cycles 2  )
            )
            (case 17
                ((cliffy:setMotion(MoveTo 143 122 self))  )
            )
            (case 18
                ((cliffy:setMotion(MoveTo 142 111 self))  )
            )
            (case 19
                ((cliffy:heading(90)) = seconds 1  )
            )
            (case 20
                ((cliffy:
                    view(191)
                    loop(6)
                    x(142)
                    y(111)
                    setScale(0)
                    cycleSpeed(12)
                    setPri(6)
                    setScript(sCliffyNoise)
                )
 = global130 (= seconds 1)  )
            )
            (case 21
                ((send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance public cliffySound of Sound
    (properties)
)
(instance public sCliffyNoise of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= register Random(10 15) (cliffy:
                    cel(0)
                    setLoop(Random(6 9))
                )
 = cycles 1  )
            )
            (case 1
                ((cliffy:
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 2
                (40 (cliffySound:
                    x
                    loop(1)
                    play()
                )
 
                (if (--register)
                    = state (- state 2)
                )(else
                    = state (- state 3)
                )
 = cycles 1 )
            )
        )
    )

)
(instance sTalkAboutSpike of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send (ScriptID(1884 23)):disposeWhenDone(0)) (send gTestMessager:say(4 2 7 0 self))  )
            )
            (case 1
                (
                (if (== global126 3)
                    (send gTestMessager:say(4 2 8 0 self))
                )(else
                    = cycles 1
                )
 )
            )
            (case 2
                ((send (ScriptID(1884 23)):disposeWhenDone(1)) (self:dispose()) )
            )
        )
    )

)
(instance public cliffy of Actor
    (properties
        x 142
        y 111
        noun sSpikeComments
        view 191
        loop 1
        cel 2
        signal 16384
        scaleSignal 1
    )

    (method (init param1)
        (if (not proc0_1(60) and not proc0_1(86))
            (self:
                view(231)
                setLoop(4)
                setCel(0)
                posn(166 138)
            )
            (super:init(rest param1))
        )(else
            (if (== global130 1)
                (self:ignoreActors(1))
                (switch (
                (if (((== gGModNum 228) or (== global126 1)) or proc0_1(61))
                    1
                )(else
                    Random(1 2)
                )
)
                    (case 1
                        (self:
                            view(191)
                            setLoop(Random(6 9))
                            posn(142 111)
                            cycleSpeed(12)
                            setCycle(Osc)
                            setPri(6)
                            setScale(0)
                        )
                        (if (<> global126 1)
                            (self:setScript(sCliffyNoise))
                        )
                    )
                    (case 2
                        (self:
                            view(241)
                            setLoop(0)
                            posn(148 114)
                            cycleSpeed(15)
                            setScale(0)
                            setCycle(End)
                        )
                    )
                )
                (super:init(rest param1))
            )(else
                (if (((== global130 4) and (== global126 1)) and proc999_5(gGModNum 100 200))
                    (self:
                        view(20)
                        posn(96 133)
                        loop(8)
                        cel(0)
                        setStep(3 3)
                        cycleSpeed(7)
                        moveSpeed(7)
                        setLoop(Grooper)
                        setScale(Scaler 153 42 168 107)
                        setCycle(StopWalk -1)
                        signal(| $0004 (cliffy:signal))
                    )
                    (super:init(rest param1))
                )
            )
        )
    )


    (method (dispose param1)
        (cliffySound:dispose())
        (super:dispose(rest param1))
    )


    (method (doVerb param1)
        (switch (param1)
            (case 2
                ((send gRoom:setScript(sTalkToCliffy))  )
            )
            (default 
                ((super:doVerb(param1)) )
            )
        )
    )

)
(instance sTalkToCliffy of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if (proc0_1(61))
                    (if (proc0_1(116))
                        (send gTestMessager:say(4 2 10 0 self))
                    )(else
                        proc0_2(116)
                        (send gTestMessager:say(4 2 9 0 self))
                    )
                )(else
                    (if (proc0_1(115))
                        proc0_3(115)
                        (send gTestMessager:say(4 2 6 0 self))
                    )(else
                        (if (== global126 1)
                            (send gTestMessager:say(11 0 0 0 self))
                        )(else
                            (if (((> global126 1) and not proc0_1(56)) and (<> gGModNum 230))
                                (self:setScript(sTalkAboutSpike self))
                            )(else
                                (send gTestMessager:say(4 2 0 0 self))
                            )
                        )
                    )
                )
 )
            )
            (case 1
                ((send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
