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
Öic@s{ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZeddVƒ\ZZZd„Zedd„Zd„Zd„Zd    „Z d
„Z!d „Z"de#dddd „Z%d „Z&ddd„Z'dd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.ed„Z/dd„Z0e#d„Z1d„Z2d„Z3d„Z4d„Z5dd„Z6d„Z7d„Z8d „Z9d!„Z:d"„Z;d#„Z<d$„Z=d%„Z>d&„Z?d'„Z@dddd(„ZAid)„ZBid*„ZCid+„ZDd,„ZEd-„ZFd.„ZGd/„ZHd0„ZIed1„ZJed2„ZKed3„ZLdejMd4„ZNiejMd5„ZOd6ied7„ZPed8„ZQd9„ZRd:„ZSd;„ZTd<id=„ZUd>„ZVd?„ZWd6d@„ZXdA„ZYdB„ZZdC„Z[dD„Z\dE„Z]dF„Z^dG„Z_dH„Z`dI„Zaed6ie#dJ„Zbd6ie#dK„Zcd6dL„ZddM„ZedN„ZfdO„ZgdP„ZhdQ„ZidR„ZjdS„ZkdT„ZldU„ZmdS(WiÿÿÿÿNiiic
Csñtjr dStjdƒgt_gt_gt_tjƒ}x@td|j    ƒƒD])}|j
|ƒ}|j ƒ}t |ƒr—tjj |ƒn|jdƒ}|jƒ}|tjkrõ|jdƒ}|jdƒ}|tj||f<n"|tjkrtjj |ƒnt|ƒrWxZt|jƒƒD]C}|j|ƒ}    |    sWq6n|    tjkr6tjj |    ƒq6q6WqWqWWtjr¤tjdtjƒntjrÄtjdtjƒntjrätjdtjƒntt_dS(Ns¼ÓÔØÎïÆ·Êý¾Ý...iis"ÿÈÕÓÐʹÓôÎÊýÏÞÖÆµÄÎïÆ·IDÁбí: %ss×°±¸¼¼ÄÜIDÁбí: %ss"×Ô¶¯×ª»¯ÎªÎïÆ·¸öÊýµÄÎïÆ·IDÁбí: %s(t
PyGameDatat
InitPyItemt    GameWorldtLogtEquipItemSkillIDListtDailyUseCountLimitItemIDListtAutoTransformCountItemIDListt GetGameDatatranget GetItemCountt    GetItemAtt GetItemTypeIDtGetCanUseCountDailytappendtGetEffectByIndext GetEffectIDtChConfigtDef_Effect_EquipStonetGetEffectValuetg_stoneLevelIDDicttDef_Effect_ItemCountt
GetIsEquiptxrangetGetAddSkillCountt GetAddSkilltTrue(
tgameDatatit findItemDatatitemIDtitemEfftcurEffIDt stoneEffTypet
stoneLevelt
skillIndext itemSkillID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR5sF                                      c     Cs¾t||ƒ}|stSt}xpt|ƒD]b}xY|D]Q}tj|ƒ}    tj|||ƒ}
tj||    |||
|ƒr9t    }q9q9Wq,W|rº|rºt
j
|ƒ} | j ƒnt    S(N( t__GetAddSkillListtFalseRt SkillCommont GetBuffTypet
SkillShelltGetAddBuffValuet    BuffSkilltAddBuffNoRefreshStateRt PlayerControltRefreshPlayerAttrByBuff( t    curPlayertcurItemttickt
needResulttuseCntt addSkillListt refreshResultt_taddSkilltbuffTypetaddBuffValueListt playerControl((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytItemUseSkillAddBuffis   c    Cság}tjƒ}|jƒ}x¼td|jƒƒD]¥}|j|ƒ}|sUq4n|j|ƒ}|s…tjd||fƒgStj    |ƒ}tj
|||j ƒ|j ƒƒsÌt j|dƒgS|j|ƒq4W|S(Nis+###²ß»®Ìî±íÒì³££¬ÎïÆ· = %s´¥·¢¼¼ÄÜʧ°Ü = %stXW_ZZ_ResInvalidation(RRR RRRtGetSkillBySkillIDRR&R'tCheckCanAddBufftGetSkillTypeIDt
GetSkillLVR,t
NotifyCodeR (    R.R/R3Rt    curItemIDRt
curSkillIDtcurSkillR7((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR$ˆs"  $cCs¡g}xBt|jtjƒƒD](}|jtj|ƒ}|j|ƒqW|sxIt|jƒƒD]2}|j|ƒ}|dkr‰Pn|j|ƒqdWn|S(Ni(RtGetUserAttrCountt ShareDefinetDef_IudetAddSkillIDtGetUserAttrByIndexR RR(R/taddSkillIDListRtskillID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemSkillIDList¤s cCs#|jƒ}d|ddg}|S(Ns%st0(R (R/t
itemTypeIDtmsgList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GetItemXMLMsg¶s Ac
Csœtjƒjtjƒ}|jƒ}xqtjD]f}|j|ƒ}xNt    d|j
ƒƒD]7}|j |ƒ}t |ƒs€qYn|j ƒ}|tjtjgkrªqYn|tjkrë|jƒdkr|j|jƒdƒqYqn*|tjkr||jƒkrqYqn|jƒ}|tjkrItj|d|gƒni|d6|jƒd6|jƒd6|jƒd6}    tj|d|    ƒqYWq.WdS(    NiitPK_hwj35_82012tItemIDt
CreateTimetIsBindtItemGUIDtTime(Rt GetGameWorldtGetGameWorldDictByKeyREtDef_Notify_WorldKey_ServerDaytGetItemManagerRtDef_RealityTimeItem_PacktGetPackRtGetCounttGetAttCheckItemCanUsetGetEndureReduceTypetDef_EquipReduceType_DaytDef_EquipReduceType_ServerDayt GetRemainHourt SetRemainHourt GetExpireTimeR t IPY_GameWorldt
rptRecycleR,R@t GetCreateTimet    GetIsBindtGetGUIDtDataRecordPackt DR_DeleteItem(
R.t    serverDayt itemManagert    packIndextcurPackRR/t
reduceTypeRAtdataDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytClearDayTimeItems6            
  cCsHttj|dƒƒjdƒdd}tjd|ƒtj|ƒS(Nis is     23:59:59s ÎïÆ·¹ýÆÚʱ¼ä(tstrRtGetDatetimeByDiffDaystsplittDebugLogtChangeTimeStrToNum(tdaysttimeStr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt__GetEndDayTimeNum0s*c    Cs|dkr'tjd||fƒdStjƒj|ƒ}|sFdS|jƒtjksp|jƒtjkr’|j    t
j t t j ƒƒƒn|jƒtjkr½|j    t
j dƒn|jƒtjkrè|j|jƒƒn|jƒtjkre|jƒ}tjƒjt
jƒ}||krU|jƒtjd|||fƒdS|j|ƒntj||ƒ|dkr—|j    t
j|ƒn|jƒtjkr¼tj|ƒn;t|ƒr÷t|||ƒ}|dkr÷|jƒdSnt ||ƒ|S(su ´´½¨ÎïÆ·
    @param isAuctionItem: ÊÇ·ñÅÄÆ·£¬Ä¬ÈÏ·ÇÅÄÆ·
    @param expireTime: ÓÐЧʱ¼ä£¬Ê±¼äµ¥Î»ÓÉʱЧÀàÐ;ö¶¨
    is-´´½¨ÎïÆ·¸öÊý²»ÄÜÉÙÓÚ1! itemID=%s,itemCount=%sNisOÎïÆ·ÓÐЧÆÚ³¬¹ýÓÐЧµÄ¿ª·þÌì, ²»¿É´´½¨!itemID=%s,serverDay=%s,outTimeServerDay=%s(!RtErrLogtGetItemFactoryt
CreateItemR^RtDef_EquipReduceType_RTimeItemtGetTypetDef_ItemType_CanUseByCDTimet SetUserAttrREtDef_IudetCreateTimetintttimetDef_EquipReduceType_TimeR_RbRcR`RURVRWtCleart ItemControlert SetItemCounttDef_IudetExpireTimetDef_ItemType_Herot
PlayerHerot InitHeroItemRtGetCreateEquipAttrtNonetAddCreateItemAttr(    Rt    itemCountt isAuctionItemt
expireTimeR.t setAttrDictt curSingleItemtoutTimeServerDayRk((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCreateSingleItem5sD "  
       
 cCsN|s
dSx=|jƒD]/\}}tj||ƒ}t|tƒr&|ddkrÂd}t|tƒrr|}n=t|tƒst|tƒr¯|r¯tj|ddƒ}n|j||ƒqFt|tƒsàt|tƒrF|j|ƒx3|D](}tj|dƒ}|j    ||ƒqôWqFqtj
d|||j ƒfƒqWdS(Niis8###AddCreateItemAttr unknown key:%s, value:%s, itemID=%s( titemsRtToIntDeft
isinstanceR‚tlistttupleR€t ClearUserAttrt AddUserAttrRR (R/R’tkeytvaluetv((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRŽvs&    $  $cCs\|dkri}ni}|s'dn    |jƒ}|jƒ}|jtjƒ}|dkr<tjd|ƒ}|sydS|jƒr›d|t    tj
ƒ<n|j ƒ|t    tj ƒ<|j ƒ|t    tjƒ<|jƒ|t    tjƒ<|jƒ|t    tjƒ<|jƒ|t    tjƒ<tjd||||f|ƒ|St|ƒrXt|||ƒS|S(s,»ñÈ¡Éú³É×°±¸ËùÓÐÊôÐÔ
    @param curPlayer: ¿ÉÄÜΪNone
    @param setAttrDict: Ö±½ÓÉèÖÃÎïÆ·µÄÊôÐÔ {key:value, ...} keyÖ§³Ö  ShareDefine.Def_IudetXXX×Ö·û´® »ò ×Ô¶¨key
    @return: None - Òì³£Çé¿ö£¬ÎïÆ·ÊµÀýÐèÒªclear
            equipAttrDict - Éú³ÉºóµÄ×îÐÂÊôÐÔk:v×ֵ䣬¿ÉÖ±½ÓÓÃÓÚ SetCreateEquipAttr
    it AppointItemNisH    ×°±¸¶¨ÖÆÊôÐÔ: itemID=%s,appointID=%s,equipAttrDict=%s,setAttrDict=%s(Rt GetPlayerIDR tgetREtDef_CItemKey_AppointIDt IpyGameDataPYtGetIpyGameDatatGetCancelUseLimitRrtDef_IudetCancelUseLimitt    GetItemLVtDef_IudetItemLVt GetBaseAttrIDtDef_IudetBaseAttrIDtGetBaseAttrValuetDef_IudetBaseAttrValuetGetLegendAttrIDtDef_IudetLegendAttrIDtGetLegendAttrValuetDef_IudetLegendAttrValueRRutGetIsMainEquiptGetCreateMainEquipAttr(R/R.R’t equipAttrDicttplayerIDRt    appointIDtipyData((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRŒ”s,          c#Csi}|jƒ}|jƒ}|jƒ}|s4|Stjd|ƒ}tjd|ƒ}| sf| rj|S|jƒ}    |jƒ}
tj} |j    t
t j ƒdƒ} | sötj ddƒ\} }tt|    | dƒ|    |ƒ}tj|ƒ} n| |t
t j ƒ<tjd|| ||f|
ƒ|j    t
t jƒƒ}|j    t
t jƒƒ}|dkr²|dkr²t|ƒt|ƒkr²||t
t jƒ<||t
t jƒ<nó|jƒ}tj|jƒgtj|jƒgtj|jƒgg}gg}}xR|D]J\}}ttj ddƒƒ}|s>qn|j!|ƒ|j!|ƒqW|r‹||t
t jƒ<||t
t jƒ<ntjd    ||f|
ƒ|j    t
t j"ƒƒ}|j    t
t j#ƒƒ}|dkr.|dkr.t|ƒt|ƒkr.||t
t j"ƒ<||t
t j#ƒ<n·g}g}|j$ƒ}|j%ƒ}|j&ƒ}tjd
|||f|
ƒxt'|dƒD] \}}t(|d |ƒs°q‹nt)|d |ƒƒ}|sÒq‹ntj*|ƒ|| }x¬|D]¤}||krqðn|j    ||ƒ} |  sðt| ƒd kr9qðn| \}!}"tj+|!|"ƒ}|j!|ƒ|j!|ƒtjd ||||!|"f|
ƒqðWq‹W|rË||t
t j"ƒ<||t
t j#ƒ<ntjd||f|
ƒtjd||f|
ƒ|S(Nt
EquipColort
EquipPlaceit MainEquipDropiis<Éú³ÉÖ÷Ïß×°±¸: itemID=%s,itemLV=%s,itemColor=%s,equipPlace=%sis*    baseAttrIDList=%s,baseAttrValueList=%ss&    libCntList=%s,attrRangeDict=%s, %ss GetAttrLib%sis/        libNum=%s,attrID=%s,attrValue=%s(%s~%s)s.    legendAttrIDList=%s,legendAttrValueList=%ss1    ×°±¸×îÖÕÊôÐÔ: equipAttrDict=%s,setAttrDict=%s(,R t GetItemColort GetEquipPlaceR¤R¥tGetLVR¡trandomtuniformR¢RrRER©tGetFuncEvalCfgRtmaxtchoiceRRuR«R­RtlentGetBaseAttrProportionRt
AttrID_Atkt
GetAtkStept
AttrID_Deft
GetDefStept AttrID_MaxHPt    GetHPSteptevaltGetFuncCompileCfgR R¯R±t GetAttrRangetGetAttrRangeDicttGetAttrLibCntListt    enumeratethasattrtgetattrtshuffletrandint(#R/R.R’R´Rt    itemColort
equipPlacet colorIpyDatat placeIpyDatatplayerLVRµt    randfloattitemLVtlowLVthighLVt
randLVListtbaseAttrIDListtbaseAttrValueListtattrProportiont attrInfoListtattrIDtattrStept    attrValuetlegendAttrIDListtlegendAttrValueListtattrRangeDefaultt attrRangeDictt
libCntListtnumtattrCntt libAttrListt randAttrListt    attrRangetattrMintattrMax((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR³·s˜           0   0    
     +cCs`t|tƒrt|ƒ}nt|tƒr0ndS|jddƒ}|j|t|ƒƒdS(Ns t(R˜tdictRrtreplacet SetUserDataRÃ(R/tdataInfotUserData((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSetItemUserDatascCsdS(N((R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt MakeEquipGS&scCst|ƒstStj||tƒs)tSxOt|jƒƒD];}|j|ƒjƒ}|dkrgtS||kr<tSq<WtS(Ni(    R]R%R†tCheckItemUseLVRtGetEffectCountRRR(R.R/t
effectListRteffectID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckItemByEffectID0s   cCsj|jƒjtjƒ}xKt|jƒƒD]7}|j|ƒ}t|||gƒs[q+n||fSWdS(N(RXRZRdtrptItemRR[R\Rþ(R.RýtbackPackRR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemInPackByEffectDs cCsd|jƒjtjƒ}xEt|jƒƒD]1}|j|ƒ}t|||gƒs[q+n|SWdS(N(RXRZRdRÿRR[R\Rþ(R.RýRRR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemInPackByEffectExSscCsp|jƒj|ƒ}xTt|jƒƒD]@}|j|ƒ}t|ƒsOq(n|jƒ|krgq(n|SWdS(N(RXRZRR[R\R]R (R.t
findItemIDRmRRR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemInPackByItemIDhs c CsUt|tƒrHg}x6|jƒD]\}}|j||gƒq"Wn|}i}x¢|D]š}|d \}}t|ƒdkr|dnd}tjƒj|ƒ}    |    s´q[ntj    |    ƒ}
t
j |
|    ||ƒ} |j |
dƒ| ||
<q[WxU|jƒD]G\}
} | t ||
| ƒkr|rItj|d|
gƒntSqWtS(NiitGeRen_chenxin_676165(R˜RóR–R RÃRRtGetItemByTypeIDRtGetItemPackTypeR†tGetItemNeedPackCountR¢tGetItemPackSpaceR,R@R%R( R.titemInfotisNotifytitemListRRtneedPackSpaceDicttitemRtitemDatatpackTypet    needSpace((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckPackEnoughys* "cCsd}|tjkr„xhtt|ƒƒD]T}|jtj||fƒ}|rVq(n|d7}|dkr(||kr(Pq(q(W|S|jƒj|ƒ}xdt    d|j
ƒƒD]M}|j |ƒ}|j ƒsÖq¯n|d7}|dkr¯||kr¯Pq¯q¯W|S(Nii( REtDef_VPack_TypeListRt GetVPackCnttNomalDictGetPropertyRtDef_PDict_VPackItemRXRZRR[R\tIsEmpty(R.t    packindextgetCountt    itemSpaceRt itemKeyDataRnR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR    žs&
 
cCsÍ|tjkrVx@tt|ƒƒD],}|jtj||fƒ}|s"tSq"WtS|j    ƒj
|ƒ}x<t d|j ƒƒD]%}|j |ƒ}|jƒrtSqW|rÉtj|d|gƒntS(NiR(RERRRRRRRR%RXRZRR[R\RR,R@(R.RR RRRnR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckPackHasSpaceÀs cCs®|tjkrVx@tt|ƒƒD],}|jtj||fƒ}|r"tSq"WtS|j    ƒj
|ƒ}x<t d|j ƒƒD]%}|j |ƒ}|jƒstSqWtS(Ni(RERRRRRRR%RRXRZRR[R\R(R.RRRRnR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckPackIsEmptyÛs cCs®|tjkrVx@tt|ƒƒD],}|jtj||fƒ}|s"|Sq"WdS|jƒj|ƒ}x<t    d|j
ƒƒD]%}|j |ƒ}|j ƒr|SqWdS(Niÿÿÿÿi( RERRRRRRRXRZRR[R\R(R.RRRRnR/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetEmptyIndexInPackós cCs d}|tjkr*tjddƒ}n|tjkrNtjddƒ}nl|tjkrrtjddƒ}nH|tjkr–tjddƒ}n$|tjkrºtjddƒ}n|sðtj    ddiƒ}|j
t |ƒdƒ}nt j d    ||fƒ|S(
NitInitBagCellCountitInitDepotCellCountt TreasureSetitDogzPackis,±³°üÀàÐͳõʼ¸ñ×ÓÊý: packType=%s,initCount=%s(RdRÿR¤t
GetFuncCfgt rptWarehouseREt rptTreasuret rptDogzItemt rptDogzEquipRÀR¢RrRRu(Rt    initCounttbagInitCntDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetPackInitCounts cCs¦tjddiƒ}t|ƒ|kr+dS|t|ƒ}|sEdS|jtj|ƒ}t|| ƒ}|t|ƒkr¢|t|ƒ|d}||7}n|S(NtOpenPackiiiÿÿÿÿ(R¤RÀRrRRtDef_Player_Dict_PackBuyCnttsumRÃ(R.Rt openCntDictt openCntListtbuyCnttopenCnttaddCnt((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetPackOpenItemCnts cCsÖtjddiƒ}|sdS|r4t|ƒgn    |jƒ}tjƒ}g|_xX|D]P}t|ƒ}tjƒ}||_    |j
t j |ƒ|_ |jj|ƒq\Wt|jƒ|_tj||ƒdS(NR+i(R¤RÀRrtkeystChPyNetSendPackttagSCPackBuyInfot BuyInfoListR‚t tagSCPackBuytPackTypeRRR,tBuyCntR RÃtCountt NetPackCommont SendFakePack(R.RR.t syncTypeListt
clientPackt packTypeStrtbuy((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSyncPackBuyCnt+s!            cCs-|tjkrdStj|}tj|ƒS(Ni(RtDef_VPackCnt_DictR¤R#(RtkeyStr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRBs cCs‹tjdƒ}||jƒkrCtj||j|ƒ|gƒntjdƒ}||kr‡tjd|||jƒ||gƒndS(Ntneed_eff_box_idtneed_wnotify_idi(t ReadChConfigtGetEvalChConfigR4R,R@R¢t WorldNotifyt GetPlayerName(R.t    useItemIDt
itemIDDictt wNotifyIDDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytUseItemSpecialNotifyMs" cCs0|jƒ}|stS|jƒ|kr,tStS(sRÅжÏÎïÆ·ÊÇ·ñְҵϵ¿ÉÓÃ
        ÎïÆ·±íÖÐÖ°ÒµÏÞÖÆ¹æÔò: 0ΪͨÓã»·Ç0°Ùλ´ú±íÖ°Òµ
    (t GetJobLimitRtGetJobR%(R.R/t itemJobLimit((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckJob\s  cCs+| s|jƒrdS|jƒr'dStS(N(Rt GetIsLockedR(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR]ls
 cCs/t|ƒ\}}|r+|dkr+tSntS(Ni(tGetItemRemainingTimeR%R(R/t isExpireItemR‘((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckItemCanUseByExpireTimews
 cCsÊt}|jƒ}d}|tjtjgkrÀt}|jtjƒ}|s]|j    ƒ}n|jtj
ƒ}|dkr„|}n2t dt t j ƒƒ|ƒ}t d||ƒ}||fS||fS(s? »ñÈ¡ÎïÆ·Ê£Óàʱ¼ä£¬Ãë
    @return: ÊÇ·ñʱЧÎïÆ·, Ê£Óàʱ¼ä 
    i(R%R^RR„R}Rt GetUserAttrRERˆRcRRÁR‚Rƒ(R/RURot remainingTimetcurItemExpireTimet    startTimetcurItemPastTime((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRTs      
cCstS(N(R%(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt CheckHasStone®scCs?|jƒj|ƒ}|j|ƒ}| s7|jƒr;tStS(N(RXRZR\RR%R(R.Rmt
equipIndext roleEquipPacktcurEquip((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt CheckHasEquipÃs
cCsIxBt|jƒƒD].}|j|ƒ}|jƒ|kr@qn|SWdS(N(RRûRR(R/RýRteffect((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemEffectByEffectIDÓs cCs)t|tjƒ}|sdS|jdƒS(Niÿÿÿÿi(RbRtDef_Item_Eff_UseClassLVR(R/Ra((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemUseClassLVâscCs¥i|jƒd6|d6|jƒd6|jƒd6}|d    krM||d<n|d    krf||d<n|jƒr¡|jƒdkr¡|ji|jƒd6ƒn|S(
s, ÎïÆ·ÐÅÏ¢¼Ç¼ 
    @param curItem: ÎïÆ·
    RPt    ItemCountRRRSt BeforeCountt
AfterCounts{}R÷N(R RgRhRt GetUserDatatupdate(R/t
writeCountt beforeCountt
afterCountRp((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemNoteDictés    cCså||d<|tjkrA|}|tjkrptj|}qpn/tj}| rp|tjkrptj|}n|sd}n|ržtj||||ƒn|tjtj    gksÅ|tj
krát j |d|||ƒndS(NR9tUnknowni( RtItemGiveTypeListtItemGiveTypeDicttItemGive_UnknownRitDR_SetPlayerItemRdRÿRER%Rt EventReporttWriteEvent_item_record(R.Rt    eventNamet itemNoteDicttnoteDictt operateType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt
DR_GetItemüs
        'cCs§||d<|tjkrA|}|tjkrJtj|}qJn    tj}tj||||ƒ|tjtj    gks‡|tj
kr£t j |d|||ƒndS(NR9i( RtItemDelTypeListtItemDelTypeDicttItemDel_UnknownRiRjRdRÿRER%RRsRt(R.RRuRvRwRx((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt
DR_DelItems
    'cCsCt|dƒ}|j|ƒ|jƒ|d<tj|||ƒdS(NiR(RmRitGetItemPlaceTypeRitDR_EquipMachining(R.R_RutaddDictRw((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDR_EquipItemChange)s
 cCs-t|ƒstS|jƒtjkr)tStS(N(R]R%R~RtDef_EquipItemTypeR(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckItemIsEquip6s
 
cCstS(N(R%(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckNoteEquipGSGsc
Cst}g}t}xÝt|jƒƒD]É}|j|ƒ}t|ƒsLq%n| re|jƒreq%n|jdƒjƒ|kr†q%n| r¢|jƒr¢t}n|jƒ}    ||    krÔ||    8}|j    |ƒq%d}t}|j    |ƒPq%W||||fS(Ni(
R%RR[R\R]RgRRRR (
t findEffectIDt curItemPackt    needCounttisBindt    hasEnought itemIndexListtfindItemIsBindRtfindItemR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByEff_ExRs,       
 c    CsÔt}g}x»t|jƒƒD]§}|j|ƒ}t|ƒsFqn| r_|jƒr_qn|jdƒjƒ|kr€qn|jƒ}||kr²||8}|j|ƒqt    }|j|ƒPqW||fS(Ni(
R%RR[R\R]RgRRR R(    R…R†R‡RˆR‰RŠRR/R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByEff~s$   
 c
Csìt}g}xÓt|jƒƒD]¿}|j|ƒ}t|ƒsFqn|jƒ|kr^qn| rw|jƒrwqn|jdƒjƒ|kr˜qn|jƒ}    ||    krÊ||    8}|j    |ƒqt
}|j    |ƒPqW||fS(Ni( R%RR[R\R]R RgRRR R(
RR…R†R‡RˆR‰RŠRR/R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemFromPack_ByIDAndEff¥s(   
 c    Csåt}g}xÌt|jƒƒD]¸}|j|ƒ}t|ƒsFqn|jƒ|kr^qn|jƒr|tkr‘qq‘n|tkr‘qn|jƒ}||krÃ||8}|j    |ƒqt
}|j    |ƒPqW||fS(N( R%RR[R\R]R RgtUseStuffMode_NoBindtUseStuffMode_BindR R(    RtitemPacktneedCntt useItemModeR‰RŠRR/R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByIDÏs*          
 c
Cs
t}g}t}xèt|jƒƒD]Ô}|j|ƒ}t|ƒsLq%n|jƒ|krdq%n|jƒr…|tkr—q%q—n|tkr—q%n| r³|jƒr³t    }n|jƒ}    ||    krå||    8}|j
|ƒq%t    }|j
|ƒPq%W|||fS(N( R%RR[R\R]R RgRR‘RR (
RR’R“R”R‰RŠR‹RR/R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByID_Exøs0              
 c
Cst}g}t}xît|jƒƒD]Ú}|j|ƒ}t|ƒsLq%n|jƒ|krdq%n|jƒr…|tkr—q%q—n|tkr—q%n| r³|jƒr³t    }n|jƒ}    ||    krå||    8}|j
|ƒq%d}t    }|j
|ƒPq%W||||fS(Ni( R%RR[R\R]R RgRR‘RR (
RR’R“R”R‰RŠR‹RR/R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByID_ExEx&s2              
 c Csggg}d\}}|jƒj|ƒ}xÃtd|jƒƒD]¬}|j|ƒ}    t|    ƒsjqCn|    jƒ|kr‚qCn|    jƒ}
|    jƒrÔ|dj|ƒ||
7}|dkrï||krïPqïqC|dj|ƒ||
7}qCW|||fS(sÙ »ñÈ¡±³°üÏûºÄµÀ¾ß°ó¶¨¼°Î´°ó¶¨Ë÷ÒýÇé¿ö
    @param needCount: ËùÐè¸öÊý, Ä¬Èϰó¶¨ÓÅÏÈ£¬µ±ÕÒµ½ÒѾ­×ã¹»µÄ¸öÊýºó²»ÔÙ±éÀú£¬¼õÉÙÎÞÓñéÀú
    @return: ¿ÉÏûºÄÎïÆ·Áбí[[°ó¶¨ÎïÆ·Ë÷Òý], [²»°ó¶¨ÎïÆ·Ë÷Òý]], °ó¶¨¸öÊý, Î´°ó¶¨¸öÊý
    ii(ii(    RXRZRR[R\R]R RgR ( R.RR‡RtconsumeItemIndexListtbindCntt    unBindCntRnRR/R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetPackItemBindStateIndexInfoOs$     
c CsŒ|jƒj|ƒ}|\}    }
||krLt|||    |t||ƒn<t|||    |t||ƒt|||
||t||ƒdS(N(RXRZt
ReduceItemRR%( R.tcostItemIndexListR™RštdelCnttdelEventt saveDataDictRRnt bindIndexListtunBindIndexList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDelCostItemByBindos   RòcCskd}|}    |sd}nxI|D]A}
|j|
ƒ} | rS| jƒrSt}n| jƒ} | jƒ}|| krïtj| ƒr·t| | | dƒ} t|t    j
|| |ƒntj | d|j ƒ|j ƒ|jƒƒ|| 8}q"tj| ƒr3t| || | |ƒ} t|t    j
|| |ƒntj | | ||j ƒ|j ƒ|jƒƒPq"W|S(NiRœ(R\RgRR[R R†tItemNeedRecordRmR}RdRÿR‡R¡tGetAccIDRJ(R.R†RŠt reduceCountt makeItemBindRuR t
needSysmsgRLt totalUseCntt    itemIndexR/RRv((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRœs0              " cCs)i}i}i}t|tƒsEx'|D]\}}|||<q(Wn|}i}i}    i}
i} xät|jƒƒD]Ð} |j| ƒ} t| ƒsqvn| jƒ}||kr»qvn| jƒ}| jƒrö|
}|j|dƒ|||<n | }|    j|dƒ||    |<||kr/g||<n||}|j    | ƒqvWxÒ|j
ƒD]Ä\}}|j|dƒ|    j|dƒ}t d||ƒ}|r«|||<n|rW||}|ræ|
j|gƒ| j|gƒ}n"| j|gƒ|
j|gƒ}||g||<qWqWW||fS(sT»ñµÃÐèÒªÏûºÄµÄ²ÄÁÏÎïÆ·ÐÅÏ¢, ÓÅÏȿ۳ý°ó¶¨ÎïÆ·
    @param costItemInfo: ÐèÒªÎïÆ·ÊýÁ¿[(itemID,itemCnt), ...] »ò  {itemID:itemCnt, ...}
    @param itemPack: ±³°ü
    @param bindFirst: ÊÇ·ñ°ó¶¨ÓÅÏÈ, True-°ó¶¨ÓÅÏÈ£¬ False-·Ç°ó¶¨ÓÅÏÈ
    @return: È±ÉÙµÄÎïÆ·¸öÊýÐÅÏ¢×Öµä{itemID:ȱÉÙ¸öÊý}, ¿Û³ýÎïÆ·ÐÅÏ¢×Öµä{itemID:[ɾ³ýË÷ÒýÁбí, É¾³ý¸öÊý], ...}
    i( R˜RóRR[R\R]R RgR¢R R–RÁ(t costItemInfoR’t    bindFirstt lackItemDictt delInfoDictt costItemDictt
needItemIDt needItemCnttbindItemCntDicttnoBindItemCntDicttbindItemIndexDicttnoBindItemIndexDictRR/RAt curItemCountt    indexDictt    indexListt itemCntTotaltlackCntRž((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetCostItemIndexList§sP       
" 
%"cCsŸd}x’|jƒD]„\}}|dkr1qntjƒj|ƒ}|sPdSt|jƒtjƒ}|dkr‰tjd|ƒdS|||7}qW|S(Nis"É̳DZíδÅäÖÃÎïÆ·×êʯÏûºÄ!itemID=%s(    R–RRRtGetShopItemPriceR RdtTYPE_Price_Gold_MoneyRz(R­t    totalGoldRRºR/titemGold((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetAutoBuyItemNeedGoldçs  cCs#t||ƒ}|sdS|jƒS(s »ñÈ¡É̳ÇÎïÆ·¶ÔÓ¦¼Û¸ñ i(tGetShopItemPriceIpyDatat GetMoneyNum(Rt    priceTypeR·((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR¼ûscCsÔidddgtj6ddgtj6}d }||krŠxr||D]=}tjdi|d6|d6|d    6d
tƒ}|rFPqFqFWn&tjdi|d6|d    6d
tƒ}|sÐtjd ||fƒn|S( s »ñÈ¡É̳ÇÎïÆ·¶ÔÓ¦¼Û¸ñ iiiiitStoretShopTypeRPt    MoneyTypet    isLogNones8ÕÒ²»µ½¶ÔÓ¦»õ±ÒÀàÐÍÉ̵ê³öÊÛ¸ÃÎïÆ·! itemID=%s,priceType=%sN(    RdR½tTYPE_Price_Gold_PaperRR¤tGetIpyGameDataByConditionR%RRz(RRÃtpriceTypeShopTypeDictR·tshopType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRÁs - &Rœc        Csct}xV|jƒD]H\}}|s+qnt||||t||ƒ}|rUtn|}qW|S(N(R%tvaluesRœR(    R.R’R®RŸR tdelItemHasBindR¸Ržt hasBindItem((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt DelCostItemsc Csý|jƒj|ƒ}t}|dkr0t}nxÆtd|jƒƒD]¯}|j|ƒ}t|ƒsmqFn|jƒ}    |jƒ}
|    |kr—qFn|j    ƒ} |sµ||
krÅ|j
ƒqFnt j ||
||j ƒ|jƒ|jƒƒdSWdS(Ni(RXRZR%RRR[R\R]R RgR…R†R‡R¡R¥RJ( R.Rmt    delItemIDt delItemCountt    missionIDR’t
delAllItemtindexRRLRtcurBind((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDelMissionItem&s(          
" cCstS(N(R(R.R/tbindType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDoLogic_ItemBindTypeNsc
Csõ|jƒ}t|tƒrDt|ƒ|kr1dS|t|ƒ}n|}|sTdSt|ƒ}t|tj|ƒ}||kr•tj    |dƒdSx=|D]5}|d \}}    t
j |||    dtjgƒqœW|rñt
j |||ƒnt S(NtGeRen_chenxin_998371ii(RPR˜RóRrRÃR    RdRÿR,R@R†tGivePlayerItemtNotifyGiveAwardInfoR(
R.t awardItemInfoRutjobR Rt    packSpaceR
RR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GiveAwardItemds&    #c    CsË|jƒj|ƒ}|dks3||jƒkr7dS|j|ƒ}t|ƒsVdS|jƒj|ƒ}|dks‰||jƒkrdS|j|ƒ}|dks´|jƒr¸dSt||||ƒS(Ni(RXRZR[R\R]RRStDoLogicSwitchItem(    R.t srcBackpackt desBackPacktsrcIndext    destIndextsrcPacktsrcItemtdestPacktdestItem((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDoLogicSwitchItemEx†s cCs2|jƒrt||||ƒSt||||ƒS(N(RtPutInt
SwitchItem(R.R/t
switchItemRm((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRà¡s cCsô|tjgkr(t||tjƒn|tjgkrPt||tjƒn|tjtjgkrãtj    |ƒr¤tj
|t |ƒt j d|jƒƒntj    |ƒrãtj
|t |ƒt j d|jƒƒqãn|j|ƒtS(Ns(SwitchItem ÅÄÆ·ÉèÖÃΪ·ÇÅÄÆ·!curItemID=%ss+SwitchItem ÅÄÆ·ÉèÖÃΪ·ÇÅÄÆ·!switchItemID=%s(RdtrptEquipRØRtDef_BindType_DoEquipBindt rptHorseEquipRÿR$R†tGetIsAuctionItemtSetIsAuctionItemR%RRuR tSwitchR(R.R/RìtputInPackIndex((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRë°s cCs|jƒs&tjd|jƒƒdS|tjgkrNt||tjƒn|tj    gkrvt||tjƒn|tj
tj gkrÍt j |ƒrÍt j|t|ƒtjd|jƒƒqÍn|jƒtjkrò|j|ƒn%|jƒtjkr|j|ƒntS(NtputInErrs&PutIn ÅÄÆ·ÉèÖÃΪ·ÇÅÄÆ·!switchItemID=%s(RRRztGetIDRdRíRØRRîRïRÿR$R†RðRñR%RuR tGetGameWorldItemTypet gwitRoleItemRêtgwitSingleItemt
AssignItemR(R.t    emptyItemRìRó((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRêÌs  cCs|jƒtjkS(N(R~RR‚(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRìscCs|jƒtjkS(N(R~RtDef_MainEquipType(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR²ïscCs|jƒtjkS(N(R~RtDef_DogzEquiipType(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetIsDogzEquipósc    Cs’tjƒ}|j|ƒxrtd|jƒƒD][}|j|ƒ}|jdƒ}|jƒ}|jdƒ}||kr/||kr/|Sq/WdS(Ni(
RRtFilterItemByTypeRtGetFilterItemCountt GetFilterItemRRRR(    titemTypet itemEffectIDtfindEffectValueRRt curFindItemtcurFindItemEffecttcurFindItemEffectIDtcurFindItemEffectValue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemFromDataByEffValueÿs   c
Csåt}g}xÉt|jƒƒD]µ}|j|ƒ}t|ƒsFqn|jdƒ}|jƒ|krmqn|jdƒ|krˆqn|jƒ}    ||    krº||    8}|j|ƒqd}t    }|j|ƒPqW|||fS(Ni(
R%RR[R\R]RRRR R(
RýteffectAR†R‡R‰RŠRR/RaR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemIndexListFromPackByEffAs(   
 c CsÙ|jƒ}|jƒ}|jƒ}    ||kr\tjd|||f|jƒƒ|}n|sqtj|ƒr¦t|||||ƒ}
t    |t
j ||
|ƒntj ||||j ƒ|jƒ|jƒƒdS(Ns4DelItem, delCnt = %s < itemCnt = %s, itemTypeID = %s(R R[RgRRzRõR†R¤RmR}RdRÿR‡R¡R¥RJ( R.R/RžR¨t
recordNameR t    isForceDRt curItemTypeIDt
curItemCntt curItemBindRv((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDelItemJs    #     c
    Cs•xŽt|jƒƒD]z}|j|ƒ}t|ƒs:qn|jƒ}||krXqn|j|ƒ}    t|||    t|||ƒ|sPqqWdS(N(RR[R\R]RhtpopRR(
R.R†tdelItemByGUIDDictR R R RR/titemGUIDRž((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt DelItemByGUIDds   c Cso|tjkrdSxB|D]:}|jtj||fƒ}|sHqnt}d}d}|tjkrétj|ƒ}tj    |ƒ}    t
j ƒj |ƒ}
|
s®t |ƒn    |
jƒ}d||    df}|
oãtj|
|    ƒ}ntj|tj||fdƒ|ri|d6dd6|    dd6} t|||sGd    |n|| ƒqqWtj|||ƒdS(
s É¾³ýÐéÄâ±³°üÎïÆ· NiRòs%s LV%siRPRetPlusLVsVPack_%s(RERRRRR%trptRuneR†t GetRuneItemIDtGetRuneItemPlusLVRRRRrtGetNametIsRuneItemNeedRecordR,tNomalDictSetPropertyR}tSync_VPackItem_Clear( R.Rmt    placeListRutplaceRt isNeedRecordRtitemNametplusLVt curItemDataRp((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt DelVPackItemts,  *cCs
|jƒS(N(R½(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemClassLVscCs
|jƒS(N(t GetGearScore(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetEquipGearScore”scCs |j|ƒS(N(t SetGearScore(R/Rž((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSetEquipGearScore—scCs5tjdt|ƒ|jƒƒ}|s+dS|jƒS(NtEquipPlaceIndexMapiÿÿÿÿ(R¤R¥R$R¼t GetGridIndex(R/R·((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetEquipPackIndexšs!cCs
|jƒS(N(tGetMaxAddSkillCnt(R/((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR ¢scCs•| s|jƒriStj|ƒ}t|ƒsK|jƒ|jƒ|gSi}|jƒ|d<|jƒ|d<||d<t|jƒƒ|d<|S(NRPR;t IsAuctionItemR÷(RR†RðRƒR R[RrRh(R/Rt addItemDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetMailItemDict§s 
 cCsWi}t|tƒs$t|tƒrªt|ƒ}|dkrM|d|d<n|dkrz|ddkrz|d|d<n|dkrS|drSt|dƒ|d<qSn©t|tƒrÆ||d<nt|ƒsãtjdƒiS|jƒ|d<|j    ƒdkr|j    ƒ|d<nt
j |ƒr4d|d<n|j ƒrS|j ƒ|d<n|S(    sb»ñÈ¡ÎïÆ·ÐÅÏ¢¶ÔÓ¦µÄjsonÐÅÏ¢
    @param itemInfo: Ö§³ÖÁбí [itemID, itemCount, isAuctionItem], Ö§³Ö¶¯Ì¬ÁÐ±í³¤¶È£¬Ë÷Òý´ú±íÊôÐԹ̶¨
                        Ö§³ÖÎïÆ·ÊµÀý, Èç¹ûÊÇʾÀýʱ±ØÐëÔÚ¸øÍæ¼Ò֮ǰÏÈ»ñÈ¡³öÀ´£¬·ÀÖ¹¸øÍæ¼Òºó¸ÃÎïÆ·ÊµÀý±»Çå¿Õ
                        
    @return: {"ItemID":101, "Count":10, "IsAuctionItem":1, "UserData":"×Ô¶¨ÒåÊôÐÔ×Ö·û´®"}
    iRPiR;iR-sÎïÆ·Îª¿Õ!ÎÞ·¨»ñÈ¡JsonItemÐÅÏ¢!R÷( R˜R™RšRÃR‚R]RRzR R[R†RðRh(R
titemDicttinfolen((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GetJsonItemÕs,       cCs
g}|S(sû ¸ù¾ÝÁ¶µ¤µÈ¼¶²îÒìµÈ¼¶¹ýÂËÈ¨ÖØÁбíÖв»Âú×ãµÄÎïÆ·£¬¹ýÂË×îµÍÍæ¼ÒµÈ¼¶ÒªÇóÎïÆ·  ·µ»ØÐµÄÈ¨ÖØÁбí
    @param weightList: ÎïÆ·È¨ÖØÐÅÏ¢Áбí
    @param alchemyDiffLV: ÊÇ·ñ¹ýÂ˵ô´óÓÚX¼¶µÄÁ¶µ¤µÈ¼¶ÎïÆ·£¬0-²»¹ýÂË£¬1-¹ýÂËÇÒ¶ÁĬÈÏÅäÖã¬>1-ÌØÊ⹦ÄÜÖ¸¶¨µÄ¹ýÂ˵ȼ¶
    ((R.t
weightListt alchemyDiffLVtresultWeightList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GetWeightItemListByAlchemyDiffLVõscCsEtjƒ}|jƒ||_||_||_tj||ƒdS(N(R5ttagMCMakeItemAnswerR…tMakeTypetResultt    MakeValueR<R=(R.tmakeTypet    isSuccesst    makeValuetmakeItemAnswer((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSyncMakeItemAnswerÿs 
            i(nRR*R,R&RdRRGRER†RiRstChItemR¤R5R<RtChEquipR(RŠR¾tmathRƒtjsonRtUseStuffMode_AllRR‘RRR:R$RJRNRqRyR%RR•RŽRŒR³RøRùRþRRRRR    RRRR*R3RBRRNRRR]RVRTR\R`RbRdRmRyR}RRƒR„RRŽRR•R–R—RÿR›R£RœR»RÀR¼RÁRÏRÖRØRßRéRàRëRêRR²RýRR
RRR#R$R&R(R+R R/R2R6R?(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt<module>sÎ                               4            J    0    A    # d         
                 % "                                                                            ,    '    * ) . ) % @                (     "                                      -                         .