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
Õic@sOddlZddlZddlZddlZddlZddlZddlZddlZejddƒd„Z    de e d„Z dde e dd„Zdde e dd„Zde de d    „Zdddd
„Zd „Zd „Zdd „Zde dd„Zd„Zd„Ze d„Zde d„Zdd„ZdS(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        Cs]|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ƒgfƒ|r=|jƒnd}t|||||ƒ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    SetIsCopyRtDebugLogt    GetBuffIDt
GetSkillIDtSyncBuffRefresh(    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ƒ} | jtj||    ƒ} | j|
ƒt    ||| |||d|d|ƒ} | j
| ƒ| S(NtSkillitisSynct setLayerCnt( t IpyGameDataPYtGetIpyGameDatatGetIDtObjPoolt
GetPoolMgrtacquiret    BattleObjtPySkillt SetTagObjListt    OnAddBufftrelease(RtbatObjtskillIDt    buffOwnerR%t
afterLogicR,R-t skillIpyDatatownerIDt
tagObjListtpoolMgrtuseSkilltaddBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoAddBuffBySkillID?s      ' cCs|jƒ}|s|jƒn|}|r6|jƒnd}    |jƒ}
|sW|}n|jƒ} |jƒ} | tjtjgkrº|jtjƒrºt    j
d|
|| |    fƒdS| tjkrt j |||tj |ƒrt    j
d|
|| |    |jƒ|jƒfƒdSnd} | tjkrz| |
krz|jƒj|| ƒ} | szt    jd|| fƒdSnt||||ƒ}|jƒ}|jƒ}|dkrÍ|}t    j
d|ƒna|jƒ}|jtjƒ}|r.|jƒ s|jƒ|    kr.t    j|jƒ|ƒ}q.n|jƒ}|re|t j |||tj|ƒ7}nt    j
d|
||j ƒ|||| |    fƒ|jƒ}|dkr‡|r¯|j!|ƒ}t"|ƒ|kr„d}xZ|D]R}|sòqàn|j#ƒ| kr
qàn| s)|j$ƒ|j$ƒkrà|}qàqàW|rt    j
d|j%ƒ| |j$ƒfƒt&||||||ƒqq„q¯n(|d    kr|j'ƒ}x t(|j)ƒƒddd
…D]X}|j*|ƒ}|j+ƒ}|rþ|j'ƒ|krþq¿nt&||||||ƒq¿Wn‘|j!|ƒ}x|D]w}|sFq4n|j#ƒ| kr^q4n|j%ƒ}|j,ƒ}t    j
d ||| |fƒ|}|d krê||}|rÊ||krÊ|}nt    j
d ||||fƒn t    j
dƒ|j-|j.ƒƒ|j/|j0ƒƒ|j1|ƒ|j2|ƒ|j3ƒ|rl|rl|j4tj5|||gƒn"|rŽt6||||    dt7ƒnt8|||||ddƒ|SWt9||||||||d|d|ƒ}| tjkr
|r
t:|
||| | ƒn|S(NisFÎÞµÐ״̬ÏÂÃâÒ߸Ãbuff: curID=%s,skillID=%s,ownerID=%s,relatedSkillID=%ssVѪÁ¿µÍÓÚ°Ù·ÖxʱÃâÒß¿ØÖÆbuff: curID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,hp:%s/%ss/Ìí¼Ó¹â»·¼¼ÄÜʱÕÒ²»µ½¹âÔ´! skillID=%s,ownerID=%ss*Íⲿֱ½ÓÖ¸¶¨Ìí¼ÓµÄbuff²ã¼¶: setLayerCnt=%ssiOnAddBuff: curID=%s,skillID=%s,atkType=%s,buffValueList=%s,addLayerCnt=%s/%s,ownerID=%s,relatedSkillID=%sis8ɾ³ý¶ÀÁ¢²ã¼¶¶àÓàbuff: buffID=%s,ownerID=%s,remainTime=%siiÿÿÿÿsE    ÒѾ­´æÔÚ¸Ãbuff: buffID=%s,skillTypeID=%s,ownerID=%s,buffRepeat=%sisM        µþ¼Ó²ã¼¶: nowLayerCnt=%s,addLayerCnt=%s,updLayerCnt=%s,maxLayerCnt=%ss        Ä¬Èϸ²¸ÇR&t refreshTypeiR-R,(;R t
GetBySkillR0t GetSkillTypetChConfigtDef_SkillType_LstDepBufftDef_SkillType_Actiont CheckInStatetBatObjState_WudiRRt TurnPassivetGetTriggerEffectValuetPassiveEff_ImmuneControlBufftGetHPtGetMaxHPRtDef_SkillType_HalotGetBuffManagertFindBuffBySkillIDtErrLogR tGetSkillTypeIDt GetBuffRepeatt GetLayerCntt GetEffectByIDtPassiveEff_AddBuffLayerByWeightt GetTriggerSrctGetResultByWeightListtGetEffectValuesRtPassiveEff_AddBuffLayerMaxRtFindBuffListBySkillTypeIDtlent
GetOwnerIDRRt    DoBuffDeltGetCurBuffStatetranget GetBuffCounttGetBuffByIndexR RRRRRRtSetBuffValueListtResetEffectValueExt AddAfterLogictAfterLogic_AddBuffR!tTruetRefreshBuffEffectt __addNewBufft__addHaloBuffEffObjID(RR9t    buffSkillR;R%R<R,R-R:R)tcurIDR>t    skillTypet haloSrcBufft buffValueListt skillTypeIDt
buffRepeatt addLayerCntt addLayerEfft maxLayerCnttbuffMgrtbuffListtdelBufftbufft    buffStatetindexR(tbuffIDt nowLayerCntt updLayerCnttnewBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR7Qs¾                &     %    &    &%  &      
        
 -c
    Cs}|jƒ}
|jƒ} |j| ƒ} | sEtjd| |
ƒdS|rW|jƒnd} |jƒ}| jƒ}|jƒ}tjd|| || |f|
ƒ| j|ƒ| j|ƒ| j    |j
ƒƒ| j |ƒ| j |ƒ|j ƒ}|r|j||ƒn|r;|r;|jtj|| |gƒn"|    r]t||| | dtƒnt||| ||ddƒ| S(Ns    Ìí¼Óbuffʧ°Ü! skillID=%sisM    __addNewBuff. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timing=%sR&RDi(R0R tAddBuffRRRRRt
SetOwnerIDRRRRfRbt AddBuffStateRhRGRiR!RjRk(RR9RxRnRrR;R%R<R-R,RoR:R{R)R>R~ttimingt curBuffState((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRlÒs4               c
Cs t}|jƒ}|jƒ}x±td|jƒƒD]š}    |j|    ƒ}
|
jƒ} | dkrgq4n|
jƒr¶|
jƒt    j
t    j gkrÎ|dkrÎ|j |||
ƒqÎq4| t    j kr4t}q4q4W|r    |r    |r    tj||t    jd|d|ƒn|rt|ƒndS(Niit    connSkilltconnBuff(tFalseR tGetPassiveEffManagerRctGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayRZRGtTriggerSrc_SkilltTriggerSrc_SkillSelftAddBuffPassiveEffectt
AttrIDListRjRLtOnTriggerPassiveEffecttTriggerWay_BuffAddByOwnertRefreshBuffAttr( RR9R#RnR;RDt isRefreshAttrR(t passiveEffMgrt effectIndext    curEffectteffectID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRkñs$     * % c
CsÈ||kr|j|ƒdS|j|ƒ|jƒ}|j|ƒtjƒ}xr|D]j}|||gkrtqVn|j|ƒ}|sqVn|jƒj||ƒ}    |    s³qVn|    j|ƒqVWdS(N(t AddHaloObjIDtGetHaloObjIDListtSetHaloObjIDListR4t GetBatObjMgrt    getBatObjRRRS(
RoRR:R>Rqt haloObjIDListt    batObjMgrt    haloObjIDthaloObjthaloBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRms$       cCsL|dkr t|||ƒdS|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|j|ƒt|||ƒ|tj    krH||krH|j
ƒ}    t j d|||    fƒt jƒ}
x|    D]t} | |kråqÍn|
j| ƒ} | sqÍn| jƒj||ƒ} | s$qÍn| j|ƒt|| | ƒqÍWndS(NisN¹â»·buff»ØºÏ±ä¸üͬ²½ÆäËûÓÐЧĿ±ê¸Ã¹â»·: skillID=%s,ownerID=%s,haloObjIDList=%s(RaR0R`R R RFRR!RGRQRœRRR4RžRŸRRRS(RR9R#t
remainTimet    buffObjIDR>R(R:RpR 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!RkRa(RR9R#tupdLayert relatedSkillR)((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffLayerChangeFs  c Csút}t}|r|jƒnd}|r?|r?t}t}nt}    t}
|jƒ} |jƒ} |jƒ} |jƒ}|jƒ}|jƒ}|jƒ}|j    ƒ}|rÄ| j
|| ƒn| j | |ƒ|rðt || | |ƒn|r3|r3|r|jƒn| }|j tj| ||gƒnxÆtd|jƒƒD]¯}|j|ƒ}|jƒ}|svqIn|jƒ}|rà|tjkr¶tj||tjd|ƒn|jƒtjtjgkrøt}
qøqI|tjkrIt}    qIqIW|
r|jƒj| ƒn|    r+t|ƒn|tjkrö|| krö|j ƒ}t!j"d|||fƒt#j$ƒ}x{|D]p}|| kr—qn|j%|ƒ}|s²qn|jƒj&||ƒ}|sÖqnt'||||||ƒqWndS(s±É¾³ýbuff
    @param relatedSkill: ¹ØÁªµÄ¼¼ÄÜ
    @param afterLogic: ÊÇ·ñÐèÒªÔÚ¹ØÁª¼¼ÄÜ´¦ÀíÍê±Ïºó²Å´¦Àíɾ³ýºóÐøÂß¼­£¬Èç֪ͨ£¬´¥·¢±»¶¯µÈ
    @param tagObj: ÓÉË­ÒýÆðµÄbuffɾ³ý
    iRˆsN¹â»·buffɾ³ýͬ²½É¾³ýÆäËûÓÐЧĿ±ê¸Ã¹â»·: skillID=%s,ownerID=%s,haloObjIDList=%sN((RjR R‰R0RRRR`R RFRbt DelBuffStatetDelBufft SyncBuffDelRhRGtAfterLogic_DelBuffRcR‹RŒRRŽtTriggerWay_BuffDelRLR“RZRRR’RŠtDelBuffPassiveEffectR•RQRœRRR4RžRŸRSRa(RR9R#R©R<ttagObjR8R,R)R–thaveBuffPassiveEffR¦RxR~R>R(R:RpR†ttagObjIDR˜R™Ršt
triggerWayR R¡R¢R£R¤((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRaQsp                        cCsH|r|jƒnd}t|||jƒ|ƒtjƒj|ƒdS(Ni(R R­RR1R2R8(RR¦R#R©R)((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffDelAfterLogicOverŸscKs^|jƒ}|jƒsdStjtd|jƒdfƒ}|rZ|||||ndS(NsBuffAtkType_%d.%st DoBuffProcess(R RRRR(RR9R#tkwargsR(R
((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR¶¦s  "c Cs'|jƒ}|jƒ}|jƒ}|jƒ}tjd||jƒ|jƒ|||fƒi}i}|jƒ}xt    d|j
ƒƒD]}    |j |    ƒ}
|
s®qnxÜt    |
j ƒƒD]È} |
j | ƒ} | jƒ} | tjkr÷qÁn| jƒtjtjgkrqÁn| }| jdƒ}| jdƒ}|dkrU| }n|j|dƒ|||<|j|dƒ|||<qÁWqW|o§tjd|ƒi}|jƒ}xFt    |jƒƒD]2}    |j|    ƒ}td|jƒƒ}|jƒ}xùt    |j ƒƒD]å} |j | ƒ} | jƒ} | tjkrLqn| jƒr|| jƒtjtjgkr|qn| }| jdƒ|j|ƒ|}| jdƒ}|dkrÇ| }n|j|dƒ|||<|j|dƒ|||<qWqÍW|otjd|ƒtjd|ƒ|jƒ}tjj ƒ}xŸtjj!ƒD]Ž\}}||krtqVn||}|j"|t#ƒ}|dkr¢qVn|d|d    }|j$||ƒtjd
|||||fƒqVWxu|j!ƒD]g\}}||krqõn|j"|t#ƒ}||}|j$||ƒtjd ||||fƒqõW|jƒ}|jƒ}||krÑ| }|j%||ƒ|rÑ||krÑ|||7}|j&||ƒqÑntjd ||||fƒtjd ||jƒ|jƒ|||j'ƒfƒdS(sB Ë¢ÐÂbuffÊôÐÔ£¬Èç¹ûÓÐÉæ¼°µ½buffÊôÐÔ±ä¸üµÄ£¬Ö»ÄÜÈ«²¿buffÖØÐÂË¢
    s;RefreshBuffAttr ID:%s,atk=%s,def=%s,hp=%s/%s,batAttrDict=%siiis    skillAttrDict=%ss    buffsAttrDict=%ss    skbufAttrDict=%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,%sN((R0RORPtResetBattleEffectRRtGetAtktGetDeftGetSkillManagerRct GetSkillCounttGetSkillByIndexR‹RŒRRGR’RZRRtGetEffectValuetgetRRRdReRRR tTriggerSrc_BufftTriggerSrc_BuffSelftGetEffectValueExt AttrPerDicttvaluestitemstGetBatAttrValueR‰tSetBatAttrValuetSetMaxHPtSetHPtGetBatAttrDict(R9tisInittobjIDtbefHPtbefMaxHPt batAttrDictt skbufAttrDictt skillAttrDictt skillManagerR}R    teIndexteffectteffIDtattrIDt    attrValuetcalcTypet buffsAttrDictRxR{tlayerR(t    perIDListt    attrPerIDt attrPerValuetupdValuetaddValuetaftHPtaftMaxHPtisNotify((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR•¯s         &   
"   *  
"  
 $ 
!   5cCsÎtjƒjtjƒ}|jƒ|_|jƒ|_|j    ƒ|_
||_ |j ƒ|_ |jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|r´dnd|_|j|ƒdS(Nii(R1R2R3tChPyNetSendPackttagSCBuffRefreshR0tObjIDRtBuffIDR tSkillIDtRelatedSkillIDRtLastTimeRtLayerR`tOwnerIDRtValue1RtValue2RtValue3tIsAddt
addBatPack(RR"R#R)R&t
clientPack((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR!s     cCsDtjƒjtjƒ}||_||_||_|j|ƒdS(N(    R1R2R3Rãt tagSCBuffDelRåRæRèRð(RRÌR~R)Rñ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR­'s              (RGRRãR.RR4R1RLt    ImportAllR RR‰RjR*RCR7RlRkRmR§RªRaRµR¶R•R!R­(((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt<module>s.                       N             g