(include "sci.sh")
(use "Main")
(use "Class_255_0")
(use "mall")
(use "BeltWay")
(use "rmnScript")
(use "SQRoom")
(use "MCyc")
(use "PolyPath")
(use "Polygon")
(use "Class_950_0")
(use "n958")
(use "StopWalk")
(use "Rev")
(use "Sound")
(use "Cycle")
(use "PicView")
(use "Obj")
(script 400)


(local
    local0[93] = (0 0 65436 65436 0 0 241 5 0 0 227 12 0 0 212 16 0 0 194 22 0 0 174 27 0 0 148 32 0 1 123 36 0 2 98 35 0 3 83 38 0 4 71 40 0 5 60 45 0 6 50 46 0 7 42 50 0 8 38 50 0 9 46 49 0 10 57 43 0 10 69 38 0 10 80 32 0 10 93 25 0 10 108 15 0 10 115 6 0 0 65436 65436 32768 )
    local93[190] = (0 0 65436 65436 1 0 184 65530 1 0 179 4 1 0 172 16 1 0 160 24 1 1 149 29 1 1 141 36 1 2 133 43 1 2 129 50 1 3 125 59 1 4 128 66 1 4 139 70 1 4 152 72 1 5 161 73 1 6 176 74 1 6 191 73 1 7 203 71 1 7 216 65 1 7 228 58 1 7 239 53 1 7 250 47 1 7 262 40 1 7 275 32 1 7 288 23 1 7 302 13 1 7 314 7 0 0 65436 65436 32768 0 0 65436 65436 4 0 26 7 4 0 30 17 4 0 31 26 4 0 33 34 4 1 39 38 4 1 47 39 4 2 55 40 4 3 64 41 4 4 71 41 4 5 78 40 4 6 85 38 4 0 92 36 4 1 97 32 4 2 104 29 4 2 113 25 4 2 121 18 4 2 129 10 4 2 136 4 0 0 65436 65436 32768 )
    local283
    local284
    gEgoX_2
    gEgoX_3
    gEgoX
    local288
    theGEgoX_3
    local290
    local291
    local292

)
(instance public rm400 of SQRoom
    (properties
        picture 400
        style 30
        east 395
        west 370
    )

    (method (init)
        = global34 0
        proc0_2()
        proc958_0(128 7 400 401)
        proc958_0(132 400 401 405)
        (send gLongSong:
            number(405)
            vol(127)
            loop(-1)
            priority(1)
            play()
        )
        (send gLongSong2:
            number(0)
            vol(0)
            stop()
        )
        (switch (gWest)
            (case west
                (if (== (send (ScriptID(700 0)):whichBelt) 1)
                    = theGEgoX_3 65524
                    = local290 93
                )(else
                    = theGEgoX_3 65524
                    = local290 151
                )
                (send gEgo:
                    x(theGEgoX_3)
                    y(local290)
                    setLoop(gStopGroop)
                    observeControl(64)
                )
                (self:setScript(ScriptID(700 1) 0 egoBwBlue))
            )
            (case east
                (if (== (send (ScriptID(700 0)):whichBelt) 1)
                    = theGEgoX_3 331
                    = local290 93
                )(else
                    = theGEgoX_3 331
                    = local290 151
                )
                (send gEgo:
                    x(theGEgoX_3)
                    y(local290)
                    setLoop(gStopGroop)
                    observeControl(64)
                )
                (self:setScript(ScriptID(700 1) 0 egoBwCyan))
            )
            (default 
                (send gLongSong:
                    vol(20)
                    flags(1)
                    play()
                )
                (escSnd:vol(127))
                (self:setScript(fromCarScript))
            )
        )
        (if ((send ((send gInv:at(12))):ownedBy(400)))
            (cigar:init())
        )
        (if (proc700_3(ScriptID(700 0) 509 64) and not (send gEgo:has(10)))
            (card:
                init()
                setCel(6)
            )
        )
        (super:init())
        (if (<> gWest 365)
            (send gEgo:
                setPri(-1)
                init()
            )
        )
        (skater0:
            init()
            setScript(Clone(skaterScript))
        )
        (skater1:
            init()
            setScript(Clone(skaterScript))
        )
        (skater2:
            init()
            setScript(Clone(skaterScript))
        )
        (self:addObstacle((send ((Polygon:new())):
                type(2)
                init(209 189 209 176 219 176 219 171 318 171 319 189)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(319 131 237 134 232 130 220 130 213 114 219 112 222 108 319 98)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(319 81 224 88 205 93 126 93 88 87 0 78 0 0 319 0)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(0 98 92 107 93 112 97 115 91 130 81 130 75 137 0 134)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(0 170 95 170 95 176 101 176 101 189 0 189)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(131 189 131 175 181 175 181 189)
                yourself()
            )
))
        (send (ScriptID(700 6)):
            view(7)
            loop(3)
            cel(0)
            x(196)
            y(248)
            init()
            stopUpd()
        )
        (if (Btest(22) or Btest(23))
            Load(rsSOUND 105)
            proc958_0(128 28 13 26)
            Load(rsFONT 68 69)
            (send (ScriptID(700 6)):setScript(plugEgo))
        )(else
            (if (Btest(19))
                Load(rsSOUND 105)
                proc958_0(128 28 13 26)
                Load(rsFONT 68 69)
                Bset(23)
                Bset(13)
                (if (== gWest 370)
                    (send (ScriptID(700 6)):setScript(twoSPright))
                )(else
                    (send (ScriptID(700 6)):setScript(twoSPleft))
                )
            )
        )
        (lator1:
            setScript(escScript)
            init()
            setCycle(Fwd)
        )
        (lator2:
            init()
            setCycle(Rev)
        )
        (escSnd:init())
        (self:setRegions(700))
        (send gFeatures:
            addToFront(bush1 bush2 belts skateorama island1 island2)
            eachElementDo(102)
            doit()
        )
    )


    (method (doit)
        (var temp0)
        (if (script)
            0
        )(else
            (if ((not (send (ScriptID(700 7)):script) and (<> (send gEgo:view) 26)) and (== (send gEgo:edgeHit) 2))
                proc0_2()
                (send (ScriptID(700 0)):enterBelt(egoBwRed))
                (self:setScript(ScriptID(700 2) 0 east))
            )(else
                (if ((not (send (ScriptID(700 7)):script) and (<> (send gEgo:view) 26)) and (== (send gEgo:edgeHit) 4))
                    proc0_2()
                    (send (ScriptID(700 0)):enterBelt(egoBwGreen))
                    (self:setScript(ScriptID(700 2) 0 west))
                )(else
                    (if (proc0_5(gEgo 4))
                        (egoBwGreen:
                            who(gEgo)
                            doit()
                        )
                        (send (ScriptID(700 0)):whichBelt(1))
                        proc700_5(0)
                    )(else
                        (if (proc0_5(gEgo 2))
                            (egoBwBlue:
                                who(gEgo)
                                doit()
                            )
                            (send (ScriptID(700 0)):whichBelt(2))
                            proc700_5(0)
                        )(else
                            (if (proc0_5(gEgo 8))
                                (egoBwCyan:
                                    who(gEgo)
                                    doit()
                                )
                                (send (ScriptID(700 0)):whichBelt(1))
                                proc700_5(0)
                            )(else
                                (if (proc0_5(gEgo 16))
                                    (egoBwRed:
                                        who(gEgo)
                                        doit()
                                    )
                                    (send (ScriptID(700 0)):whichBelt(2))
                                    proc700_5(0)
                                )(else
                                    (if ((((egoBwGreen:onCon) or (egoBwBlue:onCon)) or (egoBwCyan:onCon)) or (egoBwRed:onCon))
                                        (egoBwGreen:onCon(0))
                                        (egoBwBlue:onCon(0))
                                        (egoBwCyan:onCon(0))
                                        (egoBwRed:onCon(0))
                                        (send gEgo:
                                            xStep(3)
                                            yStep(2)
                                            setPri(-1)
                                        )
                                        proc700_5(1)
                                    )(else
                                        (if (proc0_5(gEgo 32))
                                            proc0_2()
                                            (self:setScript(downLatorScript))
                                        )(else
                                            (if (proc0_5(gEgo 64))
                                                proc0_2()
                                                (self:setScript(joyRiding))
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
        (if (not (send (ScriptID(700 7)):script) and (<> (send gEgo:view) 26))
            (super:doit())
        )
    )


    (method (dispose)
        = global34 1
        DisposeScript(804)
        (super:dispose())
    )

)
(instance egoBwGreen of BeltWay
    (properties
        xStep 2
        xOff 2
        yOff -1
        xTweak 2
        key 90
        head 277
        xDir -1
        yDir 1
    )
)
(instance egoBwCyan of BeltWay
    (properties
        xStep 2
        xOff 2
        yOff 1
        xTweak 2
        key 90
        head 262
        xDir -1
        yDir 1
    )
)
(instance egoBwBlue of BeltWay
    (properties
        xStep 2
        xOff 2
        yOff -1
        xTweak 2
        key 270
        head 96
        xDir 1
        yDir -1
    )
)
(instance egoBwRed of BeltWay
    (properties
        xStep 2
        xOff 2
        yOff 1
        xTweak 2
        key 270
        head 86
        xDir 1
        yDir -1
    )
)
(instance skater0 of Prop
    (properties
        x 65436
        y 65436
        description "skater"
        lookStr "These skaters have a new twist on skating - BlowBy foot thrusters boost them around nicely."
        view 400
        priority 2
        signal 24592
    )
)
(instance skater1 of Prop
    (properties
        x 65436
        y 65436
        description "skater"
        lookStr "These skaters have a new twist on skating - BlowBy foot thrusters boost them around nicely."
        view 400
        loop 1
        priority 2
        signal 24592
    )
)
(instance skater2 of Prop
    (properties
        x 65436
        y 65436
        description "skater"
        lookStr "These skaters have a new twist on skating - BlowBy foot thrusters boost them around nicely."
        view 400
        loop 2
        priority 2
        signal 24592
    )
)
(instance lator1 of Prop
    (properties
        x 116
        y 189
        description "down escalator"
        lookStr "This escalator carries weary, destitute shoppers back to their vehicles stowed in the parking garage below."
        view 401
        priority 4
        signal 16400
    )
)
(instance escScript of Script
    (properties)

    (method (doit)
        (var temp0)
        (if (not (lator1:cel))
            = temp0 GetDistance((send gEgo:x) (send gEgo:y) 156 175)
            (if (< temp0 0)
                = temp0 0
            )(else
                (if (> temp0 300)
                    = temp0 300
                )
            )
            (escSnd:
                vol(- 127 (/ temp0 3))
                play()
            )
        )
        (super:doit())
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 2
            )
        )
    )

)
(instance escSnd of Sound
    (properties
        number 400
    )
)
(instance lator2 of Prop
    (properties
        x 196
        y 189
        description "up escalator"
        lookStr "This escalator carries excited, wealthy shoppers up from the parking garage below."
        view 401
        priority 4
        signal 16400
    )
)
(instance blast of Prop
    (properties
        view 28
    )
)
(instance cigar of View
    (properties
        x 220
        y 114
        description "cigar"
        lookStr "It's a cigar, but not much more than a butt."
        view 401
        loop 5
        signal 16400
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                proc0_2()
                proc700_5(1)
                (send global2:setScript(getSomethingScript 0 self))
            )
            (case 11
                Print("Geeze! You wonder what pachyderm scented grease loaf was kind enough to contribute this used cigar to the cuff-level decor.")
            )
            (case 10
                Print("You don't know this cigar's history. But, you better not try it.")
            )
            (default 
                (super:doVerb(param1 rest param2))
            )
        )
    )

)
(instance card of Prop
    (properties
        x 167
        y 151
        description "ATM Card"
        sightAngle 90
        lookStr "It's an AutoBucks Teller Machine card."
        view 401
        loop 4
        priority 1
        signal 18448
    )

    (method (init param1)
        (super:init(rest param1))
        (self:doit())
    )


    (method (doit)
        (super:doit())
        (if (<> (self:cel) 6)
            (self:
                setPri(-1)
                x(+ (self:x) 2)
            )
        )
    )


    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                proc0_2()
                proc700_5(1)
                (send global2:setScript(getSomethingScript 0 self))
            )
            (default 
                (super:doVerb(param1 rest param2))
            )
        )
    )

)
(instance getSomethingScript of Script
    (properties)

    (method (doit)
        (super:doit())
        (if (& (send gEgo:signal) $0400)
            Print("This geek seems to have gotten in your way.")
            proc0_3()
            (self:dispose())
        )
    )


    (method (changeState newState)
        (var temp0, temp1, temp2)
        (switch (= state newState)
            (case 0
                proc0_13(gEgo register)
                = temp0 (- GetDistance((send gEgo:x) (send gEgo:y) (send register:x) (send register:y)) 10)
                = temp1 (+ (send gEgo:x) SinMult((send gEgo:heading) temp0))
                = temp2 (- (send gEgo:y) CosMult((send gEgo:heading) temp0))
                (send gEgo:setMotion(PolyPath temp1 temp2 self))
            )
            (case 1
                (switch (register)
                    (case card
                        Print("You pick up the ATM Card.")
                        (send gEgo:get(10))
                        proc0_11(80 2)
                    )
                    (case cigar
                        Print("You retrieve the cigar butt.")
                        (send gEgo:get(12))
                        proc0_11(81 5)
                    )
                )
                proc0_3()
                (send register:dispose())
                (self:dispose())
            )
        )
    )

)
(instance joyRiding of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = local292 (send ((send gEgo:cycler)):vStopped)
                (send gEgo:setMotion(MoveTo (send gEgo:x) (+ (send gEgo:y) 3) self))
            )
            (case 1
                (send gEgo:
                    setHeading(180)
                    setCycle(Fwd)
                )
                = seconds 3
            )
            (case 2
                (send gEgo:
                    setHeading(90)
                    setCycle(StopWalk local292)
                    setMotion(MoveTo (send gEgo:x) - (send gEgo:y) 5 self)
                )
            )
            (case 3
                Print("Wasn't much fun, was it?")
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance babe1 of Actor
    (properties
        x 195
        y 248
        view 401
        loop 1
        signal 30720
        illegalBits 0
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setCycle(0)
            setMotion(MoveTo (self:x) 158)
        )
    )

)
(instance babe2 of Actor
    (properties
        x 186
        y 255
        view 401
        loop 1
        cel 1
        signal 30720
        illegalBits 0
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setCycle(0)
            setMotion(MoveTo (self:x) 166)
        )
    )

)
(instance babe3 of Actor
    (properties
        x 204
        y 255
        view 401
        loop 1
        cel 2
        signal 30720
        illegalBits 0
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setCycle(0)
            setMotion(MoveTo (self:x) 167)
        )
    )

)
(instance fromCarScript of rmnScript
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gEgo:
                    x(196)
                    y(262)
                    init()
                )
                = cycles 2
            )
            (case 1
                (send gLongSong:fade(127 10 5 0))
                proc0_1(0 402)
                proc0_9(14)
                (send gEgo:
                    x(65436)
                    y(65436)
                )
                = cycles 10
            )
            (case 2
                (babe1:init())
                (babe2:init())
                (babe3:init())
                (send gEgo:
                    x(196)
                    y(262)
                    init()
                    setCycle(0)
                    setMotion(MoveTo 196 172 self)
                )
            )
            (case 3
                proc0_1(3 402)
                (send gEgo:
                    observeControl(64)
                    setCycle(StopWalk 14)
                )
                proc700_5(1)
                = cycles 3
            )
            (case 4
                (self:save1(proc0_12("\"SALE!!\"" 67 -1 103 30 1)))
                (babe1:
                    setLoop(2)
                    setCycle(End)
                )
                = seconds 4
            )
            (case 5
                (self:restore())
                = cycles 1
            )
            (case 6
                (babe1:
                    setLoop(3)
                    setCel(-1)
                    setStep(5 3)
                    setCycle(Walk)
                    setMotion(PolyPath 80 109 self)
                )
                (babe2:dispose())
                (babe3:dispose())
                = cycles 3
            )
            (case 7
                (card:
                    init()
                    setCycle(End)
                    x(- (babe1:x) 23)
                    y((babe1:y))
                )
                (mall:rFlag1((| (mall:rFlag1) $0040)))
            )
            (case 8
                (card:setPri(1))
                (babe1:
                    setStep(7 3)
                    setMotion(MoveTo 65496 111 self)
                )
            )
            (case 9
                (babe1:dispose())
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance plugEgo of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send (ScriptID(700 6)):
                    posn(160 (send gEgo:y))
                    loop(2)
                    cel(2)
                )
                = cycles 10
            )
            (case 1
                = register (< (send gEgo:x) (send (ScriptID(700 6)):x))
                (send (ScriptID(700 6)):
                    view(13)
                    loop(
                        (if (register)
                            1
                        )(else
                            0
                        )
)
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 2
                proc0_2()
                (send gEgo:setMotion(0))
                = local290 (- (send (ScriptID(700 6)):y) 28)
                = theGEgoX_3 
                    (if (register)
                        144
                    )(else
                        176
                    )
                = local288 (- (send gEgo:y) 31)
                = gEgoX (send gEgo:x)
                (if (< gEgoX theGEgoX_3)
                    = gEgoX_2 gEgoX
                    = gEgoX_3 theGEgoX_3
                )(else
                    = gEgoX_2 theGEgoX_3
                    = gEgoX_3 gEgoX
                )
                (if (< local288 local290)
                    = local283 local288
                    = local284 local290
                )(else
                    = local283 local290
                    = local284 local288
                )
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                Graph(4 local290 theGEgoX_3 local288 gEgoX proc0_18(global133 global143) - (send gEgo:priority) 1 -1)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 3
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (blast:
                    init()
                    posn(gEgoX local288)
                    cel(0)
                    setPri(+ (send gEgo:priority) 1)
                    setCycle(End self)
                )
                (send gEgo:
                    view(26)
                    cel(0)
                    cycleSpeed(1)
                    setCycle(End)
                )
                (send (ScriptID(700 6)):cel(0))
            )
            (case 4
                proc0_10(8 25)
            )
        )
    )

)
(instance twoSPright of rmnScript
    (properties)

    (method (doit param1)
        (super:doit(rest param1))
        (if (not state and (> (send gEgo:x) 90))
            (self:cue())
        )(else
            (if ((< state 10) and (((> (send gEgo:y) 174) and (send (ScriptID(700 6)):loop(2))) or (> (send gEgo:x) 118)))
                = cycles 0
                (self:changeState(10))
            )
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send (ScriptID(700 7)):
                    posn(229 163)
                    loop(2)
                    cel(2)
                    init()
                    stopUpd()
                )
                (send (ScriptID(700 6)):
                    posn(213 106)
                    view(13)
                    loop(0)
                    cel(0)
                    stopUpd()
                )
            )
            (case 1
                (send (ScriptID(700 7)):
                    loop(1)
                    forceUpd()
                )
                (send (ScriptID(700 6)):
                    loop(3)
                    forceUpd()
                )
                = cycles 6
            )
            (case 2
                (self:save1(proc0_12("HALT, WILCO!" 67 -1 100 28 gBack 29 proc0_18(global139 global149) 30 1)))
                (send (ScriptID(700 6)):
                    loop(1)
                    forceUpd()
                )
                (send (ScriptID(700 7)):setScript(uStayIGo))
                = seconds 2
            )
            (case 3
                (self:restore())
                = cycles 5
            )
            (case 4
                (send (ScriptID(700 6)):setCycle(CT 1 1 self))
            )
            (case 5
                = local283 74
                = local284 95
                = gEgoX_2 4
                = gEgoX_3 186
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                Graph(4 local283 gEgoX_3 local284 gEgoX_2 proc0_18(global133 global143) 3 -1)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 6
                (send (ScriptID(700 6)):setCycle(End))
                (blast:
                    init()
                    posn(4 95)
                    setCycle(End)
                )
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                = local291 0
                = cycles 18
            )
            (case 7
                (send (ScriptID(700 6)):
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 8
                = local283 74
                = local284 78
                = gEgoX_2 74
                = gEgoX_3 186
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                Graph(4 local284 gEgoX_3 local283 gEgoX_2 proc0_18(global133 global143) 3 -1)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 9
                (send (ScriptID(700 6)):setCycle(End))
                (blast:
                    posn(73 74)
                    setPri(6)
                    setCycle(End)
                )
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                = local291 0
                = cycles 15
            )
            (case 10
                (send (ScriptID(700 6)):
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 11
                proc0_2()
                (send gEgo:setMotion(0))
                = local283 proc999_2((- (send gEgo:y) 31) 75)
                = local284 proc999_3((- (send gEgo:y) 31) 75)
                = gEgoX_2 (send gEgo:x)
                = gEgoX_3 186
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                (if (== local283 75)
                    Graph(4 local283 gEgoX_3 local284 gEgoX_2 proc0_18(global133 global143) - (send gEgo:priority) 1 -1)
                )(else
                    Graph(4 local284 gEgoX_3 local283 gEgoX_2 proc0_18(global133 global143) - (send gEgo:priority) 1 -1)
                )
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 12
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (send gEgo:
                    view(26)
                    cel(0)
                    cycleSpeed(1)
                    setCycle(End self)
                )
            )
            (case 13
                proc0_10(8 3)
            )
        )
    )

)
(instance twoSPleft of rmnScript
    (properties)

    (method (doit param1)
        (super:doit(rest param1))
        (if (not state and (< (send gEgo:x) 228))
            (self:cue())
        )(else
            (if ((< (send gEgo:x) 202) and (< state 10))
                = cycles 0
                (self:changeState(10))
            )
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send (ScriptID(700 7)):
                    posn(84 161)
                    loop(2)
                    cel(2)
                    init()
                    stopUpd()
                )
                (send (ScriptID(700 6)):
                    posn(102 141)
                    view(13)
                    loop(1)
                    cel(0)
                    stopUpd()
                )
            )
            (case 1
                (send (ScriptID(700 7)):
                    loop(0)
                    forceUpd()
                )
                (send (ScriptID(700 6)):
                    loop(3)
                    forceUpd()
                )
                = cycles 4
            )
            (case 2
                (send (ScriptID(700 7)):stopUpd())
                (send (ScriptID(700 6)):
                    loop(0)
                    forceUpd()
                )
                (self:save1(proc0_12("HALT, WILCO!" 67 -1 100 28 gBack 29 proc0_18(global139 global149) 30 1)))
                (send (ScriptID(700 7)):setScript(uStayIGo))
                = seconds 2
            )
            (case 3
                (self:restore())
                = cycles 8
            )
            (case 4
                (send (ScriptID(700 6)):setCycle(CT 1 1 self))
            )
            (case 5
                = local283 109
                = local284 111
                = gEgoX_2 124
                = gEgoX_3 254
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                Graph(4 local284 gEgoX_2 local283 gEgoX_3 proc0_18(global133 global143) 3 -1)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 6
                (send (ScriptID(700 6)):setCycle(End))
                (blast:
                    init()
                    posn(254 109)
                    setPri(7)
                    setCycle(End)
                )
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                = local291 0
                = cycles 24
            )
            (case 7
                (send (ScriptID(700 6)):
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 8
                = local283 107
                = local284 111
                = gEgoX_2 124
                = gEgoX_3 279
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                Graph(4 local284 gEgoX_2 local283 gEgoX_3 proc0_18(global133 global143) 3 -1)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 9
                (send (ScriptID(700 6)):setCycle(End))
                (blast:
                    posn(279 107)
                    setPri(6)
                    setCycle(End self)
                )
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                = local291 0
                = cycles 16
            )
            (case 10
                (send (ScriptID(700 6)):
                    loop(
                        (if (> (send gEgo:x) 161)
                            0
                        )(else
                            3
                        )
)
                    cel(0)
                    setCycle(CT 1 1 self)
                )
            )
            (case 11
                proc0_2()
                (send gEgo:setMotion(0))
                = local283 proc999_2((- (send gEgo:y) 31) 108)
                = local284 proc999_3((- (send gEgo:y) 31) 108)
                = gEgoX_3 (send gEgo:x)
                = gEgoX_2 119
                = local291 Graph(7 (- local283 1) (- gEgoX_2 1) (+ local284 1) (+ gEgoX_3 1) 1)
                (if (== local283 108)
                    Graph(4 local283 gEgoX_2 local284 gEgoX_3 proc0_18(global133 global143) - (send gEgo:priority) 1 -1)
                )(else
                    Graph(4 local284 gEgoX_2 local283 gEgoX_3 proc0_18(global133 global143) - (send gEgo:priority) 1 -1)
                )
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 12
                Graph(8 local291)
                Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                (send gEgo:
                    view(26)
                    cel(0)
                    cycleSpeed(1)
                    setCycle(End self)
                )
            )
            (case 13
                proc0_10(8 3)
            )
        )
    )

)
(instance uStayIGo of rmnScript
    (properties)

    (method (doit param1)
        (if ((not state and (send gEgo:edgeHit)) and (<> (send gEgo:view) 26))
            (self:cue())
        )
        (super:doit(rest param1))
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (if (local291)
                    Graph(8 local291)
                    Graph(13 - local283 1 - gEgoX_2 1 + local284 1 + gEgoX_3 1)
                )
                (send (ScriptID(700 6)):cel(0))
            )
            (case 1
                proc0_2()
                (send gEgo:hide())
                (send (ScriptID(700 6)):
                    view(7)
                    loop(2)
                    cel(2)
                    setScript(0)
                )
                (send (ScriptID(700 7)):
                    forceUpd()
                    loop(3)
                )
                = seconds 3
            )
            (case 2
                (self:save1(proc0_12("I shall pursue the Wilco unit.\n   Stay and guard the area." 67 -1 40 28 gBack 29 proc0_18(global139 global149) 30 1)))
                = seconds 6
            )
            (case 3
                (self:restore())
                = cycles 2
            )
            (case 4
                (self:save1(proc0_12("Affirmative." 67 -1 123 30 1)))
                = seconds 4
            )
            (case 5
                (self:restore())
                (send (ScriptID(700 6)):
                    setCycle(Walk)
                    setMotion(MoveTo 160 (send (ScriptID(700 6)):y) self)
                )
            )
            (case 6
                (send global2:setScript(0))
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance downLatorScript of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                = temp0 CelHigh((send gEgo:view) (send gEgo:loop) (send gEgo:cel))
                (send gEgo:
                    setCycle(0)
                    setMotion(MoveTo (send gEgo:x) + 189 temp0 self)
                )
            )
            (case 1
                = cycles 30
            )
            (case 2
                (if (gTheNewDialog)
                    (send gTheNewDialog:dispose())
                )
                (send gEgo:
                    setLoop(2)
                    posn(196 248)
                    ignoreControl(64)
                    setMotion(MoveTo 196 177 self)
                )
            )
            (case 3
                (send (ScriptID(700 6)):
                    illegalBits(0)
                    setCycle(0)
                    setLoop(3)
                    setMotion(MoveTo 196 172 self)
                )
                (send gEgo:
                    setCycle(Rev)
                    setMotion(MoveTo 196 155 self)
                )
            )
            (case 4
                (send gEgo:setCycle(0))
                0
            )
            (case 5
                proc0_10(8 26)
            )
        )
    )

)
(instance skaterScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = seconds Random(2 10)
            )
            (case 1
                (switch (client)
                    (case skater0
                        (send client:setCycle(MCyc @local0 self))
                    )
                    (case skater1
                        (send client:setCycle(MCyc @local93 self))
                    )
                    (case skater2
                        (send client:setCycle(MCyc @local65482 self))
                    )
                )
            )
            (case 2
                (self:init())
            )
        )
    )

)
(instance skateorama of Feature
    (properties
        x 159
        y 64
        z 24
        description "Skate-O-Rama"
        lookStr "It's a Zero-G Skate-O-Rama. The skaters look to be having fun."
    )

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

)
(instance island1 of Feature
    (properties
        x 41
        y 123
        z 10
        nsTop 96
        nsBottom 130
        nsRight 82
        description "island"
        lookStr "They're just islands between the belt ways."
    )
)
(instance island2 of Feature
    (properties
        x 278
        y 112
        nsTop 95
        nsLeft 238
        nsBottom 130
        nsRight 319
        description "island"
        lookStr "They're just islands between the belt ways."
    )
)
(instance belts of Feature
    (properties
        description "belt ways"
        sightAngle 180
        lookStr "These convenient beltways move shoppers around the mall allowing them to save energy to spend more money."
    )

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

)
(instance bush1 of Feature
    (properties
        x 17
        y 100
        nsTop 96
        nsLeft 13
        nsBottom 108
        nsRight 26
        description "fabricated flora"
        lookStr "This is a fine example of the wonders of fabricated flora."
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 11
                Print("The fabricated flora has an equally realistic and artificial smell.")
            )
            (case 10
                Print("You know that eating plastic plants places pressure on your plumbing. You learned that reading JANITORIAL DIGEST.")
            )
            (default 
                (super:doVerb(param1 rest param2))
            )
        )
    )

)
(instance bush2 of Feature
    (properties
        x 294
        y 102
        nsTop 94
        nsLeft 288
        nsBottom 108
        nsRight 304
        description "fabricated flora"
        lookStr "This is a fine example of the wonders of fabricated flora."
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 11
                Print("The fabricated flora has an equally realistic and artificial smell.")
            )
            (case 10
                Print("You know that eating plastic plants places pressure on your plumbing. You learned that reading JANITORIAL DIGEST.")
            )
            (default 
                (super:doVerb(param1 rest param2))
            )
        )
    )

)
(instance aSound of Sound
    (properties)
)
