(version 2)
(include "sci.sh")
(exports
    0 charSheet
)
(use "Main")
(use "User")
(use "View")
(use "Obj")
(script 15)


(local
    local0[2] = (10000 )
    local2
    theGGQg3KDHandler
    theGNewFeatures
    theGQg3MDHandler
    theGQg3KDHandler
    local7
    local8
    local9
    local10[12]

)
(procedure (localproc_002a param1 param2 param3 param4 param5)
    (var temp0, temp1, temp2, temp3[6])
    (if (<> gGOwnerMaxStamina[param3] gGGOwnerMaxStamina_2[param3])
        = temp0 54
        = temp1 231
    )(else
        = temp0 82
        = temp1 231
    )
    (if ((== param3 16) and proc0_6(115))
        = temp0 70
        = temp1 10
    )
    (if (not param4)
        Format(@temp3 "%d" gGOwnerMaxStamina[param3])
    )(else
        Format(@temp3 rest param5)
    )
    = temp2 
        (if (param4)
            60
        )(else
            22
        )
    Display(@temp3 100 param1 param2 101 -1 105 123 102 temp1 106 temp2)
    Display(@temp3 100 - param1 1 param2 101 -1 105 123 102 temp0 106 temp2)
)


(procedure (localproc_00d1 param1 param2 param3 param4)
    (var temp0, temp1, temp2, temp3[6])
    (if (gGGOwnerMaxStamina_3 and (<> gGOwnerMaxStamina[14] gGGOwnerMaxStamina_2[14]))
        = temp0 54
        = temp1 231
    )(else
        = temp0 82
        = temp1 231
    )
    (if (not param3)
        Format(@temp3 15 0 
            (if (< 
            (if (gGGOwnerMaxStamina_3)
                (- gGOwnerMaxStamina[14] gGGOwnerMaxStamina_3)
            )
 0)
                0
            )(else
                (if (gGGOwnerMaxStamina_3)
                    - gGOwnerMaxStamina[14] gGGOwnerMaxStamina_3
                )
            )
)
    )(else
        Format(@temp3 rest param4)
    )
    = temp2 
        (if (param3)
            60
        )(else
            22
        )
    Display(@temp3 100 param1 param2 101 -1 105 123 102 temp1 106 temp2)
    Display(@temp3 100 - param1 1 param2 101 -1 105 123 102 temp0 106 temp2)
)


(procedure (localproc_0186)
    (send gMainIconBar:disable())
    (send gGQg3KDHandler:eachElementDo(96 hideMe))
    = theGGQg3KDHandler gGQg3KDHandler
    = theGNewFeatures gNewFeatures
    = theGQg3MDHandler gQg3MDHandler
    = theGQg3KDHandler gQg3KDHandler
    = gNewFeatures 0
    = gGQg3KDHandler gNewFeatures
    = gQg3KDHandler gGQg3KDHandler
    = gQg3MDHandler gQg3KDHandler
    = gGQg3KDHandler newCast
    (send gGQg3KDHandler:add())
    = gNewFeatures newFeatures
    (send gNewFeatures:add())
    (myHero:
        loop(
            (switch (global362)
                (case 0
                    1
                )
                (case 2
                    2
                )
                (case 1
                    0
                )
                (case 3
                    1
                )
            )
)
        init()
    )
    = gQg3MDHandler newMH
    (send gQg3MDHandler:add(myHero))
    = gQg3KDHandler newKH
    (send gQg3KDHandler:add(myHero))
    DrawPic(145 100)
)


(procedure (localproc_0225)
    (send ((send gMainIconBar:curIcon)):cursor(local9))
    (send gGQg3KDHandler:
        eachElementDo(111)
        eachElementDo(81)
        release()
        dispose()
    )
    (send gNewFeatures:dispose())
    (send gQg3MDHandler:dispose())
    (send gQg3KDHandler:dispose())
    (if (== (send global2:style) -1)
        DrawPic((send global2:picture) 100)
    )(else
        (if (& (send global2:style) $4000)
            DrawPic((send global2:picture) (send global2:style))
        )(else
            DrawPic((send global2:picture) 100)
        )
    )
    = gGQg3KDHandler theGGQg3KDHandler
    = gNewFeatures theGNewFeatures
    = gQg3MDHandler theGQg3MDHandler
    = gQg3KDHandler theGQg3KDHandler
    (send gOldATPs:doit())
    (send gGQg3KDHandler:eachElementDo(96 showMe))
)


(procedure (localproc_0772)
    (var temp0, temp1)
    = temp1 -32768
    = temp0 0
    (while (<= temp0 10)
        (if (& global200 temp1)
            (send gMainIconBar:disable(temp0))
        )
        = temp1 (>> temp1 $0001)
        ++temp0
    )
)


(instance newCast of EventHandler
    (properties)
)
(instance newFeatures of EventHandler
    (properties)
)
(instance newMH of EventHandler
    (properties)
)
(instance newKH of EventHandler
    (properties)
)
(instance hideMe of Code
    (properties)

    (method (doit param1)
        (send param1:z((+ (send param1:z) 1000)))
    )

)
(instance showMe of Code
    (properties)

    (method (doit param1)
        (send param1:z((- (send param1:z) 1000)))
    )

)
(instance public charSheet of Code
    (properties)

    (method (doit)
        (var temp0[6], temp6, temp7, temp8, temp9)
        (asm
            pushi   #canControl
            pushi   0
            class   User
            send    4
            sal     local8
            pushi   0
            callb   proc0_2, 0
            pushi   1
            pushi   101
            callb   proc0_4, 2
            lag     global120
            sal     local7
            lag     global34
            sal     local2
            pushi   0
            call    localproc_0186, 0
            pushi   12
            lea     @global157
            push    
            pushi   100
            pushi   110
            pushi   1
            lea     @global157
            push    
            callk   StrLen, 2
            push    
            ldi     12
            gt?     
            bnt     code_033d
            ldi     7
            jmp     code_033f
code_033d:  ldi     3
code_033f:  push    
            pushi   102
            pushi   231
            pushi   106
            pushi   172
            pushi   101
            pushi   0
            pushi   105
            pushi   1
            lea     @global157
            push    
            callk   StrLen, 2
            push    
            ldi     12
            gt?     
            bnt     code_0361
            ldi     3
            jmp     code_0363
code_0361:  ldi     123
code_0363:  push    
            callk   Display, 24
            pushi   12
            lea     @global157
            push    
            pushi   100
            pushi   109
            pushi   1
            lea     @global157
            push    
            callk   StrLen, 2
            push    
            ldi     12
            gt?     
            bnt     code_0383
            ldi     7
            jmp     code_0385
code_0383:  ldi     3
code_0385:  push    
            pushi   102
            pushi   82
            pushi   106
            pushi   175
            pushi   101
            pushi   0
            pushi   105
            pushi   1
            lea     @global157
            push    
            callk   StrLen, 2
            push    
            ldi     12
            gt?     
            bnt     code_03a6
            ldi     3
            jmp     code_03a8
code_03a6:  ldi     123
code_03a8:  push    
            callk   Display, 24
            lsg     global125
            dup     
            ldi     0
            eq?     
            bnt     code_03f7
            pushi   7
            pushi   0
            pushi   140
            pushi   2
            pushi   0
            pushi   0
            pushi   1
            lea     @local10
            push    
            callk   Message, 14
            pushi   8
            lea     @local10
            push    
            pushi   100
            pushi   140
            pushi   31
            pushi   105
            pushi   123
            pushi   102
            pushi   0
            callk   Display, 16
            pushi   8
            lea     @local10
            push    
            pushi   105
            pushi   123
            pushi   100
            pushi   139
            pushi   30
            pushi   102
            pushi   30
            callk   Display, 16
            jmp     code_04d1
code_03f7:  dup     
            ldi     1
            eq?     
            bnt     code_0441
            pushi   7
            pushi   0
            pushi   140
            pushi   3
            pushi   0
            pushi   0
            pushi   1
            lea     @local10
            push    
            callk   Message, 14
            pushi   8
            lea     @local10
            push    
            pushi   100
            pushi   140
            pushi   31
            pushi   105
            pushi   123
            pushi   102
            pushi   0
            callk   Display, 16
            pushi   8
            lea     @local10
            push    
            pushi   105
            pushi   123
            pushi   100
            pushi   139
            pushi   30
            pushi   102
            pushi   30
            callk   Display, 16
            jmp     code_04d1
code_0441:  dup     
            ldi     2
            eq?     
            bnt     code_048a
            pushi   7
            pushi   0
            pushi   140
            pushi   4
            pushi   0
            pushi   0
            pushi   1
            lea     @local10
            push    
            callk   Message, 14
            pushi   8
            lea     @local10
            push    
            pushi   100
            pushi   145
            pushi   31
            pushi   105
            pushi   123
            pushi   102
            pushi   0
            callk   Display, 16
            pushi   8
            lea     @local10
            push    
            pushi   105
            pushi   123
            pushi   100
            pushi   144
            pushi   30
            pushi   102
            pushi   30
            callk   Display, 16
            jmp     code_04d1
code_048a:  dup     
            ldi     3
            eq?     
            bnt     code_04d1
            pushi   7
            pushi   0
            pushi   140
            pushi   5
            pushi   0
            pushi   0
            pushi   1
            lea     @local10
            push    
            callk   Message, 14
            pushi   8
            lea     @local10
            push    
            pushi   100
            pushi   137
            pushi   31
            pushi   105
            pushi   123
            pushi   102
            pushi   0
            callk   Display, 16
            pushi   8
            lea     @local10
            push    
            pushi   105
            pushi   123
            pushi   100
            pushi   136
            pushi   30
            pushi   102
            pushi   30
            callk   Display, 16
code_04d1:  toss    
            pushi   4
            pushi   93
            pushi   34
            pushi   0
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   93
            pushi   50
            pushi   1
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   93
            pushi   67
            pushi   2
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   93
            pushi   83
            pushi   3
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   93
            pushi   99
            pushi   4
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   93
            pushi   115
            pushi   12
            pushi   0
            call    localproc_002a, 8
            pushi   3
            pushi   93
            pushi   130
            pushi   0
            call    localproc_00d1, 6
            pushi   4
            pushi   286
            pushi   35
            pushi   5
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   48
            pushi   6
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   60
            pushi   7
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   72
            pushi   8
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   84
            pushi   9
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   96
            pushi   10
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   108
            pushi   11
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   120
            pushi   13
            pushi   0
            call    localproc_002a, 8
            pushi   4
            pushi   286
            pushi   132
            pushi   14
            pushi   0
            call    localproc_002a, 8
            pushi   5
            pushi   58
            pushi   171
            pushi   16
            pushi   1
            pushi   4
            lea     @temp0
            push    
            lofsa   "%d/%d"
            push    
            ldi     16
            lsgi    gGOwnerMaxStamina
            pushi   #maxHealth
            pushi   0
            lag     gOwner
            send    4
            push    
            callk   Format, 8
            push    
            call    localproc_002a, 10
            pushi   5
            pushi   250
            pushi   157
            pushi   17
            pushi   1
            pushi   4
            lea     @temp0
            push    
            lofsa   "%d/%d"
            push    
            ldi     17
            lsgi    gGOwnerMaxStamina
            pushi   #maxStamina
            pushi   0
            lag     gOwner
            send    4
            push    
            callk   Format, 8
            push    
            call    localproc_002a, 10
            pushi   5
            pushi   250
            pushi   170
            pushi   18
            pushi   1
            pushi   4
            lea     @temp0
            push    
            lofsa   "%d/%d"
            push    
            ldi     18
            lsgi    gGOwnerMaxStamina
            pushi   #maxMana
            pushi   0
            lag     gOwner
            send    4
            push    
            callk   Format, 8
            push    
            call    localproc_002a, 10
            pushi   3
            lea     @temp0
            push    
            lofsa   "%d"
            push    
            lsg     global15
            callk   Format, 6
            lsg     global140
            lag     global15
            ne?     
            bnt     code_0646
            ldi     54
            sat     temp6
            ldi     231
            sat     temp7
            jmp     code_064f
code_0646:  ldi     82
            sat     temp6
            ldi     231
            sat     temp7
code_064f:  pushi   12
            lea     @temp0
            push    
            pushi   100
            pushi   98
            pushi   156
            pushi   102
            lst     temp7
            pushi   106
            pushi   60
            pushi   101
            pushi   0
            pushi   105
            pushi   123
            callk   Display, 24
            pushi   12
            lea     @temp0
            push    
            pushi   100
            pushi   97
            pushi   156
            pushi   102
            lst     temp6
            pushi   106
            pushi   60
            pushi   101
            pushi   0
            pushi   105
            pushi   123
            callk   Display, 24
            pushi   #input
            pushi   1
            pushi   1
            class   User
            send    6
            pushi   #cursor
            pushi   0
            pushi   #curIcon
            pushi   0
            lag     gMainIconBar
            send    4
            send    4
            sal     local9
            pushi   #cursor
            pushi   1
            pushi   999
            pushi   #curIcon
            pushi   0
            lag     gMainIconBar
            send    4
            send    6
            pushi   #setCursor
            pushi   2
            pushi   999
            pushi   1
            lag     gGame
            send    8
            pushi   2
            pushi   #elements
            pushi   0
            lag     gGQg3KDHandler
            send    4
            push    
            pushi   0
            callk   Animate, 4
code_06ce:  ldi     1
            bnt     code_06fd
            pushi   #new
            pushi   0
            class   Event
            send    4
            sat     temp8
            pushi   #type
            pushi   0
            send    4
            sat     temp9
            pushi   #dispose
            pushi   0
            lat     temp8
            send    4
            pushi   4
            lst     temp9
            pushi   4
            pushi   1
            pushi   256
            calle   proc999_5, 8
            bnt     code_06fb
code_06fb:  jmp     code_06ce
code_06fd:  pushi   #dispose
            pushi   0
            self    4
            pushi   #notify
            pushi   1
            pushi   65521
            lag     global2
            send    6
            ret     
        )
    )


    (method (dispose)
        (var temp0)
        localproc_0225()
        = global34 local2
        = temp0 0
        (while (< temp0 19)
            = gGGOwnerMaxStamina_2[temp0] gGOwnerMaxStamina[temp0]
            ++temp0
        )
        = global140 global15
        (if (local8)
            proc0_3()
        )(else
            (User:canControl(0))
            proc0_3()
        )
        localproc_0772()
        (super:dispose())
        (send gGame:setCursor(gCursorNumber 1))
        proc0_5(101)
        (send gMainIconBar:enable())
        DisposeScript(15)
    )

)
(instance myHero of View
    (properties
        x 162
        y 154
        view 140
    )
)
