tlk
2026-01-08 f3eee5165d2ec3eaabc3e979dc1c087a1bf1c1a5
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
145
146
147
148
149
150
151
152
<]Kic@sIddlZddlZddlZddlZddlZddlZddlZddlZddlZdfd„ƒYZ    dfd„ƒYZ
dfd„ƒYZ dfd    „ƒYZ d
fd „ƒYZ d fd „ƒYZdfd„ƒYZdfd„ƒYZdfd„ƒYZdfd„ƒYZd„Zd„Zd„ZdS(iÿÿÿÿNtPassiveEffManagercBsYeZd„Zd„Zd    dd    d„Zd„Zd„Zd„Zd„Z    d„Z
RS(
cCsp||_|r|jƒnd|_g|_d|_i|_i|_g|_i|_    i|_
g|_ dS(Ni( t_batObjtGetIDt_objIDt _skillIDListtNonet noDeadSkillt_AffectSkillDictt_affectSkillEnhanceDictt_skillTriggerWayListt_AffectBuffDictt_buffSkillIDDictt_buffTriggerWayList(tselftbatObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__init__ s                                    cCs d|_dS(N(RR(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    onRelease1s    ic Cs7g}|rãt|tjƒ rã|j|jƒkrã|jƒ|jkrã|jƒ}||jkr˜i}xt|j    ƒƒD]î}|j
|ƒ}    |    j ƒ}
|
dkr°q}n|    j ƒ} |    j ƒ} | sÔq}n| tjkréq}n| tjkrþq}n| tjkr d| |
f} n| | f} | |krEg|| <n|| }|
|kr}|j|
ƒq}q}W||j|<tjd|j||ƒn|tjf} |j|}| |krã|jd|d|| gƒqãn||jkr||jkr|S|s8|r |jƒ}q8|r8|jƒ}q8n|rI|tjtjtjtjgkrI||f} | |jkrÃ|j| }x6|jƒD]%\}}|jd|d|gƒq—Wn||f} | |jkrI|j| }xX|jƒD]G\}}||jkr |j|nd}|jd|||gƒqøWqIn|tjf} | |jkr­|j| }x6|jƒD]%\}}|jd|d|gƒqWn|tjf} | |jkr3|j| }xX|jƒD]G\}}||jkr |j|nd}|jd|||gƒqåWn|S(s×»ñÈ¡¿É´¥·¢µÄЧ¹ûÁÐ±í£¬¼¼Äܸúbuff¸ù¾Ý´¥·¢ÓÅÏȼ¶°´Ë³Ðò´¥·¢£¬ÓÅÏȼ¶Ô½¸ßÔ½ÏÈÖ´ÐУ¬Ïàͬʱ¼¼ÄÜÓÅÏÈ
                        ÓÅÏȼ¶Ö®ºóÓÐÐèÒªÔÙÀ©Õ¹
        @return: [["skill/buff", skillID, buffID, effIDList], ...]
        is%s_%ss(¼ÓÔØÎ´Ñ§¼¼Äܱ»¶¯: objID=%s,skillID=%s,%stskilltbuff(t
isinstancet IpyGameDataPYt    IPY_SkillRtGetObjIDt
GetSkillIDRRtxrangetGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayt GetTriggerSrctChConfigtTriggerWayNoLoadListtTriggerSrc_SkillSelftTriggerWay_CalcEffValuetappendt    GameWorldt
DebugLogExR    R tGetSkillTypeIDtTriggerSrc_SkilltTriggerSrc_BufftTriggerSrc_BuffSelfRtitemsR
R (R t
triggerWayt    connSkilltconnSkillTypeIDtconnBuffteffListtskillIDteffDicttindexteffectteffectIDttWayttSrctkeyt    effIDListtbuffID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffByTrigger6s€.        
    #*     "#   " cCsëi|_g|_|jjƒ}xÀtd|jƒƒD]©}|j|ƒ}|sXq7n|jƒ}||jkr†|jj    |ƒnxWt
|j ƒƒD]C}|j |ƒ}|j ƒ}|dkrÌq™n|j||ƒq™Wq7W|jS(Ni(RR    RtGetSkillManagertranget GetSkillCounttGetSkillByIndexRRR"RRRRtAddSkillPassiveEffect(R t skillManagerR1tcurSkillR/t    curEffectR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshSkillPassiveEffects"           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 |ƒ||j kr!|j j |ƒn|tj kr<||_ndS(Ns%s_%s(RRRRtGetTriggerBuffEnableRRR!R R%RR"R    tTriggerWay_NoDeadR(    R R@R2R*t
triggerSrcR/R3R6R0((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR>£s4          cCsÉi|_g|_|jjƒ}xžt|jƒƒD]Š}|j|ƒ}|sUq4n|jƒ}xZt|j    ƒƒD]F}|j
|ƒ}|j ƒ}|dkr§qtn|j |||ƒqtWq4W|jS(Ni( R
R RtGetBuffManagerR;t GetBuffCounttGetBuffByIndext GetSkillDataRRRRtAddBuffPassiveEffect(R tbuffMgrR1Rt    skillDataRAR3((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshBuffPassiveEffectÈs           c CsM|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 |<||jkrI|jj |ƒndS(sÖÌí¼ÓBuff±»¶¯Ð§¹û
                            Í¬¸öbuffµÄ¼¼ÄÜIDÈç¹ûµþ¼Ó¹æÔòÊǶÀÁ¢µÄ£¬ÄÇô¿ÉÄÜͬʱ´æÔÚ¶à¸öÏàͬ¼¼ÄÜЧ¹ûµÄbuff
                            Èç¹û´¥·¢Ð§¹û£¬¾ÍÒª´¥·¢¶à´Î£¬ËùÒÔbuffµÄЧ¹ûÒÔbuffIDΪkey
        Ns%s_%s(RRRRRCt    GetBuffIDRR!R(R%R
R"RR R ( R RRLR2R*RER8R3R6R0R7((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRJÛs6         
 cCsÜxÕ|jjƒD]Ä\}}||kr.qn|jj|dƒ|j|ƒ|s|jj|ƒ|d}t}x1|jjƒD] }||dkr„t}Pq„q„W| rÔ||jkrÔ|jj|ƒqÔqqWdS(Ni(    R
R)R tpoptFalsetkeystTrueR tremove(R R8R6R0R*t
hasTriggertk((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffPassiveEffects   
N( t__name__t
__module__RRRR9RBR>RMRJRV(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRs        W        %        &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.pyRs
cCsdS(N((R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCsLd|_d|_d|_d|_d|_d|_d|_g|_dS(Ni(Rt
_hurtTypest_hurtHPt_lostHPt_curHPt_suckHPt    _bounceHPt _hurtListEx(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRZ s                                cCs|jS(N(R(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR+scCs ||_dS(N(R(R tobjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetObjID,scCs|jS(N(R[(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHurtTypes-scCs ||_dS(N(R[(R t    hurtTypes((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHurtTypes.scCs|jtd|ƒO_|jS(Ni(R[tpow(R thurtType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtType/scCs|jtd|ƒ@S(Ni(R[Rg(R Rh((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt HaveHurtType3scCs|jS(N(R\(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHurtHP6scCs ||_dS(N(R\(R thurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHurtHP7scCs|jS(N(R](R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHP8scCs ||_dS(N(R](R tlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHP9scCs|jS(N(R^(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetCurHP:scCs ||_dS(N(R^(R tcurHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetCurHP;scCs|jS(N(R_(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSuckHP<scCs ||_dS(N(R_(R tsuckHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetSuckHP=scCs|jS(N(R`(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHP>scCs ||_dS(N(R`(R tbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHP?scCs g|_dS(N(Ra(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearHurtObjEx@s    cCs*tƒ}|j|ƒ|jj|ƒ|S(N(RYRcRaR"(R ttagIDthurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtObjExCs     cCs|jS(N(Ra(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListExHs(RWRXRRRZRRcRdRfRiRjRkRmRnRpRqRsRtRvRwRyRzR}R~(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRYs,                                                                                     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(R teffIDtvaluesR*t triggerSrcs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRLs             %%cCsdS(N((R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRUscCs|jS(N(R€(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRYscCs$t|jƒ|kr |j|SdS(Ni(RƒR(R R1((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueZscCs t|jƒS(N(RƒR(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCount[scCs|jS(N(R(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValues\scCs|jS(N(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^scCs3|jƒtjtjgkr"tS|jr/tStS(N(RRR'R(RRR…RP(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRC_s
    ( RWRXRRRR‰RŠR‹RRRC(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRJs                                t    SklllDatacBsseZd„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)RS()cCsÿ||_|jjƒ|_|jjƒ|_|jjƒ|_g|_i|_x§t    ddƒD]–}t
|d|ƒƒ}t
|d|ƒƒ}t
|d|ƒƒ}t
|d|ƒƒ}t ||||ƒ}|jj |ƒ||j||f<qaWdS(Niis GetEffectID%ssGetEffectValues%ssGetTriggerWay%ssGetTriggerSrc%si( t_ipyDataRt_skillIDR%t _skillTypeIDtGetCoolDownTimet_cdTimet_effListt_effDictR;tgetattrRR"(R tipyDatatnumR†R‡R*RER2((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRhs            cCsdS(N((R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRyscCsdS(Ni((R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR}scCsdS(Niÿÿÿÿ((R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBatType~scCs|jS(N(R(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyDatascCs|jS(N(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 |jjƒS(N(Rt
GetSkillLV(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™‚scCs |jjƒS(N(Rt GetSkillMaxLV(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRšƒscCs |jjƒS(N(Rt GetSkillName(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR›„scCs |jjƒS(N(Rt GetFuncType(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRœ…scCs |jjƒS(N(Rt GetSkillType(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†scCs |jjƒS(N(Rt GetHurtType(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRž‡scCs |jjƒS(N(Rt
GetAtkType(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŸˆscCs |jjƒS(N(Rt    GetTagAim(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR ‰scCs |jjƒS(N(RtGetTagFriendly(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¡ŠscCs |jjƒS(N(Rt
GetTagSelf(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¢‹scCs |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©’scCs |j|S(N(R’(R R1((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“scCs t|jƒS(N(RƒR’(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”sicCs*||f|jkr&|j||fSdS(N(R“(R R†R*((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetEffectByID•scCs |jjƒS(N(Rt GetConnSkill(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR«˜scCs |jjƒS(N(RtGetCoolDownInit(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¬™scCs|jS(N(R‘(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRšscCs |jjƒS(N(RtGetBuffStateLimit(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR­›scCs |jjƒS(N(RtGetCurBuffState(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR®œscCs |jjƒS(N(Rt GetLastTime(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¯scCs |jjƒS(N(RtGetLastTimeType(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR°žscCs |jjƒS(N(Rt GetLayerCnt(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR±ŸscCs |jjƒS(N(Rt GetLayerMax(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR² scCs |jjƒS(N(Rt GetBuffRepeat(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR³¡scCs%|jjƒp$|jjƒtjkS(N(RtGetDispersedLimitRRtDef_SkillType_Halo(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR´¢scCs |jjƒS(N(Rt GetBuffRetain(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¶£scCs |jjƒS(N(Rt GetFightPower(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR·¤s(*RWRXRRRR—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ŒfsP                                                                                                                                                         tPyBuffcBsFeZd„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„Zdd„Z d „Z!d!„Z"d"„Z#d#„Z$RS($cCs£t|ƒ|_|jjƒ|_|jjƒ|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_i|_g|_dS(Ni(RŒt
_skillDataRRŽR%Rt
_addTimingt _refreshStatet_buffIDt_ownerIDt_layert _remainTimet_value1t_value2t_value3t_isCopyt
_effExDictt_haloObjIDList(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ºscCs|jS(N(R¹(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRI¾scCs|jS(N(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 |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»(R t    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»(R t 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.pyRNÊscCs ||_dS(N(R¼(R R8((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½(R townerID((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¾(R tlayer((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¿(R t
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(R t    valueListR1tvalue((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À(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    GetValue2ÜscCs ||_dS(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    GetValue3ÞscCs ||_dS(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    GetIsCopyàscCs ||_dS(N(RÃ(R tisCopy((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetIsCopyáscCs i|_dS(N(RÄ(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetEffectValueExâsicCs0|jj||fdƒ||j||f<dS(Ni(RÄtget(R R†tvalueExtcalcType((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Å(R t haloObjIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHaloObjIDListæscCs&||jkr"|jj|ƒndS(N(RÅR"(R Rb((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHaloObjIDçs(%RWRXRRRIRR%R®R´R¶RÆRÈRÉRËRNRÌ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¸¦sF                                                                                                                                     t BuffManagercBsªeZd„Zd„Zd„Zd„Zd„Zd„Zed„Z    d„Z
d„Z d    „Z d
d „Z d
d „Zd „Zd„Zd„Zd„Zd„ZRS(cCs:||_g|_i|_i|_i|_d|_dS(Ni(Rt    _buffListt _buffIDDictt_skillTypeIDBuffIDst_buffStateDictR¼(R R((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    cCs1g|_i|_i|_i|_d|_dS(Ni(RîRïRðRñR¼(R ((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.pyRGscCs$t|jƒ|kr |j|SdS(N(RƒRîR(R R1((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRHscCsÈd}tjd|ƒ}|s"|S|jƒ}|jd7_|j}t|ƒ}|j|ƒ|jj|ƒ||j    |<||j
kr›g|j
|<n|j
|}||krÄ|j|ƒn|S(NtSkilli( RRtGetIpyGameDataR%R¼R¸RÌRîR"RïRð(R R/RR•t skillTypeIDR8tbuffIDs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBuffs"          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·WdS(Niÿÿÿÿs2ɾ³ýbuffÒì³£²»ÔÚÁбíÀï! buffID=%s,lBuff=%s,buff=%s(    RïRORîRSRNR#tErrLogRðR)(R R8treleaseRtlBuffRõt
buffIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffs"!  cCs||jkr|j|SdS(N(Rï(R R8((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBuff7scCs/tjd|ƒ}|sgS|j|jƒƒS(NRó(RRôtFindBuffListBySkillTypeIDR%(R R/RL((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"(R RõtbuffsR8((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Í(R R/RÎtbuffListR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffBySkillIDJs cCs¤||jkrdS|j|}|s*dS|r|xm|D]>}||jkrRq7n|j|}|jƒ|kr7|Sq7Wn$|d}||jkr |j|SdS(Ni(RñRïRÍ(R tstateRÎRûR8R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffByStateTs    
cCsd||jkrgS|j|}g}x7|D]/}||jkrHq-n|j|j|ƒq-W|S(N(RñRïR"(R RRûRR8((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListByStategs  cCse||jkrg|j|<n|j|}||krH|j|ƒntjd|||jƒdS(Ns&    AddBuffState state=%s,buffID=%s,%s(RñR"R#R$(R RR8Rû((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddBuffStatess  cCss||jkrdS|j|}||kr0dS|j|ƒ|sV|jj|ƒntjd|||jƒdS(Ns&    DelBuffState state=%s,buffID=%s,%s(RñRSROR#R$(R RR8Rû((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt DelBuffState}s   cCs ||jkS(N(Rñ(R R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt IsInBuffState‰scCs||jkr|j|SgS(N(Rñ(R R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStateBuffIDListŠs (RWRXRRRòRGRHR÷RRRüRýRÿRþRRRRRRR    (((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<d<„Z=d=„Z>e?d>„Z@d?„ZAd@„ZBdA„ZCdB„ZDe?dC„ZEdD„ZFdE„ZGdF„ZHdG„ZIdH„ZJdI„ZKdJ„ZLdK„ZMdL„ZNdM„ZORS(NcCsë||_t|ƒ|_|jjƒ|_|jjƒ|_|jjƒ|_d|_    d|_
g|_ g|_ g|_ g|_g|_g|_d|_d|_d|_g|_d|_d|_d|_i|_i|_dS(Ni(RRŒR¹RRŽR%RRR‘R¿t_batTypet _tagObjListt _tagObjListExt _killObjListt_effIgnoreObjIDListt    _hurtListRaRt_bySkillt_byBufft _byTriggerWayt_afterLogicListt_energyt _comboStatet    _comboNumt_missTagIDDictt_parryTagIDDict(R R•Rb((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
cCs_d|_g|_g|_g|_g|_d|_d|_d|_g|_    |j
ƒdS(Ni( R R R RRRRRRRt ClearHurtObj(R ((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.pyRÀscCs|jS(N(R¹(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRIÁscCs|jS(N(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 |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 R1((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ª(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 |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¿(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 (R tbatType((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(R tbySkill((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(R tbyBuff((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.pytGetByTriggerWayïscCs ||_dS(N(R(R t byTriggerWay((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetByTriggerWayðscCs|jS(N(R (R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagObjListñscCs ||_dS(N(R (R t
tagObjList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagObjListòscCs|jS(N(R (R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagObjListExóscCs5||jkr1||jkr1|jj|ƒndS(N(R R R"(R ttagObj((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(R t 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(R teffIgnoreObjIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetEffIgnoreObjIDListúscCs|jS(N(R(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAfterLogicListûscCs|jj||gƒdS(ssÌí¼Ó¼¼ÄÜÊͷźóÐèÒª´¦Àí¶îÍâÂß¼­
        @param logicType: Âß¼­ÀàÐÍ
        @param logicData: Âß¼­¶ÔÓ¦µÄÊý¾Ý
        N(RR"(R t    logicTypet    logicData((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddAfterLogicüscCsRx|jD]}|jƒq
Wg|_x|jD]}|jƒq1Wg|_dS(N(RRzRa(R R|t    hurtObjEx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRs        cCsCtƒ}|j|ƒ|r/|jj|ƒn|jj|ƒ|S(N(RYRcRaR"R(R R{tisExR|((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.pytGetHurtObjListscCs|jS(N(Ra(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR~scCs|j|jS(N(RRa(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListAllscCs(d|_d|_i|_i|_dS(Ni(RRRR(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __commboClears
                cCs3|s|jdkrdSn|jƒd|_dS(Ni(Rt_PySkill__commboClear(R tforce((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.pytComboInterrupt0s    cCs|jS(N(R(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetComboNum5scCs ||_dS(N(R(R tcomboNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetComboNum6scCs|jj|dƒS(Ni(RRä(R R{((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagMissNum7scCs||j|<dS(N(R(R R{tmissNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagMissNum8scCs|jj|dƒS(Ni(RRä(R R{((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagParryNum9scCs||j|<dS(N(R(R R{tparryNum((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(R tenergy((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetEnergy=s(PRWRXRRRRRIRR%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ÕR—RRR R!R#R$R&R'R)R*R,R-R/R0R2R3R6RRPR9R:R~R;R=R?R@RARBRDRERGRHRJRKRM(((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(R R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRBs            cCs d|_dS(N(RR(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRHs    cCsg|_i|_dS(N(RORP(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillResetMs        cCs t|jƒS(N(RƒRO(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR<RscCs |j|S(N(RO(R R1((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=SscCst|jjƒƒS(N(tsortedRPRQ(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillIDListTscCs||jkr|j|SdS(N(RP(R R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt FindSkillByIDUscCs:d}x-|jD]"}|jƒ|kr|}PqqW|S(N(RROR%(R RõRts((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindSkillByTypeIDXs cCs¯tjd|ƒ}|sdS||jkr/dS|jƒ}|j|ƒ}|rv|jƒ|krfdS|j|ƒnt||jj    ƒƒ}||j|<|j
j |ƒ|S(NRó( RRôRPR%RVRt_SkillManager__deleteSkillR
RRROR"(R R/R•RõR@((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByID`s  cCsE|jƒ}|jj|dƒ||jkrA|jj|ƒndS(N(RRPRORRORS(R R@R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkillss
 ( RWRXRRRQR<R=RSRTRVRXRW(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRN?s                                    tBatObjcBseZd„Zd„Zdd„Zdcd„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„Z9dcd9„Z:d:„Z;d;„Z<d<„Z=e>d=„Z?d>„Z@e>d?„ZAeBd@„ZCdA„ZDeBdB„ZEdC„ZFdD„ZGdE„ZHeBdF„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^„Zad_„Zbd`„Zcda„Zddb„ZeRS(dcCsd|_d|_||_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_t|_d|_i|_i|_i|_i|_d|_d|_i|_i|_i|_ t!|ƒ|_"t#|ƒ|_$t%|ƒ|_&d|_'d|_(g|_)d|_*d|_+d|_,d|_-d|_.dS(Ntii(/ttfGUIDRÎRbtobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextjobtlvt_start
fightPowertfactiont    lineupNumtposNumt_hpt_xpRRt_isAliveRt_killert _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_bigTurnAtkbackCntt_incrementValuet_skillHappenFailCntDictt_skillUseCntDictt_skillTurnUseCntDictRNt    _skillMgrRít_buffMgrRt_passiveEffMgrt_lastHurtValuet _harmSelfHPt_mainTagIDListt_timingt_angerOverflowthurtStattdefStattcureStat(R Rb((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR}sV                                                                                                                                                            cCsdS(N((R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¬sicCsv||_i|_|jj|ƒ|jƒi|_|j|tƒ|jtƒtj    |dt
ƒt j |ƒdS(s¥³õʼ»¯Õ½¶·ÊôÐÔ
        @param initAttrDict: ÒѾ­ËãºÃµÄÔÚÕóÈÝÖеÄÊôÐÔ£¬°üº¬î¿°í¡¢ÕóÈÝÊôÐԵȣ¬Õ½¶·ÖÐÖ»Òª¼ÆËãbuffÊôÐÔ¼´¿É
        @param initXP: ³õʼ»¯µÄÅ­ÆøÖµ
        tisInitN( RpRqtupdatet_BatObj__onUpdBatAttrRrtSetXPRPt    SetHPFulltTurnBufftRefreshBuffAttrRRt TurnPassivetRefreshPassive(R t 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(    RpRPRyRXRRR‰RŠR{RB(R Rt skillIDListt learnNewSkillR/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytUpdInitBatAttrÀs      cCsš||j|<|tjkrd|j|tƒ||jƒkr–||jtj<|j|tƒq–n2|tjkr†|j    |tƒn|j
||ƒdS(N( RpRt    AttrID_HPtSetHPRRtGetMaxHPt AttrID_MaxHPtSetMaxHPt    AttrID_XPR‡tSetBatAttrValue(R tattrIDt    attrValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GMSetBatAttrÍs cCs-i|_|jj|jƒ|jƒ|jS(N(RqR…RpR†(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetBattleEffectÛs    
cCs|jS(N(R\(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTFGUIDâscCs ||_dS(N(R\(R R\((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTFGUIDãscCstjƒ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(R£t getBatFactionRit getBatlineupRj(R t    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Î(R RÎ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÏêscCs|jS(N(Rb(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.pytGetNameìscCs ||_dS(N(R](R tname((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNameíscCs|jS(N(Ra(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetCountryîscCs ||_dS(N(Ra(R Ra((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetCountryïscCs|jS(N(Rb(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkDistTypeðscCs ||_dS(N(Rb(R Rb((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistTypeñscCs|jS(N(Rc(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialtyòscCs ||_dS(N(Rc(R Rc((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialtyóscCs|jS(N(Rd(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSexôscCs ||_dS(N(Rd(R Rd((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSexõscCs|jS(N(Re(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetJoböscCs ||_dS(N(Re(R Re((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetJob÷scCs|jS(N(R^(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNPCIDøscCs ||_dS(N(R^(R R^((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNPCIDùscCs|jS(N(R_(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHeroIDúscCs|jS(N(R`(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSkinIDûscCs||_||_dS(N(R_R`(R R_R`((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHeroüs    icCs||_||_dS(N(RkRj(R RkRj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPosÿs    cCs|jS(N(Rj(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNumscCs|jS(N(Rk(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNumscCs|jS(N(Ri(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFactionscCs ||_dS(N(Ri(R Ri((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFactionscCs|jS(N(Rh(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR·    scCs ||_dS(N(Rh(R Rh((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetFightPower
scCs|jS(N(Rf(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLV scCs ||_dS(N(Rf(R Rf((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLV scCs|jS(N(Rg(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStar scCs ||_dS(N(Rg(R tstar((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetStarscCs||jkr|j|SdS(Ni(Rs(R R6((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetDictByKeys cCs-|s|jj|dƒn ||j|<dS(N(RsROR(R R6RÛ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDictscCs|jS(N(Ry(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR:scCs|jS(N(Rz(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRFscCs|jS(N(R{(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffManagerscCstS(N(RR(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetCanAttackscCsqt|tƒr|g}n+t|tƒs9t|tƒrB|}ntSx$|D]}|jj|ƒrMtSqMWtS(N(RtinttlistttupleRPRzRRR(R t 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.pytIsInControlled1scCs|jdgƒS(Ni(RÐ(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlledHard2scCsstjddiƒ}xW|D]O}t|ƒ|kr:qnx.|t|ƒD]}|jj|ƒrK|SqKWqWdS(s‹ÊÇ·ñÔÚij¸ö״̬×éÖÐ
                        ÒѶ¨ÒåµÄ×飺 1 - Ó²¿Ø×飻2 - Èí¿Ø×飻3 - ÏÞÖÆÆÕ¹¥×飻4 - ÏÞÖÆÅ­¼¼×飻5 - ÏÞÖÆ±»¶¯¶¯Ì¬×é
        tBuffStateGroupiN(RtGetFuncEvalCfgtstrRzR(R tbuffStateGroupstbuffStateGroupDictt
stateGroupR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÐ3s  cCs$|jƒstS|jƒr tStS(N(tIsAliveRPRÒRR(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    CanAction@s
  cCs*|jj}|sdS|jƒr&dStS(svÊÇ·ñ»¹¿É´¥·¢²»ËÀЧ¹û
        Ôݶ¨µ¥¸öÎ佫×î¶àÖ»Ö§³ÖÅäÖÃ1¸ö²»ËÀЧ¹û£¬ÇÒµ¥³¡Õ½¶·×î¶à´¥·¢x´Î£¬¼´°´¼¼ÄÜcdÅжϼ´¿É
        N(R{RRÓRR(R R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    CanNoDeadHs   cCs†|jjtjƒ}|sdStƒ}xW|D]O}|jj|ƒ}|sSq/n|j|jƒƒ}|r/|jƒr/|Sq/WdS(N(    RzR    RtBatObjState_Sneert GetBatObjMgrRýt    getBatObjRÍRÙ(R RûtobjMgrR8RR+((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObjSs     cCs|jS(N(Rn(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÙcscCs||_t|_d|_dS(Ni(RoRPRnRl(R tkiller((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDeadds        cCsd|_t|_||_dS(N(RRoRRRnRl(R thp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetRevivehs        cCs|jS(N(Ro(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetKillerlscCst|jjtjdƒƒS(Ni(RÊRqRäRR–(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•mscCs<t|ƒ}||jtj<|r8t|tj|ƒndS(N(RÊRqRR–tNotifyObjInfoRefresh(R tmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—ns
 cCs|jS(N(Rl(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPtscCs5t|ƒ}||_|r1t|tj|ƒndS(N(RÊRlRæRR“(R RãRè((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”us
     cCs|j|jƒ|ƒdS(N(R”R•(R 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.pytGetXP|scCs5t|ƒ}||_|r1t|tj|ƒndS(N(RÊRmRæRR˜(R txpRè((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(Rq(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBatAttrDict†scCsB|jj|dƒ}|r>||jkr>||j|7}n|S(Ni(RqRäRr(R Ršt includeTempRÛ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRì‡scCs||j|<|jƒdS(N(RqR†(R RšRÛ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™Žs 
cCs=x6tjgD](}t|jj|dƒƒ|j|<q WdS(Ni(RR–RÊRqRä(R Rš((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__onUpdBatAttr’s&cCs$|jj|dƒ||j|<dS(Ni(RrRä(R RšRÛ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttr–scCs i|_dS(N(Rr(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttršscCs|jj|dƒS(Ni(RvRä(R R/((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_MaxRateValueRvRäRPRORR(R R/t
happenRate((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsSkillCanHappens
 cCs|jj|dƒS(Ni(RwRä(R R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCnt¤scCs|jj|dƒS(Ni(RxRä(R R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCnt¥scCs(i|_i|_i|_d|_dS(Ni(RvRwRxRu(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(RwRäRx(R R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCnt¬s cCs|jS(N(Rt(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBigTurnAtkbackCnt°scCs|jd7_dS(Ni(Rt(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBigTurnAtkbackCnt±scCsd|_i|_dS(Ni(RtRx(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt ResetBigTurn³s    cCs|jd7_|jS(Ni(Ru(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetIncrementValue¸scCs|jS(N(R|(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValue¼scCs ||_dS(N(R|(R t lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValue½scCs|jS(N(R}(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHarmSelfHP¿scCs ||_dS(N(R}(R t
harmSelfHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHarmSelfHPÀscCs|jS(N(R€(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAngerOverflowÂscCs ||_dS(N(R€(R t angerOverflow((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAngerOverflowÃscCs|jS(N(R~(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMainTagIDListÅscCs ||_dS(N(R~(R t mainTagIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMainTagIDListÆscCs|jS(N(R(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTimingÈscCs ||_dS(N(R(R ttiming((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTimingÉscCs|j|7_|jS(N(R(R t    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValueËscCs|j|7_|jS(N(R‚(R Ro((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValueÐscCs|jS(N(R‚(R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStatDefValueÔscCs|j|7_|jS(N(Rƒ(R t    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValueÖsN(fRWRXRRR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ÅRÆRÇR:RFRÈRÉRÏRÑRÒRÐRÚRÛRàRÙRâRäRåR•RPR—RéR”RRRˆRêR‡RîRðRñRìR™R†RôRõRöRúRûRüRýRþRÿRRRRRRRR    R R RRRRRRR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRZzs    /                                                                                                                                                                                                                                                                                                                                                                 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.(RRORRR#Rø(R RbtmaxID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __getNewObjIDäs    cCsad}|jƒ}|s|St|ƒ}||j|<tjd|ƒtr]tddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si(Rt_BattleObjMgr__getNewObjIDRZRR#R$RP(R t    newBatObjtnewObjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    addBatObjôs   cCsAd}||jkr%|j|}ntr=tddƒ}n|S(Ni(RRRPRZ(R RbR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÞs cCsn||jkrdS|jj|ƒ}|s/dS|j}tjd|ƒ||jkrj|jj|ƒndS(Ns»ØÊÕÕ½¶·µ¥Î»: objID=%s(RRORbR#R$RR"(R RbR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObj    s     (RWRXRRR!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Ýs
         cCsdS(N((((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytOnMinute&scCs»|tjkrdStj|\}}tjƒj|jƒƒ}|sKdStjƒ}|jƒ|_    ||_
|r˜|t j |_ |t j |_n||_ d|_|j|ƒdS(Ni(RtCDBRefresh_AttrIDDictR R¡R¢Ržt ChNetSendPackttagObjInfoRefreshRtObjIDt RefreshTypet ShareDefinetDef_PerPointValuetValuetValueExt
addBatPack(RRšRÛt refreshTypetisBigR¦t
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRæ*s               (R#R#R RR(R,RR‹R‰RRYRRŒR¸RíR
RNRZRRÝR&Ræ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s,         ø5@E¤°;ÿbD