hch
2018-11-10 36588835a6ddf088a46e6fd9c06fac363e4ccccb
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
»–á[c@sÿddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZejddƒd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd efd „ƒYZdefd„ƒYZ d„Z!d„Z"e#dd„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/dS(iÿÿÿÿNs Script\Skill\t PassiveBuffcCs–tjƒj|ƒ}d}|jdkrh|jƒj|jƒ}|sLdS|jƒtj    krhdSnt
j ddƒ}|j |krdSt
j ddƒ}|j |kr²dSt
jddƒ}t|j ƒ}||krÆxä||jƒD]Ï\}    }
|    dkr|jƒ|
krdS|    dkrC|jƒ|
krCdSn|    dkrktj|ƒ|
krkdSn|    d    krðtj|ƒ} | sdStdt|ƒƒ| jd    ƒ@dkr¿dSqðqðWntj|tj|j |j f|jtjƒtjƒ} |j | _ |j | _ |j| _t j!|| ƒ|j"tj#dtjƒ} |j | kr…t$ƒj%|ƒtj|ƒj&ƒnt'j(|ƒdS(
NitPassSkillEquipLimitiiitleveltvipLvtMountLvtOpenSkillSlots()t    GameWorldtGetPlayerManagertGetPlayerByIndextNonetSkillIDtGetSkillManagertFindSkillBySkillIDt GetFuncTypetChConfigt Def_SkillFuncType_FbPassiveSkillt IpyGameDataPYt
GetFuncCfgtIndextPagetGetFuncEvalCfgtstrtitemstGetLVtGetVIPLvt PlayerHorset GetHorseSumLVt QuestCommontGetCommonMissiontpowtintt GetPropertyt PlayerControltNomalDictSetPropertytDef_PDict_GFPassiveIndextDef_PDictType_GFPassivetChPyNetSendPackttagMCPassiveSetAnswert NetPackCommont SendFakePacktNomalDictGetPropertytDef_PDict_GFPassivePagetGetPassiveEffManagertRegistPassiveEffSettRefreshPlayerAttrStatet
EventShelltEventRespons_PassiveSet(tindext
clientDatattickt    curPlayert    findSkilltholeCnttpageCntttmpDicttstrIndextkeytvaluet    mission_1tsendPacktpage((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt OnPassiveSet>s^    (    
     cCs¨tjƒj|ƒ}tjddƒ}|j|kr:dStj|tj    |jtj
ƒt j ƒ}|j|_t j||ƒtƒj|ƒtj|ƒjƒdS(NRi(RRRRRRR R!RR)R#R$ttagMCPassivePageR&R'R*R+R,(R/R0R1R2R5R;((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt OnPassivePageŽs    
  cCs’|jtjdtjƒ}tjddƒ}g}xXt|ƒD]J}|jtj||fdtjƒ}|dkr}q@n|j|ƒq@W|S(NiRi(    R(RR)R#RRtxrangeR"tappend(R2R<R4tskillstit findSkillID((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytFindUsePassiveSkills§s  c    Cs'tjddƒ}tjddƒ}tjƒ}||_g|_xŽt|ƒD]€}tjƒ}||_g|_    xIt|ƒD];}|j
t j ||fdt j ƒ}|j    j|ƒq€W|jj|ƒqOWtj||ƒ|j
t jdt j ƒ}tjƒ}||_tj||ƒdS(NRiii(RRR$ttagMCPassiveSettPageCntt PassiveSkillsR@ttagMCPassiveSkillstCountt SkillIDListR(RR"R#RAR&R'R)R>R(    R2R4R5R;RCRBtjtskillIDR<((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnLoginGFPassiveµs(                         cCsDtƒj|ƒtƒj|ƒtƒj|ƒtƒj|ƒdS(N(R*tRegistPassiveEffR+tRegistPassiveBufftRegistPassiveEffDogz(R2((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnLoadMapGFPassiveåscCsdtƒj|jƒtjfƒx>tddƒD]-}tƒj|jƒd|tjfƒq/WdS(Niii
(R*tRemovePassiveEfftGetIDt IPY_GameWorldt    gotPlayertrangetgotNPC(R2RC((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPlayerLeaveMap s+cCsŒi?tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    6tjd
6tj    d 6tj
d 6tj d 6tj d6tjd6tj d6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd 6tjd!6tjd"6tjd#6tjd$6tjd%6tjd&6tjd'6tj d(6tj!d)6tj"d*6tj#d+6tj$d,6tj%d-6tj&d.6tj'd/6tj(d06tj)d16tj*d26tj+d36tj,d46tj-d56tjd66tj.d76tj/d86tj0d96tj1d:6tj2d;6tj3d<6tjd=6tj4d>6tj5d?6}|j6|d@ƒS(ANi i¡i¢i£i¤i¥i¦i§i¨i©iªi«i­i®i¯i°i±i²i³i´iµi¶i·i¸i¹iºi»i¼i½i¾i¿iÀiÁiÂiÃiÄiÅiÆiÇiÈiÉiÊiËiÌiÍiÎiÏiÐiÑiÒiÓiÔiÕiÖi×iØiÙiÚiÛiÜiÝiÞißiÿÿÿÿ(7RtTriggerType_BuffStatetTriggerType_TagBuffStatetTriggerType_AddDamagePertTriggerType_AttackOvertTriggerType_AttackAddSkillPertTriggerType_SuperHittTriggerType_SuperHitValuetTriggerType_HurtObjAddBufftTriggerType_ReduceCDtTriggerType_SuperHitSkillPertTriggerType_AttackAddFinalValuetTriggerType_HappenStatetTriggerType_AbsorbShieldtTriggerType_BounceHPtTriggerType_BuffDisappeartTriggerType_BuffTimetTriggerType_BounceHPPertTriggerType_AddSingleSkillPertTriggerType_SkillOverNoAttacktTriggerType_BeAttackOvertTriggerType_AddIceAtkPertTriggerType_AddIceAtktTriggerType_DebuffOfftTriggerType_AttackKilltTriggerType_WillDeadtTriggerType_BuffBoomt!TriggerType_Success_Buff_SkillPertTriggerType_BeBoomSeedtTriggerType_AttackCnttTriggerType_SuperHitOneByOnetTriggerType_AttackOverPassivetTriggerType_BeSuperHittTriggerType_AddExpRatetTriggerType_DamageReducetTriggerType_DamageReducePVPtTriggerType_MissPertTriggerType_SkillDisttTriggerType_ReduceHurtHPPertTriggerType_TimeCalctTriggerType_MissSkilltTriggerType_MissSuccessPertTriggerType_OneDamagetTriggerType_LuckyHittTriggerType_Buff_SuckBloodPertTriggerType_AddLayertTriggerType_StormAttackReduceCDtTriggerType_PassiveBuffValuetTriggerType_AttackKillHappentTriggerType_AddBuffOvertTriggerType_StormAttackOneByOnetTriggerType_StormAttackOvertTriggerType_AttackAddFinalPertTriggerType_SummonDietget(teffectIDttdict((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetTriggerTypeByEffectIDs‚
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 cCsüitjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    6tj    d
6tj
d 6tj d 6tj d 6tj d6tj d6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6}|j|dƒS(Ni”i•i–i—i˜iši›iœi¢iižiŸi i¡i£i¤i¥i¦i§i¨i#i&i(iÿÿÿÿ(RR]R^RmR\Rgt TriggerType_Buff_AddSuperHitRatetTriggerType_Buff_AttackSubLayert!TriggerType_Buff_BeAttackSubLayerR…tTriggerType_Buff_MustBeHitRdRRntTriggerType_ChangeHurtToHPRptTriggerType_ForbidenCureRrR†tTriggerType_BloodShieldR(RR‘((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetBuffTriggerTypeByEffectIDds2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 t
PassiveEffcBs_eZd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Z    dd    „Z
RS(
cCs1||_i|_i|_i|_i|_dS(N(tgameObjtAffectBuffDicttAffectSkillDicttAffectPassiveSkillSetDicttAffectDogzSkillDict(tselfRœ((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt__init__†s
                cCsœ|jƒ}t|ƒ}|dkr(dSd}||f}||jkrYi|j|<n||j|kr€g|j||<n|j||j|ƒdS(Niÿÿÿÿi(t GetEffectIDRšRRA(R¡teffectRMRt triggerTypetreleaseSkillIDtkeyTuple((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytAddBuffInfoByEffects    cCsÍ|s
dS|jƒ}d}xªtd|jƒƒD]“}|j|ƒ}|jƒ}t|ƒ}|dkrqq2n||f|jkrŒq2n||j||fkr«q2n|j||fj|ƒq2WdS(Niiÿÿÿÿ(t
GetSkillIDRWtGetEffectCountt    GetEffectR£RšRtpop(R¡t    skillDataRMR¦RCt    curEffectRR¥((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt DelBuffInfo¤s     icCs|jj|dfiƒS(Ni(RR(R¡R¥t
useSkillID((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetBuffsByTriggerType¿sc
Cs i|_t|jƒ}xë|D]ã}tj|ƒs:qn|jƒ}tj|ƒ}xªt|j    ƒƒD]–}|j
|ƒ}|j ƒ}|dkr›qhnt |ƒ}|dkr¹qhn||f}    |    |jkräg|j|    <n|j|    j ||fƒqhWqW|jS(Niiÿÿÿÿ(R tFindDogzBattleSkillsRœt SkillCommontisPassiveTriggerSkilltGetSkillTypeIDt
SkillShelltGetConnectSkillIDR@RªR«R£R’RA(
R¡RBtcurSkillt skillTypeIDt connSkillIDRCR®RR¥R8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytRefreshDogzBattleSkillÄs(           "c Cs"i|_|jjƒ}t|jƒ}xñ|D]é}|j|ƒ}|sOq.n|jƒ}tj|ƒ}xªt|j    ƒƒD]–}|j
|ƒ}|j ƒ}    |    dkr°q}nt |    ƒ}
|
dkrÎq}n|
|f} | |jkrùg|j| <n|j| j ||    fƒq}Wq.W|jS(Niiÿÿÿÿ(RŸRœR RER RµR¶R·R@RªR«R£R’RA( R¡t skillManagerRBRMR¸R¹RºRCR®RR¥R8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytRefreshPassiveSkillSetãs,           "c
Cs[i|_|jjƒ}x9td|jƒƒD]"}|j|ƒ}|sOq.ntj|ƒsdq.n|jƒt    j
t    j gkrˆq.n|j ƒ}t j|ƒ}xªt|jƒƒD]–}|j|ƒ}|jƒ}|dkréq¶nt|ƒ}|dkrq¶n||f}    |    |jkr2g|j|    <n|j|    j||fƒq¶Wq.W|jS(Niiÿÿÿÿ(RžRœR RWt GetSkillCounttGetSkillByIndexR³R´R RRtDef_SkillFuncType_DogzRµR¶R·R@RªR«R£R’RA(
R¡R¼RCR¸R¹RºR®RR¥R8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytRefreshPassiveSkills4          "c
Cstjƒj|ƒ}|sdStj|ƒs2dS|jƒ}tj|ƒ}xÆt|j    ƒƒD]²}|j
|ƒ}|j ƒ}|dkr“q`nt |ƒ}|dkr±q`n||f}    |    |j krÜg|j |    <n||f|j |    kr`|j |    j||fƒq`q`W|j S(Niiÿÿÿÿ(Rt GetGameDatatGetSkillBySkillIDR³R´RµR¶R·R@RªR«R£R’RžRA(
R¡RMR¸R¹RºRCR®RR¥R8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytAddPassiveSkill(s*      !cCsôg}|j|jj||fgƒƒ|j|jj||fgƒƒ|j|jj||fgƒƒ|dkrð|tjkrð|j|jj|dfgƒƒ|j|jj|dfgƒƒ|j|jj|dfgƒƒn|S(Ni(textendRžRRŸR RtDef_SkillID_Somersault(R¡R¥Rºt    skillList((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetPassiveSkillsByTriggerTypeFs"""""%( t__name__t
__module__R¢R¨R¯R±R»R½RÁRÄRÈ(((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR›…s                              %    tPassiveEffManagercBs\eZd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Z    d    „Z
RS(
cCs i|_dS(N(tpassiveEffClassDict(R¡((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR¢VscCs+|jƒ|jƒf}|jj|dƒS(N(RTtGetGameObjTypeRÌRR    (R¡RœR8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt GetPassiveEffZscCsH|jƒ|jƒf}||jkr=t|ƒ|j|<n|j|S(N(RTRÍRÌR›(R¡RœR8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytInitObjPassiveEff`scCs)|jƒ|jƒf}||j|<dS(N(RTRÍRÌ(R¡Rœt
passiveEffR8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt AddPassiveEfffsicCsz|j|ƒ}| s| r`|r1|jƒdSt|ƒ}|jƒsMdS|j||ƒn|rv|j|ƒndS(N(RÎRÁR›RÑRÄ(R¡RœRMRÐ((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyROks
  cCsR|j|ƒ}|sDt|ƒ}|jƒs1dS|j||ƒn
|jƒdS(N(RÎR›R½RÑ(R¡RœRÐ((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR+‚s  
cCsR|j|ƒ}|sDt|ƒ}|jƒs1dS|j||ƒn
|jƒdS(N(RÎR›R»RÑ(R¡RœRÐ((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyRQs  
c CswxptjtjtjtjtjtjgD]D}|tjkrm|jƒtjkrmt    j
|ƒsmq+qmnt j ||ƒ}|dkr‘q+n|d}xÑt |jƒƒD]½}|j|ƒ}|jƒ}|sÛq®nxtd|jƒƒD]v}|j|ƒ}    |    jƒ}
|
dkr$qñnt|
ƒ} | dkrBqñn|j|ƒ} | j|    |jƒƒqñWq®Wq+WdS(Niiÿÿÿÿ((RUtbfBufftbfDeBufft bfProcessBufft btPassiveBuft bfActionBufftbfProcessDeBuffRÍRXt
PetControltIsPetR³tGetBuffManagerByBuffTypeR@t GetBuffCounttGetBufftGetSkillRWRªR«R£RšRÏR¨R©( R¡RœtbuffTypet    buffTuplet buffManagerRCtcurBufft    buffSkillt effectIndexR®RR¥RÐ((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyRPs2$     
     "cCs&||jkr"|jj|ƒndS(N(RÌR¬(R¡R8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyRSÂs( RÉRÊR¢RÎRÏRÑROR+RQRPRS(((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyRËTs                              %cCstjstƒt_ntjS(N(t
PyGameDatatg_PassiveEffManagerRË(((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR*Ès    cCs•|r||kr|S|jƒtjkr/dS|jƒ}|jƒ}tj||ƒ}|rc|Stjƒ}|sydStj|j    ƒ|j
ƒƒS(N( RÍRURVtGetUseSkillTagIDtGetUseSkillTagTypeRtGetObjt
BaseAttacktGetFirstHurtObjtGetObjIDt
GetObjType(tattackertdefendert useSkillTagIDtuseSkillTagTypetcurHurt((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetPassiveDefenderís   c
Csft|ƒ}|stSt}|rM|jƒs2tStj|ƒrMt}qMntj|ƒrt|tjkrtt}nt    ƒj
|ƒ}|stS|r¢|j ƒnd}    |j ||    ƒ}
|
sÄtSt ||ƒ}t} tj||ƒ} xt|
D]l\} }|    | krqòn|jƒj| ƒ}|s1qòn|rR|jƒtjkrRqòntj||ƒ}|spqòntj||ƒrˆqònt} tj|ƒ}tj|| ƒsµqònd|}tjtd|dfƒ}|rý|||||ƒ rýqòntj|dƒtj|||||ƒrN|rN|jdƒ|j| ƒqNntj|dƒqòW| S(NisPassiveSkill_%ss%s.%stCheckCanHappeni(tFindRealAttackertFalseR R³tisPassiveSkilltTruetGetUsingPassiveSkillRRZR*RÎRµRÈRòt AttackCommontGetBattleRelationTypeR tFindSkillBySkillTypeIDtDef_SkillFuncType_GiftSkilltGetSkillEffectByEffectIDtRefreshSkillRemainTimetGetSkillBattleTypetCheckBattleRelationTypeRt GetExecFuncRtSetUsingPassiveSkillR¶tUsePassiveTriggerSkillt SetRemainTimetadd(RíRît    connSkillR¥R1tisEnhanceSkillt
skillIDSettstopPassiveSkillRÐRºRBtresulttbattleRelationTypeR¹RR¸R¤tskillBattleTypetpyNametcallFunc((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveSkillTriggersb        
 cCs‡|jƒtjkr|S|jƒ}|tjtjtjgkrW|jƒrS|SdS|tjkrj|Stj    tj
|ƒ}|SdS(N( RÍRURXtGetTypetntPettntElftntFairyt    GetIsBosst    NPCCommontGetSummonNPCOwnerRV(RítnpcType((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyRôXs  c
Cs=t|ƒ}|sdSt}|r:tj|ƒr:t}ntƒj|ƒ}|sVdS|rh|jƒnd}|j||ƒ}|sŠdSt    j
||ƒ}t j ƒj ƒ}    d}
x‚|D]z\} } || krÙq»n|jƒj| ƒ} | súq»n|r| jƒtjkrq»n| jƒr?tj| |    ƒr?q»ntj| | ƒ}|s]q»ntj| ƒ}t    j||ƒs„q»nd| }t jtd|dfƒ}|rÌ||||| ƒ rÌq»nt jtd|dfƒ}|dkrúq»n|
||||ƒ7}
| jƒr»tj| d|    |ƒq»q»W|
S(NisPassiveSkill_%ss%s.%sRótGetValue(RôRõR³RöR÷R*RÎRµRÈRùRúRt GetGameWorldtGetTickR RûR RRütGetCoolDownTimeRþRýRÿRRRR    tSetSkillRemainTime(RíRîRR¥R    RÐRºRBR R1tcurValueR¹RR¸R¤R R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt!GetPassiveSkillValueByTriggerTypepsV      
  cCst|ƒ}|sgS|r/tj|ƒr/gStƒj|ƒ}|sKgS|r]|jƒnd}|j||ƒ}|sgStj||ƒ}g}xá|D]Ù\}    }
||    kr¼qžn|j    ƒj
|    ƒ} | sÝqžntj | |
ƒ} | sûqžntj | ƒ} tj | |ƒs"qžnd|
}tjtd|dfƒ}|rj|||| | ƒ rjqžn|j| ƒqžW|S(NisPassiveSkill_%ss%s.%sRó(RôR³RöR*RÎRµRÈRùRúR RûRýRÿRRRRRA(RíRîRR¥RÐRºRBR RÇR¹RR¸R¤R R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetPassiveSkillByTriggerType±s@  
cCsªt|ƒ}|sdStƒj|ƒ}|s2dS|rD|jƒnd}|j||ƒ}|sfdSt||ƒ}tj||ƒ}x|D]\}    }
||    kr¬qŽn|jƒj    |    ƒ} | sÍqŽnt
j | |
ƒ} | sëqŽnt
j | |ƒrqŽnt
j | ƒ} tj| |ƒs*qŽnd|
}tjtd|dfƒ}|ru|||| | |ƒ ruqŽnt
j| d||ƒtj||| |ƒtSWtS(NisPassiveSkill_%ss%s.%sRó(RôR*RÎRµRÈRòRùRúR RûR³RýRþRÿRRRRRR¶tDoLogic_UseEnhanceSkillR÷Rõ(RíRîRR¥R1RÐRºRBR R¹RR¸R¤R R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveSkillHappenâsD  
cCsmt|ƒ}|stStƒj|ƒ}|s2tS|j|ƒ}|sKtStj||ƒ}tj|ƒ}tj    ||ƒs‚dS|r”|j
ƒnd}    xÌ|j ƒD]¾\}
} |    |
krÅq§nx| D]•} d| j ƒ} t jtd| dfƒ}|s
qÌn|||| |ƒs%qÌnt jtd| dfƒ}|r`|||| ||
ƒntSWq§WtS(NisPassiveBuff_%ss%s.%sRótDoLogic(RôRõR*RÎR±RùRúR³RÿRR©RR£RRRR÷(RíRîttagSkillR¥R1RÐtbuffDictR R t
tagSkillIDRMt
effectListt passiveEffectR R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveBuffHappens:       c
Csjt|ƒ}|sdSt}|rM|jƒs2dStj|ƒrMt}qMntj|ƒret}ntƒj|ƒ}|sdS|j    |ƒ}|sšdSt
||ƒ}t j ||ƒ}|rÍ|j ƒnd}    x|jƒD]‚\}
} |
|    krþqànxa| D]Y} d| jƒ} tjƒj|
ƒ}|s<qn|r]|jƒtjkr]qntjtd| dfƒ}|s…qn|||| |
d|ƒs¦qntjtd| dfƒ}|sÎqn|| ƒ}|sæqntj|ƒ}t j||ƒs qntj|dƒtj||||ƒrNt| ||| |ƒntj|dƒqWqàWdS(NisPassiveBuff_%ss%s.%sRótuseSkillt GetSkillDatai(RôRõR R³RöR÷RøR*RÎR±RòRùRúR©RR£RRÂRÃRRüRRRÿRRR¶RtAfterUsePassiveSkill(RíRîR)R¥R1R    RÐR$R R°RMR&R'R R¸RR­R ((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveBuffTrigger?s`          cCs=tjtd|dfƒ}|s&dS|||||ƒdS(Ns%s.%sR+(RRR(R RíRîR'R1R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR+‡s
c Cst|ƒ}|sdSt}|r:tj|ƒr:t}ntƒj|ƒ}|sVdS|j|ƒ}|sodStj    ||ƒ}tj
|ƒ}tj ||ƒs¦dS|r¸|j ƒnd}    d}
x8|j ƒD]*\} } | |    krïqÑntjƒj| ƒ} | sqÑnxè| D]à}|r>| jƒtjkr>qnd|jƒ}tjtd|dfƒ}|svqn||||| d|ƒs—qntjtd|dfƒ}|dkrÅqn|
t||| tjƒ7}
|
||||ƒ7}
qWqÑW|
S(NisPassiveBuff_%ss%s.%sRóR)R(RôRõR³RöR÷R*RÎR±RùRúRÿRR©RRRÂRÃR RRüR£RRR    RRˆ(RíRîR)R¥R    RÐR$R R R°RRMR&R¸R'R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt GetValueByPassiveBuffTriggerType‘sN        c
Cs”g}tjƒ}xZt|jƒƒD]F}|j|ƒ}tj|tj|ƒsXq%n|j    |j
ƒƒq%Wg}|j ƒ}x]t|j ƒƒD]I}|j |ƒ}|jƒtjkrÄq”n|jƒ}|j|ƒq”Wtjd||fƒx|D]}|j|tƒqÿW|jƒxZ|D]R}tjƒj|ƒ}    |    sQq*n|    jƒtjkrlq*n|j|tƒq*Wtƒj|ƒdS(NsPlayerDogzSkill:%s - É¾³ý%s(RtIPY_DataR@t GetDogzCounttGetDogzByIndexRtGetDictValueByBitRtDef_PDict_DogzFightStateRÅtGetHelpBattleSkillsR R¾R¿R RÀR©RAtDebugLogtDeleteSkillBySkillIDRõtsortRÂRÃt GetSkillTypetDef_SkillType_AttrSkillNoLearntLearnSkillByIDR*RQ(
R2t
dogzSkillst
ipyDataMgrRCtipyDatat delDogzSkillsR¼R¸RMR­((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytPlayerDogzSkillÑs8    
 cCsg}|jƒtjkr|S|jƒ}x]t|jƒƒD]I}|j|ƒ}|s_q>n|jƒtj    krzq>n|j
|ƒq>W|S(N( RÍRURVR R@R¾R¿R RRÀRA(RœRBR¼RCR¸((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR²þs (0RUt ReadChConfigRRRRR³t    BuffSkillR¶R R&R$t    PlayerVipRùRäRRéR-RRØRt    ImportAllR=R?RERNRRRYR’RštobjectR›RËR*RòRõR    RRôRRR!R(R,R+R-R>R²(((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt<module>sX                         P            0    '        P    !Ït    %    T        A    1    1    ,    H    
    @    -