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
Áijc@sšddlZddlZddlZddlZddlZddlZddlZddlZejddƒd„Z    de e d„Z dde e dd„Zdde e d„Zde de ddd    „Zd
„Zd „Zdddd „Zd „Zd„Zd„Zdd„Zde de e dd„Zd„Zd„Zd„Zd„Zd„Zd„Ze d„Zde d„Z dd„Z!dS(iÿÿÿÿNs Script\Skill\t    TurnBuffscCse|jƒsgStjtd|jƒdfƒ}|s<gS|||||ƒ}|dkragS|S(NsBuffAtkType_%d.%st CalcBuffValue(t
GetAtkTypet    GameWorldt GetExecFuncRtNone(t    turnFighttattackertdefendertcurSkilltcallFunctret((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytGetAddBuffValues " c        Csi|jƒ}|j|jƒƒ|rl|jt|jƒ|jƒƒƒ|jt|jƒ|j    ƒƒƒn&|j|jƒƒ|j|jƒƒ|j
|j ƒƒ|j |j ƒƒ|j|jƒƒ|jdƒtjd|jƒ|jƒ|jƒ|jƒ|j ƒ|j ƒ|jƒgƒ|r9|jƒnd}t|||||ƒtj||ƒdS(sc¿½±´buffÊý¾Ý£¬²»º¬Ä¿±êbuffID¡¢¹éÊô£¬²¢Ë¢ÐÂʱ¼ä
    @param refreshTimeLayer: Ë¢ÐÂÊ£Óàʱ¼ä¡¢²ã¼¶
    isC    ¿½±´buff: curBuffID=%s,tagBuffID=%s,Remain=%s,Layer=%s,Value=%siN(t GetSkillDatat SetAddTimingt    GetTimingt SetRemainTimetmaxt GetRemainTimet GetLastTimetSetLayertGetLayert GetLayerMaxt    SetValue1t    GetValue1t    SetValue2t    GetValue2t    SetValue3t    GetValue3t    SetIsCopyRt
DebugLogExt    GetBuffIDt
GetSkillIDtSyncBuffRefresht
TurnAttacktAddTurnObjShieldValue(    Rt    curBatObjtcurBuffttagBufftbySkilltisNewAddtrefreshTimeLayert    skillDatatrelatedSkillID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytCopyBuff(s$ "%     $"ic Cs‘|s
dStjd|ƒ}|s&dS|r8|jƒnd}    |g}
tj||    ƒ} | j|
ƒt||| |||d|d|ƒ} | S(NtSkillitisSynct setLayerCnt(t IpyGameDataPYtGetIpyGameDatatGetIDt    BattleObjtPySkillt SetTagObjListt    OnAddBuff( RtbatObjtskillIDt    buffOwnerR't
afterLogicR.R/t skillIpyDatatownerIDt
tagObjListtuseSkilltaddBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoAddBuffBySkillID@s     'c%Ksê|jƒ}|s|jƒn|}|r6|jƒnd}    |jƒ}
|sW|}n|jƒ} |jƒ} | tjtjtjgkr|jtj    ƒr¼t
j d|
|| |    ƒdSt j |||tj|ƒrÞdSt j |||tj|ƒrdSn| tjkr¸t j |||tj|ƒr_t
j d|
|| |    |jƒ|jƒƒdSt j |||tj|ƒr¸t
j d|
|| |    ƒt||||||||Snd} | tjkr| |
kr|jƒj|| ƒ} | st
jd|| fƒdSn|jddƒ}|rQ|jƒ|jƒ|jƒg}nt||||ƒ}|jƒ}|j ƒ}|jddƒ}|jddƒ}|dkrÇ|}t
j d    |ƒn¨|dkrìt
j d
|ƒd }nƒ|j!ƒ}|j"tj#ƒ}|rM|j$ƒ s/|j$ƒ|    krMt
j%|j&ƒ|ƒ}qMn|t j |||tj'|ƒ7}|j(ƒ}|rÒ|t j |||tj)|ƒ7}|dkrÒt*d t+||d ƒƒ}qÒnt
j d |
||j,ƒ|||| |    ƒ    |jƒ}|dkrì|rª|j-|ƒ}t.|ƒ|kréd}xZ|D]R}|s[qIn|j/ƒ| krsqIn| s’|j0ƒ|j0ƒkrI|}qIqIW|ræt
j d|j1ƒ| |j0ƒƒt2||||||ƒqæqéqªn¾|dkrƒ|j3ƒ}x£t4|j5ƒƒddd…D]X}|j6|ƒ}|j7ƒ}|rc|j3ƒ|krcq$nt2||||||ƒq$Wn'|j-|ƒ}x|D] }|s«q™n|j/ƒ| krÃq™n|j1ƒ}|j8ƒ}t
j d||| |||ƒt9} |j:ƒ}!|}"|dkrˆ|rG||krGt
j d||ƒdS||}"|rl|"|krl|}"nt
j d|||"|ƒnQ|d krÆ|j:ƒ}#|j0ƒ|#}!t
j d|#|!ƒnt
j dƒt;} | rõ|j<|j=ƒƒn|j>|!ƒ|j?|"ƒ|j@|ƒ|jAƒtB||||||rg|rg|jCtjD|||gƒn"|r‰tE||||    dt;ƒntF|||||ddƒ|SWtG||||||||d|d|d| d||}$|$S(NisFÎÞµÐ״̬ÏÂÃâÒ߸Ãbuff: curID=%s,skillID=%s,ownerID=%s,relatedSkillID=%ssVѪÁ¿µÍÓÚ°Ù·ÖxʱÃâÒß¿ØÖÆbuff: curID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,hp:%s/%ss6·´¿Ø: curID=%s,skillID=%s,ownerID=%s,relatedSkillID=%ss/Ìí¼Ó¹â»·¼¼ÄÜʱÕÒ²»µ½¹âÔ´! skillID=%s,ownerID=%stcopyBuffR/t setLayerPers*Íⲿֱ½ÓÖ¸¶¨Ìí¼ÓµÄbuff²ã¼¶: setLayerCnt=%ss0Íⲿֱ½ÓÖ¸¶¨Ìí¼ÓµÄbuff²ã¼¶°Ù·Ö±È: setLayerPer=%sigY@siOnAddBuff: curID=%s,skillID=%s,atkType=%s,buffValueList=%s,addLayerCnt=%s/%s,ownerID=%s,relatedSkillID=%sis8ɾ³ý¶ÀÁ¢²ã¼¶¶àÓàbuff: buffID=%s,ownerID=%s,remainTime=%siiÿÿÿÿsW    ÒѾ­´æÔÚ¸Ãbuff: buffID=%s,skillTypeID=%s,ownerID=%s,buffRepeat=%s,nowLayerCnt=%s/%sis#    ÒÑ´ï×î´ó²ãÊý: nowLayerCnt=%s/%ssM        µþ¼Ó²ã¼¶: nowLayerCnt=%s,addLayerCnt=%s,updLayerCnt=%s,maxLayerCnt=%ss-        ÑÓ³¤»ØºÏ: addTime=%s,updRemainTime=%ss        Ä¬Èϸ²¸ÇR(t refreshTypeiR.t haloSrcBuff(HR t
GetBySkillR2t GetSkillTypetChConfigtDef_SkillType_LstDepBufftDef_SkillType_DepBufftDef_SkillType_Actiont CheckInStatetBatObjState_WudiRRt TurnPassivetGetTriggerEffectValuetPassiveEff_ImmuneControlDepBufftPassiveEff_ImmuneBadBufftPassiveEff_ImmuneControlBufftGetHPtGetMaxHPtPassiveEff_ControlBackBuffR6RtDef_HaloSkill_ListtGetBuffManagertFindBuffBySkillIDtErrLogtpopRRRR tGetSkillTypeIDt GetBuffRepeatt GetLayerCntt GetEffectByIDtPassiveEff_AddBuffLayerByWeightt GetTriggerSrctGetResultByWeightListtGetEffectValuestPassiveEff_AddBuffLayerRtPassiveEff_AddBuffLayerMaxRtintRtFindBuffListBySkillTypeIDtlent
GetOwnerIDRRt    DoBuffDeltGetCurBuffStatetranget GetBuffCounttGetBuffByIndexR RtFalseRtTrueRRRRtSetBuffValueListtResetEffectValueExt    OnBuffAddt AddAfterLogictAfterLogic_AddBuffR!tRefreshBuffEffectt __addNewBuff(%RR7t    buffSkillR9R'R:R.tkwargsR8R+tcurIDR<t    skillTypeRDRAt buffValueListt skillTypeIDt
buffRepeatR/RBt addLayerCntt addLayerEfft maxLayerCnttbuffMgrtbuffListtdelBufftbufft    buffStatetindexR*tbuffIDt nowLayerCnttresetAddTimingt
remainTimet updLayerCnttaddTimetnewBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR6Psô            ""$         " " #    "    "%  &       
          
 <c  KsÇ|jƒ} |jƒ}|j|ƒ}|sDtjd|| ƒdS|rV|jƒnd}|jƒ}|jƒ}|jƒ}|jƒ}| rÍtjd|| ƒ|jdƒ| j    ƒ}| j
ƒ}n.|j ƒ}|t j |||tj|ƒ7}tjd||||||||| ƒ
|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j|ƒ|jƒ}|r‰|j||ƒn|tjkr±t| ||||
ƒnt||||| |r|r|jtj|||gƒ|r9|jtj|||gƒq9n"|    r9t||||dtƒnt|||||dd| |rt|ƒr|jtj tj!|||gƒn|tj"krÃ|jtj tj#|||gƒn|S(Ns    Ìí¼Óbuffʧ°Ü! skillID=%sis    ¸´ÖÆÌí¼Óbuff! skillID=%sisx    __addNewBuff. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timing=%s,remainTime=%s,setLayerCnt=%s,afterLogic=%sR(RC($R2R tAddBuffRRRRRFRRRRRMRNRGtPassiveEff_AddBuffTimeRt
SetOwnerIDRRRoRit AddBuffStateRUt__addHaloBuffEffObjIDRqRrRsR!RnRttIsControlledHardStatetAfterLogic_TriggerAddBufftTriggerWay_BeControlledHardRHtTriggerWay_AddDOTBuff(RR7R€RvRzR9R'R:R/R.RDRARwRxR8RƒR+R<R†ttimingRyR‰t curBuffState((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRuìsV         "           "%%cCs9d}tjddiƒ}||kr+dS|||kS(Nt1tBuffStateGroupi(R0tGetFuncEvalCfg(tstatet
stateGrouptbuffStateGroupDict((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR’#s
 cCsÏg}|jƒ}xot|jƒƒD][}|j|ƒ}|jƒ}|jƒtjkraq%n|jƒrsq%n|j    |ƒq%WxD|D]<}t
j d|j ƒ|j ƒfƒt||||ƒq‹WdS(Ns½â¿Ø: objID=%s,buffID=%s(RVRjRkRlR RFRGRJtGetDispersedLimittappendRtDebugLogR2RRh(RtbuffObjt    connSkillRR€R…RƒR*((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDelControlledBuff+s    #c Ks±t}|jƒ}|jƒ}    xŸtd|jƒƒD]ˆ}
|j|
ƒ} | jƒ} | dkrgq4n| jƒr¤|dkr¼| jƒr¼|    j    ||| ƒq¼q4| t
j kr4t }q4q4W|r|r|rt j||t
jd|d|d||n|sO|jƒ} x:| jƒD])}|d}|t
j krt }PqqWn|rbt|ƒn|dkr­|jƒt
jkr­|j|jƒdƒt|||ƒndS(NiittagObjR¢tconnBuffi(ii(RmR tGetPassiveEffManagerRjtGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWaytGetTriggerBuffEnabletAddBuffPassiveEffectRGt
AttrIDListRnRMtOnTriggerPassiveEffecttTriggerWay_BuffAddByOwnertGetEffectExDicttkeystRefreshBuffAttrRitBatObjState_FrozentSetBeFrozenCnttGetBeFrozenCntt__smyRecordEnemyFrozen(RR7R%RvR9RCRwt isRefreshAttrR*t passiveEffMgrt effectIndext    curEffectteffectIDt    effExDictt effCalcInfoteffID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRt>s8      . 
  !c Csð|jƒ}|tjkr$tjntj}|j|ƒ}|sFdS|jdƒ}|jtjƒ}| s{|jƒ rdStj    }|j
ƒj |ƒ}    |    s¸t j d|ƒdS|jdƒd}
|jd|
ƒt j d|
ƒdS(s*ÌØÊâ´¦Àí˾Âíܲ¼Ç¼µÐ·½±ù¶³£¬±È½ÏÌØÊ⣬ʹÓó¡¾°±È½ÏרÓã¬Ö±½Óд£¬¼õÉÙÿ´ÎbuffµÄ´¥·¢±»¶¯±éÀú´ÎÊý
    Ç±ÄÜID 1012050
    Ë¾Âíܲ´æ»îʱ£¬¼Ç¼µÐ·½±»±ù¶³´ÎÊý£¬Ë¾ÂíܲËÀÍöºó£¬¶ÔµÐ·½·µ»¹¹¥»÷Á¦100%µÄÉ˺¦£¬µÐ·½Ã¿±»±ù¶³Ò»´Î£¬É˺¦ÌáÉý100%£¬×î¶àÌáÉýÖÁ1000%£¬±¾´ÎÉ˺¦Óɵз½ËùÓÐÈ˾ù̯¡££¨Á½¸öÒ»ÆðËÀËãÎÒ·½Ê¤Àû£©
    Nis(˾Âíܲ»¹Ã»ÓмǼµÐ·½±»±ù¶³´ÎÊýµÄDZÄÜ: %st EnemyFrozens˾Âíܲ¼Ç¼µÐ·½±»±ù¶³´ÎÊý: %s(t
GetFactionRGt Def_FactionBt Def_FactionAt getBatFactiont getBatlineupt
getHeroObjt HeroID_SimayitIsAlivetSkillID_SmyFanzhaotGetSkillManagert FindSkillByIDRRt GetDictByKeytSetDict( RR7R%tfactiont
smyFactiont
batFactiont    batLineuptsmyObjt
smySkillIDtsmySkillt    frozenCnt((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR¶is$ !    c
CsÛ||kr|j|ƒdS|j|ƒ|jƒ}|j|ƒ|j|jƒƒtjƒ}xr|D]j}|||gkr‡qin|j|ƒ}|s¢qin|jƒj    ||ƒ}    |    sÆqin|    j|ƒqiWdS(N(
t AddHaloObjIDtGetHaloObjIDListtSetHaloObjIDListRRR3t GetBatObjMgrt    getBatObjRVRW(
RxRŒR8R<RDt haloObjIDListt    batObjMgrt    haloObjIDthaloObjthaloBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR‘s&       cCsH|dkr t|||ƒdS|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|j|ƒt|||ƒ|tj    krD||krD|j
ƒ}    t j d|||    ƒt jƒ}
x|    D]t} | |kráqÉn|
j| ƒ} | süqÉn| jƒj||ƒ} | s qÉn| j|ƒt|| | ƒqÉWndS(NisN¹â»·buff»ØºÏ±ä¸üͬ²½ÆäËûÓÐЧĿ±ê¸Ã¹â»·: skillID=%s,ownerID=%s,haloObjIDList=%s(RhR2RgR R RFRR!RGRURÖRRR3RØRÙRVRW(RR7R%R‰t    buffObjIDR<R*R8RyRÚRÛRÜRÝRÞ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytSetBuffRemainTime˜s4            cCso|dkrX|j|ƒ|r+|jƒnd}t||||ƒt|||ƒdSt||||ƒdS(Ni(RR R!RtRh(RR7R%tupdLayert relatedSkillR+((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffLayerChange¸s  c    # CsÖt}    |r|jƒnd}
|r9|r9t}    t}nt} t} |jƒ} |jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|j    ƒ}t
j d| ||||ƒ|rÚ|j ||ƒn|j ||    ƒ|rt|| ||
ƒn|rL|rL|r$|jƒn| }|jtj| |||gƒnx'td|jƒƒD]}|j|ƒ}|jƒ}|sqbn|jƒ}|rZ|tjkrÏtj||tjd|ƒns|tjkrB|jƒjtjd|ƒ}|rB|rB|rBtj|g}|jtj| |||gƒqBn|jƒrrt} qrqb|tjkrbt} qbqbW| r’|jƒj|ƒn| sá|j ƒ}x:|j!ƒD])}|d}|tjkr±t} Pq±q±Wn| rû| rût"|ƒnt#|||ƒ|tj$krÒ|| krÒ|j%ƒ}t
j d|||ƒt&j'ƒ}x{|D]p} | | krsq[n|j(| ƒ}!|!sŽq[n|!jƒj)||ƒ}"|"s²q[nt*||!|"|||ƒq[Wn| S(s·ɾ³ýbuff
    @param relatedSkill: ¹ØÁªµÄ¼¼ÄÜ
    @param afterLogic: ÊÇ·ñÐèÒªÔÚ¹ØÁª¼¼ÄÜ´¦ÀíÍê±Ïºó²Å´¦Àíɾ³ýºóÐøÂß¼­£¬Èç֪ͨ£¬´¥·¢±»¶¯µÈ
    @param tagObj: ÓÉË­ÒýÆðµÄbuffɾ³ý
    @param noRefreshAttr: ²»Ë¢ÐÂÊôÐÔ
    @return: isRefreshAttr ÊÇ·ñÐèҪˢÊôÐÔ£¬Èç¹ûÉèÖÃÁË noRefreshAttr£¬ÔòÒªÔÚÍâ²ãË¢ÊôÐÔ
    @return: afterTriggerData afterLogicΪTrueʱ£¬¸½´øµÄ±»¶¯´¥·¢Êý¾Ý£¬ÒòΪbuff±»É¾³ýºó¸Ãbuff×Ô´øµÄ±»¶¯Ð§¹ûÒ²»á±»É¾³ý£¬ËùÒÔÏÈ»º´æ¹©ºóÐø´¦Àí
    is?ɾ³ýbuff: objID=%s,ownerID=%s,buffID=%s,skillID=%s,buffState=%sR¥sN¹â»·buffɾ³ýͬ²½É¾³ýÆäËûÓÐЧĿ±ê¸Ã¹â»·: skillID=%s,ownerID=%s,haloObjIDList=%s(+RnR RmR2RVRRgR RFRiRRt DelBuffStatetDelBufft SyncBuffDelRrRGtAfterLogic_DelBuffRjR§R¨R©RªtTriggerWay_BuffDelRMR®tTriggerWay_BuffDelAfterR¦tGetPassiveEffByTriggerR«R­tDelBuffPassiveEffectR°R±R²t    OnBuffDelRURÖR3RØRÙRWRh(#RR7R%RâR:R¤t noRefreshAttrR.tafterTriggerDatatreleaseR+R·thaveBuffPassiveEffRßR€R†R<R*R8RyR—ttagObjIDR¹RºR»t
triggerWayt effInfoListR¼R½R¾RÚRÛRÜRÝRÞ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRhÃsŠ
              "  %    
        cCs5|r|jƒnd}t|||jƒ|ƒdS(Ni(R RæR(RRßR%RâR+((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffDelAfterLogicOver&scKsa|jƒ}|jƒsdStjtd|jƒdfƒ}|r]||||||ndS(NsBuffAtkType_%d.%sRq(R RRRR(RR7R9R%RwR*R
((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRq,s  "cKs^|jƒ}|jƒsdStjtd|jƒdfƒ}|rZ|||||ndS(NsBuffAtkType_%d.%sRì(R RRRR(RR7R%RwR*R
((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRì5s  "cKs^|jƒ}|jƒsdStjtd|jƒdfƒ}|rZ|||||ndS(NsBuffAtkType_%d.%st DoBuffProcess(R RRRR(RR7R%RwR*R
((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRõ>s  "c        Csåt}|jƒ}|jƒ}x­t|jƒƒddd…D]Œ}|j|ƒ}|jƒ}|jƒ}|jƒt    dt
j ƒ@r£t j d|||ƒq>nt|||dtdtƒr>t}q>q>W|rát|ƒndS(Niÿÿÿÿis/ËÀÍö²»Çå³ýµÄbuff: objID=%s,buffID=%s,skillID=%sRíR.(RmR2RVRjRkRlRR t GetBuffRetaintpowRGtBuffRetainType_DeadRRRhRnR²(    RR7R·tobjIDR€R…RƒR†R8((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt DoBuffByDeadGs  &    c
Cs[t}|jƒ}|jƒ}xÃt|jƒƒddd…D]¢}|j|ƒ}|jƒ}|jƒ}|jƒt    dt
j ƒ@r¹t j d|||ƒt|||dtƒq>nt|||dtdtƒr>t}q>q>W|r÷t|ƒntjƒ}    xQ|jD]F\}
} |j|
ƒ} | j| ƒ} x| jƒD] }|    j|ƒ}|jƒskqDn|jƒ}xÕt|jƒƒD]Á}|j|ƒ}|jƒ}| sŠ||krÄqŠn|jƒ|krÜqŠn|jƒ}t j d|||ƒ|jƒj|ƒ}|s5t|||d|ƒqŠnt|||d|ƒqŠWqDWq WdS(    Niÿÿÿÿis/¸´»î²»Çå³ýµÄbuff: objID=%s,buffID=%s,skillID=%sR(RíR.s6¸´»îºóÖØÐÂÌí¼Ó¹â»·: objID=%s,ownerID=%s,haloSkillID=%sR9( RmR2RVRjRkRlRR RöR÷RGtBuffRetainType_ReviveRRR!RnRhR²R3RØtactionSortListRÃRÄtgetAllPosObjIDListRÙRÇRÖRgRÉRÊR@R6(RR7R·RùR€R…RƒR†R8RÛRÍtnumRÏRÐRñR¤t
tagBuffMgrRÚt haloSkillIDt    haloSkill((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffByRevive[sN  &         "c+ Cs„|jƒ}|jƒ}|jƒ}|jƒtjk}d}|sZ|jƒjƒ}n|rl|jƒnd}|j    ƒ}t
j d||j ƒ|j ƒ|||||ƒ    i}    i}
|jƒ} x#td| jƒƒD] } | j| ƒ} | sþqÝnxèt| jƒƒD]Ô}| j|ƒ}|jƒ}|tjkrGqn|jƒrYqn|jƒtjgkrwqn|}|jdƒ}|jdƒ}|dkr±| }n|
j|dƒ||
|<|    j|dƒ||    |<qWqÝW|
ot
j d|
ƒi}|jƒ}xt|jƒƒD]} |j| ƒ}td|jƒƒ}|j ƒ}|j!ƒ}|tj"kr”|j#ƒ|kr”q(q”n|j$ƒ}x•|j%ƒD]‡\}}|\}}|tjkrÚq­n|}||}|dkr| }n|j|dƒ|||<|    j|dƒ||    |<q­Wxít|jƒƒD]Ù}|j|ƒ}|jƒ}|tjkrqKn|jƒr“qKn|jƒ p©|j&ƒs²qKn|}|jdƒ|}|jdƒ}|dkrð| }n|j|dƒ|||<|    j|dƒ||    |<qKWq(W|oAt
j d|ƒt
j d|    ƒ|jƒ}t'}tj(j)ƒ}x$tj(j%ƒD]\}}d} ||    kr²| |    |7} n|rí| |j*|ƒ7} | r(t
j d||| ƒq(n;|r(| r(t+}|j,|| ƒt
j d    ||| ƒn| s4qƒn|j*|t'ƒ}|dkrXqƒn|d
| d }!|j,||!ƒt
j d |||| |!ƒqƒWxq|    j%ƒD]c\}}"||krÅq§n|j*|t'ƒ}||"}!|j,||!ƒt
j d |||"|!ƒq§W|jƒ}#|jƒ}$|$|kr¤| }%|j-|$|%ƒ|r||$|kr||#|$|7}#|j.|#|%ƒq¤|#|$kr¤|$}#|j.|#|%ƒq¤nt
j d|||#|$ƒt
j d||j ƒ|j ƒ|#|$|j/ƒƒ|r€|r€| r€|jƒ}&t0j1ƒ}'|&j2ƒ}(t
j d|(ƒxH|(D]=})|'j3|)ƒ}*|*s]q<n|*j4ƒsoq<nt5|*ƒq<WndS(sB Ë¢ÐÂbuffÊôÐÔ£¬Èç¹ûÓÐÉæ¼°µ½buffÊôÐÔ±ä¸üµÄ£¬Ö»ÄÜÈ«²¿buffÖØÐÂË¢
    isKRefreshBuffAttr ID:%s,atk=%s,def=%s,hp=%s/%s,isMingge=%s(%s),batAttrDict=%siis    skillAttrDict=%ss    buffsAttrDict=%ss    skbufAttrDict=%ss8    Ãü¸ñ¶îÍâ¼Ó³É: attrID=%s,attrPerID=%s,attrPerValue=%ss8    Ãü¸ñ±£´æ¼Ó³É: attrID=%s,attrPerID=%s,attrPerValue=%si'gˆÃ@s=    attrID=%s(PerID:%s),attrValue=%s(PerValue:%s),updValue=%ss2    attrID=%s,attrValue=%s,addValue=%s,updValue=%ss    befHP=%s/%s, aftHP=%s/%ss,    ×îÖÕÊôÐÔ ID:%s,atk=%s,def=%s,hp=%s/%s,%ss6Ãü¸ñÓмӳÉÊôÐÔͬ²½Ë¢Ð±¾ÕóÈÝÎ佫ÊôÐÔ: heroObjIDList=%sN(6R2RRRSt    GetPosNumRGtTFPosNum_MinggeRtGetTFBatLineupt getMinggeObjtResetBattleEffectRRtGetAtktGetDefRÉRjt GetSkillCounttGetSkillByIndexR§R¨R©R­RªR_tTriggerSrc_SkilltGetEffectValuetgetRVRkRlRRR RFtDef_SkillType_HaloDepRgR°titemsR«Rmt AttrPerDicttvaluestGetBatAttrValueRntSetBatAttrValuetSetMaxHPtSetHPtGetBatAttrDictR3RØtgetBatHeroObjIDListRÙRÇR²(+R7tisInitRùtbefHPtbefMaxHPtisMinggetmgObjtmgObjIDt batAttrDictt skbufAttrDictt skillAttrDictt skillManagerR…R    teIndexteffectR¾tattrIDt    attrValuetcalcTypet buffsAttrDictR€RƒtlayerR*RyR¼R½t
effValueExt mgHaveAttrPert    perIDListt    attrPerIDt attrPerValuetupdValuetaddValuetaftHPtaftMaxHPtisNotifyRÐRÛt heroObjIDListt    heroObjIDtheroObj((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR²Œs        (    
"         
 
 
"      
    1     cCsÂtjƒ}|jƒ|_|jƒ|_|jƒ|_||_|j    ƒ|_
|j ƒ|_ |j ƒ|_|jƒ|_|jƒ|_|jƒ|_|r¨dnd|_|j|ƒdS(Nii(tChPyNetSendPackttagSCBuffRefreshR2tObjIDRtBuffIDR tSkillIDtRelatedSkillIDRtLastTimeRtLayerRgtOwnerIDRtValue1RtValue2RtValue3tIsAddt
addBatPack(RR$R%R+R(t
clientPack((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR!,s      cCs8tjƒ}||_||_||_|j|ƒdS(N(R7t tagSCBuffDelR9R:R<RD(RRùR†R+RE((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRæ=s               ("RGRR7R0RR3RMR"t    ImportAllR RRmRnR,R@R6RuR’R£RtR¶R‘RàRãRhRôRqRìRõRúRR²R!Ræ(((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt<module>s<             œ7        +              c                                    1