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
HÒ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                                                                                                                                             tPyBuffcBseZd„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 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|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.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ºRCR»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§js>                                                                                                                        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 DelBuffState0s   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.pyRAs&                                                                    cCs|jƒdS(N(t ResetUseRec(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRXs
cCsVd|_g|_g|_g|_g|_d|_d|_g|_|j    ƒdS(Ni(
RüRýRþRÿRRRRRt 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    kscCs|jS(N(R¨(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR lscCs |jjƒS(N(R¨R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRmscCs |jjƒS(N(R¨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.pyRˆoscCs |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(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(RRRR    (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(RR"(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.R/R1R2R4R5R7R8R:(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRû?s”                                                                                                                                                                                                                                     
                                                     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 RDRt_SkillManager__deleteSkillRjRkRpRûRRR=R(RR)R…RãR9((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByID s $ 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 __deleteSkills  ( RFRGRRR?R6R7RBRRDRFRE(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR<ês                                    tBatObjcBs eZd„Zd„Zdd„ZdWd„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„Z8e9d8„Z:d9„Z;e9d:„Z<e=d;„Z>d<„Z?e=d=„Z@d>„ZAd?„ZBd@„ZCe=dA„ZDdB„ZEdC„ZFdD„ZGdE„ZHdF„ZIdG„ZJdH„ZKdI„ZLdJ„ZMdK„ZNdL„ZOdM„ZPdN„ZQdO„ZRdP„ZSdQ„ZTdR„ZUdS„ZVdT„ZWdU„ZXdV„ZYRS(XcCs~d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_d|_d|_d|_t|_i|_i|_i|_i|_i|_i|_tjƒjt|ƒ|_tjƒjt |ƒ|_!tjƒjt"|ƒ|_#d|_$d|_%g|_&d|_'d|_(d|_)d|_*dS(Ntii(+ttfGUIDR½RRtobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextjobtlvt
fightPowertfactiont    lineupNumtposNumt_hpt_xpRút_isAlivet _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_skillUseCntDictt_skillTurnUseCntDictRjRkRpR<t    _skillMgrRÚt_buffMgrRt_passiveEffMgrt_lastHurtValuet _harmSelfHPt_mainTagIDListt_timingthurtStattdefStattcureStat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR*sJ                                                                                                                                    cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRSsicCsv||_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 InitBatAttrWs        
      cCsk||_t}|rDx,|D]!}|jj|ƒrt}qqWntj|ƒ|rg|jjƒndS(N(    R\R;RbRFRúRqRrRdR;(RRut skillIDListt learnNewSkillR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytUpdInitBatAttrgs      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_XPRotSetBatAttrValue(RtattrIDt    attrValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GMSetBatAttrts cCs-i|_|jj|jƒ|jƒ|jS(N(R]RmR\Rn(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetBattleEffect‚s    
cCs|jS(N(RJ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTFGUIDˆscCs ||_dS(N(RJ(RRJ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTFGUID‰scCstjƒj|jƒS(N(t
TurnAttacktGetTurnFightMgrt getTurnFightRJ(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 getBatFactionRVt getBatlineupRW(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(RK(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetName’scCs ||_dS(N(RK(Rtname((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetName“scCs|jS(N(RO(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetCountry”scCs ||_dS(N(RO(RRO((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetCountry•scCs|jS(N(RP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkDistType–scCs ||_dS(N(RP(RRP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistType—scCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialty˜scCs ||_dS(N(RQ(RRQ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialty™scCs|jS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSexšscCs ||_dS(N(RR(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSex›scCs|jS(N(RS(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetJobœscCs ||_dS(N(RS(RRS((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetJobscCs|jS(N(RL(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNPCIDžscCs ||_dS(N(RL(RRL((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNPCIDŸscCs|jS(N(RM(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHeroID scCs|jS(N(RN(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSkinID¡scCs||_||_dS(N(RMRN(RRMRN((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHero¢s    icCs||_||_dS(N(RXRW(RRXRW((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPos¥s    cCs|jS(N(RW(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNum«scCs|jS(N(RX(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNum¬scCs|jS(N(RV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFaction­scCs ||_dS(N(RV(RRV((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFaction®scCs|jS(N(RU(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¦¯scCs ||_dS(N(RU(RRU((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetFightPower°scCs|jS(N(RT(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLV±scCs ||_dS(N(RT(RRT((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(Rb(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¶scCs|jS(N(Rc(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=·scCs|jS(N(Rd(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;RcRø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átGetFuncEvalCfgtstrRcRø(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(    RcRù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[RY(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDeadö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(RY(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPscCs5t|ƒ}||_|r1t|tj|ƒndS(N(R°RYRÇRR{(RthpRÉ((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.pyRpscCs|jS(N(RZ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetXPscCs5t|ƒ}||_|r1t|tj|ƒndS(N(R°RZRÇRR€(RtxpRÉ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRo    s
     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]Rn(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__onUpdBatAttrs&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(R`R"(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCnt(scCs|jj|dƒS(Ni(RaR"(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCnt)scCs i|_dS(N(Ra(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetSkillTurnUseCnt*scCsi|_i|_dS(N(R`Ra(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetSkillUseCnt,s    cCsD|jj|dƒd|j|<|jj|dƒd|j|<dS(Nii(R`R"Ra(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCnt/s cCs|jS(N(Re(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValue3scCs ||_dS(N(Re(Rt lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValue4scCs|jS(N(Rf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHarmSelfHP6scCs ||_dS(N(Rf(Rt
harmSelfHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHarmSelfHP7scCs|jS(N(Rg(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMainTagIDList9scCs ||_dS(N(Rg(Rt mainTagIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMainTagIDList:scCs|jS(N(Rh(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTiming<scCs ||_dS(N(Rh(Rttiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTiming=scCs|j|7_|jS(N(Ri(Rt    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValue?scCs|j|7_|jS(N(Rj(RR_((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValueDscCs|jS(N(Rj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStatDefValueHscCs|j|7_|jS(N(Rk(Rt    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValueJsN(ZRFRGRRRwRRzR„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;RRÊR|RúRpRÌRoRÐRÒRÓRÎRRnRÖ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.pyRH'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.pyRRs            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 __getNewObjIDXs    cCstd}|jƒ}|s|Stjƒjtƒ}||_||j|<tj    d|ƒt
rptddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si( Rt_BattleObjMgr__getNewObjIDRjRkRpRHRRRòRçRõR;(Rt    newBatObjtnewObjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    addBatObjhs      cCsAd}||jkr%|j|}ntr=tddƒ}n|S(Ni(RRòR;RH(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÃvs 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     (RFRGRRõRøRÃRù(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRïOs
                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çRúRˆRáRRRRjRsRqRRHRuR€R§RÚRûR<RHRïRÂRþRÇ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s.          Å89?–«=ÿ)F