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



(instance public rm121 of Rm
    (properties
        picture 121
    )

    (method (init)
        (var temp0[50])
        proc0_2()
        = global159 1
        Load(128 194)
        Load(128 68)
        Load(128 210)
        Load(129 120)
        Load(129 122)
        Load(132 30)
        (super:init())
        (send gEgo:
            view(68)
            loop(2)
            posn(152 92)
            setCycle(Walk)
            setStep(2 1)
            setPri(15)
            ignoreActors(1)
        )
        (self:setScript(OpenDoor))
    )


    (method (doit)
        (var temp0[50])
        (super:doit())
    )


    (method (handleEvent pEvent)
        (super:handleEvent(pEvent))
        (if ((<> (send pEvent:type) 128) or (send pEvent:claimed))
            return 
        )
    )

)
(instance OpenDoor of Script
    (properties)

    (method (changeState newState)
        (var temp0[50])
        (switch (= state newState)
            (case 0
                proc255_0(121 0)
                (door:
                    init()
                    setCycle(End self)
                )
            )
            (case 1
                (send gEgo:
                    init()
                    setMotion(MoveTo 152 116 self)
                )
                (guard1:
                    init()
                    setMotion(MoveTo 149 116)
                )
                (guard2:
                    init()
                    setMotion(MoveTo 155 116)
                )
            )
            (case 2
                = seconds 2
            )
            (case 3
                (door:setCycle(Beg self))
                (send gEgo:hide())
                (guard1:hide())
                (guard2:hide())
            )
            (case 4
                (send global2:drawPic(120))
                (send global10:add(robo1 robo2))
                (send global10:doit())
                (send gEgo:show())
                (guard1:show())
                (guard2:show())
                (send gLongSong:
                    number(30)
                    loop(-1)
                    priority(1)
                    play()
                )
                = cycles 2
            )
            (case 5
                = seconds 1
                (door:dispose())
            )
            (case 6
                = cycles 2
            )
            (case 7
                (send gEgo:setMotion(MoveTo 145 116 self))
            )
            (case 8
                (send gEgo:setMotion(MoveTo 98 116 self))
                (guard1:
                    setLoop(3)
                    setMotion(MoveTo 98 116)
                )
                (guard2:
                    setLoop(3)
                    setMotion(MoveTo 98 116)
                )
            )
            (case 9
                (send global2:drawPic(122))
                (elevator:init())
                (send gEgo:
                    view(0)
                    setStep(3 2)
                    posn(277 171)
                    ignoreActors(1)
                    setPri(-1)
                    setMotion(MoveTo 145 171 self)
                )
                (guard1:
                    setLoop(0)
                    cel(0)
                    setStep(3 2)
                    posn(296 168)
                    setPri(-1)
                    setMotion(MoveTo 162 168)
                )
                (guard2:
                    setLoop(0)
                    cel(0)
                    setStep(3 2)
                    posn(291 174)
                    setPri(-1)
                    setMotion(MoveTo 166 174)
                )
            )
            (case 10
                (send gEgo:hide())
                (elevator:
                    illegalBits(0)
                    setCycle(Walk)
                    setLoop(0)
                    setMotion(MoveTo 145 122 self)
                )
            )
            (case 11
                (guard1:
                    setLoop(1)
                    cel(0)
                    setMotion(MoveTo 330 (guard1:y))
                )
                (guard2:
                    setLoop(1)
                    cel(0)
                    setMotion(MoveTo 330 (guard2:y))
                )
                (elevator:
                    setLoop(1)
                    setMotion(MoveTo 145 67 self)
                )
            )
            (case 12
                (elevator:
                    setLoop(2)
                    setMotion(MoveTo 145 41 self)
                )
            )
            (case 13
                (send gEgo:
                    cycleSpeed(1)
                    posn(145 41)
                    show()
                )
                (elevator:setLoop(3))
                (send gEgo:setMotion(MoveTo 137 40 self))
            )
            (case 14
                (send gEgo:
                    view(199)
                    setLoop(6)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 15
                (elevator:setMotion(MoveTo 145 67 self))
            )
            (case 16
                (elevator:
                    setLoop(4)
                    setMotion(MoveTo 145 122 self)
                )
            )
            (case 17
                (elevator:
                    setLoop(5)
                    setMotion(MoveTo 145 171 self)
                )
            )
            (case 18
                (send gEgo:cycleSpeed(0))
                (send global2:newRoom(96))
            )
        )
    )

)
(instance door of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(194)
            setLoop(0)
            setCel(0)
            posn(153 91)
            setPri(5)
            ignoreActors(1)
        )
    )

)
(instance guard1 of Act
    (properties)

    (method (init)
        (super:init())
        (self:
            view(210)
            setLoop(2)
            setCycle(Walk)
            setStep(2 1)
            posn(149 90)
            setPri(5)
            ignoreActors(1)
        )
    )

)
(instance guard2 of Act
    (properties)

    (method (init)
        (super:init())
        (self:
            view(210)
            setLoop(2)
            setCycle(Walk)
            setStep(2 1)
            posn(155 90)
            setPri(5)
            ignoreActors(1)
        )
    )

)
(instance elevator of Act
    (properties)

    (method (init)
        (super:init())
        (self:
            view(199)
            setLoop(5)
            setCel(0)
            yStep(4)
            posn(145 171)
            setPri(4)
            ignoreActors(1)
        )
    )

)
(instance robo1 of PV
    (properties
        y 88
        x 53
        view 194
        loop 2
        priority 7
        signal 16384
    )
)
(instance robo2 of PV
    (properties
        y 88
        x 265
        view 194
        loop 2
        cel 1
        priority 7
        signal 16384
    )
)
