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
uËhc@sddlZddlZddlZddlZddlZddlZddlZejddƒd„Zdde
d„Z dde
d„Z de
dd„Z d    „Zd
dd „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¢|s
dStjd|ƒ}|s&dS|r8|jƒnd}|g}tjƒ}    |    jtj||ƒ}
|
j|ƒt    |||
|||ƒ|    j
|
ƒdS(NtSkilli( t IpyGameDataPYtGetIpyGameDatatGetIDtObjPoolt
GetPoolMgrtacquiret    BattleObjtPySkillt SetTagObjListt    OnAddBufftrelease( RtbatObjtskillIDt    buffOwnertbySkillt
afterLogict skillIpyDatatownerIDt
tagObjListtpoolMgrtuseSkill((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoAddBuffBySkillID"s       c CsH|jƒ}|s|jƒn|}|r6|jƒnd}|jƒ}|sW|}n|jƒ}    t||||ƒ}
tjd|||jƒ|
|    |fƒ|jƒ} |jƒ} |j    ƒ} |j
t j ƒ}|røtj |jƒ| ƒ} n|jƒ}| dkrn | dkrª|jƒ}xñt|jƒƒddd…D]X}|j|ƒ}|jƒ}|rŠ|jƒ|krŠqKnt||||||ƒqKWnu|j| ƒ}|rxY|D]Q}|sØqÆn|jƒ|    krðqÆn|jƒ}tjd|| |    | fƒ| }| dkr…|jƒ}|jƒ}|| }|rh||krh|}ntjd|| |fƒn tjd    ƒ|j|jƒƒ|j|jƒƒ|j|ƒ|j |
ƒ|rý|rý|j!t j"|||gƒnt#||||d
t$ƒPqÆWt$St%|||||
|||d | ƒt$S( NisWOnAddBuff: curID=%s,skillID=%s,atkType=%s,buffValueList=%s,ownerID=%s,relatedSkillID=%siiiÿÿÿÿsE    ÒѾ­´æÔÚ¸Ãbuff: buffID=%s,skillTypeID=%s,ownerID=%s,buffRepeat=%sis>        µþ¼Ó²ã¼¶: nowLayerCnt=%s,addLayerCnt=%s,updLayerCnt=%ss        Ä¬Èϸ²¸ÇtisNewAddt setLayerCnt(&t
GetSkillIDt
GetBySkillRR
RtDebugLogRtGetSkillTypeIDt GetBuffRepeatt GetLayerCntt GetEffectByIDtChConfigtPassiveEff_AddBuffLayerByWeighttGetResultByWeightListtGetEffectValuestGetBuffManagertGetCurBuffStatetranget GetBuffCounttGetBuffByIndext GetSkillDatat    DoBuffDeltFindBuffListBySkillTypeIDt
GetOwnerIDt    GetBuffIDtGetLayert GetLayerMaxt SetCalcTimet getTimelinet SetRemainTimet GetLastTimetSetLayertSetBuffValueListt AddAfterLogictAfterLogic_AddBufftSyncBuffRefreshtTruet __addNewBuff(RRt    buffSkillRRRRtrelatedSkillIDtcurIDRt buffValueListt skillTypeIDt
buffRepeatt addLayerCntt addLayerEfftbuffMgrt    buffStatetindextbufft    skillDatatbuffListtbuffIDt updLayerCntt nowLayerCntt maxLayerCnt((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR4sp                   &       
        %ic    Csn|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ƒnt||| | dtƒt|||| |ƒdS(Ns    Ìí¼Óbuffʧ°Ü! skillID=%sisO    __addNewBuff. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timeline=%sR"(RR$tAddBuffRR&R8R<t
SetOwnerIDR;R=R>R?R@R0t AddBuffStateRAR+RBRCRDt DoBuffAddOver(RRRNRFRIRRRR#RHRRQRGRRTt curBuffState((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRE…s0              c Cst}|jƒ}xãtd|jƒƒD]Ì}|j|ƒ}|jƒ}    |    dkr[q(n|jƒrž|jƒtj    tj
gkrô|j |||ƒqôq(|    tj kr¶t }q(tjtd|    dfƒ}
|
r(|
||||||ƒq(q(W|r t|ƒndS(Nis
Buff_%d.%st OnBuffAddOver(tFalsetGetPassiveEffManagerR1tGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayt GetTriggerSrcR+tTriggerSrc_SkilltTriggerSrc_SkillSelftAddBuffPassiveEffectt
AttrIDListRDRRRtRefreshBuffAttr( RRRFtaddBuffRt isRefreshAttrt passiveEffMgrt effectIndext    curEffectteffectIDR    ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR[£s$          ic    Csˆ|jƒ}|sdStd||ƒ}|j|ƒ|dkrYt||||ƒdS|jƒ}|jƒ}t||||ƒdS(Ni(R9tmaxR?RCRR8t SyncBuffDel(    RRtcurBufftdecLayerRGtcurLayertupdLayertobjIDRT((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt DecBuffLayerÇs     cCst}t}|r|jƒnd}|r?|r?t}t}nt}    t}
|jƒ} |jƒ} |jƒ} |jƒ}xÊtd|jƒƒD]³}|j    |ƒ}|j
ƒ}|s¾q‘n|j ƒrô|j ƒt jt jgkrDt}
qDq‘|t jkr t}    q‘tjtd|dfƒ}|r‘|||||ƒq‘q‘W|
rd|jƒj| ƒn|jƒ}|r‰| j|| ƒn| j| |ƒ|rµt|| | |ƒn|rø|rø|rÓ|jƒn| }|jt j| ||gƒn|    r t|ƒndS(s±É¾³ýbuff
    @param relatedSkill: ¹ØÁªµÄ¼¼ÄÜ
    @param afterLogic: ÊÇ·ñÐèÒªÔÚ¹ØÁª¼¼ÄÜ´¦ÀíÍê±Ïºó²Å´¦Àíɾ³ýºóÐøÂß¼­£¬Èç֪ͨ£¬´¥·¢±»¶¯µÈ
    @param tagObj: ÓÉË­ÒýÆðµÄbuffɾ³ý
    is
Buff_%d.%st    OnBuffDelN(RDR$R^RR/R8R4R1R`RaRbRcRdR+ReRfRhRRRR_tDelBuffPassiveEffectR0t DelBuffStatetDelBuffRqRAtAfterLogic_DelBuffRi(RRRrt relatedSkillRttagObjRtisSyncRGRkthaveBuffPassiveEfft    buffObjIDRNRTRRRmRnRoR    R\ttagObjID((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR5ÖsN                   cCsH|r|jƒnd}t|||jƒ|ƒtjƒj|ƒdS(Ni(R$RqR8RRR(RRRrR}RG((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytDoBuffDelAfterLogicOverscCsK|jƒ}tjtd|jƒdfƒ}|rG||||ƒndS(NsBuffAtkType_%d.%st DoBuffProcess(R4RRRR(RRRrRRR    ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR„s
 "c    CsV|jƒ}|jƒ}|jƒ}|jƒ}tjd||jƒ|jƒ|||fƒi}|jƒ}xÖt    |j
ƒƒD]Â}|j |ƒ}|j ƒ}    xžt    |    j ƒƒD]Š}
|    j|
ƒ} | jƒ} | tjkrîq¸n| } | jdƒ}| jdƒ}|dkr(| }n|j| dƒ||| <q¸Wq„Wtjd|ƒ|jƒ}tjjƒ}x¥tjjƒD]”\} }||kr¤q†n||}|j| tƒ}|dkrÒq†nt|d|dƒ}|j| |ƒtjd| ||||fƒq†Wxu|jƒD]g\} }| |krIq+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!    __addBuffAttr 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(RtGetHPtGetMaxHPtResetBattleEffectRR&tGetAtktGetDefR/R1R2R3R4R`RaRbR+RhtGetEffectValuetgett AttrPerDicttvaluestitemstGetBatAttrValueR^tinttSetBatAttrValuetSetMaxHPRDtSetHPtGetBatAttrDict(RRvtbefHPtbefMaxHPt batAttrDictt buffAttrDictRNRPRQRRteIndexteffectteffIDtattrIDt    attrValuetcalcTypet    perIDListt    attrPerIDt attrPerValuetupdValuetaddValuetaftHPtaftMaxHP((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRi sh        &    
"  
 $ 
!   5cCsÎtjƒjtjƒ}|jƒ|_|jƒ|_|j    ƒ|_
||_ |j ƒ|_ |jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|r´dnd|_|j|ƒdS(Nii(RRRtChPyNetSendPackttagSCBuffRefreshRtObjIDR8tBuffIDR$tSkillIDtRelatedSkillIDt GetRemainTimetLastTimeR9tLayerR7tOwnerIDt    GetValue1tValue1t    GetValue2tValue2t    GetValue3tValue3tIsAddt
addBatPack(Rt    curBatObjRrRGR"t
clientPack((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRCes     cCsDtjƒjtjƒ}||_||_||_|j|ƒdS(N(    RRRR¦t tagSCBuffDelR¨R©R«R·(RRvRTRGR¹((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRqus              (R+RR¦R RRRt    ImportAllR
tNoneR^R!RRER[RwR5RƒR„RiRCRq(((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt<module>s&           Q    $<            E