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
•Õhc@s+ddlZddlZddlZddlZddlZddlZddlZddlZejddƒd„Z    de d„Z dde e d„Zdde e d„Zde de d    „Ze d
„Zdd „Zde dd „Zd „Zd„Zd„Zde d„Zdd„ZdS(iÿÿÿÿNs Script\Skill\t    TurnBuffscCs?tjtd|jƒdfƒ}|s,gS|||||ƒS(NsBuffAtkType_%d.%st CalcBuffValue(t    GameWorldt GetExecFuncRt
GetAtkType(t    turnFighttattackertdefendertcurSkilltcallFunc((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytGetAddBuffValues"c    Cs!|jƒ}|j|jƒƒ|jt|jƒ|jƒƒƒ|jt|jƒ|j    ƒƒƒ|j
|j ƒƒ|j |j ƒƒ|j|jƒƒtjd|jƒ|jƒ|jƒ|jƒ|j ƒ|j ƒ|jƒgfƒ|r|jƒnd}t|||||ƒdS(s3¿½±´buffÊý¾Ý£¬²»º¬Ä¿±êbuffID¡¢¹éÊô£¬²¢Ë¢ÐÂʱ¼ä
    sC    ¿½±´buff: curBuffID=%s,tagBuffID=%s,Remain=%s,Layer=%s,Value=%siN(t GetSkillDatat SetCalcTimet getTimelinet SetRemainTimetmaxt GetRemainTimet GetLastTimetSetLayertGetLayert GetLayerMaxt    SetValue1t    GetValue1t    SetValue2t    GetValue2t    SetValue3t    GetValue3RtDebugLogt    GetBuffIDt
GetSkillIDtSyncBuffRefresh(Rt    curBatObjtcurBuffttagBufftbySkilltisNewAddt    skillDatatrelatedSkillID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytCopyBuff#s ""    $&c     Csª|s
dStjd|ƒ}|s&dS|r8|jƒnd}|g}    tjƒ}
|
jtj||ƒ} | j|    ƒt    ||| |||d|ƒ} |
j
| ƒ| S(NtSkillitisSync( t IpyGameDataPYtGetIpyGameDatatGetIDtObjPoolt
GetPoolMgrtacquiret    BattleObjtPySkillt SetTagObjListt    OnAddBufftrelease( RtbatObjtskillIDt    buffOwnerR"t
afterLogicR(t skillIpyDatatownerIDt
tagObjListtpoolMgrtuseSkilltaddBuff((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoAddBuffBySkillID4s      ! cCsS|jƒ}|s|jƒn|}|r6|jƒnd}|jƒ}    |sW|}n|jƒ}
|jƒtjtjgkr´|jtjƒr´t    j
d|    ||
|fƒdS|jƒtjkrt j |||tj |ƒrt    j
d|    ||
||jƒ|jƒfƒdSnt||||ƒ} |jƒ} |jƒ} |jƒ}|jtjƒ}|r«|jƒ s|jƒ|kr«t    j|jƒ|ƒ}q«n|jƒ}|râ|t j |||tj|ƒ7}nt    j
d|    ||jƒ| |||
|fƒ|jƒ}| dkr|r(|j| ƒ}t|ƒ|krd}xZ|D]R}|soq]n|j ƒ|
kr‡q]n| s¦|j!ƒ|j!ƒkr]|}q]q]W|rþt    j
d|j"ƒ|
|j!ƒfƒt#||||||ƒqþqq(n$| dkr›|j$ƒ}x    t%|j&ƒƒddd…D]X}|j'|ƒ}|j(ƒ}|r{|j$ƒ|kr{q<nt#||||||ƒq<Wn|j| ƒ}x{|D]s}|sÃq±n|j ƒ|
krÛq±n|j"ƒ}|j)ƒ}t    j
d    || |
| fƒ|}| d
krg||}|rG||krG|}nt    j
d ||||fƒn t    j
d ƒ|j*|j+ƒƒ|j,|j-ƒƒ|j.|ƒ|j/| ƒ|rß|rß|j0tj1|||gƒn"|rt2||||d t3ƒn||kr#t4|||t5ƒn|SWt6||||| |||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/%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 setLayerCntR((7Rt
GetBySkillR+t GetSkillTypetChConfigtDef_SkillType_LstDepBufftDef_SkillType_Actiont CheckInStatetBatObjState_WudiRRt TurnPassivetGetTriggerEffectValuetPassiveEff_ImmuneControlBufftGetHPtGetMaxHPR
tGetSkillTypeIDt GetBuffRepeatt GetLayerCntt GetEffectByIDtPassiveEff_AddBuffLayerByWeightt GetTriggerSrctGetResultByWeightListtGetEffectValuesRtPassiveEff_AddBuffLayerMaxRtGetBuffManagertFindBuffListBySkillTypeIDtlentNonet
GetOwnerIDRRt    DoBuffDeltGetCurBuffStatetranget GetBuffCounttGetBuffByIndexR RR R RRRtSetBuffValueListt AddAfterLogictAfterLogic_AddBuffRtTruetRefreshBuffEffecttFalset __addNewBuff(RR4t    buffSkillR6R"R7R(R5R%tcurIDR9t buffValueListt skillTypeIDt
buffRepeatt addLayerCntt addLayerEfft maxLayerCnttbuffMgrtbuffListtdelBufftbufft    buffStatetindexR$tbuffIDt nowLayerCntt updLayerCnt((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR2Fs¤               &    %    &    &%  &      
          ic
Cst|jƒ}
|jƒ} |j| ƒ} | sEtjd| |
ƒdS|rW|jƒnd} |jƒ}| jƒ}tjd|| || |jƒf|
ƒ| j|ƒ| j|jƒƒ| j    |j
ƒƒ| j |ƒ| j |ƒ|j ƒ}|r|j||ƒn|r;|r;|jtj|| |gƒn"|    r]t||| | dtƒnt||| tƒ| S(Ns    Ìí¼Óbuffʧ°Ü! skillID=%sisO    __addNewBuff. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timeline=%sR#(R+RtAddBuffRRRR t
SetOwnerIDR RRRR_R[t AddBuffStateR`RBRaRRbRc(RR4RnRfRhR6R"R7R?R(RgR5RqR%R9Rtt curBuffState((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRe·s2              c
Csãt}|jƒ}|jƒ}x«td|jƒƒD]”}|j|ƒ}|jƒ}    |    dkrgq4n|jƒr°|jƒt    j
t    j gkrÈ|rÈ|j |||ƒqÈq4|    t    j kr4t}q4q4W|rßt|ƒndS(Ni(RdR tGetPassiveEffManagerR\tGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayRQRBtTriggerSrc_SkilltTriggerSrc_SkillSelftAddBuffPassiveEffectt
AttrIDListRbtRefreshBuffAttr(
RR4R t    isNewBufft isRefreshAttrR$t passiveEffMgrt effectIndext    curEffectteffectID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRcÕs      $  cCsr|dkr[|j|ƒ|r+|jƒnd}t||||ƒt|||tƒdSt||||ƒdS(Ni(RRRRcRdRZ(RR4R tupdLayert relatedSkillR%((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffLayerChangeïs  c    Cs t}t}|r|jƒnd}|r?|r?t}t}nt}    t}
|jƒ} |jƒ} |jƒ} |jƒ}|jƒ}|r | j|| ƒn| j    | |ƒ|rÌt
|| | |ƒn|r|r|rê|jƒn| }|j t j | ||gƒnxÆtd|jƒƒD]¯}|j|ƒ}|jƒ}|sRq%n|jƒ}|r¼|t jkr’tj||t jd|ƒn|jƒt jt jgkrÔt}
qÔq%|t jkr%t}    q%q%W|
rô|jƒj| ƒn|    rt|ƒndS(s±É¾³ýbuff
    @param relatedSkill: ¹ØÁªµÄ¼¼ÄÜ
    @param afterLogic: ÊÇ·ñÐèÒªÔÚ¹ØÁª¼¼ÄÜ´¦ÀíÍê±Ïºó²Å´¦Àíɾ³ýºóÐøÂß¼­£¬Èç֪ͨ£¬´¥·¢±»¶¯µÈ
    @param tagObj: ÓÉË­ÒýÆðµÄbuffɾ³ý
    itconnBuffN(RbRRdR+RURR R[t DelBuffStatetDelBufft SyncBuffDelR`RBtAfterLogic_DelBuffR\R|R}R~RtTriggerWay_BuffDelRGtOnTriggerPassiveEffectRQR€RRƒR{tDelBuffPassiveEffectR„(RR4R RŒR7ttagObjR3R(R%R†thaveBuffPassiveEfft    buffObjIDRnRtR$RzttagObjIDRˆR‰RŠt
triggerWay((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRZúsN                cCsH|r|jƒnd}t|||jƒ|ƒtjƒj|ƒdS(Ni(RR‘RR,R-R3(RR˜R RŒR%((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffDelAfterLogicOver6scCsK|jƒ}tjtd|jƒdfƒ}|rG||||ƒndS(NsBuffAtkType_%d.%st DoBuffProcess(R RRRR(RR4R R$R    ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRœ=s
 "c    Csi|jƒ}|jƒ}|jƒ}|jƒ}tjd||jƒ|jƒ|||fƒi}|jƒ}xït    |j
ƒƒD]Û}|j |ƒ}t d|j ƒƒ}    |jƒ}
x¢t    |
jƒƒD]Ž} |
j| ƒ} | jƒ} | tjkrqÍn| }| jdƒ|    }| jdƒ}|dkrA| }n|j|dƒ|||<qÍWq„Wtjd|ƒ|jƒ}tjjƒ}xŸtjjƒD]Ž\}}||kr½qŸn||}|j|tƒ}|dkrëqŸn|d|d}|j||ƒtjd|||||fƒqŸWxu|jƒD]g\}}||kr\q>n|j|tƒ}||}|j||ƒtjd    ||||fƒq>W|jƒ}|jƒ}||kr|j|tƒ|r||kr|||7}|j|tƒqntjd
||||fƒtjd ||jƒ|jƒ|||jƒfƒd S( sB Ë¢ÐÂbuffÊôÐÔ£¬Èç¹ûÓÐÉæ¼°µ½buffÊôÐÔ±ä¸üµÄ£¬Ö»ÄÜÈ«²¿buffÖØÐÂË¢
    s;RefreshBuffAttr ID:%s,atk=%s,def=%s,hp=%s/%s,batAttrDict=%siiis    buffAttrDict=%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( R+RJRKtResetBattleEffectRRtGetAtktGetDefRUR\R]R^RRR R|R}R~RBRƒtGetEffectValuetgett AttrPerDicttvaluestitemstGetBatAttrValueRdtSetBatAttrValuetSetMaxHPRbtSetHPtGetBatAttrDict(R4tobjIDtbefHPtbefMaxHPt batAttrDictt buffAttrDictRnRsRqtlayerR$teIndexteffectteffIDtattrIDt    attrValuetcalcTypet    perIDListt    attrPerIDt attrPerValuetupdValuetaddValuetaftHPtaftMaxHP((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR„Dsj        &    
"  
 $ 
!   5cCsÎtjƒjtjƒ}|jƒ|_|jƒ|_|j    ƒ|_
||_ |j ƒ|_ |jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|r´dnd|_|j|ƒdS(Nii(R,R-R.tChPyNetSendPackttagSCBuffRefreshR+tObjIDRtBuffIDRtSkillIDtRelatedSkillIDRtLastTimeRtLayerRYtOwnerIDRtValue1RtValue2RtValue3tIsAddt
addBatPack(RRR R%R#t
clientPack((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRŠs     cCsDtjƒjtjƒ}||_||_||_|j|ƒdS(N(    R,R-R.R½t tagSCBuffDelR¿RÀRÂRÊ(RRªRtR%RË((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR‘šs              (RBRR½R)RR/R,RGt    ImportAllR
RXRdR&RbR>R2ReRcRRZR›RœR„RR‘(((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt<module>s*            q  <            F