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
134
135
136
137
138
139
140
141
142
143
144
'J)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|_i|_dS(N(t_batObjt_AffectSkillDictt_AffectBuffDictt_buffSkillIDDict(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    ic    Cskg}|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|d|    gƒq£q¦n|r¤|tjtjtjtjgkr¤||f}||jkr1|j|}x6|jƒD]%\}}    |jd|d|    gƒqWn||f}||jkr¤|j|}xE|jƒD]4\}}    |jd|jj|dƒ||    gƒqfWq¤n|tjf}|jj|iƒ}x3|jƒD]%\}}    |jd|d|    gƒqÕW|tjf}|jj|iƒ}xB|jƒD]4\}}    |jd|jj|dƒ||    gƒq/W|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_BuffSelfRtitemsRRtget(Rt
triggerWayt    connSkilltconnSkillTypeIDtconnBuffteffListt    skillDatatskillIDt skillManagert    effIDListtindexteffectteffectIDttWayttSrctkeyteffDicttbuffID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffByTrigger.sh 0      "*     2,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.pytRefreshSkillPassiveEffectws      c    Cs|jƒ}|jƒ}|s"dS|tjkr5dS|jƒrEdS|jƒ}|jƒ}|tjkrd||f}n|tjkr|j    ƒ}n||f}||j
krÈi|j
|<n|j
|}||krîg||<n||j |ƒdS(Ns%s_%s( RRRRtGetTriggerBuffEnableRRRRR RR(    RR:R.R$t
triggerSrcR*R/R2R3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR9ˆ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( RRtGetBuffManagerR6t GetBuffCounttGetBuffByIndexRRRRRtAddBuffPassiveEffect(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|jƒsEdS|jƒ}|jƒ}|tjkrd||f}n|tjkr|j    ƒ}n||f}||j
krÈi|j
|<n|j
|}    ||    krîg|    |<n|    |}
||
kr|
j |ƒn|j ƒ|j |<dS(sÖÌí¼ÓBuff±»¶¯Ð§¹û
                            Í¬¸öbuffµÄ¼¼ÄÜIDÈç¹ûµþ¼Ó¹æÔòÊǶÀÁ¢µÄ£¬ÄÇô¿ÉÄÜͬʱ´æÔÚ¶à¸öÏàͬ¼¼ÄÜЧ¹ûµÄbuff
                            Èç¹û´¥·¢Ð§¹û£¬¾ÍÒª´¥·¢¶à´Î£¬ËùÒÔbuffµÄЧ¹ûÒÔbuffIDΪkey
        Ns%s_%s(RRRRR=t    GetBuffIDRRR!R RRRR( RR R)R.R$R>R4R/R2R3R,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRB·s2         
 cCsoxh|jjƒD]W\}}||kr.qn|j|ƒ|sT|jj|ƒn|jj|dƒqWdS(Ni(RR"tpopR(RR4R2R3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffPassiveEffectÛs  N( t__name__t
__module__RR    RR5R<R9RDRBRG(((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.pyRKñs                                cCs|jS(N(RL(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR
üscCs ||_dS(N(RL(RtobjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetObjIDýscCs|jS(N(RM(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHurtTypesþscCs ||_dS(N(RM(Rt    hurtTypes((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHurtTypesÿscCs|jtd|ƒO_|jS(Ni(RMtpow(RthurtType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtTypescCs|jtd|ƒ@S(Ni(RMRY(RRZ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt HaveHurtTypescCs|jS(N(RN(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHurtHPscCs ||_dS(N(RN(RthurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHurtHPscCs|jS(N(RO(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHP    scCs ||_dS(N(RO(RtlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHP
scCs|jS(N(RP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetCurHP scCs ||_dS(N(RP(RtcurHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetCurHP scCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSuckHP scCs ||_dS(N(RQ(RtsuckHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetSuckHPscCs|jS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHPscCs ||_dS(N(RR(RtbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHPscCs:tjƒ}x|jD]}|j|ƒqWg|_dS(N(tObjPoolt
GetPoolMgrRStrelease(RtpoolMgrt    hurtObjEx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearHurtObjExs
     cCs6tjƒjtƒ}|j|ƒ|jj|ƒ|S(N(RlRmtacquireRJRURSR(RttagIDthurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtObjExs cCs|jS(N(RS(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListExs(RHRIRR    RKR
RURVRXR[R\R]R_R`RbRcReRfRhRiRkRqRuRv(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRJæs,                                                                                     t SkillEffectcBs_eZdgd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d    „Z
RS(
icCsi||_||_||_t|ƒdkr7|dnd|_t|ƒdkr\|dnd|_dS(Nii(t_effIDt_valuest _triggerWaytlent _triggerSrct_triggerBuffEnable(RteffIDtvaluesR$t triggerSrcs((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    )scCs|jS(N(Rx(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR-scCs$t|jƒ|kr |j|SdS(Ni(R{Ry(RR-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValue.scCs t|jƒS(N(R{Ry(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCount/scCs|jS(N(Ry(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValues0scCs|jS(N(Rz(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR1scCs|jS(N(R|(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR2scCs3|jƒtjtjgkr"tS|jr/tStS(N(RRR R!tTrueR}tFalse(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=3s
    ( RHRIRR    RRR‚RƒRRR=(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRws                                t    SklllDatacBsaeZd„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&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_effDictR6tgetattrRlRmRrRwR(RtipyDatatnumR~RR$R>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    JscCs|jS(N(R‡(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyDataNscCs |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‡t
GetSkillLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽQscCs |jjƒS(N(R‡t GetSkillMaxLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRRscCs |jjƒS(N(R‡t GetSkillName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRSscCs |jjƒS(N(R‡t GetFuncType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘TscCs |jjƒS(N(R‡t GetSkillType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’UscCs |jjƒS(N(R‡t GetHurtType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“VscCs |jjƒS(N(R‡t
GetAtkType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”WscCs |jjƒS(N(R‡t    GetTagAim(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•XscCs |jjƒS(N(R‡tGetTagFriendly(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–YscCs |jjƒS(N(R‡t
GetTagSelf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—ZscCs |jjƒS(N(R‡t GetTagAffect(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR˜[scCs |jjƒS(N(R‡t GetTagCount(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™\scCs |jjƒS(N(R‡t GetCalcType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRš]scCs |jjƒS(N(R‡t GetSkillPer(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR›^scCs |jjƒS(N(R‡t GetSkillValue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRœ_scCs |jjƒS(N(R‡tGetHurtAtkPerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR`scCs |jjƒS(N(R‡t GetHappenRate(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRžascCs$t|jƒ|kr |j|SdS(Ni(R{Rˆ(RR-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRbscCs t|jƒS(N(R{Rˆ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRcsicCs|jj||fdƒS(N(R‰R#R(RR~R$((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetEffectByIDdscCs |jjƒS(N(R‡t GetConnSkill(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR escCs |jjƒS(N(R‡tGetCoolDownInit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¡fscCs |jjƒS(N(R‡tGetCoolDownTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¢gscCs |jjƒS(N(R‡tGetBuffStateLimit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR£hscCs |jjƒS(N(R‡tGetCurBuffState(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¤iscCs |jjƒS(N(R‡t GetLastTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¥jscCs |jjƒS(N(R‡tGetLastTimeType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¦kscCs |jjƒS(N(R‡t GetLayerCnt(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR§lscCs |jjƒS(N(R‡t GetLayerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¨mscCs |jjƒS(N(R‡t GetBuffRepeat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR©nscCs%|jjƒp$|jjƒtjkS(N(R‡tGetDispersedLimitR’RtDef_SkillType_Halo(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRªoscCs |jjƒS(N(R‡t GetBuffRetain(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¬pscCs |jjƒS(N(R‡t GetFightPower(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR­qs((RHRIRR    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­(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†:sL                                                                                                                                                 tPyBuffcBsCeZd„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"d!„Z#d"„Z$RS(#cCs‹tjƒjt|ƒ|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_i|_g|_dS(Ni(RlRmRrR†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.pyRus                                                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 |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.pyRE”scCs ||_dS(N(R²(RR4((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#(RR~((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#(RR~tvalueEx((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(RRT((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHaloObjID²s(%RHRIRR    RRR¤RªR¬R¼R¾R¿RÁRERÂ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®ssF                                                                                                                                        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(RlRmRãRnRäRåRæR²(RRoR ((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.pyRAÔ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²RlRmRrR®RÂRãRRäRå(RR*R R‹t skillTypeIDR4tbuffIDs((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äRFRãtremoveREt    GameWorldtErrLogRåR"RlRmRn(RR4RnR 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(RR4((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBuffscCs/tjd|ƒ}|sgS|j|jƒƒS(NRè(RéRêtFindBuffListBySkillTypeIDR (RR*R)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListBySkillIDscCs^||jkrgSg}x>|j|D]/}||jkrBq'n|j|j|ƒq'W|S(N(RåRäR(RRëtbuffsR4((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.pytFindBuffBySkillIDs cCs<|jj|gƒ}|sdS|d}|jj|dƒS(Ni(RæR#RäR(RtstateRòR4((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffByState"s
 
cCsY|jj|gƒ}g}x7|D]/}||jkr=q"n|j|j|ƒq"W|S(N(RæR#RäR(RRúRòR÷R4((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListByState)s cCsi||jkrg|j|<n|j|}||krH|j|ƒntjd|||jfƒdS(Ns&    AddBuffState state=%s,buffID=%s,%s(RæRRïtDebugLog(RRúR4Rò((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddBuffState3s  cCsw||jkrdS|j|}||kr0dS|j|ƒ|sV|jj|ƒntjd|||jfƒdS(Ns&    DelBuffState state=%s,buffID=%s,%s(RæRîRFRïRý(RRúR4Rò((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt DelBuffState=s   cCs ||jkS(N(Ræ(RRú((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt IsInBuffStateIscCs|jj|gƒS(N(RæR#(RRú((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStateBuffIDListJs(RHRIRR    RçR@RARíR„RóRôRöRõRùRûRüRþRÿRR(((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;d;„Z<e=d<„Z>d=„Z?d>„Z@d?„ZAd@„ZBe=dA„ZCdB„ZDdC„ZEdD„ZFdE„ZGdF„ZHdG„ZIdH„ZJdI„ZKdJ„ZLdK„ZMRS(LcCs¸||_tjƒjt|ƒ|_d|_d|_g|_g|_    g|_
g|_ g|_ g|_ d|_d|_g|_d|_d|_d|_i|_i|_dS(Ni(RLRlRmRrR†R¯Rµt_batTypet _tagObjListt _tagObjListExt _killObjListt_effIgnoreObjIDListt    _hurtListRSRt_bySkillt_byBufft_afterLogicListt_energyt _comboStatet    _comboNumt_missTagIDDictt_parryTagIDDict(RR‹RT((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRNs&                                                                    cCs|jƒdS(N(t ResetUseRec(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR    es
cCsVd|_g|_g|_g|_g|_d|_d|_g|_|j    ƒdS(Ni(
RRRRRRR    R
R t ClearHurtObj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRjs                                
cCs|jS(N(RL(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR
xscCs|jS(N(R¯(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRyscCs |jjƒS(N(R¯R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRzscCs |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 |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Ÿ(RR~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 |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(RRR(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(R R(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(RlRmRRqRnRS(RRoRtRp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¹s 
    
    cCsOtjƒjtƒ}|j|ƒ|r;|jj|ƒn|jj|ƒ|S(N(RlRmRrRJRURSRR(RRstisExRt((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(RS(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRvÑscCs|j|jS(N(RRS(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListAllÒscCs(d|_d|_i|_i|_dS(Ni(R RRR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __commboClearÔs
                cCs3|s|jdkrdSn|jƒd|_dS(Ni(R t_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#(RRs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagMissNumðscCs||j|<dS(N(R(RRstmissNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagMissNumñscCs|jj|dƒS(Ni(RR#(RRs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagParryNumòscCs||j|<dS(N(R(RRstparryNum((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(NRHRIRR    RR
RRR 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ËRRRRRRRRRR!R"R$R%R'R(R+RR…R-R.RvR/R1R3R4R5R6R8R9R;R<R>R?RA(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRLs–                                                                                                                                                                                                                                         
                                                     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(RlRmRCRnRD(RRoR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillResets          cCs t|jƒS(N(R{RC(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR7scCs |j|S(N(RC(RR-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR8scCst|jjƒƒS(N(tsortedRDtkeys(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillIDListscCs|jj|dƒS(N(RDR#R(RR*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs:d}x-|jD]"}|jƒ|kr|}PqqW|S(N(RRCR (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êRDR RJRt_SkillManager__deleteSkillRlRmRrRRRRCR(RR*R‹RëR:((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByIDs $ cCsX|jƒ}|jj|dƒ||jkrA|jj|ƒntjƒj|ƒdS(N(    RRDRFRRCRîRlRmRn(RR:R*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkill-s  ( RHRIRR    RER7R8RHRRJRLRK(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRBøs                                    tBatObjcBsheZd„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_d]„Z`d^„ZaRS(`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|_i|_tjƒj t!|ƒ|_"tjƒj t#|ƒ|_$tjƒj t%|ƒ|_&d|_'d|_(g|_)d|_*d|_+d|_,d|_-d|_.dS(Ntii(/ttfGUIDRÄRTtobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextjobtlvt
fightPowertfactiont    lineupNumtposNumt_hpt_xpR„t_isAlivet _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_bigTurnAtkbackCntt_incrementValuet_skillHappenFailCntDictt_skillUseCntDictt_skillTurnUseCntDictRlRmRrRBt    _skillMgrRât_buffMgrRt_passiveEffMgrt_lastHurtValuet _harmSelfHPt_mainTagIDListt_timingt_angerOverflowthurtStattdefStattcureStat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR8sR                                                                                                                                                    cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR    esicCsv||_i|_|jj|ƒ|jƒi|_|j|tƒ|jtƒtj    |dt
ƒt j |ƒdS(s¥³õʼ»¯Õ½¶·ÊôÐÔ
        @param initAttrDict: ÒѾ­ËãºÃµÄÔÚÕóÈÝÖеÄÊôÐÔ£¬°üº¬î¿°í¡¢ÕóÈÝÊôÐԵȣ¬Õ½¶·ÖÐÖ»Òª¼ÆËãbuffÊôÐÔ¼´¿É
        @param initXP: ³õʼ»¯µÄÅ­ÆøÖµ
        tisInitN( RbRctupdatet_BatObj__onUpdBatAttrRdtSetXPR…t    SetHPFulltTurnBufftRefreshBuffAttrR„t TurnPassivetRefreshPassive(Rt initAttrDicttinitXP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt InitBatAttris        
      cCsk||_t}|rDx,|D]!}|jj|ƒrt}qqWntj|ƒ|rg|jjƒndS(N(    RbR…RkRLR„R{R|RmR<(RRt skillIDListt learnNewSkillR*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytUpdInitBatAttrys      cCsš||j|<|tjkrd|j|tƒ||jƒkr–||jtj<|j|tƒq–n2|tjkr†|j    |tƒn|j
||ƒdS(N( RbRt    AttrID_HPtSetHPR„tGetMaxHPt AttrID_MaxHPtSetMaxHPt    AttrID_XPRytSetBatAttrValue(RtattrIDt    attrValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GMSetBatAttr†s cCs-i|_|jj|jƒ|jƒ|jS(N(RcRwRbRx(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetBattleEffect”s    
cCs|jS(N(RP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTFGUID›scCs ||_dS(N(RP(RRP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTFGUIDœscCstjƒj|jƒS(N(t
TurnAttacktGetTurnFightMgrt getTurnFightRP(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 getBatFactionR\t getBatlineupR](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(RT(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¤scCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetName¥scCs ||_dS(N(RQ(Rtname((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetName¦scCs|jS(N(RU(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetCountry§scCs ||_dS(N(RU(RRU((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetCountry¨scCs|jS(N(RV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkDistType©scCs ||_dS(N(RV(RRV((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistTypeªscCs|jS(N(RW(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialty«scCs ||_dS(N(RW(RRW((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialty¬scCs|jS(N(RX(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSex­scCs ||_dS(N(RX(RRX((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSex®scCs|jS(N(RY(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetJob¯scCs ||_dS(N(RY(RRY((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetJob°scCs|jS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNPCID±scCs ||_dS(N(RR(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNPCID²scCs|jS(N(RS(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHeroID³scCs|jS(N(RT(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSkinID´scCs||_||_dS(N(RSRT(RRSRT((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHeroµs    icCs||_||_dS(N(R^R](RR^R]((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPos¸s    cCs|jS(N(R](R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNum¾scCs|jS(N(R^(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNum¿scCs|jS(N(R\(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFactionÀscCs ||_dS(N(R\(RR\((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFactionÁ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.pyt SetFightPowerÃscCs|jS(N(RZ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLVÄscCs ||_dS(N(RZ(RRZ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLVÅscCs|jj|dƒS(Ni(ReR#(RR2((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetDictByKeyÆscCs||j|<dS(N(Re(RR2RÑ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDictÇscCs|jS(N(Rk(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.pyR?ÊscCs|jS(N(Rm(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…RlRR„(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étGetFuncEvalCfgtstrRlR(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(    RlRRtBatObjState_Sneert GetBatObjMgrRôt    getBatObjRÃRÉ(RRòtobjMgrR4R R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObjøs     cCs|jS(N(Ra(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÉscCst|_d|_dS(Ni(R…RaR_(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDead    s    cCst|_||_dS(N(R„RaR_(Rthp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetRevive s    cCst|jjtjdƒƒS(Ni(RºRcR#RRˆ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‡scCs<t|ƒ}||jtj<|r8t|tj|ƒndS(N(RºRcRRˆtNotifyObjInfoRefresh(RtmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰s
 cCs|jS(N(R_(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPscCs5t|ƒ}||_|r1t|tj|ƒndS(N(RºR_RÓ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.pyRzscCs|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.pyRys
     cCs|jtjƒS(N(tGetBatAttrValueRt
AttrID_Atk(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtk%scCs|jtjƒS(N(RÙRt
AttrID_Def(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetDef&scCs|jS(N(Rc(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBatAttrDict(scCsB|jj|dƒ}|r>||jkr>||j|7}n|S(Ni(RcR#Rd(RRŒt includeTempRÑ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÙ)scCs||j|<|jƒdS(N(RcRx(RRŒRÑ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‹0s 
cCs=x6tjgD](}t|jj|dƒƒ|j|<q WdS(Ni(RRˆRºRcR#(RRŒ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__onUpdBatAttr4s&cCs$|jj|dƒ||j|<dS(Ni(RdR#(RRŒRÑ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttr8scCs i|_dS(N(Rd(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttr<scCs|jj|dƒS(Ni(RhR#(RR*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillHappenFailCnt>scCsW|r@tj|tjƒ r@|jj|dƒd|j|<tS|jj|dƒtS(Nii(    Rït    CanHappenRtDef_MaxRateValueRhR#R…RFR„(RR*t
happenRate((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsSkillCanHappen?s
 cCs|jj|dƒS(Ni(RiR#(RR*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCntFscCs|jj|dƒS(Ni(RjR#(RR*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCntGscCs(i|_i|_i|_d|_dS(Ni(RhRiRjRg(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetSkillUseCntHs            cCsD|jj|dƒd|j|<|jj|dƒd|j|<dS(Nii(RiR#Rj(RR*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCntNs cCs|jS(N(Rf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBigTurnAtkbackCntRscCs|jd7_dS(Ni(Rf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBigTurnAtkbackCntSscCsd|_i|_dS(Ni(RfRj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt ResetBigTurnUs    cCs|jd7_|jS(Ni(Rg(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetIncrementValueZscCs|jS(N(Rn(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValue^scCs ||_dS(N(Rn(Rt lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValue_scCs|jS(N(Ro(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHarmSelfHPascCs ||_dS(N(Ro(Rt
harmSelfHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHarmSelfHPbscCs|jS(N(Rr(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAngerOverflowdscCs ||_dS(N(Rr(Rt angerOverflow((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAngerOverflowescCs|jS(N(Rp(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMainTagIDListgscCs ||_dS(N(Rp(Rt mainTagIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMainTagIDListhscCs|jS(N(Rq(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTimingjscCs ||_dS(N(Rq(Rttiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTimingkscCs|j|7_|jS(N(Rs(Rt    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValuemscCs|j|7_|jS(N(Rt(RRa((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValuerscCs|jS(N(Rt(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStatDefValuevscCs|j|7_|jS(N(Ru(Rt    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValuexsN(bRHRIRR    R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„RzR×RyRÛRÝRÞRÙR‹RxRáRâRãRçRèRéRêRëRìRíRîRïRðRòRóRõRöRøRùRûRüRþRRRR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRN5sº    -                                                                                                                                                                                                                                                                                                                                                   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.pyR€s            cCs¥x2|jr4|jjdƒ}||jkr|SqWd}|j|krVd|_nx;|j|kr“|jd7_|j|jkrY|jSqYWtjdƒdS(Nii †is__getNewObjID error.(RRFRRRïRð(RRTtmaxID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __getNewObjID†s    cCstd}|jƒ}|s|Stjƒjtƒ}||_||j|<tj    d|ƒt
rptddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si( Rt_BattleObjMgr__getNewObjIDRlRmRrRNRTRRï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(RRR…RN(RRTR((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(
RRFRTRïRýRlRmRnRR(RRTR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObj¬s     (RHRIRR RRÍR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR}s
                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RlRmRrt 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éRRRRlR}R{RRJRwR†R®RâRRBRNRRÌRRÓ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s.          È89C–¬=ÿIF