(version 2)
(include "sci.sh")
(exports
    0 rm27
)
(use "Main")
(use "Class_255_0")
(use "Cycle")
(use "Game")
(use "Feature")
(use "Obj")
(script 27)



(instance public rm27 of Rm
    (properties
        picture 27
    )

    (method (init)
        (var temp0[50])
        proc0_2()
        Load(128 39)
        Load(128 52)
        Load(132 16)
        (if (not global158)
            (enterprise:
                init()
                stopUpd()
            )
        )
        (ship:init())
        (super:init())
        = global206 3
        (send gEgo:
            setLoop(-1)
            setCel(-1)
            setPri(-1)
            cycleSpeed(0)
            moveSpeed(0)
            setStep(3 2)
        )
        (send gLongSong:
            number(16)
            loop(-1)
            play()
        )
        (self:setScript(arrivalScript))
    )


    (method (handleEvent pEvent)
        (if ((send pEvent:claimed))
            return 
        )
        (switch ((send pEvent:type))
            (case 128
                (if (Said('look[/area,monolith,burger,cafe]'))
                    proc255_0(27 0)
                )
            )
        )
    )

)
(instance arrivalScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (ship:
                    setCycle(End)
                    setStep(3 1)
                    setMotion(MoveTo 201 98 self)
                )
            )
            (case 1
                (ship:
                    posn(201 98)
                    setStep(1 1)
                    setCycle(0)
                    setMotion(MoveTo 205 98 self)
                )
            )
            (case 2
                (ship:setMotion(MoveTo 215 108 self))
            )
            (case 3
                (ship:setMotion(MoveTo 215 116 self))
            )
            (case 4
                (ship:setMotion(MoveTo 208 122 self))
                (if (not global158)
                    (send global2:setScript(entScript))
                )
            )
            (case 5
                (ship:setMotion(MoveTo 198 122 self))
            )
            (case 6
                (ship:dispose())
                (if (global158)
                    = global206 1
                    (send global2:newRoom(28))
                )
            )
        )
    )

)
(instance entScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (enterprise:setMotion(MoveTo 92 107 self))
            )
            (case 1
                (enterprise:setMotion(MoveTo 82 97 self))
            )
            (case 2
                = seconds 2
            )
            (case 3
                (enterprise:
                    setStep(3 3)
                    setMotion(MoveTo 76 103 self)
                )
            )
            (case 4
                (enterprise:setCycle(End self))
            )
            (case 5
                (enterprise:dispose())
                = global206 1
                = global158 1
                (send global2:newRoom(28))
            )
        )
    )

)
(instance ship of Act
    (properties)

    (method (init)
        (super:init())
        (self:
            view(52)
            cel(0)
            posn(60 145)
            setPri(4)
            ignoreActors(1)
            illegalBits(0)
        )
    )

)
(instance enterprise of Act
    (properties)

    (method (init)
        (super:init())
        (self:
            view(39)
            cel(0)
            posn(122 107)
            setStep(1 1)
            setPri(6)
            setCycle(0)
            ignoreActors(1)
            illegalBits(0)
            cycleSpeed(1)
        )
    )


    (method (handleEvent pEvent)
        (if ((send pEvent:claimed))
            return 
        )
        (switch ((send pEvent:type))
            (case 128
                (if (Said('look/enterprise'))
                    proc255_0(27 1)
                )
            )
        )
    )

)
