(include "sci.sh")
(use "Main")
(use "Class_255_0")
(use "mall")
(use "MoveToY")
(use "Inertia")
(use "SQRoom")
(use "n940")
(use "MCyc")
(use "PolyPath")
(use "Polygon")
(use "Class_950_0")
(use "MoveFwd")
(use "n958")
(use "Sound")
(use "Cycle")
(use "PicView")
(use "Obj")
(script 410)


(local
    local0[282] = (0 0 65436 65436 1 0 117 65532 1 0 107 9 1 0 99 20 1 0 91 29 1 0 86 39 1 1 79 47 1 2 71 54 1 2 66 63 1 3 62 72 1 4 63 78 1 4 70 84 1 5 75 87 1 5 84 91 1 5 93 95 1 6 105 97 1 7 117 98 1 7 129 98 1 7 143 95 1 8 157 91 1 8 166 82 1 8 168 73 1 9 167 67 1 10 161 62 1 10 151 59 1 11 143 56 1 11 132 55 1 12 120 53 1 12 108 51 1 12 96 48 1 12 87 44 1 12 76 39 1 12 65 34 1 12 43 23 1 12 32 15 1 12 23 0 0 0 65436 65436 32768 0 0 65436 65436 2 0 169 65533 2 0 169 9 2 0 170 21 2 0 170 33 2 0 172 45 2 0 173 56 2 0 175 67 2 0 177 78 2 1 179 86 2 1 182 93 2 2 185 100 2 3 190 106 2 4 196 111 2 5 201 113 2 6 206 117 2 7 210 123 2 8 220 129 2 9 228 127 2 10 237 125 2 11 243 121 2 12 249 119 2 13 256 116 2 14 263 108 2 14 267 94 2 14 270 80 2 14 271 65 2 14 271 48 2 14 273 32 2 14 274 14 2 14 277 0 2 14 280 65522 0 0 65436 65436 32768 )
    local282
    local283
    local284
    local285
    local286
    local287
    local288
    local289
    local290
    local291
    local292
    local293
    local294

)
(instance public rm410 of SQRoom
    (properties
        picture 410
        north 411
        east 390
        west 405
    )

    (method (init)
        proc0_2()
        proc958_0(128 400 403)
        (switch ((send gEgo:view))
            (case 0
                proc958_0(128 406 407)
            )
            (case 402
                proc958_0(128 398 411)
            )
        )
        proc958_0(132 0 105 401 406)
        (skate1Snd:init())
        (skate2Snd:init())
        (switch (global12)
            (case north
                (self:
                    setScript(enterScript 0 north)
                    style(30)
                )
            )
            (case west
                (self:
                    setScript(enterScript 0 west)
                    style(41)
                )
            )
            (default 
                (send gLongSong:
                    number(406)
                    loop(-1)
                    vol(127)
                    flags(1)
                    playBed()
                )
                (send gLongSong2:
                    number(0)
                    stop()
                )
                (self:
                    setScript(enterScript 0 east)
                    style(30)
                )
            )
        )
        (send global2:addObstacle((send ((Polygon:new())):
                type(2)
                init(319 167 319 189 259 189 302 165)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(319 113 272 126 250 126 250 0 319 0)
                yourself()
            )
))
        (send gEgo:init())
        (super:init())
        (skater1:
            init()
            setScript(Clone(skaterScript))
        )
        (skater2:
            init()
            setScript(Clone(skaterScript))
        )
        (if (proc0_6(20) or ((== global12 390) and proc0_6(22)))
            proc958_0(128 408 409 28)
            (send (ScriptID(700 6)):
                init()
                hide()
                setScript(swimAfterEgo)
            )
        )(else
            (if (not proc0_6(19))
            )(else
                (if (== global12 390)
                    proc958_0(128 7 13 28 409)
                    (send (ScriptID(700 7)):
                        init()
                        hide()
                        setScript(enterAndShootEgo)
                    )
                )(else
                    proc958_0(128 13 28 409)
                    (send (ScriptID(700 7)):
                        init()
                        setScript(shootEgo)
                    )
                )
            )
        )
        (self:setRegions(700))
        (send global32:
            add(skateorama light steps wall restOfMall)
            eachElementDo(102)
            doit()
        )
    )


    (method (doit param1)
        (if (script)
            0
        )(else
            (if (((== (send gEgo:view) 409) or (>= local282 8)) or ((== (send (ScriptID(700 6)):script) swimAfterEgo) and (swimAfterEgo:state)))
                0
            )(else
                (if (proc0_5(gEgo 2))
                    proc0_2()
                    (if (proc999_5((send gEgo:view) 373 374))
                        (send gEgo:
                            x(+ (send gEgo:x) 4)
                            setMotion(0)
                        )
                        Print("A real lady NEVER goes Zero-G swimming in a dress!")
                        proc0_3()
                    )(else
                        (if (proc999_5((send gEgo:view) 406 398))
                            (self:setScript(endSwimScript))
                        )(else
                            (self:setScript(startSwimScript))
                        )
                    )
                )(else
                    (if (proc0_5(gEgo 4))
                        proc0_2()
                        (self:setScript(landScript))
                    )(else
                        (if (== (send gEgo:edgeHit) 1)
                            proc0_2()
                            (self:setScript(exitScript 0 north))
                        )(else
                            (if (== (send gEgo:edgeHit) 4)
                                proc0_2()
                                (self:setScript(exitScript 0 west))
                            )(else
                                (if (== (send gEgo:edgeHit) 3)
                                    proc0_2()
                                    (self:setScript(stayInScript))
                                )
                            )
                        )
                    )
                )
            )
        )
        (super:doit(rest param1))
    )


    (method (dispose param1)
        (if ((send global8:contains(skate1Snd)))
            (skate1Snd:dispose())
        )
        (if ((send global8:contains(skate2Snd)))
            (skate2Snd:dispose())
        )
        (super:dispose(rest param1))
    )


    (method (newRoom param1)
        (if ((<> param1 west) and (<> param1 north))
            (send gLongSong:fade())
        )
        (if (proc0_6(20) and not proc0_6(22))
            proc0_7(22)
            proc0_7(8)
            proc0_7(10)
            proc0_7(11)
            proc0_7(13)
            proc0_7(12)
            proc0_8(9)
        )
        (super:newRoom(param1))
    )

)
(instance enterScript of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                (switch (register)
                    (case (send global2:east)
                        (send gEgo:
                            x(331)
                            y(124)
                            setMotion(MoveTo 297 142 self)
                        )
                    )
                    (case (send global2:north)
                        = temp0 CelHigh((send gEgo:view) (send gEgo:loop) (send gEgo:cel))
                        (send (ScriptID(700 4)):init(gEgo))
                        (send gEgo:
                            setCycle(Swim)
                            setHeading(180)
                            x(
                                (if (> (send gEgo:x) 240)
                                    240
                                )(else
                                    (send gEgo:x)
                                )
)
                            y(- (send global2:horizon) temp0)
                        )
                        Animate((send global5:elements) 0)
                        (send gEgo:setMotion(MoveTo (send gEgo:x) 10 self))
                    )
                    (case (send global2:west)
                        = temp0 CelWide((send gEgo:view) (send gEgo:loop) (send gEgo:cel))
                        (send (ScriptID(700 4)):
                            init(gEgo)
                            inertizing(1)
                            inertia(5)
                            oldDir(90)
                            xOff(1)
                        )
                        (send gEgo:
                            normal(0)
                            setHeading(90)
                            setCycle(Swim)
                            x(+ 0 (+ (/ temp0 2) 1))
                            y((send gEgo:y))
                        )
                        = cycles 1
                    )
                )
            )
            (case 1
                (if (proc999_5((send gEgo:view) 373 374))
                    = local294 0
                )(else
                    (if (proc999_5((send gEgo:view) 402 14 398))
                        = local294 1
                    )(else
                        (if (proc999_5((send gEgo:view) 0 4 406))
                            = local294 2
                        )
                    )
                )
                (switch (register)
                    (case (send global2:east)
                        (switch (local294)
                            (case 0
                                proc0_1(1 373 374)
                            )
                            (case 1
                                proc0_1(1 402 14)
                            )
                            (case 2
                                proc0_1(1 0 4)
                            )
                        )
                        proc700_5(1)
                    )
                    (default 
                        proc700_5(0)
                    )
                )
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance exitScript of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                (send (ScriptID(700 4)):dispose())
                (if (== register (send global2:north))
                    = temp0 0
                )(else
                    = temp0 270
                )
                (send gEgo:setHeading(temp0 self))
            )
            (case 1
                (switch (register)
                    (case (send global2:north)
                        (send gEgo:setMotion(MoveToY 65506 self))
                    )
                    (case (send global2:west)
                        (send gEgo:setMotion(MoveToX 65506 self))
                    )
                )
            )
            (case 2
                (send global2:newRoom(register))
            )
        )
    )

)
(instance startSwimScript of Script
    (properties)

    (method (changeState newState)
        (var temp0, temp1)
        (switch (= state newState)
            (case 0
                (if (== local294 1)
                    = temp1 3
                )(else
                    = temp1 1
                )
                (send gEgo:
                    normal(0)
                    view(403)
                    setLoop(temp1)
                    cycleSpeed(3)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 1
                (if (== local294 2)
                    = temp0 406
                )(else
                    = temp0 398
                )
                (send (ScriptID(700 4)):init(gEgo))
                (send gEgo:
                    normal(0)
                    loop(1)
                    setLoop(-1)
                    view(temp0)
                    posn(- (send gEgo:x) 40 - (send gEgo:y) 6 0)
                    setStep(3 2)
                    setCycle(Swim)
                    cycleSpeed(0)
                    setHeading(270)
                    setMotion(MoveFwd 20 self)
                )
            )
            (case 2
                proc700_5(0)
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance endSwimScript of Script
    (properties)

    (method (changeState newState)
        (var temp0, temp1)
        (switch (= state newState)
            (case 0
                (if (== local294 2)
                    = register 0
                )(else
                    = register 2
                )
                (send gEgo:
                    view(403)
                    setLoop(register)
                    setMotion(0)
                    setCycle(0)
                    cel(1)
                    posn(- (send gEgo:x) 25 + (send gEgo:y) 6)
                )
                (send (ScriptID(700 4)):dispose())
                = cycles 3
            )
            (case 1
                (send gEgo:
                    setLoop(register)
                    cel(0)
                    posn(+ (send gEgo:x) 20 (send gEgo:y))
                )
                = cycles 3
            )
            (case 2
                (if (== local294 2)
                    = temp0 0
                    = temp1 4
                )(else
                    = temp0 402
                    = temp1 14
                )
                proc0_1(0 temp0 temp1)
                proc700_5(1)
                (send gEgo:
                    posn(+ (send gEgo:x) 13 + (send gEgo:y) 3)
                    setMotion(PolyPath 298 135 self)
                )
            )
            (case 3
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance landScript of Script
    (properties)

    (method (changeState newState)
        (var temp0, temp1)
        (switch (= state newState)
            (case 0
                (if (== local294 2)
                    = register 0
                )(else
                    = register 2
                )
                (send gEgo:
                    view(403)
                    setMotion(0)
                    setCycle(0)
                    setLoop(register)
                    cel(1)
                    posn(- (send gEgo:x) 25 + (send gEgo:y) 6)
                )
                (send (ScriptID(700 4)):dispose())
                = cycles 2
            )
            (case 1
                (send gEgo:
                    setLoop(register)
                    cel(0)
                    posn(+ (send gEgo:x) 20 (send gEgo:y))
                )
                = cycles 2
            )
            (case 2
                (if (== local294 2)
                    = temp0 0
                )(else
                    = temp0 402
                )
                proc0_1(0 temp0)
                (send gEgo:
                    setLoop(0)
                    setStep(6 4)
                    setCycle(0)
                    setMotion(MoveTo 298 135 self)
                )
            )
            (case 3
                (if (== local294 2)
                    = temp1 4
                )(else
                    = temp1 14
                )
                proc0_1(0 (send gEgo:view) temp1)
                proc700_5(1)
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance skaterScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = seconds Random(2 10)
            )
            (case 1
                (switch (client)
                    (case skater1
                        (skate1Snd:play())
                        (send client:setCycle(MCyc @local0 self))
                    )
                    (case skater2
                        (skate2Snd:play())
                        (send client:setCycle(MCyc @local65429 self))
                    )
                )
            )
            (case 2
                (switch (client)
                    (case skater1
                        (skate1Snd:stop())
                    )
                    (case skater2
                        (skate2Snd:stop())
                    )
                )
                (self:init())
            )
        )
    )

)
(instance skater1 of Prop
    (properties
        x 65436
        y 65436
        description "Zero-G skater"
        lookStr "The Zero-G skaters look to be having fun.  But I wouldn't get in their way if I were you.  They enjoy playing \"Spin the Dweeb\" with any non-skaters who happen to wander into their air space."
        view 400
        loop 1
        priority 2
        signal 24592
    )

    (method (doit param1)
        (if ((not (send global2:script) and proc999_5((send gEgo:view) 406 398)) and (self:onMe(gEgo)))
            (send global2:setScript(spinEgo self))
        )
        (super:doit(rest param1))
    )

)
(instance skater2 of Actor
    (properties
        x 65436
        y 65436
        description "Zero-G skater"
        lookStr "The Zero-G skaters look to be having fun.  But I wouldn't get in their way if I were you.  They enjoy playing \"Spin the Dweeb\" with any non-skaters who happen to wander into their air space."
        view 400
        loop 2
        priority 2
        signal 24592
    )

    (method (doit param1)
        (if ((not (send global2:script) and proc999_5((send gEgo:view) 323 398)) and (self:onMe(gEgo)))
            (send global2:setScript(spinEgo self))
        )
        (if (> x 204)
            (self:setPri(10))
        )(else
            (self:setPri(2))
        )
        (super:doit(rest param1))
    )

)
(instance spinEgo of Script
    (properties)

    (method (doit param1)
        (super:doit(rest param1))
        (if (proc0_5(gEgo 4) or proc0_5(gEgo 2))
            (send gEgo:setMotion(0))
            (send (ScriptID(700 4)):inertia(0))
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                = register 
                    (if (> (send caller:x) (send gEgo:x))
                        1
                    )(else
                        -1
                    )
                = caller 0
                (send gEgo:
                    view
                    loop(0)
                    cel(1)
                )
            )
            (case 1
                (send gEgo:
                    setCycle(CT (send gEgo:cel) register self)
                    cycleSpeed(1)
                )
            )
            (case 2
                (send gEgo:
                    setCycle(CT (send gEgo:cel) register self)
                    cycleSpeed(2)
                )
            )
            (case 3
                (send gEgo:
                    view
                    loop(1)
                )
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance enterAndShootEgo of Script
    (properties)

    (method (doit param1)
        (if ((send global2:script))
        )(else
            (if ((>= (send gEgo:x) 298) and proc999_5(state 0 3 6))
                (self:changeState(7))
            )(else
                (if (proc999_5((send gEgo:view) 406 407) and proc999_5(state 0 3 6))
                    (self:changeState(9))
                )
            )
        )
        (super:doit(rest param1))
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = seconds 5
            )
            (case 1
                = local284 259
                = local286 319
                = local285 125
                = local283 Graph(7 (- (= local287 110) 1) (- local284 1) (+ local285 1) local286 1)
                Graph(4 local285 local286 local287 local284 proc0_18(global133 global143) 1 -1)
                Graph(13 - local287 1 - local284 1 + local285 1 local286)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 2
                (blast:
                    init()
                    posn(local284 local287)
                    setCycle(End)
                )
                Graph(8 local283)
                Graph(13 - local287 1 - local284 1 + local285 1 local286)
                = cycles 1
            )
            (case 3
                = cycles 16
            )
            (case 4
                = local284 273
                = local285 137
                = local286 319
                = local283 Graph(7 (- (= local287 110) 1) (- local284 1) (+ local285 1) local286 1)
                Graph(4 local285 local286 local287 local284 proc0_18(global133 global143) 1 -1)
                Graph(13 - local287 1 - local284 1 + local285 1 local286)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 5
                (blast:
                    cel(0)
                    posn(local284 local287)
                    setCycle(End)
                )
                Graph(8 local283)
                Graph(13 - local287 1 - local284 1 + local285 1 local286)
                = cycles 1
            )
            (case 6
                = cycles 14
            )
            (case 7
                (if (proc999_5((send gEgo:view) 406 407 403))
                    (self:changeState((+ state 2)))
                )(else
                    proc0_2()
                    (send gEgo:setMotion(0))
                    = local286 319
                    = local287 100
                    = local284 (+ (send gEgo:x) 3)
                    Graph(4 = local285 (- (send gEgo:y) 30) local284 local287 local286 proc0_18(global133 global143) 1 -1)
                    Graph(13 - local287 1 - local284 1 + local285 1 local286)
                    (aSound:
                        number(105)
                        loop(1)
                        vol(127)
                        play()
                    )
                    = cycles 4
                )
            )
            (case 8
                proc0_10(8 12)
            )
            (case 9
                = cycles 20
            )
            (case 10
                (send (ScriptID(700 7)):
                    show()
                    setLoop(-1)
                    setCel(-1)
                    view(7)
                    setCycle(Walk)
                    posn(326 118)
                    setMotion(MoveTo 299 127 self)
                )
            )
            (case 11
                (send client:setScript(shootEgo))
            )
        )
    )

)
(instance shootEgo of Script
    (properties)

    (method (doit param1)
        (super:doit(rest param1))
        (if (((not state and (> (send gEgo:x) 154)) and (> (send gEgo:y) 6)) and (< local282 8))
            = local282 8
            (send gEgo:setMotion(0))
            (send (ScriptID(700 4)):inertia(0))
            (self:cue())
        )
    )


    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                = register (<= (send gEgo:y) 111)
                (send (ScriptID(700 7)):
                    view(13)
                    setMotion(0)
                    loop(
                        (if (register)
                            1
                        )(else
                            5
                        )
)
                    cel(0)
                    posn(299 127)
                    init()
                )
                = seconds 3
            )
            (case 1
                = register (<= (send gEgo:y) 111)
                (send (ScriptID(700 7)):
                    loop(
                        (if (register)
                            1
                        )(else
                            5
                        )
)
                    cel(0)
                    cycleSpeed(1)
                    setCycle(CT 1 1 self)
                )
            )
            (case 2
                ++local282
                (if (register)
                    = local288 283
                    = local289 
                        (if ((<= 95 (send gEgo:y)) and (<= (send gEgo:y) 111))
                            102
                        )(else
                            98
                        )
                    = local290 proc999_3((+ (send gEgo:x) 6) 1)
                    = local291 proc999_3((- (send gEgo:y) 12) 1)
                )(else
                    = local288 292
                    = local289 105
                    = local290 proc999_3((+ (send gEgo:x) 6) 2)
                    = local291 proc999_2((- (send gEgo:y) 10) 188)
                )
                (if (>= local282 8)
                    = local292 local290
                    = local293 local291
                )(else
                    (if (= temp0 (/ (* (- local291 local289) 100) (- local290 local288)))
                        (if (< (= temp0 (/ (* (- local291 local289) 100) (- local290 local288))) 0)
                            = local293 188
                        )(else
                            = local293 2
                        )
                        = local292 proc999_3(2 (+ (/ (* (- local293 local289) 100) temp0) local288))
                    )(else
                        = local292 2
                        = local293 local289
                    )
                )
                (if ((< local292 0) and temp0)
                    = local293 proc999_3((+ (/ (* temp0 (- (= local292 2) local288)) 100) local289))
                )
                (if (< local293 local289)
                    = local287 local293
                    = local285 local289
                )(else
                    = local287 local289
                    = local285 local293
                )
                = local283 Graph(7 (- local287 1) (- local292 1) (+ local285 1) (+ local288 1) 1)
                Graph(4 local289 local288 local293 local292 proc0_18(global133 global143) 0 -1)
                Graph(13 - local287 1 - local292 1 + local285 1 + local288 1)
                (send (ScriptID(700 7)):setCycle(End))
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 3
                (send (ScriptID(700 7)):
                    cel(0)
                    stopUpd()
                )
                Graph(8 local283)
                Graph(13 - local287 1 - local292 1 + local285 1 + local288 1)
                (if (>= local282 8)
                    (blast:
                        init()
                        cel(0)
                        posn(local290 local291)
                        setCycle(End)
                    )
                    (send gEgo:
                        view(409)
                        setLoop(4)
                        cel(0)
                        setCycle(End self)
                        setMotion(0)
                    )
                )(else
                    = state 0
                    = cycles Random(16 24)
                )
            )
            (case 4
                proc940_0("SQ QUIZ QUESTION #1052\nWhen being shot at by crazed Sequal Police Cyborgs, a space hero should:" 101 101 81 "A>" 0 "Wait patiently until they get lucky?" 101 81 "B>" 1 "Make a list of favorite campfire songs?" 101 81 "C>" 2 "Play with a pink bunny rabbit?" 101 81 "D>" 3 "RUN LIKE HECK!!!")
                proc0_10(8 18)
            )
        )
    )

)
(instance swimAfterEgo of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 
                    (if ((== global12 390) and proc0_6(22))
                        16
                    )(else
                        120
                    )
            )
            (case 1
                (if (((not (send global2:script) and (> (send gEgo:x) 85)) and (> (send gEgo:y) 70)) or ((== global12 390) and proc0_6(22)))
                    (send gEgo:setMotion(0))
                    (send (ScriptID(700 4)):inertia(0))
                    (send (ScriptID(700 6)):
                        show()
                        view(408)
                        setLoop(0)
                        cel(0)
                        setCycle(End)
                        setStep(2 2)
                        posn(
                            (if ((== global12 390) and proc0_6(22))
                                0
                            )(else
                                65498
                            )
 - (send gEgo:y) 18)
                        setMotion(MoveTo 10 - (send gEgo:y) 10 self)
                    )
                )(else
                    (self:changeState(0))
                )
            )
            (case 2
                proc0_2()
                (send (ScriptID(700 6)):
                    view(409)
                    setLoop(0)
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 3
                = local289 (- (send (ScriptID(700 6)):y) 4)
                = local288 (+ (send (ScriptID(700 6)):x) 46)
                = local291 proc999_3(2 proc999_2(188 (- (send gEgo:y) 10)))
                = local290 proc999_3(2 (send gEgo:x))
                (if (< local291 local289)
                    = local287 local291
                    = local285 local289
                )(else
                    = local287 local289
                    = local285 local291
                )
                = local283 Graph(7 (- local287 1) (- local288 1) (+ local285 1) (+ local290 1) 1)
                Graph(4 local289 local288 local291 local290 proc0_18(global133 global143) 1 -1)
                Graph(13 - local287 1 - local288 1 + local285 1 + local290 1 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 4
                Graph(8 local283)
                Graph(13 - local287 1 - local288 1 + local285 1 + local290 1 1)
                (blast:
                    init()
                    cel(0)
                    posn(local290 local285)
                    setCycle(End)
                )
                (send (ScriptID(700 6)):cel(0))
                (send gEgo:
                    view(409)
                    setLoop(5)
                    cel(0)
                    setCycle(End self)
                    setMotion(0)
                )
            )
            (case 5
                proc940_0("SQ QUIZ QUESTION #1052\nWhen being shot at by crazed Sequal Police Androids, a space hero should:" 101 101 81 "A>" 0 "Wait patiently until they get lucky?" 101 81 "B>" 1 "Make a list of favorite campfire songs?" 101 81 "C>" 2 "Play with a pink bunny rabbit?" 101 81 "D>" 3 "RUN LIKE HECK!!!")
                proc0_10(8 18)
            )
        )
    )

)
(instance stayInScript of Script
    (properties)

    (method (changeState newState)
        (var gEgoX, temp1)
        (switch (= state newState)
            (case 0
                (send ((send gEgo:code)):
                    xOff(0)
                    yOff(0)
                    inertia(0)
                )
                = gEgoX (send gEgo:x)
                = temp1 220
                (send gEgo:
                    illegalBits(0)
                    setMotion(MoveTo gEgoX temp1 self)
                )
            )
            (case 1
                (send ((send gEgo:code)):
                    xOff(0)
                    yOff(0)
                    inertia(0)
                )
                (if (> (send gEgo:x) 238)
                    (send gEgo:x(238))
                )
                (if (< (send gEgo:x) 20)
                    (send gEgo:x(20))
                )
                Animate((send global5:elements) 0)
                = gEgoX (send gEgo:x)
                = temp1 185
                (send gEgo:setMotion(MoveTo gEgoX temp1 self))
            )
            (case 2
                (send gEgo:illegalBits(32768))
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance blast of Prop
    (properties
        view 28
    )
)
(instance skateorama of Feature
    (properties
        x 275
        y 100
        description "Skate-O-Rama"
        sightAngle 180
        lookStr "It's a Zero-G Skate-O-Rama.  In here, the mall's gravity generators have no effect, providing an ideal and unique entertainment opportunity for the entire family."
    )

    (method (onMe param1)
        return == OnControl(4 (send param1:x) (send param1:y)) 2048
    )

)
(instance light of Feature
    (properties
        x 319
        y 189
        description "center light"
        lookStr "The Skate-O-Rama is illuminated by a nearby sun whose glow is reflected through a mirror set into the floor.  With this latest innovation, you can now enjoy Zero-G while tuning up your tan."
    )

    (method (onMe param1)
        return == OnControl(4 (send param1:x) (send param1:y)) 1024
    )

)
(instance steps of Feature
    (properties
        x 40
        y 90
        description "steps"
        sightAngle 180
        lookStr "These steps lead up to the rest of the Galaxy Galleria Mall."
    )

    (method (onMe param1)
        return & OnControl(4 (send param1:x) (send param1:y)) $1002
    )

)
(instance wall of Feature
    (properties
        x 110
        y 80
        description "wall"
        sightAngle 180
        lookStr "These walls protect shoppers from errant skaters."
    )

    (method (onMe param1)
        return 
            (if (not (& OnControl(4 (send param1:x) (send param1:y)) $e000) and (& OnControl(4 (send param1:x) (send param1:y)) $0004))
                > (send param1:y) 71
            )(else
                0
            )
    )

)
(instance restOfMall of Feature
    (properties
        x 110
        y 80
        description "rest of the mall"
        sightAngle 180
        lookStr "The rest of the Galaxy Galleria awaits the unwary and uninformed shopper."
    )

    (method (onMe)
        return 1
    )

)
(instance skate1Snd of Sound
    (properties
        number 401
        priority 15
        loop -1
    )
)
(instance skate2Snd of Sound
    (properties
        number 401
        priority 15
        loop -1
    )
)
(instance aSound of Sound
    (properties)
)
