(version 2)
(include "sci.sh")
(exports
    0 rm480
)
(use "Main")
(use "TellerIcon")
(use "OccasionalCycle")
(use "PAvoider")
(use "PolyPath")
(use "Polygon")
(use "CueObj")
(use "n958")
(use "Rev")
(use "Cycle")
(use "Game")
(use "View")
(use "Obj")
(script 480)


(local
    local0
    local1
    local2
    local3[7] = (0 -30 -72 68 -41 28 999 )
    local10[2]
    local12[6] = (0 2 -3 -4 9 999 )
    local18[5] = (0 5 6 -7 999 )
    local23[3] = (0 8 999 )
    local26[4] = (0 -4 -7 999 )
    local30[6] = (0 -75 -11 14 15 999 )
    local36[3] = (0 12 999 )
    local39[3] = (0 -11 999 )
    local42[6] = (0 -75 19 18 17 999 )
    local48[6] = (0 23 24 22 21 999 )
    local54[5] = (0 26 -27 29 999 )
    local59[3] = (0 28 999 )
    local62[3] = (0 -27 999 )
    local65[4]
    local69[7] = (0 -31 -33 -35 39 40 999 )
    local76[3] = (0 32 999 )
    local79[3] = (0 34 999 )
    local82[3] = (0 -73 999 )
    local85[5] = (0 -31 -33 -35 999 )
    local90[5]
    local95[5] = (0 -40 -76 -77 999 )
    local100[2]
    local102[5] = (0 -23 -24 -78 999 )
    local107[2]
    local109[6] = (0 45 46 47 28 999 )
    local115[6] = (0 57 58 -59 60 999 )
    local121[2]

)
(procedure (localproc_1cd0)
    (send global2:addObstacle((send ((Polygon:new())):
            type(2)
            init(57 141 4 141 14 118 69 118)
            yourself()
        )
))
    (send gOwner:
        normalize()
        x(173)
        y(144)
        setScale(200)
        setHeading(0)
        init()
    )
    (switch (global401)
        (case 1
            = local65[0] @local12
            = local65[1] @local18
            = local65[2] @local23
            (yesufuTeller:init(ScriptID(39 1) @local12 @local65 @local26))
        )
        (case 3
            = local65[0] @local30
            = local65[1] @local36
            (yesufuTeller:init(ScriptID(39 1) @local30 @local65 @local39))
        )
        (case 4
            = local65[0] @local42
            (yesufuTeller:init(ScriptID(39 1) @local42 @local65))
        )
    )
    (send (ScriptID(39 1)):
        view(982)
        loop(0)
        cel(0)
        x(137)
        y(121)
        noun(6)
        setScale(200)
        actions(yesufuTeller)
        approachVerbs(2)
        ignoreActors(1)
        approachX(109)
        approachY(137)
        init()
    )
    (yesufuArm:
        setPri(8)
        setScale(200)
        ignoreActors(1)
        init()
    )
    proc0_3()
)


(instance public rm480 of Rm
    (properties
        noun 1
        picture 480
        vanishingY -300
    )

    (method (init)
        proc0_2()
        (send global2:addObstacle((send ((Polygon:new())):
                type(2)
                init(319 160 293 154 264 157 235 157 190 150 167 143 110 143 110 110 198 110 230 116 266 109 235 104 209 106 151 102 159 96 206 96 208 91 137 88 85 87 0 87 0 0 319 0)
                yourself()
            )
 (send ((Polygon:new())):
                type(2)
                init(247 189 266 185 311 184 319 189)
                yourself()
            )
))
        (awari:
            approachVerbs(4)
            init()
        )
        (cageDoor:
            approachVerbs(4)
            stopUpd()
            init()
        )
        (theCage:
            approachVerbs(4)
            init()
        )
        (fence:init())
        (tree1:init())
        (tree2:init())
        (rock1:init())
        (rock2:init())
        (mountain:init())
        (littleRock1:init())
        (littleRock2:init())
        (switch (global125)
            (case 0
                (if (not proc0_6(29) and proc0_6(64))
                    proc0_4(29)
                )
            )
            (case 1
                (if (not proc0_6(29) and ((send gOwner:has(44)) or gGOwnerMaxStamina[31]))
                    proc0_4(29)
                )
            )
            (case 2
                (if (not proc0_6(29) and proc0_6(63))
                    proc0_4(29)
                )
            )
            (case 3
                (if (not proc0_6(29) and proc0_6(64))
                    proc0_4(29)
                )
            )
        )
        (if (proc0_6(29) and not proc0_6(65))
            (send gLongSong:
                number(480)
                setLoop(-1)
                play(127)
            )
            (if (not proc0_6(62))
                proc0_4(62)
                = global400 (- global122 1)
            )
            = local100[0] @local95
            (johariTeller:init(ScriptID(36 1) @local95 @local100))
            (if (proc0_6(38))
                (send (ScriptID(36 1)):
                    view(483)
                    setLoop(0)
                    x(33)
                    y(127)
                    noun(10)
                    actions(johariTeller)
                    approachVerbs(1 30 12 43 26)
                    approachX(24)
                    approachY(146)
                    approachDist(0)
                    setCycle(OccasionalCycle self 1 65 150)
                    init()
                )
                (send (ScriptID(36 0)):
                    x(195)
                    textY(0)
                    talkWidth(130)
                )
            )(else
                (send (ScriptID(36 1)):
                    view(481)
                    loop(1)
                    x(33)
                    y(132)
                    noun(11)
                    approachVerbs(1 30 12 43 26)
                    approachX(24)
                    approachY(146)
                    approachDist(0)
                    actions(johariTeller)
                    setCycle(OccasionalCycle self 1 65 150)
                    init()
                )
                (johariHands:init())
            )
            (if (((((< global401 11) and proc0_6(29)) and not proc0_6(65)) and (global121 or (== global400 global122))) and not proc0_6(129))
                (send global2:addObstacle((send ((Polygon:new())):
                        type(2)
                        init(68 117 52 142 25 142 25 146 34 146 34 154 0 154 0 117)
                        yourself()
                    )
))
                = local107[0] @local102
                (guardTeller:init(guard @local102 @local107))
                (guard:
                    setScale(200)
                    init()
                )
                (if (((< global401 5) and (== global400 global122)) and not proc0_6(38))
                    = global401 5
                )
            )
        )
        (if (== gGClientModNum 490)
            localproc_1cd0()
        )(else
            (if (== gGClientModNum 485)
                (send gOwner:
                    x(24)
                    y(146)
                    setHeading(0)
                    setMotion(0)
                )
                (if (proc0_6(129))
                    (send global2:addObstacle((send ((Polygon:new())):
                            type(2)
                            init(0 122 71 122 53 140 20 140 15 144 0 144)
                            yourself()
                        )
))
                    = local121[0] @local109
                    (uhuraTeller:init(ScriptID(34 1) @local109 @local121))
                    (send (ScriptID(34 1)):
                        view(969)
                        loop(0)
                        x(7)
                        y(141)
                        noun(9)
                        setScale(200)
                        stopUpd()
                        init()
                    )
                )
                (send global2:setScript(from485))
            )(else
                (if (((== global392 4) and (== global400 global122)) and not proc0_6(65))
                    = global401 10
                )(else
                    (if (((not proc0_6(65) and (== global392 4)) and (<> global400 global122)) and not global121)
                        (send global2:addObstacle((send ((Polygon:new())):
                                type(2)
                                init(0 122 71 122 53 140 20 140 15 144 0 144)
                                yourself()
                            )
))
                        = global400 global122
                        = global401 9
                        = local121[0] @local115
                        (uhuraTeller:init(ScriptID(34 1) @local115 @local121))
                        (send (ScriptID(34 1)):
                            view(969)
                            loop(0)
                            x(7)
                            y(141)
                            setScale(200)
                            noun(9)
                            stopUpd()
                            init()
                        )
                        (send gOwner:setScript(uhuraGreet))
                    )(else
                        (if (((((== global401 7) or (== global401 8)) and (<> global400 global122)) and not global121) and not proc0_6(65))
                            (send global2:addObstacle((send ((Polygon:new())):
                                    type(2)
                                    init(95 133 59 133 53 141 4 141 14 118 95 118)
                                    yourself()
                                )
))
                            = global400 global122
                            = global401 8
                            = local65[0] @local54
                            = local65[1] @local59
                            (yesufuTeller:init(ScriptID(39 1) @local54 @local65 @local62))
                            (send (ScriptID(39 1)):
                                view(989)
                                x(80)
                                y(130)
                                loop(2)
                                noun(6)
                                setScale(200)
                                stopUpd()
                                init()
                            )
                            (send gOwner:setScript(yesufuGreet))
                        )(else
                            (if (((((== global401 5) and (<> global400 global122)) and not global121) and not proc0_6(65)) and not proc0_6(38))
                                (send global2:addObstacle((send ((Polygon:new())):
                                        type(2)
                                        init(0 122 71 122 53 140 20 140 15 144 0 144)
                                        yourself()
                                    )
))
                                = global400 global122
                                = global401 6
                                = local121[0] @local109
                                (uhuraTeller:init(ScriptID(34 1) @local109 @local121))
                                (send (ScriptID(34 1)):
                                    view(969)
                                    x(7)
                                    y(141)
                                    noun(9)
                                    setScale(200)
                                    stopUpd()
                                    init()
                                )
                                (send gOwner:setScript(uhuraGreet))
                            )(else
                                (if ((((proc0_6(29) and (<> global400 global122)) and not global121) and not proc0_6(65)) and not proc0_6(38))
                                    (send global2:addObstacle((send ((Polygon:new())):
                                            type(2)
                                            init(95 133 59 133 53 141 4 141 14 118 95 118)
                                            yourself()
                                        )
))
                                    = global400 global122
                                    = global401 5
                                    = local65[0] @local48
                                    (yesufuTeller:init(ScriptID(39 1) @local48 @local65))
                                    (send (ScriptID(39 1)):
                                        x(80)
                                        y(130)
                                        noun(6)
                                        view(989)
                                        loop(2)
                                        setScale(200)
                                        stopUpd()
                                        init()
                                    )
                                    (send gOwner:setScript(yesufuGreet))
                                )(else
                                    (if ((((== global401 2) and (<> global400 global122)) and not global121) and not proc0_6(29))
                                        (send global2:addObstacle((send ((Polygon:new())):
                                                type(2)
                                                init(57 141 4 141 14 118 69 118)
                                                yourself()
                                            )
))
                                        = global400 global122
                                        = global401 3
                                        = local65[0] @local30
                                        = local65[1] @local36
                                        (yesufuTeller:init(ScriptID(39 1) @local30 @local65 @local39))
                                        (send (ScriptID(39 1)):
                                            view(982)
                                            loop(0)
                                            cel(0)
                                            x(137)
                                            y(121)
                                            setScale(200)
                                            noun(6)
                                            actions(yesufuTeller)
                                            approachVerbs(2)
                                            ignoreActors(1)
                                            approachX(109)
                                            approachY(137)
                                            stopUpd()
                                            init()
                                        )
                                        (yesufuArm:
                                            setPri(8)
                                            setScale(200)
                                            ignoreActors(1)
                                            stopUpd()
                                            init()
                                        )
                                        (send gOwner:setScript(yesufuGreet))
                                    )(else
                                        (if (((== global401 1) and (<> global400 global122)) and not global121)
                                            (send global2:addObstacle((send ((Polygon:new())):
                                                    type(2)
                                                    init(57 141 4 141 14 118 69 118)
                                                    yourself()
                                                )
))
                                            = global400 global122
                                            = global401 2
                                            = local90[0] @local69
                                            = local90[1] @local76
                                            = local90[2] @local79
                                            = local90[3] @local82
                                            (storyActions:init(ScriptID(53 1) @local69 @local90 @local85))
                                            (send (ScriptID(53 1)):
                                                loop(3)
                                                cel(0)
                                                x(160)
                                                y(142)
                                                noun(7)
                                                actions(storyActions)
                                                approachVerbs(2)
                                                approachX(109)
                                                approachY(150)
                                                setScale(200)
                                                stopUpd()
                                                init()
                                            )
                                            (send gOwner:setScript(storyTellGreet))
                                        )(else
                                            (if (not proc0_6(62) and not global121)
                                                (send global2:addObstacle((send ((Polygon:new())):
                                                        type(2)
                                                        init(57 141 4 141 14 118 69 118)
                                                        yourself()
                                                    )
))
                                                = global400 global122
                                                = local65[0] @local12
                                                = local65[1] @local18
                                                = local65[2] @local23
                                                (yesufuTeller:init(ScriptID(39 1) @local12 @local65 @local26))
                                                (send (ScriptID(39 1)):
                                                    view(982)
                                                    loop(0)
                                                    cel(0)
                                                    x(137)
                                                    y(121)
                                                    noun(6)
                                                    actions(yesufuTeller)
                                                    setScale(200)
                                                    approachVerbs(2)
                                                    approachX(109)
                                                    approachY(137)
                                                    ignoreActors(1)
                                                    stopUpd()
                                                    init()
                                                )
                                                (yesufuArm:
                                                    setPri(8)
                                                    setScale(200)
                                                    ignoreActors(1)
                                                    stopUpd()
                                                    init()
                                                )
                                                (send gOwner:setScript(yesufuGreet))
                                                proc0_4(62)
                                                = global401 1
                                            )(else
                                                (if (((<> global400 global122) and not global121) and not proc0_6(29))
                                                    (send global2:addObstacle((send ((Polygon:new())):
                                                            type(2)
                                                            init(57 141 4 141 14 118 69 118)
                                                            yourself()
                                                        )
))
                                                    = global400 global122
                                                    = global401 4
                                                    = local65[0] @local42
                                                    (yesufuTeller:init(ScriptID(39 1) @local42 @local65))
                                                    (send (ScriptID(39 1)):
                                                        view(982)
                                                        loop(0)
                                                        cel(0)
                                                        x(137)
                                                        y(121)
                                                        setScale(200)
                                                        noun(6)
                                                        actions(yesufuTeller)
                                                        approachVerbs(2)
                                                        approachX(109)
                                                        approachY(137)
                                                        ignoreActors(1)
                                                        stopUpd()
                                                        init()
                                                    )
                                                    (yesufuArm:
                                                        ignoreActors(1)
                                                        setScale(200)
                                                        init()
                                                        stopUpd()
                                                        setPri(8)
                                                    )
                                                    (send gOwner:setScript(yesufuGreet))
                                                )(else
                                                    (if (proc0_6(65) and (== global401 10))
                                                        (send global2:addObstacle((send ((Polygon:new())):
                                                                type(2)
                                                                init(57 141 4 141 14 118 69 118)
                                                                yourself()
                                                            )
))
                                                        = global401 11
                                                    )(else
                                                        (send global2:addObstacle((send ((Polygon:new())):
                                                                type(2)
                                                                init(57 141 4 141 14 118 69 118)
                                                                yourself()
                                                            )
))
                                                    )
                                                )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
        = local10[0] @local3
        (egoTeller:init(gOwner @local3 @local10))
        (send gOwner:
            setScale(200)
            normalize()
            actions(egoTeller)
            setAvoider(PAvoider)
            noun(8)
            init()
        )
        (if (== gGClientModNum 420)
            (send global2:setScript(enterFrSouth))
        )(else
            (if (== gGClientModNum 470)
                (send global2:setScript(enterFrWrest))
            )(else
                (if (== gGClientModNum 460)
                    (send global2:setScript(enterFrSpear))
                )(else
                    (if (proc999_5(gGClientModNum 485 490))
                        0
                    )(else
                        (send global2:setScript(enterFrSouth))
                    )
                )
            )
        )
        (if (<> (send gLongSong:number) 160)
            (if (not 
            (if (proc0_6(29))
                not proc0_6(65)
            )
)
                (send gLongSong:
                    number(160)
                    setLoop(-1)
                    play()
                )
            )
        )
        (super:init())
    )


    (method (doit param1)
        (if (script)
            0
        )(else
            (if (>= (send gOwner:y) 183)
                (send global2:setScript(exitSouth))
            )(else
                (if (>= (send gOwner:x) 315)
                    (send global2:setScript(exitEast))
                )(else
                    (if (<= (send gOwner:x) 5)
                        (send global2:setScript(exitWest))
                    )
                )
            )
        )
        (super:doit(rest param1))
    )


    (method (dispose)
        proc958_0(0 39 36 34 53)
        (super:dispose())
    )


    (method (cue)
        (if (== (send gLongSong:prevSignal) -1)
            (send gLongSong:
                setLoop(-1)
                client(0)
                changeTo(160)
            )
        )
    )

)
(instance uhuraGreet of Script
    (properties)

    (method (doit)
        (if ((== state 1) and not (send gOwner:mover))
            (self:cue())
        )
        (super:doit())
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 15
            )
            (case 1
            )
            (case 2
                proc0_2()
                (switch (global401)
                    (case 6
                        (send gQg3Messager:say(9 6 44 0 self))
                    )
                    (case 9
                        (send gQg3Messager:say(9 6 53 0 self))
                    )
                )
            )
            (case 3
                (if (not (send gOwner:has(16)) and (== global401 6))
                    (send gQg3Messager:say(9 6 51 0 self))
                )(else
                    = cycles 1
                )
            )
            (case 4
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance yesufuGreet of Script
    (properties)

    (method (doit)
        (if ((== state 1) and not (send gOwner:mover))
            (self:cue())
        )
        (super:doit())
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 15
            )
            (case 1
            )
            (case 2
                proc0_2()
                (switch (global401)
                    (case 1
                        (send gQg3Messager:say(6 6 1 0 self))
                    )
                    (case 3
                        (send gQg3Messager:say(6 6 74 0 self))
                    )
                    (case 4
                        (send gQg3Messager:say(6 6 30 0 self))
                    )
                    (case 5
                        (send gQg3Messager:say(6 5 20 0 self))
                    )
                    (case 8
                        (send gQg3Messager:say(6 6 79 0 self))
                    )
                )
            )
            (case 3
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance storyTellGreet of Script
    (properties)

    (method (doit)
        (if ((== state 1) and not (send gOwner:mover))
            (self:cue())
        )
        (super:doit())
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 15
            )
            (case 1
            )
            (case 2
                proc0_2()
                (send gQg3Messager:say(7 6 30 0 self))
            )
            (case 3
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance goToGame of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_4(127)
                (send gQg3Messager:say(6 5 3 0 self))
            )
            (case 1
                (send global2:newRoom(490))
            )
        )
    )

)
(instance firstTimeEnter of Script
    (properties)

    (method (doit param1)
        (if ((== state 1) and not (send gOwner:mover))
            (self:cue())
        )
        (super:doit(rest param1))
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 15
            )
            (case 1
            )
            (case 2
                proc0_2()
            )
            (case 3
                (yesufuArm:setCycle(End self))
            )
            (case 4
                (send gQg3Messager:say(6 6 1 0 self))
            )
            (case 5
                (yesufuArm:setCycle(Beg self))
            )
            (case 6
                (yesufuArm:stopUpd())
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance from485 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = cycles 3
            )
            (case 1
                (if ((send gGQg3KDHandler:contains(guard)))
                    (send gQg3Messager:say(2 6 50 0 self))
                )(else
                    (if ((send gGQg3KDHandler:contains(ScriptID(34 1))))
                        proc0_5(129)
                        (send gQg3Messager:say(9 6 50 0 self))
                    )
                )
            )
            (case 2
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance releaseJohari of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                proc0_4(65)
                (send gOwner:
                    view(31)
                    loop(1)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 1
                (send gOwner:
                    normalize()
                    setCycle(Rev)
                    setLoop(3)
                    setMotion(PolyPath + (send gOwner:x) 10 + (send gOwner:y) 10 self)
                )
                (send gLongSong2:
                    number(481)
                    setLoop(1)
                    play(127)
                )
                (cageDoor:setCycle(End))
            )
            (case 2
                (send gLongSong:
                    setLoop(1)
                    changeTo(485 global2)
                )
                (send gOwner:setCycle(0))
                (send (ScriptID(36 1)):
                    view(484)
                    setLoop(0)
                    cel(0)
                    setCycle(End self)
                )
            )
            (case 3
                (send (ScriptID(36 1)):
                    setLoop(1)
                    cel(0)
                    x(47)
                    setCycle(End self)
                )
            )
            (case 4
                (send (ScriptID(36 1)):
                    setLoop(2)
                    cel(0)
                    x(62)
                    y(124)
                    setCycle(Fwd)
                    setPri(8)
                    origStep(808)
                    setMotion(MoveTo 112 96 self)
                )
            )
            (case 5
                (send (ScriptID(36 1)):
                    setPri(5)
                    setMotion(MoveTo 118 93 self)
                )
            )
            (case 6
                (send (ScriptID(36 1)):
                    setLoop(3)
                    cel(0)
                    x(134)
                    y(57)
                    setPri(-1)
                    setCycle(End self)
                )
            )
            (case 7
                (send (ScriptID(36 1)):dispose())
                = cycles 5
            )
            (case 8
                (send gQg3Messager:say(2 6 65 0 self))
            )
            (case 9
                (send gOwner:normalize())
                = global401 10
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance exitSouth of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gOwner:setMotion(PolyPath (send gOwner:x) 210 self))
            )
            (case 1
                (send global2:newRoom(420))
            )
        )
    )

)
(instance exitEast of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gOwner:setMotion(PolyPath 325 (send gOwner:y) self))
            )
            (case 1
                (send global2:newRoom(470))
            )
        )
    )

)
(instance exitWest of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                proc0_2()
                (send gOwner:setMotion(PolyPath -5 (send gOwner:y) self))
            )
            (case 1
                (send global2:newRoom(460))
            )
        )
    )

)
(instance enterFrSouth of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gOwner:
                    x(160)
                    y(210)
                    setMotion(PolyPath 160 180 self)
                )
            )
            (case 1
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance enterFrWrest of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gOwner:
                    x(320)
                    y(170)
                    setMotion(PolyPath 300 170 self)
                )
            )
            (case 1
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance enterFrSpear of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gOwner:
                    x(-15)
                    y(170)
                    setMotion(PolyPath 20 170 self)
                )
            )
            (case 1
                proc0_3()
                (self:dispose())
            )
        )
    )

)
(instance johariHands of Prop
    (properties
        x 33
        y 132
        view 481
        loop 3
        priority 10
        signal $4010
    )

    (method (doit param1)
        (self:cel((send (ScriptID(36 1)):cel)))
        (super:doit(rest param1))
    )

)
(instance tree1 of Feature
    (properties
        x 189
        y 22
        noun 12
        nsTop 1
        nsLeft 92
        nsBottom 43
        nsRight 287
        sightAngle 180
    )
)
(instance tree2 of Feature
    (properties
        x 205
        y 62
        noun 13
        nsTop 44
        nsLeft 118
        nsBottom 77
        nsRight 292
        sightAngle 180
    )
)
(instance rock1 of Feature
    (properties
        x 166
        y 125
        noun 14
        nsTop 114
        nsLeft 121
        nsBottom 142
        nsRight 212
        sightAngle 180
    )
)
(instance rock2 of Feature
    (properties
        x 261
        y 124
        noun 15
        nsTop 93
        nsLeft 204
        nsBottom 155
        nsRight 319
    )
)
(instance mountain of Feature
    (properties
        x 159
        y 32
        noun 16
        nsTop 22
        nsBottom 42
        nsRight 319
        sightAngle 180
    )
)
(instance littleRock1 of Feature
    (properties
        x 69
        y 145
        noun 17
        nsTop 142
        nsLeft 62
        nsBottom 149
        nsRight 76
        sightAngle 180
    )
)
(instance littleRock2 of Feature
    (properties
        x 227
        y 182
        noun 18
        nsTop 179
        nsLeft 219
        nsBottom 186
        nsRight 235
        sightAngle 180
    )
)
(instance theCage of Feature
    (properties
        x 48
        y 121
        noun 3
        nsTop 85
        nsLeft 12
        nsBottom 128
        nsRight 56
        sightAngle 40
        approachX 60
        approachY 150
    )

    (method (doVerb theVerb)
        (cageDoor:doVerb(rest theVerb))
    )

)
(instance cageDoor of Prop
    (properties
        x 48
        y 121
        noun 3
        sightAngle 40
        approachX 60
        approachY 150
        view 480
        signal $4000
    )

    (method (doVerb theVerb)
        (switch (theVerb)
            (case 4
                (if ((send global2:script))
                    0
                )(else
                    (if (((== global401 5) and not proc0_6(65)) and (send gGQg3KDHandler:contains(ScriptID(39 1))))
                        (send gQg3Messager:say(6 6 25))
                    )(else
                        (if (((== global401 9) and not proc0_6(65)) and (send gGQg3KDHandler:contains(ScriptID(34 1))))
                            (if (== global453 3)
                                (send gQg3Messager:say(3 4 55))
                            )(else
                                (send gQg3Messager:say(3 4 56))
                            )
                        )(else
                            (if (((proc0_6(38) and (== global392 4)) and (> global401 5)) and not proc0_6(65))
                                proc0_4(65)
                                (send global2:setScript(releaseJohari))
                            )(else
                                (if ((send gGQg3KDHandler:contains(guard)) and (send gGQg3KDHandler:contains(ScriptID(36 1))))
                                    (send gQg3Messager:say(3 4 83))
                                )(else
                                    (if (not (send gGQg3KDHandler:contains(ScriptID(36 1))))
                                        (send gQg3Messager:say(3 4 84))
                                    )
                                )
                            )
                        )
                    )
                )
            )
            (default 
                (super:doVerb(theVerb))
            )
        )
    )

)
(instance awari of Feature
    (properties
        x 173
        y 128
        noun 4
        nsTop 117
        nsLeft 142
        nsBottom 133
        nsRight 204
        sightAngle 40
        approachX 173
        approachY 134
    )

    (method (doVerb theVerb)
        (switch (theVerb)
            (case 4
                (if ((send gGQg3KDHandler:contains(ScriptID(39 1))) and proc999_5(global401 1 3 4))
                    (send global2:newRoom(490))
                )(else
                    (send gQg3Messager:say(4 4 82))
                )
            )
            (case 24
                proc0_4(161)
                (super:doVerb(theVerb))
            )
            (default 
                (super:doVerb(theVerb))
            )
        )
    )

)
(instance fence of Feature
    (properties
        x 144
        y 60
        noun 5
        nsTop 38
        nsBottom 85
        nsRight 224
        sightAngle 40
        approachX 144
        approachY 68
    )
)
(instance guard of View
    (properties
        x 14
        y 150
        noun 2
        view 482
    )
)
(instance yesufuArm of Prop
    (properties
        x 139
        y 107
        view 982
        loop 1
    )
)
(instance johariTeller of Teller
    (properties)

    (method (doChild)
        (if (proc0_6(38))
            (send gQg3Messager:say(10 5 63))
        )(else
            (send gQg3Messager:say(11 5 63))
        )
        return 0
    )


    (method (doVerb theVerb)
        (switch (theVerb)
            (case 30
                (if ((== global392 4) and proc0_6(38))
                    (if (not proc0_6(283))
                        (send gOwner:
                            solvePuzzle(283 3)
                            addHonor(20)
                        )
                        ++global453
                    )
                    (send gOwner:drop(20 1))
                    (send gQg3Messager:say(10 30 0))
                )(else
                    (send gQg3Messager:say(11 30 0))
                )
            )
            (case 12
                (if ((== global392 4) and proc0_6(38))
                    (if (not proc0_6(284))
                        (send gOwner:
                            solvePuzzle(284 3)
                            addHonor(20)
                        )
                        ++global453
                    )
                    (send gOwner:drop(2 1))
                    (send gQg3Messager:say(10 12 0))
                )(else
                    (send gQg3Messager:say(11 12 0))
                )
            )
            (case 43
                (if ((== global392 4) and proc0_6(38))
                    (if (not proc0_6(282))
                        (send gOwner:
                            solvePuzzle(282 3)
                            addHonor(20)
                        )
                        ++global453
                    )
                    (send gOwner:drop(32))
                    (send gQg3Messager:say(10 43 0))
                )(else
                    (send gQg3Messager:say(11 43 0))
                )
            )
            (case 26
                (if ((send gGQg3KDHandler:contains(ScriptID(39 1))) and (== global401 5))
                    (send gQg3Messager:say(6 6 25))
                )(else
                    (if (((((== global401 5) and not (send gGQg3KDHandler:contains(ScriptID(39 1)))) or (== global401 6)) and not proc0_6(38)) and not (send global2:script))
                        proc0_4(38)
                        = global401 7
                        (if ((send gGQg3KDHandler:contains(ScriptID(34 1))))
                            proc0_4(129)
                        )
                        (send gOwner:
                            drop(16 1)
                            solvePuzzle(281 15)
                            addHonor(40)
                        )
                        (send global2:newRoom(485))
                    )(else
                        (super:doVerb(theVerb))
                    )
                )
            )
            (default 
                (if ((> theVerb 10) and (== global401 9))
                    (send gQg3Messager:say(19 6 80))
                )(else
                    (if ((> theVerb 10) and (== global401 10))
                        (send gQg3Messager:say(10 0 64))
                    )(else
                        (super:doVerb(theVerb))
                    )
                )
            )
        )
    )

)
(instance yesufuTeller of Teller
    (properties)

    (method (showDialog)
        (super:showDialog(14 (== global362 0) 18 (== global362 0) 8 (== global362 0) -3 (== global401 1) -75 
            (if (== global401 3)
            )(else
                (== global401 4)
            )
))
    )


    (method (doChild param1)
        return 
            (switch (query)
                (case -75
                    (if (proc0_6(127))
                        = query 16
                    )(else
                        = query 3
                        (send global2:setScript(goToGame))
                        return 0
                    )
                )
                (case -3
                    (if (proc0_6(127))
                        = query 16
                    )(else
                        (send global2:setScript(goToGame))
                        return 0
                    )
                )
                (case -7
                    (if (== global362 0)
                        (super:doChild(rest param1))
                    )(else
                        return 1
                    )
                )
                (default 
                    (super:doChild(rest param1))
                )
            )
    )

)
(instance egoTeller of Teller
    (properties)

    (method (showDialog)
        (super:showDialog(-30 
            (if ((((not not local2 or not (< global401 11)) or (send gGQg3KDHandler:contains(ScriptID(34 1)))) or (send gGQg3KDHandler:contains(ScriptID(39 1)))) or (send gGQg3KDHandler:contains(guard)))
            )(else
                (send gGQg3KDHandler:contains(ScriptID(53 1)))
            )
 -72 
            (if (((not (< global401 11) or (send gGQg3KDHandler:contains(ScriptID(34 1)))) or (send gGQg3KDHandler:contains(ScriptID(39 1)))) or (send gGQg3KDHandler:contains(guard)))
            )(else
                (send gGQg3KDHandler:contains(ScriptID(53 1)))
            )
 68 
            (if (not (send gGQg3KDHandler:contains(ScriptID(39 1))) or (== global401 1))
            )(else
                (== global401 3)
            )
 -41 
            (if ((send gGQg3KDHandler:contains(ScriptID(53 1))) and not local0)
                (== global401 2)
            )(else
                0
            )
 28 
            (if (== global401 9)
                (send gGQg3KDHandler:contains(ScriptID(34 1)))
            )(else
                0
            )
))
    )


    (method (doChild)
        return 
            (switch (query)
                (case -30
                    (if ((send gGQg3KDHandler:contains(guard)))
                        = query 69
                    )(else
                        (if ((send gGQg3KDHandler:contains(ScriptID(39 1))))
                            (send gOwner:addHonor(3))
                            = query 66
                        )(else
                            (if ((send gGQg3KDHandler:contains(ScriptID(53 1))))
                                (send gOwner:addHonor(3))
                                = query 42
                            )(else
                                (if ((send gGQg3KDHandler:contains(ScriptID(34 1))))
                                    = query 62
                                )
                            )
                        )
                    )
                    = local2 1
                )
                (case -72
                    (if ((send gGQg3KDHandler:contains(guard)))
                        = query 70
                    )(else
                        (if ((send gGQg3KDHandler:contains(ScriptID(39 1))))
                            = query 67
                        )(else
                            (if ((send gGQg3KDHandler:contains(ScriptID(53 1))))
                                = query 43
                            )(else
                                (if ((send gGQg3KDHandler:contains(ScriptID(34 1))))
                                    = query 61
                                )
                            )
                        )
                    )
                )
                (case -41
                    = local0 1
                    (send gOwner:addHonor(10))
                    return 1
                )
            )
    )

)
(instance storyActions of Teller
    (properties)

    (method (showDialog)
        (super:showDialog(39 proc0_6(9) 40 proc0_6(9)))
    )


    (method (doChild param1)
        (if (== query -73)
            (switch (global125)
                (case 0
                    = query 36
                )
                (case 3
                    = query 36
                )
                (case 1
                    = query 37
                )
                (case 2
                    = query 38
                )
            )
        )(else
            (super:doChild(rest param1))
        )
    )

)
(instance guardTeller of Teller
    (properties)

    (method (doChild)
        (send gQg3Messager:say(2 5 63))
        return 0
    )

)
(instance uhuraTeller of Teller
    (properties)

    (method (showDialog)
        (super:showDialog(-59 (< global453 3) 28 (== gGClientModNum 485)))
    )


    (method (doChild)
        return 
            (if (== query -59)
                (send gOwner:solvePuzzle(268 2))
                return 1
            )(else
                0
            )
    )

)
