(version 2)
(include "sci.sh")
(exports
    0 rm90
)
(use "Main")
(use "Class_255_0")
(use "Timer")
(use "Sound")
(use "Cycle")
(use "Game")
(use "User")
(use "Feature")
(use "Obj")
(script 90)


(local
    local0
    theWHallDoor
    theWDoorScript
    local3
    local4
    local5
    local6
    local7
    theState
    local9

)
(instance public rm90 of Rm
    (properties
        picture 90
        style 0
    )

    (method (init)
        (SL:enable())
        proc0_3()
        Load(128 105)
        Load(128 110)
        Load(128 109)
        Load(128 111)
        Load(132 14)
        Load(132 49)
        Load(132 57)
        Load(132 67)
        Load(132 60)
        Load(132 74)
        (super:init())
        (self:setScript(rmScript))
    )


    (method (doit)
        (super:doit())
    )


    (method (handleEvent pEvent)
        (var temp0)
        (if ((send pEvent:claimed))
            return 
        )
        (switch ((send pEvent:type))
            (case 128
                (if ((< (send gEgo:x) 84) and (== local3 90))
                    (if (Said('look[/area,partition,left,right,up,down,ceiling,deck]'))
                        proc255_0(90 0)
                    )(else
                        (if (Said('look/door'))
                            proc255_0(90 1)
                        )(else
                            (if (Said('look,explore/area,closet'))
                                (send gEgo:setScript(searchScript))
                            )(else
                                (if (Said('get,wear,drop,change,switch,explore/attire'))
                                    (if ((send gEgo:has(12)))
                                        proc255_0(90 2)
                                    )(else
                                        proc255_0(90 3)
                                        proc255_0(90 4)
                                        = temp0 0
                                        (while (<= temp0 16)
                                            (if ((send gEgo:has(temp0)))
                                                (send gEgo:put(temp0 -1))
                                            )
                                            ++temp0
                                        )
                                        (send gEgo:
                                            view(109)
                                            get(12)
                                            get(13)
                                        )
                                        (send global1:changeScore(5))
                                    )
                                )(else
                                    (if (Said('disembark,disembark[/area,closet]'))
                                        proc255_0(90 5)
                                    )
                                )
                            )
                        )
                    )
                )
                (if (Said('get/life[<a]'))
                    (if (global200)
                        (send gEgo:
                            view(109)
                            get(11 12 13 15)
                        )
                    )(else
                        (send pEvent:claimed(0))
                    )
                )(else
                    (if (Said('look[/area,corridor,deck,dirt,ceiling,partition,up,down,left,right]'))
                        (if ((<= 114 (send gEgo:x)) and (<= (send gEgo:x) 203))
                            (if ((== (send gEgo:loop) 3) or (== (send gEgo:loop) 2))
                                (if (== local0 "some")
                                    = local0 "no"
                                )(else
                                    = local0 "some"
                                )
                                proc255_4(90 6 local0)
                            )(else
                                proc255_0(90 7)
                            )
                        )(else
                            (if (((== (send gEgo:loop) 1) and (> (send gEgo:x) 114)) or ((== (send gEgo:loop) 0) and (< (send gEgo:x) 203)))
                                proc255_0(90 8)
                            )(else
                                proc255_0(90 9)
                            )
                        )
                    )(else
                        (if (Said('look/closet'))
                            proc255_0(90 10)
                        )(else
                            (if (Said('look/door'))
                                (if ((== theWHallDoor wHallDoor) or (== theWHallDoor eHallDoor))
                                    (if (local4)
                                        proc255_0(90 11)
                                    )(else
                                        proc255_0(90 12)
                                    )
                                )(else
                                    proc255_0(90 13)
                                )
                            )(else
                                (if (Said('look/mrgarbage') or Said('look/garbage<mr'))
                                    (if ((send gEgo:has(13)))
                                        (send ((send global9:at(13))):showSelf())
                                    )(else
                                        (send pEvent:claimed(0))
                                    )
                                )(else
                                    (if (Said('remove/attire[<janitor]'))
                                        (if ((send gEgo:has(12)))
                                            proc255_0(90 14)
                                        )(else
                                            (send pEvent:claimed(0))
                                        )
                                    )(else
                                        (if ((Said('blast') or Said('use/mrgarbage')) or Said('use/garbage<mr'))
                                            (if ((send gEgo:has(13)))
                                                proc255_0(90 15)
                                            )(else
                                                proc255_0(90 16)
                                            )
                                        )(else
                                            (if (Said('find,get/card'))
                                                proc255_0(90 17)
                                            )(else
                                                (if (Said('look/device,keylock,latch,card,girder,device'))
                                                    (if ((== theWHallDoor eHallDoor) and (== local3 95))
                                                        proc255_0(90 18)
                                                    )(else
                                                        (send pEvent:claimed(0))
                                                    )
                                                )(else
                                                    (if (Said('*/device,keylock,latch,girder,device'))
                                                        (if ((== theWHallDoor eHallDoor) and (== local3 95))
                                                            proc255_0(90 19)
                                                        )(else
                                                            (send pEvent:claimed(0))
                                                        )
                                                    )(else
                                                        (if (Said('open/door[<corridor]'))
                                                            (if ((local4 and (<= 186 (send gEgo:x))) and (<= (send gEgo:x) 203))
                                                                proc255_0(90 20)
                                                            )(else
                                                                proc255_0(90 21)
                                                            )
                                                        )(else
                                                            (if (Said('close,close/door[<corridor]'))
                                                                proc255_0(90 22)
                                                            )(else
                                                                (if (Said('drop,use,insert,enter/card,key') or Said('unlock/door[<corridor]'))
                                                                    (if (not 
                                                                    (if (local4 and (<= 186 (send gEgo:x)))
                                                                        <= (send gEgo:x) 203
                                                                    )
)
                                                                        proc255_0(90 23)
                                                                    )(else
                                                                        (if (not (send gEgo:has(11)))
                                                                            proc255_0(90 24)
                                                                        )(else
                                                                            (if (not (User:canControl()))
                                                                                proc255_0(90 25)
                                                                            )(else
                                                                                (if (not == (send gEgo:loop) 0)
                                                                                    proc255_0(90 26)
                                                                                )(else
                                                                                    (if ((<= (scanner:y) 90) or (>= (scanner:y) 95))
                                                                                        proc255_0(90 27)
                                                                                    )(else
                                                                                        (send gEgo:setScript(scanScript))
                                                                                    )
                                                                                )
                                                                            )
                                                                        )
                                                                    )
                                                                )(else
                                                                    (if (Said('*/door'))
                                                                        (if (local4)
                                                                            proc255_0(90 28)
                                                                        )(else
                                                                            proc255_0(90 29)
                                                                        )
                                                                    )(else
                                                                        (if (Said('look/crack,crack'))
                                                                            proc255_0(90 30)
                                                                        )(else
                                                                            (if (Said('explore,look/pocket'))
                                                                                (if ((send gEgo:has(12)))
                                                                                    proc255_0(90 31)
                                                                                )(else
                                                                                    proc255_0(90 32)
                                                                                )
                                                                            )(else
                                                                                (if (Said('copy<use') or Said('drop,hold,display,use,position,place/original,copy'))
                                                                                    (if ((send gEgo:has(15)))
                                                                                        (if (== (send gEgo:view) 105)
                                                                                            (send gEgo:
                                                                                                setLoop(1)
                                                                                                setCel(0)
                                                                                                setCycle(End)
                                                                                            )
                                                                                            (User:canInput(0))
                                                                                        )(else
                                                                                            proc255_0(90 33)
                                                                                        )
                                                                                    )(else
                                                                                        proc255_0(90 34)
                                                                                    )
                                                                                )
                                                                            )
                                                                        )
                                                                    )
                                                                )
                                                            )
                                                        )
                                                    )
                                                )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )


    (method (newRoom newRoomNumber)
        (send global7:eachElementDo(91 84))
        (super:newRoom(newRoomNumber))
    )

)
(instance searchScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (searchSound:prevSignal(0))
                (searchSound:play())
                = cycles 1
            )
            (case 1
                (if (<> (searchSound:prevSignal) -1)
                    --state
                    (Timer:setCycle(self 3))
                )(else
                    proc0_3()
                    (if (proc0_13(12))
                        proc255_0(90 35)
                    )(else
                        proc255_0(90 36)
                    )
                )
            )
            (default 
                (self:init())
            )
        )
    )

)
(instance scanScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (hallSound:stop())
                (send gEgo:
                    view(105)
                    setLoop(0)
                    setCel(0)
                    x(202)
                    setPri(14)
                    setCycle(End self)
                )
            )
            (case 1
                (keycardSound:play())
                (Timer:setReal(self 2))
            )
            (case 2
                (send gEgo:setCycle(Beg self))
            )
            (case 3
                proc255_0(90 37)
                proc255_0(90 38)
                (User:canInput(1))
                (send gEgo:setPri(13))
                (Timer:setReal(self 3))
            )
            (case 4
                (User:canInput(0))
                (if (== (send gEgo:loop) 1)
                    (Timer:setReal(self 3))
                )(else
                    = cycles 1
                )
            )
            (case 5
                (face:init())
                (scanner:setLoop(6))
                = local9 6
                = cycles 1
            )
            (case 6
                (scannerSound:play())
                (face:
                    setCel(0)
                    setCycle(End)
                )
                (scanner:
                    setCel(0)
                    setCycle(End self)
                )
            )
            (case 7
                (if (--local9)
                    (self:changeState(6))
                )(else
                    = cycles 1
                )
            )
            (case 8
                (face:dispose())
                (scanner:
                    setLoop(5)
                    setCel(4)
                    setCycle(0)
                    stopUpd()
                )
                (Timer:setReal(self 2))
            )
            (case 9
                (if (== (send gEgo:loop) 1)
                    = local4 0
                    (send gEgo:setCycle(Beg self))
                )(else
                    = cycles 1
                )
            )
            (case 10
                (send gEgo:
                    view(109)
                    setLoop(-1)
                    setCel(-1)
                    setDirection(3)
                    setMotion(0)
                    setCycle(Walk)
                )
                (Timer:setCycle(self 3))
            )
            (case 11
                (if (local4)
                    proc255_0(90 39 67 -1 20 70 280)
                )
                (hallSound:play())
                proc0_3()
            )
            (case 12
                (self:init())
            )
        )
    )

)
(instance rmScript of Script
    (properties)

    (method (init param1)
        (super:init(rest param1))
        (send gEgo:
            view(
                (if ((send gEgo:has(13)))
                    109
                )(else
                    110
                )
)
            setPri(13)
            setCel(-1)
            setLoop(-1)
            setCycle(Walk)
            setStep(3 1)
            x(
                (if (== gNorth 86)
                    65
                )(else
                    262
                )
)
            y(
                (if (== gNorth 86)
                    123
                )(else
                    119
                )
)
            setDirection(
                (if (== gNorth 86)
                    3
                )(else
                    7
                )
)
            observeBlocks(egoArea)
            init()
        )
        (wHallDoor:init())
        (eHallDoor:init())
        (bPanelLine:init())
        (tPanelLine:init())
        (egoArea:init())
        (scanner:init())
        (hallSound:init())
        (doorSound:init())
        (ouchSound:init())
        (scannerSound:init())
        (keycardSound:init())
        (searchSound:init())
        (hallSound:play())
        (switch (gNorth)
            (case 91
                (self:changeState((= state 5)))
            )
            (case 95
                (send global1:changeScore(-20))
                (self:changeState((= state 13)))
            )
            (case 86
                (self:changeState((= state 0)))
            )
            (default 
                (send gEgo:
                    posn(65 123)
                    setDirection(3)
                )
                (self:changeState((= state 0)))
            )
        )
    )


    (method (doit)
        (switch ((send gEgo:loop))
            (case 0
                (if (>= (send gEgo:x) 203)
                    (if ((> (send gEgo:y) (+ 119 (send gEgo:yStep))) and (< (send gEgo:x) (+ 203 (send gEgo:xStep))))
                        (if (== local6 2)
                            (send gEgo:posn(203 119))
                        )(else
                            (send gEgo:
                                posn(202 130)
                                setDirection(0)
                            )
                            ShakeScreen(4 2)
                            (ouchSound:play())
                        )
                    )(else
                        (if (> (send gEgo:x) 262)
                            (if (== local3 91)
                                (send gEgo:setDirection(1))
                                (send global2:newRoom(91))
                            )(else
                                (send global2:newRoom(95))
                                (send global1:changeScore(20))
                            )
                        )(else
                            (send gEgo:y(119))
                        )
                    )
                )(else
                    (if (>= (send gEgo:x) 114)
                        (if (== (send gEgo:y) 123)
                            (send gEgo:y(130))
                        )(else
                            (send gEgo:y(130))
                            (if (((> (send gEgo:x) 131) and (== local5 0)) and local7)
                                (send gEgo:setDirection(local7))
                                = local7 0
                                (User:canControl(1))
                            )(else
                                (if (== local6 0)
                                    (if (== (eDoorScript:state) 3)
                                        (send gEgo:setScript(eDoorScript))
                                    )(else
                                        (if (== (eDoorScript:state) 5)
                                            (eDoorScript:changeState((- (eDoorScript:state) 1)))
                                        )
                                    )
                                )
                            )
                        )
                    )(else
                        (send gEgo:y(123))
                    )
                )
            )
            (case 1
                (if (<= (send gEgo:x) 114)
                    (if ((> (send gEgo:y) (+ 123 (send gEgo:yStep))) and (> (send gEgo:x) (- 114 (send gEgo:xStep))))
                        (if (== local5 2)
                            (send gEgo:posn(114 123))
                        )(else
                            (send gEgo:
                                posn(115 130)
                                setDirection(0)
                            )
                            ShakeScreen(4 2)
                            (ouchSound:play())
                        )
                    )(else
                        (if (< (send gEgo:x) 65)
                            (if (== local3 90)
                                (send gEgo:posn(65 123))
                            )(else
                                (send global2:newRoom(86))
                            )
                        )(else
                            (send gEgo:y(123))
                        )
                    )
                )(else
                    (if (<= (send gEgo:x) 203)
                        (if (== (send gEgo:y) 119)
                            (send gEgo:y(130))
                        )(else
                            (send gEgo:y(130))
                            (if (((< (send gEgo:x) 186) and (== local6 0)) and (<> local7 0))
                                (send gEgo:setDirection(local7))
                                = local7 0
                                (User:canControl(1))
                            )(else
                                (if (== local5 0)
                                    (if (== (wDoorScript:state) 2)
                                        (send gEgo:setScript(wDoorScript))
                                    )(else
                                        (if (== (wDoorScript:state) 4)
                                            (wDoorScript:changeState((- (wDoorScript:state) 1)))
                                        )
                                    )
                                )
                            )
                        )
                    )(else
                        (send gEgo:y(119))
                    )
                )
            )
            (case 2
                (if ((< 131 (send gEgo:x)) and (< (send gEgo:x) 186))
                    (if (((<> (send gEgo:y) 130) and (== local5 0)) and (== local6 0))
                        (send gEgo:posn((send gEgo:x) 130))
                        (if (== (send theWDoorScript:state) -1)
                            (rmScript:changeState((- (rmScript:state) 1)))
                        )
                        (send theWDoorScript:changeState((- (send theWDoorScript:state) 1)))
                    )
                )(else
                    (User:canControl(0))
                    = local7 5
                    (send gEgo:setDirection(
                        (if (<= (send gEgo:x) 131)
                            3
                        )(else
                            7
                        )
))
                )
            )
            (case 3
                (if ((< 131 (send gEgo:x)) and (< (send gEgo:x) 186))
                    (if (((<> (send gEgo:y) 130) and (== local5 0)) and (== local6 0))
                        (send gEgo:posn((send gEgo:x) 130))
                        (if (== (send theWDoorScript:state) (send theWDoorScript:start))
                            (rmScript:cue())
                        )
                        (send theWDoorScript:changeState((+ (send theWDoorScript:state) 1)))
                    )
                )(else
                    (User:canControl(0))
                    = local7 1
                    (send gEgo:setDirection(
                        (if (<= (send gEgo:x) 131)
                            3
                        )(else
                            7
                        )
))
                )
            )
        )
        (super:doit())
    )


    (method (changeState newState)
        = theState state
        (switch (= state newState)
            (case 0
                = theWHallDoor wHallDoor
                = local3 86
                = theWDoorScript wDoorScript
            )
            (case 1
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
            )
            (case 2
            )
            (case 3
            )
            (case 4
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
            )
            (case 5
                = theWHallDoor eHallDoor
                = local3 91
                = theWDoorScript eDoorScript
            )
            (case 6
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
            )
            (case 7
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
            )
            (case 8
                = theWHallDoor wHallDoor
                = local3 90
                = theWDoorScript wDoorScript
            )
            (case 9
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
            )
            (case 10
            )
            (case 11
            )
            (case 12
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
                = local4 0
            )
            (case 13
                = theWHallDoor eHallDoor
                = local3 95
                = theWDoorScript eDoorScript
                (if (< (send gEgo:x) 203)
                    = local4 1
                )
            )
            (case 14
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
                = local4 0
            )
            (case 15
                = theWHallDoor bPanelLine
                = theWDoorScript panelScript
            )
            (case 16
                = state -1
                (self:changeState(0))
            )
            (default 
                = state 16
                (self:changeState(15))
            )
        )
        (if (> state theState)
            (send theWDoorScript:state(-1))
        )(else
            (if (< state theState)
                (send theWDoorScript:state((send theWDoorScript:start)))
            )(else
                (send theWDoorScript:changeState((- (send theWHallDoor:lastCel()) 1)))
            )
        )
    )

)
(instance wDoorScript of Script
    (properties
        start 5
    )

    (method (changeState newState)
        (wHallDoor:
            posn(0 0)
            setCel(newState)
            setPri(6)
        )
        (switch (= state newState)
            (case 0
                (wHallDoor:posn(119 123))
            )
            (case 1
                (wHallDoor:posn(113 124))
            )
            (case 2
                (wHallDoor:posn(110 127))
            )
            (case 3
                (wHallDoor:posn(104 130))
            )
            (case 4
                (wHallDoor:
                    posn(93 135)
                    setPri(14)
                )
            )
            (case 5
                (rmScript:cue())
            )
            (default 
                (rmScript:changeState((- (rmScript:state) 1)))
            )
        )
    )

)
(instance eDoorScript of Script
    (properties
        start 6
    )

    (method (changeState newState)
        (eHallDoor:
            posn(0 0)
            setCel(newState)
            setPri(5)
        )
        (if (== local3 95)
            (scanner:
                posn(0 0)
                setCel(newState)
                setPri(6)
            )
        )
        (switch (= state newState)
            (case 0
                (eHallDoor:posn(134 110))
                (if (== local3 95)
                    (scanner:posn(151 85))
                )
            )
            (case 1
                (eHallDoor:posn(158 116))
                (if (== local3 95)
                    (scanner:posn(176 86))
                )
            )
            (case 2
                (eHallDoor:posn(177 120))
                (if (== local3 95)
                    (scanner:posn(197 87))
                )
            )
            (case 3
                (eHallDoor:posn(203 131))
                (if (== local3 95)
                    (scanner:posn(221 89))
                )
            )
            (case 4
                (eHallDoor:posn(213 136))
                (if (== local3 95)
                    (scanner:
                        posn(229 91)
                        setPri(14)
                    )
                )
            )
            (case 5
                (eHallDoor:
                    posn(226 131)
                    setPri(14)
                )
            )
            (case 6
                (rmScript:cue())
            )
            (default 
                (rmScript:changeState((- (rmScript:state) 1)))
            )
        )
    )

)
(instance panelScript of Script
    (properties
        start 8
    )

    (method (changeState newState)
        (bPanelLine:posn(0 0))
        (tPanelLine:posn(0 0))
        (switch (= state newState)
            (case 0
            )
            (case 1
                (bPanelLine:posn(158 115))
                (tPanelLine:posn(158 50))
            )
            (case 2
                (bPanelLine:posn(158 119))
                (tPanelLine:posn(158 47))
            )
            (case 3
                (bPanelLine:posn(158 123))
                (tPanelLine:posn(158 43))
            )
            (case 4
                (bPanelLine:posn(158 127))
                (tPanelLine:posn(158 40))
            )
            (case 5
                (bPanelLine:posn(158 133))
                (tPanelLine:posn(158 37))
            )
            (case 6
                (bPanelLine:posn(158 135))
                (tPanelLine:posn(158 34))
            )
            (case 7
            )
            (case 8
                (rmScript:cue())
            )
            (default 
                (rmScript:changeState((- (rmScript:state) 1)))
            )
        )
    )

)
(instance wHallDoor of Prop
    (properties
        view 111
    )

    (method (init)
        (super:init())
        (self:
            ignoreActors(1)
            setLoop(0)
            posn(0 0)
            setPri(6)
        )
        = local5 0
    )


    (method (doit)
        (super:doit())
        (if ((<= 75 (send gEgo:x)) and (<= (send gEgo:x) 131))
            (if ((== (self:loop) 0) and (== (self:cel) 3))
                (self:
                    setLoop(1)
                    setCel(0)
                )
                = local5 1
            )
            (if (== local5 1)
                = local5 3
                (doorSound:play())
                (self:setCycle(End self))
            )
        )(else
            (if ((== local5 3) or (== local5 2))
                = local5 1
                (doorSound:play())
                (self:setCycle(Beg self))
            )
        )
    )


    (method (cue)
        (if (== local5 1)
            = local5 0
            (wHallDoor:
                setLoop(0)
                setCel(3)
                startUpd()
            )
        )(else
            = local5 2
            (wHallDoor:stopUpd())
        )
    )

)
(instance eHallDoor of Prop
    (properties
        view 111
    )

    (method (init)
        (super:init())
        (self:
            ignoreActors(1)
            setLoop(2)
            posn(0 0)
            setPri(5)
        )
        = local6 0
    )


    (method (doit)
        (super:doit())
        (if ((<= 186 (send gEgo:x)) and (<= (send gEgo:x) 252))
            (if (((== (self:loop) 2) and (== (self:cel) 4)) and not local4)
                = local6 1
                (self:
                    setLoop(3)
                    setCel(0)
                )
            )
            (if (== local6 1)
                = local6 3
                (doorSound:play())
                (self:setCycle(End self))
            )
        )(else
            (if ((== local6 3) or (== local6 2))
                = local6 1
                (doorSound:play())
                (self:setCycle(Beg self))
            )
        )
    )


    (method (cue)
        (if (== local6 1)
            = local6 0
            (self:
                setLoop(2)
                setCel(4)
                startUpd()
            )
            (if ((== local3 95) and (< (send gEgo:x) 203))
                = local4 1
            )
        )(else
            = local6 2
            (self:stopUpd())
        )
    )

)
(instance tPanelLine of Prop
    (properties
        view 111
    )

    (method (init)
        (super:init())
        (self:
            ignoreActors(1)
            setLoop(4)
            posn(0 0)
            setPri(4)
        )
    )

)
(instance bPanelLine of Prop
    (properties
        view 111
    )

    (method (init)
        (super:init())
        (self:
            ignoreActors(1)
            setLoop(4)
            setPri(4)
        )
    )

)
(instance scanner of Prop
    (properties
        view 111
        loop 5
    )

    (method (init)
        (super:init())
        (self:
            ignoreActors(1)
            setPri(6)
        )
    )

)
(instance face of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            setPri(14)
            view(105)
            x(
                (if (== (send gEgo:loop) 1)
                    219
                )(else
                    202
                )
)
            y(
                (if (== (send gEgo:loop) 1)
                    81
                )(else
                    80
                )
)
            setLoop(
                (if (== (send gEgo:loop) 1)
                    3
                )(else
                    2
                )
)
        )
    )

)
(instance egoArea of Cage
    (properties
        top 117
        bottom 132
        right 320
    )
)
(instance hallSound of Sound
    (properties
        number 14
        loop -1
    )
)
(instance doorSound of Sound
    (properties
        number 49
        priority 1
    )
)
(instance ouchSound of Sound
    (properties
        number 57
        priority 1
    )
)
(instance scannerSound of Sound
    (properties
        number 67
        priority 1
    )
)
(instance keycardSound of Sound
    (properties
        number 74
        priority 1
    )
)
(instance searchSound of Sound
    (properties
        number 60
        priority 1
    )
)
