(version 2)
(include "sci.sh")
(exports
    0 rm250
)
(use "Main")
(use "FPRoom")
(use "PAvoider")
(use "Scaler")
(use "ROsc")
(use "PolyPath")
(use "Polygon")
(use "CueObj")
(use "Door")
(use "n958")
(use "StopWalk")
(use "Cycle")
(use "View")
(use "Obj")
(script 250)


(local
    local0
    local1
    local2
    local3
    local4 =     1
    local5 =     1

)
(instance public rm250 of FPRoom
    (properties
        noun 19
        picture 250
        style $0064
        east 260
        west 240
    )

    (method (init)
        (if (proc0_2(1))
            = east 265
        )(else
            = east 260
        )
        (if (proc0_2(59))
            (self:setRegions(90))
        )
        (if (== global119 22)
            (self:setRegions(91))
        )
        (send gEgo:
            init()
            setScale(Scaler 100 50 175 95)
            normalize()
        )
        (switch (gGNumber)
            (case west
                = style 12
                (send gGame:handsOn())
            )
            (case east
                = style 11
                (if (< (send gEgo:y) 103)
                    (send gEgo:y(103))
                )
                (send gGame:handsOn())
            )
            (case 680
                (send gGame:handsOn())
            )
            (case 600
                (send gEgo:edgeHit(0))
            )
            (case 710
                (send gEgo:edgeHit(0))
            )
            (case 235
                (if (== global119 10)
                    (send gEgo:
                        x(260)
                        y(106)
                        setHeading(180)
                        stopUpd()
                    )
                    (send global2:setScript(sReveireScreams))
                )(else
                    (send gGame:handsOn())
                )
            )
            (case 220
                (if (== global119 10)
                    (send gEgo:
                        x(260)
                        y(106)
                        setHeading(180)
                        stopUpd()
                    )
                    (send global2:setScript(sReveireScreams))
                )(else
                    (send gGame:handsOn())
                )
            )
            (case 26
                (if (proc0_2(80))
                    proc0_4(80)
                    (send gGame:handsOn())
                )(else
                    proc958_0(130 1814)
                    proc0_4(84)
                    (send global2:setScript(sSepiaStart))
                )
            )
            (default 
                (send gEgo:
                    x(150)
                    y(150)
                )
                (send gGame:handsOn())
            )
        )
        (send global2:addObstacle(
            (if (== global120 1)
                (send ((Polygon:new())):
                    type(2)
                    init(0 103 0 0 319 0 319 103 298 103 286 110 262 103 262 79 257 79 257 103 203 103 104 101 43 105 34 105 33 76 27 76 26 105 14 105)
                    yourself()
                )
            )(else
                (if ((((proc0_2(69) and not proc0_2(64)) and (>= global119 13)) and (<= global119 14)) and not (send gEgo:has(0)))
(                    = local1 (send ((Polygon:new())):
                            type(2)
                            init(0 103 0 0 319 0 319 103 262 103 262 79 257 79 257 103 249 117 193 117 193 103 199 103 199 101 173 101 104 101 56 105 34 105 33 76 27 76 26 105 13 105)
                            yourself()
                        )
)                )(else
                    (send ((Polygon:new())):
                        type(2)
                        init(0 103 0 0 319 0 319 103 262 103 262 79 257 79 257 103 203 103 104 101 56 105 34 105 33 76 27 76 26 105 13 105)
                        yourself()
                    )
                )
            )
 
            (if ((>= global119 8) and (<= global119 9))
(                = local3 (send ((Polygon:new())):
                        type(2)
                        init(152 121 150 145 87 145 85 121 85 112 152 112)
                        yourself()
                    )
)            )(else
(                = local3 (send ((Polygon:new())):
                        type(2)
                        init(152 121 85 121 85 112 152 112)
                        yourself()
                    )
)            )
 (send ((Polygon:new())):
                type(2)
                init(198 105 233 105 233 115 198 115)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(319 173 319 189 0 189 0 172)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(292 116 298 105 319 105 319 116)
                yourself()
            )
))
        (super:init())
        (if (proc0_2(1))
            (sheriffDoor:
                init()
                locked(1)
            )
        )(else
            (sheriffDoor:init())
        )
        (pharmacyDoor:init())
        (sheriffOffice:
            init()
            setOnMeCheck(1 128)
        )
        (thinTall:
            init()
            approachVerbs(4)
            setOnMeCheck(1 256)
        )
        (playhouse:
            init()
            setOnMeCheck(1 512)
        )
        (pharmacy:
            init()
            setOnMeCheck(1 1024)
        )
        (pharmacyPoles:
            init()
            setOnMeCheck(1 2048)
        )
        (clutter:
            init()
            setOnMeCheck(1 4096)
        )
        (rail:
            init()
            setOnMeCheck(1 8192)
        )
        (sheriffSign:
            init()
            setOnMeCheck(26505)
        )
        (tallThinSign:
            init()
            setOnMeCheck(26505)
        )
        (playhouseSign:
            init()
            setOnMeCheck(26505)
        )
        (pharmacySign:
            init()
            setOnMeCheck(26505)
        )
        (playhouseDoor:
            init()
            approachVerbs(4)
            setOnMeCheck(26505)
        )
        (sheriffWindow:
            init()
            setOnMeCheck(26505)
        )
        (pharmacyRight:
            init()
            setOnMeCheck(26505)
        )
        (pharmacyLeft:
            init()
            setOnMeCheck(26505)
        )
        (trough:
            init()
            setOnMeCheck(26505)
        )
        (if ((>= global119 8) and (<= global119 9))
            (horse1:
                init()
                cycleSpeed(10)
                setCycle(Fwd)
                setScript(sHorseStuff)
                approachVerbs(65)
            )
            (horse2:
                init()
                cycleSpeed(12)
                setCycle(Fwd)
                setScript((sHorseStuff:new()))
                approachVerbs(65)
            )
            proc958_0(132 2116)
        )
        (if ((((proc0_2(69) and not proc0_2(64)) and (>= global119 13)) and (<= global119 14)) and not (send gEgo:has(0)))
            (bakingSoda:
                init()
                approachVerbs(4)
            )
        )
        (if (<= global119 3)
            (indian1:
                init()
                approachVerbs(4 2 9)
            )
        )(else
            (if (<= global119 4)
                (indian2:
                    init()
                    approachVerbs(4 2 9)
                )
            )(else
                (if (((<= global119 5) and not proc0_2(37)) and (== gGNumber 240))
                    (indian2:
                        setCycle(StopWalk -1)
                        approachVerbs(4 2 9)
                        init()
                    )
                    (indian3:
                        x(330)
                        y(130)
                        setAvoider(PAvoider)
                        setCycle(StopWalk -1)
                        setScript(sEnterIndian)
                        approachVerbs(4 2 9)
                        init()
                    )
                )(else
                    (if ((((<= global119 5) and not proc0_2(37)) and (== global120 1)) and (== gGNumber 260))
                        (indian2:
                            setCycle(StopWalk -1)
                            init()
                        )
                        (indian3:
                            x(-10)
                            setAvoider(PAvoider)
                            setCycle(StopWalk -1)
                            setScript(sEnterIndian)
                            init()
                        )
                    )(else
                        (if (proc0_2(37) and (< global119 7))
                            (indian3:
                                init()
                                approachVerbs(4 2 9)
                            )
                        )(else
                            (if (>= global119 7)
                                (closedSign:
                                    init()
                                    addToPic()
                                )
                            )
                        )
                    )
                )
            )
        )
        (if ((>= global119 2) and (<= global119 6))
            (send gGameMusic2:
                number(600)
                flags(1)
                loop(-1)
                play()
                setVol(80)
            )
            (send gGameMusic1:
                number(710)
                flags(1)
                loop(-1)
                play()
                setVol(0)
            )
        )(else
            (if (== global119 14)
                0
            )(else
                (if (proc999_5(gGNumber 600 26))
                    (send gGameMusic1:
                        number(710)
                        flags(1)
                        loop(-1)
                        play()
                        setVol(0)
                    )
                )(else
                    (if (== gGNumber 710)
                        (send gGameMusic2:
                            number(600)
                            flags(1)
                            loop(-1)
                            play()
                            setVol(0)
                        )
                    )(else
                        (send gGameMusic1:
                            number(710)
                            flags(1)
                            loop(-1)
                            play()
                            setVol(
                                (if (proc999_5(gGNumber 240 710))
                                    80
                                )(else
                                    0
                                )
)
                        )
                        (send gGameMusic2:
                            number(600)
                            flags(1)
                            loop(-1)
                            play()
                            setVol(
                                (if (proc999_5(gGNumber 260 600))
                                    80
                                )(else
                                    0
                                )
)
                        )
                    )
                )
            )
        )
        (if (((== global120 3) and (== global141 gNumber)) and not proc0_2(53))
            (horsePlop:
                init()
                approachVerbs(4)
            )
            = local2 (send ((Polygon:new())):
                    type(2)
                    init(126 123 126 132 96 132 96 123)
                    yourself()
                )
            (send global2:addObstacle(local2))
        )
        (if ((== global120 3) and not proc0_2(99))
            proc0_3(99)
            (whoopeeHorse:init())
            (whoopeeMan:
                init()
                setLoop(0)
                setScript(sWhoopee)
            )
        )
        (if (proc0_2(18))
            (pharmacyDoor:locked(1))
        )(else
            (pharmacyDoor:locked(0))
        )
        (if (proc0_2(52))
            (dummyCredits:
                init()
                setScript(ScriptID(32 0))
            )
        )
    )


    (method (doit)
        (var temp0, temp1, temp2[2])
        (super:doit())
        (if (local0 and (== PalVary(pvGET_CURRENT_STEP) 0))
            (sSepiaStart:cue())
            = local0 0
        )(else
            (if (== global119 14)
                0
            )(else
                (if (<= (send gEgo:x) 159)
                    (if (> (send gGameMusic2:vol) 0)
                        (send gGameMusic2:setVol(0))
                    )
                    = temp0 GetDistance((send gEgo:x) (send gEgo:y) 159 (send gEgo:y))
                    (if (< temp0 20)
                        = temp0 20
                    )(else
                        (if (> temp0 80)
                            = temp0 80
                        )
                    )
                    (send gGameMusic1:setVol(temp0))
                )(else
                    (if (>= (send gEgo:x) 160)
                        (if (> (send gGameMusic1:vol) 0)
                            (send gGameMusic1:setVol(0))
                        )
                        = temp1 GetDistance((send gEgo:x) (send gEgo:y) 160 (send gEgo:y))
                        (if (< temp1 20)
                            = temp1 20
                        )(else
                            (if (> temp1 80)
                                = temp1 80
                            )
                        )
                        (send gGameMusic2:setVol(temp1))
                    )
                )
            )
        )
    )


    (method (dispose)
        (super:dispose())
        DisposeScript(32)
        (if ((not proc0_2(69) and (== global120 2)) and (== global119 13))
            not proc0_3(69)
        )
        (if (== global119 14)
            0
        )(else
            (if (== gNewRoomNumber 710)
                (send gGameMusic1:fade(127 10 16 0))
            )(else
                (if (== gNewRoomNumber 600)
                    (send gGameMusic2:fade(127 10 16 0))
                )(else
                    (send gGameMusic1:fade())
                    (send gGameMusic2:fade())
                )
            )
        )
    )

)
(instance sSepiaStart of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = local0 1
                (send gIconBar:disable())
                (send gGame:setCursor(996))
                PalVary(pvINIT 250 0)
                (send gEgo:
                    x(260)
                    y(106)
                    setHeading(180)
                    stopUpd()
                )
                = seconds 3
                (send (ScriptID(1814 57)):disposeWhenDone(0))
            )
            (case 1
                PalVary(pvREVERSE 8 0 1)
            )
            (case 2
                (send gFpMessager:say(25 0 0))
                = cycles 1
            )
            (case 3
                (send (ScriptID(1814 57)):disposeWhenDone(1))
                (send gIconBar:enable())
                (send gGame:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance sEnterIndian of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_3(37)
                = cycles 1
            )
            (case 1
                (indian3:setMotion(PolyPath 269 107 self))
            )
            (case 2
                (send gGame:handsOff())
                (indian3:
                    setLoop(2)
                    setCel(0)
                    stopUpd()
                )
                (indian2:
                    setLoop(2)
                    setCel(1)
                    signal(16384)
                    stopUpd()
                )
                (send gEgo:stopUpd())
                = cycles 5
            )
            (case 3
                (if (< (send gEgo:x) 160)
                    (send (ScriptID(1840 10)):
                        x(200)
                        y(60)
                        textX(-180)
                    )
                    (send (ScriptID(1841 11)):
                        x(200)
                        y(70)
                        textX(-180)
                    )
                )
                (send gFpMessager:say(24 0 0))
                = cycles 1
            )
            (case 4
                (send gGame:handsOn())
                (indian2:
                    setLoop(0)
                    setCel(1)
                    setMotion(MoveTo 330 105)
                )
                = cycles 30
            )
            (case 5
                (indian3:setMotion(MoveTo 284 105 self))
            )
            (case 6
                (indian3:
                    setLoop(2)
                    setCel(2)
                    approachVerbs(4 2 9)
                )
                = cycles 1
            )
            (case 7
                (indian3:stopUpd())
                (self:dispose())
            )
        )
    )

)
(instance sHorseStuff of Script
    (properties)

    (method (doit)
        (super:doit())
        (if ((local4 and (== (horse1:loop) 3)) and (== (horse1:cel) 4))
            = local4 0
            (horseSound:
                number(2116)
                play(horse1)
            )
        )
        (if ((local5 and (== (horse2:loop) 3)) and (== (horse2:cel) 4))
            = local5 0
            (horseSound2:
                number(2939)
                play(horse2)
            )
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (switch (Random(0 3))
                    (case 0
                        (send client:setLoop(0))
                    )
                    (case 1
                        (send client:setLoop(1))
                    )
                    (case 2
                        (send client:setLoop(3))
                    )
                    (case 3
                        (send client:setLoop(2))
                    )
                )
                (send client:setCycle(Fwd))
                = cycles 1
            )
            (case 1
                (if ((== Random(5 10) 8) and (<> (send client:loop) 3))
                    (switch (client)
                        (case horse1
                            (horseSound:
                                number(2114)
                                play(horse1)
                            )
                        )
                        (case horse2
                            (horseSound2:
                                number(2115)
                                play(horse2)
                            )
                        )
                    )
                )
                = seconds Random(3 10)
            )
            (case 2
                (send client:setCycle(End self))
                (self:changeState(0))
            )
        )
    )

)
(instance sEndPuz of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOn())
                (send gTimers:delete(ScriptID(0 13) ScriptID(0 14)))
                = global138 0
                (send gEgo:put(13))
                (send gEgo:put(21))
                (send gEgo:put(20))
                = cycles 1
            )
            (case 1
                (horse1:dispose())
                (horse2:dispose())
                (send gOldCast:eachElementDo(#hide))
                (send global2:
                    style(6)
                    drawPic(780)
                )
                = cycles 10
            )
            (case 2
                (send gFpMessager:say(1 29 0 0 self 18))
                (send gGame:points(20 152))
            )
            (case 3
                (send gEgo:
                    x(260)
                    y(106)
                    loop(2)
                    stopUpd()
                )
                (send ((send global2:obstacles)):delete(local3))
                (send local3:dispose())
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(152 121 85 121 85 112 152 112)
                        yourself()
                    )
))
                = cycles 1
            )
            (case 4
                (send gOldCast:eachElementDo(#show))
                (send global2:
                    style(7)
                    drawPic(250)
                )
                = cycles 1
            )
            (case 5
                = global119 10
                = next sReveireScreams
                (self:dispose())
            )
        )
    )

)
(instance sReveireScreams of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:handsOff())
                proc0_4(84)
                (kidRunning:
                    init()
                    setCycle(Walk)
                    setMotion(MoveTo 168 145 self)
                )
            )
            (case 1
                (kidRunning:setMotion(MoveTo 265 122 self))
            )
            (case 2
                (kidRunning:
                    setLoop(2)
                    setCel(0)
                    setCycle(CT 5 1 self)
                )
            )
            (case 3
                (kidRunning:
                    loop(2)
                    cel(0)
                    setCycle(ROsc 4 5 6 self)
                )
            )
            (case 4
                (send gFpMessager:say(26 0 0 0 self))
            )
            (case 5
                (kidRunning:setCycle(Beg self))
            )
            (case 6
                (kidRunning:
                    loop(0)
                    setCycle(Walk)
                    setMotion(MoveTo 340 122 self)
                )
            )
            (case 7
                (send (ScriptID(0 13)):setReal(ScriptID(0 13) 0 15))
                (kidRunning:dispose())
                (send gGame:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance sWhoopee of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 4
            )
            (case 1
                (send client:
                    setCycle(Walk)
                    setMotion(PolyPath 304 147 self)
                )
            )
            (case 2
                (if ((send gEgo:inRect(289 116 319 149)))
                    (send gEgo:setMotion(MoveTo (- (send gEgo:x) 40) (send gEgo:y) self))
                )(else
                    = cycles 1
                )
            )
            (case 3
                (send gGame:handsOff())
                (whoopeeHorse:dispose())
                (send client:
                    setLoop(2)
                    posn(304 121)
                    cel(0)
                    setCycle(CT 8 1 self)
                )
            )
            (case 4
                (whoopeeSound:play(self))
                (send client:setCycle(End self))
            )
            (case 5
            )
            (case 6
                (send client:
                    setLoop(3)
                    setCycle(End self)
                )
                (whoopeeSound:
                    number(2116)
                    play(self)
                )
            )
            (case 7
                0
            )
            (case 8
                (send client:setCycle(Beg self))
                (whoopeeSound:
                    number(2113)
                    play(self)
                )
            )
            (case 9
                (send client:
                    setLoop(4)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 10
                (send client:
                    setLoop(5)
                    setCel(0)
                    posn(321 123)
                    setCycle(Walk)
                    setMotion(MoveTo 335 (send client:y) self)
                )
            )
            (case 11
                (send client:dispose())
                UnLoad(128 113)
                (send gGame:handsOn())
                (self:dispose())
            )
        )
    )

)
(instance sheriffDoor of Door
    (properties
        x 42
        y 99
        noun 3
        approachX 30
        approachY 107
        view 250
        entranceTo 710
        lockedCase 1
        openSnd 2146
        closeSnd 2147
        openVerb 4
        moveToX 30
        moveToY 92
        enterType 0
        exitType 0
    )
)
(instance pharmacyDoor of Door
    (properties
        x 259
        y 95
        noun 1
        approachX 260
        approachY 106
        view 250
        loop 1
        entranceTo 600
        locked 1
        lockedCase 1
        openSnd 2146
        closeSnd 2147
        openVerb 4
        moveToX 260
        moveToY 93
        enterType 0
        exitType 0
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 9
                (if (not locked)
                    = locked 1
                    proc0_3(18)
                    (send gFpMessager:say(noun 9 2))
                )(else
                    = locked 0
                    proc0_4(18)
                    (if (proc0_2(130))
                        (send gFpMessager:say(noun 9 3))
                    )(else
                        (send gFpMessager:say(noun 9 1))
                        (send gGame:points(500 130))
                    )
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance whoopeeMan of Actor
    (properties
        x 33
        y 121
        noun 29
        view 113
    )
)
(instance indian1 of Actor
    (properties
        x 284
        y 105
        noun 21
        approachX 272
        approachY 115
        view 839
        loop 2
        cel 2
        signal $4001
        scaleSignal $0001
        scaleX 80
        scaleY 80
    )

    (method (init)
        (super:init())
        (self:approachVerbs(4 2 9))
    )

)
(instance indian2 of Actor
    (properties
        x 284
        y 105
        noun 22
        approachX 272
        approachY 115
        view 840
        loop 2
        cel 2
        signal $4001
        scaleSignal $0001
        scaleX 87
        scaleY 87
        cycleSpeed 2
        moveSpeed 2
    )

    (method (doVerb theVerb param2)
        (if (== (indian3:script) sEnterIndian)
            0
        )(else
            (super:doVerb(theVerb rest param2))
        )
    )

)
(instance indian3 of Actor
    (properties
        x 284
        y 105
        noun 23
        approachX 272
        approachY 115
        view 841
        loop 2
        cel 2
        signal $4001
        scaleSignal $0001
        scaleX 87
        scaleY 87
        cycleSpeed 4
        moveSpeed 4
    )

    (method (doVerb theVerb param2)
        (if (== (indian3:script) sEnterIndian)
            0
        )(else
            (super:doVerb(theVerb rest param2))
        )
    )

)
(instance kidRunning of Actor
    (properties
        x -10
        y 145
        view 105
        loop 1
        cycleSpeed 4
        moveSpeed 4
    )
)
(instance horsePlop of Prop
    (properties
        x 111
        y 127
        noun 27
        approachX 105
        approachY 134
        view 129
        loop 2
        signal $4000
        cycleSpeed 10
    )

    (method (init)
        (super:init())
        (self:setCycle(Fwd))
    )


    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (send gEgo:get(23 horsePlop))
                proc0_3(53)
                (send gGame:points(1 128))
                (send ((send global2:obstacles)):delete(local2))
                (send local2:dispose())
                (self:dispose())
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance horse1 of Prop
    (properties
        x 126
        y 125
        noun 1
        approachX 131
        approachY 137
        view 114
        loop 2
        priority 8
        signal $4010
    )

    (method (doVerb theVerb)
        (switch (theVerb)
            (case 65
                (if (== global119 8)
                    (send gFpMessager:say(noun 0 4 0 0 18))
                )(else
                    (if ((== (self:loop) 3) and not (send gEgo:has(20)))
                        (send gEgo:put(41))
                        (send gEgo:get(-1 20))
                        (send gGame:points(6 151))
                        (send gFpMessager:say(noun 65 0 0 0 18))
                    )(else
                        (send gFpMessager:say(noun 65 2 0 0 18))
                    )
                )
            )
            (case 64
                (send gFpMessager:say(noun 64 0 0 0 18))
            )
            (case 1
                (if (== (self:loop) 3)
                    (send gFpMessager:say(noun 1 1 0 0 18))
                )(else
                    (send gFpMessager:say(noun 1 0 0 0 18))
                )
            )
            (case 4
                (send gFpMessager:say(noun 4 0 0 0 18))
            )
            (case 29
                (send global2:setScript(sEndPuz))
            )
            (default 
                (send gFpMessager:say(noun theVerb 0 0 0 18))
            )
        )
    )


    (method (cue)
        (super:cue())
        = local4 1
    )

)
(instance horse2 of Prop
    (properties
        x 101
        y 125
        noun 1
        approachX 107
        approachY 137
        view 115
        loop 3
        priority 8
        signal $4010
    )

    (method (doVerb theVerb)
        (switch (theVerb)
            (case 65
                (if (== global119 8)
                    (send gFpMessager:say(noun 0 4 0 0 18))
                )(else
                    (if ((== (self:loop) 3) and not (send gEgo:has(20)))
                        (send gEgo:put(41))
                        (send gEgo:get(-1 20))
                        (send gGame:points(6 151))
                        (send gFpMessager:say(noun 65 0 0 0 18))
                    )(else
                        (send gFpMessager:say(noun 65 2 0 0 18))
                    )
                )
            )
            (case 64
                (send gFpMessager:say(noun 64 0 0 0 18))
            )
            (case 1
                (if (== (self:loop) 3)
                    (send gFpMessager:say(noun 1 1 0 0 18))
                )(else
                    (send gFpMessager:say(noun 1 0 0 0 18))
                )
            )
            (case 4
                (send gFpMessager:say(noun 4 0 0 0 18))
            )
            (case 29
                (send global2:setScript(sEndPuz))
            )
            (default 
                (send gFpMessager:say(noun theVerb 0 0 0 18))
            )
        )
    )


    (method (cue)
        (super:cue())
        = local5 1
    )

)
(instance dummyCredits of Prop
    (properties
        x -10
        y -10
        view 996
    )
)
(instance whoopeeHorse of View
    (properties
        x 304
        y 121
        view 113
        loop 1
    )
)
(instance closedSign of View
    (properties
        x 297
        y 70
        noun 28
        view 252
        loop 2
        priority 5
        signal $0010
    )
)
(instance bakingSoda of View
    (properties
        x 224
        y 98
        noun 20
        approachX 235
        approachY 114
        view 251
        priority 6
        signal $4010
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (send gEgo:get(0 bakingSoda))
                (send ((send global2:obstacles)):delete(local1))
                (send local1:dispose())
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(0 103 0 0 319 0 319 103 262 103 262 79 257 79 257 103 203 103 104 101 56 105 34 105 33 76 27 76 26 105 13 105)
                        yourself()
                    )
))
                (send gGame:points(1))
                (self:dispose())
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance sheriffOffice of Feature
    (properties
        x 44
        y 40
        noun 10
    )
)
(instance thinTall of Feature
    (properties
        x 99
        y 29
        noun 7
        approachX 99
        approachY 102
    )
)
(instance playhouse of Feature
    (properties
        x 159
        y 39
        noun 5
    )
)
(instance pharmacy of Feature
    (properties
        x 268
        y 32
        noun 9
    )
)
(instance pharmacyPoles of Feature
    (properties
        x 268
        y 32
        noun 11
    )
)
(instance clutter of Feature
    (properties
        x 169
        y 167
        noun 12
    )
)
(instance rail of Feature
    (properties
        x 309
        y 104
        noun 2
    )
)
(instance sheriffSign of Feature
    (properties
        x 44
        y 40
        noun 14
        nsTop 32
        nsLeft 20
        nsBottom 49
        nsRight 69
    )
)
(instance tallThinSign of Feature
    (properties
        x 99
        y 29
        noun 6
        nsTop 6
        nsLeft 83
        nsBottom 53
        nsRight 115
    )
)
(instance playhouseSign of Feature
    (properties
        x 159
        y 39
        noun 8
        nsTop 24
        nsLeft 119
        nsBottom 54
        nsRight 199
    )
)
(instance pharmacySign of Feature
    (properties
        x 268
        y 32
        noun 13
        nsTop 24
        nsLeft 217
        nsBottom 40
        nsRight 319
    )
)
(instance playhouseDoor of Feature
    (properties
        x 158
        y 82
        noun 15
        nsTop 63
        nsLeft 142
        nsBottom 101
        nsRight 175
        approachX 156
        approachY 103
    )
)
(instance sheriffWindow of Feature
    (properties
        x 61
        y 76
        noun 4
        nsTop 70
        nsLeft 54
        nsBottom 82
        nsRight 69
    )
)
(instance pharmacyRight of Feature
    (properties
        x 295
        y 71
        noun 17
        nsTop 49
        nsLeft 285
        nsBottom 94
        nsRight 306
    )
)
(instance pharmacyLeft of Feature
    (properties
        x 228
        y 69
        noun 16
        nsTop 50
        nsLeft 222
        nsBottom 89
        nsRight 235
    )
)
(instance trough of Feature
    (properties
        x 118
        y 94
        noun 18
        nsTop 110
        nsLeft 91
        nsBottom 119
        nsRight 146
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 29
                (send global2:setScript(sEndPuz))
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance horseSound of FPSound
    (properties
        flags $0001
    )
)
(instance horseSound2 of FPSound
    (properties
        flags $0001
    )
)
(instance whoopeeSound of FPSound
    (properties
        flags $0001
        number 2112
    )
)
