(include "sci.sh")
(use "Main")
(use "Class_255_0")
(use "Sound")
(use "Cycle")
(use "User")
(use "PV")
(use "Obj")
(script 301)


(local
    gEgoViewer

)
(instance public wearCrown of Script
    (properties)

    (method (init)
        = global204 1
        Load(rsVIEW 370)
        Load(rsVIEW 687)
        (super:init())
    )


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


    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (
                (if (== global189 1)
                    Print(301 0)
                    (send gEgo:script(gGEgoScript))
                    DisposeScript(301)
                    return 
                )(else
                    proc0_10()
                    (self:changeState(1))
                )
 )
            )
            (case 1
                (= gEgoViewer (send gEgo:viewer()) (send gSounds:eachElementDo(172)) (send ((Sound:new())):
                    number(59)
                    play()
                )
 (User:
                    canControl(0)
                    canInput(0)
                )
 = gGEgoView (send gEgo:view()) = gNewProp (Prop:new()) (send gNewProp:
                    x((send gEgo:x()))
                    y((send gEgo:y()))
                    view(687)
                    loop(0)
                    ignoreActors()
                    setPri(+ (send gEgo:priority()) 1)
                    cel(0)
                    setCycle(CT 3 1 self)
                    init()
                )
  )
            )
            (case 2
                ((send gNewProp:setCycle(End self)) (send gEgo:
                    viewer(0)
                    view(370)
                    cycleSpeed(2)
                    setCycle(Fwd)
                )
  )
            )
            (case 3
                ((Timer:setReal(self 5)) (send gNewProp:hide()) Print(301 1)  )
            )
            (case 4
                (Print(301 2) (send ((Sound:new())):
                    number(59)
                    play()
                )
 (send gNewProp:
                    x((send gEgo:x()))
                    y((send gEgo:y()))
                    show()
                    cel(10)
                    setCycle(CT 3 -1 self)
                )
  )
            )
            (case 5
                ((send gEgo:
                    view(gGEgoView)
                    cycleSpeed(0)
                    setCycle(Walk)
                )
 (send gNewProp:setCycle(Beg self))  )
            )
            (case 6
                ((self:changeState(7))  )
            )
            (case 7
                ((send gNewProp:dispose()) (send gEgo:
                    viewer(gEgoViewer)
                    script(gGEgoScript)
                )
 proc0_11() DisposeScript(301) )
            )
        )
    )

)
