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
ö`)ic@sdddlZddlZddlZddlZddlZddlZddlZddlZejddƒd„Z    de e d„Z dde e dd„Zdde e d„Zde de d    „Zdddd
„Zd „Zd „Zdd „Zde de e d„Zd„Zd„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      ' c KsB|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ƒ}|jddƒ}|dkrß|}t    j
d|ƒnƒ|jƒ}|jtjƒ}|r@|jƒ s"|jƒ|    kr@t    j|jƒ|ƒ}q@n|t j |||tj|ƒ7}|j ƒ}|r™|t j |||tj!|ƒ7}nt    j
d|
||j"ƒ|||| |    fƒ|jƒ}|dkr»|rã|j#|ƒ}t$|ƒ|kr¸d}xZ|D]R}|s&qn|j%ƒ| kr>qn| s]|j&ƒ|j&ƒkr|}qqW|rµt    j
d    |j'ƒ| |j&ƒfƒt(||||||ƒqµq¸qãn(|d
krR|j)ƒ}x t*|j+ƒƒddd …D]X}|j,|ƒ}|j-ƒ}|r2|j)ƒ|kr2qónt(||||||ƒqóWn‘|j#|ƒ}x|D]w}|szqhn|j%ƒ| kr’qhn|j'ƒ}|j.ƒ}t    j
d ||| |fƒ|}|d kr||}|rþ||krþ|}nt    j
d||||fƒn t    j
dƒ|j/|j0ƒƒ|j1|j2ƒƒ|j3|ƒ|j4|ƒ|j5ƒ|r |r |j6tj7|||gƒn"|rÂt8||||    dt9ƒnt:|||||ddƒ|SWt;||||||||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=%sR-s*Íⲿֱ½ÓÖ¸¶¨Ìí¼ÓµÄ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 t
GetBySkillR0t GetSkillTypetChConfigtDef_SkillType_LstDepBufftDef_SkillType_Actiont CheckInStatetBatObjState_WudiRRt TurnPassivetGetTriggerEffectValuetPassiveEff_ImmuneControlBufftGetHPtGetMaxHPRtDef_SkillType_HalotGetBuffManagertFindBuffBySkillIDtErrLogR tGetSkillTypeIDt GetBuffRepeattgett GetLayerCntt GetEffectByIDtPassiveEff_AddBuffLayerByWeightt GetTriggerSrctGetResultByWeightListtGetEffectValuestPassiveEff_AddBuffLayerRtPassiveEff_AddBuffLayerMaxRtFindBuffListBySkillTypeIDtlent
GetOwnerIDRRt    DoBuffDeltGetCurBuffStatetranget GetBuffCounttGetBuffByIndexR RRRRRRtSetBuffValueListtResetEffectValueExt AddAfterLogictAfterLogic_AddBuffR!tTruetRefreshBuffEffectt __addNewBufft__addHaloBuffEffObjID( RR9t    buffSkillR;R%R<R,tkwargsR:R)tcurIDR>t    skillTypet haloSrcBufft buffValueListt skillTypeIDt
buffRepeatR-t 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
SetOwnerIDRRRRhRdt AddBuffStateRjRGRkR!RlRm(RR9R{RpRuR;R%R<R-R,RrR:R~R)R>Rttimingt curBuffState((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRnÔs4               c
Cst}|jƒ}|jƒ}xŸtd|jƒƒD]ˆ}    |j|    ƒ}
|
jƒ} | dkrgq4n|
jƒr¤|dkr¼|
jƒr¼|j    |||
ƒq¼q4| t
j kr4t }q4q4W|r÷|r÷|r÷t j||t
jd|d|ƒn|r
t|ƒndS(Niit    connSkilltconnBuff(tFalseR tGetPassiveEffManagerRetGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWaytGetTriggerBuffEnabletAddBuffPassiveEffectRGt
AttrIDListRlRLtOnTriggerPassiveEffecttTriggerWay_BuffAddByOwnertRefreshBuffAttr( RR9R#RpR;RDt isRefreshAttrR(t passiveEffMgrt effectIndext    curEffectteffectID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRmó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(
RrR„R:R>Rtt haloObjIDListt    batObjMgrt    haloObjIDthaloObjthaloBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRos$       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(RcR0RbR R RFRR!RGRQRžRRR4R R¡RRRS(RR9R#t
remainTimet    buffObjIDR>R(R:RsR¢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!RmRc(RR9R#tupdLayert relatedSkillR)((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffLayerChangeHs  c Csét}|r|jƒnd}    |r9|r9t}t}nt}
t} |jƒ} |jƒ} |jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|j    ƒ}|r¾| j
||ƒn| j ||ƒ|rêt || ||    ƒn|r-|r-|r|jƒn| }|j tj| ||gƒnx´td|jƒƒD]}|j|ƒ}|jƒ}|spqCn|jƒ}|rÈ|tjkr°tj||tjd|ƒn|jƒràt} qàqC|tjkrCt}
qCqCW| r|jƒj|ƒn|
r| rt|ƒn|tjkrå|| krå|jƒ}tj d|||fƒt!j"ƒ}x{|D]p}|| kr†qnn|j#|ƒ}|s¡qnn|jƒj$||ƒ}|sÅqnnt%||||||ƒqnWn|
S(s,ɾ³ýbuff
    @param relatedSkill: ¹ØÁªµÄ¼¼ÄÜ
    @param afterLogic: ÊÇ·ñÐèÒªÔÚ¹ØÁª¼¼ÄÜ´¦ÀíÍê±Ïºó²Å´¦Àíɾ³ýºóÐøÂß¼­£¬Èç֪ͨ£¬´¥·¢±»¶¯µÈ
    @param tagObj: ÓÉË­ÒýÆðµÄbuffɾ³ý
    @param noRefreshAttr: ²»Ë¢ÐÂÊôÐÔ
    @return: isRefreshAttr ÊÇ·ñÐèҪˢÊôÐÔ£¬Èç¹ûÉèÖÃÁË noRefreshAttr£¬ÔòÒªÔÚÍâ²ãË¢ÊôÐÔ
    iR‹sN¹â»·buffɾ³ýͬ²½É¾³ýÆäËûÓÐЧĿ±ê¸Ã¹â»·: skillID=%s,ownerID=%s,haloObjIDList=%s(&RlR RŒR0RRRRbR RFRdt DelBuffStatetDelBufft SyncBuffDelRjRGtAfterLogic_DelBuffReRŽRRR‘tTriggerWay_BuffDelRLR•R’R”RtDelBuffPassiveEffectR—RQRžRRR4R R¡RSRc(RR9R#R«R<ttagObjt noRefreshAttrR,R8R)R˜thaveBuffPassiveEffR¨R{RR>R(R:RsR‰ttagObjIDRšR›Rœt
triggerWayR¢R£R¤R¥R¦((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRcSsn                              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#RqR(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|||fƒq>nt|||dtdtƒr>t}q>q>W|råt|ƒndS(Niÿÿÿÿis/ËÀÍö²»Çå³ýµÄbuff: objID=%s,buffID=%s,skillID=%sR´R,(RŒR0RRReRfRgRR t GetBuffRetaintpowRGtBuffRetainType_DeadRRRcRlR—(    RR9R˜tobjIDR{R€R~RR:((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt DoBuffByDead³s  &    c    Cst}|jƒ}|jƒ}xºt|jƒƒD]¦}|j|ƒ}|jƒ}|jƒ}|jƒt    dt
j ƒ@r°t j d|||fƒt|||dtƒq1nt|||dtdtƒr1t}q1q1W|rît|ƒntjƒ}    |jƒ}
x
|
jjƒD]ù} |    j| ƒ} | jƒs=qn| jƒ} xÃt| jƒƒD]¯}| j|ƒ}|jƒ}| s\||kr–q\n|jƒ| kr®q\n|jƒ}t j d|| |fƒ| jƒj|ƒ}|sõq\nt|||d| ƒq\WqWdS(Nis/¸´»î²»Çå³ýµÄbuff: objID=%s,buffID=%s,skillID=%sR&R´R,s<¸´»îºóÖØÐÂÌí¼Ó±¾ÕóÓª¹â»·: objID=%s,ownerID=%s,haloSkillID=%sR;(RŒR0RRReRfRgRR RºR»RGtBuffRetainType_ReviveRRR!RlRcR—R4R t GetBatLineupt posObjIDDicttvaluesR¡tIsAliveRžRbtGetSkillManagert FindSkillByIDR7(RR9R˜R½R{R€R~RR:R£t    batLineupR¶R³t
tagBuffMgrR¢t haloSkillIDt    haloSkill((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffByReviveÇsH            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ƒtjgkrqÁn| }| jdƒ}| jdƒ}|dkrO| }n|j|dƒ|||<|j|dƒ|||<qÁWqW|o¡tjd|ƒi}|jƒ}xªt    |jƒƒD]–}    |j|    ƒ}td|jƒƒ}|jƒ}|jƒ}xs|jƒD]e\} }| tjkr7qn| }||}|j|dƒ|||<|j|dƒ|||<qWxÛt    |j ƒƒD]Ç} |j | ƒ} | jƒ} | tjkrÈq’n| jƒ pÞ| jƒsçq’n| }| jdƒ|}| jdƒ}|dkr%| }n|j|dƒ|||<|j|dƒ|||<q’WqÇW|owtjd|ƒtjd|ƒ|jƒ}tjjƒ}xŸtjjƒD]Ž\}}||krÒq´n||}|j |t!ƒ}|dkrq´n|d|d    }|j"||ƒtjd
|||||fƒq´Wxu|jƒD]g\}}||krqqSn|j |t!ƒ}||}|j"||ƒtjd ||||fƒqSW|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(&R0RORPtResetBattleEffectRRtGetAtktGetDefRÄRet GetSkillCounttGetSkillByIndexRŽRRRGR”R[tTriggerSrc_SkilltGetEffectValueRWRRRfRgRRR tGetEffectExDicttitemsR’t AttrPerDictRÂtGetBatAttrValueRŒtSetBatAttrValuetSetMaxHPtSetHPtGetBatAttrDict( R9tisInitR½tbefHPtbefMaxHPt batAttrDictt skbufAttrDictt skillAttrDictt skillManagerR€R    teIndexteffectteffIDtattrIDt    attrValuetcalcTypet buffsAttrDictR{R~tlayerR(t    effExDictt
effValueExt    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 tSkillIDtRelatedSkillIDRtLastTimeRtLayerRbtOwnerIDRtValue1RtValue2RtValue3tIsAddt
addBatPack(RR"R#R)R&t
clientPack((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR!es     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¯vs              (RGRRóR.RR4R1RLt    ImportAllR RRŒRlR*RCR7RnRmRoR©R¬RcR¸R¹R¾RÊR—R!R¯(((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt<module>s2             ƒ          P                    . p