(include "sci.sh")
(use "Main")
(use "Print")
(use "Blink")
(use "CueObj")
(use "n958")
(use "Sound")
(use "Cycle")
(use "Sounds")
(use "View")
(use "Obj")
(script 520)


(local
    local0 = 1
    local1
    local2
    local3
    local4
    local5

)
(instance theMusic3 of Sound
    (properties)
)
(instance theMusic4 of Sound
    (properties)
)
(instance public rm520 of Rm
    (properties
        picture 74
        style 10
    )

    (method (init)
        (var temp0)
        (theExit:init())
        (theFlo:init())
        (theDroole:init())
        (send gWalkHandler:addToFront(theExit))
        (send gRoom:setRegions(505))
        (switch (global125)
            (case 0
                ((send gSQ5:handsOff()) proc958_0(128 524 522) (send gRoom:setScript(sWaitress self))  )
            )
            (case 1
                ((send gSQ5:handsOff()) proc958_0(128 524 521) (send gRoom:setScript(sSalesman self))  )
            )
            (case 2
                ((send gSQ5:handsOff()) proc958_0(128 524 523) (send gRoom:setScript(sQuirk self))  )
            )
            (case 3
                ((send gSQ5:handsOn()) proc958_0(128 524) (send gRoom:setScript(sCrew self))  )
            )
            (default 
                ((send gSQ5:handsOn()) proc958_0(128 524) (send gRoom:setScript(sCrew self)) )
            )
        )
        (super:init())
    )


    (method (dispose param1)
        (send gWalkHandler:delete(theExit))
        (super:dispose(rest param1))
    )

)
(instance sCrew of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((theMusic3:
                    number(500)
                    setLoop(-1)
                    play()
                )
 = local0 0 (rogHead:init()) (rogArms:init()) (drink:init()) (flodrink:
                    init()
                    stopUpd()
                )
 (drooldrink:
                    init()
                    stopUpd()
                )
 
                (if (proc0_1(48))
                    (drink:setScript(sMonkeys))
                )
 = cycles 1  )
            )
            (case 1
                ((self:dispose()) )
            )
        )
    )

)
(instance sQuirk of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((theMusic3:
                    number(500)
                    setLoop(-1)
                    play()
                )
 = local0 2 (drink:init()) (flodrink:init()) (drooldrink:init()) (rogHead:init()) (rogArms:init()) (quirkBody:init()) (quirkHead:init()) = seconds 1  )
            )
            (case 1
                ((rogHead:cel(2)) = cycles 1  )
            )
            (case 2
                ((send gTestMessager:say(5 0 0 0 self))  )
            )
            (case 3
                (= global124 9 = global125 3 proc0_3(50) (send gRoom:newRoom(500)) )
            )
        )
    )

)
(instance sWaitress of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((theMusic3:
                    number(500)
                    setLoop(-1)
                    play()
                )
 (rogHead:init()) (rogArms:init()) (theMusic4:
                    number(121)
                    setLoop(-1)
                    play()
                )
 (roboWaitress:
                    init()
                    x(0)
                    y(32)
                    setMotion(MoveTo 73 42 self)
                )
 (door:init()) (light:
                    init()
                    setCycle(Fwd)
                )
 (lites1:
                    init()
                    setCycle(Fwd)
                )
 (lites2:
                    init()
                    setCycle(Fwd)
                )
 (lites3:
                    init()
                    setCycle(Fwd)
                )
 (lites4:
                    init()
                    setCycle(Fwd)
                )
  )
            )
            (case 1
                ((rogHead:setCel(0)) = cycles 1  )
            )
            (case 2
                ((send gTestMessager:say(0 0 0 0 self))  )
            )
            (case 3
                ((send gSq5Music2:
                    number(503)
                    loop(1)
                    play()
                )
 (door:
                    loop(1)
                    cel(0)
                    x(91)
                    y(70)
                    setCycle(End self)
                )
  )
            )
            (case 4
                ((send gSq5Music2:stop()) (drink:
                    init()
                    x(108)
                    y(89)
                    view(522)
                    loop(6)
                    cel(0)
                    cycleSpeed(2)
                    setCycle(End self)
                )
  )
            )
            (case 5
                ((drink:
                    setLoop(7)
                    setCel(1)
                    x(125)
                    y(101)
                )
 = ticks 10  )
            )
            (case 6
                ((drink:
                    setCel(2)
                    x(131)
                    y(119)
                )
 = ticks 10  )
            )
            (case 7
                ((drink:
                    setCel(3)
                    x(118)
                    y(140)
                )
 = ticks 10  )
            )
            (case 8
                ((send gSq5Music2:
                    number(520)
                    loop(1)
                    play()
                )
 (drink:stopUpd()) = ticks 1  )
            )
            (case 9
                ((flodrink:
                    init()
                    setLoop(4)
                    setCel(0)
                    x(109)
                    y(90)
                    setCycle(End self)
                )
  )
            )
            (case 10
                ((flodrink:
                    setLoop(5)
                    cel(1)
                    x(125)
                    y(105)
                )
 = ticks 10  )
            )
            (case 11
                ((flodrink:
                    cel(2)
                    x(116)
                    y(130)
                )
 = ticks 10  )
            )
            (case 12
                ((flodrink:
                    cel(3)
                    x(102)
                    y(148)
                )
 = ticks 10  )
            )
            (case 13
                ((send gSq5Music2:
                    number(520)
                    loop(1)
                    play()
                )
 (flodrink:stopUpd()) = ticks 10  )
            )
            (case 14
                ((drooldrink:
                    init()
                    setLoop(2)
                    setCel(0)
                    x(113)
                    y(84)
                    setCycle(End self)
                )
  )
            )
            (case 15
                ((drooldrink:
                    setLoop(3)
                    cel(1)
                    x(138)
                    y(101)
                )
 = ticks 10  )
            )
            (case 16
                ((drooldrink:
                    cel(2)
                    x(169)
                    y(123)
                )
 = ticks 10  )
            )
            (case 17
                ((drooldrink:
                    cel(3)
                    x(207)
                    y(139)
                )
 = ticks 10  )
            )
            (case 18
                ((send gSq5Music2:
                    number(520)
                    loop(1)
                    play()
                )
 (drooldrink:stopUpd()) = ticks 10  )
            )
            (case 19
                ((door:
                    loop(1)
                    cel(2)
                    x(91)
                    y(70)
                    setCycle(Beg self)
                )
 (send gSq5Music2:
                    number(503)
                    loop(1)
                    play()
                )
  )
            )
            (case 20
                ((send gSq5Music2:stop()) (rogHead:cel(1)) (roboWaitress:
                    setLoop(0)
                    cel(0)
                    x(73)
                    y(42)
                    setMotion(MoveTo 65526 32 self)
                )
  )
            )
            (case 21
                ((theMusic4:fade()) (roboWaitress:dispose()) = seconds 1  )
            )
            (case 22
                (= global124 7 (send gRoom:newRoom(500)) )
            )
        )
    )

)
(instance sSalesman of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) (theMusic3:
                    number(500)
                    setLoop(-1)
                    play()
                )
 (rogHead:init()) (rogArms:init()) (sMan:init()) (sHead:init()) (sArms:init()) (drink:init()) (flodrink:init()) (drooldrink:init()) = seconds 1  )
            )
            (case 1
                ((sArms:
                    view(521)
                    loop(4)
                    cel(0)
                )
 (sHead:
                    view(521)
                    loop(1)
                    cel(0)
                )
 (send gSq5Music2:
                    number(502)
                    loop(1)
                    play()
                )
 (rogHead:cel(0)) = seconds 1  )
            )
            (case 2
                ((send gTestMessager:say(8 0 0 0 self))  )
            )
            (case 3
                ((send gSq5Music2:
                    number(502)
                    loop(1)
                    play()
                )
 (send gEgo:get(13 14)) = cycles 1  )
            )
            (case 4
                (= global124 8 (send gRoom:newRoom(500)) (self:dispose()) )
            )
        )
    )

)
(instance sMonkeysInDrink of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((send gSQ5:handsOff()) = cycles 1  )
            )
            (case 1
                (proc0_10(214 50) (rogHead:
                    init()
                    view(524)
                    loop(0)
                    setCel(1)
                )
 (rogArms:
                    init()
                    view(524)
                    loop(5)
                    setCel(0)
                )
 = seconds 1  )
            )
            (case 2
                ((send gSq5Music1:
                    number(25)
                    loop(-1)
                    play()
                )
 (send gSq5Music2:
                    number(256)
                    loop(-1)
                    play()
                )
 (rogArms:
                    init()
                    view(524)
                    loop(5)
                    setCel(1)
                )
 (drink:init()) (m1:init()) (m2:init()) (m3:
                    init()
                    setScript(sMonks1)
                )
 = seconds 3  )
            )
            (case 3
                ((theMusic4:
                    number(506)
                    loop(1)
                    play()
                )
 (rogHead:
                    init()
                    view(524)
                    loop(0)
                    setCel(3)
                )
 (m4:
                    init()
                    setScript(sMonks2)
                )
 = seconds 2  )
            )
            (case 4
                ((rogArms:
                    view(524)
                    loop(4)
                    setCel(0)
                )
 = seconds 2  )
            )
            (case 5
                ((rogHead:
                    view(524)
                    loop(0)
                    setCel(4)
                )
 = cycles 1  )
            )
            (case 6
                (= seconds 6  )
            )
            (case 7
                ((send gSq5Music1:fade()) (send gSq5Music2:stop()) (theMusic4:stop()) (send gSQ5:handsOn()) = global124 11 (send gEgo:put(13)) proc0_2(48) (send gRoom:newRoom(500)) )
            )
        )
    )

)
(instance sMonkeys of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((m1:init()) (m2:init()) (m3:
                    init()
                    setScript(sMonks1)
                )
 (m4:
                    init()
                    setScript(sMonks2)
                )
 = seconds 1  )
            )
            (case 1
                ((self:dispose()) )
            )
        )
    )

)
(instance sMonks1 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((m3:
                    show()
                    x(124)
                    y(127)
                    setMotion(MoveTo 127 73 self)
                )
  )
            )
            (case 1
                ((m3:hide()) (theMusic4:
                    number(506)
                    loop(1)
                    play()
                )
 (m3split:
                    init()
                    setCycle(End self)
                )
  )
            )
            (case 2
                ((m3split:dispose()) (m3a:
                    init()
                    show()
                    x(117)
                    y(73)
                    setMotion(MoveTo 53 27 self)
                )
 (m3b:
                    init()
                    show()
                    x(135)
                    y(73)
                    setMotion(MoveTo 282 33 self)
                )
  )
            )
            (case 3
                (0  )
            )
            (case 4
                ((m3a:hide()) (m3b:hide()) = seconds Random(1 4)  )
            )
            (case 5
                (= state -1 = cycles 1 )
            )
        )
    )

)
(instance sMonks2 of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                ((m4:
                    show()
                    x(118)
                    y(129)
                    setMotion(MoveTo 120 56 self)
                )
  )
            )
            (case 1
                ((theMusic4:
                    number(506)
                    loop(1)
                    play()
                )
 (m4:hide()) (m4split:
                    init()
                    setCycle(End self)
                )
  )
            )
            (case 2
                ((m4split:dispose()) (m4a:
                    init()
                    show()
                    x(137)
                    y(49)
                    scaleSignal(1)
                    scaleX(121)
                    scaleY(121)
                    setMotion(MoveTo 183 5 self)
                )
 (m4b:
                    init()
                    show()
                    x(107)
                    y(51)
                    scaleSignal(1)
                    scaleX(33)
                    scaleY(33)
                    setMotion(MoveTo 41 36 self)
                )
  )
            )
            (case 3
                (0  )
            )
            (case 4
                ((m4a:hide()) (m4b:hide()) = seconds Random(1 4)  )
            )
            (case 5
                (= state -1 = cycles 1 )
            )
        )
    )

)
(instance m1 of Actor
    (properties
        x rm520
        y 125
        view 526
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(0)
            cel(0)
            x(112)
            y(125)
            setCycle(Fwd)
            setMotion(MoveTo 91 8 self)
        )
    )


    (method (cue)
        (self:init())
    )

)
(instance m2 of Actor
    (properties
        x 125
        y 123
        view 526
        loop 5
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(5)
            cel(0)
            x(125)
            y(123)
            setCycle(Fwd)
            setMotion(MoveTo 138 7 self)
        )
    )


    (method (cue)
        (self:init())
    )

)
(instance m3 of Actor
    (properties
        x 124
        y 127
        view 526
        loop 1
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(1)
            cel(0)
            x(124)
            y(127)
            setCycle(Fwd)
        )
    )

)
(instance m3split of Actor
    (properties
        x 126
        y 73
        view 526
        loop 7
        cel 7
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(7)
            cel(7)
        )
    )

)
(instance m3a of Actor
    (properties
        x 117
        y 73
        view 526
        loop 1
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(1)
            setCycle(Fwd)
        )
    )

)
(instance m3b of Actor
    (properties
        x 135
        y 73
        view 526
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(0)
            setCycle(Fwd)
        )
    )

)
(instance m3b1 of Actor
    (properties
        x 160
        y 45
        view 526
        loop 4
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(4)
            setCycle(Fwd)
        )
    )

)
(instance m4 of Actor
    (properties
        x 118
        y 129
        view 526
        loop 2
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(2)
            cel(0)
            x(118)
            y(129)
            setCycle(Fwd)
        )
    )

)
(instance m4split of Actor
    (properties
        x 120
        y 56
        view 526
        loop 10
        cel 7
        signal 16384
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(10)
            cel(7)
            x(120)
            y(56)
            setCycle(Fwd)
        )
    )

)
(instance m4a of Actor
    (properties
        x 137
        y 49
        view 526
        loop 12
        signal 16384
        scaleSignal 1
        scaleX 121
        scaleY 121
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(12)
            setCycle(Fwd)
        )
    )

)
(instance m4b of Actor
    (properties
        x 107
        y 51
        view 526
        loop 13
        signal 16384
        scaleSignal 1
        scaleX 33
        scaleY 33
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            setLoop(13)
            setCycle(Fwd)
        )
    )

)
(instance sMan of View
    (properties
        x 60
        y 58
        view 521
    )
)
(instance sHead of View
    (properties
        x 89
        y 30
        view 521
        loop 1
        priority 5
        signal theMusic3
    )
)
(instance sArms of View
    (properties
        x 68
        y 95
        view 521
        loop 4
    )
)
(instance quirkBody of View
    (properties
        x 84
        y 46
        view 523
    )
)
(instance quirkHead of View
    (properties
        x 84
        y 46
        view 523
        loop 1
    )
)
(instance quirkMouth of Prop
    (properties
        x 80
        y 33
        view 523
        loop 3
        priority 5
        signal theMusic3
    )
)
(instance quirkYell of Prop
    (properties
        x 78
        y 33
        view 523
        loop 4
        priority 5
        signal theMusic3
    )
)
(instance quirkBrows of Prop
    (properties
        x 79
        y 20
        view 523
        loop 5
        priority 5
        signal theMusic3
    )
)
(instance rogHead of View
    (properties
        x 168
        y 88
        noun 7
        view m1
        signal 16384
    )

    (method (init param1)
        (switch (global125)
            (case 0
                ((self:cel(1))  )
            )
            (case 1
                ((self:cel(1))  )
            )
            (case 2
                ((self:cel(1))  )
            )
            (case 3
                (
                (if (== local3 1)
                    (self:cel(3))
                )(else
                    (self:cel(1))
                )
 )
            )
        )
        (super:init(rest param1))
    )

)
(instance rogArms of View
    (properties
        x 178
        y 121
        view m1
        loop 4
        signal 16384
    )

    (method (init param1)
        (if (== local3 1)
            (self:
                loop(5)
                cel(1)
            )
        )
        (super:init(rest param1))
    )

)
(instance roboWaitress of Actor
    (properties
        view 522
        signal 16384
    )

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

)
(instance door of Prop
    (properties
        view 522
        loop 1
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            x(+ (roboWaitress:x) 18)
            y(+ (roboWaitress:y) 28)
        )
    )


    (method (doit param1)
        (if ((roboWaitress:mover))
            (self:
                x(+ (roboWaitress:x) 18)
                y(+ (roboWaitress:y) 28)
            )
        )
        (super:doit(rest param1))
    )

)
(instance light of Prop
    (properties
        view 522
        loop 9
        priority 3
        signal theMusic3
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            x(+ (roboWaitress:x) 55)
            y((roboWaitress:y))
        )
    )


    (method (doit param1)
        (self:
            x(+ (roboWaitress:x) 55)
            y((roboWaitress:y))
        )
        (super:doit(rest param1))
    )

)
(instance lites1 of Prop
    (properties
        view 522
        loop 8
        cel 1
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            x(+ (roboWaitress:x) 1)
            y(+ (roboWaitress:y) 57)
        )
    )


    (method (doit param1)
        (self:
            x(+ (roboWaitress:x) 1)
            y(+ (roboWaitress:y) 57)
        )
        (super:doit(rest param1))
    )

)
(instance lites2 of Prop
    (properties
        view 522
        loop 8
        cel 1
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            x(+ (roboWaitress:x) 19)
            y(+ (roboWaitress:y) 57)
        )
    )


    (method (doit param1)
        (self:
            x(+ (roboWaitress:x) 19)
            y(+ (roboWaitress:y) 57)
        )
        (super:doit(rest param1))
    )

)
(instance lites3 of Prop
    (properties
        view 522
        loop 8
        cel 1
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            x(+ (roboWaitress:x) 37)
            y(+ (roboWaitress:y) 57)
        )
    )


    (method (doit param1)
        (self:
            x(+ (roboWaitress:x) 37)
            y(+ (roboWaitress:y) 57)
        )
        (super:doit(rest param1))
    )

)
(instance lites4 of Prop
    (properties
        view 522
        loop 8
        cel 1
    )

    (method (init param1)
        (super:init(rest param1))
        (self:
            x(+ (roboWaitress:x) 55)
            y(+ (roboWaitress:y) 57)
        )
    )


    (method (doit param1)
        (self:
            x(+ (roboWaitress:x) 55)
            y(+ (roboWaitress:y) 57)
        )
        (super:doit(rest param1))
    )

)
(instance drink of Prop
    (properties
        x 118
        y 140
        noun 6
        view 522
        loop 7
        cel 3
    )

    (method (init param1)
        (super:init(rest param1))
        (if (== local3 1)
            (self:
                view(524)
                setLoop(6)
                cel(0)
                setCycle(Fwd)
                x(118)
                y(140)
            )
        )
    )


    (method (doVerb param1 param2)
        (switch (param1)
            (case 34
                (= local3 1 (send gRoom:setScript(sMonkeysInDrink))  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance flodrink of Prop
    (properties
        x 102
        y 148
        noun 3
        view 522
        loop 5
        cel 3
    )

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

)
(instance drooldrink of Prop
    (properties
        x 207
        y 139
        noun 1
        view 522
        loop 3
        cel 3
    )

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

)
(instance public egoTalker of Talker
    (properties
        x 152
        y 51
        view m1
        signal 16384
        talkWidth 180
    )

    (method (init param1)
        = font gFont
        (send (= gSq5Win gNewSpeakWindow):
            tailX(170)
            tailY(45)
            xOffset(40)
            isBottom(1)
        )
        (switch (local0)
            (case 0
                ((self:
                    loop(0)
                    cel(1)
                    x(153)
                    y(50)
                )
  )
            )
            (case 1
                ((self:
                    loop(0)
                    cel(0)
                )
  )
            )
            (case 2
                ((self:
                    loop(0)
                    cel(2)
                    x(153)
                    y(51)
                )
 )
            )
        )
        (egoMouth:init())
        (super:init(0 0 egoMouth rest param1))
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )


    (method (display param1)
        (var theTalkWidth, newGSq5Win)
        = theTalkWidth talkWidth
        (send (= newGSq5Win (send gSq5Win:new())):
            color(color)
            back(back)
        )
        (if (not HaveMouse() and (<> gSaveCursor 996))
            = saveCursor gSaveCursor
            (send gSQ5:setCursor(996))
        )(else
            = saveCursor 0
        )
        (if (showTitle)
            (Print:addTitle(name))
        )
        (Print:
            window(newGSq5Win)
            posn(x y)
            font(font)
            width(theTalkWidth)
            addText(param1)
            modeless(1)
            init()
        )
    )

)
(instance egoMouth of Prop
    (properties
        nsTop 22
        nsLeft 1
        view m1
        loop 1
        signal 16384
    )

    (method (init param1)
        (switch (local0)
            (case 0
                ((self:
                    setLoop(3)
                    cel(0)
                    nsLeft(5)
                    nsTop(27)
                )
  )
            )
            (case 1
                ((self:
                    setLoop(1)
                    cel(0)
                )
  )
            )
            (case 2
                ((self:
                    setLoop(2)
                    cel(0)
                    nsLeft(0)
                )
 )
            )
        )
        (super:init(rest param1))
    )

)
(instance public sTalker of Talker
    (properties
        x 69
        y 29
        view 521
        loop 1
        talkWidth 195
    )

    (method (init param1)
        = font gFont
        = gSq5Win gNewSpeakWindow
        (send gSq5Win:
            tailX(112)
            tailY(proc0_12(60 50 50 50 50))
            xOffset(100)
            isBottom(1)
        )
        (self:
            cel(0)
            loop(1)
        )
        (super:init(0 sBrows sMouth rest param1))
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )

)
(instance sMouth of Prop
    (properties
        nsTop 26
        nsLeft 21
        view 521
        loop 2
        signal 16384
    )
)
(instance sBrows of Prop
    (properties
        nsTop 14
        nsLeft 12
        view 521
        loop 5
        priority 7
        signal theMusic3
    )
)
(instance public qTalker of Talker
    (properties
        x 68
        y 9
        view 523
        loop 1
        talkWidth 200
    )

    (method (init param1)
        = font gFont
        = gSq5Win gNewSpeakWindow
        (send gSq5Win:
            tailX(110)
            tailY(31)
            xOffset(105)
            isBottom(proc0_12(0 1 1 1 1))
        )
        (switch (local1)
            (case 3
                ((self:
                    loop(1)
                    cel(0)
                )
  )
            )
            (case 4
                ((self:
                    loop(1)
                    cel(0)
                )
  )
            )
            (case 5
                ((self:
                    loop(2)
                    cel(0)
                )
 )
            )
        )
        (super:init(0 qBrows qMouth rest param1))
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )

)
(instance qMouth of Prop
    (properties
        nsTop 24
        nsLeft 12
        view 523
        loop 3
        signal 16384
    )

    (method (init param1)
        (switch (local1)
            (case 3
                ((self:
                    loop(3)
                    cel(0)
                )
  )
            )
            (case 4
                ((self:
                    loop(1)
                    cel(0)
                )
 )
            )
        )
        (super:init(rest param1))
    )

)
(instance qBrows of Prop
    (properties
        nsTop 11
        nsLeft 11
        view 523
        loop 5
        priority 5
        signal theMusic3
    )
)
(instance public dTalker of Talker
    (properties
        x 221
        y 60
        view 525
        loop 3
        talkWidth 200
    )

    (method (init param1)
        = font gFont
        = gSq5Win gNewSpeakWindow
        (send gSq5Win:
            tailX(195)
            tailY(proc0_12(50 40 40 40 40))
            xOffset(65466)
            isBottom(1)
        )
        = talkWidth 200
        (super:init(0 0 dMouth rest param1))
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )


    (method (display param1)
        (var theTalkWidth, newGSq5Win)
        = theTalkWidth talkWidth
        (send (= newGSq5Win (send gSq5Win:new())):
            color(color)
            back(back)
        )
        (if (not HaveMouse() and (<> gSaveCursor 996))
            = saveCursor gSaveCursor
            (send gSQ5:setCursor(996))
        )(else
            = saveCursor 0
        )
        (if (showTitle)
            (Print:addTitle(name))
        )
        (Print:
            window(newGSq5Win)
            posn(x y)
            font(font)
            width(theTalkWidth)
            addText(param1)
            modeless(1)
            init()
        )
    )

)
(instance dMouth of Prop
    (properties
        nsTop 11
        nsLeft 2
        view 525
        loop 1
        signal 16384
    )
)
(instance public fTalker of Talker
    (properties
        x 65
        y 77
        view 525
        loop 2
        talkWidth 200
    )

    (method (init param1)
        (switch (global125)
            (case 0
                ((self:loop(2))  )
            )
            (default 
                ((self:loop(4)) )
            )
        )
        = font gFont
        = gSq5Win gNewSpeakWindow
        (send gSq5Win:
            tailX(71)
            tailY(proc0_12(58 48 48 48 48))
            xOffset(60)
            isBottom(1)
        )
        (super:init(0 0 fMouth rest param1))
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )

)
(instance fMouth of Prop
    (properties
        nsTop 12
        nsLeft 7
        view 525
        signal 16384
    )
)
(instance public bTalker of Narrator
    (properties
        talkWidth 220
    )

    (method (init param1)
        = font gFont
        (send (= gSq5Win gNewSpeakWindow):
            tailX(125)
            tailY(30)
            xOffset(30)
        )
        (super:init(rest param1))
    )


    (method (dispose param1)
        = gSq5Win gSq5Win_2
        (super:dispose(rest param1))
    )

)
(instance theExit of Feature
    (properties
        x 1
        y 1
        nsBottom 200
        nsRight 320
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 4
                (= global124 11 (send gRoom:newRoom(500))  )
            )
            (case 3
                (= global124 11 (send gRoom:newRoom(500))  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance theFlo of Feature
    (properties
        x 65
        y 55
        noun 4
        nsTop 50
        nsLeft 60
        nsBottom 103
        nsRight 82
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                (
                (switch (local4)
                    (case 0
                        (= local4 1 (send gTestMessager:say(4 2 0 0))  )
                    )
                    (default 
                        ((send gTestMessager:say(4 2 1 0)) )
                    )
                )
  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
(instance theDroole of Feature
    (properties
        x 220
        y 50
        noun 2
        nsTop 45
        nsLeft 218
        nsBottom 89
        nsRight 248
    )

    (method (doVerb param1 param2)
        (switch (param1)
            (case 2
                (
                (switch (local5)
                    (case 0
                        (= local5 1 (send gTestMessager:say(2 2 0 0))  )
                    )
                    (default 
                        ((send gTestMessager:say(2 2 1 0)) )
                    )
                )
  )
            )
            (default 
                ((super:doVerb(param1 rest param2)) )
            )
        )
    )

)
