hch
2025-08-22 d7ff8eaf08a1bbc17c18c241b8ea17efadcf32a5
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
ä+¤hc@sªddlZddlZddlZddlZddlZejddƒd„Zdd„Zd„Z    d„Z
d„Z d    „Z d
„Z d d „Zd d „ZdS(iÿÿÿÿNs Script\Skill\t    TurnBuffscCs<tjtd|jƒdfƒ}|s,gS||||ƒS(NsBuffAtkType_%d.%st CalcBuffValue(t    GameWorldt GetExecFuncRt
GetAtkType(tattackertdefendertcurSkilltcallFunc((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pytGetAddBuffValues"c Csî|jƒ}|jƒ}|r*|jƒnd}|jƒ}|sK|}n|jƒ}t|||ƒ}    tjd|||||    fƒ|jƒ}
|jƒ} | j|
ƒ} | rÑtjd|
| fƒt    St
||| ||    |ƒt    S(NisLOnAddBuff: curID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,buffValueList=%ss0    ÒѾ­´æÔÚ¸Ãbuff: skillTypeID=%s,buffIDList=%s( t
GetSkillIDt
GetBySkilltGetIDR    RtDebugLogtGetSkillTypeIDtGetBuffManagertFindBuffIDBySkillTypeIDtTruet __AddNewBuff( t    turnFighttbatObjt    buffSkillt    buffOwnertskillIDtbySkilltrelatedSkillIDtcurIDtownerIDt buffValueListt skillTypeIDtbuffMgrt
buffIDList((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt    OnAddBuff s"           cCsf|jƒ}|jƒ}|r*|jƒnd}|jƒ}    |jƒ}
|j|ƒ} | sutjd||    ƒtS| jƒ} tjd| ||
||jƒf|    ƒ| j    |
ƒ| j
|jƒƒ| j |j ƒƒ| j |jƒƒ| j|ƒ|jƒ} x| D]}|j|| ƒqWt}|rLt||| |ƒnt|||| |ƒdS(Nis    Ìí¼Óbuffʧ°Ü! skillID=%ssL    AddBuffOK. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timeline=%s(R
R R tAddBuffRR tFalset    GetBuffIDt getTimelinet
SetOwnerIDt SetCalcTimet SetRemainTimet GetLastTimetSetLayert GetLayerCnttSetBuffValueListt GetBuffStatest AddBuffStateRtSyncBuffRefresht DoBuffAddOver(RRRRRRRRRRRtbufftbuffIDt
buffStatest    buffStatetisNotify((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR8s2              c Cst}|jƒ}x×td|jƒƒD]À}|j|ƒ}|jƒ}    |    dkr[q(n|jƒr’|jƒdkrè|j|||ƒqèq(|    t    j
krªt }q(t j td|    dfƒ}
|
r(|
||||||ƒq(q(W|rÿt|ƒndS(Niis
Buff_%d.%st OnBuffAddOver(R"tGetPassiveEffManagertrangetGetEffectCountt    GetEffectt GetEffectIDt GetTriggerWayt GetTriggerSrctAddBuffPassiveEffecttChConfigt
AttrIDListRRRRtRefreshBuffAttr( RRRtaddBuffRt isRefreshAttrt passiveEffMgrt effectIndext    curEffectteffectIDR((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR/Ts$          cCsnt}t}|jƒ}|jƒ}|jƒ}x¾td|jƒƒD]§}|j|ƒ}    |    jƒ}
|
ssqFn|    jƒr|    j    ƒdkrít
}qíqF|
t j krµt
}qFt jtd|
dfƒ} | rF| ||||    ƒqFqFW|r |jƒj|ƒn|jƒ} x| D]} |j| |ƒq W|j|ƒt|||ƒ|rjt|ƒndS(Niis
Buff_%d.%st    OnBuffDel(R"RR#t GetSkillDataR7R8R9R:R;R<RR>R?RRRR6tDelBuffPassiveEffectR,t DelBuffStatetDelBufft SyncBuffDelR@(RRtcurBuffRBthaveBuffPassiveEffRR1t    skillDataRDRERFRR2R3((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt    DoBuffDelxs8              cCsK|jƒ}tjtd|jƒdfƒ}|rG||||ƒndS(NsBuffAtkType_%d.%st DoBuffProcess(RHRRRR(RRRMROR((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRQ¤s
 "cCse|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ƒ}td|ƒ}|j| |ƒtjd| ||||fƒq†Wx~|jƒD]p\} }| |krXq:n|j| tƒ}td||ƒ}|j| |ƒtjd    | |||fƒq:W|jƒ}|jƒ}||kr|j|tƒ|r||kr|||7}|j|tƒqntjd
||||fƒtjd ||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/%sN(R tGetHPtGetMaxHPtResetBattleEffectRR tGetAtktGetDefRR7t GetBuffCounttGetBuffByIndexRHR8R9R:R>R?tGetEffectValuetgett AttrPerDicttvaluestitemstGetBatAttrValueR"tinttmaxtSetBatAttrValuetSetMaxHPRtSetHP(RtobjIDtbefHPtbefMaxHPt batAttrDictt buffAttrDictRtindexR0ROteIndexteffectteffIDtattrIDt    attrValuetcalcTypet    perIDListt    attrPerIDt attrPerValuetupdValuetaddValuetaftHPtaftMaxHP((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR@«sj        &    
"  
 $ !   ,icCsŒtjƒjtjƒ}|jƒ|_|jƒ|_|j    ƒ|_
||_ |j ƒ|_ |jƒ|_|jƒ|_|j|ƒdS(N(tObjPoolt
GetPoolMgrtacquiretChPyNetSendPackttagSCBuffRefreshR tObjIDR#tBuffIDR
tSkillIDtRelatedSkillIDt GetRemainTimetLastTimetGetLayertLayert
GetOwnerIDtOwnerIDt
addBatPack(Rt    curBatObjRMRt
clientPack((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyR.ïs     cCsJtjƒjtjƒ}|jƒ|_||_||_|j    |ƒdS(N(
RwRxRyRzt tagSCBuffDelR R|R}RR†(RR‡R1RRˆ((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyRLûs          (R>RRzRRwt    ImportAllR    tNoneR RR/RPRQR@R.RL(((sfD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnBuff.pyt<module>s                  $    ,        D