(include "sci.sh")
(use "Main")
(use "Sound")
(use "Cycle")
(use "PV")
(use "Obj")
(script 304)


(local
    gEgoViewer
    newProp

)
(instance public playFlute of Script
    (properties)

    (method (init)
        = global204 1
        Load(rsVIEW 55)
        (super:init())
    )


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


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (proc0_10() = newProp (Prop:new()) (send newProp:
                    view(888)
                    ignoreActors()
                    setPri(+ (send gEgo:priority()) 1)
                    cycleSpeed(1)
                    setCycle(Fwd)
                    posn(+ (send gEgo:x()) 10 - (send gEgo:y()) 27)
                    init()
                )
 = gEgoViewer (send gEgo:viewer()) (send gEgo:
                    viewer(0)
                    view(55)
                    loop(
                        (if (== (send gEgo:view()) 2)
                            0
                        )(else
                            1
                        )
)
                    setMotion(0)
                    cycleSpeed(2)
                    setCycle(Fwd)
                )
 (send gSounds:eachElementDo(172)) (send ((Sound:new())):
                    number(77)
                    play(self)
                )
  )
            )
            (case 1
                ((send gEgo:
                    viewer(gEgoViewer)
                    view(
                        (if (== (send gEgo:loop()) 0)
                            2
                        )(else
                            4
                        )
)
                )
 (send gEgo:
                    script(gGEgoScript)
                    cycleSpeed(0)
                    loop(2)
                    setCycle(Walk)
                )
 (send newProp:dispose()) proc0_11() DisposeScript(304) )
            )
        )
    )

)
