cehua_wcy
2019-01-22 0a918dbd87908dd81bee445b51e45d7f1fec5758
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
225
226
227
228
229
†'
\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ÜiGtjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    6tj    d
6tj
d 6tjd 6tj d 6tj d6tj d6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd 6tjd!6tj d"6tjd#6tjd$6tjd%6tjd&6tjd'6tj d(6tjd)6tj!d*6tj"d+6tj#d,6tj$d-6tj%d.6tj&d/6tj'd06tj(d16tj)d26tj*d36tj+d46tj,d56tj-d66tj.d76tj/d86tjd96tj0d:6tj1d;6tj2d<6tj3d=6tj4d>6tj5d?6tj!d@6tj6dA6tj7dB6tj8dC6tj%dD6tjdE6tj9dF6tjdG6}|j:|dHƒS(INi6i8i9i 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_BeLuckyHittTriggerType_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 d6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6}|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(iÿÿÿÿ(RR`RaRZR_Rjt TriggerType_Buff_AddSuperHitRatetTriggerType_Buff_AttackSubLayert!TriggerType_Buff_BeAttackSubLayerR‡tTriggerType_Buff_MustBeHitRgRRptTriggerType_ChangeHurtToHPRrtTriggerType_ForbidenCureRtRˆtTriggerType_BeLuckyHitSubPertTriggerType_BloodShieldR“(R”R•((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetBuffTriggerTypeByEffectIDms6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 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.pytAddPassiveSkill4s*      !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.pytGetPassiveSkillsByTriggerTypeRs"""""%( 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§bscCs+|jƒ|jƒf}|jj|dƒS(N(RTtGetGameObjTypeRÑR“R    (R¦R¡R8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt GetPassiveEfffscCsH|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.pytInitObjPassiveEfflscCs)|jƒ|jƒf}||j|<dS(N(RTRÒRÑ(R¦R¡t
passiveEffR8((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt AddPassiveEffrsicCsz|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.pyROws
  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.pytOnObjsPassiveSkillLockHPZs  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 RR¸tSetUsingPassiveSkillR»tUsePassiveTriggerSkilltSetSkillRemainTimeR tGetReduceSkillCDPer(RòR½RóR1R¾R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytDelayUsePassiveTriggerSkillus,"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 RRRRRRRRRRR»Rt SetRemainTimetadd(RòRóRRªR1R    t
skillIDSetR
RÕR¿RBtresultR R¾R”R½R©RRR((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 RR RRtGetCoolDownTimeRRRRRRR    R(RòRóRRªR
RÕR¿RBR R1tcurValueR¾R”R½R©RRR((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 RRRRRRRRA(RòRóRRªRÕR¿RBR RÌR¾R”R½R©RRR((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytGetPassiveSkillByTriggerTypeRs@  
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 RR¸RRRRRRRRR»tDoLogic_UseEnhanceSkillRüRú(RòRóRRªR1RÕR¿RBR R¾R”R½R©RRR((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 Rt
tagSkillIDRMt
effectListt passiveEffectRR((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ÈRRRRRRRR»RtAfterUsePassiveSkill(RòRóR?RªR1R
RÕR:R RµRMR<R=RR½RR²R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pytOnPassiveBuffTriggeràs`          cCs=tjtd|dfƒ}|s&dS|||||ƒdS(Ns%s.%sRA(RRR(RRòRóR=R1R((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyRA(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 RRR¨RRR    R4RŠ(RòRóR?RªR
RÕR:R RRµR3RMR<R½R=RR((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt GetValueByPassiveBuffTriggerType2sN        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.pytPlayerDogzSkillrs8    
 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úRRR R"R    R!RùR4R5R7R>RBRARCRSR·(((sa.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\PassiveBuffEffMng.pyt<module>s`                         P            0    '        Y    $Ït    %     I        #     T        A    1    1    ,    H    
    @    -