(include "sci.sh")
(use "Main")
(use "rm201")
(use "sStopEggTimer")
(use "eureka")
(use "Scaler")
(use "Sound")
(use "Cycle")
(use "View")
(use "Obj")
(script 208)


(local
    local0

)
(instance explosionSound of Sound
    (properties)
)
(instance public sWD40Attacks of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) Load(rsVIEW 207) = seconds 1  )
            )
            (case 1
                (ShakeScreen(5 3) (explosionSound:
                    number(202)
                    setLoop(1)
                    play()
                )
 (self:setScript(ScriptID(201 1) self)) proc0_3(32)  )
            )
            (case 2
                (proc201_6(self)  )
            )
            (case 3
                (= cycles 1  )
            )
            (case 4
                ((send gTestMessager:say(1 0 0 1 self 208))  )
            )
            (case 5
                ((self:setScript(ScriptID(201 4))) proc201_7(self)  )
            )
            (case 6
                ((send gTestMessager:say(1 0 0 2 4 self 208))  )
            )
            (case 7
                ((self:setScript(ScriptID(201 8) self))  )
            )
            (case 8
                ((explosionSound:
                    number(211)
                    loop(-1)
                    play()
                )
 = cycles 1  )
            )
            (case 9
                (= gEurekaCurLocation 16 (eureka:
                    state(2)
                    curLocation(3)
                )
 (self:setScript(ScriptID(201 39) self))  )
            )
            (case 10
                ((explosionSound:stop()) proc201_7(self)  )
            )
            (case 11
                ((send gTestMessager:say(1 0 0 5 self 208))  )
            )
            (case 12
                ((self:setScript(ScriptID(201 8) self))  )
            )
            (case 13
                ((eureka:state(3)) (send (ScriptID(201 24)):startUpd()) (send (ScriptID(201 34)):startUpd()) (send (ScriptID(201 2)):startUpd()) (self:setScript(ScriptID(201 36) self))  )
            )
            (case 14
                ((wd40Ship:
                    init()
                    addToPic()
                )
 (send gRoom:drawPic(41 9)) (send gSq5Music1:
                    number(20)
                    setLoop(-1)
                    play()
                )
 = seconds 2  )
            )
            (case 15
                ((send (ScriptID(201 9)):addToPic()) (wd40Ship:addToPic()) (torpedo:
                    init()
                    ignoreActors(1)
                )
 (send (ScriptID(201 24)):stopUpd()) (send (ScriptID(201 2)):stopUpd()) = cycles 2  )
            )
            (case 16
                ((torpedo:setMotion(MoveTo 284 120 self)) (send gSq5Music2:
                    number(657)
                    setLoop(1)
                    play()
                )
 (fireBall:init())  )
            )
            (case 17
                (= register 65516 (while (<= register 100)Palette(4 236 255 register) 
                    (if (>= register 100)
                        = cycles 1
                    )
 = register (+ register 40)  ) (torpedo:dispose()) ShakeScreen(3 3) (explosionSound:
                    number(202)
                    setLoop(1)
                    play()
                )
  )
            )
            (case 18
                ((send (ScriptID(202 13)):init()) (send (ScriptID(202 14)):init()) (send (ScriptID(202 15)):init()) = register 120 (while (>= register 0)Palette(4 236 255 register) 
                    (if (<= register 0)
                        = cycles 1
                    )
 = register (- register 40)  ) )
            )
            (case 19
                ((fireBall:dispose()) = seconds 1  )
            )
            (case 20
                (= seconds 2  )
            )
            (case 21
                (proc201_6(self)  )
            )
            (case 22
                ((send gTestMessager:say(1 0 0 6 self 208))  )
            )
            (case 23
                ((self:setScript(ScriptID(201 4) self))  )
            )
            (case 24
                ((self:setScript(ScriptID(209 0) self 207)) (send (ScriptID(202 13)):dispose()) (send (ScriptID(202 14)):dispose()) (send (ScriptID(202 15)):dispose()) (send gSq5Music2:
                    number(206)
                    setLoop(-1)
                    play()
                )
  )
            )
            (case 25
                ((send (ScriptID(201 15)):talkWidth(250)) (send gTestMessager:say(1 0 1 0 self 208))  )
            )
            (case 26
                ((send (ScriptID(201 15)):talkWidth(0)) (eureka:
                    state(3)
                    destination(0)
                    damaged(1)
                    hits(1)
                )
 (self:setScript(ScriptID(209 1) self))  )
            )
            (case 27
                (proc201_7(self)  )
            )
            (case 28
                ((send gTestMessager:say(2 0 0 1 self 208))  )
            )
            (case 29
                ((self:setScript(ScriptID(201 8) self))  )
            )
            (case 30
                (proc201_6(self)  )
            )
            (case 31
                ((send gTestMessager:say(2 0 0 2 self 208))  )
            )
            (case 32
                ((self:setScript(ScriptID(201 4) self))  )
            )
            (case 33
                (Palette(4 1 255 100) (eureka:setScript(ScriptID(210 6) 0 120)) ++global127 proc0_2(106) (explosionSound:dispose()) (send gSQ5:handsOn()) (self:dispose()) )
            )
        )
    )

)
(instance public sWD40Kills of Script
    (properties)

    (method (doit param1)
        (switch (state)
            (case 4
                (
                (if (>= local0 100)
                    (self:cue())
                )
 )
            )
            (case 5
                (
                (if (<= local0 0)
                    (self:cue())
                )
 )
            )
        )
        (super:doit(rest param1))
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) 
                (if (proc0_1(84))
                    (self:setScript(sRemoveEggTimer self))
                )(else
                    = seconds 1
                )
 = register 3  )
            )
            (case 1
                (= seconds 1 (fireBall:
                    init()
                    hide()
                )
  )
            )
            (case 2
                ((torpedo:
                    init()
                    ignoreActors(1)
                )
 = cycles 1  )
            )
            (case 3
                ((torpedo:setMotion(MoveTo 284 120 self)) (send gSq5Music2:
                    number(657)
                    setLoop(1)
                    play()
                )
 (fireBall:show())  )
            )
            (case 4
                (= local0 65516 (while (<= local0 100)Palette(4 236 255 local0) = local0 (+ local0 40)  ) ShakeScreen(3 3) (send gSq5Music2:
                    number(202)
                    setLoop(1)
                    play()
                )
  )
            )
            (case 5
                (= local0 100 (while (>= local0 0)Palette(4 236 255 local0) = local0 (- local0 40)  ) )
            )
            (case 6
                (--register 
                (if (register)
                    = state (- state 6)
                )
 = cycles 2  )
            )
            (case 7
                ((fireBall:dispose()) (torpedo:dispose()) = seconds 1  )
            )
            (case 8
                ((send client:setScript(ScriptID(210 3) 0 6)) (self:dispose()) )
            )
        )
    )

)
(instance sRemoveEggTimer of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= seconds 5  )
            )
            (case 1
                (proc204_2() = cycles 1  )
            )
            (case 2
                ((self:setScript(ScriptID(209 0) self 207))  )
            )
            (case 3
                ((send gTestMessager:say(3 0 0 1 self 208))  )
            )
            (case 4
                ((self:setScript(ScriptID(209 1) self))  )
            )
            (case 5
                ((self:dispose()) )
            )
        )
    )

)
(instance fireBall of View
    (properties
        x 221
        y 65
        view 221
        loop 4
        priority 5
        signal 16401
    )

    (method (init param1)
        (super:init(rest param1))
        Palette(4 236 255 0)
    )

)
(instance torpedo of Actor
    (properties
        x 164
        y 60
        view 221
        loop 3
        priority 5
        signal 16400
    )

    (method (init param1)
        (self:
            setLoop(3)
            setCel(0)
            x(164)
            y(60)
            setStep(20 20)
            moveSpeed(0)
            setScale(Scaler 100 20 97 60)
        )
        (super:init(rest param1))
    )

)
(instance public wd40Ship of View
    (properties
        x 19
        y 18
        view 221
        loop 2
        priority explosionSound
        signal 16401
    )

    (method (init param1)
        (if (proc0_1(61))
            (super:init(rest param1))
        )(else
            (self:dispose())
        )
    )

)
