(version 2)
(include "sci.sh")
(exports
    0 castOpenScript
)
(use "Main")
(use "Osc")
(use "Cycle")
(use "View")
(use "Obj")
(script 13)


(local
    local0
    local1[8] = (0 0 0 1 0 0 2 3 )
    local9[4] = (2 3 6 7 )
    local13[8] = (2 3 0 3 0 1 2 3 )
    local21
    local22

)
(instance public castOpenScript of Script
    (properties)

    (method (dispose)
        = local0 (= register 0)
        DisposeScript(939)
        (super:dispose())
    )


    (method (changeState newState)
        (asm
            lap     newState
            aTop    state
            push    
            dup     
            ldi     0
            eq?     
            bnt     code_004b
            pushi   0
            callb   proc0_2, 0
            pushi   #setHeading
            pushi   2
            pushi   4
            pushi   #x
            pushi   0
            lag     gOwner
            send    4
            push    
            pushi   #y
            pushi   0
            lag     gOwner
            send    4
            push    
            lsg     global386
            lsg     global387
            callk   GetAngle, 8
            push    
            pushSelf
            lag     gOwner
            send    8
            jmp     code_0200
code_004b:  dup     
            ldi     1
            eq?     
            bnt     code_00b3
            pushi   #loop
            pushi   0
            lag     gOwner
            send    4
            sal     local21
            pushi   #view
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     17
            gt?     
            bnt     code_0099
            pushi   #view
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     21
            lt?     
            bnt     code_0099
            jmp     code_0074
code_0074:  bnt     code_0099
            pushi   #cel
            pushi   0
            lag     gOwner
            send    4
            sal     local22
            pushi   #view
            pushi   1
            pushi   19
            pushi   3
            pushi   1
            lal     local21
            lsli    local1
            pushi   161
            pushi   2
            class   End
            push    
            pushSelf
            lag     gOwner
            send    20
            jmp     code_0200
code_0099:  pushi   #view
            pushi   1
            pushi   15
            pushi   3
            pushi   1
            lal     local21
            lsli    local13
            pushi   161
            pushi   2
            class   End
            push    
            pushSelf
            lag     gOwner
            send    20
            jmp     code_0200
code_00b3:  dup     
            ldi     2
            eq?     
            bnt     code_0138
            pushi   #x
            pushi   1
            lsg     global386
            pushi   0
            pushi   1
            lsg     global387
            pushi   316
            pushi   2
            pushi   65535
            lsg     gOwner
            pushi   247
            pushi   1
            pushi   0
            pushi   60
            pushi   1
            pushi   15
            pushi   110
            pushi   0
            pushi   161
            pushi   3
            class   Osc
            push    
            pushi   4
            pushSelf
            lofsa   openEffect
            send    46
            pToa    register
            bnt     code_00fb
            pushi   #onMe
            pushi   2
            lsg     global386
            lsg     global387
            send    8
            sal     local0
code_00fb:  pushi   #view
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     17
            gt?     
            bnt     code_0115
            pushi   #view
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     21
            lt?     
            bnt     code_0115
            jmp     code_0115
code_0115:  not     
            bnt     code_0123
            pushi   #setCycle
            pushi   1
            class   Beg
            push    
            lag     gOwner
            send    6
code_0123:  pushi   #number
            pushi   1
            pushi   900
            pushi   155
            pushi   1
            pushi   1
            pushi   39
            pushi   0
            lag     gLongSong2
            send    16
            jmp     code_0200
code_0138:  dup     
            ldi     3
            eq?     
            bnt     code_014d
            pushi   #dispose
            pushi   0
            lofsa   openEffect
            send    4
            ldi     2
            aTop    cycles
            jmp     code_0200
code_014d:  dup     
            ldi     4
            eq?     
            bnt     code_0200
            pushi   12
            lsg     gClientModNum
            pushi   230
            pushi   310
            pushi   380
            pushi   430
            pushi   450
            pushi   640
            pushi   650
            pushi   700
            pushi   810
            pushi   820
            pushi   853
            calle   proc999_5, 24
            not     
            bnt     code_0194
            pushi   #say
            pushi   6
            pushi   0
            pushi   0
            pushi   1
            pushi   1
            pushi   0
            pushi   13
            lag     gQg3Messager
            send    16
            jmp     code_01a6
code_0194:  pToa    register
            bnt     code_01a6
            lal     local0
            bnt     code_01a6
            pushi   #doVerb
            pushi   1
            pushi   65461
            pToa    register
            send    6
code_01a6:  pushi   0
            callb   proc0_3, 0
            pushi   #view
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     17
            gt?     
            bnt     code_01f3
            pushi   #view
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     21
            lt?     
            bnt     code_01f3
            jmp     code_01c4
code_01c4:  bnt     code_01f3
            pushi   2
            pushi   1
            pushi   20
            pushi   3
            pushi   1
            pushi   #loop
            pushi   0
            lag     gOwner
            send    4
            lsli    local9
            pushi   4
            pushi   1
            pushi   #loop
            pushi   0
            lag     gOwner
            send    4
            push    
            ldi     6
            lt?     
            bnt     code_01ea
            ldi     4
            jmp     code_01ec
code_01ea:  ldi     5
code_01ec:  push    
            lag     gOwner
            send    18
            jmp     code_01fb
code_01f3:  pushi   #normalize
            pushi   0
            lag     gOwner
            send    4
code_01fb:  pushi   #dispose
            pushi   0
            self    4
code_0200:  toss    
            ret     
        )
    )

)
(instance openEffect of Prop
    (properties
        view 21
        signal $6010
    )
)
