(include "sci.sh")
(use "Main")
(use "ScaleTo")
(use "Cycle")
(use "Sounds")
(use "View")
(use "Obj")
(script 1060)



(procedure (localproc_0030)
    (var temp0)
    = temp0 1
    (while (< temp0 30)
        (send ((star:new())):init())
        ++temp0
    )
    (star:init())
)


(instance public rm1060 of Rm
    (properties
        picture 130
        style 10
    )

    (method (init)
        localproc_0130()
        (send gSQ5:handsOff())
        (send gSq5Music2:
            number(101)
            loop(-1)
            play()
        )
        (ship:init())
        (super:init())
    )

)
(instance sSoundStuff of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSq5Music1:
                    number(203)
                    setLoop(1)
                    play(self)
                )
  )
            )
            (case 1
                ((send gSq5Music1:
                    number(44)
                    loop(-1)
                    play()
                )
 (self:dispose()) )
            )
        )
    )

)
(instance sEurekaExplodes of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= register 128 (self:setScript(sSoundStuff)) (ship:dispose()) = cycles 1  )
            )
            (case 1
                (Palette(6 128 255 -1) 
                (if (--register)
                    --state
                )
 = ticks 1  )
            )
            (case 2
                (= seconds 5  )
            )
            (case 3
                ((send gRoom:newRoom(1041)) (self:dispose()) )
            )
        )
    )

)
(instance ship of Prop
    (properties
        x 138
        y 58
        view 717
    )

    (method (init)
        (self:setScale(ScaleTo 15 10 self))
        (super:init())
    )


    (method (cue)
        (send gSq5Music1:fade())
        (send gRoom:setScript(sEurekaExplodes))
    )

)
(instance star of Actor
    (properties
        view 217
        priority 1
        signal 24592
        moveSpeed 0
    )

    (method (init param1)
        (var temp0, temp1, temp2, temp3)
        = temp0 Random(100 250)
        = temp2 (+ 140 CosMult((= temp1 Random(0 359)) temp0))
        (self:
            illegalBits(0)
            x(temp2)
            y(= temp3 (+ 58 SinMult(temp1 temp0)))
            setLoop(1)
            setCel(Random(0 3))
            moveSpeed(0)
            setStep(10 10)
            setCycle(0)
            setPri(4)
            setMotion(MoveTo 140 58)
        )
        (super:init(rest param1))
    )


    (method (doit param1)
        (if ((self:inRect(120 38 160 78)))
            (self:setMotion(0))
            (self:init())
        )
        (super:doit(rest param1))
    )

)
