(include "sci.sh")
(use "Main")
(use "Class_255_0")
(use "SQRoom")
(use "PolyPath")
(use "Polygon")
(use "Class_950_0")
(use "Sound")
(use "Cycle")
(use "PicView")
(use "Obj")
(script 376)


(local
    local0
    local1
    local2
    gEgoX
    local4
    local5
    local6
    theKid[7]
    local14
    local15

)
(instance public rm376 of SQRoom
    (properties
        picture 376
        style 30
        south 375
    )

    (method (init)
        = local15 (send global1:detailLevel)
        proc0_3()
        (if (not proc0_6(2))
            (self:setRegions(700))
        )(else
            DisposeScript(700)
        )
        (if (local0 and proc0_6(29))
            Load(rsSOUND 105)
        )
        Load(rsVIEW 376)
        (screen1:init())
        (screen2:
            init()
            setCycle(Fwd)
        )
        (screen3:
            init()
            setCycle(Fwd)
        )
        (screen4:
            init()
            setCycle(Fwd)
        )
        (screen5:
            init()
            setPri(12)
            setCycle(Fwd)
        )
        (screen6:init())
        (screen7:init())
        (if (> (send global1:detailLevel) 2)
            (screen6:setCycle(Fwd))
            (screen7:setCycle(Fwd))
        )
        (screen10:
            init()
            setCycle(Fwd)
        )
        = theKid[0] kid
        (send (= theKid[1] (kid:new())):
            loop(8)
            x(197)
            y(175)
            cycleSpeed(1)
            init()
        )
        (send (= theKid[2] (kid:new())):
            loop(9)
            x(240)
            y(134)
            cycleSpeed(2)
            init()
        )
        (send (= theKid[3] (kid:new())):
            loop(10)
            x(97)
            y(114)
            cycleSpeed(3)
            init()
        )
        (send (= theKid[4] (kid:new())):
            loop(11)
            x(80)
            y(128)
            cycleSpeed(0)
            priority(7)
            signal(16400)
            init()
        )
        (send (= theKid[5] (kid:new())):
            loop(12)
            x(118)
            y(172)
            cycleSpeed(1)
            init()
        )
        (send (= theKid[6] (kid:new())):
            loop(13)
            x(285)
            y(137)
            cycleSpeed(3)
            init()
        )
        (kid:init())
        (basket:
            init()
            addToPic()
        )
        (send gLongSong:
            number(0)
            stop()
        )
        (send gLongSong2:
            vol(127)
            changeState()
        )
        (switch ((send global1:detailLevel))
            (case 0
                (kid:setScript(aniKids 0 1))
            )
            (case 1
                (kid:setScript(aniKids 0 2))
            )
            (case 2
                (kid:setScript(aniKids 0 3))
            )
            (case 3
                (kid:setScript(aniKids 0 4))
            )
        )
        (if (proc0_6(5))
            (pod:
                cel(7)
                init()
                stopUpd()
            )
            (hatch:
                init()
                stopUpd()
            )
        )(else
            = local0 1
            (blast:
                init()
                stopUpd()
            )
        )
        (send global32:
            add(changeMachine sushiBar arcadeRoom)
            eachElementDo(102)
            doit()
        )
        (super:init())
        (switch (global12)
            (case 531
                (send gLongSong2:
                    number(19)
                    vol(127)
                    loop(-1)
                    flags(1)
                )
                (self:setScript(
                    (if (proc0_6(2))
                        egoArrives
                    )(else
                        (send gEgo:
                            view(377)
                            loop(3)
                            cel(0)
                            posn(27 156)
                            setPri(12)
                            ignoreActors()
                            illegalBits(0)
                            normal(0)
                            moveHead(0)
                            init()
                        )
                        egoExitsPod
                    )
))
            )
            (case 375
                (send gEgo:
                    posn(
                        (if (> (send gEgo:y) 57)
                            100
                        )(else
                            220
                        )
 188)
                    init()
                )
                (if (proc0_6(3) or (proc0_6(19) and not proc0_6(22)))
                    Load(rsSOUND 105)
                    (sp2:
                        init()
                        setPri(-1)
                        posn((send gEgo:x) 143)
                    )
                    (blast:
                        init()
                        stopUpd()
                    )
                    (self:setScript(shootDown))
                )
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(0 189 0 0 319 0 319 188 257 189 239 181 233 175 234 168 236 161 256 151 289 149 267 132 257 132 255 138 226 138 219 126 238 123 213 108 132 107 130 109 118 109 110 114 96 117 86 127 73 132 61 132 41 145 43 148 59 156 80 158 69 172 59 172 49 177 10 189)
                        yourself()
                    )
 (send ((Polygon:new())):
                        type(2)
                        init(206 185 175 185 175 189 143 189 143 185 115 185 119 176 91 170 96 162 128 162 140 123 118 116 118 112 202 111 202 116 175 123 194 162 219 162 225 180 202 180)
                        yourself()
                    )
))
            )
            (case 290
                (send gLongSong2:
                    number(19)
                    vol(127)
                    loop(-1)
                    flags(1)
                    playBed()
                )
                (send gEgo:
                    posn(58 143)
                    init()
                )
                (if (== ++global191 5)
                    (screen1:lookStr("The Ms. Astro Chicken machine looks as though it's taken its last buckazoid and given its last \"BACOCK!\"."))
                    (send global2:setScript(zapMsChickenS))
                )
                proc0_3()
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(0 189 0 0 319 0 319 188 257 189 239 181 233 175 234 168 236 161 256 151 289 149 267 132 257 132 255 138 226 138 219 126 238 123 213 108 132 107 130 109 118 109 110 114 96 117 86 127 73 132 61 132 41 145 43 148 59 156 80 158 69 172 59 172 49 177 10 189)
                        yourself()
                    )
 (send ((Polygon:new())):
                        type(2)
                        init(206 185 175 185 175 189 143 189 143 185 115 185 119 176 91 170 96 162 128 162 140 123 118 116 118 112 202 111 202 116 175 123 194 162 219 162 225 180 202 180)
                        yourself()
                    )
))
            )
            (default 
                proc0_1()
                (send gEgo:
                    posn(107 184)
                    init()
                )
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(0 189 0 0 319 0 319 188 257 189 239 181 233 175 234 168 236 161 256 151 289 149 267 132 257 132 255 138 226 138 219 126 238 123 213 108 132 107 130 109 118 109 110 114 96 117 86 127 73 132 61 132 41 145 43 148 59 156 80 158 69 172 59 172 49 177 10 189)
                        yourself()
                    )
 (send ((Polygon:new())):
                        type(2)
                        init(206 185 175 185 175 189 143 189 143 185 115 185 119 176 91 170 96 162 128 162 140 123 118 116 118 112 202 111 202 116 175 123 194 162 219 162 225 180 202 180)
                        yourself()
                    )
))
            )
        )
    )


    (method (doit param1)
        (super:doit(rest param1))
        (if (<> local15 (send global1:detailLevel))
            (if (> (= local15 (send global1:detailLevel)) 1)
                (screen6:setCycle(Fwd))
                (screen7:setCycle(Fwd))
            )(else
                (screen6:stopUpd())
                (screen7:stopUpd())
            )
        )
        (if ((((local0 and (== (send gEgo:onControl(1)) 2)) and (== (send gEgo:view) 0)) and (send global5:contains(gEgo))) and proc0_6(29))
            (send gEgo:setScript(spArrive))
        )
    )

)
(instance spArrive of Script
    (properties)

    (method (doit param1)
        (super:doit(rest param1))
        (if ((== state 4) and (== (send gLongSong:prevSignal) -1))
            (self:cue())
        )
    )


    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                (send gLongSong:
                    number(838)
                    vol(127)
                    loop(1)
                    play()
                )
                proc0_2()
                proc0_7(5)
                proc0_7(19)
                proc0_7(8)
                (kid:setScript(0))
                = temp0 0
                (while (<= temp0 6)
                    (send theKid[temp0]:addToPic())
                    ++temp0
                )
                = local0 0
                (sparks:
                    init()
                    setCycle(Fwd)
                )
                = cycles 10
            )
            (case 1
                (send gLongSong:fade())
                (pod:
                    init()
                    setCycle(CT 6 1 self)
                )
            )
            (case 2
                (send gEgo:setHeading(230))
                (hatch:init())
                (pod:cel(7))
                = cycles 1
            )
            (case 3
                (pod:stopUpd())
                (sp1:init())
                = cycles 6
            )
            (case 4
                (send gLongSong:
                    number(124)
                    loop(1)
                    play()
                )
                (sparks:dispose())
            )
            (case 5
                (send gLongSong:
                    number(142)
                    play()
                )
                (hatch:setCycle(End self))
            )
            (case 6
                (send gLongSong:
                    number(0)
                    stop()
                )
                (sp1:setCycle(End self))
            )
            (case 7
                (sp1:
                    view(7)
                    setCycle(Walk)
                    setLoop(-1)
                    setCel(-1)
                    setPri(-1)
                    setStep(2 3)
                )
                (sp2:
                    init()
                    posn(3 159)
                    setMotion(MoveTo 27 156 self)
                )
            )
            (case 8
                (sp1:setMotion(MoveTo 68 155))
                (sp2:
                    posn(27 156)
                    setCycle(End self)
                )
            )
            (case 9
                (sp2:
                    view(7)
                    setCycle(Walk)
                    setLoop(-1)
                    setCel(-1)
                    setPri(-1)
                    setStep(2 3)
                    stopUpd()
                )
                (hatch:setCycle(Beg self))
            )
            (case 10
                (hatch:stopUpd())
                (sp1:setMotion(MoveTo 89 160 self))
            )
            (case 11
                (sp1:setMotion(MoveTo 69 237 self))
            )
            (case 12
                (sp1:dispose())
                proc0_3()
                (sp2:setMotion(MoveTo 60 145 self))
            )
            (case 13
                (sp2:setMotion(MoveTo 112 119 self))
            )
            (case 14
                (sp2:
                    setPri(7)
                    setMotion(MoveTo 203 119 self)
                )
            )
            (case 15
                (sp2:
                    setPri(-1)
                    setMotion(MoveTo 242 188 self)
                )
            )
            (case 16
                (sp2:setMotion(MoveTo 242 220 self))
            )
            (case 17
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance shootDown of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gEgo:setScript(0))
                (sp2:
                    setMotion(0)
                    view(13)
                    setLoop(2)
                    cel(0)
                )
                = cycles 6
            )
            (case 1
                = local14 proc0_12("HALT, WILCO!" 67 (sp2:x) 50 28 global132 29 proc0_18(global139 global149))
                (send gEgo:setMotion(0))
                (sp2:
                    setPri(-1)
                    stopUpd()
                )
                = cycles 7
            )
            (case 2
                proc0_12(local14)
                (sp2:setCycle(CT 2 1 self))
            )
            (case 3
                (if (< (send gEgo:distanceTo(sp2)) 50)
                    (self:changeState(8))
                )(else
                    = local2 (- (sp2:y) 31)
                    = local4 155
                    = local5 (- (sp2:x) 4)
                    = gEgoX 248
                    = local1 Graph(7 local2 (- local5 1) local4 (+ gEgoX 1) 1)
                    Graph(4 local2 local5 local4 gEgoX proc0_18(global133 global132) - (send gEgo:priority) 1 -1)
                    Graph(13 local2 - local5 1 local4 + gEgoX 1)
                    (aSound:
                        number(105)
                        loop(1)
                        vol(127)
                        play()
                    )
                    = cycles 1
                )
            )
            (case 4
                (sp2:cel(0))
                (blast:setCycle(End))
                = cycles 2
            )
            (case 5
                Graph(8 local1)
                Graph(13 local2 - local5 1 local4 + gEgoX 1)
                = cycles 12
            )
            (case 6
                (sp2:setCycle(CT 2 1 self))
            )
            (case 7
                (sp2:stopUpd())
                = cycles 1
            )
            (case 8
                proc0_2()
                (send gEgo:setMotion(0))
                = local2 (- (sp2:y) 31)
                = local4 (- (send gEgo:y) 28)
                = local5 (- (sp2:x) 4)
                = gEgoX (send gEgo:x)
                = local1 Graph(7 local2 (- local5 1) local4 (+ gEgoX 1) 1)
                Graph(4 local2 local5 local4 gEgoX proc0_18(global133 global132) - (send gEgo:priority) 1 -1)
                Graph(13 local2 - local5 1 local4 + gEgoX 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 9
                (blast:
                    cel(0)
                    posn(gEgoX local4)
                    setPri(15)
                    setCycle(End self)
                )
            )
            (case 10
                proc0_10(8 1)
            )
        )
    )

)
(instance shootOther of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gEgo:setScript(0))
                (sp2:
                    setMotion(0)
                    view(13)
                    setLoop(register)
                    cel(0)
                )
                = cycles 2
            )
            (case 1
                = local14 proc0_12("HALT, WILCO!" 67 (sp2:x) 30 28 global132 29 proc0_18(global139 global149))
                (send gEgo:setMotion(0))
                (sp2:stopUpd())
                = cycles 7
            )
            (case 2
                proc0_12(local14)
                (sp2:setCycle(CT 1 1 self))
            )
            (case 3
                (if (== register 3)
                    = local5 (+ (sp2:x) 6)
                    = local4 (- (sp2:y) 33)
                )(else
                    = local5 (+ (sp2:x) 27)
                    = local4 (- (sp2:y) 29)
                )
                = gEgoX (+ (send gEgo:x) 2)
                = local1 Graph(7 (= local2 (- (send gEgo:y) 34)) (- local5 1) local4 (+ gEgoX 1) 1)
                Graph(4 local4 local5 local2 gEgoX proc0_18(global133 global132) - (send gEgo:priority) 1 -1)
                Graph(13 local2 - local5 1 local4 + gEgoX 1)
                (aSound:
                    number(105)
                    loop(1)
                    vol(127)
                    play()
                )
                = cycles 1
            )
            (case 4
                (blast:
                    cel(0)
                    posn(gEgoX local2)
                    setPri(15)
                    setCycle(End self)
                )
            )
            (case 5
                proc0_10(8 1)
            )
        )
    )

)
(instance egoArrives of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                = cycles 8
            )
            (case 1
                (pod:
                    init()
                    setCycle(CT 2 1 self)
                )
            )
            (case 2
                (send gLongSong:
                    number(838)
                    loop(1)
                    vol(127)
                    play()
                )
                (sparks:
                    init()
                    setCycle(Fwd)
                )
                (pod:setCycle(CT 6 1 self))
            )
            (case 3
                (pod:
                    setCel(7)
                    setPri(-1)
                    stopUpd()
                )
                (hatch:
                    init()
                    stopUpd()
                )
                = cycles 12
            )
            (case 4
                (send gLongSong:
                    number(0)
                    stop()
                )
                (sparks:dispose())
                = cycles 1
            )
            (case 5
                proc0_3()
                (send gLongSong2:fade(80 15 10 0))
                (send global2:newRoom(531))
            )
        )
    )

)
(instance egoExitsPod of Script
    (properties)

    (method (doit param1)
        (super:doit(rest param1))
        (if ((== state 0) and (== (send gLongSong:prevSignal) -1))
            (self:cue())
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gLongSong:
                    number(124)
                    vol(127)
                    loop(1)
                    play()
                )
                proc0_7(5)
                = local0 0
                (pod:
                    setCel(7)
                    init()
                    stopUpd()
                )
                (hatch:init())
            )
            (case 1
                (send gLongSong:
                    number(142)
                    play()
                )
                (hatch:setCycle(End self))
            )
            (case 2
                (send gLongSong:stop())
                = cycles 4
            )
            (case 3
                (send gEgo:setCycle(End self))
            )
            (case 4
                (send gLongSong:play())
                (hatch:setCycle(Beg self))
            )
            (case 5
                (send gLongSong:
                    number(125)
                    play()
                )
                (hatch:stopUpd())
                (send gEgo:
                    loop(0)
                    normal(1)
                    moveHead(1)
                    view(0)
                )
                proc0_1()
                (send gEgo:setMotion(PolyPath 51 146 self))
            )
            (case 6
                (send gLongSong:number(0))
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(0 189 0 0 319 0 319 188 257 189 239 181 233 175 234 168 236 161 256 151 289 149 267 132 257 132 255 138 226 138 219 126 238 123 213 108 132 107 130 109 118 109 110 114 96 117 86 127 73 132 61 132 41 145 43 148 59 156 80 158 69 172 59 172 49 177 10 189)
                        yourself()
                    )
 (send ((Polygon:new())):
                        type(2)
                        init(206 185 175 185 175 189 143 189 143 185 115 185 119 176 91 170 96 162 128 162 140 123 118 116 118 112 202 111 202 116 175 123 194 162 219 162 225 180 202 180)
                        yourself()
                    )
))
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance egoEntersPod of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gEgo:setMotion(PolyPath 27 156 self))
            )
            (case 1
                (send gLongSong:
                    number(142)
                    loop(1)
                    vol(127)
                    play()
                )
                (hatch:setCycle(End self))
            )
            (case 2
                (send gLongSong:stop())
                (send gEgo:
                    view(377)
                    loop(3)
                    cel(5)
                    posn(27 156)
                    setPri(13)
                    ignoreActors()
                    illegalBits(0)
                    normal(0)
                    moveHead(0)
                    setCycle(Beg self)
                )
            )
            (case 3
                (if (proc0_6(22))
                    proc0_11(87 15)
                    = cycles 12
                )(else
                    = cycles 4
                )
            )
            (case 4
                (send gLongSong:play())
                (hatch:setCycle(Beg self))
            )
            (case 5
                (send gLongSong:
                    number(125)
                    play()
                )
                = cycles 2
            )
            (case 6
                (send gLongSong:
                    number(0)
                    stop()
                )
                proc0_8(5)
                (send gLongSong2:fade(80 15 10 0))
                (send global2:newRoom(531))
            )
        )
    )

)
(instance playChicken of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gEgo:setMotion(PolyPath 58 143 self))
            )
            (case 1
                (send gEgo:setHeading(270 self))
            )
            (case 2
                (send gLongSong2:fade())
                (send global2:newRoom(290))
            )
        )
    )

)
(instance changeMachineDeathS of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gEgo:
                    view(26)
                    cel(0)
                    setMotion(0)
                    cycleSpeed(1)
                    setCycle(CT 1 1 self)
                )
            )
            (case 1
                (send gEgo:setCycle(Beg self))
            )
            (case 2
                proc0_10(8 29)
            )
        )
    )

)
(instance zapMsChickenS of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (blast:
                    view(28)
                    init()
                    setPri(2)
                    posn(35 113)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 1
                (blast:
                    posn(25 84)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                (blast:
                    posn(0 121)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 3
                (blast:
                    posn(22 103)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 4
                (blast:
                    posn(47 109)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 5
                Print("Whoa! This game's circuits have melted into a mass of molten silicon. But the fireworks sure were pretty!")
                (blast:
                    view(499)
                    dispose()
                )
                (self:dispose())
            )
        )
    )

)
(instance pod of Prop
    (properties
        x 26
        y 161
        description "time pod"
        lookStr "You give the Time Pod a long glance. It's not the most attractive vehicle you've ever seen. It resembles an overgrown titanium tennis shoe."
        view 377
        priority 12
        signal 16400
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                proc0_2()
                (if (not (shootDown:client))
                    (send global2:setScript(egoEntersPod))
                )
            )
            (case 11
                Print("It smells scorched.")
            )
            (case 10
                Print("It tastes scorched. Oxidized materials now coat your tongue.")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )


    (method (onMe param1)
        return 
            (if ((super:onMe(param1)))
                & OnControl(2 (send param1:x) (send param1:y)) $1000
            )(else
                0
            )
    )

)
(instance sparks of Prop
    (properties
        x 32
        y 140
        view 377
        loop 1
        priority 13
        signal 16400
    )

    (method (init param1)
        (super:init(rest param1))
        (aSound:
            number(838)
            loop(1)
            play()
        )
    )


    (method (dispose)
        (aSound:stop())
        (super:dispose())
    )

)
(instance hatch of Prop
    (properties
        x 2
        y 132
        view 377
        loop 2
        priority 14
        signal 16400
    )

    (method (motionCue param1)
        (hatchSound:
            stop()
            loop(0)
        )
        (super:motionCue(rest param1))
    )


    (method (setCycle param1)
        (super:setCycle(rest param1))
        (hatchSound:
            init()
            play()
        )
    )

)
(instance sp1 of Actor
    (properties
        x 27
        y 156
        sightAngle 90
        lookStr "It's one of Vohaul's Sequel Policemen!"
        view 377
        loop 4
        priority 13
        signal 22544
        illegalBits 0
    )

    (method (doVerb param1 param2 param3)
        (switch (param1)
            (case 4
                Print("That would be most unwise!")
            )
            (case 11
                Print("Seeing as how these guys are trying to kill you, your best line of defense would be a straight one out of here.")
            )
            (case 10
                Print("You'd best stay of sight out this guy!")
            )
            (case 2
                Print("Seeing as how these guys are trying to kill you, your best line of defense would be a straight one out of here.")
            )
            (case 3
                Print(
                    (switch (param2)
                        (case 0
                            Print("The Sequel Police are closely monitored by Vohaul. Bribing them would be out of the question.")
                        )
                        (case 1
                            Print("Even if you were to lasso a Sequel Policeman, what would you do with him?")
                        )
                        (case 3
                            Print("\"Ooooo! Don't throw the bunny at Sequel Policeman! He may have a hare trigger. (Sorry!)")
                        )
                        (case 4
                            376
                            3
                        )
                        (case 6
                            Print("Try as you might, the gum just gets stuck to your fingers.")
                        )
                        (case 9
                            Print("He's gonna SHOOT you, not write you a ticket!")
                        )
                        (case 10
                            Print(Print("The Sequel Police are closely monitored by Vohaul. Bribing them would be out of the question."))
                        )
                        (default 
                            Print("You'd better not. You might need that later.")
                        )
                    )
)
            )
            (default 
                (super:doVerb(param1 param2 rest param3))
            )
        )
    )

)
(instance sp2 of Actor
    (properties
        sightAngle 90
        view 377
        loop 4
        priority 13
        signal 22544
        illegalBits 0
        xStep 2
    )

    (method (doit param1)
        (super:doit(rest param1))
        (if (script)
        )(else
            (if (((> x 203) and (< y (send gEgo:y))) and (& (send gEgo:onControl(1)) $0004))
                (self:setScript(shootDown))
            )(else
                (if ((== y 119) and ((& (send gEgo:onControl(1)) $0002) or (send gEgo:inRect(146 104 247 125))))
                    (self:setScript(shootOther 0 0))
                )(else
                    (if ((> y (send gEgo:y)) and (< (send gEgo:x) 148))
                        (self:setScript(shootOther 0 3))
                    )(else
                        (if ((> y (+ (send gEgo:y) 4)) and (> x 170))
                            (self:setScript(shootOther 0 3))
                        )
                    )
                )
            )
        )
    )


    (method (doVerb param1)
        (sp1:doVerb(rest param1))
    )

)
(instance blast of Prop
    (properties
        x 248
        y 155
        view 499
        loop 1
        priority 12
        signal 16400
    )
)
(instance screen1 of Prop
    (properties
        x 25
        y 108
        description "Ms. Astro Chicken"
        lookStr "The sign says \"Ms. Astro Chicken\". You wonder why nobody is playing it."
        view 376
        priority 2
        signal 16
        cycleSpeed 2
    )

    (method (doVerb param1 param2)
        (if ((== param1 2) or ((== param1 3) and (== param2 0)))
            (if (>= global191 5)
                Print("The Ms. Astro Chicken machine looks as though it's taken its last buckazoid and given its last \"BACOCK!\".")
            )(else
                (if (global159)
                    (if (not --global159)
                        (send gEgo:put(0))
                    )
                    proc0_2()
                    (send global2:setScript(playChicken))
                )(else
                    Print("You seem to be fresh out of buckazoids. Darn the luck!")
                )
            )
        )(else
            (switch (param1)
                (case 11
                    Print("Gooey, greasy little fingers, and various other types of appendages have left a coating of something that smells like a cross between cotton candy and dead gerbils.")
                )
                (case 10
                    Print("Auugghh! You had to taste it! This is going to linger for awhile. That coating of something that smells like a cross between cotton candy and dead gerbils tastes more like the latter!")
                )
                (default 
                    (super:doVerb(param1 param2))
                )
            )
        )
    )

)
(instance screen2 of Prop
    (properties
        x 60
        y 99
        description "Cap'n Zappo machine"
        lookStr "Your best score on Cap'n Zappo was 251. This kid has... 15,290,912 !?"
        view 376
        loop 1
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Back off. It's not your turn.")
            )
            (case 3
                Print("Back off. It's not your turn.")
            )
            (case 11
                Print("Gooey, greasy little fingers, and various other types of appendages have left a coating of something that smells like a cross between cotton candy and dead gerbils.")
            )
            (case 10
                Print("Auugghh! You had to taste it! This is going to linger for awhile. That coating of something that smells like a cross between cotton candy and dead gerbils tastes more like the latter!")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance screen3 of Prop
    (properties
        x 82
        y 91
        description "GHETTO BLASTER game"
        sightAngle 90
        lookStr "The GHETTO BLASTER game is completely socially irredeemable, gratuitously violent, and without a doubt the most popular arcade game EVER!"
        view 376
        loop 2
        cel 1
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Back off. It's not your turn.")
            )
            (case 3
                Print("Back off. It's not your turn.")
            )
            (case 11
                Print("Gooey, greasy little fingers, and various other types of appendages have left a coating of something that smells like a cross between cotton candy and dead gerbils.")
            )
            (case 10
                Print("Auugghh! You had to taste it! This is going to linger for awhile. That coating of something that smells like a cross between cotton candy and dead gerbils tastes more like the latter!")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance screen4 of Prop
    (properties
        x 261
        y 84
        description "CHOKE 'N CROAK arcade machine"
        sightAngle 90
        lookStr "Boy! You'd think after all these years, they'd come up with something more sophisticated than frogs jumping from log to log."
        view 376
        loop 3
        cel 1
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Back off. It's not your turn.")
            )
            (case 3
                Print("Back off. It's not your turn.")
            )
            (case 11
                Print("Gooey, greasy little fingers, and various other types of appendages have left a coating of something that smells like a cross between cotton candy and dead gerbils.")
            )
            (case 10
                Print("Auugghh! You had to taste it! This is going to linger for awhile. That coating of something that smells like a cross between cotton candy and dead gerbils tastes more like the latter!")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance screen5 of Prop
    (properties
        x 294
        y 151
        description "SLIME FLYER machine"
        lookStr "This SLIME FLYER machine has seen better days. It looks like a leftover from your misspent youth."
        view 376
        loop 4
        cel 1
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Back off. It's not your turn.")
            )
            (case 3
                Print("Back off. It's not your turn.")
            )
            (case 11
                Print("Gooey, greasy little fingers, and various other types of appendages have left a coating of something that smells like a cross between cotton candy and dead gerbils.")
            )
            (case 10
                Print("Auugghh! You had to taste it! This is going to linger for awhile. That coating of something that smells like a cross between cotton candy and dead gerbils tastes more like the latter!")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance screen6 of Prop
    (properties
        x 82
        y 29
        description "weirdo video"
        lookStr "It's some sort of video art form. Looks like a computer-generated fractal simulation of somebody's laundry machine."
        view 376
        loop 5
        cel 1
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("That's too high for you to reach.")
            )
            (case 11
                Print("That's too high for you to smell.")
            )
            (case 10
                Print("That's too high for you to taste.")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance screen7 of Prop
    (properties
        x 240
        y 28
        description "weirdo video"
        lookStr "It's some sort of video art form. Looks like a hand throwing a pizza."
        view 376
        loop 6
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("That's too high for you to reach.")
            )
            (case 11
                Print("That's too high for you to smell.")
            )
            (case 10
                Print("That's too high for you to taste.")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance screen10 of Prop
    (properties
        x 310
        y 114
        description "DWEEB HUNTER arcade game"
        lookStr "This game; \"DWEEB HUNTER\" reminds you too much of your present predicament. And guess who the dweeb is!"
        view 376
        loop 14
        signal 16384
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Back off. It's not your turn.")
            )
            (case 3
                Print("Back off. It's not your turn.")
            )
            (case 11
                Print("Gooey, greasy little fingers, and various other types of appendages have left a coating of something that smells like a cross between cotton candy and dead gerbils.")
            )
            (case 10
                Print("Auugghh! You had to taste it! This is going to linger for awhile. That coating of something that smells like a cross between cotton candy and dead gerbils tastes more like the latter!")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )

)
(instance basket of View
    (properties
        x 160
        y 187
        description "wastebasket"
        lookStr "Gazing at the wastebasket, your impulse - nay, your very instinct - nay, the very fibres of your being - scream out for you to pick up the refuse and empty the basket of its waste. But you're much too busy for that right now."
        view 376
        cel 1
        signal 16384
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                Print("Resist those inbred custodial tendencies to collect garbage. You have much more important garbage to tend to!")
            )
            (case 4
                Print("You're quite startled to hear the wastebasket respond...")
                Print("\"Max, is that you? Agent 99? I always get these lousy disguises. Would you put a word in with the Chief for me? I wouldn't mind, but all these kids eat is ice cream and candy bars. Do you know how many Big Chewies I've eaten in the last hour? Not to mention the wad of Big Bang BubbleGum I've got stuck to my shoe phone... (sigh!)\"")
            )
            (case 11
                Print("Give your nose a break! It's a garbage can!")
            )
            (case 10
                Print("A garbage can?!")
            )
            (case 3
                Print("You'd better not throw that away. It'll probably come in handy later. I know it doesn't seem likely, but trust me on this one.")
            )
            (default 
                (super:doVerb(param1 rest param2))
            )
        )
    )

)
(instance kid of Prop
    (properties
        x 266
        y 172
        description "kid"
        lookStr "Watching this fine youngster brings back fond memories of your youth. Little did you know that all of those hours playing \"BLAZIN' PADDLES\" were in preparation for being a space-guy-hero-type."
        view 376
        loop 7
        signal 16385
        cycleSpeed 2
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Leave the kid alone. He's totally engrossed in his game.")
            )
            (case 4
                Print("Talking to a kid in the middle of an arcade game is almost as interesting as talking to the wall. Give it up.")
            )
            (case 11
                Print("Perhaps you haven't been around a young, active being lately. I can tell you that walking up to one and giving it a sniff could be considered unstable and even dangerous behaviour.")
            )
            (case 10
                Print("Perhaps you haven't read the nose message.")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )


    (method (isNotHidden)
        return 1
    )

)
(instance aniKids of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                = temp0 0
                (while (<= temp0 register)
                    (send theKid[Random(0 6)]:setCycle(Fwd))
                    ++temp0
                )
                = seconds Random(4 7)
            )
            (case 1
                = temp0 0
                (while (<= temp0 6)
                    (if (not & (send theKid[temp0]:signal) $0004)
                        (send theKid[temp0]:stopUpd())
                    )
                    ++temp0
                )
                = seconds Random(3 5)
            )
            (case 2
                (self:
                    register((send global1:detailLevel))
                    changeState(0)
                )
            )
        )
    )

)
(instance changeMachine of Feature
    (properties
        x 159
        y 117
        description "change machine"
        lookStr "The change machine looks like a time machine more than a time machine looks like a time machine... for a change."
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                (if (not (send gEgo:inRect(116 102 206 124)))
                    Print("You're not close enough to the change machine to touch it.")
                )(else
                    (if (proc999_5((send gEgo:view) 373 374))
                        Print("A real lady wouldn't try to break a change machine.")
                    )(else
                        (if (local6 and not (send global2:script))
                            (send global2:setScript(changeMachineDeathS))
                        )(else
                            Print("Banging on the change machine will only activate its self-defense mechanisms.")
                            = local6 1
                        )
                    )
                )
            )
            (case 3
                (if (== param2 0)
                    Print("In all the known universe, the lowly buckazoid is the lowest denomination of all. You can't get change for it.")
                )(else
                    (super:doVerb(param1 param2))
                )
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )


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

)
(instance sushiBar of Feature
    (properties
        description "sushi bar machine"
        lookStr "The dead fish in the sushi bar machine appear to have been dead far longer than they were fish. The sushi bar wasn't one of Buckazoid Bill's greatest ideas."
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                Print("Rocking the sushi bar machine is impossible. It's bolted to the floor.")
            )
            (case 3
                (if (== param2 0)
                    Print("In all the known universe, the lowly buckazoid is the lowest denomination of all. You can't even get a dead fish for it.")
                )(else
                    (super:doVerb(param1 param2))
                )
            )
            (case 11
                Print("It smells like old dead fish.")
            )
            (default 
                (super:doVerb(param1 param2))
            )
        )
    )


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

)
(instance arcadeRoom of Feature
    (properties
        description "arcade"
        sightAngle 180
        lookStr "As you look around the arcade, you're delighted to see that some of your old favorites are still in operation: MONACO PRINCESS STUNT DRIVIN'; CHOKE 'N CROAK; GHETTO BLASTER; and DWEEB HUNTER. The air is filled with smoke, sweat and ozone, reminding you of your favorite cologne: \"Night in Programming.\""
    )

    (method (doVerb param1)
        (switch (param1)
            (case 2
                Print("Touching anything in here might be dangerous to your health.")
            )
            (case 11
                Print("The aroma of the sushi bar dominates the air in here. However, you can also detect the smell of smoke, sweat and ozone, reminding you of your favorite cologne: \"Night in Programming.\"")
            )
            (default 
                (super:doVerb(param1))
            )
        )
    )


    (method (onMe)
        return 1
    )

)
(instance aSound of Sound
    (properties)
)
(instance hatchSound of Sound
    (properties
        number 142
    )
)
