(version 2)
(include "sci.sh")
(exports
    0 rm98
)
(use "Main")
(use "Timer")
(use "Game")
(use "Feature")
(use "Obj")
(script 98)


(local
    local0

)
(instance public rm98 of Rm
    (properties
        picture 121
        style 5
    )

    (method (init)
        proc0_2()
        Load(128 54)
        Load(129 201)
        Load(129 202)
        Load(129 203)
        Load(129 204)
        Load(129 205)
        Load(129 206)
        Load(129 207)
        Load(132 93)
        (spaceShip:init())
        (super:init())
        (self:setScript(startShip))
    )

)
(instance startShip of Script
    (properties)

    (method (doit)
        (if ((== (self:state) 3) and (== (send gLongSong:prevSignal) 10))
            (self:cue())
        )
        (super:doit())
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = local0 Display("You enter a blackness like no other you\nhave ever experienced. All sense of time\nand speed are lost." 106 250 100 35 80 101 1 105 300 102 14 107)
                (Timer:setReal(self 10))
            )
            (case 1
                Display(98 0 108 local0)
                = local0 Display("Suddenly..." 106 250 100 35 95 101 1 105 300 102 14 107)
                (Timer:setReal(self 3))
            )
            (case 2
                Display(98 0 108 local0)
                = local0 Display("A bright light becomes visible in the\ndistance. It grows larger as your ship\nraces toward it. Finally you are hurled\nout of the blackness into a parallel universe." 106 250 100 35 70 101 1 105 300 102 14 107)
                (Timer:setReal(self 10))
            )
            (case 3
            )
            (case 4
                Display(98 0 108 local0)
                (spaceShip:show())
                (send global2:overlay(201 5))
                (Timer:setCycle(self 1))
            )
            (case 5
                (send global2:overlay(202 5))
                (Timer:setCycle(self 1))
            )
            (case 6
                (send global2:overlay(203 5))
                (Timer:setCycle(self 1))
            )
            (case 7
                (send global2:overlay(204 5))
                (Timer:setCycle(self 1))
            )
            (case 8
                (send global2:overlay(205 5))
                (Timer:setCycle(self 1))
            )
            (case 9
                (send global2:overlay(206 5))
                (Timer:setCycle(self 1))
            )
            (case 10
                (send global2:overlay(207 5))
                (Timer:setCycle(self 1))
            )
            (case 11
                (if (< (spaceShip:cel) (spaceShip:lastCel()))
                    (spaceShip:
                        setCel(+ (spaceShip:cel) 1)
                        posn((spaceShip:x) - (spaceShip:y) 2)
                    )
                    --state
                    (Timer:setCycle(self 1))
                )(else
                    (self:cue())
                )
            )
            (case 12
                (spaceShip:hide())
                (Timer:setReal(self 2))
            )
            (case 13
                (send global2:newRoom(115))
            )
        )
    )

)
(instance spaceShip of Prop
    (properties
        view 54
        priority 15
    )

    (method (init)
        (super:init())
        (self:
            posn(154 100)
            hide()
        )
    )

)
