hxp
2025-09-15 8a90d368d4f1b2d6601a94530fbc106071bc3c26
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
pÇ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ã|tjtjgkrã||f}||jkr‚|j|}x3|jƒD]"\}}|jd||gƒqYWn||f}||jkrã|j|}x3|jƒD]"\}}|jd||gƒq·Wqãn|tjf}|jj|iƒ}x0|jƒD]"\}}|jd||gƒqW|tjf}|jj|iƒ}x0|jƒD]"\}}|jd||gƒqkW|S(sÖ»ñÈ¡¿É´¥·¢µÄЧ¹ûÁÐ±í£¬¼¼Äܸúbuff¸ù¾Ý´¥·¢ÓÅÏȼ¶°´Ë³Ðò´¥·¢£¬ÓÅÏȼ¶Ô½¸ßÔ½ÏÈÖ´ÐУ¬Ïàͬʱ¼¼ÄÜÓÅÏÈ
                        ÓÅÏȼ¶Ö®ºóÓÐÐèÒªÔÙÀ©Õ¹
        @return: [["skill/buff", skillID/buffID, effIDList], ...]
        tskilltbuff(tChConfigtTriggerSrc_SkilltTriggerSrc_BuffRtitemstappendRtget(    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|tjkrHdS|jƒ}|jƒ}||f}||jkr‹i|j|<n|j|}||kr±g||<n||j|ƒdS(N(    t GetTriggerWayt GetTriggerSrcR    tTriggerWay_CurSkillEffR t
GetSkillIDRRR (    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 GetSkillDataRRRRtAddBuffPassiveEffect(RtbuffMgrR"Rt    skillDataR$R%((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytRefreshBuffPassiveEffectvs       c CsÛ|jƒ}|jƒ}|s"dS|tjkr5dS|tjkrHdS|jƒ}|jƒ}||f}||jkr‹i|j|<n|j|}    ||    kr±g|    |<n|    |}
||
kr×|
j|ƒndS(sÖÌí¼ÓBuff±»¶¯Ð§¹û
                            Í¬¸öbuffµÄ¼¼ÄÜIDÈç¹ûµþ¼Ó¹æÔòÊǶÀÁ¢µÄ£¬ÄÇô¿ÉÄÜͬʱ´æÔÚ¶à¸öÏàͬ¼¼ÄÜЧ¹ûµÄbuff
                            Èç¹û´¥·¢Ð§¹û£¬¾ÍÒª´¥·¢¶à´Î£¬ËùÒÔbuffµÄЧ¹ûÒÔbuffIDΪkey
        N(    R'R(R    R)R
t    GetBuffIDRRR ( RRR3R+RR,RR%RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR1‡s(        
 cCs\xU|jjƒD]D\}}||kr.qn|j|ƒ|s|jj|ƒqqWdS(N(RR tpop(RRRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffPassiveEffect¤s  (    t__name__t
__module__RRR&R R4R1R7(((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(R=(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetHurtTypesÂscCs ||_dS(N(R=(Rt    hurtTypes((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetHurtTypesÃscCs|jtd|ƒO_dS(Ni(R=tpow(RthurtType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt AddHurtTypeÄscCs|jtd|ƒ@S(Ni(R=RJ(RRK((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt HaveHurtTypeÈscCs|jS(N(R>(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetHurtHPËscCs ||_dS(N(R>(RthurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHurtHPÌscCs|jS(N(R?(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetRealHurtHPÍscCs ||_dS(N(R?(Rt
realHurtHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetRealHurtHPÎscCs|jS(N(R@(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetLostHPÏscCs ||_dS(N(R@(RtlostHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetLostHPÐscCs|jS(N(RA(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetCurHPÑscCs ||_dS(N(RA(RtcurHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetCurHPÒscCs|jS(N(RB(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetSuckHPÓscCs ||_dS(N(RB(RtsuckHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetSuckHPÔscCs|jS(N(RC(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetBounceHPÕscCs ||_dS(N(RC(RtbounceHP((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetBounceHPÖs(R8R9RR;RDRFRGRIRLRMRNRPRQRSRTRVRWRYRZR\R]R_(((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(RteffIDtvaluesRR,((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÚs
                cCs|jS(N(Ra(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRâscCs$t|jƒ|kr |j|SdS(Ni(tlenRb(RR"((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueãscCs t|jƒS(N(RgRb(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValueCountäscCs|jS(N(Rb(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetEffectValuesåscCs|jS(N(Rc(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR'æscCs|jS(N(Rd(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR(çs(    R8R9RRRhRiRjR'R((((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR`Øs                    it    SklllDatacBs=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„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„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
GetPoolMgrtacquireR`R (RtipyDatatnumReRfRR,R+((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRîs            !cCs|jS(N(Rl(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetIpyDataýscCs |jjƒS(N(RlR*(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR*þscCs |jjƒS(N(RltGetSkillTypeID(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRvÿscCs |jjƒS(N(Rlt
GetSkillLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRwscCs |jjƒS(N(Rlt GetSkillMaxLV(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRxscCs |jjƒS(N(Rlt GetSkillName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRyscCs |jjƒS(N(Rlt GetFuncType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRzscCs |jjƒS(N(Rlt GetSkillType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR{scCs |jjƒS(N(Rlt GetHurtType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR|scCs |jjƒS(N(Rlt
GetAtkType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR}scCs |jjƒS(N(Rlt    GetTagAim(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR~scCs |jjƒS(N(RltGetTagFriendly(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(Rlt
GetTagSelf(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR€    scCs |jjƒS(N(Rlt GetTagAffect(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR
scCs |jjƒS(N(Rlt GetTagCount(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‚ scCs |jjƒS(N(Rlt GetCalcType(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRƒ scCs |jjƒS(N(Rlt GetSkillPer(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR„ scCs |jjƒS(N(Rlt GetSkillValue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR…scCs |jjƒS(N(Rlt GetHappenRate(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR†scCs$t|jƒ|kr |j|SdS(Ni(RgRm(RR"((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs t|jƒS(N(RgRm(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRsicCs|jj||ftƒS(N(RnRt EmptyEffect(RReR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetEffectByIDscCs |jjƒS(N(Rlt GetConnSkill(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‰scCs |jjƒS(N(RltGetCoolDownTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŠscCs |jjƒS(N(RltGetIgnoreStates(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‹scCs |jjƒS(N(RltGetCurBuffState(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŒscCs |jjƒS(N(Rlt GetLastTime(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(Rlt GetLayerCnt(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRŽscCs |jjƒS(N(Rlt GetLayerMax(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(Rlt GetBuffRepeat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRscCs |jjƒS(N(RltGetDieContinue(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR‘scCs |jjƒS(N(Rlt GetFightPower(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’scCs |jjƒS(N(RltGetSkillMotionName(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR“s($R8R9RRuR*RvRwRxRyRzR{R|R}R~RR€RR‚RƒR„R…R†RRRˆR‰RŠR‹RŒRRŽRRR‘R’R“(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRkìsD                                                                                                                                 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( RpRqRrRkt
_skillDatat_buffIDt_ownerIDt_layert    _calcTimet _remainTimet_value1t_value2t_value3(RRs((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.pyR0-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.pyR5/scCs ||_dS(N(R–(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetBuffID0scCs|jS(N(R—(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetOwnerID1scCs ||_dS(N(R—(RtownerID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetOwnerID2scCs|jS(N(R˜(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetLayer3scCs ||_dS(N(R˜(Rtlayer((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetLayer4scCs|jS(N(R™(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetCalcTime5scCs ||_dS(N(R™(RtcalcTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetCalcTime6scCs|jS(N(Rš(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetRemainTime7scCs ||_dS(N(Rš(Rt
remainTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetRemainTime8scCsuxnt|ƒ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.pytSetBuffValueList9s   cCs|jS(N(R›(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue1AscCs ||_dS(N(R›(RR°((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR¬BscCs|jS(N(Rœ(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue2CscCs ||_dS(N(Rœ(RR°((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR­DscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetValue3EscCs ||_dS(N(R(RR°((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR®Fs(R8R9RR0R*R5Rž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.pyRKs                        cCs^tjƒ}x|jD]}|j|ƒqWg|_i|_i|_i|_d|_dS(Ni(RpRqR¶treleaseR·R¸R¹R–(RtpoolMgrR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    ClearBuffUs                     cCs t|jƒS(N(RgR¶(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/ascCsÔ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 IpyGameDataPYtGetIpyGameDataRvR–RpRqRrR”RžR¶R R·R¸(RRRRst skillTypeIDRtbuffIDs((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddBuffcs"         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·R6R¶tremoveR5t    GameWorldtErrLogR¸R RpRqRº(RRRºRtlBuffRÁt
buffIDList((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytDelBuffzs&!  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ÀtFindBuffListBySkillTypeIDRv(RRR3((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¹R RÅ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ÄR6RÅ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(R8R9RR¼R.R/RÃtTrueRÉRÊRÌRËRÏRÑRÒRÓRÔ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRµHs    
                              
        
         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„Zdd„Zd„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„Z2RS(2cCs^tjƒjt|ƒ|_d|_d|_d|_g|_g|_    d|_ g|_ dS(Ni( RpRqRrRkR•R™Ršt_batTypet _tagObjListt    _hurtListR¾t_bySkillt_afterLogicList(RRs((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•Rv(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRvÜscCs |jjƒS(N(R•Rw(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRwÝscCs |jjƒS(N(R•Rx(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRxÞscCs |jjƒS(N(R•Ry(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRyß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(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ˆ(RReR((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(RpRqRÙRº(RR»thurtObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRÜs
     cCs6tjƒjtƒ}|j|ƒ|jj|ƒ|S(N(RpRqRrR:RFRÙR (RttagIDRë((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.pytGetHurtObjLists(3R8R9RRÝR*RvRwRxRyRzR{R|R}R~RR€RR‚RƒR„R…R†RRRˆ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ÖÆsb                                                                                                                                                                                              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(RpRqRðRºRñ(RR»R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SkillReset&s          cCs t|jƒS(N(RgRð(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.pytGetSkillIDList0scCs|jj|dƒS(N(RñRR¾(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt FindSkillByID1scCs:d}x-|jD]"}|jƒ|kr|}PqqW|S(N(R¾RðRv(RRÁRts((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytFindSkillByTypeID2s cCs¯tjd|ƒ}|sdS||jkr/dS|jƒ}|j|ƒ}|rv|jƒ|krfdS|j|ƒntjƒj    t
|ƒ}||j|<|j j |ƒ|S(NR½( R¿RÀRñRvR÷R*t_SkillManager__deleteSkillRpRqRrRÖRðR (RRRsRÁR#((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytLearnSkillByID:s  cCsX|jƒ}|jj|dƒ||jkrA|jj|ƒntjƒj|ƒdS(N(    R*RñR6R¾RðRÄRpRqRº(RR#R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt __deleteSkillMs  ( R8R9RRòRRRôRõR÷RùRø(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRïs                                tBatObjcBsreZd„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„Z1e2d2„Z3d3„Z4e2d4„Z5e6d5„Z7d6„Z8e6d7„Z9d8„Z:d9„Z;e6d:„Z<d;„Z=d<„Z>d=„Z?d>„Z@d?„ZAd@„ZBdA„ZCdB„ZDdC„ZERS(DcCsNd|_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|_%dS(Ntii(&ttfGUIDR REtobjNametnpcIDtheroIDtskinIDtcountryt atkDistTypet    specialtytsextlvt
fightPowertfactiont    lineupNumtposNumt_hpt_xpRÕt_isAlivet _initAttrDictt _batAttrDictt_skillTempAttrDictt_kvDictt_skillUseCntDictt_skillTurnUseCntDictRpRqRrRït    _skillMgrRµt_buffMgrRt_passiveEffMgrthurtStattdefStattcureStat(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRXs@                                                                                                                icCsj||_i|_|jj|ƒi|_||_|jtjdƒ|_t    j
|ƒt j |ƒdS(s¥³õʼ»¯Õ½¶·ÊôÐÔ
        @param initAttrDict: ÒѾ­ËãºÃµÄÔÚÕóÈÝÖеÄÊôÐÔ£¬°üº¬î¿°í¡¢ÕóÈÝÊôÐԵȣ¬Õ½¶·ÖÐÖ»Òª¼ÆËãbuffÊôÐÔ¼´¿É
        @param initXP: ³õʼ»¯µÄÅ­ÆøÖµ
        iN( RRtupdateRR RR    t AttrID_MaxHPR tTurnBufftRefreshBuffAttrt 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ÕRRRR&(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(RE(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(R
R    (RR
R    ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetLineupPos·s    cCs|jS(N(R    (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt GetLineupNum½scCs|jS(N(R
(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    GetPosNum¾scCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
GetFaction¿scCs ||_dS(N(R(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt
SetFactionÀscCs|jS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyR’ÁscCs ||_dS(N(R(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt SetFightPowerÂscCs|jS(N(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.pyR-É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ÌscCs|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    tInControlledStateListRLRÕR$(RRÎ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytIsInControlled×scCs$|jƒstS|jƒr tStS(N(tIsAliveR$RNRÕ(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ŸRO(RRÈtobjMgrRRttagObj((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSneerTagObjæs     cCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyROöscCst|_d|_dS(Ni(R$R R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetDead÷s    cCs|jjtjdƒS(Ni(RRR    R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetMaxHPúscCs0||jtj<|r,t|tj|ƒndS(N(RR    RtNotifyObjInfoRefresh(RtmaxHPtisNotify((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetMaxHPûscCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetHPscCs)||_|r%t|tj|ƒndS(N(R RYR    t    AttrID_HP(RthpR[((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetHPs    cCs|j|jƒ|ƒdS(N(R`RX(RR[((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    SetHPFullscCs|jS(N(R (R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetXPscCs)||_|r%t|tj|ƒndS(N(R RYR    t    AttrID_XP(RtxpR[((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetXPs    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(RfR    t
AttrID_Def(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetDefscCsQ|jj|dƒ}|rM||jkrM||j|7}td|ƒ}n|S(Nii(RRRtmax(RtattrIDt includeTempR°((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRfs
cCs||j|<dS(N(R(RRlR°((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytSetBatAttrValuescCs$|jj|dƒ||j|<dS(Ni(RR(RRlR°((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytAddSkillTempAttrscCs i|_dS(N(R(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytClearSkillTempAttrscCs|jj|dƒS(Ni(RR(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillUseCntscCs|jj|dƒS(Ni(RR(RR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pytGetSkillTurnUseCntscCsD|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|j|7_|jS(N(R(Rt    hurtValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatHurtValue$scCs|j|7_|jS(N(R(RRU((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatDefValue)scCs|j|7_|jS(N(R(Rt    cureValue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt StatCureValue.s(FR8R9RR"R#R'R(R)R*R.RŸR¡R/R0R2R3R4R5R6R7R8R9R:R;R<R=R>R?R@RARBRCRDR’RERFRGRHRIRR-RJRKRLRNRPRVRORWRXR$R\R]R`RÕRaRbReRhRjRfRnRoRpRqRrRsRuRvRx(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRûUs„    $                                                                                                                                                                                                                                         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.pyR6s            cCs¥x2|jr4|jjdƒ}||jkr|SqWd}|j|krVd|_nx;|j|kr“|jd7_|j|jkrY|jSqYWtjdƒdS(Nii †is__getNewObjID error.(R{R6R|RzRÅRÆ(RREtmaxID((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__getNewObjIDRpRqRrRûRER|RÅRÐR$(Rt    newBatObjtnewObjID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    addBatObjLs      cCsAd}||jkr%|j|}ntr=tddƒ}n|S(Ni(R¾R|R$Rû(RRER((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRSZs cCs‚||jkrdS|jj|ƒ}|s/dS|j}tjd|ƒtjƒj|ƒ||jkr~|jj    |ƒndS(Ns»ØÊÕÕ½¶·µ¥Î»: objID=%s(
R|R6RERÅRÐRpRqRºR{R (RRER((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt    delBatObjbs     (R8R9RRR‚RSRƒ(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRy3s
                cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatat g_batObjMgrRy(t    batObjMgr((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRRys
         cCs!tjdttƒjƒƒdS(NsÕ½¶·µ¥Î»ÊýÁ¿: %s(RÅtLogRgRRR|(((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_AttrIDDictR+R,R-R)RpRqRrt ChNetSendPackttagObjInfoRefreshR/tObjIDt RefreshTypet ShareDefinetDef_PerPointValuetValuetValueExt
addBatPack(RRlR°t refreshTypetisBigt    turnFightt
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyRY„s              (((((((((((RÅR„R+R¿RŠRŽR    RpRRRR:R`R‡RkR”RµRÖRïRûRyRRRˆRY(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Attack\BattleObj.pyt<module>s.          *3)~X7ÞF