(include "sci.sh")
(use "Main")
(use "rm201")
(use "eureka")
(use "Osc")
(use "MoveFwd")
(use "ScaleTo")
(use "Cycle")
(use "View")
(use "Obj")
(script 207)



(instance sBlobCharging of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= seconds 2  )
            )
            (case 1
                ((blob:setScale(ScaleTo 180 1 self))  )
            )
            (case 2
                ((blob:
                    moveSpeed(10)
                    heading(50)
                    setMotion(MoveFwd 150 self)
                )
  )
            )
            (case 3
                ((blob:stopUpd()) (eureka:
                    setScript(ScriptID(210 5) 0 5)
                    warnings(1)
                )
 = cycles 1  )
            )
            (case 4
                ((self:dispose()) )
            )
        )
    )

)
(instance public sEurekaBlobbed of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = seconds 3  )
            )
            (case 1
                ((blob:
                    setLoop(7)
                    setCel(0)
                    x(88)
                    y(65531)
                    heading(180)
                    scaleX(128)
                    scaleY(128)
                    maxScale(128)
                )
 ShakeScreen(5 3) (blobPart2:init()) = seconds 1  )
            )
            (case 2
                ((blob:setMotion(MoveFwd 45 self)) (blobPart2:setMotion(MoveFwd 45))  )
            )
            (case 3
                (proc0_9(7) (self:dispose()) )
            )
        )
    )

)
(instance sBlobSucked of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = seconds 2  )
            )
            (case 1
                ((blob:setMotion(MoveFwd 60 self)) (blobPart2:setMotion(MoveFwd 50 self)) (send gSq5Music1:fade())  )
            )
            (case 2
                ((eureka:puke(4)) (send (ScriptID(202 13)):init()) (send (ScriptID(202 14)):init()) (send (ScriptID(202 15)):init()) = cycles 1  )
            )
            (case 3
                (proc201_7(self)  )
            )
            (case 4
                ((send gTestMessager:say(11 0 16 0 self))  )
            )
            (case 5
                ((self:setScript(ScriptID(201 8) self)) (eureka:
                    timer(0)
                    setScript(ScriptID(210 5) 0 300)
                )
  )
            )
            (case 6
                ((send gSQ5:handsOn()) (blob:dispose()) (blobPart2:dispose()) (self:dispose()) )
            )
        )
    )

)
(instance public blob of Actor
    (properties
        x sBlobSucked
        y 56
        view 227
        loop 2
        priority 7
        signal 24592
    )

    (method (init param1)
        (switch ((eureka:puke))
            (case 1
                ((blobPart:init()) (blobPart2:init()) (blobPart3:init()) (self:
                    loop(2)
                    cel(0)
                    x(92)
                    y(56)
                )
 (super:init(rest param1))  )
            )
            (case 2
                ((self:
                    setLoop(1)
                    cel(0)
                    x(100)
                    y(41)
                    setScript(sBlobCharging)
                )
 (super:init(rest param1))  )
            )
            (case 3
                ((self:
                    setLoop(6)
                    setCel(0)
                    x(54)
                    y(90)
                    heading(180)
                    setScript(sBlobSucked)
                )
 (blobPart2:init()) (blobPart3:
                    init()
                    addToPic()
                )
 (blobPart4:
                    init()
                    addToPic()
                )
 (super:init(rest param1)) )
            )
        )
    )

)
(instance public sBlowUpGoliath of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = cycles 1  )
            )
            (case 1
                ((crack:
                    init()
                    setCycle(End self)
                )
  )
            )
            (case 2
                (= seconds 2  )
            )
            (case 3
                ((send client:setScript(ScriptID(210 3) 0 43)) (self:dispose()) )
            )
        )
    )

)
(instance public sFindGoliath of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) proc0_3(37) (eureka:destination(14)) (send (ScriptID(201 9)):
                    init()
                    x(48)
                    y(58)
                    setCel(0)
                    setScale(ScaleTo 127 5 self)
                )
  )
            )
            (case 1
                ((send (ScriptID(201 9)):addToPic()) = gEurekaCurLocation 14 (eureka:
                    state(3)
                    destination(0)
                    curLocation(14)
                    timer(0)
                )
 = cycles 1  )
            )
            (case 2
                (= seconds 2  )
            )
            (case 3
                (
                (if (not proc0_1(39))
                    = next sGoliathShoots
                    (self:dispose())
                )(else
                    = next sCliffyAppears
                    (self:dispose())
                )
 )
            )
        )
    )

)
(instance sCliffyAppears of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= seconds 1  )
            )
            (case 1
                ((send (ScriptID(202 13)):init()) = seconds 1  )
            )
            (case 2
                ((send gTestMessager:say(3 0 14 0 self 202))  )
            )
            (case 3
                ((send (ScriptID(202 13)):dispose()) (send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance public sFoundGoliath of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= seconds 3 (send (ScriptID(202 14)):init()) proc0_2(37) (send (ScriptID(1887 24)):disposeWhenDone(0))  )
            )
            (case 1
                ((send gTestMessager:say(3 0 0 0 self 202))  )
            )
            (case 2
                ((send (ScriptID(1887 24)):disposeWhenDone(1)) (send (ScriptID(202 14)):dispose()) (self:dispose()) )
            )
        )
    )

)
(instance public sFireOnBlob of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = seconds 2 proc201_27(0)  )
            )
            (case 1
                ((send gTestMessager:say(15 0 15 0 self))  )
            )
            (case 2
                (proc201_27(1) (send gRoom:newRoom(212)) (self:dispose()) )
            )
        )
    )

)
(instance public sGoliathShoots of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (gun:
                    init()
                    setCycle(End self)
                )
  )
            )
            (case 1
                ((gun:
                    cel(0)
                    setLoop(2)
                    setCycle(End self)
                )
  )
            )
            (case 2
                ((gun:
                    cel(0)
                    setLoop(3)
                    setCycle(End self)
                )
  )
            )
            (case 3
                (= seconds 2  )
            )
            (case 4
                ((send client:setScript(ScriptID(210 3) 0 12)) (self:dispose()) )
            )
        )
    )

)
(instance public sSuckBlob of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (send gSq5Music2:
                    number(225)
                    loop(-1)
                    play()
                )
 = seconds 3  )
            )
            (case 1
                ((eureka:
                    timer(0)
                    warnings(0)
                    setScript(0)
                )
 (send gRoom:newRoom(213)) (self:dispose()) )
            )
        )
    )

)
(instance blobPart of Prop
    (properties
        x 104
        y 66
        view 227
        loop 3
        cel 2
        priority 7
        signal 16400
    )

    (method (init param1)
        (super:init(rest param1))
        (switch ((eureka:puke))
            (case 1
                ((super:init(rest param1)) (self:
                    loop(3)
                    x(104)
                    y(66)
                    setCycle(Osc)
                )
 )
            )
        )
    )

)
(instance blobPart2 of Actor
    (properties
        x 161
        y 69
        view 227
        loop sBlobCharging
        cel 2
        priority 7
        signal 24592
    )

    (method (init param1)
        (super:init(rest param1))
        (switch ((eureka:puke))
            (case 1
                ((self:
                    loop(4)
                    x(161)
                    y(69)
                    setCycle(Osc)
                )
  )
            )
            (case 2
                ((self:
                    setLoop(7)
                    setCel(1)
                    x(186)
                    y(65531)
                    heading(180)
                    ignoreActors(1)
                )
  )
            )
            (case 3
                ((self:
                    setLoop(6)
                    setCel(1)
                    x(194)
                    y(82)
                    heading(180)
                )
 )
            )
        )
    )

)
(instance blobPart3 of Prop
    (properties
        x 134
        y 58
        view 227
        loop 5
        cel 2
        priority 7
        signal 16400
    )

    (method (init param1)
        (super:init(rest param1))
        (switch ((eureka:puke))
            (case 1
                ((self:
                    loop(5)
                    cel(2)
                    x(134)
                    y(58)
                    setCycle(Osc)
                )
  )
            )
            (case 3
                ((self:
                    setLoop(6)
                    setCel(2)
                    x(53)
                    y(73)
                )
 )
            )
        )
    )

)
(instance blobPart4 of Prop
    (properties
        x 134
        y 58
        view 227
        loop 5
        cel 2
        priority 7
        signal 16400
    )

    (method (init param1)
        (super:init(rest param1))
        (switch ((eureka:puke))
            (case 3
                ((self:
                    setLoop(6)
                    setCel(3)
                    x(198)
                    y(74)
                )
 )
            )
        )
    )

)
(instance crack of Prop
    (properties
        x 148
        y 85
        view 227
        loop 9
    )
)
(instance gun of Prop
    (properties
        x 137
        y 75
        view 2272
        loop 1
        priority 6
        signal 24592
    )
)
