cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
fD$\c@s¹ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZiaiad„Zd„Zd„Zdd„Zed„Zd„Zdd    „Zd
„Zdd „Z!d „Z"d „Z#d„Z$d„Z%ed„Z&d„Z'd„Z(e)d„Z*d„Z+d„Z,d„Z-dd„Z.d„Z/d„Z0gd„Z1d„Z2d„Z3dd„Z4d„Z5d„Z6e)d „Z7d!„Z8de)d"„Z9d#„Z:d$„Z;d%d&„Z<d'„Z=d(„Z>d)„Z?d*„Z@ed+„ZAd,„ZBd-„ZCd.„ZDdS(/iÿÿÿÿNcCs9t|tƒt|ƒt|ƒt|ƒt|ƒdS(N(tNotifyMagicWeapontTruetSycn_MagicWeaponRefineLVtSyncXBXZAwardRecordtSycn_MagicWeaponLVtSycn_MWPrivilegeData(t    curPlayer((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytPlayerMagicWeaponLogin.s  
 
 
 
cCsBx+tjD] }tj|tj|dƒq
Wt|dtƒdS(NitisForce(tChConfigtMWPrivilegeListt PlayerControltNomalDictSetPropertytDef_PDict_MWSoulGotItemStateRR(Rt    privilege((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnDay6scCstS(N(R(R((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytDoMagicWeaponOpen=sicCsM|r&|jtj|ƒ}||kStj|tj|dt|dgƒS(Nid(tNomalDictGetPropertyR    tDef_PDict_MagicWeaponLVt    GameWorldtGetDictValueByBittDef_PDict_MagicWeaponIsActiveR(RtmwIDtlvtcurMWLV((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetIsActiveMagicWeaponFs
cCs.tj|tj|d|t|dgƒdS(Nid(RtSetDictValueByBitR    RR(RRtisActive((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSetMagicWeaponActiveStatePs*c
Csøt|ƒ}|dkrdSt||ƒ}|r5dSt|ƒ}t|ƒ}|jtj|ƒ}||krsdSt||dƒ}t    j
|tj||ƒt j |||||ƒt |ƒ}|jƒ}    ||krô|     rôt||ƒndS(Ni(tGetMWIDBySuccIDtNoneRtGetNeedSuccIDByMWIDtlenRR    tDef_PDict_MagicWeaponExptminR R tDataRecordPacktDR_MagicWeaponExpt GetWMIpyDatat GetNeedItemt
DoActiveMW(
RtsuccIDRRt
succIDListtneedExptcurExptnewExptipyDatat needItemDict((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytActiveMagicWeaponUs&       cCst|ƒsdStj|tj||ƒ|dkr×t||ƒt|ƒ|tjdƒkr„tj    |d|j
ƒ|gƒn@tjddiƒj |dƒ}tj d||j
ƒ|gƒt j||ƒn t||ƒt j|||ƒtj|tjd||gƒtjd||ƒ}|s5dS|jƒ}x*|D]"}t||tjƒjƒƒqHW|jƒ}|r|\}}    }
tj|tjdƒ} d| krÕtj d|j!ƒg|gƒqt"j#|||    |
tjgt$dt$dd    t%i|d
6gƒn|j&ƒ} | |krBtj'd |ƒn| rXt(|| ƒn|j)ƒ} | r}t*|| t%ƒnt+|ƒtj|ƒj,ƒtj-d ||fƒtj.d dƒ}||krßt/j0|ƒnt1j2|ƒt3j4|||ƒt$S(NitUnblockTreasureiit
TreasureUptTreasureWakeUpt showSysInfoteventtMWAwardRs4    TreasureUp.txt ÅäÖÃÒì³£ ²»¿É¼¤»î×ÔÉí·¨±¦ mwID=%ss    ¼¤»î·¨±¦ mwID=%s,mwLV=%st VIPAddAtkEXP(5R%R R R    RRRt IpyGameDataPYtGetFuncEvalCfgt
NotifyCodetGetNametgett WorldNotifyt
EventShellt EventRespons_OnActiveMagicWeaponRtEventRespons_MagicWeaponLVt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_GetMagicWeapontGetIpyGameDatatGetUnLockSkillt    GiveSkillRt GetGameWorldtGetTickt GetItemAwardt
ItemCommontGetItemPackSpacet IPY_GameWorldtrptItemt SendMailByKeytGetIDt ItemControlertGivePlayerItemRtFalset GetActiveMWIDtErrLogR'tGetActiveSoulIDt__DoActiveMWSoultCalcMagicWeaponAttrtRefreshPlayerAttrStatetDebugLogt
GetFuncCfgt    PlayerViptRefreshVIPAttrt GameFuncCommtDoFuncOpenLogicR#tDR_MagicWeaponActive(RRtmwLVtsysMarkt    upIpyDatat skillIDListtskillIDt    itemAwardtitemIDtitemCnttisBindt    packSpacet
activeMWIDt activeSoulIDt vipAddAtkMWID((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR'qsZ   
"!      "/   
  cCstjd|ƒS(NtTreasure(R7RD(R((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR%µscCs5|st|ƒ}|sgSnt|jƒƒ}|S(N(R%tlistt    GetSuccID(RR-R)((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR·s  cCs®ts¡tjƒ}xŒt|jƒƒD]u}|j|ƒ}|jƒ}t||ƒ}xB|D]:}|tkrŒtj    d|t|fƒn|t|<q\Wq%Wntj
|ƒS(Ns'    ´æÔÚÏàͬ³É¾Í¼¤»îÌõ¼þµÄ·¨±¦ %s ºÍ %s( tg_succInfoDictR7tIPY_DatatxrangetGetTreasureCounttGetTreasureByIndexRORRRTR;(R(t
ipyDataMgrtiR-RR)tsuccid((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRÀs    cCsjd}tjƒ}xQt|jƒƒD]=}|j|ƒ}|jƒ}t||ƒr%|d7}q%q%W|S(Nii(R7RqRrRsRtROR(Rt    activeCntRuRvR-t magicWeaponID((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWActiveCntTotalÏs  cCsltjdi|d6ttƒ}|s)dSd}x6|D].}t||jƒƒ}|r6|d7}q6q6W|S(NRmt TreasureTypeii(R7tGetIpyGameDataByConditionRRRRRO(RtmwTypetdataListRxtipydataR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWActiveCntByTypeÚs cCs}tsXiatjƒ}x=t|jƒƒD]&}|j|ƒ}|jƒ}|jƒ}|jƒ}d}xä|D]Ü}t    j
ƒj |dƒ}    |    dkr²t    j d|ƒqqn||    jƒkrÍd}
n
|
d7}
|    jƒ}||
} |    jƒ} | sqqn|    jƒ} |    jƒ}| tkr6it| <n||| gt| | <qqWq+Wntd|jƒƒ}tj|iƒS(Niis.GetPotentialsSkillInfo() hasn't find skill(%s)i(tg_potentialsSkillDictR7RqRrRsRtROt GetPotentialst GetSkillPowerRt GetGameDatatFindSkillByTypeRRYt
GetUseTypetGetLearnSkillReqtGetLearnSkillLVtpowtGetJobR;(RRuRvR-RRct addPowerListtlastSkillUseTypet
curSkillIDt    skillDatatindextaddPowert
preSkillIDt skillUseTypet
preSkilllvtcurskillUseType((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetPotentialsSkillInfoæs:          
 
     "cCsltjƒj|dƒ}|dkr9tjd|ƒdStj||ƒsOdStj||ƒsvtjd|ƒdS|j    ƒ}|j
|ƒr¦tjd|ƒdStjd|ƒ|j |ƒ|rãt j |d|gƒntj||dƒ|jƒtjkrOtjƒj||ƒtj|ƒrOt j |ƒ}|jƒqOnt j |ƒj|dƒdS(Nis#__GiveSkill() hasn't find skill(%s)s4__GiveSkill() learn skill(%s) condition isn't enoughs$__GiveSkill() have learned skill(%s)s#    ¼¤»î·¨±¦ ¼¤»î¼¼ÄÜ skillResID=%st GetSkillInfoi(RR„R…RRYt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDR R9R#tDR_LearnORUPSkillt GetFuncTypeR    t Def_SkillFuncType_FbPassiveSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfft isPassiveAttrRXtRefreshSkillFightPowerEx(Rt
skillResIDttickt    isShowSysRŽt skillManagert
curControl((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRFs2   c, CsÇtjƒj|ƒ}|j}|j}d}tjdƒ}x6|jƒD](\}}    ||    krIt    |ƒ}PqIqIW|dkr…dS|j
ƒ}
|
j |ƒ} | dkr»d} d} n>| j ƒ} | j ƒ} | | jƒkrùtj|dƒdS| d}| s|n    | jƒ}tjƒj||ƒ}|sTtjd||fƒdStj||ƒsjdStjd||ƒ}|s‰dS|jƒ}tj|ƒ|krÎtjd||f|jƒƒdS|jƒ}g}|tjkrÓ|dkrÓ|jƒ}|jƒ}|j ƒ}|dt!|ƒkrJtj"d|ƒdS||d||d||d}}}|j#ƒj$t%j&ƒ}t'j(|||ƒ\}}|sÓtjd    |jƒ|fƒdSn|r t'j)||||t*t+j,i|d
6| d 6ƒntj-||ƒs"dS|jƒ}tj}t.j/d|dƒ}||k}tjd ||||f|ƒ||krØi|d 6|j0ƒd6|d6|d6|d6|d6|d6} t1j2d| |ƒn|s tjd||fƒ|j3tj4dƒdStj|ƒ}!|
j5|ƒt*}"tjdƒ}#t6|ƒ|#kr4|#t6|ƒ\}$}%||$kr4|
j |%ƒs1tjƒj|%dƒ}&|&r.|
j5|%ƒtjd|||%fƒ|!j7|%dƒt8j9ƒj:||%ƒt;j<|&ƒrt=}"ntj>dd|j?ƒ|||%gƒq.q1q4nt*}'t@|ƒ}(||(kr­|(|d \})}*||)kr­tj>dd|j?ƒ|||*gƒtA|ƒt=}'q­n|jƒ}+||+krêtj>dd|j?ƒ||+gƒnt;j<|ƒs|"s|'r|!jBƒn|!j7|jƒ| ƒt8j9ƒj:||jƒƒtjd||fƒt1jC|||ƒ|j3tj4dƒtD|t+jEtF|ƒƒtGjH|tjId|gƒtJjK|ƒdS(Nt SPSkillTypeitUseMagicLost16is¼¼ÄÜÉý¼¶Åä±í´íÎó ID=%s lv=%st TreasureSkills2·¨±¦sp²»×㣬ÎÞ·¨Éý¼¶¼¼ÄÜ£¡needSP=%s,skillTypeID=%ss·¨±¦¼¼ÄÜÉý¼¶£¬costIndex=%s ´íÎós.Éý¼¶·¨±¦¼¼ÄÜ() up skill(%s) item(%s) no enought SkillTypeIDtSkillLVs5canHappen=%s,randValue=%s,initRate=%s,maxRateValue=%stPlayerIDtAccIDt skillTypeIDt    IsSuccesstinitRatet    randValuet maxRateValuetMagicWeaponSkillUps0·¨±¦¼¼ÄÜÉý¼¶£¬curSkillID=%s, maxRate=%s Éý¼¶Ê§°ÜtPotentialSkillLearns=    ·¨±¦¼¼ÄÜÉý¼¶ skillTypeID=%s, upSkillLv=%s, ´¥·¢Ñ§Ï°¼¼ÄÜ%stSkillPotential2itSkillPotential1tSkillPotential3s-    ·¨±¦¼¼ÄÜÉý¼¶ skillTypeID=%s, upSkillLv=%s(LRtGetPlayerManagertGetPlayerByIndexR®t    CostIndexRR7R8titemstintR›Rœt
GetSkillLVt GetFightPowert GetSkillMaxLVR R9t
GetSkillIDR„R…RYR™RšRDt GetNeedPointt    GetZhenQit GetPlayerIDt GetInitRateRBtDef_MaxRateValuet GetNeedItemIDtGetNeedItemCntt
GetMaxRateR tLogtGetItemManagertGetPackRLRMRJtGetItem_FromPack_ByIDt
ReduceItemRRR    tItemDel_MagicWeapontPlayerLostZhenQitrandomtrandinttGetAccIDR#t SendEventPacktSync_MakeItemAnswertDef_mitMagicWeaponSkillUpt LVUPSkillByIDtstrR¥R¡R¢R£R—R¤RR<R:R•RWRXRžtSetMWPrivilegeDatatMWPrivilege_MWSkillUptGetSPSkillTotalLVR@RAtSuccType_MWSkillUpR=tEventRespons_MWSkillUp(,Rt
clientDataR§RR²t    costIndext curSkillTypetSPSkillTypeDictt    skillTypeRcR©tcurSkillt
curSkillLVtbeforeFightPowert    upSkillLvRtupSkillR-tneedSPR´t itemIndexListtneedItemIDListtneedItemCntListt maxRateListt
needItemIDt needItemCnttitemPacktisEnoughtplayerIDR¶Rµt    canHappentdrDictRªtnewSkillIsPassivetpotentialSkillLearnDictt
needSkllLVt
newSkillIDtnewSkillthasUnlockSkillt nextSkillDictt needSkilllvt nextSkillIDtmaxLV((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponSkillUp9sÜ                   
      ,               %       1   %
   %  cCsmd}|jƒ}xTt|jƒƒD]@}|j|ƒ}|jƒtjkrUq%n||jƒ7}q%W|S(Ni(R›Rrt GetSkillCounttGetSkillByIndexRŸR    tDef_SkillFuncType_FbSPSkillRÁ(RttotalLVR©RvRæ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRÞÍs cCsÆtjƒ}|jƒg|_tjƒ}x`t|jƒƒD]L}|j|ƒ}|j    ƒ}t
||ƒ}|szq>n|jj |ƒq>Wt |jƒ|_ |j s¯|rÂtj||ƒndS(N(tChPyNetSendPackttagMCMagicWeaponDatatCleart MagicWeaponIDR7RqRrRsRtRORtappendR tNumt NetPackCommont SendFakePack(RtisLogintpackDataRuRvR-RyR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRØs 
      cCstjd||ƒS(NtTreasureRefine(R7tGetIpyGameDataNotLog(t
treasureIDt
treasureLV((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWRefineIpyDataîsc+
CsëgtdƒD] }i^q }gtdƒD] }i^q,}gtdƒD] }i^qK}gtdƒD] }i^qj}itjd6tjd6tjd6tjd6}i}tjddƒ}tjƒ}    xÕt    |    j
ƒƒD]Á}
|    j |
ƒ} | j ƒ} t || ƒ} i}| jƒ}| rÃ|j|tjƒ}|jtj| ƒ}xrt    |dƒD]`}tjd| |ƒ}|re|jƒ}tj||ƒ|j|dƒ|jƒ||<qeqeW| |kr@|jtjƒ}i}x=tjddiƒjƒD] \}}|||t|ƒ<q    Wtj||ƒntjddiƒj| dƒ}|jtj|ƒ}tjd| |ƒ}|rÃt|| ƒrÃ|jƒ}tj||ƒqÃn|jtj| ƒ}| ra| ratj d    i| d
6t!t"ƒ}|ra|d j#ƒ}|}t$j%|tj| |ƒtj&d | |f|j ƒƒqan|r×tj'd    | |ƒ}|r×|j(ƒ}xC|jƒD]2\} }!t| ƒ} |j| dƒ|!|| <q›Wq×nxÈ|jƒD]º\} }!|dkrt$j)| |!|ƒqä|dkr4t$j)| |!|ƒqä|dkrVt$j)| |!|ƒqä|dkrxt$j)| |!|ƒqätj*d | || |!f|j+ƒƒqäWqáWt$j,|tj-|ƒt$j,|tj.|ƒt$j,|tj/|ƒt$j,|tj0|ƒt1|ƒ}"x¦|"jƒD]˜\}#}$|$\}%}&}'|j2ƒ}(|(j3|#ƒ})|)sYqn|)j4ƒ}*|*|%krwqntj5j|)j6ƒtjƒ}|j|dƒ|'||<qWx1|jƒD]#\}}'|j7tj8||'ƒqÀWdS(Niiiit MWSignDayAttrR1itMagicWeaponOfKingt MagicWeaponFBtMWIDiÿÿÿÿsMÀϺÅÒѼ¤»îµÄħ×å·¨±¦Ã»Óйؿ¨ÊôÐÔ£¬Ö±½ÓÉèÖÃÂú¹Ø¿¨ magicWeaponID=%s,maxLevel=%ss@δ֪·¨±¦ÊôÐÔ, magicWeaponID=%s,treasureType=%s,effID=%s,value=%s(9trangeRBtDef_MFPType_MagicWeapon1tDef_MFPType_MagicWeapon2tDef_MFPType_MagicWeapon3tDef_MFPType_MagicWeapon4R7RZRqRrRsRtRORtGetTreasureTypeR;tDef_MFPType_RoleRR    RRt
GetAddAttrRt AddDictValuet
GetPowerExtDef_PDict_TotalSignNumR8R¿RÀtDef_PDict_CrossPK_SeasonAwardLVtGetIsWearMagicWeapontDef_PDict_MWFBPassLevelR|RRRtGetLevelR R RÍRDt GetAttrDicttCalcAttrDict_TypeRTRÇtSetCalcAttrListValuetDef_CalcAttrFunc_MagicWeapon1tDef_CalcAttrFunc_MagicWeapon2tDef_CalcAttrFunc_MagicWeapon3tDef_CalcAttrFunc_MagicWeapon4R•R›RœRÁtDef_SkillFuncType_MFPTypeRŸtSetDicttDef_PlayerKey_MFPEx(+Rt_t allAttrList1t allAttrList2t allAttrList3t allAttrList4tmwTypeMfpTypeDictt addPowerDictt signDayMWIDRuRvttreasureIpyDataRyRt allAttrDictt treasureTypetmfpTypeRRRbtattrDictt totalSignNumtaddAttrtattidtattnumtseasonIDt kingAwardLVt kingMWIpyDatatfbpasslvt ipyDataListtmaxLevelt    fbipyDatateffIDtvalueRýRdtinfoRþRÿRR©RæRç((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRWòs¦ 
 
         ' (!  &  $        %    cCs||j}|j}tjƒj|ƒ}|jƒ}tjdƒ}||krftjd||ƒdSt    ||ƒ}|s“tjd||ƒdS|j
t j |ƒd}    t ||    ƒ}
|
sàtjd||    f|ƒdS|j
t jƒ} | |
jƒkr.tjd||    | |
jƒf|ƒdS|
jƒ} xB|D]:} |j
t j | ƒ| krAtjd| |ƒdSqAW|
jƒ}d}|rtjdd    ƒ}||krÍtjd
||ƒdStjƒj|ƒ}|sìdS|jdƒjdƒ}d||<n|jƒjtjƒ}tj||ƒ\}}|rntjd ||    |||f|ƒdStj|||t jƒ|
jƒ|}tj |ƒrEt!j"|t j ||    ƒ|
j#ƒ}|råt$|||ƒnt%|ƒt!j!|ƒj&ƒt'||ƒ|j(t)j*t j+ƒtjd ||    |f|ƒn3|j(t)j*t j,ƒtjd ||    |f|ƒdS(NtTreasureUpRateItems¸Ã·¨±¦²»ÄÜÖýÁ¶-·¨±¦ID:%ss·¨±¦Î´¼¤»î£¬²»ÄÜÖýÁ¶-·¨±¦ID:%sis/·¨±¦ÒÑÂú¼¶£¬²»ÄÜÖýÁ¶-·¨±¦ID:%s, nextRefineLv=%ssUÁ¶µ¤Â¯µÈ¼¶²»×㣬ÎÞ·¨ÖýÁ¶·¨±¦-·¨±¦ID:%s, nextRefineLv=%s,alchemyLV=%s,NeedAlchemyLV=%ss:ËùÓз¨±¦Ðè´ïµ½¶ÔÓ¦µÈ¼¶ºó²Å¿É¼ÌÐøÖýÁ¶! needAllTreasureLV=%siis+¸ÃÎïÆ·IDÎÞ·¨ÓÃÓÚÌáÉý·¨±¦ÖýÁ¶¸ÅÂÊ£¡itemID=%ss[·¨±¦ÖýÁ¶²ÄÁϲ»×㣡·¨±¦ID:%s, nextRefineLv=%s,needItemDict=%s,lackItemDict=%s,hasItemDict=%ss5·¨±¦ÖýÁ¶³É¹¦! ·¨±¦ID:%s, upRefineLv=%s,successRate=%ss7·¨±¦ÖýÁ¶Ê§°Ü! ·¨±¦ID:%s, nextRefineLv=%s,successRate=%s(-Rt
MaterialIDRR¼R½RÇR7R8RYRRR    tDef_PDict_MagicWeaponRefineLVRtDef_PDict_AlchemyLVtGetNeedAlchemyLVtGetNeedAllTreasureLVt GetMaterialRTR„tGetItemByTypeIDtGetEffectByIndextGetEffectValueRÎRÏRLRMRJtGetCostItemIndexListt DelCostItemRÒtGetSuccessRatet    CanHappenR R t GetOpenSkillRFRWRXRRØRBtDef_mitMWUpLeveltDef_ComposeState_SucesstDef_ComposeState_Fail(Rt
clientPackR§Rt
materialIDRRôtallTreasureItemIDListRt nextRefineLvtmwRefineIpyDatat    alchemyLVtneedAllTreasureLVttIDR.t    fujiaRatettreasureUpRateItemt rateItemDataRòt lackItemDictt delInfoDictt successRateRd((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytPlayerMWRefinefsx                        
  cCsÏ|dkrtjdƒ}n    |g}tjƒ}g|_x^|D]V}|jtj|ƒ}|skqCntjƒ}||_    ||_
|jj |ƒqCWt |jƒ|_ |j rËtj||ƒndS(NiÿÿÿÿRM(R7R8RttagMCMagicWeaponMsgtMWInfoRR    ROttagMCMagicWeaponLVRtMWLVR
R tCountR R (RRt needCalListtsendPackt
mwRefineLvtpack((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR±s"                        cCs›tjƒj|ƒ}|j}t||ƒ}|rHtjd|ƒdSt|ƒ}|jtj    |ƒ}|t
|ƒkrštjd|||fƒdSt |ƒ}|j ƒ}    |    r.|j ƒjtjƒ}
tj|    |
tƒ\} } | rtjd||    | | fƒdStj||
| tjƒn\tjdi|d6ttƒ} | sWdSx0| D](}tj|tj|jƒƒs^dSq^Wt||ƒdS(Ns    ¸Ã·¨±¦ÒÑ¿ªÆô£¡ mwID=%ss=    ¸Ã·¨±¦ËùÐè³É¾ÍδÍê³É£¡ mwID=%s£¬ curExp=%s, succIDList=%ssM    ¿ªÆô·¨±¦ ²ÄÁϲ»×㣡mwID=%s,needItemDict=%s,lackItemDict=%s,delInfoDict=%stXBXZR(RR¼R½RRRYRRR    R!R R%R&RÎRÏRLRMRJRWRRRXRÒR7R|RRtDef_PDict_XBXZAwardRecordROR'(RRáR§RRRR)R+R-R.RòRjRkRG((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnOpenMagicWeaponÍs:             cCstjd|ƒ}|sdStj|tj|ƒrItjd|ƒdS|jƒ}|jƒ}d}|dkr…t    j
|ƒ}n6|dkr¯|j ƒj t jƒ}tjdƒ}xt|jƒƒD]Ý}|j|ƒ}    |    jƒròqËntj|    ƒ}
|    jƒ} |    jƒ} |    jƒ} xv|D]n\}}}}||kr`| |kr`d}Pn||kr,|
|kr,| |kr,| |kr,d}Pq,q,W|rËPqËqËWn |dkrÍtj|ƒ}nî|dkr·i}|j ƒj t jƒ}xœt|jƒƒD]ˆ}|j|ƒ}    |    jƒr1q
ntj|||    ƒ}xI|D]A\}}|j|dƒ|krM|j|dƒd||<qMqMWq
W|r®t|jƒƒnd}ndS||jƒkrñtjd    |||jƒfƒdS|j ƒ}|rGtj!|t j"ƒ}t#|ƒ}||krGt    j$|d
ƒdSntj%|tj|dƒ|r¢x9|D].\} }t&j'|| |dt j"gt(ƒqmWnx-|j)ƒD]\}}t    j*|||ƒq¯Wt+||gƒt,j-|t.j/d|j0ƒgƒtjd ||fƒdS( NRws"    Ïɱ¦Ñ°Ö÷Áì½± ÒÑÁìÈ¡£¡ index=%siiitSamboSpecialUnlockiis6    Ïɱ¦Ñ°Ö÷Áì½± , Ìõ¼þ²»Âú×ã ID=%s, cnt=%s,NeedCnt=%stGeRen_chenxin_998371s!    Ïɱ¦Ñ°Ö÷Áì½±OK, ID=%s, cnt=%s(1R7RDRRR    RxRYtGetTypet GetConditionR t
GetFuncDefRÎRÏRLtrptEquipR8RrtGetCounttGetAttIsEmptyRJtGetItemClassLVt GetItemColortGetItemQualityt GetItemTypeIDtChEquiptGetTotalEquipStarstGetSuiteInfoByPlaceR;tmaxtvaluest
GetNeedCntt GetAwardItemRKRMR R9RRPRQRtGetMoneyt    GiveMoneyRR@RARBt SuccType_XBXZtGetMWID(RRR-tcurTypet conditionListtcntt playerEquipRzt
equipIndextcurEquipt
curClassLVt    itemColort itemQualityRftclasslvtcolortstartplacet suiteCntDictt    suiteInfotsuitelvt    suiteTypet awardItemListRit    needSpaceRgt    moneyTypeRK((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnGetXBXZAwardös„        0    %!    )"c Cs&|r1g}xq|D]}|j|dƒqWnOtjƒ}|jƒ}|sSdS|j|dƒjƒ}t|ddƒ}tjƒ}|j    ƒg|_
x^|D]V}|j t j |ƒ}    |    sÎq¦ntjƒ}
||
_|    |
_|j
j|
ƒq¦Wt|j
ƒ|_tj||ƒdS(Nii(R
R7Rqt GetXBXZCounttGetXBXZByIndexRORRttagMCXBXZAwardRecordListRt
RecordListRR    RxttagMCXBXZAwardRecordt RecordIndextRecordR t    RecordCntR R ( Rt
syncIDListtrecordIndexListR(RutsuccCntt    maxSuccidt succFARPackRvt awardRecordt
recordInfo((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRQs0    
              c
CsÒtjƒj|ƒ}|j}|jtj|ƒ}|d}tjd||ƒ}|s]dS|j    ƒ}|jtj
|ƒ}    |    |kr tj d|ƒdSt j |tj
||    |ƒt|||ƒdS(NiR1s·¨±¦Éý¼¶¾­Ñé²»×ã%s(RR¼R½RRR    RR7RDt
GetNeedExptDef_PDict_MagicWeaponUpExpRYR R R'(
RRáR§RRRtnextMWLVt nextIpyDataR*tcurUpExp((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponUpws    
  cCs¢tjd||fƒ|jtj|ƒ}tj|tj|||ƒt||ƒt|ƒ}|rv|j    ƒnd}|dkržt
j |t j ƒndS(Ns"Ôö¼Ó·¨±¦Éý¼¶¾­Ñé mwID=%s,addExp=%sii(RRYRR    R·R R RR%RtPlayerActivitytAddDailyActionFinishCntRBtDailyActionID_MagicWeapon(RRtaddExpRºR-R}((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytAddMagicWeaponUpExp‹s   cCs®|dkrft}g}tjƒ}xNt|jƒƒD](}|j|ƒ}|j|jƒƒq7Wnt}|g}t    j
ƒ}g|_ xï|D]ç}|j t j|ƒ}|j t j|ƒ}    t||ƒ}
|j t j|ƒ} t||ƒ} |r&| r&|     r&|
r&| r&| r&q‘nt    jƒ} || _|| _|    | _|
| _| | _| | _|j j| ƒq‘Wt|j ƒ|_|jrªtj||ƒndS(Niÿÿÿÿ(RR7RqRrRsRtR
RORRRttagMCMagicWeaponLVInfotInfoListRR    RR·tGetIsClickMagicWeaponR&R%ttagMCMagicWeaponInfoRtLVtExptStatetFBPassLVtIsWearR RrR R (RRtisAllRsRuRvR-RttmwLvRºtstateRÈtisWearRv((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR˜s>            )                             cCs3t||ƒsdStjd|ƒ}|s/dS|S(NitTreasurePrivilege(tGetIsActiveMWSoulR7R(RRtprivilegeIpyData((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilege»s c Csi}tjd|ƒ}|s"|S|jƒ}|s=i}n|jƒ}|tjkrjtj|ƒ}n„d}|r½|jtj    |ƒ}|j
ƒ}|r°t ||ƒ}n||}nx.|j ƒD] \}    }
|
||t |    ƒ<qÊWtjd||f|jƒƒ|S(NRÎis2    »ñÈ¡·¨±¦ÌØÈ¨Ôö¼ÓµÄÊôÐÔ privilege=%s,addAttr=%s(R7RR tGetSingleValueR    tMWPrivilege_EquipPlusR‡tCalcAllEquipAllPlusLVAttrRtDef_PDict_MWSoulGotValuet GetMaxValueR"R¿RÀRRYRO( RRR@RÐtattrInfot singleValuetmultipletgotValuetmaxValueRARB((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegeAttrÄs*         c Cs:tjd|ƒ}|sdS|jtj|ƒ}|jƒ}|r“||r“|||}tj|tj||ƒtj    d|||fƒn|jtj
|ƒ}|r¹||n|}    |j ƒ}
|
rãt |
|    ƒ}    n||    krtj|tj
||    ƒt ||ƒntj    d||||    fƒdS(NRÎs[Íæ¼Ò·¨±¦Ö®»êÒÑÁìµÄÊý¾Ý²»Êǵ¥´Î½ø¶ÈµÄ±¶Êý£¬ÐÞ¸´! privilege=%s,curGotValue=%s, fixGotValue=%ss/    privilege=%s,data=%s,curValue=%s,newData=%s(R7RRR    RÕRÒR R RRÍtDef_PDict_MWSoulCurValueRÖR"R( RRtdatatisAddRÐt curGotValueRØt fixGotValuetcurValuetnewDataRÛ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRÜàs&   cCsJt||ƒ}|s*tjd|ƒdS|jƒ}|jƒ}|r.|jtj|ƒ}|jtj|ƒ}||kr„dS|||}|dkr¹|r¹||kr¹d}n|dkrÉdS|ræt    ||||ƒn |||}t
j |tj||ƒt |ƒt
j
|ƒj ƒn|jƒ}    |    r9|jtj|ƒrktjd|ƒdSt|    ƒ}
tj|tj|
ƒ} |
| kr¸t
j|dtjgƒdSt
j |tj|dƒxd|    D]Y\} } }tj|t| ƒt| ƒ|tjgtdtddti|d    6gƒqÙWnt||ƒdS(
Ns;ÁìÈ¡·¨±¦Ö®»ê½±Àø£¬¶ÔÓ¦·¨±¦Ö®»êδ¼¤»î£¬»òδÅäÖàprivilege=%siis,    ÁìÈ¡·¨±¦Ö®»ê½±Àø ½ñÈÕÒÑÁìÈ¡ privilege=%stGeRen_chenxin_676165R3R4t MWSoulAwardR(RÑRRYRÒRÖRR    RÝRÕR"R R tCalcMagicWeaponSoulAttrRXRIR RÍR RJRKRLRMR9RPRQRÀRRRR(RRR-RØRÛRâRÚt    canGetCntt    updGotCnttitemListR¤RititemidR”Rh((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWSoulAwardøsH        +
   3 cCs2|dkrtj}n    |g}tjƒ}g|_xÇ|D]¿}tjƒ}|jtj|ƒ|_|jtj    |ƒ|_
|jtj |ƒ|_ t ||ƒ|_| rãt|j|j
|j |jgƒdkrãq=n||_|jj|ƒq=Wt|jƒ|_|jr.tj||ƒndS(Niÿÿÿÿi(R    R
RttagMCMWPrivilegeDataInfoRÂttagMCMWPrivilegeDataRRÝtCurValueRÕtGotValueR tItemAwardStateRÏRÇRŠtPriIDR
R RrR R (Rt privilegeIDRRsRttpriIDRv((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR%s&             1        cCsOtjƒj|ƒ}|j}t||ƒr1dSt||ƒt||ƒdS(N(RR¼R½RRÃtSetMagicWeaponClickStateR(RRáR§RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSaveMagicWeaponStateDs      cCs'tj|tj|dt|dgƒS(Nid(RRR    tDef_PDict_MagicWeaponIsClickR(RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRÃMsicCs.tj|tj|d|t|dgƒdS(Nid(RRR    RöR(RRRÌ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRôQs*c    Csåtjƒj|ƒ}|j}t||ƒs1dS|j}|r§tjddƒ}d}xLtjddiƒD]2}||kr„dSt    ||ƒrn|d7}qnqnWnt
|||ƒt |ƒt j |ƒj ƒt||ƒdS(NRiii(RR¼R½RRRÇR7RZR8R%tSetMagicWeaponWearStateRWR RXR(    RRáR§RRRÍtmaxCntt
hasWearCnttmid((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnWearMagicWeapon_s$         
 cCs'tj|tj|dt|dgƒS(Nid(RRR    tDef_PDict_MagicWeaponIsWearR(RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR%tscCs.tj|tj|d|t|dgƒdS(Nid(RRR    RüR(RRRÌ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR÷xs*cCs¹tjƒj|ƒ}|j}tjd|ƒ}|s:dSt||ƒr^tjd|ƒdS|jƒ}x;|D]3}t    j
||ƒsqtj d||fƒdSqqWt ||ƒdS(NRÎs$    ¸Ã·¨±¦Ö®»êÒѾ­¼¤»î£¡£¡ soulID=%ss0    ¼¤»î·¨±¦Ö®»ê ³É¾ÍδÍê³É  soulID=%s,succID=%s( RR¼R½tIDR7RDRÏRÍtGetSuccessListR@t GetSuccHasGotRYRV(RRáR§RtsoulIDR-tsuccListR(((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnActiveMWSoul…s       cCsctj|tj|dtƒtj||ƒt|ƒ|rRtj|ƒj    ƒnt
||ƒdS(Ni( RRR    tDef_PDict_MWSoulActiveStateRR=tEventRespons_MWSoulActiveRæR RXR(RRt isRefreshAttr((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRV˜s
 cCstj|tj|ƒS(N(RRR    R(RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRϦsc CsçgtdƒD] }i^q }i}tjƒ}xit|jƒƒD]U}|j|ƒ}|jƒ}t||ƒszqDnt||ƒ}t    j
||ƒqDWx-|j ƒD]\}    }
t j |    |
|ƒqªWt j|tj|ƒdS(Ni(RR7RqRrtGetTreasurePrivilegeCounttGetTreasurePrivilegeByIndextGetPrivilegeIDRÏRÜRR!R¿R R)R*R    t Def_CalcAttrFunc_MagicWeaponSoul( RR2t allAttrListR;tipyMgrRvR-RR>tattrIDt    attrValue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRæªs  cCs{tjd||f|jƒƒtj|tj||ƒt|ƒtj|ƒjƒt    ||ƒt
j |||ƒdS(Ns¸üйؿ¨ mwID=%s,level=%s( RRÍROR R R    R&RWRXRR=t EventRespons_MagicWeaponFBPassLV(RRtpassLV((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytUptateMWFBPasslv¼s 
 (ERJRBR R#RR RLR—RR    R7R™R]R@R=R¡RPR¼R‡R[RÔRpRRRRRRRR/R'R%RRRRzR€R•RFRRÞRRRRRWRmRRyR¦RR»RÀRRÑRÜRÜRëRRõRÃRôRûR%R÷RRVRÏRæR(((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>s‚                                     
     D                           * )    ”             t    K     )    [ &         #                 -