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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
ˆìfc@s2ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZgded„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zgded
„Zd „Zd „Zd „Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*e+dd„Z,e+d„Z-e+de+ed„Z.dd „Z/d!„Z0d"„Z1d#„Z2d$„Z3d%„Z4e+ddd&„Z5dS('iÿÿÿÿNc Csz|dkrtStjƒjƒtjkrY|jƒtj    krY|j
ƒdkrYt Sn|jƒtj    kr®|j ƒtj kr®tj|ƒtjkr®tj|ƒr®t Stj|ƒ}t|||||||ƒ}|dk    rút|||ƒn|rv|jƒ}|tjkr7tj|ƒ}    |    jƒqv|tj    krbtj|ƒ}
|
jƒqvtjd|ƒn|S(Ni Zis Ìí¼ÓbuffË¢ÐÂʧ°Ü curObjType = %s(tNonetFalset    GameWorldtGetMaptGetMapIDtChConfigtDef_FBMapID_GatherSoultGetGameObjTypet IPY_GameWorldtgotNPCtGetSkillTypeIDtTruet    GetIsBosstDef_SkillAttack_NPCIsBosst SkillCommontGetSkillBattleTypet!Def_BattleRelationType_CommNoBosst
SkillShelltIsNPCSkillResistt AttackCommontElfChangeAttackertAddBuffNoRefreshStatet__AddActBuffRefreshStatet    gotPlayert PlayerControltRefreshPlayerAttrByBufft    NPCCommont
NPCControltRefreshNPCAttrStatetLog( tcurObjtbuffTypetcurSkilltticktaddBuffValueListt    buffOwnertaddForcetresultt
curObjTypet playerControlt
npcControl((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyt    DoAddBuff(s, 0*'    cCs|jƒdS(Ni
(tGetCanRepeatTime(R ((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytGetBuffRepeatTimeTypeWscCs|jƒddS(Ni
(R*(R ((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytGetBuffReplaceType[scCs|jƒdS(Nid(R*(R ((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytGetBuffCoexistType_scCs7d}tj|tjƒ}|r3|jdƒ}n|S(Ni(RtGetSkillEffectByEffectIDRtDef_Skill_Effect_LayerCnttGetEffectValue(R t layerMaxCntt    hasEffect((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytGetBuffMaxLayerbs
cCs|jdƒddkS(Nii
(R0(teffect((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytIsLayerNoPlusAttrkscCs9tj|jƒtjƒ}|s%tSt|ƒr5tStS(N(RR.tGetSkillRR/RR5R (tcurBuffR2((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytIsLayerPlusAttrls  cCs{|jƒ}|s|S|jdƒjƒtjkrX|tjtj|ƒtj}n|tj    |d|tj ƒ7}|S(Ni( t GetLastTimet    GetEffectt GetEffectIDRtDef_Skill_Effect_BurntDef_MaxRateValueRtGetBurnTimePertPassiveBuffEffMngt!GetPassiveSkillValueByTriggerTypeRtTriggerType_BuffTime(tattackerR tbuffTime((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytChangeLastTimews $c$Cstj|ƒs?tjd|jƒ|jƒ|jƒfƒtStj||ƒ}|dkratS| rÄ|jƒt    j
krÄt j |||t    j |ƒrŸdSt j|||t    j |ƒrÄdSn|d}|d}    |jƒ}
|jƒ} |jƒ} t||ƒ} |jƒ}t|ƒ}t|ƒ}t|ƒ}t}x4tt|ƒƒD] }t||t    jƒ||<qTWtj|| |ƒd}d}t}tj|t    jƒ}|rê|jdƒ}|jdƒd}t |ƒ }n|j!t    j"ƒ}xatd|
ƒD]P}|j#|ƒ}|s-q n|j$ƒ}|jƒ| krQq n|t    j%krŸ|rŸ|j&ƒ|j'ƒks |j(ƒ|j)ƒkrŸq qŸn|jƒ}|jƒ}|j*ƒ}|t    j+krå||krtSn"|t    j,kr||krdSnd}|t    j-kr%| }ny|t    j.krY|j/ƒ}t| |t    j0ƒ}nE|t    j1kržt|ƒdkržt||dt    jƒ|d<qžn||kr¼|rÒ|j2ƒ|krÒ|rÒ|rÒdSt} |rœ|j2ƒ|krœ|t    j3kr†|j4|j2ƒdƒ|r“|j5t    j6|j2ƒƒt j7|||t    j8|ƒt j9|||t    j8|ƒ|j5t    j6dƒq“n |j4|ƒt:} nt;|||||||ƒ| S|t    j<krët;|||||||ƒdS|j=ƒ}!|j&ƒ|j(ƒ}"}#|j>|ƒt?j@|||"|#ƒtA|||||||| |!||ƒ StSWxw|jƒ|    krÙ|j#dƒ}|j&ƒ|j(ƒ}"}#tB|||ƒ|j>dƒt?j@|||"|#ƒt:}qcWtA|||||||| d||ƒ S(Ns5%s ²»ÄܼÓÕâ¸öbuff, ÒòΪËüÊǹ¥»÷¼¼ÄÜ! %s-->TypeID = %diii
iÿÿÿÿ((CRtIsBuffRtErrLogtGetNamet GetSkillNamet GetSkillTypeRtGetBuffManagerByBuffTypeRtDef_Debuff_ListR?tOnPassiveSkillHappentTriggerType_DebuffOfftOnPassiveBuffHappent GetBuffCountt
GetSkillIDR
RDt
GetSkillLVR,R-R+trangetlentmintDef_UpperLimit_DWordtCrossPlayerDatatSendMergeData_BuffR.R/R0R5t GetDictByKeytDef_Obj_Dict_TurnFightTimelinetGetBuffR6tDef_Buff_Coexistt
GetOwnerIDtGetIDt GetOwnerTypeRtGetValuetDef_Buff_Replace_BettertDef_Buff_Replace_BetterOnlytDef_BuffTime_ResettDef_BuffTime_Addt GetRemainTimetDef_Max_Buff_RemainTimetDef_BuffTime_Keep_AddValuetGetLayertDef_BuffLayer_AddtSetLayertSetDicttDef_PlayerKey_AddBuffLayertOnPassiveSkillTriggertTriggerType_AddLayertOnPassiveBuffTriggerR t__BuffCanRemaintDef_Buff_RechargetGetProcessIntervaltDeleteBuffByIndexRtClearBuffEffectBySkillIDt    __AddBufftDoBuffDisApper($RRR R!t plusValueListR#R$t    buffTuplet    buffStatet maxBuffCountt    buffCountt
curSkillIDtcurSkillTypeIDtcurSkillLastTimet
curSkillLVtbuffReplaceTypetbuffCoexistTypetbuffRepeatTimeTypet isDelRefreshtiR1t    layerCalct layerPlusAttrR2tturnFightTimelineR7t    buffSkillt buffSkillLVt buffSkillIDt    buffValuet
resultTimetcurBuffRemainTimet changeLayertprocessIntervaltownerIDt    ownerType((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyR‰sÂ, 
 
        0              $ $        
cCsmxftd|jƒƒD]O}|j|ƒ}|jƒ}|sCqn|tjtjtjgkrtSqWt    S(Ni(
RRtGetEffectCountR:R;RtDef_Skill_Effect_HPPackagetDef_Skill_Effect_MPPackagetDef_Skill_Effect_PetHPPackageR R(R Rƒt    curEffectt curEffectID((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyt__IsMPHPPackageBuff,s c Csá|jƒ}|tjkrdStj|tjƒ}|s>dS|jdƒ}|sWdStj    ƒj
|ƒ}|svdStj |ƒ}tj ||ƒ}|dkr§dS|d}    |    j |ƒ}
|
sÊdS|j|
jƒƒdS(Ni((RRRRR.RtDef_Skill_Effect_MasterBuffR0Rt GetGameDatatGetSkillBySkillIDt GetBuffTypeRJtFindBufft SetRemainTimeRd( RR7R R&t
findEffecttmasterSkillTypeIDt    findSkillRRwt buffManagertfindBuff((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytSyncMasterBuffTime;s*  
c 
Csw|jƒ} |jƒdkr$tnt} |j| || tƒ} |dkr^| j|ƒn|jtjƒ}|r†| j    |ƒnt
| ||ƒ|    rË|
tj kr»| j dƒqË| j |    ƒn| j |ƒt|| |ƒd}d}d}t}|r"|jƒ|jƒ}}nxtd|jƒƒD]ê}|j|ƒ}|jƒ}|dkrkq8ntj|ƒ}tjtd|dfƒ}|r¥t}n|tjkrÖ|j|| jƒ| ||ƒntj|ƒ}|dkr÷q8ntj ƒj!|ƒ}|j"|| ||ƒq8W| rZt#|| t$j%|ƒdtd|d| ƒnt&|||| ||ƒ|S(    Niis
Buff_%s.%st GetCalcTypeiÿÿÿÿt    notifyAlltownert
errSkillID('RPtGetClientEffectTypeR RtAddBufftSetProcessIntervalRXRRYtSetCalcStartTickt__SetBuffValueRhRiRR£RR]RRRR‘R:R;RtGetBuffModuleSuffixRt GetExecFunct    GameBuffstDef_BuffManager_EffectsIDt    AddEffectR_R?tGetBuffTriggerTypeByEffectIDtGetPassiveEffManagertInitObjPassiveEfftAddBuffInfoByEffecttPYSync_RefreshBuffRR›t DoAddBuffOver(RRxR RvR#R‚R!R}tupdProcessIntervalR1R„tskillIDtisNotifytaddBuffR†t
passiveEfftonwerIDt    onwerTypet    isRefresht effectIndexR•teffectIDt moduleSuffixt calcTypeFunct triggerType((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyRtbsR         " .c CsÛ|r¿tj|||tj|ƒtj|ƒtjkrYtj|||tjt    ƒntj
|ƒtj kr¿t j d|jƒ|jƒ|jƒfƒtj||dtj|ƒq¿n|jƒtjk}xÌtd|jƒƒD]µ}|j|ƒ}|jƒ}    |    sqên|rat jtd|    dfƒ}
|
s}t jtd|    dfƒ}
q}nt jtd|    dfƒ}
|
s‰qên|
|||||ƒqêW|r×|jtjƒr×tj||||tƒndS(Ns2        »÷ÔÎÄ¿±ê: atkID=%s,curID=%s,buffSkillID=%sisBuffProcess_%d.%sR·s
Buff_%d.%s(R?RlRtTriggerType_AddBuffOverRR›Rt bfActionBufft GetValueByPassiveBuffTriggerTypeRtGetBuffStateTypetDef_PlayerState_StunRtDebugLogR]RPRtTriggerType_FaintRItDef_LstBuff_ListRRR‘R:R;R®R¯RXRYRtProcessSinglePersistBuffR ( RRxR R»R#R!t
isLstSkillRÀR•RÁtcallFunc((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyR·¸s0," "cCsœ|r
tSt}x…td|jƒƒD]n}|j|ƒ}|jƒ}|dkrYq&ntj|ƒ}tj    t
d|dfƒ}|r&t}Pq&q&W|S(Nis
Buff_%s.%sR¤( R RRRR‘R:R;RR­RR®R¯(R R‚R¿RÀR•RÁRÂRÃ((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytCheckBuffRefreshès      cCs||tjkrtS|jƒ}|tjkrAtj||ƒn7|tjkrctj||ƒntj    d|ƒtSt
S(Ns$Ìí¼ÓÐÐΪbuffË¢ÐÂʧ°Ü curObjType = %s( RRÆRRRtOperControlManagertSetObjActStateR    RRR (RR RR&((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyR s cCsr|jƒ}|jƒ}|tjkr+dStj||ƒ}|s^tjd||fƒdStj|dƒdS(Ns*###__NotifyMsg_MaxLastTime Err ( %s , %s )tGeRen_chenxin_60292(    R]RRRRtGetObjRRt
NotifyCode(RR¹tskillLVtcurObjIDR&t    curPlayer((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyt__NotifyMsg_MaxLastTime+s  cCsq|dkr|j|ƒnt|||ƒ|j||jƒƒt|||jƒ||tjƒjƒƒdS(Niÿÿÿÿ(    RR¬tSync_RefreshBuffRdR·R6Rt GetGameWorldtGetTick(RRxR7t    buffIndexR‹RvR#((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyRoKs  +cCsdx]td|jƒƒD]F}|j|ƒ}|s7qn|jƒjƒ|krUqn||fSWdS(Ni(Ni(RRRORZR6R
R(R¡t skillTypeIDRƒR7((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytGetBuffAndIndexInManager\s cCsˆ|jƒ}|dkr3tjd|jƒƒdS||}|dkrgtjd|||fƒdS|j|ƒ|j||ƒdS(Nis'²»¿É¸Ä±ä³ÖÐøÊ±¼ä£¬¸ÃBUFFΪÓÀ¾ÃÐÔBUFF %ssBUFFʱ¼äÀÛ¼ÓÒì³£ %s = %s + %s(RdRRFt    GetBuffIDRRÚ(R7R¡RÝtaddTimet
remainTimetsumTime((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytAdd_SyncBuffTimets  
  cCs¶xztt|ƒƒD]f}|dkr9|j|dƒq|dkrY|j|dƒq|dkr|j|dƒqqW|dkr²|j|jƒƒ|j|j    ƒƒndS(Niii(
RRRStSetValuet    SetValue1t    SetValue2Rt
SetOwnerIDR]t SetOwnerTypeR(tbufft    valueListR#Rƒ((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyR¬‹s    c Csát}t}tj|ƒ}d}|jƒtjkoBtj|ƒ}|jt    j
ƒ}|d|d}    }
g} xE||j ƒkr¹|j |ƒ} | sÃ|d7}t jd|jƒƒqun| jƒ} | jƒ}|jƒ rÿ| rÿ|d7}qun|r7|jƒt    jkr7| j|ƒ|d7}qun|    dkr[|jƒt    jkrh|d7}qun| jƒ}|d|d}}|    |}|dkr»|
|kr»|d8}q»n| }|dkr<| t    j|}t jd|jƒ|jƒ|jƒ| jƒ||||fƒ| j|ƒ| j|ƒn|dkr¥|d7}quq¥nJ| || jƒ}|dkr¥| j|ƒ| j|ƒ|d7}qun| jdƒ| jƒ| j ƒ}}t!|| |ƒ|dkrtj|ƒdkrttfS| r%t"|tƒr%t#}n|s4t#}n|j$|ƒt%j&||jƒ||ƒ|jt    j'ƒ}|ru|||g}|| kr | j(|ƒn|j)t    j'dƒququWt*|| |ƒt+||ƒ||fS(Niidis###Ë¢ÐÂBuffÒì³£ , ¶ÔÏó = %ssk    Ë¢Ð»غÏbuffʱ¼ä: objID=%s,skillID=%s(%s),layer=%s,remainTime=%s,calcTick=%s,timeline=%s,passTurnNum=%s(,RtGameObjtGetHPRRRt    PlayerTJGtGetIsTJGRXRRYRORZRRR]RdR6R9R
tTJGStateNotRefreshTimeBuffR«RIRÌtGetCalcStartTicktDef_PerTurnTickRÊRPRHRgRR\R^RuRÐR RrRRstDef_PlayerKey_SkillInDelBufftappendRjtOnSkillAfterBuffDisappeart__DoBuffDisApperByKey(RRxR!R¿t    delResulttbeforeHPtindext isPlayerTJGR†tturnNumt    actionNumtskillIDListInDelBuffR7RŒR tcalcTickt calcTurnNumt calcActionNumt passTurnNumRâRRt
addSkillIDt    skillInfo((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyt RefreshBuff¢sŠ$
 
 
 
 
       8  
       
 !
           cCs˜|jƒ|jƒ}}xx|D]p}tj|d|dƒ}|sO|}ntjƒj|dƒ}|stq ntj||||||ƒq WdS(Niii(tGetPosXtGetPosYRRÔR™RšRtTrigger_UseSkill(RRýR!tposXtposYRRBt    skillData((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyRõs      c Csb|jƒ}|jƒ}tjƒj|jƒƒ}|jƒtjk}t    j
|d|tj |ƒxÌt d|jƒƒD]µ}|j|ƒ}|jƒ}    |    s§qzn|rñtjtd|    dfƒ}
|
s tjtd|    dfƒ}
q ntjtd|    dfƒ}
|
sqzn|
|||||ƒqzWt    jƒj|ƒ} | r^| j|ƒndS(NisBuffProcess_%d.%stOnBuffDisappears
Buff_%d.%s(R6RRR™RšRPRIRRÌR?RlRtTriggerType_BuffDisappearRRR‘R:R;R®R¯R³t GetPassiveEfft DelBuffInfo( RR7R!R R&R
RÎRÀR•RÁRÏR¼((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyRu#s,   "c CsV|jƒ}tjƒj|jƒƒ}|jƒtjk}tj    |d|tj |ƒxÌt d|j ƒƒD]µ}|j|ƒ}|jƒ}|s›qnn|råtjtd|dfƒ}    |    stjtd|dfƒ}    qntjtd|dfƒ}    |    s qnn|    |||||ƒqnWtjƒj|ƒ}
|
rR|
j|ƒndS(NisBuffProcess_%d.%stOnBuffDisappearExs
Buff_%d.%s(R6RR™RšRPRIRRÌR?RlRR RRR‘R:R;R®R¯R³R R( RR7R!R R
RÎRÀR•RÁRÏR¼((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytDoBuffDisApperExRs*  "cCs3tjƒjƒtjkrdStj||ƒdS(N(RRt GetMapFBTypeRtfbtNulltFBLogictDoBuffDisAppear(RR!((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyRö|sc Cs    tjƒj|ƒ}|stStj|ƒ}tj||ƒ}|dkrPtS|d}|jƒ}    |j|    ƒ}
|
stS|
j    ƒ|
j
ƒ} } |rÉ|j ƒ| ksÂ|j ƒ| krÉtSn|rât ||
|ƒn|j|    ƒtj||| | ƒtS(Ni((RR™RšRRR›RJR
RœR\R^RR]RutDeleteBuffByTypeIDRRsR ( RR¹R!tdisappearTriggerR#R‡RRwtbuffMgrtbuffSkillTypeIDR7RR((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytDelBuffBySkillID—s* 
 $ c CsØtjƒj|ƒ}|stStj|ƒ}tj||ƒ}|dkrPtS|d}|jƒ}|j|ƒ}    |    stS|    j    ƒ|    j
ƒ}
} |r±t ||    |ƒn|j |ƒt j|||
| ƒtS(Ni((RR™RšRRR›RJR
RœR\R^RuRRtClearBuffEffectBySkillTypeIDR ( RØRÞR!RR‡RRwRRR7RR((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytDelBuffBySkillTypeIDÁs$ 
  ic Csö|j|ƒ|dkr©|r©tjƒjƒ}t||||ƒ|jƒ}|tjkr{tj|ƒ}    |    j    ƒqò|tj
kròt j |ƒ}
|
j ƒqònI|jƒ}|rò|tjkròtj|jƒƒ} t||| ƒndS(Ni(RiRRÛRÜRRRRRRR    RRRRR›R6R¶( tgameObjRêtlayertdelBuffRÞRtisSyncR!R&R'R(R((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyt SetBuffLayeräs     ic
Cs| r| rdS|s1tj||ƒd}n| sJ|jƒdkrNdSt||td|jƒ|ƒd|dtƒdS(NiRÞR(Rt FindBuffByIDRgR tmaxR (RRêRÞt delLayerCnt((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytReduceBuffLayerüs/cCsY|jƒ}|tjkr@tjj|jdƒdƒ|gfStjj|dgfƒS(sã
    buffЧ¹ûID¶¨Òå
    1.»ù´¡ÊôÐÔÒÔ TYPE_Calc_AttrList µÄÀàÐÍΪID£¬AֵΪ¾ßÌåÖµ£¬BֵΪÏßÐÔ£¨¼ÆË㣩ÀàÐÍ£¬ÒÔ¶àЧ¹ûµÄ·½Ê½Ö§³ÖÅäÖöàÊôÐÔ
    2.·Ç»ù´¡ÊôÐÔ»ò¶àÊôÐÔ¿ÉÅäÖÃÔÚ Def_Skill_BuffEffectDict ÖÐ
    3.ÆäËûÌØ¶¨Ð§¹ûΪ¾ßÌå×ö·¨
    it(R;RtTYPE_Calc_AttrListtEffCalcTypeDicttgetR0tDef_Skill_BuffEffectDict(R4RÁ((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytFindBuffAttrByEffectID s %cCspxit|jƒƒD]U}|j|ƒ}|s4qn|jƒ|krLqn||j|ƒ|j|ƒfSWdS(N(NNN(RRR‘R:R;tGetEffectPlusValuetGetEffectFromSkillIDR(RxRÁRƒR4((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytFindBuffEffectPlusByEffectIDs cCs¦xŸt|jƒƒD]‹}|j|ƒ}|s4qn|jƒ|krLqn|j|ƒ|krgqn|j|ƒ|kr‚qn||j|ƒ|j|ƒfSWdS(N(NNN(    RRR‘R:R;tGetEffectOwnerIDtGetEffectOwnerTypeR+R,R(RxRÁRRRƒR4((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytFindBuffEffectByOwnertID+s cCs2t||ƒ\}}}|s"dSt|||ƒS(N(R-R(RRxRÁR!R•t    plusValueR¹((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytDeleteBuffByEffectID=scCsex^tjtjtjgD]D}tj||ƒ}|dkrCqn|d}|jƒrtSqWtS(Ni((    RtbfDeBufftbfProcessDeBuffRÆRRJROR R(RRRwR¡((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pytIsInDebuffStateDs 
 c    
Cs y€tjƒ}|sdSt|dƒs,dS|jƒ}| sOt|dƒ rSdS|jƒ}tj|ƒdksƒtj|ƒr‡dS|j    ƒ|_
|j ƒ|_ ||_ |jƒ|_||_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|r)|j ƒ|_|j    ƒ|_n|sD|j    ƒtjkrc|j|jƒ|jƒƒnt j!||dt"ddƒWnt#j$d|ƒdSXdS(NR6RPit
notifySelft    notifyCntiÿÿÿÿs&PYSync_RefreshBuff error errSkillID=%s(%t ChNetSendPackt tagObjAddBuffthasattrR6RPRìRíRt    GetIsDeadRtObjTypeR]tObjIDtSkillIDRdtLastTimetBuffTypeR_tValuet    GetValue1tValue1t    GetValue2tValue2RgtLayertOwnerIDt    OwnerTypeRRt    NotifyAllt    GetBuffert    GetLengthRt PyNotifyAllR RtRaiseException(    RR7RR¥R¦R§tsendPackR R¹((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyR¶Qs<   $         (6RRRRRR¯RRRR?R8RîRÑRìRVRRRR)R+R,R-R3R5R8RDRR—R£RtR·RÐRRÙRoRßRäR¬RRõRuRRöR RRR R$R*R-R0R2R5R¶(((shE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\BuffSkill.pyt<module> sd                /                                 £        '    V    0    #                              m        /    *    * #