hch
2025-05-16 5f8f590c4b577b1a81bbfff7aa69b8b01e7ff804
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
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
Sð    hc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Zdd„Zd„Zd„Zd„Zd    „Zd
„Z d „Z!d „Z"d „Z#d„Z$d„Z%d„Z&d„Z'd„Z(dd„Z)id„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2dd„Z3d„Z4d „Z5d!„Z6d"„Z7d#„Z8d$„Z9d%„Z:d&„Z;d'„Z<d(„Z=d)„Z>d*„Z?d+„Z@ejAeBd,„ZCeDd-„ZEd.„ZFd/„ZGd0„ZHd1„ZId2„ZJd3„ZKd4„ZLd5„ZMeBd6„ZNdS(7iÿÿÿÿNcCs-|jƒtjkr)tj|dƒtStS(NtGeRen_chenxin_436832(tGetPlayerActiontChConfigtDef_Player_DoEquip_Statet PlayerControlt
NotifyCodetFalsetTrue(t    curPlayer((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCheckPlayerCanEquipItem1scCsj|dkrtStj|ƒ}tj|ƒs2tStj|ƒsRtjdƒtS|jƒ}|t    j
krqtStj |ƒ|krŠtStj |ƒ}|j ƒ}d}d}    d}
|jƒ} |jƒ} |jƒ} |j||ƒ}|dkrýtS|jƒjtjƒ}|j|ƒ}|jt    jƒdkr^|jt    jttjƒƒƒn|tj|ƒks‚|tjkr¡|j ||||
|    | ƒn|t!|ƒkrÃt"||ƒn| sßt#j$|||ƒn|tj%kròt&S|j'tj(tj)ƒ|tj*kr$t+|ƒn|r:t,||ƒntj|ƒ}|j-ƒt.j/ƒj0|ƒt&S(Nis ×°±¸ÒѹýÆÚ!iÿÿÿÿ(1Rt ItemControlertPlayerItemControlert
ItemCommontCheckItemCanUsetCheckItemCanUseByExpireTimet    GameWorldtDebugLogt GetEquipPlacet ShareDefinet RoleEquipTypetGetEquipPackIndextGetItemClassLVt GetItemTypeIDt GetUserDatat
GetSuiteIDtGetEndureReduceTypet    EquipItemtGetItemManagertGetPackt IPY_GameWorldtrptEquiptGetAtt GetUserAttrtDef_IudetCreateTimet SetUserAttrtintttimeRtGetFaceEquipIndexListRtDef_SyncEquipStateByIndext ChangeEquiptGetEquipFacadeClassLVtChangeEquipfacadeByClassLVt
EventShelltEventRespons_EquipByPlacetEquipItemNoRefreshStateRtSetDictt Def_PlayerKey_AttrActivatyNotifytDef_AttrActivatyNotify_EquiptEquipPlace_LingQitRefreshPlayerLingQiEquipAttrtRefreshPlayerEquipAttributetRefreshPlayerAttrStatetPassiveBuffEffMngtGetPassiveEffManagertRegistSuperEquipSkillDict(RtcurItemtequipPackIndextticktplayerItemControltchangeItemEquipPlacet itemClassLVt changeItemIDtchangeItemStarLVtchangeItemStoneCnttchangeItemHoleCnttchangeItemUseDatatsuiteIDtendureReduceTypet
equipPlacet    equipPacktcurEquipt playControl((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytDoPlayerEquipItemBsZ        "$     
icCsÊtjd||jƒƒ|dkrBtdtjdƒdƒn|g}x|D]}t||ƒqRW|rÆ|jƒ}|tjkršgtj|<ntj|}||krÆ|j    |ƒqÆndS(Ns/Start RefreshPlayerEquipAttribute classLV=%s!!!iitEquipMaxClasslv(
RRt GetPlayerIDtxranget IpyGameDataPYt
GetFuncCfgt__CalcEquips_Effectt
PyGameDatatg_equipChangeClassLVInfotappend(RtclassLVt classlvListtrclasslvtplayerIDt classLVList((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR2£s1    c(Csètjƒ}tjƒ}tjƒ}tjƒ}d}d}d}d}d}    d}
tjƒ} tjƒ} t    j
} |j ƒj | ƒ}xÀt |jƒƒD]¬}tjdi|d6dtƒ}|sÎqn|jƒsàqn|j|ƒ}|jƒs |jƒtjkr |d7}q nt||ƒ}||7}t|| |ƒ}t|| |ƒ}||7}t|| |ƒ}||7}|jtj|ƒ}|    |7}    gg}}x’| D]Š}tj|||ƒ\}}|j |ƒ|j |ƒ|dkrq·n| j!|ƒ}|sdn|j"dƒj#dƒ}|
|7}
q·W|r†tj$ƒ}|j%ƒ||_&||_'|j(j |ƒn|s˜|s˜|rîtj)ƒ}|j%ƒ| |_*||_+||_,||_-||_.|j(j |ƒnt} g}!xt dt/j0dƒD]x}"tj1ƒ}#|jtj2||"fƒ|#_3|jtj4||"fƒ|#_5|!j |#ƒ|#j3s€|#j5rt6} qqW| s™|råtj7ƒ}$||$_8||$_9|!|$_:t;|$j:ƒ|$_<|j(j |$ƒnt;|ƒ}%|j=dƒ|%krtj>ƒ}&||&_8|%|&_?||&_@||&_A|j(j |&ƒqqW|j(r{t;|j(ƒ|_BtCjD||ƒn|j(r©t;|j(ƒ|_BtCjD||ƒn|j(r×t;|j(ƒ|_BtCjD||ƒn|j(rt;|j(ƒ|_EtCjD||ƒntFjG|ƒtHjI|tjJ|ƒtHjI|tjK|ƒtHjI|tjL|ƒtHjI|tjM|ƒtHjI|tjN|    ƒtHjI|tjO|
ƒtjPd|||||    |
fƒtQ|ƒxtjRD]}'tS||'ƒqÍWdS(sÁ Íæ¼ÒµÇ¼ͳһ´¦Àí×°±¸£¬Ö»±éÀúÒ»´Î×°±¸±³°ü£¬Í¨ÖªÐÅÏ¢¡¢¸üÐÂÒ»´ÎÊý¾Ý£¬·ÀÖ¹×ܵȼ¶Í³¼ÆÒì³£
                    ×°±¸Æ·ÖʳÈ×°¼°ÒÔÉÏÊýÁ¿¡¢×°±¸×ÜÐÇÊý¡¢Ç¿»¯×ܵȼ¶¡¢½ø»¯×ܵȼ¶¡¢Ï´Á·×ܵȼ¶¡¢±¦Ê¯×ܵȼ¶
    itEquipPlaceIndexMapt    GridIndext    isLogNoneiswµÇ¼¸üÐÂ×°±¸Ïà¹ØÖµ»ã×Ü: orangeEquipCount=%s,totalStar=%s,totalPlusLV=%s,totalEvolveLV=%s,totalWashLV=%s,totalStoneLV=%sN(TtChPyNetSendPackttagMCEquipPartStarInfottagMCEquipPartPlusInfottagMCEquipPartXLAttrInfottagMCStoneInfotOperate_EquipStonetGetAllEquipPlaceHoleIndexRt GetGameDataRRRRRKtGetCountRLtGetIpyGameDataByConditionRt
GetClassLVRtIsEmptyt GetItemColorRtDef_Item_Color_OrangetGetEquipPartStartGetEquipPartProficiencytGetEquipPartPlusLVtGetEquipPartPlusEvolveLVtNomalDictGetPropertyRtDef_PDict_EquipWashLVtGetEquipIndexStoneIDAndIsBandRQtGetItemByTypeIDtGetEffectByIndextGetEffectValuettagMCEquipPartStartCleartEquipPackIndextStartInfoListttagMCEquipPartPlusLVtPackTypet
EquipIndextEquipPartStarLVt ProficiencytEvolveLVtOperate_EquipWashtDef_EquipWashMaxAttrCountttagMCEquipPartXLAttrValuetDef_PDict_EquipWashValuet XLAttrValuetDef_PDict_EquipWashValueTempt XLAttrChangeRttagMCEquipPartXLAttrt
EquipPlacetXLAttrLVt
XLAttrListtlent    XLAttrCnttcountt tagMCStoneMsgt MaxStoneCountt    StoneInfot    StoneBindtCountt NetPackCommont SendFakePackt
EquipCounttOperate_EquipPlustSyncEquipMasterPlusLVInfoRtNomalDictSetPropertytDef_PlayerKey_EquipOrangeCounttDef_PDict_TotalEquipStartDef_PDict_TotalPlusLVtDef_PDict_TotalPlusEvolveLVtDef_PDict_TotalEquipWashLVtDef_PDict_TotalStoneLVRtSync_EquipPartSuiteActivateInfoR0tSync_LingQiTrainData((RtePartStarLVPacktePartPlusLVPackt ePartXLPacktePartStonePacktorangeEquipCountt    totalStart totalPlusLVt totalEvolveLVt totalWashLVt totalStoneLVt holeIndexListtgameDatatpackTypeREtindextipyDataRFtstarLVtplusProficiencytplusLVtevolveLVtwashLVt stoneIDListtstoneIsBindListt    holeIndextstoneIDt stoneIsBindtcurStonetstoneLVt ePartStarLVt ePartPlusLVt
hasXLValuet
xlAttrListtattrNumt    washValuet ePartXLAttrt
stoneCounttstoneMsgRD((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnPlayerEquipLoginLogic¶sÖ            
 
 
 
     $ 
         
                                                                            
cCstjtƒ||ƒdS(N(Rt GetPsycoFunct__Func_PlayerEquipItem(R«R9((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytPlayerEquipItem¤scCs©tjƒj|ƒ}tjƒ}|jƒ}|jƒ}t|ƒsIdS|jƒj    tj
ƒ}|j |ƒ}t ||||ƒr‰dS|j tj
|tjdƒdS(Ni(RtGetPlayerManagertGetPlayerByIndexRtIPY_CEquipItemt GetItemIndextGetRoleEquipTypeR    RRtrptItemRRHtNotify_ItemPutFailR(R«R9RtsendPackt packItemIndexR8trolePackR7((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRÄ®s     cCsdS(N((R«R9((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOneKeyChangeEquipÕscCstjtƒ||ƒdS(N(RRÃt__Func_PlayerUnEquip(R«R9((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt PlayerUnEquipÞsc Cstjƒ}tjƒj|ƒ}t|ƒs1dS|jƒ}tj|ƒ}|j    ||j
ƒƒ}|sndS|d}|d}|d}    |t j krŸdS|t j kr»t|ƒn|    rÑt||    ƒntj|ƒ}
|
jƒtjƒj|ƒdS(Niii(RtIPY_CUnEquipItemRRÆRÇR    t GetEquipIndexR
R t UnEquipItemt GetPackIndexRR,R0R1R2RR3R4R5R6( R«R9RÍRR8R:tresulttequipIDRDR<RG((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRÑés,   
 
 
 
c
Cstjƒj|ƒ}|j}tjd|ƒ}|s:dS|jƒ}tjd|ƒs\dStjƒj|ƒ}tjƒj|ƒ}| s”| r˜dSt    j
|ƒ}    |    t    j
|ƒkr×tj d||fƒdS|j ƒj tjƒ}
|
j|    ƒ} | s| jƒr&tj d|ƒdS| jƒrGtj d|ƒdS| jƒ|krntj d|ƒdS|jƒ} |j ƒj tjƒ} t    j| | ƒ\}}|rÎtj d|| |fƒdSt    j|| |dƒt    j|| dttjitƒtj||ƒs6tjd||j ƒƒdSt    j!|t"j#tjd    |    ƒd    }d    }d    }d
}|j$||    ||||ƒt%|ƒt&j&|ƒ}|j'ƒt(j)ƒ}|j*ƒ||_+t,j-||ƒt&j.d    d |j/ƒ||gƒdS( Nt
LingQiAttrsDÍ»ÆÆµÄÎïÆ·ºÍÍ»ÆÆºóµÄÎïÆ·²»ÊÇͬ¸ö×°±¸Î»£¡breakItemID=%s,nextItemID=%ss Í»ÆÆµÄÎïÆ·Î´´©´÷£¡breakItemID=%ss$Í»ÆÆµÄÎïÆ·ÊÇʱЧÎïÆ·£¡breakItemID=%ss@Í»ÆÆÏûºÄÎïÆ·²»×㣡breakItemID=%s,costItemDict=%s,lackItemDict=%stLingQiEquipBreakis%ÁéÆ÷Í»ÆÆºóID(%s)·ÅÈëÁÙʱ½»»»±³°üʧ°Ü!itt SpiritOrgan(0RRÆRÇtItemIDRLtGetIpyGameDatat GetNextItemIDRaRoR RRRRRRRReRRt GetUpCostItemRËtGetCostItemIndexListt DelCostItemtDelItemRRtItemDel_LingQiEquipBreakRR
tPutItemInTempSwaptLogtGetIDtDoLogicSwitchItemExRt rptTempSwapR'R1RR3RZttagMCLingQiEquipBreakResultRst
MakeItemIDRR‘t WorldNotifytGetName(R«t
clientDataR9Rt breakItemIDR¬t
nextItemIDt breakItemDatat nextItemDatat
equipIndexRERFt costItemDicttitemPackt lackItemDictt delInfoDictR>R?R@RARGt
resultPack((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnLingQiEquipBreak st                           "
 
 
    "c    Cstjƒj|ƒ}|j}|j}|j}|jtj||fƒ}|jtj    ||fƒ}tj
d|||||fƒ|tj kr›dS|dks¹|t |ƒkr½dS|dkrÞtj
d|ƒdSt jd|||ƒ}    |    sdS|    jƒ}
tj|dƒ} | |
krEtj
d| |
fƒdS|    jƒ} | shtj
dƒdSt jddiƒjt|ƒgƒ} | |d}| s«| r¯dStj|||ƒ\}}}|||}|dkr tj
d    |||||fƒdS|}|r6tj|||||dƒn|}||}tj
d
|| fƒ|| kr—|d7}|| 8}tj
d ||fƒntj|tj||f|ƒtj|tj    ||f|ƒ||krænt||ƒt|ƒtj|ƒjƒdS( NsSÁéÆ÷ÅàÑø: equipPlace=%s,trainType=%s,trainLV=%s,costItemCount=%s,curEatItemCount=%sis    ÅàÑøÎ´¼¤»î  trainType=%st LingQiTrainis:    ¾³½ç²»×㣬ÎÞ·¨ÅàÑø£¡  curRealmLV(%s) < needRealmLV(%s)s    ¸ÃÅàÑøÒÑÂú¼¶£¡is\    ÏûºÄµÀ¾ß²»×㣬ÎÞ·¨ÅàÑø!costItemID=%s,costItemCount=%s,bindCnt=%s,unBindCnt=%s,lackCnt=%ss+    updEatItemCount=%s,needEatCountTotal=%ss*    ½ø½×: updClassLV=%s,updEatItemCount=%s(RRÆRÇR…t    TrainTypet
UseItemCntRlRtDef_PDict_LingQiTrainLVtDef_PDict_LingQiTrainItemCountRR0tGetLingQiTrainTypesRLRÞtGetNeedRealmLVRtGetTrainRealmLVRealtGetEatCntTotaltGetFuncEvalCfgtgettstrR tGetPackItemBindStateIndexInfotDelCostItemByBindR•RR1R3(R«RîR9RRDt    trainTypet costItemCountttrainLVtcurEatItemCountt trainIpyDatat needRealmLVt
curRealmLVtneedEatCountTotaltcostItemIDListt
costItemIDtcostItemIndexListtbindCntt    unBindCnttlackCnttdelCntt
updClassLVtupdEatItemCount((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt OnLingQiTrainmsn                     '     
 
 
    
cCs+ttjddiƒjt|ƒgƒƒS(NRúi(RˆRLRRR(RD((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRÿºscCsøtjƒ}||_g|_g|_x¨tdt|ƒdƒD]}|jtj    ||fƒ}|dkr˜d}t
j |tj    ||f|ƒn|jj |ƒ|jj |jtj ||fƒƒqAWt|jƒ|_tj||ƒdS(Nii(RZttagMCLingQiTrainInfoR…t TrainLVListtTrainItemCountListRKRÿRlRRýRR•RQRþRˆt
TrainTypesRR‘(RRDt
clientPackRR
((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR½s               #*c/Cs_d}gtdƒD] }i^q}gtdƒD] }i^q2}|jƒjtjƒ}d}|jƒ}tjddiƒ}x¶tj    D]«}    tj
d||    ƒ}
|
s´qn|
j ƒ} |j | ƒ} | s| j ƒrèqntj| ƒsýqn|tj| ƒ7}| jƒ} xat| jƒƒD]M}| j|ƒ}|jƒ}|dkr`Pntj||jdƒ|ƒq/Wtjd| ƒ}|r|jƒ}|jƒ}x…t|ƒD]t\}}t|ƒ|kr|t|ƒ}||}ttj d||ƒƒ}n
||}tj|||ƒq½WqqWgtdƒD] }i^qI}gtdƒD] }i^qh}gtdƒD] }i^q‡}gtdƒD] }i^q¦}tj!ƒ}xât|j"ƒƒD]Î}|j#|ƒ}|j$ƒ}    |j%ƒ} |j&ƒ}!|    t'j(kr(|}"nK|    t'j)kr@|}"n3|    t'j*krX|}"n|    t'j+kr×|}"nq×|j,tj-|    | fƒ}#|!|#kr¡q×n7|!|#krÌ|j,tj.|    | fƒ}$n |j/ƒ}$|j0ƒ}%|j1ƒ}&x7t|%ƒD])\}'}(|&|'})tj|(|)|"ƒqýW|j2ƒ}*|$r×|*r×|j3ƒ}+|j4ƒ},|$|*}-x>t|+ƒD]-\}'}(|,|'})tj|(|)|-|"ƒqqWq×q×Wtj5|tj6|ƒtj5|tj7|ƒtj5|tj8|ƒtj5|tj9|ƒttj:ddƒƒ}.tj;|t'j<|.ƒtj5|tj=|ƒtj5|tj>|ƒd    S(
s Ë¢ÐÂÍæ¼ÒÁéÆ÷×°±¸ÊôÐÔ
    iitOutOfPrintValueiRWRÙsLingQiAttrFormat_%stFightpowerFormulaN(?trangeRRRRtGetLVRLRRR0RÞt GetGridIndexRReR RtGetEquipGearScoreRRKtGetEffectCountRpt GetEffectIDRtCalcAttrDict_TypeRqtGetIpyGameDataNotLogtGetLingQiAttrIDtGetLingQiAttrValuet    enumerateRtevaltFormulaControltGetCompileFormulatIPY_DatatGetLingQiTrainCounttGetLingQiTrainByIndexRt GetTrainTypet
GetTrainLVRt    retGuard1tretWingtretPeerlessWeapontretPeerlessWeapon2RlRýRþRtGetLVAttrTypeListtGetLVAttrValueListtGetEatCntEverytimetGetEatItemAttrTypeListtGetEatItemAttrValueListtSetCalcAttrListValuetDef_CalcAttrFunc_GuardTarintDef_CalcAttrFunc_WingTarint$Def_CalcAttrFunc_PeerlessWeaponTraint%Def_CalcAttrFunc_PeerlessWeapon2TraintGetFuncCompileCfgtSetMFPExFightPowertDef_MFPType_LingQitDef_CalcAttrFunc_LingQitDef_CalcAttrFunc_LingQiAttr(/RRRt_t allAttrListtlingQiAttrListREtequipScoreTotaltlvtlqAttrFormatDictRDR¬RóRFtitemIDteffIndextcurEffteffIDt lingQiIpyDatatlingQiAttrIDListtlingQiAttrValueListtlqIndextlqAttrIDt
attrFormatt maxOOPValuet lqAttrValuetguardTrainAttrListtwingTrainAttrListtpeerlessWeaponTrainAttrListtpeerlessWeapon2TrainAttrListt
ipyDataMgrR«R Rt dataTrainLVtlingQiTrainAttrListR
ttrainItemCounttlvAttrTypeListtlvAttrValueListtitattrIDt    attrValueteatCntEverytimeteatItemAttrTypeListteatItemAttrValueListt attrMultipletlqFightPowerEx((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR1Ís¦        
 
                         
 
 
"cYCs‡
|dkr!tjd|ƒdSi}i}i}i}gtdƒD] }i^qF}iiig}id}    }
gtdƒD] }i^q} iiig} id} }gtdƒD] }i^q¼}iiig}id}}gtdƒD] }i^q÷}id}}gtdƒD] }i^q#}tj}|jƒj|ƒ}tjj    |gƒ}i}d}d}x|D]}t j d||ƒ}|s¨qn|j ƒ}|j|ƒ} |  s| jƒrÜqn|tj| ƒ7}| jƒ}!|!||<i}"|tjk}#xÔt| jƒƒD]À}$| j|$ƒ}%|%sLPn|%jƒ}&|&dkrhPn|%jdƒ}'|'sƒq-ntj|&|'|ƒ|"j    |&dƒ|'|"|&<|j    |&dƒ|'||&<|#r-|j    |&dƒ|'||&<q-q-Wt||| ƒ}(|(rB|
|(7}
t j d|||(ƒ}|s7in    |jƒ})xž|)jƒD]\}*}+tj|*|+| ƒ|"j    |*dƒ|+|"|*<|    j    |*dƒ|+|    |*<|j    |*dƒ|+||*<|#rP|j    |*dƒ|+||*<qPqPW|sðin    |jƒ},xC|,jƒD]2\}-}.tj|-|.| ƒt||-|.| ƒq    Wn|"||<| j ƒ}/|/r‹|/|krwg||/<n||/j!|(ƒnt"j#| ƒ\}0}1xJt$|0ƒD]<\}$}2|1|$}3tj|2|3|ƒt||2|3|ƒq­Wt%|| ||| ||ƒ}4||47}|#r?|dkr-|4n t&||4ƒ}nt'||||ƒ}5||5rit(|5ƒnd7}t)j*|||||ƒ}6||67}qWt+||| ƒt,|||||ƒiiiiif\}7}8}9}:};t-|||||7dƒt-|||| |8d    ƒt-|||||9d
ƒt.t j/d d ƒƒ}<|j0ƒ}=|=t1j2krqit1j2|=<nt1j2|=}>|<||7||    | |8|
| ||9||||:||||;|g|>|<d}?gtdƒD] }i^q×ii}@}A}BgtdƒD] }i^qiiif\}C}D}E}FgtdƒD] }i^q;iiif\}G}H}I}JgtdƒD] }i^qriiif\}K}L}M}NgtdƒD] }i^q©iiif\}O}P}Q}RxŸ|>jƒD]‘\}}S|S\}<}}7}}    } }8}
} }}9}}}}:}}}};}|?|<7}?xŒtdƒD]~}$tj3|@|$||$ƒtj3|C|$| |$ƒtj3|G|$||$ƒtj3|K|$||$ƒtj3|O|$||$ƒqEWtj3|A|7ƒtj3|D|8ƒtj3|H|9ƒtj3|L|:ƒtj3|P|;ƒ||B|<|    |E|<| |I|<||M|<||Q|<|
|F|<||J|<||N|<||R|<qàWi|Bd 6}Ti|Ed6|Fd6}Ui|Id6|Jd6}Vi|Md6|Nd6}Wi|Qd6|Rd6}Xtj4|t5j6|?ƒtj7|tj8|@|Ad|Tƒtj7|tj9|C|Dd|Uƒtj7|tj:|G|Hd|Vƒtj7|tj;|K|Ld|Wƒtj7|tj<|O|Pd|XƒdS(s  ¾³½ç×°±¸ÏµÍ³ÊôÐÔ
    1. ×°±¸Ä£¿é£¬Ã¿¸ö¾³½ç½×¶ÀÁ¢£¬Ã¿¸ö¾³½çÕ½Á¦¶ÀÁ¢Ä£¿é¼ÆËã
        1.1 ×°±¸±¾ÉíÊôÐÔ: ²»ÄÜÓÐÓ°ÏìÆäËû¾³½ç×°±¸µÄÊôÐÔ
                                »ù´¡ÊôÐÔ: ÎïÆ·±íÖеÄÅäÖÃ
                                ´«ÆæÊôÐÔ: 
                                
    2.×°±¸Î»ÐǼ¶Ä£¿é    
        2.1 ×°±¸Î»ÉýÐÇÊôÐÔ£º²»ÄÜÓÐÓ°ÏìÆäËû¾³½ç×°±¸µÄÊôÐÔ
                                ÉýÐÇ»ù´¡ÊôÐÔ£¬ÊôÐÔÊôÓÚ×°±¸»ù´¡
                                ÉýÐǵȼ¶ÊôÐÔ£¬»áÓ°Ïì±¾½××°±¸»ù´¡
                                ÐǼ¶Ì××°ÊôÐÔ£¬Ïê¼ûÌ××°ÊôÐÔ
                    
        2.2 ×°±¸Î»Ì××°ÊôÐÔ£º²»ÄÜÓÐÓ°ÏìÆäËû¾³½ç×°±¸µÄÊôÐÔ
                                ÓÉ×°±¸Î»ÊÇ·ñÌ××°¼°ÐǼ¶Êý¾ö¶¨Ì××°ÊôÐÔ
            
    3.×°±¸Î»Ç¿»¯Ä£¿é£ºÕ½Á¦ÎªËùÓо³½ç×°±¸Î»Ç¿»¯ÊôÐÔ×ܺÍÕ½Á¦
                    Ç¿»¯µÈ¼¶ÊôÐÔ    
                    ½ø»¯µÈ¼¶ÊôÐÔ£¬Ó°Ïì±¾²¿Î»±¾¾³½ç×°±¸»ù´¡
                    
    4.×°±¸Î»±¦Ê¯ÊôÐÔ£ºÕ½Á¦ÎªËùÓо³½ç×°±¸Î»±¦Ê¯ÊôÐÔ×ܺÍÕ½Á¦
                    ±¦Ê¯µÈ¼¶ÊôÐÔ
                    ±¦Ê¯¾õÐÑÊôÐÔ£¬»áÓ°Ïì±¾½××°±¸»ù´¡
                    
    5.×°±¸Î»Ï´Á·ÊôÐÔ£ºÕ½Á¦ÎªËùÓо³½ç×°±¸Î»Ï´Á·ÊôÐÔ×ܺÍÕ½Á¦
                    Ï´Á·µÈ¼¶ÊôÐÔ
                    Ï´Á·Ì××°ÊôÐÔ£¬»áÓ°Ïì±¾½××°±¸»ù´¡
    is3Ë¢¾³½ç×°±¸ÊôÐÔ½×´íÎó!µ±Ç°²»Ö§³Ö¸Ã½×Ä£¿é: classLV=%sNiiRWt EquipStarUptEquipRutPlusR itclassEquipColorDicttclassBaseAttrDictStartclassStarLVDicttclassBaseAttrDictPlustclassPlusLVDicttclassBaseAttrDictStonetclassStoneLVDicttclassBaseAttrDictWashtclassWashLVDicttcustomAttrDict(=RtErrLogR!RRRRRtPack_EquipPart_CanPlusStarRtNoneRLRÞR#RReR R$RftEquipPlace_BaseRKR%RpR&RqRR'tGetEquipPartStarByRanktGetBaseAttrInfotitemstGetStarAttrInfot__CalcFuncAddEquipAttrPerRRQR
tGetEquipLegendAttrAllR+t__CalcAttr_ItemPlustmintCalcEquipStone_EffecttsumR}tCalcAttr_EquipWashtCalcEquipSuiteAttrt__CalcMasterPlusLVAttrt__CalcFuncAddEquipAttrValueR,RBRJROtg_playerEquipPartAttrDicttAddAttrDictValueRCRtDef_MFPType_EquipR=tDef_CalcAttrFunc_EquiptDef_CalcAttrFunc_StartDef_CalcAttrFunc_PlustDef_CalcAttrFunc_StonetDef_CalcAttrFunc_Wash(YRRRtallEquipBaseAttrDicttbaseEquipBaseAttrDicttequipBaseAttrDicttequipColorDictRGtallAttrListEquiptequip_addEquipBaseAttrPerListtbaseAttrDictStart totalStarLVtallAttrListStartstar_addEquipBaseAttrPerListtbaseAttrDictPlusR¤tallAttrListPlustplus_addEquipBaseAttrPerListtbaseAttrDictStoneR§tallAttrListStonetbaseAttrDictWashR¦tallAttrListWashRªt playerEquiptequipPartStarIndexListt suitCntDictRJt basePlusLVMinRDR¬RóRFt    itemColort baseAttrDictt isBaseEquipRct    curEffectteffectIDt effectValuet equipPartStartstarBaseAttrDicttstarBaseAttrIDtstarBaseAttrValuet starAttrDictt
starAttrIDt starAttrValueRBt legAttrIDListtlegAttrValueListt legendAttrIDtlegendAttrValueR¯t    gemLVListR±tinsideAttrDictEquiptinsideAttrDictStartinsideAttrDictPlustinsideAttrDictStonetinsideAttrDictWashtequipFightPowerExRUtequipPartAttrDicttallClassEquipFightPowerExtallClassAttrListEquiptallClassInsideAttrDictEquipRntallClassAttrListStartallClassInsideAttrDictStarRoRptallClassAttrListPlustallClassInsideAttrDictPlusRqRrtallClassAttrListStonetallClassInsideAttrDictStoneRsRttallClassAttrListWashtallClassInsideAttrDictWashRuRvtattrListtcustomAttrDictEquiptcustomAttrDictStartcustomAttrDictPlustcustomAttrDictStonetcustomAttrDictWash((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRNJs$            
  !
!
 
 
$
 $          -7777B
 
 
 
 
 
 
 
 
 c Cs(|tjkrdStj|\}}|dkrk|d}x(|D] }|j|dƒ|||<qCWdS|dkr°|d}x(|D] }|j|dƒ|||<qˆWdS|dkr$||kr$|d}    ||    krëi|    |<n|    |}
x(|D] }|
j|dƒ||
|<qüWdSdS(Niÿÿÿÿiiþÿÿÿii(RtEquipBassAttrAddInfoSetR( RDRdRetaddPerInfoListteffPlacet calcAttrListtallPlaceAddPerDictt calcAttrIndextbasePlaceAddPerDicttassignPlaceAddPerDicttcurPlaceAddPerDict((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR€Ys, 
 
 
 
 RÛcCsl|\}}}x]|jƒD]O\}    }
|    |kr:qn||    } t| |
dƒ} tj|    | |ƒqWx]|jƒD]O\}    }
|    |kršq|n||    } t| |
dƒ} tj|    | |ƒq|Wx–|jƒD]ˆ\} }| |krúqÜn|| }x]|jƒD]O\}    }
|    |kr/qn||    } t| |
dƒ} tj|    | |ƒqWqÜWdS(NgˆÃ@(R~R#RtCalcAttrDict_TypeEx(R’R“R”taddEquipBaseAttrPerListt allAttrDicttsignRÕR×RØRdtaddPert    baseValuetaddValueRDt
addPerDictR¨((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR‰}s0 
 
 
 
c    Cs]tj|ƒ\}}|sdSx7t|ƒD])\}}||}tj|||ƒq,WdS(N(R
RR+RR'(    RRFR–tlegendAttrDictR´RµRcR¶R·((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcAttr_LegendAttr¡s
cCsVt|||ƒ}t|||ƒ}|s.|St|ƒ}    |    dkrJ|Stjd|    |ƒ}
|
si|S|
jƒ|
jƒ} } xOt| ƒD]A\} }t    j
|| | |ƒ|j |dƒ| | ||<qW|sÞ|S|j ƒ}tjd||ƒ}
|
s    |SxF|
j ƒjƒD]2\}}t    j
|||ƒt||||ƒqW|S(NtItemPlusitEquipPlusEvolve(RjRktGetEquipPlusTypeRzRLRÞt GetAttrTypet GetAttrValueR+RR'RRtGetAttrR~R€(RRFRªRóRœRHRžtequipPartPlusLVtequipPartPlusEvolveLVtplusTypeR¬t attrTypeListt attrValueListRcRdRDRe((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR‚²s0  " cCsÜtjd|ƒ}|sdS|jtj|ƒ}x£|D]›}|jƒ}||kr]q9n||kroq9n|jƒ}    |jƒ}
xJt|    ƒD]<\} } |
| } t    j
| | |ƒt d| | |ƒq”Wq9WdS(NtItemPlusMaster( RLtGetIpyGameDataListRlRtDef_PDict_EquipPartMasterPlusLVtGetMasterPlusLVtGetMasterPlusAttrIDListtGetMasterPlusAttrValueListR+RR'R€Rz(RRRR¦RRžt ipyDataListtactMasterPlusLVR¬tneedMasterPlusLVt
attrIDListRîRcRdRe((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRˆÕs"      
c
Cs€|s
dSi}g}|jƒ}x®|jƒD] \}}tjd|ƒ}|sYq/nxs|D]k}    |    jƒ}
|    jƒ} |    jƒ} |    jƒ} tj    |t
j | ƒ}| sºdntj ƒj| ƒ}|sÛdn    |jƒ}|sódn    |jƒ}|r!||kr!|j|ƒn|r`g|D]}|| krFdnd^q.jdƒ|
kr`x3|    jƒjƒD]\}}tj|||ƒqtW|rË|rË||j|dƒkrË|||<qËq`q`Wq/Wt}tj|ƒ}xx|D]p}||krqïn|j|ƒ}|s"qïnt}|jƒ} tjd| ƒ|j| ƒ|j| ƒqïWxú|jƒD]ì\}}tj ƒj||ƒ}|s qpn|jƒ} |j|ƒ}|r||jƒkrÙqpn|jƒ}tjd||| |fƒ|j|ƒ|j|ƒntjd||| fƒ|j| ƒ|j| dƒt}qpW|r|t j!ƒj"|ƒndS(Nt EquipSuitAttriis    É¾³ýÌ××°¼¼ÄÜ: skillID=%ssH    É¾³ýÌ××°¼¼Äܵȼ¶: skillTypeID=%s,skillLV=%s,skillID=%s,delSkillID=%ss:    ¼¤»îÌ××°¼¼Äܵȼ¶: skillTypeID=%s,skillLV=%s,skillID=%s(#tGetSkillManagerR~RLRðt GetSuiteCnttGetStart
GetSkillIDtGetActivateIndexRtGetDictValueByBitRt Def_PDict_EquipPartSuiteActivateRzRatGetSkillBySkillIDtGetSkillTypeIDt
GetSkillLVRQRŠt GetAttrInfoRR'RRtFindSkillBySkillTypeIDRRtDeleteSkillBySkillIDtRefreshSkillFightPowerByDeltFindSkillByTypet LVUPSkillByIDtRefreshSkillFightPowerExR4R5tRegistPassiveEff(RR¥tallAttrListSuittlearnSkillInfotsuiteSkillTypeIDListt skillManagerRBtstarListRõR¬tsuiteCnttneedStartskillIDt activateIndext
isActivatet    skillDatat skillTypeIDtskillLVtstarRdRet skillChanget    playerCtltcurSkillt
delSkillID((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR‡ôst      !@$        
cCsqtjƒj|ƒ}|j}|j}|j}|j}tjd|ƒ}|sUdSd}    xH|D]@}
|
j
ƒ} |
j ƒ} || krb|| krb|
}    PqbqbW|    s°dS|    j ƒ} tj |tj| ƒ}|rÞdStj|tj| dƒt|ƒ|    jƒ}|rGtjd| r(dnd|jƒ|||gƒnt||ƒtj|ƒ}|jƒdS(NRùiitAllStarLevelUptAllStarLevelUp2(RRÆRÇtClassLVtSuiteIDt
SuiteCountRuRLRðRzRûRüRþRÿRRtSetDictValueByBitRœt GetIsNotifyRRìt GetPlayerNameR2R3(R«RîR9RRRRBt
suiteCountRRõt
actIpyDataR¬t    needCountRRRt
notifyMarkRG((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnEquipPartSuiteActivateGs<                    
 4 
cCsátjƒ}|jƒ}|s"dS|j|dƒ}|s?dSd|jƒd}g}x1t|ƒD]#}|j|jtj    |ƒƒqfW|j
dƒ|kr¦dSt j ƒ}||_ t|j ƒ|_tj||ƒdS(Niii(RLR/tGetEquipSuitAttrCounttGetEquipSuitAttrByIndexRþRKRQRlRRRŠRZttagMCEquipPartSuiteActivateInfotSuiteActivateStateInfoRˆRRR‘(RR]t    dataCountt lastIpyDatatkeyCounttactivateStateListRct activateInfo((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRœns$  !     cCs8|jtjƒ}|tjkr4tj||ƒndS(N(t GetDictByKeyRR.R/R*tEventRespons_OrangeQualityCnt(RtorangeQualityCntt
notifyType((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnOrangeQualityCntChange…scCstj||ƒdS(N(t
SkillShelltRefreshSkillBuffByEquip(RRF((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcCurEquip_SkillBuff‘scCs9tjƒ}ddddg}g}xtjƒD]}tj|||ƒd}|dkrbq1n|j|ƒ}    |    sŽtjd|ƒq1nxu|D]m}
|    j|
ƒ} | jƒ| j    dƒ} } | r•| r•t
j | | |ƒ|j | dƒ| || <q•q•W|    jdƒ}|j    dƒ}|j |ƒq1W|S(Niiiiis#equip stone id:%s not in item table(RRaR_R`RnRoRxRpR&RqRR'RRQ(RRóRŸRHR©t effIndexListR¸R´tcurGemIDtcurGemRNt curGemEffectR«R¬t    gemEffecttgemLV((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR„›s*    !cCsst|tjƒ}|jƒj|dtƒ}|j|jƒƒ|j|j    ƒƒ|dkro|j
|ƒndS(Ni( RƒRtDef_UpperLimit_DWordt GetEquipBufftAddBuffRt
SetOwnerIDRçt SetOwnerTypetGetGameObjTypetSetValue(Rt
addSkillIDtvaluetcurBuff((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt EquipAddBuffºs cCs½tjƒj|ƒ}tjtj}||jtjƒ|krEdS|jtj|ƒtj    ƒ}|j
ƒ}t |ƒ}||krŒdSt ||ƒsŸdSd}g}xht jt jt jgD]N}    tjd||    ƒ}
|
sëqÄn|
jƒ} |d| }|j| ƒqÄWtj||ƒ|jƒjtjƒ} xx|D]p} | j| ƒ}tj|ƒsoqEn|jƒ}d}d}d}|jƒ}|j|| ||||ƒqEWdS(NiRWiè( RRÆRÇRtTYPE_Player_Tick_Timet%TYPE_Player_Tick_RequestEquipShowHidet GetTickByTypet SetTickByTypeRtIPY_CRequestEquipShowHidetGetEquipShowSwitchR(R)Rt    retWeapont
retWeapon2t
retClothesRLRÞR#RQRtSetFaceEquipIndexRRRRR R RRR'(R«R9RtintervalRÍRRt
oldClassLVtupdFaceEquipIndextequipIndexListRDR¬t    gridIndexRER8RFR=R>R?R@RA((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytRequestEquipShowHideÐsD         c
Csõ|jƒ}d}|jƒjtjƒ}x€tjD]u}tjd||ƒ}|s_d}Pn|j    ƒ}|j
|ƒ}t j |ƒs“d}Pn|j ƒs4d}Pq4q4W|dd|d|}    ||    kr×dS|j|    ƒt||ƒtS(NiRWiièi
(RRRRRRRR{RLRÞR#RR R RtSetEquipShowSwitchtChangeEquipEffectByPlusMasterR(
RRRtoldEquipShowSwitchtrealSuitREtplaceR¬R[RFtupdEquipShowSwitch((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR)þs,      cCsdS(N((R((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytChangeEquipfacadeByLingGens-cCs|t|ƒkrdS|jtj|ƒ}|jƒ}|d|ddd|}tjd||fƒ||kr‰|j|ƒndS(Nièi@BsJÇ¿»¯´óʦӰ±ä»¯Ó°Ïì½ÇÉ«Íâ¹ÛÏÔʾ,oldEquipShowSwitch=%s,updEquipShowSwitch=%s(R(RlRRñRRRRR](RRRt masterPlusLVR_Rb((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR^Fs      cCsf|jƒ}|dkr0tj|d|ƒ}ntj|d|ƒ}||krUdS|j|ƒdS(Niii(RRRtChangeDataByDigitPlaceR](RtskinTypet    skinIndexR_Rb((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytChangeEquipfacadeByHorsePetSkinVs    cCs‹d}tj|ƒ}|sGi}i}tjƒ}x?t|jƒƒD]+}|j|ƒ}|jƒ||jƒ<qFW|jƒ}|j    ƒx•t
|ƒD]‡\}}    ||    }
|t |ƒdkrÑ|
||    <n|dkrãq˜q˜||d} || } x!t | |    ƒD]} | || <q Wq˜Wt jd|ƒtj||ƒn|jƒ}||krg||St|ƒ}||kr‡||SdS(NtRealmEquipClassLVMapiis"¼ÓÔØ¾³½ç¶ÔÓ¦¿ª·Å×î´ó×°±¸½×ÉèÖÃ: %s(RLt GetConfigExR/RKtGetEquipControlCounttGetEquipControlByIndexRdRtkeystsortR+RˆR!RRt SetConfigExtGetOfficialRanktmax(RtkeyRitinfoDictR]R«R¬tneedReamlLVListRctrealmLVRRt
preRealmLVt
preClassLVtpRealmLVt playerRealmLVt
maxRealmLV((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetPlayerMaxEquipClassLVcs<  
 
 
    cCs|jƒddS(Nièi
(RR(R((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR(‰scCs|jtj||fƒS(N(RlRtDef_PDict_EquipPartProficiency(RRªR«((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRiŒscCs$tj|tj||f|ƒdS(N(RR•RR|(RRªR«RJ((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartProficiencys cCs|jtj||fƒS(N(RlRtDef_PDict_EquipPartPlusLV(RRªR«((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRj•scCs¥t|||ƒ}||kr"dStj|tj||f|ƒ|jtjƒ}td|||ƒ}tj|tj|ƒtj    d|||||fƒdS(NisTÉèÖÃÇ¿»¯µÈ¼¶: index=%s,befPlusLV=%s,setPlusLV=%s,befTotalPlusLV=%s,updTotalPlusLV=%s(
RjRR•RR~RlR˜RqRR(RRªR«RFt    setPlusLVt    befPlusLVtbefTotalPlusLVtupdTotalPlusLV((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartPlusLV™s      cCs|jtj||fƒS(N(RlRtDef_PDict_EquipPartPlusEvolveLV(RRªR«((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRk­scCs¯|jtj||fƒ}||kr,dStj|tj||f|ƒ|jtjƒ}td|||ƒ}tj|tj|ƒtjd|||||fƒdS(NisdÉèÖýø»¯µÈ¼¶: index=%s,befEvolveLV=%s,setEvolveLV=%s,befTotalPlusEvolveLV=%s,updTotalPlusEvolveLV=%s(    RlRR„RR•R™RqRR(RRªR«t setEvolveLVt befEvolveLVtbefTotalPlusEvolveLVtupdTotalPlusEvolveLV((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartPlusEvolveLV²s      c Csltjƒ}|jƒg|_g}|dkrµtjdƒ}x{tjj    |gƒD]X}xOt
d|dƒD]:}tj d||ƒ}|s—qpn|j |j ƒƒqpWqVWn    |g}x…|D]}}    tjƒ}
|
jƒ||
_|    |
_t|||    ƒ|
_t|||    ƒ|
_t|||    ƒ|
_|jj |
ƒqÅWt|jƒ|_tj||ƒdS(NRIiRW(RZR\RsRvRzRLRMRRyRRKRÞRQR#RwRxRyRjRzRiR{RkR|RˆRRR‘( RRªR«Ržt syncIndexListtequipMaxClasslvRDtclasslvR¬RcR¹((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartPlusLVÁs2 
           
        cCs|jtjƒS(N(RlRR˜(RtisActive((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetTotalPlusLVâscCs|jtjƒS(N(RlRR™(R((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetTotalPlusEvolveLVæscCs|jtjƒS(N(RlRR–(R((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipOrangeCountêscCsB|jƒ}tjddƒ}|s5tjdƒdS|j|ƒS(NtStrengthenLevelLimitisûÓÐÇ¿»¯ÀàÐÍÓ³Éä±í(RRLRRRxR(RFRDt plusTypeDict((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRæïs   cCsdS(Ni((RtsuitTypet    groupType((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipSuitsLVByTypeúscCs¹|jtj|ƒ}||kr&dStj|tj||ƒ|jtjƒ}td|||ƒ}tj|tj|ƒtj|t    j
|ƒt j d|||||fƒdS(NisTÉèÖò¿Î»ÐǼ¶: index=%s,befStarLV=%s,setStarLV=%s,befTotalStarLV=%s,updTotalStarLV=%s( RlRtDef_PDict_EquipPartStarRR•R—RqtOpenServerCampaigntUpdOpenServerCampaignRecordDataRtDef_Campaign_Type_StarLVRR(RR«t    setStarLVt    befStarLVtbefTotalStarLVtupdTotalStarLV((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartStars     cCs|jtj|ƒS(N(RlRR—(RtequipPackindex((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRh!scCs%tj|ƒ}tt||ƒ|ƒS(N(R tGetItemMaxStarRƒRh(RR RFt    maxStarLV((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR|'scCs|jtjƒS(N(RlRR—(R((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetTotalEquipStars+sc    Cs9tjƒ}|jƒg|_g}|dkr¸tjdƒ}x~tjj    t
j gƒD]X}xOt d|dƒD]:}tj d||ƒ}|sšqsn|j|jƒƒqsWqYWn    |g}xO|D]G}tjƒ}|jƒ||_t||ƒ|_|jj|ƒqÈWt|jƒ|_tj||ƒdS(NRIiRW(RZR[RsRvRzRLRMRRyRRRRKRÞRQR#RrRtRhRuRˆRRR‘(    RR«RžRŠR‹RDRŒR¬R¹((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartStar0s, 
           
    (ORRR
R9RRtChItemR tFBLogictOperControlManagerR}R“RRZRR*RLt
PlayerWingR_R˜R4R$tjsonR-ROR    RHR2RÂRÅRÄRÐRÒRÑRùRRÿRR1RNR€R‰RãR‚RˆR‡R*RœR8R;R„RLR\R)RcR^RhR{R(RiR}RjRƒRkR‰RRzRRRRR‘RæR–RŸRhR|R£R¤(((sI.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt<module>s˜                                 a     î    
    '                 7    M    M            }    ÿ    $ $     #        S    '             
         .        .             &                            !