(version 2)
(include "sci.sh")
(exports
    0 FixLSpeed
)
(use "Main")
(use "Class_255_0")
(use "Cycle")
(use "Feature")
(use "Obj")
(script 24)


(local
    local0
    local1
    local2

)
(procedure (localproc_082c param1 param2)
    (send param1:setLoop(param2))
)


(procedure (localproc_0837 param1 param2)
    proc0_12()
    = local0 0
    (send param1:
        setCel(0)
        setLoop(param2)
    )
)


(instance public FixLSpeed of Script
    (properties)

    (method (init param1)
        Load(128 212)
        Load(128 65)
        (send global10:add(Mark))
        (send global10:doit())
        (Scott:init())
        (MarkHead:init())
        (ScottHead:init())
        (super:init(rest param1))
    )


    (method (doit)
        (if (local1)
            (MarkHead:setCel(Random(0 4)))
        )
        (if (local2)
            (ScottHead:setCel(Random(0 5)))
        )
        (super:doit())
    )


    (method (dispose)
        (Scott:
            dispose()
            delete()
        )
        (MarkHead:
            dispose()
            delete()
        )
        (ScottHead:
            dispose()
            delete()
        )
        (lp1:
            dispose()
            delete()
        )
        (lp2:
            dispose()
            delete()
        )
        (lp3:
            dispose()
            delete()
        )
        (lp4:
            dispose()
            delete()
        )
    )


    (method (changeState newState)
        (var temp0[50])
        (switch (= state newState)
            (case 0
                proc0_2()
                = global193 1
                localproc_082c(MarkHead 1)
                = local1 1
                = local0 proc255_0(24 0 67 10 25 70 100 33 600 91)
                = seconds 10
            )
            (case 1
                localproc_0837(MarkHead 1)
                = local1 0
                = seconds 4
            )
            (case 2
                proc255_0(24 1)
                = cycles 2
            )
            (case 3
                localproc_082c(MarkHead 1)
                = local1 1
                = local0 proc255_0(24 2 67 10 25 70 100 33 600 91)
                = seconds 8
            )
            (case 4
                localproc_0837(MarkHead 1)
                = local1 0
                = seconds 2
            )
            (case 5
                (Scott:setCel(3))
                (ScottHead:dispose())
                = local0 proc255_0(24 3 67 10 25 70 100 33 600 91)
                = seconds 4
            )
            (case 6
                proc0_12()
                = local0 proc255_0(24 4 67 10 25 70 100 33 600 91)
                = seconds 8
            )
            (case 7
                proc0_12()
                = local0 proc255_0(24 5 67 10 25 70 100 33 600 91)
                = seconds 8
            )
            (case 8
                proc0_12()
                = local0 proc255_0(24 6 67 10 25 70 100 33 600 91)
                = seconds 6
            )
            (case 9
                proc0_12()
                (Scott:setCel(1))
                (ScottHead:init())
                proc255_0(24 7)
                (lp1:init())
                (lp2:init())
                (lp3:init())
                (lp4:init())
                (send gLongSong:
                    number(69)
                    loop(-1)
                    play()
                )
                = seconds 2
            )
            (case 10
                localproc_082c(MarkHead 1)
                = local1 1
                = local0 proc255_0(24 8 67 10 25 70 100 33 600 91)
                = seconds 2
            )
            (case 11
                localproc_0837(MarkHead 1)
                = local1 0
                = seconds 1
            )
            (case 12
                localproc_082c(ScottHead 3)
                = local2 1
                = local0 proc255_0(24 9 67 10 25 70 100 33 600 91)
                = seconds 2
            )
            (case 13
                localproc_0837(ScottHead 3)
                = local2 0
                = seconds 1
            )
            (case 14
                localproc_082c(MarkHead 1)
                = local1 1
                = local0 proc255_0(24 10 67 10 25 70 100 33 600 91)
                = seconds 2
            )
            (case 15
                localproc_0837(MarkHead 1)
                = local1 0
                = seconds 5
            )
            (case 16
                proc255_0(24 11)
                (lp1:setCycle(0))
                (lp2:setCycle(0))
                (lp3:setCycle(0))
                (lp4:setCycle(0))
                = global258 1
                (send gLongSong:fade())
                (send global2:newRoom(99))
            )
        )
    )

)
(instance Mark of PV
    (properties
        y 109
        x 34
        view 212
        priority 15
        signal 16384
    )
)
(instance Scott of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(212)
            setLoop(0)
            setCel(1)
            posn(70 101)
            setPri(14)
            ignoreActors(1)
            setCycle(0)
        )
    )

)
(instance MarkHead of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(212)
            setLoop(1)
            setCel(0)
            posn(36 109)
            setPri(14)
            ignoreActors(1)
            setCycle(0)
        )
    )

)
(instance ScottHead of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(212)
            setLoop(3)
            setCel(0)
            posn(72 102)
            setPri(14)
            ignoreActors(1)
            setCycle(0)
        )
    )

)
(instance lp1 of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(65)
            setLoop(0)
            ignoreActors(1)
            posn(160 83)
            setPri(6)
            setCycle(Fwd)
        )
    )

)
(instance lp2 of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(65)
            setLoop(2)
            ignoreActors(1)
            posn(160 83)
            setPri(6)
            setCycle(Fwd)
        )
    )

)
(instance lp3 of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(65)
            setLoop(1)
            ignoreActors(1)
            posn(160 83)
            setPri(6)
            setCycle(Fwd)
        )
    )

)
(instance lp4 of Prop
    (properties)

    (method (init)
        (super:init())
        (self:
            view(65)
            setLoop(3)
            ignoreActors(1)
            posn(160 83)
            setPri(6)
            setCycle(Fwd)
        )
    )

)
