cehua-TT
2018-08-23 a1b50700a46cb13355efbe06e55b6ab5ccf7ee49
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
”R~[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dS|| jd    ƒkr¬dSqðqðWntj|tj|j |j f|jtjƒtjƒ} |j | _ |j | _ |j| _tj|| ƒ|j tj!dtjƒ} |j | krrt"ƒj#|ƒtj|ƒj$ƒnt%j&|ƒdS(
NitPassSkillEquipLimitiiitleveltvipLvtMountLvtOpenSkillSlots('t    GameWorldtGetPlayerManagertGetPlayerByIndextNonetSkillIDtGetSkillManagertFindSkillBySkillIDt GetFuncTypetChConfigt Def_SkillFuncType_FbPassiveSkillt IpyGameDataPYt
GetFuncCfgtIndextPagetGetFuncEvalCfgtstrtitemstGetLVtGetVIPLvt PlayerHorset GetHorseSumLVt QuestCommontGetCommonMissiont 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(RRRRRRRRRR'R!R"ttagMCPassivePageR$R%R(R)R*(R-R.R/R0R3R9((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(R0R:R2tskillstit 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(    R0R2R3R9RAR@tjtskillIDR:((s.\\PassiveBuffEffMng.pytOnLoginGFPassiveµs(                         cCs4tƒj|ƒtƒj|ƒtƒj|ƒdS(N(R(tRegistPassiveEffR)tRegistPassiveBuff(R0((s.\\PassiveBuffEffMng.pytOnLoadMapGFPassiveåscCsdtƒj|jƒtjfƒx>tddƒD]-}tƒj|jƒd|tjfƒq/WdS(Niii
(R(tRemovePassiveEfftGetIDt IPY_GameWorldt    gotPlayertrangetgotNPC(R0RA((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ÿÿÿÿ(RRZR[RjRYRdt TriggerType_Buff_AddSuperHitRatetTriggerType_Buff_AttackSubLayert!TriggerType_Buff_BeAttackSubLayertTriggerType_Buff_SuckBloodPertTriggerType_Buff_MustBeHitRaR|RktTriggerType_BloodShieldR(R‚Rƒ((s.\\PassiveBuffEffMng.pytGetBuffTriggerTypeByEffectIDUs(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 t
PassiveEffcBsVeZd„Zd„Zd„Zdd„Zd„Zd„Zd„Zdd„Z    RS(    cCs(||_i|_i|_i|_dS(N(tgameObjtAffectBuffDicttAffectSkillDicttAffectPassiveSkillSetDict(tselfR((s.\\PassiveBuffEffMng.pyt__init__rs            cCsœ|jƒ}t|ƒ}|dkr(dSd}||f}||jkrYi|j|<n||j|kr€g|j||<n|j||j|ƒdS(Niÿÿÿÿi(t GetEffectIDR‹RŽR?(R‘teffectRKR‚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
GetSkillIDRTtGetEffectCountt    GetEffectR“R‹RŽtpop(R‘t    skillDataRKR–RAt    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 RCR tGetSkillTypeIDt
SkillShelltGetConnectSkillIDR>RšR›R“R„R?( R‘t skillManagerR@RKtcurSkillt skillTypeIDt connSkillIDRARžR‚R•R6((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 RTt GetSkillCounttGetSkillByIndext SkillCommontisPassiveTriggerSkillR RRR¢R£R¤R>RšR›R“R„R?(
R‘R¥RAR¦R§R¨RžR‚R•R6((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‘RKR¦R§R¨RARžR‚R•R6((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Œqs                          $    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(RQtGetGameObjTypeR¹RR    (R‘RR6((s.\\PassiveBuffEffMng.pyt GetPassiveEff%scCsH|jƒ|jƒf}||jkr=t|ƒ|j|<n|j|S(N(RQRºR¹RŒ(R‘RR6((s.\\PassiveBuffEffMng.pytInitObjPassiveEff+scCs)|jƒ|jƒf}||j|<dS(N(RQRºR¹(R‘Rt
passiveEffR6((s.\\PassiveBuffEffMng.pyt AddPassiveEff1sicCsz|j|ƒ}| s| r`|r1|jƒdSt|ƒ}|jƒsMdS|j||ƒn|rv|j|ƒndS(N(R»R®RŒR¾R±(R‘RRKR½((s.\\PassiveBuffEffMng.pyRM6s
  cCsR|j|ƒ}|sDt|ƒ}|jƒs1dS|j||ƒn
|jƒdS(N(R»RŒR©R¾(R‘RR½((s.\\PassiveBuffEffMng.pyR)Ms  
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ÿÿÿÿ((RRtbfBufftbfDeBufft bfProcessBufft btPassiveBuft bfActionBufftbfProcessDeBuffRºRUt
PetControltIsPetR¬tGetBuffManagerByBuffTypeR>t GetBuffCounttGetBufftGetSkillRTRšR›R“R‹R¼R˜R™( R‘RtbuffTypet    buffTuplet buffManagerRAtcurBufft    buffSkillt effectIndexRžR‚R•R½((s.\\PassiveBuffEffMng.pyRNZs2$     
     "cCs&||jkr"|jj|ƒndS(N(R¹Rœ(R‘R6((s.\\PassiveBuffEffMng.pyRPs(
R¶R·R’R»R¼R¾RMR)RNRP(((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ºRRRStGetUseSkillTagIDtGetUseSkillTagTypeRtGetObjt
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¬tisPassiveSkilltGetUsingPassiveSkillRRWRtDebugLogR(R»R¢RµRæt AttackCommontGetBattleRelationTypeR tFindSkillBySkillTypeIDtGetSkillEffectByEffectIDtRefreshSkillRemainTimetGetSkillBattleTypeRÙt GetExecFuncRtSetUsingPassiveSkillR£tUsePassiveTriggerSkillt SetRemainTimetaddRÕ(RáRât    connSkillR•R/tisEnhanceSkillt
skillIDSetR½R¨R@RØ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ºRRRUtGetTypetntPettntElft    GetIsBosst    NPCCommontGetSummonNPCOwnerRS(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¨R@RØR/tcurValueR§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¨R@RØR´R§R‚R¦R”R×RúRû((s.\\PassiveBuffEffMng.pytGetPassiveSkillByTriggerTypeRs< 
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òRRR£tDoLogic_UseEnhanceSkillRÕRÖ(RáRâR÷R•R/R½R¨R@RØ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•R/R½tbuffDictRØRKt
effectListt passiveEffectRúRûRR×((s.\\PassiveBuffEffMng.pytOnPassiveBuffTrigger³sP    cCs=tjtd|dfƒ}|s&dS|||||ƒdS(Ns%s.%sR(RRòR(RúRáRâRR/Rû((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    RKRRRúRû((s.\\PassiveBuffEffMng.pyt GetValueByPassiveBuffTriggerTypeús>   (.RRt ReadChConfigRRRRR¬t    BuffSkillR£RR$R"t    PlayerVipRìRÑRRÝR+RRÅRt    ImportAllR;R=RCRLRORVR„R‹tobjectRŒR¸R(RÙRæRÖR    RüRèR
R R RRR(((s.\\PassiveBuffEffMng.pyt<module>sT                         N            0    %        C    ®f             C        8    /    2    =