(version 2)
(include "sci.sh")
(exports
    0 rm510
)
(use "Main")
(use "MCyc")
(use "PolyPath")
(use "Polygon")
(use "CueObj")
(use "n958")
(use "StopWalk")
(use "Grooper")
(use "Path")
(use "Cycle")
(use "Game")
(use "User")
(use "View")
(use "Obj")
(script 510)


(local
    local0
    local1
    newSpear[5]
    local7[10] = (120 137 126 137 132 138 139 137 146 138 )
    local17[5] = (214 81 360 100 -32768 )
    local22[5] = (214 86 360 100 -32768 )
    local27[5] = (216 86 214 180 -32768 )
    local32[5] = (216 81 214 180 -32768 )
    local37[45] = (3 0 201 62 3 1 201 62 3 2 201 62 3 3 201 62 3 4 197 64 3 5 180 66 3 6 167 79 3 7 165 93 3 8 162 117 3 9 169 148 3 10 169 148 -32768 )
    local82[25] = (4 0 220 58 4 1 219 65 4 2 220 89 4 4 224 112 4 3 227 140 4 3 227 180 -32768 )
    local107[29] = (0 0 188 134 0 1 188 134 0 2 188 134 0 3 207 121 0 4 228 130 0 5 237 147 0 5 237 180 -32768 )
    local136
    local137
    local138
    local139
    local140
    local141
    local142
    local143
    local144

)
(instance public rm510 of Rm
    (properties
        noun 7
        picture 510
        vanishingY -200
    )

    (method (init)
        (var temp0)
        proc0_2()
        (send global2:addObstacle((send ((Polygon:new())):
                type(2)
                init(0 154 0 66 32 80 63 101 41 115 48 149)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(271 189 271 181 285 181 286 189)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(319 145 255 156 253 143 190 143 188 132 167 132 139 138 93 131 87 110 115 107 84 0 319 0)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(0 177 107 177 156 189 0 189)
                yourself()
            )
))
        proc958_0(128 511 515 516 1 989 980 0 984 7 12)
        (rock:init())
        (marker:init())
        (mountains:init())
        (rack:
            ignoreActors(1)
            approachVerbs(4 34)
            stopUpd()
            init()
        )
        = temp0 0
        (while (< temp0 5)
            (send (= newSpear[temp0] (spear:new())):
                loop(3)
                cel(0)
                approachVerbs(4 34)
                x(local7[* temp0 2])
                y(local7[+ (* temp0 2) 1])
                init()
            )
            ++temp0
        )
        (send gOwner:
            changeGait(1)
            setScale(200)
            x(-30)
            y(30)
            init()
        )
        (send (ScriptID(39 1)):
            view(983)
            x(0)
            y(60)
            origStep(2053)
            setCycle(StopWalk -1)
            setLoop(yesufuStopGroop)
            setScale(200)
            ignoreActors(1)
            init()
        )
        (send (ScriptID(58 1)):
            setScale(200)
            view(414)
            loop(0)
            cel(7)
            x(109)
            y(118)
            setPri(8)
            ignoreActors(1)
            noun(4)
            illegalBits(0)
            init()
        )
        (hole:init())
        (string:init())
        (ring:init())
        (vine:
            approachVerbs(4)
            init()
        )
        (tree:
            approachVerbs(4)
            init()
        )
        (send global2:setScript(enterRoom))
        (super:init())
        (send gGame:save(1))
    )


    (method (dispose)
        UnLoad(128 511)
        UnLoad(128 515)
        UnLoad(128 516)
        UnLoad(128 1)
        UnLoad(128 989)
        UnLoad(128 980)
        UnLoad(128 0)
        UnLoad(128 984)
        UnLoad(128 7)
        UnLoad(128 12)
        proc958_0(0 39 983 942 58)
        (super:dispose())
    )


    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 3
                (send gOwner:setScript(fallOff))
            )
            (case 65
                (send gQg3Messager:say(2 6 22))
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance egoWin of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gOwner:solvePuzzle(288 5 9))
                (send gOwner:setMotion(PolyPath 109 125 self))
            )
            (case 1
                (send gOwner:setMotion(PolyPath 65 160 self))
                (send (ScriptID(39 1)):setMotion(PolyPath 65 180))
            )
            (case 2
                (self:dispose())
            )
        )
    )

)
(instance yesufuWin of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send (ScriptID(39 1)):setMotion(PolyPath 109 125 self))
            )
            (case 1
                (send gQg3Messager:say(1 6 18 0 self))
            )
            (case 2
                (send (ScriptID(39 1)):setMotion(PolyPath 65 180 self))
            )
            (case 3
                (send gOwner:setMotion(PolyPath 65 160 self))
            )
            (case 4
                (self:dispose())
            )
        )
    )

)
(instance awardPrize of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                (if ((< local138 3) and local143)
                    (send gQg3Messager:say(1 6 19 0 self))
                    = temp0 1
                )(else
                    (if ((((< local138 3) and (< local137 3)) and local142) and local141)
                        (send gQg3Messager:say(1 6 21 0 self))
                        = temp0 1
                    )(else
                        (if (((< local138 3) and (< local137 2)) and local141)
                            (send gQg3Messager:say(1 6 16 0 self))
                            = temp0 1
                        )(else
                            (if (((<= local138 3) and (== local137 3)) and local141)
                                (send gQg3Messager:say(1 6 14 0 self))
                                = temp0 0
                            )(else
                                (if (((((<= local138 3) and (< 0 local137)) and (< local137 3)) and not local141) and local143)
                                    = temp0 1
                                    = local144 1
                                    (send gQg3Messager:say(1 6 13 0 self))
                                )(else
                                    (if (((<= local138 3) and local142) and local143)
                                        = temp0 1
                                        = local144 1
                                        (send gQg3Messager:say(1 6 13 0 self))
                                    )(else
                                        (if (> local138 3)
                                            (send gQg3Messager:say(1 6 12 0 self))
                                            = temp0 0
                                        )(else
                                            (if (local139)
                                                = temp0 0
                                                = cycles 1
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
            (case 1
                (if (local144)
                    (send gQg3Messager:say(1 6 15 0 self))
                )(else
                    = cycles 1
                )
            )
            (case 2
                (if (temp0)
                    (self:setScript(egoWin self))
                )(else
                    (self:setScript(yesufuWin self))
                )
            )
            (case 3
                (send gQg3Messager:say(1 6 20))
                (send gOwner:setMotion(PolyPath -20 160 self))
                (send (ScriptID(39 1)):setMotion(PolyPath -20 180))
            )
            (case 4
                (send global2:newRoom(500))
            )
        )
    )

)
(instance dropRing of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
            )
            (case 1
                (string:dispose())
                (ring:setMotion(MoveTo (ring:x) 180 self))
            )
            (case 2
                (ring:setCycle(0))
                (ring:dispose())
            )
        )
    )

)
(instance throwSpVine of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                = local138 (+ local138 2)
                = local143 1
                (ring:setScript(spinRing))
                (send gQg3Messager:say(2 6 10 0 self))
            )
            (case 1
                (send gOwner:
                    view(511)
                    setLoop(1)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 2
                = local136 2
                (send gOwner:
                    view(10)
                    setLoop(0)
                    cel(0)
                    setCycle(CT 4 1 self)
                )
                (send newSpear[local136]:dispose())
            )
            (case 3
                (send (= newSpear[local136] (spear:new())):
                    view(46)
                    setLoop(6)
                    cel(4)
                    x(152)
                    y(90)
                    setStep(18 8)
                    moveSpeed(0)
                    setPri(0)
                    init()
                    setMotion(spear3Path self spinRing)
                )
                (send gOwner:setCycle(End))
            )
            (case 4
                (send gQg3Messager:say(2 6 11 0 self))
            )
            (case 5
                = local0 Graph(grSAVE_BOX 112 143 131 192 1)
                Graph(grDRAW_LINE 113 144 130 191 87 -1 -1)
                Graph(grUPDATE_BOX 113 144 130 191 1)
                (send gOwner:
                    view(511)
                    setLoop(0)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 6
                Graph(grRESTORE_BOX local0)
                Graph(grUPDATE_BOX 113 144 130 191 1)
                ++local136
                (send gOwner:
                    view(10)
                    setLoop(0)
                    cel(0)
                    setCycle(CT 4 1 self)
                )
                (send newSpear[local136]:dispose())
            )
            (case 7
                (send (= newSpear[local136] (spear:new())):
                    view(46)
                    setLoop(6)
                    cel(4)
                    x(152)
                    y(90)
                    moveSpeed(0)
                    setStep(18 8)
                    setPri(0)
                    init()
                    setMotion(spear4Path self spinRing)
                )
                (send gOwner:setCycle(End))
            )
            (case 8
                = local0 Graph(grSAVE_BOX 113 144 130 191 1)
                Graph(grDRAW_LINE 113 144 130 191 87 -1 -1)
                Graph(grUPDATE_BOX 113 144 130 191 1)
                (send gOwner:
                    view(511)
                    setLoop(0)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 9
                Graph(grRESTORE_BOX local0)
                Graph(grUPDATE_BOX 113 144 130 191 1)
                (send gOwner:normalize())
                (send client:setScript(awardPrize))
            )
        )
    )

)
(instance getVine of Script
    (properties)

    (method (changeState newState)
        (var temp0[2])
        (switch (= state newState)
            (case 0
                (send gOwner:
                    view(31)
                    setLoop(0)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 1
                (vine:dispose())
                (send gOwner:
                    get(24)
                    normalize()
                )
                (send ((send gInv:at(24))):owner(gOwner))
                (send gMainIconBar:
                    curInvIcon((send gInv:at(24)))
                    curIcon((send gMainIconBar:at(7)))
                    enable(7)
                )
                (send ((send gMainIconBar:at(7))):cursor(Cursor))
                (send ((send ((send gMainIconBar:at(7))):cursor)):
                    view(905)
                    loop(10)
                    cel(8)
                )
                (send gGame:setCursor((send ((send gMainIconBar:at(7))):cursor)))
                (self:dispose())
            )
        )
    )

)
(instance jumpForRing of Script
    (properties)

    (method (doit param1)
        (if ((== state 1) and (== (send gOwner:cel) 3))
            (ring:setCycle(Fwd))
        )(else
            (if (== state 3)
                (ring:
                    setCycle(0)
                    cel(0)
                )
            )
        )
        (super:doit(rest param1))
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = local142 1
                proc0_2()
                ++local138
                (send gOwner:
                    changeGait(1)
                    setMotion(PolyPath 187 135 self)
                )
            )
            (case 1
                (send gOwner:
                    view(516)
                    setLoop(0)
                    cel(0)
                    setPri(0)
                    setCycle(MCyc @local107 self)
                )
            )
            (case 2
                = ticks 240
            )
            (case 3
                (send gOwner:
                    setLoop(1)
                    x(191)
                    y(132)
                    setCycle(End self)
                )
            )
            (case 4
                (send gOwner:
                    x(184)
                    y(134)
                    setPri(-1)
                    loop(2)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 5
                (send gOwner:normalize())
                (send gQg3Messager:say(2 6 8 0 self))
            )
            (case 6
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance throwSpears of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                = local139 1
                = local138 (+ local138 4)
                (send gOwner:view(10))
                = local136 2
                = cycles 1
            )
            (case 1
                (send gOwner:
                    setLoop(0)
                    cel(0)
                    setCycle(CT 4 1 self)
                )
                (send newSpear[local136]:dispose())
            )
            (case 2
                (send (= newSpear[local136] (spear:new())):
                    view(46)
                    setLoop(6)
                    cel(4)
                    x(152)
                    y(90)
                    setStep(18 8)
                    moveSpeed(0)
                    setPri(9)
                    init()
                    setMotion(spearPath self)
                )
                (send gOwner:setCycle(End))
            )
            (case 3
                (if (== ++local136 4)
                    = cycles 1
                )(else
                    (switch (local136)
                        (case 2
                            (send gQg3Messager:say(2 6 6))
                        )
                        (case 3
                            (send gQg3Messager:say(2 6 7))
                        )
                    )
                    (self:changeState((= state (- state 2))))
                )
            )
            (case 4
                (send gOwner:
                    setLoop(0)
                    cel(0)
                    setCycle(CT 4 1 self)
                )
                (ring:setScript(dropRing))
                (send newSpear[local136]:dispose())
            )
            (case 5
                (send (= newSpear[local136] (spear:new())):
                    view(46)
                    setLoop(6)
                    cel(4)
                    x(152)
                    y(90)
                    setStep(18 8)
                    moveSpeed(0)
                    setPri(9)
                    init()
                    setMotion(spear2Path self dropRing)
                )
                (send gOwner:setCycle(End))
            )
            (case 6
                (send gOwner:
                    view(1)
                    setCycle(Walk)
                    setMotion(MoveTo 187 135 self)
                )
            )
            (case 7
                (send gOwner:
                    view(516)
                    setLoop(0)
                    cel(0)
                    setPri(0)
                    setCycle(MCyc @local107 self)
                )
            )
            (case 8
                = ticks 240
            )
            (case 9
                (send gOwner:
                    setLoop(1)
                    x(191)
                    y(132)
                    setCycle(End self)
                )
            )
            (case 10
                (send gOwner:
                    x(184)
                    y(134)
                    setPri(-1)
                    loop(2)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 11
                (send gOwner:normalize())
                (send client:setScript(awardPrize))
            )
        )
    )

)
(instance fallOff of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gQg3Walkers:delete(global2))
                (User:canControl(1))
                proc0_2()
                (send gOwner:
                    view(6)
                    setPri(0)
                    setCycle(MCyc @local82 self)
                )
            )
            (case 1
                (send gOwner:
                    view(516)
                    loop(1)
                    x(191)
                    y(132)
                    setCycle(End self)
                )
            )
            (case 2
                (send gOwner:
                    x(184)
                    y(134)
                    setPri(-1)
                    loop(2)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 3
                (send gOwner:normalize())
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance getRing of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = local141 1
                (send gQg3Walkers:delete(global2))
                proc0_2()
                (send gOwner:
                    view(4)
                    x(191)
                    y(58)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 1
                (string:setMotion(MoveTo 210 63 self))
                (ring:setMotion(MoveTo 210 68))
            )
            (case 2
                (string:dispose())
                (ring:dispose())
                (send gOwner:setCycle(Beg self))
            )
            (case 3
                (send gOwner:
                    view(30)
                    setCycle(MCyc @local37 self)
                )
            )
            (case 4
                (send gOwner:normalize())
                (send client:setScript(awardPrize))
            )
        )
    )

)
(instance egoClimbTree of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                ++local138
                (send gQg3Walkers:addToFront(global2))
                (User:canControl(0))
                (send gOwner:setMotion(MoveTo 130 125 self))
            )
            (case 1
                (send gOwner:
                    view(7)
                    setLoop(3)
                    setScale()
                    setCycle(Fwd)
                    setMotion(MoveTo 124 96 self)
                )
            )
            (case 2
                (send gOwner:
                    setLoop(5)
                    cel(0)
                    x(120)
                    y(64)
                    setCycle(End self)
                )
            )
            (case 3
                (send gOwner:
                    view(12)
                    setLoop(0)
                    x(125)
                    y(65)
                    setCycle(Walk)
                    setMotion(MoveTo 146 58 self)
                )
            )
            (case 4
                (send gOwner:setMotion(MoveTo 178 54 self))
            )
            (case 5
                (send gOwner:setMotion(MoveTo 199 60 self))
            )
            (case 6
                proc0_3()
                (User:canControl(0))
                (self:dispose())
            )
        )
    )

)
(instance egoTryClimb of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gOwner:
                    view(7)
                    setLoop(3)
                    setScale()
                    setCycle(Fwd)
                    setMotion(MoveTo 130 102 self)
                )
            )
            (case 1
                (send gOwner:
                    setCycle(0)
                    setMotion(MoveTo 130 120 self)
                )
            )
            (case 2
                ++local137
                ++local138
                (send gOwner:normalize())
                (send gQg3Messager:say(2 6 5 0 self))
            )
            (case 3
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance egoCantClimb of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = local140 1
                proc0_2()
                (send gOwner:
                    view(7)
                    setLoop(3)
                    cycleSpeed(2)
                    setCycle(Fwd)
                )
                = ticks 240
            )
            (case 1
                ++local138
                (send gOwner:
                    cycleSpeed(6)
                    normalize()
                )
                (send gQg3Messager:say(2 6 3 0 self))
            )
            (case 2
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance spinRing of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
            )
            (case 1
                (ring:setCycle(Fwd))
            )
            (case 2
                (string:dispose())
                (ring:setMotion(MoveTo (ring:x) 180 self))
            )
            (case 3
                (ring:setCycle(0))
                (ring:dispose())
            )
        )
    )

)
(instance runIn of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gOwner:setMotion(PolyPath 36 72 self))
            )
            (case 1
                (send gOwner:setMotion(PolyPath 66 161 self))
            )
            (case 2
                (send gOwner:
                    view(0)
                    normalize()
                    setSpeed(gGOwnerMoveSpeed)
                    setHeading(90)
                )
                = cycles 18
            )
            (case 3
                (self:dispose())
            )
        )
    )

)
(instance enterRoom of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send (ScriptID(39 1)):
                    xStep(5)
                    yStep(3)
                    setMotion(PolyPath 36 72 self)
                )
            )
            (case 1
                (send gOwner:setScript(runIn self))
                proc0_2()
                (send (ScriptID(39 1)):setMotion(PolyPath 76 135 self))
            )
            (case 2
                (send (ScriptID(39 1)):setMotion(PolyPath 109 125 self))
            )
            (case 3
                (send (ScriptID(39 1)):setHeading(0))
                = cycles 18
            )
            (case 4
            )
            (case 5
                (send gQg3Messager:say(1 6 1 0 self))
            )
            (case 6
                (send gQg3Messager:say(1 6 2 0 self))
            )
            (case 7
                (send (ScriptID(39 1)):setMotion(PolyPath 109 142 self))
            )
            (case 8
                (send (ScriptID(39 1)):
                    view(984)
                    loop(0)
                    cel(0)
                    setCycle(CT 4 1 self)
                )
            )
            (case 9
                (send (ScriptID(39 1)):setCycle(End self))
                (send newSpear[local136]:dispose())
            )
            (case 10
                (send (ScriptID(39 1)):
                    x(120)
                    y(140)
                    loop(1)
                    cel(0)
                    setCycle(CT 3 1 self)
                )
            )
            (case 11
                (send (= newSpear[local136] (spear:new())):
                    view(46)
                    setLoop(6)
                    cel(4)
                    x(152)
                    y(90)
                    setStep(18 8)
                    moveSpeed(0)
                    setPri(9)
                    init()
                    setMotion(spearPath self spinRing)
                )
                (send (ScriptID(39 1)):setCycle(End))
            )
            (case 12
                (send newSpear[local136]:dispose())
                (if (<> local136 1)
                    ++local136
                    = state (- state 5)
                    = ticks 120
                )(else
                    = ticks 1
                )
            )
            (case 13
                (send newSpear[local136]:dispose())
                (send (ScriptID(39 1)):
                    x(109)
                    y(138)
                    view(983)
                    setCycle(StopWalk -1)
                    setLoop(yesufuStopGroop)
                    setMotion(MoveTo 165 140 self)
                )
            )
            (case 14
                (send (ScriptID(39 1)):
                    view(515)
                    setLoop(0)
                    cel(0)
                    x(191)
                    y(140)
                    setCycle(End self)
                )
            )
            (case 15
                (send (ScriptID(39 1)):
                    setPri(0)
                    moveSpeed(0)
                    setScale()
                    origStep(1290)
                    setMotion(MoveTo 240 220 self)
                )
            )
            (case 16
                = ticks 240
            )
            (case 17
                (send (ScriptID(39 1)):
                    setLoop(1)
                    setPri(-1)
                    x(222)
                    y(140)
                    origStep(2053)
                    cel(0)
                    moveSpeed(6)
                    setCycle(End self)
                )
            )
            (case 18
                = ticks 120
            )
            (case 19
                (send (ScriptID(39 1)):
                    view(983)
                    setPri(-1)
                    setCycle(StopWalk -1)
                    setLoop(yesufuStopGroop)
                    setMotion(PolyPath 96 185 self)
                )
            )
            (case 20
                (send (ScriptID(39 1)):setHeading(90))
                (send (ScriptID(58 1)):setCycle(End self))
                (string:
                    y(65)
                    setMotion(MoveTo 210 73)
                    init()
                )
                (ring:
                    y(70)
                    cel(0)
                    setMotion(MoveTo 210 78)
                    init()
                )
            )
            (case 21
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance hole of Feature
    (properties
        x 210
        y 65
        noun 3
        sightAngle 40
        onMeCheck $0008
    )
)
(instance tree of Feature
    (properties
        x 115
        y 90
        noun 10
        sightAngle 40
        onMeCheck $0004
        approachX 119
        approachY 130
    )

    (method (doVerb theVerb param2)
        (var temp0)
        (switch (theVerb)
            (case 4
                (if ((send global2:script))
                    0
                )(else
                    (if (< (send gOwner:y) 60)
                        0
                    )(else
                        = temp0 (send gOwner:trySkill(11 150))
                        (if ((== temp0 0) and local140)
                            (send gQg3Messager:say(2 6 4))
                        )(else
                            (if (== temp0 0)
                                (send global2:setScript(egoCantClimb))
                            )(else
                                (if ((== temp0 -1) and (< local137 3))
                                    (send global2:setScript(egoTryClimb))
                                )(else
                                    (send global2:setScript(egoClimbTree))
                                )
                            )
                        )
                    )
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance rock of Feature
    (properties
        x 74
        y 169
        noun 11
        nsTop 149
        nsBottom 189
        nsRight 149
        sightAngle 180
    )
)
(instance marker of Feature
    (properties
        x 282
        y 161
        noun 12
        nsTop 133
        nsLeft 278
        nsBottom 189
        nsRight 287
        sightAngle 180
    )
)
(instance mountains of Feature
    (properties
        x 159
        y 31
        noun 13
        nsTop 22
        nsBottom 41
        nsRight 319
        sightAngle 180
    )
)
(instance vine of View
    (properties
        x 77
        y 43
        noun 6
        approachX 80
        approachY 111
        view 510
        loop 2
        signal $4000
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (if ((send global2:script))
                    0
                )(else
                    (send global2:setScript(getVine))
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance spear of Actor
    (properties
        noun 8
        view 510
        signal $4000
    )

    (method (doVerb theVerb param2)
        (if (== theVerb 1)
            (super:doVerb(1 rest param2))
        )(else
            (rack:doVerb(theVerb))
        )
    )

)
(instance ring of Actor
    (properties
        x 210
        y 78
        noun 5
        yStep 10
        view 510
        loop 1
        signal $4810
        illegalBits $0000
    )

    (method (init param1)
        (self:setScript(spinRing))
        (super:init(rest param1))
    )


    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (if ((send gOwner:script))
                    0
                )(else
                    (if (== (send gOwner:view) 12)
                        (send gOwner:setScript(getRing))
                    )(else
                        (if ((<> (send gOwner:view) 12) and not local142)
                            (send gOwner:setScript(jumpForRing))
                        )(else
                            (if ((<> (send gOwner:view) 12) and local142)
                                (send gQg3Messager:say(2 6 9))
                            )
                        )
                    )
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance string of Actor
    (properties
        x 210
        y 73
        noun 9
        view 510
        loop 1
        cel 1
        signal $4800
    )
)
(instance rack of Actor
    (properties
        x 144
        y 135
        approachX 132
        approachY 150
        view 510
    )

    (method (doVerb theVerb param2)
        (switch (theVerb)
            (case 4
                (if ((send global2:script))
                    0
                )(else
                    (send global2:setScript(throwSpears))
                )
            )
            (case 34
                (if ((send global2:script))
                    0
                )(else
                    (send global2:setScript(throwSpVine))
                )
            )
            (default 
                (super:doVerb(theVerb rest param2))
            )
        )
    )

)
(instance yesufuStopGroop of Grooper
    (properties)

    (method (doit param1)
        (if (IsObject((send (ScriptID(39 1)):cycler)) and (send ((send (ScriptID(39 1)):cycler)):isKindOf(StopWalk)))
            (send (ScriptID(39 1)):view((send ((send (ScriptID(39 1)):cycler)):vWalking)))
        )
        (super:doit(rest param1))
    )

)
(instance spearPath of Path
    (properties)

    (method (at param1)
        return local17[param1]
    )

)
(instance spear2Path of Path
    (properties)

    (method (at param1)
        return local22[param1]
    )

)
(instance spear3Path of Path
    (properties)

    (method (at param1)
        return local27[param1]
    )

)
(instance spear4Path of Path
    (properties)

    (method (at param1)
        return local32[param1]
    )

)
