(include "sci.sh")
(use "Main")
(use "Class_255_0")
(use "Sound")
(use "Cycle")
(use "Game")
(use "InvI")
(use "PV")
(use "Obj")
(script 43)


(local
    gEgoViewer
    local1
    local2
    local3
    newAct
    newAct_3
    newAct_2
    newProp_4
    newAct_4
    newProp_2
    newProp_3
    local11
    local12
    local13
    local14[2]
    newProp

)
(instance dolphinTheme of Sound
    (properties)
)
(instance public Room43 of Rm
    (properties)

    (method (init)
        (if (global100)
            = picture 143
        )(else
            = picture 43
        )
        = south (= north (= west (= east 31)))
        = horizon 78
        = global101 0
        = gHorizon horizon
        (super:init())
        Load(rsVIEW 312)
        Load(rsVIEW 311)
        Load(rsVIEW 310)
        Load(rsVIEW 306)
        Load(rsVIEW 320)
        Load(rsVIEW 321)
        Load(rsVIEW 15)
        Load(rsVIEW 524)
        Load(rsVIEW 670)
        Load(rsVIEW 518)
        Load(rsSOUND 76)
        (self:setRegions(501 504))
        (send ((View:new())):
            view(670)
            posn(50 143)
            setPri(0)
            ignoreActors()
            addToPic()
        )
        (send ((View:new())):
            view(670)
            loop(1)
            cel(2)
            posn(151 175)
            setPri(0)
            ignoreActors()
            addToPic()
        )
        (send ((View:new())):
            view(670)
            loop(2)
            posn(284 184)
            setPri(0)
            ignoreActors()
            addToPic()
        )
        (send ((View:new())):
            view(670)
            loop(3)
            cel(2)
            posn(301 146)
            setPri(0)
            ignoreActors()
            addToPic()
        )
        (send ((View:new())):
            view(670)
            loop(4)
            posn(24 75)
            setPri(0)
            ignoreActors()
            addToPic()
        )
        (send ((View:new())):
            view(670)
            loop(5)
            cel(1)
            posn(258 78)
            setPri(0)
            ignoreActors()
            addToPic()
        )
        (send (= newProp (Prop:new())):
            view(670)
            posn(50 143)
            setPri(0)
            ignoreActors()
            cycleSpeed(2)
            init()
            setScript(waveScript)
        )
        (if ((send gEgo:has(27)) or (send gEgo:has(24)))
            = local11 1
        )
        (if ((== global136 101) and (== global137 100))
            (send gEgo:posn(13 92))
        )(else
            (if ((== global136 99) and (== global137 100))
                (send gEgo:posn(294 85))
            )(else
                (if ((== global136 100) and (== global137 99))
                    (send gEgo:posn(38 172))
                )(else
                    (if ((== global136 100) and (== global137 101))
                        (send gEgo:posn((send gEgo:x()) (+ horizon (+ (send gEgo:yStep()) 1))))
                    )
                )
            )
        )
        = newProp_2 (Prop:new())
        (send newProp_2:
            setScript(deathTimer)
            init()
            hide()
        )
        (send (= newProp_3 (Prop:new())):
            init()
            hide()
        )
        (if ((send ((Inv:at(27))):ownedBy(207)))
            = newAct (Act:new())
            (send newAct:
                ignoreHorizon()
                posn(118 74)
                view(320)
                loop(0)
                setPri(7)
                illegalBits(0)
                ignoreActors()
                setCycle(Fwd)
                cycleSpeed(1)
                xStep(5)
                yStep(4)
                init()
            )
            (send newAct:setScript(pelActions))
        )
        (send gEgo:
            view(8)
            setScript(bridleActions)
            init()
        )
    )


    (method (dispose)
        (send gTimers:eachElementDo(172 192))
        (send gSounds:eachElementDo(172))
        (super:dispose())
    )


    (method (handleEvent pEvent)
        (var gInvSaidMe)
        (if ((send pEvent:claimed()))
            return 1
        )
        return 
            (if (== (send pEvent:type()) 128)
                (if (Said('look[<around][/room]'))
                    Print(43 0)
                )(else
                    (if (Said('bathe'))
                        (if (== (send gEgo:view()) 2)
                            Print(43 1)
                        )(else
                            (if (== (send gEgo:view()) 8)
                                Print(43 2)
                            )(else
                                (if (((== (send gEgo:view()) 5) or (== (send gEgo:view()) 6)) or (== (send gEgo:view()) 7))
                                    Print(43 3)
                                )(else
                                    Print(43 4)
                                )
                            )
                        )
                    )(else
                        (if (Said('get,drink[/drink,water]'))
                            (if (<> global105 0)
                                Print(43 5)
                            )(else
                                (if ((((& (= local13 proc0_2(gEgo 12)) $0008) or (& local13 $0800)) or (& local13 $0002)) or (& local13 $0200))
                                    = gGEgoScript (send gEgo:script())
                                    (send gEgo:setScript(drinking))
                                    (drinking:changeState(1))
                                )(else
                                    Print(800 1)
                                )
                            )
                        )(else
                            (if (Said('fish'))
                                Print(43 6)
                            )(else
                                (if (Said('get,capture/fish'))
                                    Print(43 6)
                                )(else
                                    (if (Said('look,find/tamir'))
                                        Print(43 7)
                                    )(else
                                        (if (Said('look>'))
                                            (if (Said('/fish'))
                                                (if ((send gEgo:has(24)))
                                                    (send ((Inv:at(24))):showSelf())
                                                )(else
                                                    Print(43 6)
                                                )
                                            )(else
                                                (if (Said('/dolphin'))
                                                    (if ((send gCast:contains(newAct_2)))
                                                        Print(43 8)
                                                    )(else
                                                        (if (== (send gEgo:view()) 312)
                                                            Print(43 9)
                                                        )(else
                                                            Print(43 10)
                                                        )
                                                    )
                                                )(else
                                                    (if (Said('/island'))
                                                        Print(43 11)
                                                    )(else
                                                        (if (Said('<under/water,ocean'))
                                                            (if (== (send gEgo:view()) 2)
                                                                Print(43 12)
                                                            )(else
                                                                Print(43 13)
                                                            )
                                                        )(else
                                                            (if (Said('/ocean,water'))
                                                                Print(43 14)
                                                            )(else
                                                                (if (Said('/beach'))
                                                                    Print(43 15)
                                                                )(else
                                                                    (if (Said('/dirt') or Said('<down'))
                                                                        (if ((send gEgo:inRect(218 107 254 116)) and (send ((Inv:at(21))):ownedBy(43)))
                                                                            (send gGame:changeScore(3))
                                                                            (bridleActions:changeState(1))
                                                                        )(else
                                                                            (if ((send gCast:contains(newAct_4)))
                                                                                Print(43 16)
                                                                            )(else
                                                                                Print(43 17)
                                                                            )
                                                                        )
                                                                    )(else
                                                                        (if (Said('/forest,flora,palm'))
                                                                            Print(43 18)
                                                                        )(else
                                                                            (if (Said('/coconut'))
                                                                                Print(43 19)
                                                                            )(else
                                                                                (if (Said('/boat,shipwreck'))
                                                                                    Print(43 20)
                                                                                )(else
                                                                                    (if (Said('/pelican,bird'))
                                                                                        (if (<> local1 4)
                                                                                            Print(43 21)
                                                                                        )(else
                                                                                            Print(43 22)
                                                                                        )
                                                                                    )
                                                                                )
                                                                            )
                                                                        )
                                                                    )
                                                                )
                                                            )
                                                        )
                                                    )
                                                )
                                            )
                                        )(else
                                            (if (Said('climb/forest,palm'))
                                                Print(43 23)
                                            )(else
                                                (if (Said('deliver,fling,feed/fish'))
                                                    (if ((send gEgo:has(24)))
                                                        (if (== (send gEgo:view()) 2)
                                                            (switch (local1)
                                                                (case 1
                                                                    (if (< (send gEgo:distanceTo(newAct)) 80)
                                                                        (if (> (send gEgo:x()) 121)
                                                                            (send gGame:changeScore(4))
                                                                            (pelActions:changeState(20))
                                                                        )(else
                                                                            Print(43 24)
                                                                        )
                                                                    )(else
                                                                        Print(800 1)
                                                                    )
                                                                )
                                                                (case 2
                                                                    Print(43 25)
                                                                )
                                                                (case 3
                                                                    Print(43 26)
                                                                )
                                                                (default 
                                                                    Print(43 27)
                                                                )
                                                            )
                                                        )(else
                                                            Print(43 27)
                                                        )
                                                    )(else
                                                        Print(43 28)
                                                    )
                                                )(else
                                                    (if (Said('get,whistle/whistle'))
                                                        (if ((send ((Inv:at(27))):ownedBy(43)))
                                                            (if (< (send gEgo:distanceTo(newAct_4)) 15)
                                                                (bridleActions:changeState(10))
                                                                (send gGame:changeScore(2))
                                                                (send gEgo:get(27))
                                                            )(else
                                                                Print(800 1)
                                                            )
                                                        )(else
                                                            (if ((send gEgo:has(27)))
                                                                Print(43 29)
                                                            )(else
                                                                Print(43 10)
                                                            )
                                                        )
                                                    )(else
                                                        (if (Said('mount/dolphin'))
                                                            (if ((send gCast:contains(newAct_2)))
                                                                (if (< (send gEgo:distanceTo(newAct_2)) 14)
                                                                    (send gGame:changeScore(2))
                                                                    (dolphActions:changeState(10))
                                                                )(else
                                                                    Print(800 1)
                                                                )
                                                            )(else
                                                                Print(43 30)
                                                            )
                                                        )(else
                                                            (if (Said('play,whistle,blow[/whistle]'))
                                                                (if ((send gEgo:has(27)))
                                                                    (send gSounds:eachElementDo(172))
                                                                    (send ((Sound:new())):
                                                                        number(76)
                                                                        loop(1)
                                                                        play()
                                                                    )
                                                                    (if (not newAct_2)
                                                                        (if (== global217 0)
                                                                            (send gGame:changeScore(2))
                                                                            = global217 1
                                                                        )
                                                                        = newAct_2 (Act:new())
                                                                        (send global2:setScript(dolphActions))
                                                                    )(else
                                                                        Print(43 31)
                                                                    )
                                                                )(else
                                                                    Print(43 32)
                                                                )
                                                            )(else
                                                                (if (Said('converse>'))
                                                                    (if ((send newAct:inRect(0 0 319 189)) and Said('[/pelican,bird]'))
                                                                        Print(43 33)
                                                                        (send pEvent:claimed(1))
                                                                    )(else
                                                                        (if ((send gCast:contains(newAct_2)) and Said('[/dolphin]'))
                                                                            Print(43 34)
                                                                            (send pEvent:claimed(1))
                                                                        )(else
                                                                            (if (Said('/bird,gull,gull'))
                                                                                (send pEvent:claimed(0))
                                                                            )(else
                                                                                (if (Said('[/!*]'))
                                                                                    Print(43 35)
                                                                                )
                                                                            )
                                                                        )
                                                                    )
                                                                )(else
                                                                    (if (Said('feed/pelican,bird'))
                                                                        (if ((send gCast:contains(newAct)) and (<> local1 4))
                                                                            Print(43 36)
                                                                        )(else
                                                                            Print(43 10)
                                                                        )
                                                                    )(else
                                                                        (if (Said('get/pelican,bird'))
                                                                            (if ((send gCast:contains(newAct)) and (<> local1 4))
                                                                                Print(43 37)
                                                                            )(else
                                                                                Print(43 10)
                                                                            )
                                                                        )(else
                                                                            (if (Said('capture/pelican,bird'))
                                                                                (if ((send gCast:contains(newAct)) and (<> local1 4))
                                                                                    Print(43 38)
                                                                                )(else
                                                                                    Print(43 10)
                                                                                )
                                                                            )(else
                                                                                (if (Said('kiss'))
                                                                                    (if ((send gCast:contains(newAct)) and (<> local1 4))
                                                                                        Print(43 38)
                                                                                    )(else
                                                                                        (if ((send gCast:contains(newAct_2)))
                                                                                            Print(43 39)
                                                                                        )(else
                                                                                            (send pEvent:claimed(0))
                                                                                        )
                                                                                    )
                                                                                )(else
                                                                                    (if (Said('deliver>'))
                                                                                        (if (= gInvSaidMe (send gInv:saidMe()))
                                                                                            (if ((send gEgo:has((send gInv:indexOf((= gInvSaidMe (send gInv:saidMe())))))))
                                                                                                (if (((<> local1 4) and (send gCast:contains(newAct))) or Said('/pelican,bird'))
                                                                                                    Print(43 40)
                                                                                                )(else
                                                                                                    (if ((send gCast:contains(newAct_2)) and Said('/dolphin'))
                                                                                                        Print(43 41)
                                                                                                    )(else
                                                                                                        Print(43 42)
                                                                                                        (send pEvent:claimed(1))
                                                                                                    )
                                                                                                )
                                                                                            )(else
                                                                                                proc0_19()
                                                                                            )
                                                                                        )
                                                                                    )(else
                                                                                        (if (Said('get,capture/dolphin'))
                                                                                            (if ((send gCast:contains(newAct_2)))
                                                                                                Print(43 43)
                                                                                            )(else
                                                                                                (if (== (send gEgo:view()) 312)
                                                                                                    Print(43 44)
                                                                                                )(else
                                                                                                    Print(43 10)
                                                                                                )
                                                                                            )
                                                                                        )(else
                                                                                            (if (Said('deliver>'))
                                                                                                (if ((= gInvSaidMe (send gInv:saidMe())) and (send gEgo:has((send gInv:indexOf((= gInvSaidMe (send gInv:saidMe())))))))
                                                                                                    Print(43 45)
                                                                                                )(else
                                                                                                    Print(43 46)
                                                                                                )
                                                                                            )(else
                                                                                                (if (Said('pat/dolphin'))
                                                                                                    (if ((send gCast:contains(newAct_2)))
                                                                                                        (if (< (send gEgo:distanceTo(newAct_2)) 12)
                                                                                                            Print(43 47)
                                                                                                        )(else
                                                                                                            Print(800 1)
                                                                                                        )
                                                                                                    )(else
                                                                                                        Print(43 10)
                                                                                                    )
                                                                                                )
                                                                                            )
                                                                                        )
                                                                                    )
                                                                                )
                                                                            )
                                                                        )
                                                                    )
                                                                )
                                                            )
                                                        )
                                                    )
                                                )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )(else
                0
            )
    )

)
(instance bridleActions of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 1
                (proc0_10() (send gEgo:
                    get(21)
                    setMotion(0)
                )
 = gEgoViewer (send gEgo:viewer()) (send gEgo:
                    viewer(0)
                    view(21)
                    loop(1)
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 2
                (= global182 1 (send gEgo:setCycle(Beg self))  )
            )
            (case 3
                (Print(43 48 134 -1 20) (send gEgo:
                    viewer(gEgoViewer)
                    view(2)
                    setCycle(Walk)
                )
 proc0_11()  )
            )
            (case 10
                (proc0_10() = gEgoViewer (send gEgo:viewer()) proc0_3(gEgo newAct_4) (send gEgo:
                    viewer(0)
                    view(21)
                    loop(1)
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 11
                ((send newAct_4:dispose()) (send newProp_4:dispose()) = global182 1 (send gEgo:setCycle(Beg self))  )
            )
            (case 12
                ((send gEgo:
                    viewer(gEgoViewer)
                    view(2)
                    setCycle(Walk)
                )
 proc0_11() )
            )
        )
    )

)
(instance pelActions of Script
    (properties)

    (method (doit)
        (if ((== local1 1) and (send gEgo:inRect(95 92 140 110)))
            (pelActions:changeState(10))
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if ((send gCast:contains(newAct)))
                    = local1 1
                    (send newProp_3:setScript(pelMovement))
                    (send (ScriptID(0 5)):setReal(self 30))
                )
 )
            )
            (case 1
                ((self:changeState(10))  )
            )
            (case 10
                ((send (ScriptID(0 5)):
                    dispose()
                    delete()
                )
 ++local2 (send newProp_3:setScript(0)) = local1 2 (send newAct:
                    view(321)
                    setLoop(2)
                    setCel(-1)
                    cel(0)
                    cycleSpeed(0)
                    setCycle(End self)
                )
  )
            )
            (case 11
                ((send newAct:
                    setLoop(0)
                    cel(0)
                    setCycle(Fwd)
                    setMotion(MoveTo 339 20 self)
                )
  )
            )
            (case 12
                ((send newAct:stopUpd()) = local1 4 (send (ScriptID(0 5)):setReal(self 1 1))  )
            )
            (case 13
                (
                (if (not (send gEgo:inRect(192 108 237 125)) and (< local2 3))
                    = local1 2
                    (send newAct:
                        startUpd()
                        posn(65516 20)
                        setCycle(Fwd)
                        setMotion(MoveTo 118 74 self)
                    )
                )(else
                    (self:changeState(11))
                )
 )
            )
            (case 14
                ((send newAct:
                    loop(1)
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 15
                ((send newAct:
                    view(320)
                    setLoop(0)
                    cycleSpeed(1)
                    setCycle(Fwd)
                )
 = local1 1 (send newProp_3:setScript(pelMovement))  )
            )
            (case 20
                (proc0_10() 
                (if (IsObject(ScriptID(0 5)))
                    (send (ScriptID(0 5)):
                        dispose()
                        delete()
                    )
                )
 (send ((Sound:new())):
                    number(63)
                    play()
                )
 (send newProp_3:setScript(0)) = local1 3 proc0_3(gEgo newAct) = gEgoViewer (send gEgo:viewer()) (send gEgo:
                    viewer(0)
                    loop(& (send gEgo:loop()) $0001)
                )
 (send gEgo:
                    view(15)
                    cel(0)
                    setMotion(0)
                    loop(& (send gEgo:loop()) $0001)
                    setCycle(End self)
                )
  )
            )
            (case 21
                (= newAct_3 (Act:new()) 
                (if ((send gEgo:loop()))
                    (send newAct_3:
                        posn(- (send gEgo:x()) 10 - (send gEgo:y()) 15)
                        init()
                    )
                )(else
                    (send newAct_3:
                        posn(+ (send gEgo:x()) 10 - (send gEgo:y()) 15)
                        init()
                    )
                )
 (send newAct_3:
                    view(306)
                    ignoreActors()
                    illegalBits(0)
                    ignoreHorizon()
                    setPri(6)
                    setLoop(0)
                    cel(0)
                    setCycle(Fwd)
                    setMotion(MoveTo + (send newAct:x()) 8 - (send newAct:y()) 7 self)
                )
 (send gEgo:
                    viewer(gEgoViewer)
                    view(2)
                    setCycle(Walk)
                )
 (send newAct:
                    setLoop(1)
                    setCel(-1)
                    cel(0)
                    setCycle(End)
                )
  )
            )
            (case 22
                (= newAct_4 (Act:new()) (send newAct_4:setScript(whistleActions)) (send newAct_4:
                    posn(123 64)
                    ignoreActors()
                    illegalBits(0)
                    view(524)
                    setLoop(0)
                    cel(0)
                    setMotion(MoveTo 137 106 whistleActions)
                    yStep(10)
                    setCycle(Fwd)
                    init()
                )
 (send newAct:
                    setLoop(2)
                    cel(0)
                    setCycle(End self)
                )
 (send newAct_3:dispose()) (send ((Inv:at(27))):moveTo(43))  )
            )
            (case 23
                (Print(43 49) (send ((Inv:at(24))):moveTo(207)) = local2 99 proc0_11() (self:changeState(10)) )
            )
        )
    )

)
(instance whistleActions of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 1
                ((send newAct_4:
                    setCel(0)
                    setLoop(1)
                    setCycle(0)
                    stopUpd()
                )
 = newProp_4 (Prop:new()) (send newProp_4:
                    view(518)
                    setLoop(4)
                    ignoreActors()
                    posn((send newAct_4:x()) (send newAct_4:y()))
                    init()
                )
 (self:changeState(2))  )
            )
            (case 2
                ((send newProp_4:
                    cel(0)
                    setCycle(End self)
                    show()
                )
  )
            )
            (case 3
                ((send newProp_4:hide()) = seconds Random(3 10)  )
            )
            (case 4
                ((self:changeState(2)) )
            )
        )
    )

)
(instance dolphActions of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= seconds 4  )
            )
            (case 1
                ((send gSounds:eachElementDo(172)) (dolphinTheme:
                    number(35)
                    loop(1)
                    play()
                )
 (send newAct_2:
                    posn(284 72)
                    view(310)
                    loop(0)
                    cel(0)
                    ignoreHorizon()
                    setCycle(End self)
                    init()
                )
  )
            )
            (case 2
                ((send newAct_2:
                    view(311)
                    posn(283 88)
                    loop(3)
                    setCycle(Fwd)
                )
 Print(43 50)  )
            )
            (case 10
                ((send newAct_2:dispose()) = global105 14 (send gEgo:
                    view(312)
                    loop(0)
                    setCycle(Fwd)
                    setMotion(MoveTo 339 (send gEgo:y()))
                )
 )
            )
        )
    )

)
(instance deathTimer of Script
    (properties)

    (method (doit)
        (if ((local12 and (<= state 2)) and ((send gEgo:inRect(140 98 196 118)) or (send gEgo:inRect(146 118 258 150))))
            (self:changeState(10))
        )
    )


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if (local11)
                    (send (ScriptID(0 4)):setReal(self 1 4))
                )(else
                    (send (ScriptID(0 4)):setReal(self 1 2))
                )
 )
            )
            (case 1
                (= local12 1  )
            )
            (case 10
                (proc0_10() (send gEgo:
                    illegalBits(65534)
                    setAvoider(Avoid)
                    setMotion(MoveTo 184 130 self)
                )
  )
            )
            (case 11
                ((send gEgo:
                    setMotion(0)
                    viewer(0)
                    view(21)
                    loop(2)
                    cel(0)
                    cycleSpeed(2)
                    setCycle(End self)
                )
  )
            )
            (case 12
                ((send gEgo:
                    view(83)
                    loop(0)
                    cel(0)
                )
 (send (ScriptID(0 4)):setReal(self 4))  )
            )
            (case 13
                ((send gEgo:cel(1)) (send (ScriptID(0 4)):setReal(self 5))  )
            )
            (case 14
                ((send gEgo:cel(2)) (send (ScriptID(0 4)):setReal(self 6))  )
            )
            (case 15
                ((send gEgo:cel(3)) (send (ScriptID(0 4)):setReal(self 7))  )
            )
            (case 16
                (Print(43 51 134 -1 20) (send (ScriptID(0 4)):setReal(self 6))  )
            )
            (case 17
                (= global127 1 )
            )
        )
    )

)
(instance drinking of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 1
                (proc0_10() = gEgoViewer (send gEgo:viewer()) (send gEgo:
                    viewer(0)
                    view(21)
                    cel(0)
                    setCycle(End self)
                )
  )
            )
            (case 2
                (= global120 Print(43 5 134 -1 20 172) (Timer:setReal(self 5))  )
            )
            (case 3
                ((send gEgo:setCycle(Beg self))  )
            )
            (case 4
                (proc0_23() (send gEgo:
                    view(2)
                    setCycle(Walk)
                )
 (send gEgo:
                    script(gGEgoScript)
                    viewer(gEgoViewer)
                )
 proc0_11() )
            )
        )
    )

)
(instance pelMovement of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if (== local1 1)
                    (send newAct:setCycle(Fwd))
                )
 = seconds Random(3 7)  )
            )
            (case 1
                (
                (if (== local1 1)
                    (send newAct:setCycle(0))
                    = seconds Random(3 7)
                )
 )
            )
            (case 2
                ((self:changeState(0)) )
            )
        )
    )

)
(instance waveScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (= cycles Random(2 6)  )
            )
            (case 1
                ((send newProp:
                    loop(0)
                    cel(0)
                    posn(50 143)
                    setCycle(End self)
                )
 = state 6  )
            )
            (case 2
                ((send newProp:
                    loop(1)
                    cel(2)
                    posn(151 175)
                    setCycle(End self)
                )
 = state 6  )
            )
            (case 3
                ((send newProp:
                    loop(2)
                    cel(0)
                    posn(284 184)
                    setCycle(End self)
                )
 = state 6  )
            )
            (case 4
                ((send newProp:
                    loop(3)
                    cel(2)
                    posn(301 146)
                    setCycle(End self)
                )
 = state 6  )
            )
            (case 5
                ((send newProp:
                    loop(4)
                    cel(0)
                    posn(24 75)
                    setCycle(End self)
                )
 = state 6  )
            )
            (case 6
                ((send newProp:
                    loop(5)
                    cel(1)
                    posn(258 78)
                    setCycle(End self)
                )
  )
            )
            (case 7
                ((send newProp:posn(999 999)) = cycles Random(2 10) = state Random(1 6) )
            )
        )
    )

)
