cehua_hzl
2018-08-23 a1dfa33ce7f65f74b43e74fc167bf47f9d632815
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
œ~[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"d„Z#e$dd„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dSt|ƒ| jd    ƒkr²dSqðqðWntj|tj|j |j f|jtjƒtjƒ} |j | _ |j | _ |j| _tj || ƒ|j!tj"dtjƒ} |j | krxt#ƒj$|ƒtj|ƒj%ƒnt&j'|ƒdS(
NitPassSkillEquipLimitiiitleveltvipLvtMountLvtOpenSkillSlots((t    GameWorldtGetPlayerManagertGetPlayerByIndextNonetSkillIDtGetSkillManagertFindSkillBySkillIDt GetFuncTypetChConfigt Def_SkillFuncType_FbPassiveSkillt IpyGameDataPYt
GetFuncCfgtIndextPagetGetFuncEvalCfgtstrtitemstGetLVtGetVIPLvt PlayerHorset GetHorseSumLVt QuestCommontGetCommonMissiontintt GetPropertyt PlayerControltNomalDictSetPropertytDef_PDict_GFPassiveIndextDef_PDictType_GFPassivetChPyNetSendPackttagMCPassiveSetAnswert NetPackCommont SendFakePacktNomalDictGetPropertytDef_PDict_GFPassivePagetGetPassiveEffManagertRegistPassiveEffSettRefreshPlayerAttrStatet
EventShelltEventRespons_PassiveSet(tindext
clientDatattickt    curPlayert    findSkilltholeCnttpageCntttmpDicttstrIndextkeytvaluet    mission_1tsendPacktpage((s.\\PassiveBuffEffMng.pyt OnPassiveSet@s^        
     cCs¨tjƒj|ƒ}tjddƒ}|j|kr:dStj|tj    |jtj
ƒt j ƒ}|j|_t j||ƒtƒj|ƒtj|ƒjƒdS(NRi(RRRRRRRR RR(R"R#ttagMCPassivePageR%R&R)R*R+(R.R/R0R1R4R:((s.\\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(R1R;R3tskillstit findSkillID((s.\\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"R@R%R&R(R=R(    R1R3R4R:RBRAtjtskillIDR;((s.\\PassiveBuffEffMng.pytOnLoginGFPassive·s(                         cCs4tƒj|ƒtƒj|ƒtƒj|ƒdS(N(R)tRegistPassiveEffR*tRegistPassiveBuff(R1((s.\\PassiveBuffEffMng.pytOnLoadMapGFPassiveçscCsdtƒj|jƒtjfƒx>tddƒD]-}tƒj|jƒd|tjfƒq/WdS(Niii
(R)tRemovePassiveEfftGetIDt IPY_GameWorldt    gotPlayertrangetgotNPC(R1RB((s.\\PassiveBuffEffMng.pytOnPlayerLeaveMap s+cCs
i2tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    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*d26}|j+|d3ƒS(4Ni 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_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_OneDamagetget(teffectIDttdict((s.\\PassiveBuffEffMng.pytGetTriggerTypeByEffectIDsh
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 cCsÊitjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd    6tj    d
6tj
d 6tj d 6tj d 6tj d6tj d6tjd6tjd6tjd6}|j|dƒS(Ni”i•i–i—i˜iši›iœi¢iižiŸi i¡i£i#i&i(iÿÿÿÿ(RR[R\RkRZRet TriggerType_Buff_AddSuperHitRatetTriggerType_Buff_AttackSubLayert!TriggerType_Buff_BeAttackSubLayertTriggerType_Buff_SuckBloodPertTriggerType_Buff_MustBeHitRbR}RltTriggerType_BloodShieldR‚(RƒR„((s.\\PassiveBuffEffMng.pytGetBuffTriggerTypeByEffectIDWs(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 t
PassiveEffcBsVeZd„Zd„Zd„Zdd„Zd„Zd„Zd„Zdd„Z    RS(    cCs(||_i|_i|_i|_dS(N(tgameObjtAffectBuffDicttAffectSkillDicttAffectPassiveSkillSetDict(tselfRŽ((s.\\PassiveBuffEffMng.pyt__init__ts            cCsœ|jƒ}t|ƒ}|dkr(dSd}||f}||jkrYi|j|<n||j|kr€g|j||<n|j||j|ƒdS(Niÿÿÿÿi(t GetEffectIDRŒRR@(R’teffectRLRƒt triggerTypetreleaseSkillIDtkeyTuple((s.\\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
GetSkillIDRUtGetEffectCountt    GetEffectR”RŒRtpop(R’t    skillDataRLR—RBt    curEffectRƒR–((s.\\PassiveBuffEffMng.pyt DelBuffInfo’s     icCs|jj|dfiƒS(Ni(RR‚(R’R–t
useSkillID((s.\\PassiveBuffEffMng.pytGetBuffsByTriggerType­sc 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 RDR tGetSkillTypeIDt
SkillShelltGetConnectSkillIDR?R›RœR”R…R@( R’t skillManagerRARLtcurSkillt skillTypeIDt connSkillIDRBRŸRƒR–R7((s.\\PassiveBuffEffMng.pytRefreshPassiveSkillSet²s,           "c
CsRi|_|jjƒ}x0td|jƒƒD]}|j|ƒ}|sOq.ntj|ƒsdq.n|jƒt    j
krq.n|j ƒ}t j |ƒ}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 RUt GetSkillCounttGetSkillByIndext SkillCommontisPassiveTriggerSkillR RRR£R¤R¥R?R›RœR”R…R@(
R’R¦RBR§R¨R©RŸRƒR–R7((s.\\PassiveBuffEffMng.pytRefreshPassiveSkillÒs2          "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R@(
R’RLR§R¨R©RBRŸRƒR–R7((s.\\PassiveBuffEffMng.pytAddPassiveSkillös*      !cCs°g}|j|jj||fgƒƒ|j|jj||fgƒƒ|dkr¬|tjkr¬|j|jj|dfgƒƒ|j|jj|dfgƒƒn|S(Ni(textendRR‚R‘RtDef_SkillID_Somersault(R’R–R©t    skillList((s.\\PassiveBuffEffMng.pytGetPassiveSkillsByTriggerTypes"""%(
t__name__t
__module__R“R™R R¢RªR¯R²R¶(((s.\\PassiveBuffEffMng.pyRss                          $    tPassiveEffManagercBsSeZd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Z    RS(    cCs i|_dS(N(tpassiveEffClassDict(R’((s.\\PassiveBuffEffMng.pyR“#scCs+|jƒ|jƒf}|jj|dƒS(N(RRtGetGameObjTypeRºR‚R    (R’RŽR7((s.\\PassiveBuffEffMng.pyt GetPassiveEff'scCsH|jƒ|jƒf}||jkr=t|ƒ|j|<n|j|S(N(RRR»RºR(R’RŽR7((s.\\PassiveBuffEffMng.pytInitObjPassiveEff-scCs)|jƒ|jƒf}||j|<dS(N(RRR»Rº(R’RŽt
passiveEffR7((s.\\PassiveBuffEffMng.pyt AddPassiveEff3sicCsz|j|ƒ}| s| r`|r1|jƒdSt|ƒ}|jƒsMdS|j||ƒn|rv|j|ƒndS(N(R¼R¯RR¿R²(R’RŽRLR¾((s.\\PassiveBuffEffMng.pyRN8s
  cCsR|j|ƒ}|sDt|ƒ}|jƒs1dS|j||ƒn
|jƒdS(N(R¼RRªR¿(R’RŽR¾((s.\\PassiveBuffEffMng.pyR*Os  
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ÿÿÿÿ((RStbfBufftbfDeBufft bfProcessBufft btPassiveBuft bfActionBufftbfProcessDeBuffR»RVt
PetControltIsPetR­tGetBuffManagerByBuffTypeR?t GetBuffCounttGetBufftGetSkillRUR›RœR”RŒR½R™Rš( R’RŽtbuffTypet    buffTuplet buffManagerRBtcurBufft    buffSkillt effectIndexRŸRƒR–R¾((s.\\PassiveBuffEffMng.pyRO\s2$     
     "cCs&||jkr"|jj|ƒndS(N(RºR(R’R7((s.\\PassiveBuffEffMng.pyRQs(
R·R¸R“R¼R½R¿RNR*RORQ(((s.\\PassiveBuffEffMng.pyR¹!s                          %cCstjstƒt_ntjS(N(t
PyGameDatatg_PassiveEffManagerR¹(((s.\\PassiveBuffEffMng.pyR)‡s    cCs0|tjtjgkrtS||kr,tStS(N(RtDef_BattleRelationType_Commt!Def_BattleRelationType_CommNoBosstTruetFalse(tskillBattleTypetbattleRelationType((s.\\PassiveBuffEffMng.pytCheckBattleRelationTypes
 cCs•|r||kr|S|jƒtjkr/dS|jƒ}|jƒ}tj||ƒ}|rc|Stjƒ}|sydStj|j    ƒ|j
ƒƒS(N( R»RSRTtGetUseSkillTagIDtGetUseSkillTagTypeRtGetObjt
BaseAttacktGetFirstHurtObjtGetObjIDt
GetObjType(tattackertdefendert useSkillTagIDtuseSkillTagTypetcurHurt((s.\\PassiveBuffEffMng.pytGetPassiveDefenderªs   c    Cs%t|ƒ}|stS|rB|jƒs,tStj|ƒrBtSntj|ƒru|tjkrutj    d|ƒdSt
ƒj |ƒ}|s‘tS|r£|j ƒnd}|j ||ƒ}    |    sÅtSt||ƒ}tj||ƒ}
x8|    D]0\} } |jƒj| ƒ} | sqíntj| | ƒ}|s8qíntj| |ƒrPqíntj| ƒ}t||
ƒstqínd| }tjtd|dfƒ}|r¼||||| ƒ r¼qíntj|dƒtj|| |||ƒr |r | jdƒ|j| ƒq ntj|dƒqíWtS(Ns!±»¶¯¼¼Äܲ»ÄÜÔٴδ¥·¢±»¶¯¼¼ÄÜ---%sisPassiveSkill_%ss%s.%stCheckCanHappeni(tFindRealAttackerR×R R­tisPassiveSkilltGetUsingPassiveSkillRRXRtDebugLogR)R¼R£R¶Rçt AttackCommontGetBattleRelationTypeR tFindSkillBySkillTypeIDtGetSkillEffectByEffectIDtRefreshSkillRemainTimetGetSkillBattleTypeRÚt GetExecFuncRtSetUsingPassiveSkillR¤tUsePassiveTriggerSkillt SetRemainTimetaddRÖ(RâRãt    connSkillR–R0tisEnhanceSkillt
skillIDSetR¾R©RARÙR¨RƒR§R•RØtpyNametcallFunc((s.\\PassiveBuffEffMng.pytOnPassiveSkillTriggerÁsV  
 cCs|jƒtjkr|S|jƒ}|tjtjgkrQ|jƒrM|SdS|tjkrd|S|tjkrŒtjtj    |ƒ}|SdS(N(
R»RSRVtGetTypetntPettntElft    GetIsBosst    NPCCommontGetSummonNPCOwnerRT(RâtnpcType((s.\\PassiveBuffEffMng.pyRés  c    Csüt|ƒ}|sdS|r/tj|ƒr/dStƒj|ƒ}|sKdS|r]|jƒnd}|j||ƒ}|sdStj||ƒ}t    j
ƒj ƒ}d}    xL|D]D\}
} |j ƒj |
ƒ} | sÝq°n| jƒrtj| |ƒrq°ntj| | ƒ} | sq°ntj| ƒ}t||ƒsCq°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îRt GetGameWorldtGetTickR RïtGetCoolDownTimeRñRðRòRÚRóRR    tSetSkillRemainTime(RâRãRøR–R¾R©RARÙR0tcurValueR¨RƒR§R•RØRûRü((s.\\PassiveBuffEffMng.pyt!GetPassiveSkillValueByTriggerTypesL 
  cCsjt|ƒ}|sgS|r/tj|ƒr/gStƒj|ƒ}|sKgS|r]|jƒnd}|j||ƒ}|sgStj||ƒ}g}xÌ|D]Ä\}    }
|j    ƒj
|    ƒ} | sËqžntj | |
ƒ} | séqžntj | ƒ} t | |ƒs qžnd|
}tjtd|dfƒ}|rU|||| | ƒ rUqžn|j| ƒqžW|S(NisPassiveSkill_%ss%s.%sRè(RéR­RêR)R¼R£R¶RíRîR RïRðRòRÚRRóRR@(RâRãRøR–R¾R©RARÙRµR¨RƒR§R•RØRûRü((s.\\PassiveBuffEffMng.pytGetPassiveSkillByTriggerTypeTs< 
cCs•t|ƒ}|sdStƒj|ƒ}|s2dS|rD|jƒnd}|j||ƒ}|sfdSt||ƒ}tj||ƒ}x|D]ÿ\}    }
|jƒj    |    ƒ} | s»qŽnt
j | |
ƒ} | sÙqŽnt
j | |ƒrñqŽnt
j | ƒ} t| |ƒsqŽnd|
}tjtd|dfƒ}|r`|||| | |ƒ r`qŽnt
j| d||ƒtj||| |ƒtSWtS(NisPassiveSkill_%ss%s.%sRè(RéR)R¼R£R¶RçRíRîR RïR­RðRñRòRÚRRóRR    R¤tDoLogic_UseEnhanceSkillRÖR×(RâRãRøR–R0R¾R©RARÙR¨RƒR§R•RØRûRü((s.\\PassiveBuffEffMng.pytOnPassiveSkillHappenƒs@ 
cCsöt|ƒ}|sdS|rB|jƒs,dStj|ƒrBdSntj|ƒrftjd|ƒdStƒj|ƒ}|s‚dS|j    |ƒ}|s›dSt
||ƒ}t j ||ƒ}x3|j ƒD]%\}}    x|    D]}
d|
jƒ} tjtd| dfƒ} | sqÜn| |||
|ƒs5qÜntjtd| dfƒ} | s]qÜn| |
ƒ} | suqÜntj| ƒ}t||ƒs™qÜntj|dƒtj|| ||ƒrÚt| |||
|ƒntj|dƒqÜWqÉWdS(Ns!±»¶¯¼¼Äܲ»ÄÜÔٴδ¥·¢±»¶¯¼¼ÄÜ---%ssPassiveBuff_%ss%s.%sRèt GetSkillDataii(RéR R­RêRëRRìR)R¼R¢RçRíRîRR”RóRRòRÚRôR¤RõtAfterUsePassiveSkill(RâRãtuseSkillR–R0R¾tbuffDictRÙRLt
effectListt passiveEffectRûRüRžRØ((s.\\PassiveBuffEffMng.pytOnPassiveBuffTriggerµsP    cCs=tjtd|dfƒ}|s&dS|||||ƒdS(Ns%s.%sR(RRóR(RûRâRãRR0Rü((s.\\PassiveBuffEffMng.pyRòs
cCsst|ƒ}|sdS|r/tj|ƒr/dStƒj|ƒ}|sKdS|j|ƒ}|sddStj||ƒ}tj|ƒ}t    ||ƒs˜dSd}xÎ|j
ƒD]À\}    }
x±|
D]©} d| j ƒ} t j td| dfƒ} | süq¾n| sq¾n| ||| |    ƒs#q¾nt j td| dfƒ} | dkrQq¾n|| ||| ƒ7}q¾Wq«W|S(NisPassiveBuff_%ss%s.%sRèR(RéR­RêR)R¼R¢RíRîRòRÚRR”RRóRR    (RâRãRR–R¾RRÙRØR
RLRRRûRü((s.\\PassiveBuffEffMng.pyt GetValueByPassiveBuffTriggerTypeüs>   (.RSt ReadChConfigRRRRR­t    BuffSkillR¤RR%R#t    PlayerVipRíRÒRRÞR,RRÆRt    ImportAllR<R>RDRMRPRWR…RŒtobjectRR¹R)RÚRçR×R    RýRéR R RRRR(((s.\\PassiveBuffEffMng.pyt<module>sT                         P            0    %        C    ®f             C        8    /    2    =