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
Á‘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„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|_d|_dS(Ni(t_objIDt
_hurtTypest_hurtHPt _realHurtHPt_lostHPt_curHPt_suckHPt    _bounceHP(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_dS(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 GetRealHurtHPscCs ||_dS(N(RM(Rt
realHurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetRealHurtHPscCs|jS(N(RN(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHPscCs ||_dS(N(RN(RtlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHP    scCs|jS(N(RO(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetCurHP
scCs ||_dS(N(RO(RtcurHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetCurHP scCs|jS(N(RP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSuckHP scCs ||_dS(N(RP(RtsuckHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetSuckHP scCs|jS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHPscCs ||_dS(N(RQ(RtbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHPs(RFRGRRRIR    RSRTRVRYRZR[R]R^R`RaRcRdRfRgRiRjRl(((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.pyRscCs|jS(N(Rn(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs$t|jƒ|kr |j|SdS(Ni(tlenRo(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValue scCs t|jƒS(N(RtRo(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCount!scCs|jS(N(Ro(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValues"scCs|jS(N(Rp(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.pyR$s(
RFRGRRRRuRvRwRR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRms                        t    SklllDatacBsOeZd„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%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_effDictR5tgetattrtObjPoolt
GetPoolMgrtacquireRmR(RtipyDatatnumRrRsR#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.pyR8scCs|jS(N(Ry(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyData<scCs |jjƒS(N(RyR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=scCs |jjƒS(N(RyR (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR >scCs |jjƒS(N(Ryt
GetSkillLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒ?scCs |jjƒS(N(Ryt GetSkillMaxLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR„@scCs |jjƒS(N(Ryt GetSkillName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…AscCs |jjƒS(N(Ryt GetFuncType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†BscCs |jjƒS(N(Ryt GetSkillType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‡CscCs |jjƒS(N(Ryt GetHurtType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆDscCs |jjƒS(N(Ryt
GetAtkType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰EscCs |jjƒS(N(Ryt    GetTagAim(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠFscCs |jjƒS(N(RytGetTagFriendly(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‹GscCs |jjƒS(N(Ryt
GetTagSelf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŒHscCs |jjƒS(N(Ryt GetTagAffect(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRIscCs |jjƒS(N(Ryt GetTagCount(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽJscCs |jjƒS(N(Ryt GetCalcType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRKscCs |jjƒS(N(Ryt GetSkillPer(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRLscCs |jjƒS(N(Ryt GetSkillValue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘MscCs |jjƒS(N(RytGetHurtAtkPerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’NscCs |jjƒS(N(Ryt GetHappenRate(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“OscCs$t|jƒ|kr |j|SdS(Ni(RtRz(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRPscCs t|jƒS(N(RtRz(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRQsicCs|jj||fdƒS(N(R{R"R(RRrR#((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetEffectByIDRscCs |jjƒS(N(Ryt GetConnSkill(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•SscCs |jjƒS(N(RytGetCoolDownInit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–TscCs |jjƒS(N(RytGetCoolDownTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—UscCs |jjƒS(N(RytGetBuffStateLimit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR˜VscCs |jjƒS(N(RytGetCurBuffState(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™WscCs |jjƒS(N(Ryt GetLastTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRšXscCs |jjƒS(N(Ryt GetLayerCnt(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR›YscCs |jjƒS(N(Ryt GetLayerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRœZscCs |jjƒS(N(Ryt GetBuffRepeat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR[scCs |jjƒS(N(RytGetDispersedLimit(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRž\scCs |jjƒS(N(Ryt GetFightPower(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŸ]s(&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Ÿ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRx'sH                                                                                                                                         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„ZRS(cCs‚tjƒjt|ƒ|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_i|_dS(Ni(R}R~RRxt
_skillDatat
_addTimingt _refreshStatet_buffIDt_ownerIDt_layert _remainTimet_value1t_value2t_value3t_isCopyt
_effExDict(RR€((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRas                                            cCsdS(N((R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRpscCs|jS(N(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.pyRuscCs|jS(N(R¢(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetAddTimingvscCs||_d|_dS(Ni(R¢R£(Rt    addTiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetAddTimingws    cCs|jS(N(R£(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetRefreshStatezscCs ||_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
SetOwnerIDscCs|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"(RRr((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"(RRrtvalueEx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddEffectValueEx–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Í(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR _s8                                                                                                            t BuffManagercBs›eZd„Zd„Zd„Zd„Zd„Zd„Zed„Z    d„Z
d„Z d    „Z d
„Z d „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(R}R~RÏtreleaseRÐRÑRÒR¤(RtpoolMgrR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    ClearBuffªs                     cCs t|jƒS(N(RtRÏ(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¤R}R~RR 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!R}R~RÓ(RR3RÓR 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ãðscCs<|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.pytFindBuffByStateús
 
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 DelBuffStates   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í(((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?„ZAd@„ZBdA„ZCdB„ZDdC„ZEdD„ZFdE„ZGRS(FcCs¦||_tjƒjt|ƒ|_d|_d|_g|_g|_    g|_
g|_ d|_ d|_g|_d|_d|_d|_i|_i|_dS(Ni(RJR}R~RRxR¡R§t_batTypet _tagObjListt _killObjListt_effIgnoreObjIDListt    _hurtListRt_bySkillt_byBufft_afterLogicListt_energyt _comboStatet    _comboNumt_missTagIDDictt_parryTagIDDict(RR€RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR&s"                                                            cCs|jƒdS(N(t ResetUseRec(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR;s
cCsMd|_g|_g|_g|_d|_d|_g|_|jƒdS(Ni(    RðRñRòRóRRõRöR÷t ClearHurtObj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRý@s                            
cCs|jS(N(RJ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR    MscCs|jS(N(R¡(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR NscCs |jjƒS(N(R¡R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyROscCs |jjƒS(N(R¡R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR PscCs |jjƒS(N(R¡Rƒ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒQscCs |jjƒS(N(R¡R„(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR„RscCs |jjƒS(N(R¡R…(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…SscCs |jjƒS(N(R¡R†(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†TscCs |jjƒS(N(R¡R‡(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‡UscCs |jjƒS(N(R¡Rˆ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆVscCs |jjƒS(N(R¡R‰(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰WscCs |jjƒS(N(R¡RŠ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠXscCs |jjƒS(N(R¡R‹(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‹YscCs |jjƒS(N(R¡RŒ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŒZscCs |jjƒS(N(R¡R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR[scCs |jjƒS(N(R¡RŽ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽ\scCs |jjƒS(N(R¡R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR]scCs |jjƒS(N(R¡R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR^scCs |jjƒS(N(R¡R‘(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘_scCs |jjƒS(N(R¡R’(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’`scCs |jjƒS(N(R¡R“(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“ascCs|jj|ƒS(N(R¡R(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRbscCs |jjƒS(N(R¡R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRcsicCs|jj||ƒS(N(R¡R”(RRrR#((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”dscCs |jjƒS(N(R¡R•(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•escCs |jjƒS(N(R¡R–(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–fscCs |jjƒS(N(R¡R—(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—gscCs |jjƒS(N(R¡R˜(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR˜hscCs |jjƒS(N(R¡R™(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™iscCs |jjƒS(N(R¡Rš(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRšjscCs |jjƒS(N(R¡R›(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR›kscCs |jjƒS(N(R¡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.pyRmscCs |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|jS(N(R§(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRºrscCs ||_dS(N(R§(RR»((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¼sscCs|jS(N(Rð(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBatTypetscCs ||_dS(N(Rð(RtbatType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetBatTypeuscCs|jS(N(Rõ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBySkillvscCs ||_dS(N(Rõ(RtbySkill((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetBySkillwscCs|jS(N(Rö(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetByBuffxscCs ||_dS(N(Rö(RtbyBuff((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetByBuffyscCs|jS(N(Rñ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagObjListzscCs ||_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.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.pytSetEffIgnoreObjIDListscCs|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scCs:tjƒ}x|jD]}|j|ƒqWg|_dS(N(R}R~RôRÓ(RRÔthurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRþˆs
     cCs6tjƒjtƒ}|j|ƒ|jj|ƒ|S(N(R}R~RRHRSRôR(RttagIDR((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(d|_d|_i|_i|_dS(Ni(RùRúRûRü(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(RûR"(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagMissNum³scCs||j|<dS(N(Rû(RRtmissNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagMissNum´scCs|jj|dƒS(Ni(RüR"(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagParryNumµscCs||j|<dS(N(Rü(RRtparryNum((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(HRFRGRRRý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ÿRRRRRRR
R R RRRRRþRRRtFalseRRRRR!R"R$R%R'R(R*(((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(R}R~R-RÓR.(RRÔR
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillResetÉs          cCs t|jƒS(N(RtR-(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR6ÑscCs |j|S(N(R-(RR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR7ÒscCst|jjƒƒS(N(tsortedR.tkeys(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillIDListÓscCs|jj|dƒS(N(R.R"R(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÔscCs: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.pytFindSkillByTypeIDÕs 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 R4Rt_SkillManager__deleteSkillR}R~RRï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ÜR}R~RÓ(RR9R)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkillðs  ( RFRGRRR/R6R7R2RR4R6R5(((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_skillTurnUseCntDictR}R~RR,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.pyR$sicCsp||_i|_|jj|ƒ|jƒi|_|j|tƒ|jtƒtj    |ƒt
j |ƒdS(s¥³õʼ»¯Õ½¶·ÊôÐÔ
        @param initAttrDict: ÒѾ­ËãºÃµÄÔÚÕóÈÝÖеÄÊôÐÔ£¬°üº¬î¿°í¡¢ÕóÈÝÊôÐԵȣ¬Õ½¶·ÖÐÖ»Òª¼ÆËãbuffÊôÐÔ¼´¿É
        @param initXP: ³õʼ»¯µÄÅ­ÆøÖµ
        N( RLRMtupdatet_BatObj__onUpdBatAttrRNtSetXPR+t    SetHPFulltTurnBufftRefreshBuffAttrt TurnPassivetRefreshPassive(Rt initAttrDicttinitXP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt InitBatAttr(s        
       cCsk||_t}|rDx,|D]!}|jj|ƒrt}qqWntj|ƒ|rg|jjƒndS(N(    RLR+RRR6RîR`RaRTR;(RRdt skillIDListt learnNewSkillR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytUpdInitBatAttr8s      cCsš||j|<|tjkrd|j|tƒ||jƒkr–||jtj<|j|tƒq–n2|tjkr†|j    |tƒn|j
||ƒdS(N( RLRt    AttrID_HPtSetHPRîtGetMaxHPt AttrID_MaxHPtSetMaxHPt    AttrID_XPR^tSetBatAttrValue(RtattrIDt    attrValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GMSetBatAttrEs cCs-i|_|jj|jƒ|jƒ|jS(N(RMR\RLR](R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetBattleEffectSs    
cCs|jS(N(R:(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTFGUIDYscCs ||_dS(N(R:(RR:((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTFGUIDZscCstjƒj|jƒS(N(t
TurnAttacktGetTurnFightMgrt getTurnFightR:(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTurnFight[scCs.|jƒ}|j|jƒ}|j|jƒS(N(Rzt getBatFactionRFt getBatlineupRG(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¶ascCs|jS(N(RR(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.pytGetNamecscCs ||_dS(N(R;(Rtname((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNamedscCs|jS(N(R?(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetCountryescCs ||_dS(N(R?(RR?((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetCountryfscCs|jS(N(R@(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkDistTypegscCs ||_dS(N(R@(RR@((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistTypehscCs|jS(N(RA(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialtyiscCs ||_dS(N(RA(RRA((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialtyjscCs|jS(N(RB(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSexkscCs ||_dS(N(RB(RRB((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSexlscCs|jS(N(RC(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetJobmscCs ||_dS(N(RC(RRC((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetJobnscCs|jS(N(R<(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNPCIDoscCs ||_dS(N(R<(RR<((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNPCIDpscCs|jS(N(R=(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHeroIDqscCs|jS(N(R>(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSkinIDrscCs||_||_dS(N(R=R>(RR=R>((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHeross    icCs||_||_dS(N(RHRG(RRHRG((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPosvs    cCs|jS(N(RG(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNum|scCs|jS(N(RH(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNum}scCs|jS(N(RF(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFaction~scCs ||_dS(N(RF(RRF((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFactionscCs|jS(N(RE(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŸ€scCs ||_dS(N(RE(RRE((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetFightPowerscCs|jS(N(RD(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLV‚scCs ||_dS(N(RD(RRD((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLVƒscCs|jj|dƒS(Ni(ROR"(RR1((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetDictByKey„scCs||j|<dS(N(RO(RR1RÂ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDict…scCs|jS(N(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‡scCs|jS(N(RS(R((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.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+RSRì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×tGetFuncEvalCfgtstrRSRì(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(    RSRíRtBatObjState_Sneert GetBatObjMgrRât    getBatObjR´R®(RRàtobjMgrR3R ttagObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObj¶s     cCs|jS(N(RK(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR®ÆscCst|_d|_dS(Ni(R+RKRI(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDeadÇs    cCst|jjtjdƒƒS(Ni(RŸRMR"RRm(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRlÊscCs<t|ƒ}||jtj<|r8t|tj|ƒndS(N(RŸRMRRmtNotifyObjInfoRefresh(RtmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRnËs
 cCs|jS(N(RI(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPÑscCs5t|ƒ}||_|r1t|tj|ƒndS(N(RŸRIR·RRj(RthpR¹((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRkÒs
     cCs|j|jƒ|ƒdS(N(RkRl(RR¹((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR_ØscCs|jS(N(RJ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetXPÙscCs5t|ƒ}||_|r1t|tj|ƒndS(N(RŸRJR·RRo(RtxpR¹((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR^Ús
     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(RM(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBatAttrDictãscCsB|jj|dƒ}|r>||jkr>||j|7}n|S(Ni(RMR"RN(RRqt includeTempRÂ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¾äscCs||j|<|jƒdS(N(RMR](RRqRÂ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRpës 
cCs=x6tjgD](}t|jj|dƒƒ|j|<q WdS(Ni(RRmRŸRMR"(RRq((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__onUpdBatAttrïs&cCs$|jj|dƒ||j|<dS(Ni(RNR"(RRqRÂ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttróscCs i|_dS(N(RN(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttr÷scCs|jj|dƒS(Ni(RPR"(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCntùscCs|jj|dƒS(Ni(RQR"(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCntúscCs i|_dS(N(RQ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetSkillTurnUseCntûscCsi|_i|_dS(N(RPRQ(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(RPR"RQ(RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCnts cCs|jS(N(RU(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValuescCs ||_dS(N(RU(Rt lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValuescCs|jS(N(RV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHarmSelfHPscCs ||_dS(N(RV(Rt
harmSelfHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHarmSelfHPscCs|jS(N(RW(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMainTagIDList
scCs ||_dS(N(RW(Rt mainTagIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMainTagIDList scCs|jS(N(RX(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTiming scCs ||_dS(N(RX(Rttiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTimingscCs|j|7_|jS(N(RY(Rt    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValuescCs|j|7_|jS(N(RZ(RRb((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValuescCs|jS(N(RZ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStatDefValuescCs|j|7_|jS(N(R[(Rt    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValuesN(ZRFRGRRRfRRiRsRtRuRvRzRR´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¶RlR+RnRºRkRîR_R¼R^RÀRÂRÃR¾RpR]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.pyR8ø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.pyR#s            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 __getNewObjID)s    cCstd}|jƒ}|s|Stjƒjtƒ}||_||j|<tj    d|ƒt
rptddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si( Rt_BattleObjMgr__getNewObjIDR}R~RR8RRRâRÝRéR+(Rt    newBatObjtnewObjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    addBatObj9s      cCsAd}||jkr%|j|}ntr=tddƒ}n|S(Ni(RRâR+R8(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR²Gs cCs‚||jkrdS|jj|ƒ}|s/dS|j}tjd|ƒtjƒj|ƒ||jkr~|jj    |ƒndS(Ns»ØÊÕÕ½¶·µ¥Î»: objID=%s(
RâRDRRRÝRéR}R~RÓRáR(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObjOs     (RFRGRRåRèR²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±fs
         cCs!tjdttƒjƒƒdS(NsÕ½¶·µ¥Î»ÊýÁ¿: %s(RÝtLogRtR±Râ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytOnMinutemscCsÇ|tjkrdStj|\}}tjƒj|jƒƒ}|sKdStjƒjt    j
ƒ}|j ƒ|_ ||_ |r¤|tj|_|tj|_n||_d|_|j|ƒdS(Ni(RtCDBRefresh_AttrIDDictRwRxRyRuR}R~Rt ChNetSendPackttagObjInfoRefreshRtObjIDt RefreshTypet ShareDefinetDef_PerPointValuetValuetValueExt
addBatPack(RRqRÂt refreshTypetisBigR}t
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR·qs              (RÝRêRwR×RðRôRR}RbR`RRHRmRxR RÎRïR,R8RßR±RîR·(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s.          Å.89Œ—=ÿ)F