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
i!Êhc@sdddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddd„ƒYZ
ddd„ƒYZ ddd„ƒYZ e dgƒZ d    dd
„ƒYZd dd „ƒYZd dd„ƒYZdd d„ƒYZdd!d„ƒYZdd"d„ƒYZdd#d„ƒYZd„Zd„Zd„ZdS($iÿÿÿÿNtPassiveEffManagercBsJeZd„Zdd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs||_i|_i|_dS(N(t_batObjt_AffectSkillDictt_AffectBuffDict(tselftbatObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt__init__!s            ic    Cs¡g}|rï|tjtjtjtjgkrï||f}||jkrŽ|j|}x3|jƒD]"\}}|jd||gƒqeWn||f}||jkrï|j|}x3|jƒD]"\}}|jd||gƒqÃWqïn|tjf}|jj    |iƒ}x0|jƒD]"\}}|jd||gƒq W|tjf}|jj    |iƒ}x0|jƒD]"\}}|jd||gƒqwW|S(sÖ»ñÈ¡¿É´¥·¢µÄЧ¹ûÁÐ±í£¬¼¼Äܸúbuff¸ù¾Ý´¥·¢ÓÅÏȼ¶°´Ë³Ðò´¥·¢£¬ÓÅÏȼ¶Ô½¸ßÔ½ÏÈÖ´ÐУ¬Ïàͬʱ¼¼ÄÜÓÅÏÈ
                        ÓÅÏȼ¶Ö®ºóÓÐÐèÒªÔÙÀ©Õ¹
        @return: [["skill/buff", skillID/buffID, effIDList], ...]
        tskilltbuff(
tChConfigtTriggerSrc_SkilltTriggerSrc_BufftTriggerSrc_SkillSelftTriggerSrc_BuffSelfRtitemstappendRtget(    Rt
triggerWaytconnSkillTypeIDteffListtkeyteffDicttskillIDt    effIDListtbuffID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffByTrigger(s**     cCs´i|_|jjƒ}x’td|jƒƒD]{}|j|ƒ}|sOq.nxWt|jƒƒD]C}|j|ƒ}|j    ƒ}|dkr•qbn|j
||ƒqbWq.W|jS(Ni( RRtGetSkillManagertranget GetSkillCounttGetSkillByIndextxrangetGetEffectCountt    GetEffectt GetEffectIDtAddSkillPassiveEffect(Rt skillManagertindextcurSkillt    curEffectteffectID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshSkillPassiveEffectMs      c    Cs|jƒ}|jƒ}|s"dS|tjkr5dS|tjtjgkrQdS|jƒ}|jƒ}|tjkr‹d||f}n|tj    kr©|j
ƒ}n||f}||j krÔi|j |<n|j |}||krúg||<n||j |ƒdS(Ns%s_%s( t GetTriggerWayt GetTriggerSrcR    tTriggerWay_CurSkillEffR R t
GetSkillIDR!tTriggerWay_CalcEffValueR tGetSkillTypeIDRR(    RR%teffectRt
triggerSrcRR'RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR"^s,        cCsÀi|_|jjƒ}xžt|jƒƒD]Š}|j|ƒ}|sLq+n|jƒ}xZt|jƒƒD]F}|j    |ƒ}|j
ƒ}|dkržqkn|j |||ƒqkWq+W|jS(Ni( RRtGetBuffManagerRt GetBuffCounttGetBuffByIndext GetSkillDataRRR R!tAddBuffPassiveEffect(RtbuffMgrR$Rt    skillDataR&R'((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshBuffPassiveEffect|s       c Cs$|jƒ}|jƒ}|s"dS|tjkr5dS|tjtjgkrQdS|jƒ}|jƒ}|tjkr‹d||f}n|tj    kr©|j
ƒ}n||f}||j krÔi|j |<n|j |}    ||    krúg|    |<n|    |}
||
kr |
j |ƒndS(sÖÌí¼ÓBuff±»¶¯Ð§¹û
                            Í¬¸öbuffµÄ¼¼ÄÜIDÈç¹ûµþ¼Ó¹æÔòÊǶÀÁ¢µÄ£¬ÄÇô¿ÉÄÜͬʱ´æÔÚ¶à¸öÏàͬ¼¼ÄÜЧ¹ûµÄbuff
                            Èç¹û´¥·¢Ð§¹û£¬¾ÍÒª´¥·¢¶à´Î£¬ËùÒÔbuffµÄЧ¹ûÒÔbuffIDΪkey
        Ns%s_%s( R)R*R    R+R
R t    GetBuffIDR!R-R R.RR( RRR7R/RR0RR'RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR5s0        
 cCs\xU|jjƒD]D\}}||kr.qn|j|ƒ|s|jj|ƒqqWdS(N(RRtpop(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffPassiveEffect°s  (    t__name__t
__module__RRR(R"R8R5R;(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRs     %                #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„ZRS(cCs|jƒdS(N(tClear(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR½s
cCsLd|_d|_d|_d|_d|_d|_d|_d|_dS(Ni(t_objIDt
_hurtTypest_hurtHPt _realHurtHPt_lostHPt_curHPt_suckHPt    _bounceHP(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR?Ás                                cCs|jS(N(R@(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetObjIDÌscCs ||_dS(N(R@(RtobjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetObjIDÍscCs|jS(N(RA(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHurtTypesÎscCs ||_dS(N(RA(Rt    hurtTypes((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHurtTypesÏscCs|jtd|ƒO_dS(Ni(RAtpow(RthurtType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtTypeÐscCs|jtd|ƒ@S(Ni(RARN(RRO((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt HaveHurtTypeÔscCs|jS(N(RB(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHurtHP×scCs ||_dS(N(RB(RthurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHurtHPØscCs|jS(N(RC(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetRealHurtHPÙscCs ||_dS(N(RC(Rt
realHurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetRealHurtHPÚscCs|jS(N(RD(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHPÛscCs ||_dS(N(RD(RtlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHPÜscCs|jS(N(RE(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetCurHPÝscCs ||_dS(N(RE(RtcurHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetCurHPÞscCs|jS(N(RF(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSuckHPßscCs ||_dS(N(RF(RtsuckHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetSuckHPàscCs|jS(N(RG(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHPáscCs ||_dS(N(RG(RtbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHPâs(R<R=RR?RHRJRKRMRPRQRRRTRURWRXRZR[R]R^R`RaRc(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR>ºs(                                                                             t SkillEffectcBsMeZddd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(icCs(||_||_||_||_dS(N(t_effIDt_valuest _triggerWayt _triggerSrc(RteffIDtvaluesRR0((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRæs
                cCs|jS(N(Re(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR!îscCs$t|jƒ|kr |j|SdS(Ni(tlenRf(RR$((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueïscCs t|jƒS(N(RkRf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCountðscCs|jS(N(Rf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValuesñscCs|jS(N(Rg(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR)òscCs|jS(N(Rh(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR*ós(    R<R=RR!RlRmRnR)R*(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRdäs                    it    SklllDatacBsFeZd„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„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z!d!„Z"d"„Z#d#„Z$RS($cCsÕ||_g|_i|_x³tddƒD]¢}t|d|ƒƒ}t|d|ƒƒ}t|d|ƒƒ}t|d|ƒƒ}tjƒjt||||ƒ}|jj    |ƒ||j||f<q+WdS(Niis GetEffectID%ssGetEffectValues%ssGetTriggerWay%ssGetTriggerSrc%si(
t_ipyDatat_effListt_effDictRtgetattrtObjPoolt
GetPoolMgrtacquireRdR(RtipyDatatnumRiRjRR0R/((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRús            !cCs|jS(N(Rp(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyData    scCs |jjƒS(N(RpR,(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR,
scCs |jjƒS(N(RpR.(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR. scCs |jjƒS(N(Rpt
GetSkillLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRz scCs |jjƒS(N(Rpt GetSkillMaxLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR{ scCs |jjƒS(N(Rpt GetSkillName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR|scCs |jjƒS(N(Rpt GetFuncType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR}scCs |jjƒS(N(Rpt GetSkillType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR~scCs |jjƒS(N(Rpt GetHurtType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(Rpt
GetAtkType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR€scCs |jjƒS(N(Rpt    GetTagAim(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(RptGetTagFriendly(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‚scCs |jjƒS(N(Rpt
GetTagSelf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒscCs |jjƒS(N(Rpt GetTagAffect(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR„scCs |jjƒS(N(Rpt GetTagCount(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…scCs |jjƒS(N(Rpt GetCalcType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†scCs |jjƒS(N(Rpt GetSkillPer(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‡scCs |jjƒS(N(Rpt GetSkillValue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆscCs |jjƒS(N(RptGetHurtAtkPerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰scCs |jjƒS(N(Rpt GetHappenRate(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠscCs$t|jƒ|kr |j|SdS(Ni(RkRq(RR$((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR scCs t|jƒS(N(RkRq(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRsicCs|jj||ftƒS(N(RrRt EmptyEffect(RRiR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetEffectByIDscCs |jjƒS(N(Rpt GetConnSkill(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR scCs |jjƒS(N(RptGetCoolDownTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽ!scCs |jjƒS(N(RptGetIgnoreStates(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR"scCs |jjƒS(N(RptGetCurBuffState(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR#scCs |jjƒS(N(Rpt GetLastTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘$scCs |jjƒS(N(Rpt GetLayerCnt(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’%scCs |jjƒS(N(Rpt GetLayerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“&scCs |jjƒS(N(Rpt GetBuffRepeat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”'scCs |jjƒS(N(RptGetDieContinue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•(scCs |jjƒS(N(Rpt GetFightPower(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–)scCs |jjƒS(N(RptGetSkillMotionName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—*s(%R<R=RRyR,R.RzR{R|R}R~RR€RR‚RƒR„R…R†R‡RˆR‰RŠR RRŒRRŽRRR‘R’R“R”R•R–R—(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRoøsF                                                                                                                                     tPyBuffcBs¼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„ZRS(cCsgtjƒjt|ƒ|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ dS(Ni( RtRuRvRot
_skillDatat_buffIDt_ownerIDt_layert    _calcTimet _remainTimet_value1t_value2t_value3(RRw((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.pyR4: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.pyR9<scCs ||_dS(N(Rš(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetBuffID=scCs|jS(N(R›(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetOwnerID>scCs ||_dS(N(R›(RtownerID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetOwnerID?scCs|jS(N(Rœ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLayer@scCs ||_dS(N(Rœ(Rtlayer((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLayerAscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetCalcTimeBscCs ||_dS(N(R(RtcalcTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetCalcTimeCscCs|jS(N(Rž(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetRemainTimeDscCs ||_dS(N(Rž(Rt
remainTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetRemainTimeEscCsuxnt|ƒD]`\}}|dkr5|j|ƒq |dkrQ|j|ƒq |dkr |j|ƒq q WdS(Niii(t    enumeratet    SetValue1t    SetValue2t    SetValue3(Rt    valueListR$tvalue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetBuffValueListFs   cCs|jS(N(RŸ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue1NscCs ||_dS(N(RŸ(RR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR°OscCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue2PscCs ||_dS(N(R (RR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR±QscCs|jS(N(R¡(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue3RscCs ||_dS(N(R¡(RR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR²Ss(R<R=RR4R,R9R¢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˜,s(                                                                             t BuffManagercBs‰eZd„Zd„Zd„Zd„Zd„Zed„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zd „ZRS(cCs:||_g|_i|_i|_i|_d|_dS(Ni(Rt    _buffListt _buffIDDictt_skillTypeIDBuffIDst_buffStateDictRš(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRXs                        cCs^tjƒ}x|jD]}|j|ƒqWg|_i|_i|_i|_d|_dS(Ni(RtRuRºtreleaseR»R¼R½Rš(RtpoolMgrR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    ClearBuffbs                     cCs t|jƒS(N(RkRº(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR2mscCs |j|S(N(Rº(RR$((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR3nscCsÔd}tjd|ƒ}|s"|S|jƒ}|jd7_|j}tjƒjt|ƒ}|j    |ƒ|j
j |ƒ||j |<||j kr§g|j |<n|j |}||krÐ|j |ƒn|S(NtSkilli(tNonet IpyGameDataPYtGetIpyGameDataR.RšRtRuRvR˜R¢RºRR»R¼(RRRRwt skillTypeIDRtbuffIDs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBuffps"         cCs ||jkrdS|jj|ƒ}||jkrG|jj|ƒn`x]|jddd…D]E}|jƒ|kr^|jj|ƒtjd|||fƒq^q^WxV|jjƒD]E\}}||krÕq·n|j|ƒ|sû|jj|ƒnPq·W|rt    j
ƒj |ƒndS(Niÿÿÿÿs2ɾ³ýbuffÒì³£²»ÔÚÁбíÀï! buffID=%s,lBuff=%s,buff=%s( R»R:RºtremoveR9t    GameWorldtErrLogR¼RRtRuR¾(RRR¾RtlBuffRÅt
buffIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuff‡s&!  cCs|jj|dƒS(N(R»RRÂ(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBuff¡scCs/tjd|ƒ}|sgS|j|jƒƒS(NRÁ(RÃRÄtFindBuffListBySkillTypeIDR.(RRR7((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffListBySkillID¢scCs^||jkrgSg}x>|j|D]/}||jkrBq'n|j|j|ƒq'W|S(N(R¼R»R(RRÅtbuffsR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRϨscCs<|jj|gƒ}|sdS|d}|jj|dƒS(Ni(R½RR»RÂ(RtstateRÌR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindBuffByState²s
 
cCsi||jkrg|j|<n|j|}||krH|j|ƒntjd|||jfƒdS(Ns&    AddBuffState state=%s,buffID=%s,%s(R½RRÉtDebugLog(RRÒRRÌ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddBuffStateºs  cCsw||jkrdS|j|}||kr0dS|j|ƒ|sV|jj|ƒntjd|||jfƒdS(Ns&    DelBuffState state=%s,buffID=%s,%s(R½RÈR:RÉRÔ(RRÒRRÌ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt DelBuffStateÄs   cCs ||jkS(N(R½(RRÒ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt IsInBuffStateÐscCs|jj|gƒS(N(R½R(RRÒ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetStateBuffIDListÑs(R<R=RRÀR2R3RÇtTrueRÍRÎRÐRÏRÓRÕRÖR×RØ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¹Us    
                              
        
         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„Zdd„Zd„Zd„Zd„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„Z3RS(3cCs^tjƒjt|ƒ|_d|_d|_d|_g|_g|_    d|_ g|_ dS(Ni( RtRuRvRoR™RRžt_batTypet _tagObjListt    _hurtListRÂt_bySkillt_afterLogicList(RRw((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÕs                            cCs2d|_g|_d|_g|_|jƒdS(Ni(RÛRÜRÂRÞRßt ClearHurtObj(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt ResetUseRecàs                 
cCs |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™Rz(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRzêscCs |jjƒS(N(R™R{(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR{ëscCs |jjƒS(N(R™R|(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR|ìscCs |jjƒS(N(R™R}(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR}íscCs |jjƒS(N(R™R~(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR~îscCs |jjƒS(N(R™R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRïscCs |jjƒS(N(R™R€(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR€ðscCs |jjƒS(N(R™R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRñscCs |jjƒS(N(R™R‚(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‚òscCs |jjƒS(N(R™Rƒ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒóscCs |jjƒS(N(R™R„(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR„ôscCs |jjƒS(N(R™R…(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…õscCs |jjƒS(N(R™R†(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†öscCs |jjƒS(N(R™R‡(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‡÷scCs |jjƒS(N(R™Rˆ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆøscCs |jjƒS(N(R™R‰(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰ùscCs |jjƒS(N(R™RŠ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠúscCs|jj|ƒS(N(R™R (RR$((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR ûscCs |jjƒS(N(R™R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRüsicCs|jj||ƒS(N(R™RŒ(RRiR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŒýscCs |jjƒS(N(R™R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRþscCs |jjƒS(N(R™RŽ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽÿscCs |jjƒS(N(R™R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(R™R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(R™R‘(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘scCs |jjƒS(N(R™R’(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’scCs |jjƒS(N(R™R“(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“scCs |jjƒS(N(R™R”(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR”scCs |jjƒS(N(R™R•(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR•scCs |jjƒS(N(R™R–(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–scCs |jjƒS(N(R™R—(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR—scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR© scCs ||_dS(N(R(RRª((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR« scCs|jS(N(Rž(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¬ scCs ||_dS(N(Rž(RR­((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR®scCs|jS(N(RÛ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBatTypescCs ||_dS(N(RÛ(RtbatType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetBatTypescCs|jS(N(RÞ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetBySkillscCs ||_dS(N(RÞ(RtbySkill((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetBySkillscCs|jS(N(RÜ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetTagObjListscCs ||_dS(N(RÜ(Rt
tagObjList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetTagObjListscCs|jS(N(Rß(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAfterLogicListscCs|jj||gƒdS(ssÌí¼Ó¼¼ÄÜÊͷźóÐèÒª´¦Àí¶îÍâÂß¼­
        @param logicType: Âß¼­ÀàÐÍ
        @param logicData: Âß¼­¶ÔÓ¦µÄÊý¾Ý
        N(RßR(Rt    logicTypet    logicData((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddAfterLogicscCs:tjƒ}x|jD]}|j|ƒqWg|_dS(N(RtRuRÝR¾(RR¿thurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRàs
     cCs6tjƒjtƒ}|j|ƒ|jj|ƒ|S(N(RtRuRvR>RJRÝR(RttagIDRï((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
AddHurtObj$s cCs|jS(N(RÝ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHurtObjList*s(4R<R=RRáR,R.RzR{R|R}R~RR€RR‚RƒR„R…R†R‡RˆR‰RŠR RRŒRRŽRRR‘R’R“R”R•R–R—R©R«R¬R®RâRäRåRçRèRêRëRîRàRñRò(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÚÓsd                                                                                                                                                                                                  t SkillManagercBsYeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
RS(    cCsg|_i|_dS(N(t
_skillListt
_skillDict(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR/s        cCsCtjƒ}x|jD]}|j|ƒqWg|_i|_dS(N(RtRuRôR¾Rõ(RR¿R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillReset4s          cCs t|jƒS(N(RkRô(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR<scCs |j|S(N(Rô(RR$((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR=scCs |jjƒS(N(Rõtkeys(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillIDList>scCs|jj|dƒS(N(RõRRÂ(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt FindSkillByID?scCs:d}x-|jD]"}|jƒ|kr|}PqqW|S(N(RÂRôR.(RRÅRts((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindSkillByTypeID@s cCs¯tjd|ƒ}|sdS||jkr/dS|jƒ}|j|ƒ}|rv|jƒ|krfdS|j|ƒntjƒj    t
|ƒ}||j|<|j j |ƒ|S(NRÁ( RÃRÄRõR.RûR,t_SkillManager__deleteSkillRtRuRvRÚRôR(RRRwRÅR%((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByIDHs  cCsX|jƒ}|jj|dƒ||jkrA|jj|ƒntjƒj|ƒdS(N(    R,RõR:RÂRôRÈRtRuR¾(RR%R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkill[s  ( R<R=RRöRRRøRùRûRýRü(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRó,s                                tBatObjcBs–eZd„Zdd„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„Zdd„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/d0„Z0d1„Z1d2„Z2e3d3„Z4d4„Z5e3d5„Z6e7d6„Z8d7„Z9e7d8„Z:d9„Z;d:„Z<d;„Z=e7d<„Z>d=„Z?d>„Z@d?„ZAd@„ZBdA„ZCdB„ZDdC„ZEdD„ZFdE„ZGdF„ZHdG„ZIRS(HcCsWd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_d|_d|_t|_i|_i|_i|_i|_i|_i|_tjƒjtƒ|_tjƒjt|ƒ|_ tjƒjt!|ƒ|_"d|_#d|_$d|_%d|_&dS(Ntii('ttfGUIDR¤RItobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextlvt
fightPowertfactiont    lineupNumtposNumt_hpt_xpRÙt_isAlivet _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_skillUseCntDictt_skillTurnUseCntDictRtRuRvRót    _skillMgrR¹t_buffMgrRt_passiveEffMgrt_lastHurtValuethurtStattdefStattcureStat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRfsB                                                                                                                    icCsj||_i|_|jj|ƒi|_||_|jtjdƒ|_t    j
|ƒt j |ƒdS(s¥³õʼ»¯Õ½¶·ÊôÐÔ
        @param initAttrDict: ÒѾ­ËãºÃµÄÔÚÕóÈÝÖеÄÊôÐÔ£¬°üº¬î¿°í¡¢ÕóÈÝÊôÐԵȣ¬Õ½¶·ÖÐÖ»Òª¼ÆËãbuffÊôÐÔ¼´¿É
        @param initXP: ³õʼ»¯µÄÅ­ÆøÖµ
        iN( RRtupdateRRRR    t AttrID_MaxHPRtTurnBufftRefreshBuffAttrt TurnPassivetRefreshPassive(Rt initAttrDicttinitXP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt InitBatAttr‹s                  cCs i|_dS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    TurnResetšscCsb||_t}x)|D]!}|jj|ƒrt}qqWtj|ƒ|r^|jjƒndS(N(    RtFalseRRýRÙR!R"RR((RR%t skillIDListt learnNewSkillR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytUpdInitBatAttržs       cCs#i|_|jj|jƒ|jS(N(RRR(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(RR((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|jS(N(R¤(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR£²scCs ||_dS(N(R¤(RR¤((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¥³scCs|jS(N(RI(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetID´scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNameµscCs ||_dS(N(R(Rtname((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(RR((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(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetAtkDistTypeºscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetSpecialty»scCs ||_dS(N(R(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetSpecialty¼scCs|jS(N(R    (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSex½scCs ||_dS(N(R    (RR    ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetSex¾scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetNPCID¿scCs ||_dS(N(R(RR((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(RR(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHeroÃs    icCs||_||_dS(N(RR (RRR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPosÆs    cCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNumÌscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNumÍscCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFactionÎscCs ||_dS(N(R (RR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFactionÏscCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR–ÐscCs ||_dS(N(R (RR ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetFightPowerÑscCs|jS(N(R
(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLVÒscCs ||_dS(N(R
(RR
((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLVÓscCs|jj|dƒS(Ni(RR(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetDictByKeyÔscCs||j|<dS(N(R(RRR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDictÕ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.pyR1ØscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetPassiveEffManagerÙscCstS(N(RÙ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetCanAttackÛscCsqt|tƒr|g}n+t|tƒs9t|tƒrB|}ntSx$|D]}|jj|ƒrMtSqMWtS(N(t
isinstancetinttlistttupleR)RR×RÙ(Rt checkInStatetcheckInStateListRÒ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt CheckInStateâs      cCs|jj|ƒS(N(RR×(RRÒ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    IsInStateîscCs+x$tjD]}|j|ƒr
tSq
WtS(N(R    tInControlledStateListRXRÙR)(RRÒ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlledòscCs$|jƒstS|jƒr tStS(N(tIsAliveR)RZRÙ(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(    RRØR    tBatObjState_Sneert GetBatObjMgrRÎt    getBatObjR£R[(RRÌtobjMgrRRttagObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObjs     cCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR[scCst|_d|_dS(Ni(R)RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDeads    cCs|jjtjdƒS(Ni(RRR    R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMaxHPscCs0||jtj<|r,t|tj|ƒndS(N(RR    R tNotifyObjInfoRefresh(RtmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMaxHPscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPscCs)||_|r%t|tj|ƒndS(N(RReR    t    AttrID_HP(RthpRg((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHPs    cCs|j|jƒ|ƒdS(N(RlRd(RRg((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHPFull!scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetXP"scCs)||_|r%t|tj|ƒndS(N(RReR    t    AttrID_XP(RtxpRg((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetXP#s    cCs|jtjƒS(N(tGetBatAttrValueR    t
AttrID_Atk(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetAtk(scCs|jtjƒS(N(RrR    t
AttrID_Def(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetDef)scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetBatAttrDict+scCsB|jj|dƒ}|r>||jkr>||j|7}n|S(Ni(RRR(RtattrIDt includeTempR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRr,scCs||j|<dS(N(R(RRxR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetBatAttrValue3scCs$|jj|dƒ||j|<dS(Ni(RR(RRxR´((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttr4scCs i|_dS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttr8scCs|jj|dƒS(Ni(RR(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCnt:scCs|jj|dƒS(Ni(RR(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCnt;scCsD|jj|dƒd|j|<|jj|dƒd|j|<dS(Nii(RRR(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillUseCnt<s cCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLastHurtValue@scCs ||_dS(N(R(Rt lastHurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLastHurtValueAscCs|j|7_|jS(N(R(Rt    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValueCscCs|j|7_|jS(N(R(RRY((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValueHscCs|j|7_|jS(N(R(Rt    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValueMs(JR<R=RR'R(R,R-R.R/R3R£R¥R4R5R7R8R9R:R;R<R=R>R?R@RARBRCRDRERFRGRHRIR–RJRKRLRMRNRR1RORPRWRXRZR\RbR[RcRdR)RhRiRlRÙRmRnRqRtRvRwRrRzR{R|R}R~RR€R‚R„R…R‡(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÿcsŒ    %                                                                                                                                                                                                                                                          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.pyRUs            cCs¥x2|jr4|jjdƒ}||jkr|SqWd}|j|krVd|_nx;|j|kr“|jd7_|j|jkrY|jSqYWtjdƒdS(Nii †is__getNewObjID error.(RŠR:R‹R‰RÉRÊ(RRItmaxID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __getNewObjID[s    cCstd}|jƒ}|s|Stjƒjtƒ}||_||j|<tj    d|ƒt
rptddƒ}n|S(NsÌí¼ÓÕ½¶·µ¥Î»: objID=%si( RÂt_BattleObjMgr__getNewObjIDRtRuRvRÿRIR‹RÉRÔR)(Rt    newBatObjtnewObjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    addBatObjks      cCsAd}||jkr%|j|}ntr=tddƒ}n|S(Ni(RÂR‹R)Rÿ(RRIR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR_ys cCs‚||jkrdS|jj|ƒ}|s/dS|j}tjd|ƒtjƒj|ƒ||jkr~|jj    |ƒndS(Ns»ØÊÕÕ½¶·µ¥Î»: objID=%s(
R‹R:RIRÉRÔRtRuR¾RŠR(RRIR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObjs     (R<R=RRŽR‘R_R’(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRˆRs
                cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatat g_batObjMgrRˆ(t    batObjMgr((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR^˜s
         cCs!tjdttƒjƒƒdS(NsÕ½¶·µ¥Î»ÊýÁ¿: %s(RÉtLogRkR^R‹(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytOnMinuteŸscCsÇ|tjkrdStj|\}}tjƒj|jƒƒ}|sKdStjƒjt    j
ƒ}|j ƒ|_ ||_ |r¤|tj|_|tj|_n||_d|_|j|ƒdS(Ni(R    tCDBRefresh_AttrIDDictR0R1R2R.RtRuRvt ChNetSendPackttagObjInfoRefreshR4tObjIDt RefreshTypet ShareDefinetDef_PerPointValuetValuetValueExt
addBatPack(RRxR´t refreshTypetisBigt    turnFightt
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRe£s              (((((((((((RÉR“R0RÃR™RR    RtR#R!RR>RdR‹RoR˜R¹RÚRóRÿRˆR^R—Re(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s.          œ*4)~Y7ïF