xdh
2018-08-23 6fd9f586abb928db470b8d318a19d4cb8b8d4593
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
Ú~[c@stddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZiaiad„Zd„Zd„Zdd„Zed„Zd„Zdd    „Zd
„Zdd „Z d „Z!d „Z"d„Z#d„Z$ed„Z%d„Z&e'd„Z(d„Z)d„Z*d„Z+dd„Z,d„Z-d„Z.gd„Z/d„Z0d„Z1dd„Z2d„Z3d„Z4e'd„Z5d „Z6de'd!„Z7d"„Z8d#„Z9d$d%„Z:d&„Z;d'„Z<d(„Z=dS()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.pytOnDay4scCstS(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.pytGetIsActiveMagicWeaponDs
cCs.tj|tj|d|t|dgƒdS(Nid(RtSetDictValueByBitR    RR(RRtisActive((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSetMagicWeaponActiveStateNs*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.pytActiveMagicWeaponSs&       c Cs½t|ƒsdStj|tj||ƒ|dkr¶t||ƒt|ƒ|tjdƒkr„tj    |d|j
ƒ|gƒntj dd|j
ƒ|gƒt j ||ƒn t||ƒt j|||ƒtj|tjd||gƒtjd||ƒ}|sdS|jƒ}x*|D]"}t||tjƒjƒƒq'W|jƒ}|rõ|\}}}    tj|tjdƒ}
d|
kr´tjd|j ƒg|gƒqõt!j"||||    tjgt#dt#ddt$i|d    6gƒn|j%ƒ} | |kr!tj&d
|ƒn| r7t'|| ƒnt(|ƒtj|ƒj)ƒtj*d ||fƒtj+d d ƒ} || kr™t,j-|ƒnt.j/|ƒt0j1|||ƒt#S(NitUnblockTreasureit
TreasureUptTreasureWakeUpt showSysInfoteventtMWAwardRs4    TreasureUp.txt ÅäÖÃÒì³£ ²»¿É¼¤»î×ÔÉí·¨±¦ mwID=%ss    ¼¤»î·¨±¦ mwID=%s,mwLV=%st VIPAddAtkEXPi(2R%R R R    RRRt IpyGameDataPYtGetFuncEvalCfgt
NotifyCodetGetNamet WorldNotifyt
EventShellt EventRespons_OnActiveMagicWeaponRtEventRespons_MagicWeaponLVt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_GetMagicWeapontGetIpyGameDatatGetUnLockSkillt    GiveSkillRt GetGameWorldtGetTickt GetItemAwardt
ItemCommontGetItemPackSpacet IPY_GameWorldtrptItemt SendMailByKeytGetIDt ItemControlertGivePlayerItemRtFalset GetActiveMWIDtErrLogR'tCalcMagicWeaponAttrtRefreshPlayerAttrStatetDebugLogt
GetFuncCfgt    PlayerViptRefreshVIPAttrt GameFuncCommtDoFuncOpenLogicR#tDR_MagicWeaponActive( RRtmwLVt    upIpyDatat skillIDListtskillIDt    itemAwardtitemIDtitemCnttisBindt    packSpacet
activeMWIDt vipAddAtkMWID((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR'osR   
"      "/  
  cCstjd|ƒS(NtTreasure(R7RC(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_DatatxrangetGetTreasureCounttGetTreasureByIndexRNRRRStget(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(R7RlRmRnRoRNR(Rt    activeCntRqRrR-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(NRht TreasureTypeii(R7tGetIpyGameDataByConditionRRQRRN(RtmwTypetdataListRttipydataR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWActiveCntByTypeÒs cCsÀts°iatjƒ}x•t|jƒƒD]~}|j|ƒ}|jƒ}|jƒ}xNt|ƒD]@\}}|dt    |ƒkr•||dnd}|t|<qeWq+Wntj
|dƒS(Nii( tg_potentialsSkillDictR7RlRmRnRoRNt GetPotentialst    enumerateR Rp(R`RqRrR-RR_t
curSkillIDt nextSkillID((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetPotentialsNextSkillIDÞ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(Rt GetGameDatatFindSkillByTypeRRVt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDR R9R#tDR_LearnORUPSkillt GetFuncTypeR    t Def_SkillFuncType_FbPassiveSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfft isPassiveAttrRUtRefreshSkillFightPowerEx(Rt
skillResIDttickt    isShowSyst    skillDatat skillManagert
curControl((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyREòs2   c% Cstjƒ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"dStj.|ƒs_tjd ||fƒ|j/tj0dƒdStj|ƒ}|
j1|ƒt*}tjd ƒ}t2|ƒ|kr‡|t2|ƒ\}} ||kr‡|
j | ƒs„tjƒj| dƒ}!|!r|
j1| ƒtjd||| fƒ|j3| dƒt4j5ƒj6|| ƒt7j8|!ƒrVt9}ntj:dd|j;ƒ||| gƒqq„q‡nt7j8|ƒsœ|r©|j<ƒn|j3|jƒ| ƒt4j5ƒj6||jƒƒt=|ƒ}"|"rZtjƒj|"dƒ}#|#rZ|#j>ƒ|krZ||#j?ƒkrZtj:dd|j;ƒ|||"gƒqZn|jƒ}$||$kr—tj:dd|j;ƒ||$gƒntjd||fƒt@jA|||ƒ|j/tj0dƒtB|t+jCdt9ƒtDjE|tjFd|gƒtGjH|ƒdS(Nt SPSkillTypeitUseMagicLost16is¼¼ÄÜÉý¼¶Åä±í´íÎó ID=%s lv=%st TreasureSkills2·¨±¦sp²»×㣬ÎÞ·¨Éý¼¶¼¼ÄÜ£¡needSP=%s,skillTypeID=%ss·¨±¦¼¼ÄÜÉý¼¶£¬costIndex=%s ´íÎós.Éý¼¶·¨±¦¼¼ÄÜ() up skill(%s) item(%s) no enought SkillTypeIDtSkillLVs0·¨±¦¼¼ÄÜÉý¼¶£¬curSkillID=%s, maxRate=%s Éý¼¶Ê§°ÜtPotentialSkillLearns=    ·¨±¦¼¼ÄÜÉý¼¶ skillTypeID=%s, upSkillLv=%s, ´¥·¢Ñ§Ï°¼¼ÄÜ%stSkillPotential2tSkillPotential1tSkillPotential3s-    ·¨±¦¼¼ÄÜÉý¼¶ skillTypeID=%s, upSkillLv=%s(IRtGetPlayerManagertGetPlayerByIndexRžt    CostIndexRR7R8titemstintRŠR‹t
GetSkillLVt GetFightPowert GetSkillMaxLVR R9t
GetSkillIDR„R…RVRˆR‰RCt GetNeedPointt    GetZhenQit GetPlayerIDt GetInitRateRAtDef_MaxRateValuet GetNeedItemIDtGetNeedItemCntt
GetMaxRateR tLogtGetItemManagertGetPackRKRLRItGetItem_FromPack_ByIDt
ReduceItemRQR    tItemDel_MagicWeapontPlayerLostZhenQit    CanHappentSync_MakeItemAnswertDef_mitMagicWeaponSkillUpt LVUPSkillByIDtstrR”RR‘R’R†R“RR;R:RUR‚tGetLearnSkillReqtGetLearnSkillLVR#RtSetMWPrivilegeDatatMWPrivilege_MWSkillUpR?R@tSuccType_MWSkillUpR<tEventRespons_MWSkillUp(%tindext
clientDataR–Rt skillTypeIDt    costIndext curSkillTypetSPSkillTypeDictt    skillTypeR_R™tcurSkillt
curSkillLVtbeforeFightPowert    upSkillLvR€tupSkillR-tneedSPtinitRatet itemIndexListtneedItemIDListtneedItemCntListt maxRateListt
needItemIDt needItemCnttitemPacktisEnoughRštnewSkillIsPassivetpotentialSkillLearnDictt
needSkllLVt
newSkillIDtnewSkillRt    nextSkilltmaxLV((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponSkillUps                   
      ,           1  *+  % 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 MagicWeaponIDR7RlRmRnRoRNRtappendR tNumt NetPackCommont SendFakePack(RtisLogintpackDataRqRrR-RuR((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¸scCs±gtdƒD] }i^q }gtdƒD] }i^q,}gtdƒD] }i^qK}tjddƒ}tjƒ}xít|jƒƒD]Ù}|j|ƒ}|jƒ}    t||    ƒ}
|
sÊqŽni} |j    t
j |    ƒ} xRt| dƒD]@} tj d|    | ƒ}|r÷|j ƒ}tj| |ƒq÷q÷W|    |kr²|j    t
jƒ}i}x=tjddiƒjƒD] \}}|||t|ƒ<q{Wtj| |ƒn|jƒ}x¦| jƒD]˜\}}|dkrùtj|||ƒqË|dkrtj|||ƒqË|dkr=tj|||ƒqËtjd|    |||f|jƒƒqËWqŽWtj|t
j|ƒtj|t
j|ƒtj|t
j|ƒdS(Nit MWSignDayAttriiR1is@δ֪·¨±¦ÊôÐÔ, magicWeaponID=%s,treasureType=%s,effID=%s,value=%s(trangeR7RWRlRmRnRoRNRRR    RRðt
GetAddAttrRt AddDictValuetDef_PDict_TotalSignNumR8R§R¨tGetTreasureTypeR tCalcAttrDict_TypeRSR¯tSetCalcAttrListValuetDef_CalcAttrFunc_MagicWeapon1tDef_CalcAttrFunc_MagicWeapon2tDef_CalcAttrFunc_MagicWeapon3(Rt_t allAttrList1t allAttrList2t allAttrList3t signDayMWIDRqRrttreasureIpyDataRuRt allAttrDictRRR^tattrDictt totalSignNumtaddAttrtattidtattnumt treasureTypeteffIDtvalue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRT¼sL     (        %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(-tMWIDt
MaterialIDRR¤R¥R¯R7R8RVRRR    tDef_PDict_MagicWeaponRefineLVRótDef_PDict_AlchemyLVtGetNeedAlchemyLVtGetNeedAllTreasureLVt GetMaterialRSR„tGetItemByTypeIDtGetEffectByIndextGetEffectValueR¶R·RKRLRItGetCostItemIndexListt DelCostItemRºtGetSuccessRateR¼R R t GetOpenSkillRERTRURR½RAtDef_mitMWUpLeveltDef_ComposeState_SucesstDef_ComposeState_Fail(RÇt
clientPackR–Rt
materialIDRtplayerIDtallTreasureItemIDListRt nextRefineLvtmwRefineIpyDatat    alchemyLVtneedAllTreasureLVttIDR.t    fujiaRatettreasureUpRateItemt rateItemDataRÛt lackItemDictt delInfoDictt successRateR`((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytPlayerMWRefineûsx                        
  cCsÏ|dkrtjdƒ}n    |g}tjƒ}g|_x^|D]V}|jtj|ƒ}|skqCntjƒ}||_    ||_
|jj |ƒqCWt |jƒ|_ |j rËtj||ƒndS(NiÿÿÿÿR(R7R8RåttagMCMagicWeaponMsgtMWInfoRR    RttagMCMagicWeaponLVRtMWLVRéR tCountRëRì(RRt needCalListtsendPackt
mwRefineLvtpack((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRFs"                        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¥RRRVRRR    R!R R%R&R¶R·RKRLRIRRQRRºR7RxRRtDef_PDict_XBXZAwardRecordRNR'(RÇRÈR–RRRR)R+R-R.RÛR,R-t ipyDataList((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnOpenMagicWeaponbs:             cCsâtjd|ƒ}|sdStj|tj|ƒrItjd|ƒdS|jƒ}|jƒ}d}|dkr…t    j
|ƒ}nù|dkrr|j ƒj t jƒ}xÒt|jƒƒD]¯}|j|ƒ}|jƒrãq¼ntj|ƒ}    |jƒ}
|jƒ} xT|D]L\} } }}||kr|    | kr|
| kr| |krd}PqqW|r¼Pq¼q¼Wn |dkrtj|ƒ}nî|dkrzi}|j ƒj t jƒ}xœt|jƒƒD]ˆ}|j|ƒ}|jƒrôqÍntj|||ƒ}xI|D]A\}}|j|dƒ|kr|j|dƒd||<qqWqÍW|rqt|jƒƒnd}ndS||jƒkr´tjd|||jƒfƒdS|jƒ}|r
tj|t j ƒ}t!|ƒ}||kr
t    j"|d    ƒdSntj#|tj|dƒ|rex9|D].\}}t$j%|||dt j gt&ƒq0Wnx-|j'ƒD]\}}t    j(|||ƒqrWt)||gƒt*j+|t,j-d|j.ƒgƒtjd
||fƒdS( NR9s"    Ïɱ¦Ñ°Ö÷Áì½± ÒÑÁìÈ¡£¡ index=%siiiiis6    Ïɱ¦Ñ°Ö÷Áì½± , Ìõ¼þ²»Âú×ã ID=%s, cnt=%s,NeedCnt=%stGeRen_chenxin_998371s!    Ïɱ¦Ñ°Ö÷Áì½±OK, ID=%s, cnt=%s(/R7RCRRR    R:RVtGetTypet GetConditionR t
GetFuncDefR¶R·RKtrptEquipRmtGetCounttGetAttIsEmptyRItGetItemClassLVt GetItemColortGetItemQualitytChEquiptGetTotalEquipStarstGetSuiteInfoByPlaceRptmaxtvaluest
GetNeedCntt GetAwardItemRJRLR R9RRORPRtGetMoneyt    GiveMoneyRR?R@RAt SuccType_XBXZtGetMWID(RRÇR-tcurTypet conditionListtcntt playerEquipt
equipIndextcurEquipt
curClassLVt    itemColort itemQualitytclasslvtcolortstartplacet suiteCntDictt    suiteInfotsuitelvt    suiteTypet awardItemListRet    needSpaceRbRct    moneyTypeR ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnGetXBXZAward‹sz       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éR7Rlt GetXBXZCounttGetSuccessByIndexRNRõRåttagMCXBXZAwardRecordListRçt
RecordListRR    R:ttagMCXBXZAwardRecordt RecordIndextRecordR t    RecordCntRëRì( Rt
syncIDListtrecordIndexListR(RqtsuccCntt    maxSuccidt succFARPackRrt awardRecordt
recordInfo((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRás0    
              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    RR7RCt
GetNeedExptDef_PDict_MagicWeaponUpExpRVR R R'(
RÇRÈR–RRRtnextMWLVt nextIpyDataR*tcurUpExp((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponUps    
  cCs¢tjd||fƒ|jtj|ƒ}tj|tj|||ƒt||ƒt|ƒ}|rv|j    ƒnd}|dkržt
j |t j ƒndS(Ns"Ôö¼Ó·¨±¦Éý¼¶¾­Ñé mwID=%s,addExp=%sii(RRVRR    RxR R RR%RùtPlayerActivitytAddDailyActionFinishCntRAtDailyActionID_MagicWeapon(RRtaddExpR{R-Ry((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytAddMagicWeaponUpExps   c CsW|dkr`g}tjƒ}xHt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn    |g}tjƒ}g|_    x¤|D]œ}|j
t j |ƒ}|j
t j |ƒ}t||ƒ}    | rá| rá|     ráq…ntjƒ}
||
_||
_||
_|    |
_|j    j|
ƒq…Wt|j    ƒ|_|jrStj||ƒndS(Niÿÿÿÿ(R7RlRmRnRoRéRNRåttagMCMagicWeaponLVInfotInfoListRR    RRxtGetIsClickMagicWeaponttagMCMagicWeaponInfoRtLVtExptStateR R4RëRì( RRR5RqRrR-R6tmwLvR{tstateR8((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR(s2                                 cCs3t||ƒsdStjd|ƒ}|s/dS|S(NitTreasurePrivilege(tGetIsActiveMWSoulR7Rð(RRtprivilegeIpyData((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegeEs c
Csîi}tjd|ƒ}|s"|S|jƒ}|s=i}n|jƒ}|tjkrjtj|ƒ}n`d}|r™|jtj    |ƒ}||}nx.|j
ƒD] \}}    |    ||t |ƒ<q¦Wt j d||f|jƒƒ|S(NR‹is2    »ñÈ¡·¨±¦ÌØÈ¨Ôö¼ÓµÄÊôÐÔ privilege=%s,addAttr=%s(R7RðRötGetSingleValueR    tMWPrivilege_EquipPlusRHtCalcAllEquipAllPlusLVAttrRtDef_PDict_MWSoulGotValueR§R¨RRVRN(
RRRRtattrInfot singleValuetmultipletgotValueR    R
((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegeAttrNs$        cCsÃtjd|ƒ}|sdS|jtj|ƒ}|rB||n|}|jƒ}|rlt||ƒ}n||kr¢tj|tj||ƒt    ||ƒnt
j d||||fƒdS(NR‹s/    privilege=%s,data=%s,curValue=%s,newData=%s( R7RðRR    tDef_PDict_MWSoulCurValuet GetMaxValueR"R R RRRµ(RRtdatatisAddRtcurValuetnewDatatmaxValue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRÃgs  c Csät||ƒ}|s*tjd|ƒdS|jƒ}|rÈ|jtj|ƒ}|jtj|ƒ}|||}|dkr†dStj    |tj||||ƒt
|ƒtj|ƒj ƒn|j ƒ}|rÓ|jtj |ƒrtjd|ƒdSt|ƒ}tj|tj|ƒ}    ||    krRtj|dtjgƒdStj    |tj |dƒxd|D]Y\}
} } tj|t|
ƒt| ƒ| tjgtdtddti|d    6gƒqsWnt||ƒdS(
Ns;ÁìÈ¡·¨±¦Ö®»ê½±Àø£¬¶ÔÓ¦·¨±¦Ö®»êδ¼¤»î£¬»òδÅäÖàprivilege=%sis,    ÁìÈ¡·¨±¦Ö®»ê½±Àø ½ñÈÕÒÑÁìÈ¡ privilege=%stGeRen_chenxin_676165iR3R4t MWSoulAwardR(RŽRRVRRR    R˜R’R R tCalcMagicWeaponSoulAttrRURHR RµR RIRJRKRLR9RORPR¨RRQR( RRR-R”RœR–t    canGetCnttitemListReRetitemidRURd((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWSoulAwardxs<  "
   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
RåttagMCMWPrivilegeDataInfoRƒttagMCMWPrivilegeDataRR˜tCurValueR’tGotValueR tItemAwardStateRŒRˆRKtPriIDRéR R4RëRì(Rt privilegeIDRR5R6tpriIDR8((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.pytSaveMagicWeaponState¾s      cCs'tj|tj|dt|dgƒS(Nid(RRR    tDef_PDict_MagicWeaponIsClickR(RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR„ÇsicCs.tj|tj|d|t|dgƒdS(Nid(RRR    R°R(RRRŠ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR®Ës*cCstjƒj|ƒ}|j}tjd|ƒ}|s:dSt||ƒr^tjd|ƒdS|jƒ}x;|D]3}t    j
||ƒsqtj d||fƒdSqqWtj |t j|dtƒtj||ƒt|ƒtj|ƒjƒt||ƒdS(NR‹s$    ¸Ã·¨±¦Ö®»êÒѾ­¼¤»î£¡£¡ soulID=%ss0    ¼¤»î·¨±¦Ö®»ê ³É¾ÍδÍê³É  soulID=%s,succID=%si(RR¤R¥tIDR7RCRŒRµtGetSuccessListR?t GetSuccHasGotRVRR    tDef_PDict_MWSoulActiveStateRR<tEventRespons_MWSoulActiveR¡R RUR(RÇRÈR–RtsoulIDR-tsuccListR(((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnActiveMWSoulÙ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(RõR7RlRmtGetTreasurePrivilegeCounttGetTreasurePrivilegeByIndextGetPrivilegeIDRŒR—RR÷R§R RúRûR    t Def_CalcAttrFunc_MagicWeaponSoul( RRÿt allAttrListRtipyMgrRrR-R¶RtattrIDt    attrValue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR¡øs  (>RIRARëR#RåR RKR†RR    R7RˆRZR?R<RROR}RHRXRkR}RRRRRRR/R'R%RRRRvR|R‚RERäRQRRóRTR/RR<RgRR|RRRŽR—RÃR¥RR¯R„R®R¸RŒR¡(((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>st                                    
     >                            )    ‡         ?    K     )    V &                          '