1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
nà&ic@sUddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dfd„ƒYZ
dfd„ƒYZ dfd„ƒYZ dfd    „ƒYZ d
fd „ƒYZd fd „ƒYZdfd„ƒYZdfd„ƒYZdfd„ƒYZdfd„ƒYZd„Zd„Zd„ZdS(iÿÿÿÿNtPassiveEffManagercBsYeZd„Zd„Zd    dd    d„Zd„Zd„Zd„Zd„Z    d„Z
RS(
cCs||_i|_i|_dS(N(t_batObjt_AffectSkillDictt_AffectBuffDict(tselftbatObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__init__!s            cCs d|_dS(N(tNoneR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    onRelease(s    icCs>g}|sE|r!|jƒ}qE|rE|jƒ}|jƒ}qEn|r£t|dƒr£|jjƒ|jƒkr£|jƒ}|jjƒ}|j|ƒs£g}    xÖt    |j
ƒƒD]Â}
|j |
ƒ} | j ƒ} | dkrëq¸n| j ƒ} | jƒ}| sq¸n| tjkr$q¸n|tjkr9q¸n| tjkr[d| | f} n| |krmq¸n|    j| ƒq¸W|    r |jd||    gƒq q£n|rŒ|tjtjtjtjgkrŒ||f}||jkr+|j|}x3|jƒD]"\}}    |jd||    gƒqWn||f}||jkrŒ|j|}x3|jƒD]"\}}    |jd||    gƒq`WqŒn|tjf}|jj|iƒ}x0|jƒD]"\}}    |jd||    gƒq½W|tjf}|jj|iƒ}x0|jƒD]"\}}    |jd||    gƒqW|S(sÖ»ñÈ¡¿É´¥·¢µÄЧ¹ûÁÐ±í£¬¼¼Äܸúbuff¸ù¾Ý´¥·¢ÓÅÏȼ¶°´Ë³Ðò´¥·¢£¬ÓÅÏȼ¶Ô½¸ßÔ½ÏÈÖ´ÐУ¬Ïàͬʱ¼¼ÄÜÓÅÏÈ
                        ÓÅÏȼ¶Ö®ºóÓÐÐèÒªÔÙÀ©Õ¹
        @return: [["skill/buff", skillID/buffID, effIDList], ...]
        tGetObjIDis%s_%stskilltbuff(tGetSkillTypeIDt GetSkillDatathasattrRtGetIDR    t
GetSkillIDtGetSkillManagert FindSkillByIDtxrangetGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayt GetTriggerSrctChConfigtTriggerWayNoLoadListtTriggerSrc_SkillSelftTriggerWay_CalcEffValuetappendtTriggerSrc_SkilltTriggerSrc_BufftTriggerSrc_BuffSelfRtitemsRtget(Rt
triggerWayt    connSkilltconnSkillTypeIDtconnBuffteffListt    skillDatatskillIDt skillManagert    effIDListtindexteffectteffectIDttWayttSrctkeyteffDicttbuffID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffByTrigger-sh 0      *     cCs´i|_|jjƒ}x’td|jƒƒD]{}|j|ƒ}|sOq.nxWt|jƒƒD]C}|j|ƒ}|j    ƒ}|dkr•qbn|j
||ƒqbWq.W|jS(Ni( RRRtranget GetSkillCounttGetSkillByIndexRRRRtAddSkillPassiveEffect(RR*R,tcurSkillt    curEffectR.((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshSkillPassiveEffectvs      c    Cs|jƒ}|jƒ}|s"dS|tjkr5dS|tjtjgkrQdS|jƒ}|jƒ}|tjkr‹d||f}n|tj    kr©|j
ƒ}n||f}||j krÔi|j |<n|j |}||krúg||<n||j |ƒdS(Ns%s_%s( RRRRRR RRRRR RR(    RR9R-R#t
triggerSrcR)R.R1R2((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR8‡s,        cCsÀi|_|jjƒ}xžt|jƒƒD]Š}|j|ƒ}|sLq+n|jƒ}xZt|jƒƒD]F}|j    |ƒ}|j
ƒ}|dkržqkn|j |||ƒqkWq+W|jS(Ni( RRtGetBuffManagerR5t GetBuffCounttGetBuffByIndexR RRRRtAddBuffPassiveEffect(RtbuffMgrR,R R(R:R.((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshBuffPassiveEffect¥s       c Cs$|jƒ}|jƒ}|s"dS|tjkr5dS|tjtjgkrQdS|jƒ}|jƒ}|tjkr‹d||f}n|tj    kr©|j
ƒ}n||f}||j krÔi|j |<n|j |}    ||    krúg|    |<n|    |}
||
kr |
j |ƒndS(sÖÌí¼ÓBuff±»¶¯Ð§¹û
                            Í¬¸öbuffµÄ¼¼ÄÜIDÈç¹ûµþ¼Ó¹æÔòÊǶÀÁ¢µÄ£¬ÄÇô¿ÉÄÜͬʱ´æÔÚ¶à¸öÏàͬ¼¼ÄÜЧ¹ûµÄbuff
                            Èç¹û´¥·¢Ð§¹û£¬¾ÍÒª´¥·¢¶à´Î£¬ËùÒÔbuffµÄЧ¹ûÒÔbuffIDΪkey
        Ns%s_%s( RRRRRRt    GetBuffIDRRR R RR( RR R(R-R#R<R3R.R1R2R+((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR@¶s0        
 cCs\xU|jjƒD]D\}}||kr.qn|j|ƒ|s|jj|ƒqqWdS(N(RR!tpop(RR3R1R2((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffPassiveEffectÙs  N( t__name__t
__module__RRRR4R;R8RBR@RE(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRs        I                #tHurtObjcBsÎeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs|jƒdS(N(tClear(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRæs
cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRêscCsLd|_d|_d|_d|_d|_d|_d|_g|_dS(Ni(t_objIDt
_hurtTypest_hurtHPt_lostHPt_curHPt_suckHPt    _bounceHPt _hurtListEx(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRIîs                                cCs|jS(N(RJ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR    ùscCs ||_dS(N(RJ(RtobjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetObjIDúscCs|jS(N(RK(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHurtTypesûscCs ||_dS(N(RK(Rt    hurtTypes((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHurtTypesüscCs|jtd|ƒO_|jS(Ni(RKtpow(RthurtType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtTypeýscCs|jtd|ƒ@S(Ni(RKRW(RRX((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt HaveHurtTypescCs|jS(N(RL(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHurtHPscCs ||_dS(N(RL(RthurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHurtHPscCs|jS(N(RM(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHPscCs ||_dS(N(RM(RtlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHPscCs|jS(N(RN(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetCurHPscCs ||_dS(N(RN(RtcurHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetCurHP    scCs|jS(N(RO(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSuckHP
scCs ||_dS(N(RO(RtsuckHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetSuckHP scCs|jS(N(RP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHP scCs ||_dS(N(RP(RtbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHP scCs:tjƒ}x|jD]}|j|ƒqWg|_dS(N(tObjPoolt
GetPoolMgrRQtrelease(RtpoolMgrt    hurtObjEx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearHurtObjExs
     cCs6tjƒjtƒ}|j|ƒ|jj|ƒ|S(N(RjRktacquireRHRSRQR(RttagIDthurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtObjExs cCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListExs(RFRGRRRIR    RSRTRVRYRZR[R]R^R`RaRcRdRfRgRiRoRsRt(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRHãs,                                                                                     t SkillEffectcBsVeZddd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(    icCs(||_||_||_||_dS(N(t_effIDt_valuest _triggerWayt _triggerSrc(RteffIDtvaluesR#R<((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRs
                cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR%scCs|jS(N(Rv(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR)scCs$t|jƒ|kr |j|SdS(Ni(tlenRw(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValue*scCs t|jƒS(N(R|Rw(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCount+scCs|jS(N(Rw(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValues,scCs|jS(N(Rx(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR-scCs|jS(N(Ry(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR.s(
RFRGRRRR}R~RRR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRus                        t    SklllDatacBsXeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z!d!„Z"d"„Z#d#„Z$d$„Z%d%„Z&RS(&cCsÕ||_g|_i|_x³tddƒD]¢}t|d|ƒƒ}t|d|ƒƒ}t|d|ƒƒ}t|d|ƒƒ}tjƒjt||||ƒ}|jj    |ƒ||j||f<q+WdS(Niis GetEffectID%ssGetEffectValues%ssGetTriggerWay%ssGetTriggerSrc%si(
t_ipyDatat_effListt_effDictR5tgetattrRjRkRpRuR(RtipyDatatnumRzR{R#R<R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR3s            !cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRBscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyDataFscCs |jjƒS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRGscCs |jjƒS(N(RR (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR HscCs |jjƒS(N(Rt
GetSkillLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆIscCs |jjƒS(N(Rt GetSkillMaxLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰JscCs |jjƒS(N(Rt GetSkillName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠKscCs |jjƒS(N(Rt GetFuncType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‹LscCs |jjƒS(N(Rt GetSkillType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŒMscCs |jjƒS(N(Rt GetHurtType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRNscCs |jjƒS(N(Rt
GetAtkType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽOscCs |jjƒS(N(Rt    GetTagAim(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRPscCs |jjƒS(N(RtGetTagFriendly(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRQscCs |jjƒS(N(Rt
GetTagSelf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘RscCs |jjƒS(N(Rt GetTagAffect(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’SscCs |jjƒS(N(Rt GetTagCount(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“TscCs |jjƒS(N(Rt GetCalcType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”UscCs |jjƒS(N(Rt GetSkillPer(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•VscCs |jjƒS(N(Rt GetSkillValue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–WscCs |jjƒS(N(RtGetHurtAtkPerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—XscCs |jjƒS(N(Rt GetHappenRate(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR˜YscCs$t|jƒ|kr |j|SdS(Ni(R|R‚(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRZscCs t|jƒS(N(R|R‚(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR[sicCs|jj||fdƒS(N(RƒR"R(RRzR#((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetEffectByID\scCs |jjƒS(N(Rt GetConnSkill(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRš]scCs |jjƒS(N(RtGetCoolDownInit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR›^scCs |jjƒS(N(RtGetCoolDownTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRœ_scCs |jjƒS(N(RtGetBuffStateLimit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR`scCs |jjƒS(N(RtGetCurBuffState(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRžascCs |jjƒS(N(Rt GetLastTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŸbscCs |jjƒS(N(RtGetLastTimeType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR cscCs |jjƒS(N(Rt GetLayerCnt(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¡dscCs |jjƒS(N(Rt GetLayerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¢escCs |jjƒS(N(Rt GetBuffRepeat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR£fscCs%|jjƒp$|jjƒtjkS(N(RtGetDispersedLimitRŒRtDef_SkillType_Halo(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¤gscCs |jjƒS(N(Rt GetFightPower(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¦hs('RFRGRRR‡RR RˆR‰RŠR‹RŒRRŽRRR‘R’R“R”R•R–R—R˜RRR™RšR›RœRRžRŸR R¡R¢R£R¤R¦(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR€1sJ                                                                                                                                             tPyBuffcBs1eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"RS(!cCs‹tjƒjt|ƒ|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_i|_g|_dS(Ni(RjRkRpR€t
_skillDatat
_addTimingt _refreshStatet_buffIDt_ownerIDt_layert _remainTimet_value1t_value2t_value3t_isCopyt
_effExDictt_haloObjIDList(RR…((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRls                                                cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR|scCs|jS(N(R¨(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR €scCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(R¨Rž(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRž‚scCs|jS(N(R©(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetAddTimingƒscCs||_d|_dS(Ni(R©Rª(Rt    addTiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetAddTiming„s    cCs|jS(N(Rª(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetRefreshState‡scCs ||_dS(N(Rª(Rt refreshState((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetRefreshStateˆscCs|jS(N(R«(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRC‰scCs ||_dS(N(R«(RR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetBuffIDŠscCs|jS(N(R¬(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetOwnerID‹scCs ||_dS(N(R¬(RtownerID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetOwnerIDŒscCs|jS(N(R­(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLayerscCs ||_dS(N(R­(Rtlayer((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLayerŽscCs|jS(N(R®(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetRemainTimescCs ||_dS(N(R®(Rt
remainTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetRemainTimescCsuxnt|ƒD]`\}}|dkr5|j|ƒq |dkrQ|j|ƒq |dkr |j|ƒq q WdS(Niii(t    enumeratet    SetValue1t    SetValue2t    SetValue3(Rt    valueListR,tvalue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetBuffValueList‘s   cCs|jS(N(R¯(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue1™scCs ||_dS(N(R¯(RRÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƚscCs|jS(N(R°(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue2›scCs ||_dS(N(R°(RRÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRǜscCs|jS(N(R±(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue3scCs ||_dS(N(R±(RRÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRȞscCs|jS(N(R²(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetIsCopyŸscCs ||_dS(N(R²(RtisCopy((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetIsCopy scCs|jj|dƒS(Ni(R³R"(RRz((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueEx¡scCs i|_dS(N(R³(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetEffectValueEx¢scCs$|jj|dƒ||j|<dS(Ni(R³R"(RRztvalueEx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddEffectValueEx£scCs|jS(N(R³(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectExDict¤scCs|jS(N(R´(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHaloObjIDList¥scCs ||_dS(N(R´(Rt haloObjIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHaloObjIDList¦scCs&||jkr"|jj|ƒndS(N(R´R(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHaloObjID§s(#RFRGRRR RRžRµR·R¸RºRCR»R¼R¾R¿RÁRÂRÄRËRÌRÆRÍRÇRÎRÈRÏRÑRÒRÓRÕRÖR×RÙRÚ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR§jsB                                                                                                                                t BuffManagercBs§eZd„Zd„Zd„Zd„Zd„Zd„Zed„Z    d„Z
d„Z d    „Z d
d „Z d „Zd „Zd„Zd„Zd„Zd„ZRS(cCs:||_g|_i|_i|_i|_d|_dS(Ni(Rt    _buffListt _buffIDDictt_skillTypeIDBuffIDst_buffStateDictR«(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR®s                        cCs d|_dS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¸s    cCs^tjƒ}x|jD]}|j|ƒqWg|_i|_i|_i|_d|_dS(Ni(RjRkRÜRlRÝRÞRßR«(RRmR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    ClearBuff½s                     cCs t|jƒS(N(R|RÜ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR>ÈscCs |j|S(N(RÜ(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR?ÉscCsÔd}tjd|ƒ}|s"|S|jƒ}|jd7_|j}tjƒjt|ƒ}|j    |ƒ|j
j |ƒ||j |<||j kr§g|j |<n|j |}||krÐ|j |ƒn|S(NtSkilli(Rt IpyGameDataPYtGetIpyGameDataR R«RjRkRpR§R»RÜRRÝRÞ(RR)R R…t skillTypeIDR3tbuffIDs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBuffËs"         cCs ||jkrdS|jj|ƒ}||jkrG|jj|ƒn`x]|jddd…D]E}|jƒ|kr^|jj|ƒtjd|||fƒq^q^WxV|jjƒD]E\}}||krÕq·n|j|ƒ|sû|jj|ƒnPq·W|rt    j
ƒj |ƒndS(Niÿÿÿÿs2ɾ³ýbuffÒì³£²»ÔÚÁбíÀï! buffID=%s,lBuff=%s,buff=%s( RÝRDRÜtremoveRCt    GameWorldtErrLogRÞR!RjRkRl(RR3RlR tlBuffRät
buffIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffâs&!  cCs|jj|dƒS(N(RÝR"R(RR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBuffüscCs/tjd|ƒ}|sgS|j|jƒƒS(NRá(RâRãtFindBuffListBySkillTypeIDR (RR)R(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListBySkillIDýscCs^||jkrgSg}x>|j|D]/}||jkrBq'n|j|j|ƒq'W|S(N(RÞRÝR(RRätbuffsR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRîsicCsR|j|ƒ}|s'|r#|dSdSx$|D]}|jƒ|kr.|Sq.WdS(Ni(RïRR¼(RR)R½tbuffListR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffBySkillID s cCs<|jj|gƒ}|sdS|d}|jj|dƒS(Ni(RßR"RÝR(RtstateRëR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffByStates
 
cCsY|jj|gƒ}g}x7|D]/}||jkr=q"n|j|j|ƒq"W|S(N(RßR"RÝR(RRóRëRðR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListByStates cCsi||jkrg|j|<n|j|}||krH|j|ƒntjd|||jfƒdS(Ns&    AddBuffState state=%s,buffID=%s,%s(RßRRètDebugLog(RRóR3Rë((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddBuffState(s  cCsw||jkrdS|j|}||kr0dS|j|ƒ|sV|jj|ƒntjd|||jfƒdS(Ns&    DelBuffState state=%s,buffID=%s,%s(RßRçRDRèRö(RRóR3Rë((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt DelBuffState2s   cCs ||jkS(N(Rß(RRó((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt IsInBuffState>scCs|jj|gƒS(N(RßR"(RRó((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStateBuffIDList?s(RFRGRRRàR>R?RætTrueRìRíRïRîRòRôRõR÷RøRùRú(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÛ«s"    
                                  
 
        
    
         tPySkillcBs«eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Z d „Z!d!„Z"d"„Z#d#„Z$d$„Z%d%„Z&d&„Z'd'„Z(d(„Z)d)„Z*d*„Z+d+„Z,d,„Z-d-„Z.d.„Z/d/„Z0d0„Z1d1„Z2d2„Z3d3„Z4d4„Z5d5„Z6d6„Z7d7„Z8d8„Z9d9„Z:d:„Z;e<d;„Z=d<„Z>d=„Z?d>„Z@d?„ZAe<d@„ZBdA„ZCdB„ZDdC„ZEdD„ZFdE„ZGdF„ZHdG„ZIdH„ZJdI„ZKdJ„ZLRS(KcCs¸||_tjƒjt|ƒ|_d|_d|_g|_g|_    g|_
g|_ g|_ g|_ d|_d|_g|_d|_d|_d|_i|_i|_dS(Ni(RJRjRkRpR€R¨R®t_batTypet _tagObjListt _tagObjListExt _killObjListt_effIgnoreObjIDListt    _hurtListRQRt_bySkillt_byBufft_afterLogicListt_energyt _comboStatet    _comboNumt_missTagIDDictt_parryTagIDDict(RR…RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRCs&                                                                    cCs|jƒdS(N(t ResetUseRec(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRZs
cCsVd|_g|_g|_g|_g|_d|_d|_g|_|j    ƒdS(Ni(
RýRþRÿRRRRRRt ClearHurtObj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR _s                                
cCs|jS(N(RJ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR    mscCs|jS(N(R¨(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR nscCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRoscCs |jjƒS(N(R¨R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR pscCs |jjƒS(N(R¨Rˆ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆqscCs |jjƒS(N(R¨R‰(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰rscCs |jjƒS(N(R¨RŠ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠsscCs |jjƒS(N(R¨R‹(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‹tscCs |jjƒS(N(R¨RŒ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŒuscCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRvscCs |jjƒS(N(R¨RŽ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽwscCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRxscCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRyscCs |jjƒS(N(R¨R‘(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘zscCs |jjƒS(N(R¨R’(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’{scCs |jjƒS(N(R¨R“(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“|scCs |jjƒS(N(R¨R”(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”}scCs |jjƒS(N(R¨R•(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•~scCs |jjƒS(N(R¨R–(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–scCs |jjƒS(N(R¨R—(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—€scCs |jjƒS(N(R¨R˜(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR˜scCs|jj|ƒS(N(R¨R(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‚scCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒsicCs|jj||ƒS(N(R¨R™(RRzR#((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™„scCs |jjƒS(N(R¨Rš(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRš…scCs |jjƒS(N(R¨R›(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR›†scCs |jjƒS(N(R¨Rœ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRœ‡scCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆscCs |jjƒS(N(R¨Rž(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRž‰scCs |jjƒS(N(R¨RŸ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŸŠscCs |jjƒS(N(R¨R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR ‹scCs |jjƒS(N(R¨R¡(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¡ŒscCs |jjƒS(N(R¨R¢(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¢scCs |jjƒS(N(R¨R£(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR£ŽscCs |jjƒS(N(R¨R¤(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¤scCs |jjƒS(N(R¨R¦(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¦scCs|jS(N(R®(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“scCs ||_dS(N(R®(RRÃ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRĔscCs|jS(N(Rý(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBatType•scCs ||_dS(N(Rý(RtbatType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetBatType–scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBySkill—scCs ||_dS(N(R(RtbySkill((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetBySkill˜scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetByBuff™scCs ||_dS(N(R(RtbyBuff((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetByBuffšscCs|jS(N(Rþ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagObjList›scCs ||_dS(N(Rþ(Rt
tagObjList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagObjListœscCs|jS(N(Rÿ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagObjListExscCs5||jkr1||jkr1|jj|ƒndS(N(RþRÿR(RttagObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddTagObjExžscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetKillObjList¡scCs ||_dS(N(R(Rt killObjList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetKillObjList¢scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffIgnoreObjIDList£scCs ||_dS(N(R(RteffIgnoreObjIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetEffIgnoreObjIDList¤scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAfterLogicList¥scCs|jj||gƒdS(ssÌí¼Ó¼¼ÄÜÊͷźóÐèÒª´¦Àí¶îÍâÂß¼­
        @param logicType: Âß¼­ÀàÐÍ
        @param logicData: Âß¼­¶ÔÓ¦µÄÊý¾Ý
        N(RR(Rt    logicTypet    logicData((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddAfterLogic¦scCsxtjƒ}x(|jD]}|jƒ|j|ƒqWg|_x(|jD]}|jƒ|j|ƒqJWg|_dS(N(RjRkRRoRlRQ(RRmRrRn((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR ­s 
    
    cCsOtjƒjtƒ}|j|ƒ|r;|jj|ƒn|jj|ƒ|S(N(RjRkRpRHRSRQRR(RRqtisExRr((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
AddHurtObjºs  cCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListÄscCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRtÅscCs|j|jS(N(RRQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListAllÆscCs(d|_d|_i|_i|_dS(Ni(RRR    R
(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __commboClearÈs
                cCs3|s|jdkrdSn|jƒd|_dS(Ni(Rt_PySkill__commboClear(Rtforce((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytComboCheckStartÐs 
    cCs |jdkS(Ni(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt ComboEnableÛscCs d|_dS(Ni(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytComboInterruptÝs    cCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetComboNumâscCs ||_dS(N(R(RtcomboNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetComboNumãscCs|jj|dƒS(Ni(R    R"(RRq((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagMissNumäscCs||j|<dS(N(R    (RRqtmissNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagMissNumåscCs|jj|dƒS(Ni(R
R"(RRq((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagParryNumæscCs||j|<dS(N(R
(RRqtparryNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetTagParryNumçscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetEnergyéscCs ||_dS(N(R(Rtenergy((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetEnergyês(MRFRGRRR R    R RR RˆR‰RŠR‹RŒRRŽRRR‘R’R“R”R•R–R—R˜RRR™RšR›RœRRžRŸR R¡R¢R£R¤R¦RÂRÄR RRRRRRRRRRRRR!R"R%R tFalseR'R(RtR)R+R-R.R/R0R2R3R5R6R8R9R;(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRüAs”                                                                                                                                                                                                                                     
                                                     t SkillManagercBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z RS(
cCs||_g|_i|_dS(N(Rt
_skillListt
_skillDict(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRïs            cCs d|_dS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRõs    cCsCtjƒ}x|jD]}|j|ƒqWg|_i|_dS(N(RjRkR>RlR?(RRmR
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillResetús          cCs t|jƒS(N(R|R>(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR6scCs |j|S(N(R>(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR7scCst|jjƒƒS(N(tsortedR?tkeys(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillIDListscCs|jj|dƒS(N(R?R"R(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs:d}x-|jD]"}|jƒ|kr|}PqqW|S(N(RR>R (RRäR
ts((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindSkillByTypeIDs cCs»tjd|ƒ}|sdS||jkr/dS|jƒ}|j|ƒ}|rv|jƒ|krfdS|j|ƒntjƒj    t
||j j ƒƒ}||j|<|j j|ƒ|S(NRá(RâRãR?R RERt_SkillManager__deleteSkillRjRkRpRüRRR>R(RR)R…RäR9((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByIDs $ cCsX|jƒ}|jj|dƒ||jkrA|jj|ƒntjƒj|ƒdS(N(    RR?RDRR>RçRjRkRl(RR9R)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkill!s  ( RFRGRRR@R6R7RCRRERGRF(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=ìs                                    tBatObjcBsVeZd„Zd„Zdd„Zd]d„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z dd „Z!d!„Z"d"„Z#d#„Z$d$„Z%d%„Z&d&„Z'd'„Z(d(„Z)d)„Z*d*„Z+d+„Z,d,„Z-d-„Z.d.„Z/d/„Z0d0„Z1d1„Z2d2„Z3d3„Z4d4„Z5d5„Z6d6„Z7d7„Z8d8„Z9e:d9„Z;d:„Z<e:d;„Z=e>d<„Z?d=„Z@e>d>„ZAd?„ZBd@„ZCdA„ZDe>dB„ZEdC„ZFdD„ZGdE„ZHdF„ZIdG„ZJdH„ZKdI„ZLdJ„ZMdK„ZNdL„ZOdM„ZPdN„ZQdO„ZRdP„ZSdQ„ZTdR„ZUdS„ZVdT„ZWdU„ZXdV„ZYdW„ZZdX„Z[dY„Z\dZ„Z]d[„Z^d\„Z_RS(^cCs™d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_d|_d|_d|_t|_i|_i|_i|_i|_d|_d|_i|_i|_tjƒjt |ƒ|_!tjƒjt"|ƒ|_#tjƒjt$|ƒ|_%d|_&d|_'g|_(d|_)d|_*d|_+d|_,d|_-dS(Ntii(.ttfGUIDR½RRtobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextjobtlvt
fightPowertfactiont    lineupNumtposNumt_hpt_xpRût_isAlivet _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_bigTurnAtkbackCntt_incrementValuet_skillUseCntDictt_skillTurnUseCntDictRjRkRpR=t    _skillMgrRÛt_buffMgrRt_passiveEffMgrt_lastHurtValuet _harmSelfHPt_mainTagIDListt_timingt_angerOverflowthurtStattdefStattcureStat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR,sP                                                                                                                                                cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRXsicCsv||_i|_|jj|ƒ|jƒi|_|j|tƒ|jtƒtj    |dt
ƒt j |ƒdS(s¥³õʼ»¯Õ½¶·ÊôÐÔ
        @param initAttrDict: ÒѾ­ËãºÃµÄÔÚÕóÈÝÖеÄÊôÐÔ£¬°üº¬î¿°í¡¢ÕóÈÝÊôÐԵȣ¬Õ½¶·ÖÐÖ»Òª¼ÆËãbuffÊôÐÔ¼´¿É
        @param initXP: ³õʼ»¯µÄÅ­ÆøÖµ
        tisInitN( R]R^tupdatet_BatObj__onUpdBatAttrR_tSetXPR<t    SetHPFulltTurnBufftRefreshBuffAttrRût TurnPassivetRefreshPassive(Rt initAttrDicttinitXP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt InitBatAttr\s        
      cCsk||_t}|rDx,|D]!}|jj|ƒrt}qqWntj|ƒ|rg|jjƒndS(N(    R]R<ReRGRûRuRvRgR;(RRyt skillIDListt learnNewSkillR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytUpdInitBatAttrls      cCsš||j|<|tjkrd|j|tƒ||jƒkr–||jtj<|j|tƒq–n2|tjkr†|j    |tƒn|j
||ƒdS(N( R]Rt    AttrID_HPtSetHPRûtGetMaxHPt AttrID_MaxHPtSetMaxHPt    AttrID_XPRstSetBatAttrValue(RtattrIDt    attrValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GMSetBatAttrys cCs-i|_|jj|jƒ|jƒ|jS(N(R^RqR]Rr(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetBattleEffect‡s    
cCs|jS(N(RK(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTFGUIDscCs ||_dS(N(RK(RRK((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTFGUIDŽscCstjƒj|jƒS(N(t
TurnAttacktGetTurnFightMgrt getTurnFightRK(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTurnFightscCs.|jƒ}|j|jƒ}|j|jƒS(N(Rt getBatFactionRWt getBatlineupRX(Rt    turnFightt
batFaction((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBatLineups cCs|jS(N(R½(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¼”scCs ||_dS(N(R½(RR½((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¾•scCs|jS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–scCs|jS(N(RL(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetName—scCs ||_dS(N(RL(Rtname((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetName˜scCs|jS(N(RP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetCountry™scCs ||_dS(N(RP(RRP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetCountryšscCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkDistType›scCs ||_dS(N(RQ(RRQ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistTypeœscCs|jS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialtyscCs ||_dS(N(RR(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialtyžscCs|jS(N(RS(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSexŸscCs ||_dS(N(RS(RRS((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSex scCs|jS(N(RT(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetJob¡scCs ||_dS(N(RT(RRT((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetJob¢scCs|jS(N(RM(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNPCID£scCs ||_dS(N(RM(RRM((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNPCID¤scCs|jS(N(RN(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHeroID¥scCs|jS(N(RO(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSkinID¦scCs||_||_dS(N(RNRO(RRNRO((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHero§s    icCs||_||_dS(N(RYRX(RRYRX((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPosªs    cCs|jS(N(RX(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNum°scCs|jS(N(RY(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNum±scCs|jS(N(RW(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFaction²scCs ||_dS(N(RW(RRW((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFaction³scCs|jS(N(RV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¦´scCs ||_dS(N(RV(RRV((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetFightPowerµscCs|jS(N(RU(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLV¶scCs ||_dS(N(RU(RRU((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLV·scCs|jj|dƒS(Ni(R`R"(RR1((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetDictByKey¸scCs||j|<dS(N(R`(RR1RÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDict¹scCs|jS(N(Re(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR»scCs|jS(N(Rf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=¼scCs|jS(N(Rg(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffManager½scCstS(N(Rû(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetCanAttack¿scCsqt|tƒr|g}n+t|tƒs9t|tƒrB|}ntSx$|D]}|jj|ƒrMtSqMWtS(N(t
isinstancetinttlistttupleR<RfRùRû(Rt checkInStatetcheckInStateListRó((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt CheckInStateÆs      cCs|jddgƒS(Nii(tIsInBuffStateGroup(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlledÓscCs|jdgƒS(Ni(Rº(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlledHardÔscCsstjddiƒ}xW|D]O}t|ƒ|kr:qnx.|t|ƒD]}|jj|ƒrK|SqKWqWdS(s‹ÊÇ·ñÔÚij¸ö״̬×éÖÐ
                        ÒѶ¨ÒåµÄ×飺 1 - Ó²¿Ø×飻2 - Èí¿Ø×飻3 - ÏÞÖÆÆÕ¹¥×飻4 - ÏÞÖÆÅ­¼¼×飻5 - ÏÞÖÆ±»¶¯¶¯Ì¬×é
        tBuffStateGroupiN(RâtGetFuncEvalCfgtstrRfRù(RtbuffStateGroupstbuffStateGroupDictt
stateGroupRó((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRºÕs  cCs$|jƒstS|jƒr tStS(N(tIsAliveR<R¼Rû(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    CanActionâs
  cCs†|jjtjƒ}|sdStƒ}xW|D]O}|jj|ƒ}|sSq/n|j|jƒƒ}|r/|jƒr/|Sq/WdS(N(    RfRúRtBatObjState_Sneert GetBatObjMgrRít    getBatObjR¼RÃ(RRëtobjMgrR3R R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObjês     cCs|jS(N(R\(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÃúscCst|_d|_dS(Ni(R<R\RZ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDeadûs    cCst|_||_dS(N(RûR\RZ(Rthp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetReviveþs    cCst|jjtjdƒƒS(Ni(R´R^R"RR‚(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs<t|ƒ}||jtj<|r8t|tj|ƒndS(N(R´R^RR‚tNotifyObjInfoRefresh(RtmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒs
 cCs|jS(N(RZ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPscCs5t|ƒ}||_|r1t|tj|ƒndS(N(R´RZRÍRR(RRËRÏ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR€    s
     cCs|j|jƒ|ƒdS(N(R€R(RRÏ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRtscCs|jS(N(R[(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetXPscCs5t|ƒ}||_|r1t|tj|ƒndS(N(R´R[RÍRR„(RtxpRÏ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRss
     cCs|jtjƒS(N(tGetBatAttrValueRt
AttrID_Atk(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkscCs|jtjƒS(N(RÓRt
AttrID_Def(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetDefscCs|jS(N(R^(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBatAttrDictscCsB|jj|dƒ}|r>||jkr>||j|7}n|S(Ni(R^R"R_(RR†t includeTempRÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÓscCs||j|<|jƒdS(N(R^Rr(RR†RÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…"s 
cCs=x6tjgD](}t|jj|dƒƒ|j|<q WdS(Ni(RR‚R´R^R"(RR†((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__onUpdBatAttr&s&cCs$|jj|dƒ||j|<dS(Ni(R_R"(RR†RÊ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttr*scCs i|_dS(N(R_(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttr.scCs|jj|dƒS(Ni(RcR"(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCnt0scCs|jj|dƒS(Ni(RdR"(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCnt1scCsi|_i|_d|_dS(Ni(RcRdRb(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetSkillUseCnt2s        cCsD|jj|dƒd|j|<|jj|dƒd|j|<dS(Nii(RcR"Rd(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCnt6s cCs|jS(N(Ra(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBigTurnAtkbackCnt:scCs|jd7_dS(Ni(Ra(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBigTurnAtkbackCnt;scCsd|_i|_dS(Ni(RaRd(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt ResetBigTurn=s    cCs|jd7_|jS(Ni(Rb(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetIncrementValueBscCs|jS(N(Rh(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValueFscCs ||_dS(N(Rh(Rt lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValueGscCs|jS(N(Ri(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHarmSelfHPIscCs ||_dS(N(Ri(Rt
harmSelfHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHarmSelfHPJscCs|jS(N(Rl(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAngerOverflowLscCs ||_dS(N(Rl(Rt angerOverflow((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAngerOverflowMscCs|jS(N(Rj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMainTagIDListOscCs ||_dS(N(Rj(Rt mainTagIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMainTagIDListPscCs|jS(N(Rk(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTimingRscCs ||_dS(N(Rk(Rttiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTimingSscCs|j|7_|jS(N(Rm(Rt    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValueUscCs|j|7_|jS(N(Rn(RR_((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValueZscCs|jS(N(Rn(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStatDefValue^scCs|j|7_|jS(N(Ro(Rt    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValue`sN(`RFRGRRR{RR~RˆR‰RŠR‹RR”R¼R¾RR•R—R˜R™RšR›RœRRžRŸR R¡R¢R£R¤R¥R¦R§R¨R©RªR«R¦R¬R­R®R¯R°RR=R±R²R¹R»R¼RºRÄRÉRÃRÊRÌRR<RƒRÐR€RûRtRÑRsRÕR×RØRÓR…RrRÛRÜRÝRÞRßRàRáRâRãRäRåRçRèRêRëRíRîRðRñRóRõRöR÷Rù(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRI)s¶    ,                                                                                                                                                                                                                                                                                                                                           t BattleObjMgrcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsd|_g|_i|_dS(Ni(t_newIDt _freeIDListt
batObjDict(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRhs            cCs¥x2|jr4|jjdƒ}||jkr|SqWd}|j|krVd|_nx;|j|kr“|jd7_|j|jkrY|jSqYWtjdƒdS(Nii †is__getNewObjID error.(RüRDRýRûRèRé(RRRtmaxID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __getNewObjIDns    cCstd}|jƒ}|s|Stjƒjtƒ}||_||j|<tj    d|ƒt
rptddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si( Rt_BattleObjMgr__getNewObjIDRjRkRpRIRRRýRèRöR<(Rt    newBatObjtnewObjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    addBatObj~s      cCsAd}||jkr%|j|}ntr=tddƒ}n|S(Ni(RRýR<RI(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÇŒs cCs‚||jkrdS|jj|ƒ}|s/dS|j}tjd|ƒtjƒj|ƒ||jkr~|jj    |ƒndS(Ns»ØÊÕÕ½¶·µ¥Î»: objID=%s(
RýRDRRRèRöRjRkRlRüR(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObj”s     (RFRGRRRRÇR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRúes
                cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatat g_batObjMgrRú(t    batObjMgr((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÆ«s
         cCs!tjdttƒjƒƒdS(NsÕ½¶·µ¥Î»ÊýÁ¿: %s(RètLogR|RÆRý(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytOnMinute²scCsÇ|tjkrdStj|\}}tjƒj|jƒƒ}|sKdStjƒjt    j
ƒ}|j ƒ|_ ||_ |r¤|tj|_|tj|_n||_d|_|j|ƒdS(Ni(RtCDBRefresh_AttrIDDictRŒRRŽRŠRjRkRpt ChNetSendPackttagObjInfoRefreshRtObjIDt RefreshTypet ShareDefinetDef_PerPointValuetValuetValueExt
addBatPack(RR†RÊt refreshTypetisBigR’t
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRͶs              (RèRRŒRâR RRRjRwRuRRHRuR€R§RÛRüR=RIRúRÆR    RÍ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s.          Å89A–«=ÿ=F