hwj35
2025-12-18 f0e76e345d4cb0aae3c24ac6dd791e1022d61a4e
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
IKAic@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(
cCs^||_|r|jƒnd|_i|_i|_g|_i|_i|_g|_dS(Ni(    t_batObjtGetIDt_objIDt_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(tNoneR(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    onRelease/s    ic Csg}|r»t|tjƒ r»|j|jƒkr»|jƒtjkr»|jƒ}||j    kri}xt
|j ƒƒD]î}|j |ƒ}    |    j ƒ}
|
dkr°q}n|    jƒ} |    jƒ} | sÔq}n| tjkréq}n| tjkrþq}n| tjkr d| |
f} n| | f} | |krEi|| <n|| }|
|kr}|j|ƒq}q}W||j    |<n|j    |}||kr»|jd|d||gƒq»n||jkrÝ||jkrÝ|S|s|rø|jƒ}q|r|jƒ}qn|r!|tjtjtjtjgkr!||f} | |jkr›|j| }x6|jƒD]%\}}|jd|d|gƒqoWn||f} | |jkr!|j| }xX|jƒD]G\}}||jkrø|j|nd}|jd|||gƒqÐWq!n|tjf} | |jkr…|j| }x6|jƒD]%\}}|jd|d|gƒqYWn|tjf} | |jkr |j| }xX|jƒD]G\}}||jkrå|j|nd}|jd|||gƒq½Wn|S(s×»ñÈ¡¿É´¥·¢µÄЧ¹ûÁÐ±í£¬¼¼Äܸúbuff¸ù¾Ý´¥·¢ÓÅÏȼ¶°´Ë³Ðò´¥·¢£¬ÓÅÏȼ¶Ô½¸ßÔ½ÏÈÖ´ÐУ¬Ïàͬʱ¼¼ÄÜÓÅÏÈ
                        ÓÅÏȼ¶Ö®ºóÓÐÐèÒªÔÙÀ©Õ¹
        @return: [["skill/buff", skillID, buffID, effIDList], ...]
        is%s_%stskilltbuff(t
isinstancet IpyGameDataPYt    IPY_SkillRtGetObjIDt
GetBatTypetChConfigtTurnBattleType_Enhancet
GetSkillIDRtxrangetGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayt GetTriggerSrctTriggerWayNoLoadListtTriggerSrc_SkillSelftTriggerWay_CalcEffValuetappendRR    tGetSkillTypeIDtTriggerSrc_SkilltTriggerSrc_BufftTriggerSrc_BuffSelfRtitemsRR(R
t
triggerWayt    connSkilltconnSkillTypeIDtconnBuffteffListtskillIDteffDicttindexteffectteffectIDttWayttSrctkeyt    effIDListtbuffID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffByTrigger4s|.        
   #*     "#   " cCs½i|_g|_|jjƒ}x’td|jƒƒD]{}|j|ƒ}|sXq7nxWt|jƒƒD]C}|j    |ƒ}|j
ƒ}|dkržqkn|j ||ƒqkWq7W|jS(Ni( RRRtGetSkillManagertranget GetSkillCounttGetSkillByIndexRRRRtAddSkillPassiveEffect(R
t skillManagerR/tcurSkillt    curEffectR1((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 |ƒndS(Ns%s_%s( RRRRtGetTriggerBuffEnableRRR!R R#RR"R(    R
R>R0R(t
triggerSrcR-R1R4R.((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR<›s0         cCsÉi|_g|_|jjƒ}xžt|jƒƒD]Š}|j|ƒ}|sUq4n|jƒ}xZt|j    ƒƒD]F}|j
|ƒ}|j ƒ}|dkr§qtn|j |||ƒqtWq4W|jS(Ni( RR    RtGetBuffManagerR9t GetBuffCounttGetBuffByIndext GetSkillDataRRRRtAddBuffPassiveEffect(R
tbuffMgrR/Rt    skillDataR?R1((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(RRRRRAt    GetBuffIDRR!R&R#RR"RRR    ( R
RRIR0R(RBR6R1R4R.R5((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRGÎ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(    RR'RtpoptFalsetkeystTrueR    tremove(R
R6R4R.R(t
hasTriggertk((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffPassiveEffectôs   
N( t__name__t
__module__R RR R7R@R<RJRGRS(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRs        U                 &tHurtObjcBsÎeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs|jƒdS(N(tClear(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR s
cCsdS(N((R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.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.pyRWs                                cCs|jS(N(R(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs ||_dS(N(R(R
tobjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetObjIDscCs|jS(N(RX(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHurtTypes scCs ||_dS(N(RX(R
t    hurtTypes((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHurtTypes!scCs|jtd|ƒO_|jS(Ni(RXtpow(R
thurtType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtType"scCs|jtd|ƒ@S(Ni(RXRd(R
Re((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt HaveHurtType&scCs|jS(N(RY(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHurtHP)scCs ||_dS(N(RY(R
thurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHurtHP*scCs|jS(N(RZ(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHP+scCs ||_dS(N(RZ(R
tlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHP,scCs|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    SetSuckHP0scCs|jS(N(R](R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHP1scCs ||_dS(N(R](R
tbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHP2scCs g|_dS(N(R^(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearHurtObjEx3s    cCs*tƒ}|j|ƒ|jj|ƒ|S(N(RVR`R^R"(R
ttagIDthurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtObjEx6s     cCs|jS(N(R^(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListEx;s(RTRUR RRWRR`RaRcRfRgRhRjRkRmRnRpRqRsRtRvRwRzR{(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRVs,                                                                                     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.pyR ?s             %%cCsdS(N((R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRHscCs|jS(N(R}(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRLscCs$t|jƒ|kr |j|SdS(Ni(R€R~(R
R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueMscCs t|jƒS(N(R€R~(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCountNscCs|jS(N(R~(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValuesOscCs|jS(N(R(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.pyRQscCs3|jƒtjtjgkr"tS|jr/tStS(N(RRR%R&ROR‚RM(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRARs
    ( RTRUR RRR†R‡RˆRRRA(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR|=s                                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_effDictR9tgetattrR|R"(R
tipyDatatnumRƒR„R(RBR0((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.pyRlscCsdS(Ni((R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRpscCsdS(Niÿÿÿÿ((R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRqscCs|jS(N(RŠ(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyDatarscCs|jS(N(R‹(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRsscCs|jS(N(RŒ(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR#tscCs |jjƒS(N(RŠt
GetSkillLV(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•uscCs |jjƒS(N(RŠt GetSkillMaxLV(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–vscCs |jjƒS(N(RŠt GetSkillName(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—wscCs |jjƒS(N(RŠt GetFuncType(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR˜xscCs |jjƒS(N(RŠt GetSkillType(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR™yscCs |jjƒS(N(RŠt GetHurtType(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRšzscCs |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
R/((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(*RTRUR RRRR”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‰YsP                                                                                                                                                         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.pyRF±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.pyRK½scCs ||_dS(N(R¸(R
R6((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    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¼(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
R_((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHaloObjIDÚs(%RTRUR RRFRR#RªR°R²RÂRÄRÅRÇRKRÈ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(R R(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.pyRDøscCs |j|S(N(Rê(R
R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyREùscCsÈd}tjd|ƒ}|s"|S|jƒ}|jd7_|j}t|ƒ}|j|ƒ|jj|ƒ||j    |<||j
kr›g|j
|<n|j
|}||krÄ|j|ƒn|S(NtSkilli( R RtGetIpyGameDataR#R¸R´RÈRêR"RëRì(R
R-RR’t skillTypeIDR6tbuffIDs((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·WdS(Niÿÿÿÿs2ɾ³ýbuffÒì³£²»ÔÚÁбíÀï! buffID=%s,lBuff=%s,buff=%s(    RëRLRêRPRKt    GameWorldtErrLogRìR'(R
R6treleaseRtlBuffRñt
buffIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffs"!  cCs||jkr|j|SdS(N(Rë(R
R6((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBuff*scCs/tjd|ƒ}|sgS|j|jƒƒS(NRï(RRðtFindBuffListBySkillTypeIDR#(R
R-RI((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ñtbuffsR6((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRû3sicCsR|j|ƒ}|s'|r#|dSdSx$|D]}|jƒ|kr.|Sq.WdS(Ni(RüR RÉ(R
R-RÊtbuffListR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffBySkillID=s cCs¤||jkrdS|j|}|s*dS|r|xm|D]>}||jkrRq7n|j|}|jƒ|kr7|Sq7Wn$|d}||jkr |j|SdS(Ni(RíRëRÉ(R
tstateRÊRøR6R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffByStateGs    
cCsd||jkrgS|j|}g}x7|D]/}||jkrHq-n|j|j|ƒq-W|S(N(RíRëR"(R
RRøRýR6((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListByStateZs  cCse||jkrg|j|<n|j|}||krH|j|ƒntjd|||jƒdS(Ns&    AddBuffState state=%s,buffID=%s,%s(RíR"Rôt
DebugLogEx(R
RR6Rø((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddBuffStatefs  cCss||jkrdS|j|}||kr0dS|j|ƒ|sV|jj|ƒntjd|||jƒdS(Ns&    DelBuffState state=%s,buffID=%s,%s(RíRPRLRôR(R
RR6Rø((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt DelBuffStateps   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 (RTRUR RRîRDRERóRORùRúRüRûRÿRRRRRR(((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    _hurtListR^R t_bySkillt_byBufft _byTriggerWayt_afterLogicListt_energyt _comboStatet    _comboNumt_missTagIDDictt_parryTagIDDict(R
R’R_((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 R R R RRRRt 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.pyRF´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
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É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(RRwR^(R
Ryt    hurtObjEx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRös        cCsCtƒ}|j|ƒ|r/|jj|ƒn|jj|ƒ|S(N(RVR`R^R"R(R
RxtisExRy((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
AddHurtObjs      cCs|jS(N(R(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjList
scCs|jS(N(R^(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR{ scCs|j|jS(N(RR^(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjListAll scCs(d|_d|_i|_i|_dS(Ni(RRRR(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __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.pytComboCheckStarts 
    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(R
tcomboNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetComboNum)scCs|jj|dƒS(Ni(RRà(R
Rx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagMissNum*scCs||j|<dS(N(R(R
RxtmissNum((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagMissNum+scCs|jj|dƒS(Ni(RRà(R
Rx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetTagParryNum,scCs||j|<dS(N(R(R
RxtparryNum((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    SetEnergy0s(PRTRUR RRRRFRR#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ÑRRRRRR!R"R$R%R'R(R*R+R-R.R0R1R4RRMR7R8R{R9R;R=R>R?R@RBRCRERFRHRIRK(((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.pyR 5s            cCs d|_dS(N(R R(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR;s    cCsg|_i|_dS(N(RMRN(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillReset@s        cCs t|jƒS(N(R€RM(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR:EscCs |j|S(N(RM(R
R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR;FscCst|jjƒƒS(N(tsortedRNRN(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillIDListGscCs||jkr|j|SdS(N(RN(R
R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt FindSkillByIDHscCs:d}x-|jD]"}|jƒ|kr|}PqqW|S(N(R RMR#(R
RñRts((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindSkillByTypeIDKs cCs¯tjd|ƒ}|sdS||jkr/dS|jƒ}|j|ƒ}|rv|jƒ|krfdS|j|ƒnt||jj    ƒƒ}||j|<|j
j |ƒ|S(NRï( RRðRNR#RTRt_SkillManager__deleteSkillRRRRMR"(R
R-R’RñR>((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByIDSs  cCsE|jƒ}|jj|dƒ||jkrA|jj|ƒndS(N(RRNRLR RMRP(R
R>R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkillfs
 ( RTRUR RROR:R;RQRRRTRVRU(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRL2s                                    tBatObjcBszeZd„Zd„Zdd„Zdad„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„Z9d9„Z:d:„Z;e<d;„Z=d<„Z>e<d=„Z?e@d>„ZAd?„ZBe@d@„ZCdA„ZDdB„ZEdC„ZFe@dD„ZGdE„ZHdF„ZIdG„ZJdH„ZKdI„ZLdJ„ZMdK„ZNdL„ZOdM„ZPdN„ZQdO„ZRdP„ZSdQ„ZTdR„ZUdS„ZVdT„ZWdU„ZXdV„ZYdW„ZZdX„Z[dY„Z\dZ„Z]d[„Z^d\„Z_d]„Z`d^„Zad_„Zbd`„ZcRS(bcCs‡d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_t|_i|_i|_i|_i|_d|_d|_i|_i|_i|_t|ƒ|_ t!|ƒ|_"t#|ƒ|_$d|_%d|_&g|_'d|_(d|_)d|_*d|_+d|_,dS(Ntii(-ttfGUIDRÊR_tobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextjobtlvt_start
fightPowertfactiont    lineupNumtposNumt_hpt_xpROt_isAlivet _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_bigTurnAtkbackCntt_incrementValuet_skillHappenFailCntDictt_skillUseCntDictt_skillTurnUseCntDictRLt    _skillMgrRét_buffMgrRt_passiveEffMgrt_lastHurtValuet _harmSelfHPt_mainTagIDListt_timingt_angerOverflowthurtStattdefStattcureStat(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR psT                                                                                                                                                        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( RmRntupdatet_BatObj__onUpdBatAttrRotSetXPRMt    SetHPFulltTurnBufftRefreshBuffAttrROt 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(    RmRMRvRVROR†R‡RxR@(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( RmRt    AttrID_HPtSetHPROtGetMaxHPt 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(RnR‚RmRƒ(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytResetBattleEffectÍs    
cCs|jS(N(RZ(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetTFGUIDÔscCs ||_dS(N(RZ(R
RZ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetTFGUIDÕscCstjƒj|jƒS(N(t
TurnAttacktGetTurnFightMgrt getTurnFightRZ(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 getBatFactionRgt getBatlineupRh(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(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.pytGetNameÞscCs ||_dS(N(R[(R
tname((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetNameßscCs|jS(N(R_(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetCountryàscCs ||_dS(N(R_(R
R_((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetCountryáscCs|jS(N(R`(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtkDistTypeâscCs ||_dS(N(R`(R
R`((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistTypeãscCs|jS(N(Ra(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialtyäscCs ||_dS(N(Ra(R
Ra((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialtyåscCs|jS(N(Rb(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSexæscCs ||_dS(N(Rb(R
Rb((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSexçscCs|jS(N(Rc(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetJobèscCs ||_dS(N(Rc(R
Rc((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(RiRh(R
RiRh((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPosñs    cCs|jS(N(Rh(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNum÷scCs|jS(N(Ri(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNumøscCs|jS(N(Rg(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFactionùscCs ||_dS(N(Rg(R
Rg((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFactionúscCs|jS(N(Rf(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR³ûscCs ||_dS(N(Rf(R
Rf((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(R
Rd((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLVþscCs|jS(N(Re(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStarÿscCs ||_dS(N(Re(R
tstar((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetStarscCs|jj|dƒS(Ni(RpRà(R
R4((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetDictByKeyscCs||j|<dS(N(Rp(R
R4R×((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDictscCs|jS(N(Rv(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR8scCs|jS(N(Rw(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRCscCs|jS(N(Rx(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffManagerscCstS(N(RO(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(RtinttlistttupleRMRwRRO(R
t checkInStatetcheckInStateListR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt CheckInStates      cCs|jddgƒS(Nii(tIsInBuffStateGroup(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlledscCs|jdgƒS(Ni(RÍ(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlledHardscCsstjddiƒ}xW|D]O}t|ƒ|kr:qnx.|t|ƒD]}|jj|ƒrK|SqKWqWdS(s‹ÊÇ·ñÔÚij¸ö״̬×éÖÐ
                        ÒѶ¨ÒåµÄ×飺 1 - Ó²¿Ø×飻2 - Èí¿Ø×飻3 - ÏÞÖÆÆÕ¹¥×飻4 - ÏÞÖÆÅ­¼¼×飻5 - ÏÞÖÆ±»¶¯¶¯Ì¬×é
        tBuffStateGroupiN(RtGetFuncEvalCfgtstrRwR(R
tbuffStateGroupstbuffStateGroupDictt
stateGroupR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÍs  cCs$|jƒstS|jƒr tStS(N(tIsAliveRMRÏRO(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(    RwRRtBatObjState_Sneert GetBatObjMgrRút    getBatObjRÉRÖ(R
RøtobjMgrR6RR)((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObj3s     cCs|jS(N(Rl(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÖCscCst|_d|_dS(Ni(RMRlRj(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDeadDs    cCst|_||_dS(N(RORlRj(R
thp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetReviveGs    cCst|jjtjdƒƒS(Ni(RÇRnRàRR“(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’JscCs<t|ƒ}||jtj<|r8t|tj|ƒndS(N(RÇRnRR“tNotifyObjInfoRefresh(R
tmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”Ks
 cCs|jS(N(Rj(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPQscCs5t|ƒ}||_|r1t|tj|ƒndS(N(RÇRjRàRR(R
RÞRâ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘Rs
     cCs|j|jƒ|ƒdS(N(R‘R’(R
Râ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…XscCs|jS(N(Rk(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetXPYscCs5t|ƒ}||_|r1t|tj|ƒndS(N(RÇRkRàRR•(R
txpRâ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR„Zs
     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.pytGetDefascCs|jS(N(Rn(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBatAttrDictcscCsB|jj|dƒ}|r>||jkr>||j|7}n|S(Ni(RnRàRo(R
R—t includeTempR×((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRædscCs||j|<|jƒdS(N(RnRƒ(R
R—R×((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–ks 
cCs=x6tjgD](}t|jj|dƒƒ|j|<q WdS(Ni(RR“RÇRnRà(R
R—((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__onUpdBatAttros&cCs$|jj|dƒ||j|<dS(Ni(RoRà(R
R—R×((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttrsscCs i|_dS(N(Ro(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttrwscCs|jj|dƒS(Ni(RsRà(R
R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillHappenFailCntyscCsW|r@tj|tjƒ r@|jj|dƒd|j|<tS|jj|dƒtS(Nii(    Rôt    CanHappenRtDef_MaxRateValueRsRàRMRLRO(R
R-t
happenRate((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsSkillCanHappenzs
 cCs|jj|dƒS(Ni(RtRà(R
R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCntscCs|jj|dƒS(Ni(RuRà(R
R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCnt‚scCs(i|_i|_i|_d|_dS(Ni(RsRtRuRr(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(RtRàRu(R
R-((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCnt‰s cCs|jS(N(Rq(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBigTurnAtkbackCntscCs|jd7_dS(Ni(Rq(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBigTurnAtkbackCntŽscCsd|_i|_dS(Ni(RqRu(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt ResetBigTurns    cCs|jd7_|jS(Ni(Rr(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetIncrementValue•scCs|jS(N(Ry(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValue™scCs ||_dS(N(Ry(R
t lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValuešscCs|jS(N(Rz(R
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHarmSelfHPœscCs ||_dS(N(Rz(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
Rl((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(dRTRUR RRŒR RR™RšR›RœR R¥RÉRËRR¦R¨R©RªR«R¬R­R®R¯R°R±R²R³R´RµR¶R·R¸R¹RºR»R¼R³R½R¾R¿RÀRÂRÃRÄR8RCRÅRÆRÌRÎRÏRÍR×RÜRÖRÝRßR’RMR”RãR‘ROR…RäR„RèRêRëRæR–RƒRîRïRðRôRõRöR÷RøRùRúRûRüRýRÿRRRRRRR    R R RRR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRXms¾    .                                                                                                                                                                                                                                                                                                                                                           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.(RRLRRRôRõ(R
R_tmaxID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __getNewObjIDÁs    cCsgd}|jƒ}|s|Stƒ}||_||j|<tjd|ƒtrctddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si(R t_BattleObjMgr__getNewObjIDRXR_RRôRRM(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(R RRMRX(R
R_R ((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(RRLR_RôRRR"(R
R_R ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObjçs     (RTRUR RRRÚ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.pytOnMinutescCs»|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(R R—R×t refreshTypetisBigR£t
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRàs               (RôRRRR"R&RRˆR†RRVR|R‰R´RéRRLRXRRÙR Rà(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s,         ë5@E¤°;ÿLE