hxp
2025-05-29 f08058713e574c675579ca5ccbfabeb1e6702cf0
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
f8hc@sõddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Zdd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „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„Z.d„Z/dd„Z0d„Z1d„Z2d „Z3d!„Z4d"„Z5d#„Z6d$„Z7d%„Z8d&„Z9d'„Z:d(„Z;d)„Z<d*„Z=ej>e?d+„Z@eAd,„ZBd-„ZCd.„ZDd/„ZEd0„ZFd1„ZGd2„ZHd3„ZId4„ZJe?d5„ZKdS(6iÿÿÿÿNcCs-|jƒtjkr)tj|dƒtStS(NtGeRen_chenxin_436832(tGetPlayerActiontChConfigtDef_Player_DoEquip_Statet PlayerControlt
NotifyCodetFalsetTrue(t    curPlayer((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCheckPlayerCanEquipItem/scCsN|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|tj#krÖt$S|j%tj&tj'ƒ|tj(krt)|ƒn|rt*||ƒntj|ƒ}|j+ƒt,j-ƒj.|ƒt$S(Nis ×°±¸ÒѹýÆÚ!iÿÿÿÿ(/Rt ItemControlertPlayerItemControlert
ItemCommontCheckItemCanUsetCheckItemCanUseByExpireTimet    GameWorldtDebugLogt GetEquipPlacet ShareDefinet RoleEquipTypetGetEquipPackIndextGetItemClassLVt GetItemTypeIDt GetUserDatat
GetSuiteIDtGetEndureReduceTypet    EquipItemtGetItemManagertGetPackt IPY_GameWorldtrptEquiptGetAtt GetUserAttrtDef_IudetCreateTimet SetUserAttrtintttimeRtGetFaceEquipIndexListRtDef_SyncEquipStateByIndext ChangeEquiptGetEquipFacadeClassLVtChangeEquipfacadeByClassLVtEquipItemNoRefreshStateRtSetDictt Def_PlayerKey_AttrActivatyNotifytDef_AttrActivatyNotify_EquiptEquipPlace_LingQitRefreshPlayerLingQiEquipAttrtRefreshPlayerEquipAttributetRefreshPlayerAttrStatetPassiveBuffEffMngtGetPassiveEffManagertRegistSuperEquipSkillDict(RtcurItemtequipPackIndextticktplayerItemControltchangeItemEquipPlacet itemClassLVt changeItemIDtchangeItemStarLVtchangeItemStoneCnttchangeItemHoleCnttchangeItemUseDatatsuiteIDtendureReduceTypet
equipPlacet    equipPacktcurEquipt playControl((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytDoPlayerEquipItem@sV        "$ 
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((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR0˜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 GetGameDataRRRRRItGetCountRJtGetIpyGameDataByConditionRt
GetClassLVRtIsEmptyt GetItemColorRtDef_Item_Color_OrangetGetEquipPartStartGetEquipPartProficiencytGetEquipPartPlusLVtGetEquipPartPlusEvolveLVtNomalDictGetPropertyRtDef_PDict_EquipWashLVtGetEquipIndexStoneIDAndIsBandROtGetItemByTypeIDtGetEffectByIndextGetEffectValuettagMCEquipPartStartCleartEquipPackIndextStartInfoListttagMCEquipPartPlusLVtPackTypet
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_EquipPartSuiteActivateInfoR.tSync_LingQiTrainData((RtePartStarLVPacktePartPlusLVPackt ePartXLPacktePartStonePacktorangeEquipCountt    totalStart totalPlusLVt totalEvolveLVt totalWashLVt totalStoneLVt holeIndexListtgameDatatpackTypeRCtindextipyDataRDtstarLVtplusProficiencytplusLVtevolveLVtwashLVt stoneIDListtstoneIsBindListt    holeIndextstoneIDt stoneIsBindtcurStonetstoneLVt ePartStarLVt ePartPlusLVt
hasXLValuet
xlAttrListtattrNumt    washValuet ePartXLAttrt
stoneCounttstoneMsgRB((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnPlayerEquipLoginLogic«sÖ            
 
 
 
     $ 
         
                                                                            
cCstjtƒ||ƒdS(N(Rt GetPsycoFunct__Func_PlayerEquipItem(R©R7((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytPlayerEquipItemQscCs©tjƒj|ƒ}tjƒ}|jƒ}|jƒ}t|ƒsIdS|jƒj    tj
ƒ}|j |ƒ}t ||||ƒr‰dS|j tj
|tjdƒdS(Ni(RtGetPlayerManagertGetPlayerByIndexRtIPY_CEquipItemt GetItemIndextGetRoleEquipTypeR    RRtrptItemRRFtNotify_ItemPutFailR(R©R7RtsendPackt packItemIndexR6trolePackR5((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRÂ[s     cCsdS(N((R©R7((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOneKeyChangeEquip‚scCstjtƒ||ƒdS(N(RRÁt__Func_PlayerUnEquip(R©R7((sdD:\SG_ServerCode\ServerPython\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*R.R/R0RR1R2R3R4( R©R7RËRR6R8tresulttequipIDRBR:RE((sdD:\SG_ServerCode\ServerPython\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ÅtItemIDRJtGetIpyGameDatat GetNextItemIDR_RmR RRRRRRRRcRRt GetUpCostItemRÉtGetCostItemIndexListt DelCostItemtDelItemRRtItemDel_LingQiEquipBreakRR
tPutItemInTempSwaptLogtGetIDtDoLogicSwitchItemExRt rptTempSwapR'R/RR1RXttagMCLingQiEquipBreakResultRqt
MakeItemIDRŽRt WorldNotifytGetName(R©t
clientDataR7Rt breakItemIDRªt
nextItemIDt breakItemDatat nextItemDatat
equipIndexRCRDt costItemDicttitemPackt lackItemDictt delInfoDictR<R=R>R?REt
resultPack((sdD:\SG_ServerCode\ServerPython\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
UseItemCntRjRtDef_PDict_LingQiTrainLVtDef_PDict_LingQiTrainItemCountRR.tGetLingQiTrainTypesRJRÜtGetNeedRealmLVRtGetTrainRealmLVRealtGetEatCntTotaltGetFuncEvalCfgtgettstrR tGetPackItemBindStateIndexInfotDelCostItemByBindR“R›R/R1(R©RìR7RRBt    trainTypet costItemCountttrainLVtcurEatItemCountt trainIpyDatat needRealmLVt
curRealmLVtneedEatCountTotaltcostItemIDListt
costItemIDtcostItemIndexListtbindCntt    unBindCnttlackCnttdelCntt
updClassLVtupdEatItemCount((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt OnLingQiTrainsn                     '     
 
 
    
cCs+ttjddiƒjt|ƒgƒƒS(NRøi(R†RJRRR(RB((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRýgscCsø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(RXttagMCLingQiTrainInfoRƒt TrainLVListtTrainItemCountListRIRýRjRRûRR“RORüR†t
TrainTypesRŽR(RRBt
clientPackRR((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR›js               #*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 Ë¢ÐÂÍæ¼ÒÁéÆ÷×°±¸ÊôÐÔ
    iitOutOfPrintValueiRUR×sLingQiAttrFormat_%stFightpowerFormulaN(?trangeRRRRtGetLVRJRRR.RÜt GetGridIndexRRcR RtGetEquipGearScoreRRItGetEffectCountRnt GetEffectIDRtCalcAttrDict_TypeRotGetIpyGameDataNotLogtGetLingQiAttrIDtGetLingQiAttrValuet    enumerateRtevaltFormulaControltGetCompileFormulatIPY_DatatGetLingQiTrainCounttGetLingQiTrainByIndexRt GetTrainTypet
GetTrainLVRt    retGuard1tretWingtretPeerlessWeapontretPeerlessWeapon2RjRûRüRtGetLVAttrTypeListtGetLVAttrValueListtGetEatCntEverytimetGetEatItemAttrTypeListtGetEatItemAttrValueListtSetCalcAttrListValuetDef_CalcAttrFunc_GuardTarintDef_CalcAttrFunc_WingTarint$Def_CalcAttrFunc_PeerlessWeaponTraint%Def_CalcAttrFunc_PeerlessWeapon2TraintGetFuncCompileCfgtSetMFPExFightPowertDef_MFPType_LingQitDef_CalcAttrFunc_LingQitDef_CalcAttrFunc_LingQiAttr(/RRPt_t allAttrListtlingQiAttrListRCtequipScoreTotaltlvtlqAttrFormatDictRBRªRñRDtitemIDteffIndextcurEffteffIDt lingQiIpyDatatlingQiAttrIDListtlingQiAttrValueListtlqIndextlqAttrIDt
attrFormatt maxOOPValuet lqAttrValuetguardTrainAttrListtwingTrainAttrListtpeerlessWeaponTrainAttrListtpeerlessWeapon2TrainAttrListt
ipyDataMgrR©R
Rt dataTrainLVtlingQiTrainAttrListRttrainItemCounttlvAttrTypeListtlvAttrValueListtitattrIDt    attrValueteatCntEverytimeteatItemAttrTypeListteatItemAttrValueListt attrMultipletlqFightPowerEx((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR/zs¦        
 
                         
 
 
"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=%sNiiRUt EquipStarUptEquipRstPlusRitclassEquipColorDicttclassBaseAttrDictStartclassStarLVDicttclassBaseAttrDictPlustclassPlusLVDicttclassBaseAttrDictStonetclassStoneLVDicttclassBaseAttrDictWashtclassWashLVDicttcustomAttrDict(=RtErrLogRRRRRRtPack_EquipPart_CanPlusStarRtNoneRJRÜR!RRcR R"RdtEquipPlace_BaseRIR#RnR$RoRR%tGetEquipPartStarByRanktGetBaseAttrInfotitemstGetStarAttrInfot__CalcFuncAddEquipAttrPerRROR
tGetEquipLegendAttrAllR)t__CalcAttr_ItemPlustmintCalcEquipStone_EffecttsumR{tCalcAttr_EquipWashtCalcEquipSuiteAttrt__CalcMasterPlusLVAttrt__CalcFuncAddEquipAttrValueR*R@RHRMtg_playerEquipPartAttrDicttAddAttrDictValueRARtDef_MFPType_EquipR;tDef_CalcAttrFunc_EquiptDef_CalcAttrFunc_StartDef_CalcAttrFunc_PlustDef_CalcAttrFunc_StonetDef_CalcAttrFunc_Wash(YRRPtallEquipBaseAttrDicttbaseEquipBaseAttrDicttequipBaseAttrDicttequipColorDictREtallAttrListEquiptequip_addEquipBaseAttrPerListtbaseAttrDictStart totalStarLVtallAttrListStartstar_addEquipBaseAttrPerListtbaseAttrDictPlusR¢tallAttrListPlustplus_addEquipBaseAttrPerListtbaseAttrDictStoneR¥tallAttrListStonetbaseAttrDictWashR¤tallAttrListWashR¨t playerEquiptequipPartStarIndexListt suitCntDictRHt basePlusLVMinRBRªRñRDt    itemColort baseAttrDictt isBaseEquipRat    curEffectteffectIDt effectValuet equipPartStartstarBaseAttrDicttstarBaseAttrIDtstarBaseAttrValuet starAttrDictt
starAttrIDt starAttrValueR@t legAttrIDListtlegAttrValueListt legendAttrIDtlegendAttrValueR­t    gemLVListR¯tinsideAttrDictEquiptinsideAttrDictStartinsideAttrDictPlustinsideAttrDictStonetinsideAttrDictWashtequipFightPowerExRStequipPartAttrDicttallClassEquipFightPowerExtallClassAttrListEquiptallClassInsideAttrDictEquipRltallClassAttrListStartallClassInsideAttrDictStarRmRntallClassAttrListPlustallClassInsideAttrDictPlusRoRptallClassAttrListStonetallClassInsideAttrDictStoneRqRrtallClassAttrListWashtallClassInsideAttrDictWashRsRttattrListtcustomAttrDictEquiptcustomAttrDictStartcustomAttrDictPlustcustomAttrDictStonetcustomAttrDictWash((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRLós$            
  !
!
 
 
$
 $          -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( RBRbRctaddPerInfoListteffPlacet calcAttrListtallPlaceAddPerDictt calcAttrIndextbasePlaceAddPerDicttassignPlaceAddPerDicttcurPlaceAddPerDict((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR~s, 
 
 
 
 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ÖRbtaddPert    baseValuetaddValueRBt
addPerDictR¦((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR‡&s0 
 
 
 
c    Cs]tj|ƒ\}}|sdSx7t|ƒD])\}}||}tj|||ƒq,WdS(N(R
RR)RR%(    RRDR”tlegendAttrDictR²R³RaR´Rµ((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcAttr_LegendAttrJs
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(RhRitGetEquipPlusTypeRxRJRÜt GetAttrTypet GetAttrValueR)RR%RRtGetAttrR|R~(RRDR¨RñRšRFRœtequipPartPlusLVtequipPartPlusEvolveLVtplusTypeRªt attrTypeListt attrValueListRaRbRBRc((sdD:\SG_ServerCode\ServerPython\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( RJtGetIpyGameDataListRjRtDef_PDict_EquipPartMasterPlusLVtGetMasterPlusLVtGetMasterPlusAttrIDListtGetMasterPlusAttrValueListR)RR%R~Rx(RRPR¤R›Rœt ipyDataListtactMasterPlusLVRªtneedMasterPlusLVt
attrIDListRìRaRbRc((sdD:\SG_ServerCode\ServerPython\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|RJRît GetSuiteCnttGetStart
GetSkillIDtGetActivateIndexRtGetDictValueByBitRt Def_PDict_EquipPartSuiteActivateRxR_tGetSkillBySkillIDtGetSkillTypeIDt
GetSkillLVRORˆt GetAttrInfoRR%RRtFindSkillBySkillTypeIDRRtDeleteSkillBySkillIDtRefreshSkillFightPowerByDeltFindSkillByTypet LVUPSkillByIDtRefreshSkillFightPowerExR2R3tRegistPassiveEff(RR£tallAttrListSuittlearnSkillInfotsuiteSkillTypeIDListt skillManagerR@tstarListRóRªtsuiteCnttneedStartskillIDt activateIndext
isActivatet    skillDatat skillTypeIDtskillLVtstarRbRct skillChanget    playerCtltcurSkillt
delSkillID((sdD:\SG_ServerCode\ServerPython\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
SuiteCountRsRJRîRxRùRúRüRýRRþtSetDictValueByBitRšt GetIsNotifyRRêt GetPlayerNameR0R1(R©RìR7RRPR@t
suiteCountRRót
actIpyDataRªt    needCountRRRt
notifyMarkRE((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnEquipPartSuiteActivateðs<                    
 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(RJR-tGetEquipSuitAttrCounttGetEquipSuitAttrByIndexRüRIRORjRRþRˆRXttagMCEquipPartSuiteActivateInfotSuiteActivateStateInfoR†RRŽR(RR[t    dataCountt lastIpyDatatkeyCounttactivateStateListRat activateInfo((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRšs$  !     cCstj||ƒdS(N(t
SkillShelltRefreshSkillBuffByEquip(RRD((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcCurEquip_SkillBuff3scCs9tjƒ}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(RR_R]R^RlRmRvRnR$RoRR%RRO(RRñRRFR§t effIndexListR¶R²tcurGemIDtcurGemRLt curGemEffectR©Rªt    gemEffecttgemLV((sdD:\SG_ServerCode\ServerPython\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((sdD:\SG_ServerCode\ServerPython\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(NiRUiè( RRÄRÅRtTYPE_Player_Tick_Timet%TYPE_Player_Tick_RequestEquipShowHidet GetTickByTypet SetTickByTypeRtIPY_CRequestEquipShowHidetGetEquipShowSwitchR(R)Rt    retWeapont
retWeapon2t
retClothesRJRÜR!RORtSetFaceEquipIndexRRRRR R RRR'(R©R7RtintervalRËRPt
oldClassLVtupdFaceEquipIndextequipIndexListRBRªt    gridIndexRCR6RDR;R<R=R>R?((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytRequestEquipShowHidersD         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(NiRUiièi
(RKRRRRRRyRJRÜR!RR R RtSetEquipShowSwitchtChangeEquipEffectByPlusMasterR(
RRPtoldEquipShowSwitchtrealSuitRCtplaceRªRTRDtupdEquipShowSwitch((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR) s,      cCsdS(N((R((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytChangeEquipfacadeByLingGenºs-cCs|t|ƒkrdS|jtj|ƒ}|jƒ}|d|ddd|}tjd||fƒ||kr‰|j|ƒndS(Nièi@BsJÇ¿»¯´óʦӰ±ä»¯Ó°Ïì½ÇÉ«Íâ¹ÛÏÔʾ,oldEquipShowSwitch=%s,updEquipShowSwitch=%s(R(RjRRïRKRRRV(RRPt masterPlusLVRXR[((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRWès      cCsf|jƒ}|dkr0tj|d|ƒ}ntj|d|ƒ}||krUdS|j|ƒdS(Niii(RKRtChangeDataByDigitPlaceRV(RtskinTypet    skinIndexRXR[((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytChangeEquipfacadeByHorsePetSkinøs    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(RJt GetConfigExR-RItGetEquipControlCounttGetEquipControlByIndexRbRþtkeystsortR)R†RRRt SetConfigExtGetOfficialRanktmax(RtkeyRbtinfoDictR[R©RªtneedReamlLVListRatrealmLVRPt
preRealmLVt
preClassLVtpRealmLVt playerRealmLVt
maxRealmLV((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetPlayerMaxEquipClassLVs<  
 
 
    cCs|jƒddS(Nièi
(RK(R((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR(+scCs|jtj||fƒS(N(RjRtDef_PDict_EquipPartProficiency(RR¨R©((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRg.scCs$tj|tj||f|ƒdS(N(RR“RRu(RR¨R©RC((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartProficiency2s cCs|jtj||fƒS(N(RjRtDef_PDict_EquipPartPlusLV(RR¨R©((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRh7scCs¥t|||ƒ}||kr"dStj|tj||f|ƒ|jtjƒ}td|||ƒ}tj|tj|ƒtj    d|||||fƒdS(NisTÉèÖÃÇ¿»¯µÈ¼¶: index=%s,befPlusLV=%s,setPlusLV=%s,befTotalPlusLV=%s,updTotalPlusLV=%s(
RhRR“RRwRjR–RjRR(RR¨R©RDt    setPlusLVt    befPlusLVtbefTotalPlusLVtupdTotalPlusLV((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartPlusLV;s      cCs|jtj||fƒS(N(RjRtDef_PDict_EquipPartPlusEvolveLV(RR¨R©((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRiOscCs¯|jtj||fƒ}||kr,dStj|tj||f|ƒ|jtjƒ}td|||ƒ}tj|tj|ƒtjd|||||fƒdS(NisdÉèÖýø»¯µÈ¼¶: index=%s,befEvolveLV=%s,setEvolveLV=%s,befTotalPlusEvolveLV=%s,updTotalPlusEvolveLV=%s(    RjRR}RR“R—RjRR(RR¨R©t setEvolveLVt befEvolveLVtbefTotalPlusEvolveLVtupdTotalPlusEvolveLV((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartPlusEvolveLVTs      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(NRGiRU(RXRZRqRtRxRJRKRRwRRIRÜROR!RuRvRwRhRxRgRyRiRzR†RRŽR( RR¨R©Rœt syncIndexListtequipMaxClasslvRBtclasslvRªRaR·((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartPlusLVcs2 
           
        cCs|jtjƒS(N(RjRR–(RtisActive((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetTotalPlusLV„scCs|jtjƒS(N(RjRR—(R((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetTotalPlusEvolveLVˆscCs|jtjƒS(N(RjRR”(R((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipOrangeCountŒscCsB|jƒ}tjddƒ}|s5tjdƒdS|j|ƒS(NtStrengthenLevelLimitisûÓÐÇ¿»¯ÀàÐÍÓ³Éä±í(RRJRRRvR(RDRBt plusTypeDict((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRä‘s   cCsdS(Ni((RtsuitTypet    groupType((sdD:\SG_ServerCode\ServerPython\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( RjRtDef_PDict_EquipPartStarRR“R•RjtOpenServerCampaigntUpdOpenServerCampaignRecordDataRtDef_Campaign_Type_StarLVRR(RR©t    setStarLVt    befStarLVtbefTotalStarLVtupdTotalStarLV((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartStar°s     cCs|jtj|ƒS(N(RjRR(RtequipPackindex((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRfÃscCs%tj|ƒ}tt||ƒ|ƒS(N(R tGetItemMaxStarRRf(RR™RDt    maxStarLV((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRzÉscCs|jtjƒS(N(RjRR•(R((sdD:\SG_ServerCode\ServerPython\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(NRGiRU(RXRYRqRtRxRJRKRRwRRRRIRÜROR!RpRrRfRsR†RRŽR(    RR©RœRƒR„RBR…RªR·((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartStarÒs, 
           
    (LRRR
R2RRtChItemR tFBLogictOperControlManagerR{R‘RRXRŽRJR]R‘R2R$tjsonR+RMR    RFR0RÀRÃRÂRÎRÐRÏR÷RRýR›R/RLR~R‡RáR€R†R…R(RšR4R‚RERUR)R\RWRaRtR(RgRvRhR|RiR‚RRxR†RRˆR‰RŠRäRR˜RfRzRœR(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt<module>s’                               X     ¦    
    '                 7    M    M            y    ÿ    $ $     #        S    '        
         .        .             &                            !