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
â(cjc@srddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zd„Zdd„Zddd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!dd„Z"d„Z#dS(iÿÿÿÿNcCs"t|ƒt|ƒt|ƒdS(N(tRefreshHeroMinengItemRelationtSync_MinengBookInfotSync_MinggePlaceInfo(t    curPlayer((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyt OnPlayerLogin!s
 
 
cCs\|jƒ}t||ƒsXt||dƒtjd||jƒƒt||gƒndS(NisÊ״줻îÃØÄÜ: minengID=%s(t GetItemTypeIDtGetMinengBookStatetSetMinengBookStatet    GameWorldtDebugLogt GetPlayerIDR(Rt
minengItemtminengID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytOnGiveMinengItem's  cCs tj|ƒS(N(t
ItemCommontGetItemClassLV(titem((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytGetMinengSeasonID3scCs¬t|ƒ}|jƒ}|jƒ}|jƒr6dnd}|jtj|||fƒ}|td|ƒ@rrdS|jtj|||fƒ}|td|ƒ@r¨dSdS(Niii(    Rt GetItemColort GetEquipPlacet
GetSuiteIDtNomalDictGetPropertytChConfigtDef_PDict_MinengBookAwardtpowtDef_PDict_MinengBookAct(RRtseasonIDt    itemColort
equipPlacetsuitet
awardStatetactState((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyR5s   ic
Csn|jƒ}t|ƒ}|jƒ}|jƒ}|jƒrBdnd}d\}}    |dkrod\}}    n|dkrŠd\}}    n|jtj|||fƒ}
tj    |
||ƒ} t
j |tj|||f| ƒ|jtj |||fƒ} tj    | ||    ƒ} t
j |tj |||f| ƒtj d||| | ||||f|jƒƒdS(NiiistÉèÖÃÃØÄÜͼ¼ø×´Ì¬: itemID=%s,state=%s,updActState=%s,updAwardState=%s,seasonID=%s,itemColor=%s,suite=%s,equipPlace=%s(ii(ii(ii(RRRRRRRRRt SetBitValuet PlayerControltNomalDictSetPropertyRR    R
(RRtstatetitemIDRRRRRRt curActStatet updActStatet curAwardStatet updAwardState((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyRFs&       ##    )cCsc|dkri}n|s!dn    |jƒ}|jƒ}|jƒ}|jƒ}i}|sadStjd||ƒ}|s€dS|jtt    j
ƒdƒ}    |    |tt    j
ƒ<|j ƒ}
g} xEt d|j ƒƒD].} |j| ƒ} | s÷qÖn| j| ƒqÖWtjd||    ||| |
f|ƒ|jtt    jƒƒ}|jtt    jƒƒ}|dkr·|dkr·t|ƒt|ƒkr·||tt    jƒ<||tt    jƒ<nŽg}g}|jƒ}xD|D]<}t|ƒ\}}|sødS|j|ƒ|j|ƒqÖW|rE||tt    jƒ<||tt    jƒ<ntjd||f|ƒ|S(s»ñÈ¡Éú³ÉÃØÄÜËùÓÐÊôÐÔ
    iNtMinengTypeQualityisPÉú³ÉÃØÄÜ: itemID=%s,itemLV=%s,itemColor=%s,itemType=%s,skillIDList=%s,suiteID=%ss1    ÃØÄÜ×îÖÕÊôÐÔ: equipAttrDict=%s,setAttrDict=%s(tNoneR
RtGetTypeRt IpyGameDataPYtGetIpyGameDatatgettstrt ShareDefinetDef_IudetItemLVRtrangetGetAddSkillCountt GetAddSkilltappendRR    tDef_IudetLegendAttrIDtDef_IudetLegendAttrValuetlentGetRandAttrLibstCalcMinengLibAttr(tcurItemRt setAttrDicttplayerIDR$titemTypeRt equipAttrDictttypeColorIpyDatatitemLVtsuiteIDt skillIDListtitskillIDtlegendAttrIDListtlegendAttrValueListt randAttrLibstlibIDtattrIDt    attrValue((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytGetCreateMinengAttr_sT             0   cCsgg}}tjd|ƒ}tjd|ƒ}| s?| rI||fS|jƒ}|jƒ}    |jƒ}
|jƒ} |jƒ} |jƒ} |jƒ}|j    ƒ}|j
t j |ƒ}xÃt tt|    ƒt|
ƒƒƒD] }|    |}|
|}t| ƒ|kr| |nd}t| ƒ|kr9| |nd}t|| ||||||ƒ}|j|ƒ|j|ƒqáW||fS(Nt
MinengTypet MinengQualityi(R,R-RtGetBaseAttrIDListtGetBaseAttrInitValueListtGetBaseAttrPerLVValueListtGetBaseAttrPerPlusValueListtGetBaseInitAttrRatiotGetBasePerLVRatiotGetBasePerPlusRatioRRtDef_PDict_MinengPlacePlusLVR2tminR8tintR5(RR>RRAt
attrIDListt attrValueListt typeIpyDatat colorIpyDataRtbaseAttrIDListtbaseAttrInitValueListtbaseAttrPerLVValueListtbaseAttrPerPlusValueListtbaseInitAttrRatiotbasePerLVRatiotbasePerPlusRatiotplusLVtindexRJt    initValuet
perLVValuet perPlusValueRK((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytCalcMinengBaseAttrInfo¦s. 
        (
 
""( c CsÓd\}}tjd|ƒ}|s.||fSd}g}x7|D]/}|jƒ}||7}|j||gƒqAWtj|ƒ}|s“||fS|jƒ}|jƒ}    |jƒ}
t    j
|    |
ƒ}||fS(Nit MinengAttrLib(ii( R,tGetIpyGameDataListt GetRandWeightR5RtGetResultByRandomListt    GetAttrIDtGetAttrValueMintGetAttrValueMaxtrandomtrandint( RIRJRKtattrIpyDataListtratetrandListt attrIpyDatat
randWeightt randIpyDatat attrValueMint attrValueMax((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyR:Æs$ 
 
 
   cCsOg}xBt|jtjƒƒD](}|jtj|ƒ}|j|ƒqW|S(N(R2tGetUserAttrCountR0tDef_IudetHeroMinengIndextGetUserAttrByIndexR5(theroItemtmnItemIndexListtmnIndext mnItemIndex((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytGetHeroMinengItemIndexListÜs
c    Cs|jƒ}g}|jƒjtjƒ}|jƒjtjƒ}x?t|jƒƒD]+}|j|ƒ}| sU|j    ƒrƒqUnt
}|j ƒ}xÕt|j tj ƒƒddd…D]®}    |jtj |    ƒ}
tj|tj|
dtƒ} | r6|
|kr|j|
ƒq»ntjd||
f|ƒntjd||
f|ƒ|jtj |
ƒt}q»W|rU|jƒqUqUWg} xut|jƒƒD]a}
|j|
ƒ} | s| j    ƒrËqn|
|krÝqntjd|
|ƒ| j| ƒqW| rt|d| ƒndS(Niÿÿÿÿt
checkEmptys5Î佫֨¸´°ó¶¨ÃØÄÜ×°±¸¹ØÏµ! heroIndex=%s,mnItemIndex=%ss5Î佫ÒѰó¶¨ÃØÄÜ×°±¸²»´æÔÚ! heroIndex=%s,mnItemIndex=%ss(ÃØÄÜ×°±¸Î佫°ó¶¨¹ØÏµ¶ªÊ§! mnItemIndex=%s(R
tGetItemManagertGetPackR0t rptHeroMinengtrptHeroR2tGetCounttGetAttIsEmptytFalsetGetItemR{R|R}Rt GetPackItemtTrueR5RR    t DelUserAttrt    Sync_ItemtDoTakeoffMinengR*(RR=theroMinengIndexListtheroMinengPacktheroPackReR~tisDelRR€RR t takeoffListtheroMinengItem((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyRãsF  ,  
 c    CsÚtjƒj|ƒ}|jƒ}|j}|j}|j}|j}|j}    tj    d|||||    f|ƒ|r­|t
j kr­|t
j kr­tj    d||ƒdSt j||ƒ}
|
sÉdS|dkrt||
|ƒ} | stj    d||ƒdSt||
| gƒn|dkrØg} |jƒjt
j ƒ} t|
ƒ}xg|D]_}|dksX|| jƒkr‚qXn| j|ƒ}| sX|jƒrªqXn| j|ƒqXW| sÅdSt||
| ƒnÒ|dkr[|    sîdS|    d}tj|||dtƒ}|s7tj    d||f|ƒdS|jƒ|krmtj    d    |jƒ|f|ƒdS|t
j kr2t||ƒ}|r|jƒnd
}tj    d ||ƒt|||gƒ}|sætjd |ƒdS|rÿt j||ƒn|d}tj    d |j ƒ|jƒf|ƒnt||
|ƒ} | r¡| jƒ}tj    d||j ƒ|jƒf|ƒtj!|| |t
j ƒsXdSqªtj"|t
j ddt#ƒ}|sÙt$j%|dƒdS|d\}}tj    d||ƒ|
j&ƒ}|j't
j(|ƒtj!|||t
j ƒsN|j)t
j(|ƒdS|
j*ƒnO|dkr|    sqdS|t
j kr¡tj    d|t
j f|ƒdS|
j&ƒ}tj"|t
j t+|    ƒƒ}|såt$j%|dƒdSx|    D]    }tj|||dtƒ}|s3tj    d||f|ƒqìn|jƒ}t||
|ƒ} | rwtj    d||f|ƒqìn|d\}}tj    d||f|ƒ|j't
j(|ƒtj!|||t
j ƒsè|j)t
j(|ƒqìn|j,dƒqìW|
j*ƒn¤|dkrª|    sdS|    d}t||
|ƒ} | sVtj    d||ƒdS|t
j kr†tj    d|t
j f|ƒdStj|||dtƒ}|sÅtj    d||f|ƒdS|jƒ|krûtj    d|jƒ|f|ƒdSt||ƒ}|s(tj-d||ƒdS|
jƒ}|jƒ}| jƒ}|jƒ}||krhdStj    d||||f|ƒtj!|| |t
j ƒsªdSnt j||
ƒtj.|t
j/t0j1|ƒdS(NsYÎä½«ÃØÄÜ×°±¸²Ù×÷: heroItemIndex=%s,opType=%s,equipPlace=%s,srcPackType=%s,srcIndexList=%ss·ÇÃØÄÜÏà¹Ø±³°ü: srcPackType=%sis#ÕÒ²»µ½¸ÃÎä½«ÃØÄÜ×°±¸! equipPlace=%siiRƒs/ÕÒ²»µ½srcMinengItem! srcPackType=%s,srcIndex=%ss<·Çͬ²¿Î»ÃØÄÜÎÞ·¨×°±¸! srcMinengItem.GetEquipPlace()=%s != %siÿÿÿÿs-ÃØÄÜÔÚÆäËûÎ佫ÉíÉÏÏÈжÏÂ! tagHeroItemIndex=%ss4жÏÂÆäËûÎ佫ÉíÉÏÃØÄÜʱʧ°Ü£¬¿ÉÄÜÃØÄÜÎïÆ·±³°ü¿Õ¼ä²»×ãs2ÍÑϺóÃØÄÜ: srcMinengItem packType=%s,itemIndex=%ss_Î佫ÉíÉϸò¿Î»ÓÐÃØÄÜ£¬´©ÉÏʱֱ½ÓÌæ»»: heroMinengIndex=%s,srcMinengItem packType=%s,itemIndex=%stisNotifytMinengEquipPackFulls3Î佫ÉíÉϸò¿Î»Ã»ÓÐÃØÄÜ£¬Ö±½Ó´©ÉÏ! emptyItemIndex=%sis5Ò»¼ü×°±¸ÃØÄÜsrcPackTypeÒì³£! srcPackType=%s not in %ss.Ò»¼ü×°±¸ÃØÄܲ»´æÔÚ! srcPackType=%s,srcIndex=%ss=Î佫¸Ã×°±¸Î»ÒÑÓÐÃØÄܲ»´¦ÀíÒ»¼ü×°±¸! equipPlace=%s,srcIndex=%ss+Ò»¼ü×°±¸ÃØÄÜ! srcIndex=%s,emptyItemIndex=%sis0Ö»ÄÜ´ÓÆäËûÎ佫ÉíÉÏÃØÄÜ»¥»»! srcPackType=%s != %ss<·Çͬ²¿Î»ÃØÄÜÎÞ·¨»¥»»! srcMinengItem.GetEquipPlace()=%s != %ss+½»»»Ê±ÕÒ²»µ½¸ÃÃØÄÜËùÊôÎ佫ÎïÆ·! srcIndex=%sse½»»»Î佫˫·½ÃØÄÜ! curHeroPackIndex=%s,tagHeroPackIndex=%s,curHeroMinengIndex=%s,tagHeroMinengIndex=%s(2RtGetPlayerManagertGetPlayerByIndexR
t HeroItemIndextOPTypet
EquipPlacet SrcPackTypet SrcIndexListR    R0R†t rptMinengListt
PlayerHerot GetHeroItemtGetHeroMinengItemR‘R„R…R‚RˆR‰RŠR5RRRŽRtGetMinengItemOwnerHeroItemtGetItemPlaceIndextLogtRefreshLineupHeroItemtGetItemPlaceTypetDoLogicSwitchItemtGetEmptyItemListInPackR‹R!t
NotifyCodeRŒt AddUserAttrR|RRR8tpoptErrLogtSyncMakeItemAnswertDef_mitMinengEquipRtDef_ComposeState_Sucess(Ret
clientDatattickRR=t heroItemIndextopTypeRt srcPackTypet srcIndexListR~R—R–R“RRR tsrcIndext srcMinengItemt tagHeroItemttagHeroItemIndexttakeoffToItemListtheroMinengIndext emptyItemListt    emptyItemtemptyItemIndextheoItemtcurHeroPackIndexttagHeroPackIndextcurHeroMinengIndexttagHeroMinengIndex((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytOnHeroMinengEquips                         $     
 
)              
          cCs¹|jƒjtjƒ}xšt|jtjƒƒD]€}|jtj|ƒ}|dks1||jƒkrpq1n|j    |ƒ}| s1|j
ƒr˜q1n|j ƒ|kr°q1n|SWdS(Ni( R„R…R0R†R2R{R|R}RˆR‰RŠR(RR~RR“ReRR ((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyR¤ÎscCs¸|jƒ}|jƒjtjƒ}xtd|jƒƒD]v}|j|ƒ}| s:|jƒrhq:nxEt|j    tj
ƒƒD]+}|j tj
|ƒ}||kr|SqWq:WdS(Ni( R¦R„R…R0R‡R2RˆR‰RŠR{R|R}(RR—R¾R”ReR~R€R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyR¥Ýs   cCs²|s
dSg}i}xJ|D]B}tj|ƒ}|j|dƒd||<|j||gƒqWi}xE|jƒD]7\}}tj|||ƒ}    |    s£qvn|    ||<qvW|s»dSg}
|rÓ|jƒnd} xµ|D]­\}}|j|ƒ}    |    sqàn|    d\} } |j    ƒ}| o;| j
t j |ƒtj || ||ƒss| ol| jt j |ƒqàn|
j| ƒ|    jdƒqàW|
s›dS|r®|jƒn|
S(Nii(RtGetItemPackTypeR.R5titemsRR«RŒR*R¦RR0R|RªR­R®R(RR~R–tdoListtneedPackCntDictR—t    rptMinengtpackEmptyItemDicttneedCntR¿R½RRÀt_tminengItemIndex((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyR‘ësF    cCs/tjƒj|ƒ}t||j|jƒdS(N(RRšR›t__doDecomposeMinengtItemPackt    IndexList(ReR³R´R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytOnMinengDecompose%sc CsÇ|jƒ}tjd||f|ƒ|tjkr9dSi}|jƒj|ƒ}x|D]}|dks[||jƒkr…q[n|j|ƒ}| s[|j    ƒr­q[n|j
ƒrÓtjd||ƒq[n|j ƒ}t j d|ƒ}    |    sýq[n|    jƒ}
x.|
D]&\} } |j| dƒ| || <qW|dk} tj|||jƒtdd| ƒq[W|sydSg|jƒD]\}}||g^q†}tj||ddtigƒdS(    NsÃØÄÜ·Ö½â: packType=%s,%sisÃØÄÜËø¶¨²»¿É·Ö½â: itemIndex=%sRNitMinengDecomposet    isForceDRtevent(R
RR    R0R¡R„R…RˆR‰RŠt GetIsLockedRR,R-tGetDecomposeItemListR.RtDelItemRŽRÉt ItemControlertGivePlayerItemOrMailR‹(RtpackTypet itemIndexListR=t giveItemDictt
minengPackt    itemIndexR RR\tdecomposeItemListtgItemIDt
gItemCountRÖR$t    itemCounttitemList((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyRÑ*s:      )+cCs=tjƒj|ƒ}|j}|tjkrBt}d|g}nIt}g}x:tjD]/}|jtj    |ƒ}|j
||gƒqXWg}|j ƒj t jƒ}    d}
x`|
dkr|r|
d7}
|jƒ|d\}}|d} tjd| ƒ} | s4|jdƒtjd||fƒq²n| jƒ} | sJPntj| |    ƒ\}}|r‰tjd|| | |fƒPntj||    |dƒtj|tj    || ƒ} tjd|| | |fƒ| |g|d<||kr|j
|ƒn|s²Pq²q²W|sdSt|ƒtj|ƒjƒdS(    Niièit MinengPlusLVs-¸ÃÃØÄܲ¿Î»Ç¿»¯ÒÑÂú¼¶! equipPlace=%s,plusLV=%ssUÃØÄܲ¿Î»Ç¿»¯ËùÐèÎïÆ·²»×ã! equipPlace=%s,plusLVNext=%s,costItemList=%s,lackItemDict=%stMinengsLÃØÄܲ¿Î»Ç¿»¯! equipPlace=%s,plusLVNext=%s,costItemList=%s,placePlusLVList=%s(RRšR›RžRtDef_MinengPlacesR‹RŽRRVR5R„R…t IPY_GameWorldtrptItemtsortR,tGetIpyGameDataNotLogR®R    tGetPlusCostItemListRtGetCostItemIndexListt DelCostItemR!R"Rt PlayerOnlinetGetOnlinePlayertRefreshRoleAttr(ReR³R´RRtisAlltplacePlusLVListRdt plusPlaceListtitemPacktdoCntt
plusLVNexttipyDatat costItemListt lackItemDictt delInfoDict((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyt OnMinengPlusVsX    
 
 
       
c(CsÞtjƒj|ƒ}|jƒ}|j}|j}|j}|j}tjd||||f|ƒ|t    j
kr›|t    j kr›tjd||ƒdSt j |||ƒ}    |    sÊtjd|ƒdS|    jƒ}
|
jt    jƒ} | dkr    |
jt    jdƒnd} | dkr0|
jt    jdƒnd} | dkrW|
jt    jdƒnd}| dkr~|
jt    jdƒnd}| dkr¥|
jt    jdƒnd}|dkro|
jt    jƒ}|
jt    jƒ}|dks ||ks ||ks | s | rItjd    |ƒt j|    t    j| | dddgtƒdSgg}}x}tt||ƒƒD]f}||krŽ||}}n*|
jt    j|ƒ}|
jt    j|ƒ}|j|ƒ|j|ƒqlWt j|    t    j|tƒt j|    t    j|tƒt j|    t    j| | dddgtƒ|t    j
krCdSt||    ƒ}|rktj||ƒndS|dkr§t j|    t    j| | dddgtƒdS|
jt    jƒ}|
jt    jƒ}|dksï||ksï||krtjd
|||f|ƒdS|    jƒ}|    jƒ}|    jƒ}t j!d |ƒ}|sPdS|j"ƒ}|j#ƒ}|j$ƒ}| s‰| s‰| r§tjd ||f|ƒdSg}xIt|ƒD];} || krÒqºn| t%d| ƒ@rº|j| ƒqºqºWt&|ƒ|kr/tjd ||||f|ƒdSt&|ƒ| krK|| n|d}!|j'ƒj(t)j*ƒ}"t j+i|!|6|"ƒ\}#}$|#r³tjd|||#f|ƒdSt j!d||ƒ}%|%sÒdS|%j,ƒ}&|t&|&ƒkrtjd|||f|ƒdS|&|}'t-|'ƒ\}}tjd||||'||f|ƒ| sa| redSt j.||"|$dƒ| d7} | t%d|ƒO} t j|    t    j| | |||gtƒtjd| | f|ƒdS(Ns<ÃØÄÜÏ´Á¶: packType=%s,itemIndex=%s,reqWashIndex=%s,opType=%ss·ÇÃØÄÜÏà¹Ø±³°ü: packType=%ssÃØÄÜÎïÆ·²»´æÔÚ!iiiiis+¸ÃÃØÄÜÎÞÏ´Á¶Êý¾Ý»òÒì³£Ö±½ÓÖØÖÃÏ´Á¶½á¹ûÊý¾Ý!s@¸ÃÃØÄÜÏ´Á¶Ë÷ÒýÒì³£! reqWashIndex=%s,attrIDCnt=%s,attrValueCnt=%sRNs(¸ÃÃØÄܲ»¿ÉÏ´Á¶! mnItemID=%s,itemColor=%ssN¸ÃÃØÄÜÏ´Á¶ÊôÐÔÊýÒÑ´ïÉÏÏÞ! mnItemID=%s,itemColor=%s,washOtherIndexList=%s >= %siÿÿÿÿs>ÃØÄÜÏ´Á¶ËùÐèÎïÆ·²»×ã! mnItemID=%s,itemColor=%s,lackItemDict=%sR)s@ÃØÄܲ»´æÔڸôÊÌõÊôÐÔ¿â! itemType=%s,itemColor=%s,reqWashIndex=%ssNÏ´Á¶½á¹û! mnItemID=%s,itemType=%s,itemColor=%s,libID=%s,attrID=%s,attrValue=%sRèswashCnt=%s,washIndexState=%s(/RRšR›R
RÒt    ItemIndext    AttrIndexRR    R0R†R¡RRRŒR{tDef_IudetMinengWashR}R6R7tSetItemDataListByKeyRŽR2RWR5R‹R¥R¢R¨RR+RR,R-tGetWashAttrCnttGetWashCostItemIDtGetWashCostItemCntListRR8R„R…RêRëRïR9R:Rð((ReR³R´RR=RÝRát reqWashIndexR¶R tmnItemt washDataCnttwashCnttwashIndexStatet    washIndext
washAttrIDt washAttrValuet    attrIDCntt attrValueCntRYRZRJRKR»tmnItemIDR>RR\t washAttrCnttwashCostItemIDtwashCostItemCntListtwashOtherIndexListt    attrIndext costItemCntR÷RüRýR@RHRI((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyt OnMinengWash™sÌ                      ''''' 2(   ( ($           &     
    
(cCså|}tj|ƒ}tjd||fƒg}i}tjƒ}xKtjD]@}|j|ƒx*t|jƒƒD]}    |j    |    ƒ}
|t
|
ƒkr¡qtn|
j ƒr³dnd} || krËqtnt ||
ƒ} | dkrìqtn|
j ƒ} tjd| ƒ}|sqtn|jƒ}| stt|ƒdkrAqtn|\}}|j|dƒ|||<t||
dƒ|j|
jƒƒqtWqNWx6|jƒD](\}}tj|||ddtƒqŸW|rát||ƒndS(Ns,ÁìÈ¡ÃØÄܼ¤»îͼ¼ø½±Àø! seasonID=%s,isSuite=%siiRNit
MinengBookt notifyAward(RtToIntDefR    t GetGameDataRtDef_MinengTypetFilterItemByTypetxrangetGetFilterItemCountt GetFilterItemRRRRR,R-tGetBookAwardMoneyR8R.RR5RRÉR!t    GiveMoneyRŽR(RtdataExt    dataExStrRtisSuitet minengIDListtawardMoneyDicttgameDataR>RDtitemDataRR#RR\tbookAwardMoneyt    moneyTypet
moneyValue((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytGetMinengBookAward"sD        cCs£t|ƒ}|siSi}|jƒjtjƒ}xh|D]`}|dks;||jƒkreq;n|j|ƒ}| s;|jƒrq;n|jƒ}|j    ƒ}|j
tj ƒ}    t ||||    ƒ\}
} x>t |
ƒD]0\} } | | }|j| dƒ||| <qßW|jtjƒ}|jtjƒ}xatt||ƒƒD]J} |jtj| ƒ} |jtj| ƒ}|j| dƒ||| <qMWq;W|S(Ni(R‚R„R…R0R†RˆR‰RŠR+Rt GetUserAttrR1Rit    enumerateR.R{R6R7R2RWR}(RR~RtminengAttrDictR“RR R>RRARYRZtaIndexRJRKRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pytCalcHeroMinengAttrJs2    
"c Csptjƒ}g}|dkrNx‡|D]"}|j|ƒ}|j|ƒq%WnZxWtjD]L}|j|ƒx6t|j    ƒƒD]"}|j
|ƒ}|j|ƒq~WqXW|s²dSg}xp|D]h}    t ||    ƒ}
|dkrí|
ríq¿nt j ƒ} |    jƒ| _t ||    ƒ| _|j| ƒq¿W|s5dSt jƒ} || _t| jƒ| _tj|| ƒdS(N(RRR*tGetItemByTypeIDR5RRRRRR RtChPyNetSendPackttagSCMinengBookStateRtMinengIDt    BookStatettagSCMinengBookStateInfot
MinengListR8t    MinengCntt NetPackCommont SendFakePack( RR&R(t syncItemListR$R)R>RDt syncInfoListRt    bookStatet
minengBookt
clientPack((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyRts:           cCsg}xLtjD]A}tjƒ}||_|jtj|ƒ|_|j|ƒqWtj    ƒ}||_
t |j
ƒ|_ t j||ƒdS(N(RRéR4ttagSCMinengPlaceRžRRVtPlusLVR5ttagSCMinengPlaceInfot    PlaceListR8tPlaceCntR;R<(Rt placeInfoListRt    placeInfoRA((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyR˜s          ($RRêR!RÛR,R4R;RñR0R¢RRRqRR RRRR*RLRiR:R‚RRÇR¤R¥R‘RÔRÑRþRR-R2RR(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMineng.pyt<module>sD                               G                 :    ±            :        ,    C    ‰    (    * $