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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
f«\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#d„Z$d„Z%d„Z&d„Z'e#dd„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d „Z3dS(!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ÒiFtjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    6tj    d
6tjd 6tj
d 6tj d 6tj d6tj d6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd 6tj
d!6tjd"6tjd#6tjd$6tjd%6tjd&6tjd'6tjd(6tj d)6tj!d*6tj"d+6tj#d,6tj$d-6tj%d.6tj&d/6tj'd06tj(d16tj)d26tj*d36tj+d46tj,d56tj-d66tj.d76tjd86tj/d96tj0d:6tj1d;6tj2d<6tj3d=6tj4d>6tj d?6tj5d@6tj6dA6tj7dB6tj$dC6tjdD6tj8dE6tjdF6}|j9|dGƒS(HNi6i8i 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àiáiâiãiäiÿÿÿÿ(:RtTriggerType_BeAttackOvertTriggerType_LockHPtTriggerType_BuffStatetTriggerType_TagBuffStatetTriggerType_AddDamagePertTriggerType_AttackOvertTriggerType_AttackAddSkillPertTriggerType_SuperHittTriggerType_SuperHitValuetTriggerType_HurtObjAddBufftTriggerType_ReduceCDtTriggerType_SuperHitSkillPertTriggerType_AttackAddFinalValuetTriggerType_HappenStatetTriggerType_AbsorbShieldtTriggerType_BounceHPtTriggerType_BuffDisappeartTriggerType_BuffTimetTriggerType_BounceHPPertTriggerType_AddSingleSkillPertTriggerType_SkillOverNoAttacktTriggerType_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_SummonDietTriggerType_GiftReduceCDtTriggerType_ProDefValuetget(teffectIDttdict((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetTriggerTypeByEffectIDs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 cCsitjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    6tj    d
6tj
d 6tj d 6tj d 6tj d6tj d6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6}|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(iÿÿÿÿ(RR_R`RZR^Rit TriggerType_Buff_AddSuperHitRatetTriggerType_Buff_AttackSubLayert!TriggerType_Buff_BeAttackSubLayerR†tTriggerType_Buff_MustBeHitRfR€RotTriggerType_ChangeHurtToHPRqtTriggerType_ForbidenCureRsR‡tTriggerType_BloodShieldR’(R“R”((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetBuffTriggerTypeByEffectIDls4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 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.pytRefreshPassiveSkill s4          "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.pytAddPassiveSkill1s*      !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.pytGetPassiveSkillsByTriggerTypeOs"""""%( 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¥_scCs+|jƒ|jƒf}|jj|dƒS(N(RTtGetGameObjTypeRÏR’R    (R¤RŸR8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt GetPassiveEffcscCsH|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.pytInitObjPassiveEffiscCs)|jƒ|jƒf}||j|<dS(N(RTRÐRÏ(R¤RŸt
passiveEffR8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt AddPassiveEffosicCsz|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.pyROts
  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Î]s                              %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   cCs=t|ƒ}|sdSt}|rM|jƒs2dStj|ƒrMt}qMntj|ƒrt|tjkrtt}nt    ƒj
|ƒ}|sdS|r¢|j ƒnd}|j ||ƒ}    |    sÄdSt ||ƒ}tj||ƒ}
d} d} x?|    D]7\} }|| krqøn|jƒj| ƒ}|s7qøn|rX|jƒtjkrXqøntj||ƒ}|svqøntj||ƒrŽqøntj|ƒ}tj||
ƒsµqønd|}tjtd|dfƒ}|sçqøn|||||ƒsqøn|jdƒ| krø|jdƒ} | } qøqøW| | fS(    NisPassiveSkill_%ss%s.%stCheckCanHappen(ii(ii(ii(ii(tFindRealAttackertFalseR R¶tisPassiveSkilltTruetGetUsingPassiveSkillRR\R*RÑR¸RËRõt AttackCommontGetBattleRelationTypeR tFindSkillBySkillTypeIDtDef_SkillFuncType_GiftSkilltGetSkillEffectByEffectIDtRefreshSkillRemainTimetGetSkillBattleTypetCheckBattleRelationTypeRt GetExecFuncRtGetEffectValue(RðRñt    connSkillR¨R1tisEnhanceSkilltstopPassiveSkillRÓR½RBtbattleRelationTypet lockHPPerMaxt lockHPSkillIDR¼R“R»R§tskillBattleTypetpyNametcallFunc((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveSkillLockHPs`        
 c
CsÎ|jƒtjkrdSt|||||ƒ\}}|jƒjƒ}|r§t|||||ƒ\}}    ||    dkrdS|    |kr§|jtj|ƒ|    Sn|dkr·dS|jtj|ƒ|S(Ni(    RÐRURVRt    GetPetMgrt GetFightPettSetDictRtDef_PlayerKey_LockHPSkillID(
RðRñRR¨R1R R
trolePettlockHPSkillIDPettlockHPPerMaxPet((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnObjsPassiveSkillLockHPWs  cCs |jƒtjkrdS|jtjƒ}|s|jƒjƒ}|sMdS|jtjƒ}|sidS|}tj    dƒn|j
tjdƒ|j ƒj |ƒ}|s±dStj    d|ƒt j|dƒtj||||ƒs t j|tj|ƒ||ƒnt j|dƒdS(Ns#DelayUsePassiveTriggerSkill-----petis.DelayUsePassiveTriggerSkill-----skillTypeID-%si(RÐRURVt GetDictByKeyRRRRRtDebugLogRR RþR¶tSetUsingPassiveSkillR¹tUsePassiveTriggerSkilltSetSkillRemainTimeR tGetReduceSkillCDPer(RðR»RñR1R¼R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytDelayUsePassiveTriggerSkillrs,"cCsU|jƒtjkrdS|jƒjƒ}|dkr;dSt|||||ƒdS(N(RÐRURVRRR    tOnPassiveSkillTrigger(RðRñRR¨R1R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPetPassiveSkillTrigger•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.%sRöi(R÷RøR R¶RùRúRûRR\R*RÑR¸RËRõRüRýR RþRÿRRRRRRRRR¹Rt SetRemainTimetadd(RðRñRR¨R1Rt
skillIDSetRRÓR½RBtresultR    R¼R“R»R§R R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyR¢sb        
 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÷ös  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ÿtGetCoolDownTimeRRRRRRR    R(RðRñRR¨RRÓR½RBR    R1tcurValueR¼R“R»R§R R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt!GetPassiveSkillValueByTriggerTypesV      
  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þRRRRRRRA(RðRñRR¨RÓR½RBR    RÊR¼R“R»R§R R R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetPassiveSkillByTriggerTypeOs@  
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¶RRRRRRRRR¹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¶RRR¬RR¦RRRRú(RðRñttagSkillR¨R1RÓtbuffDictR    R t
tagSkillIDRMt
effectListt passiveEffectR R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveBuffHappen±s:       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ÿRRRRRR¹RtAfterUsePassiveSkill(RðRñR=R¨R1RRÓR8R    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ýRRR¬RRRÅRÆR RRÿR¦RRR    R2R‰(RðRñR=R¨RRÓR8R    R R³R1RMR: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¬RARtDeleteSkillBySkillIDRøtsortRÅRÆt GetSkillTypetDef_SkillType_AttrSkillNoLearntLearnSkillByIDR*RQ(
R2t
dogzSkillst
ipyDataMgrRCtipyDatat delDogzSkillsR¿R»RMR°((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytPlayerDogzSkillos8    
 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 (4RUt ReadChConfigRRRRR¶t    BuffSkillR¹R R&R$t    PlayerVipRüRçRRìR-R*RÛRt    ImportAllR=R?RERNRRRYR•RtobjectRžRÎR*RõRøRRRR R    RR÷R2R3R5R<R@R?RARQRµ(((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt<module>s`                         P            0    '        X    "Ït    %     I        #     T        A    1    1    ,    H    
    @    -