xdh
2018-09-04 7e7e4f99f83d382c6818be59a69c53ade809f82c
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
íGŽ[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&       cCsÞt|ƒ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(|| ƒnt)|ƒtj|ƒj*ƒtj+d ||fƒtj,d dƒ} || krºt-j.|ƒnt/j0|ƒt1j2|||ƒt$S(NitUnblockTreasureiit
TreasureUptTreasureWakeUpt showSysInfoteventtMWAwardRs4    TreasureUp.txt ÅäÖÃÒì³£ ²»¿É¼¤»î×ÔÉí·¨±¦ mwID=%ss    ¼¤»î·¨±¦ mwID=%s,mwLV=%st VIPAddAtkEXP(3R%R R R    RRRt IpyGameDataPYtGetFuncEvalCfgt
NotifyCodetGetNametgett WorldNotifyt
EventShellt EventRespons_OnActiveMagicWeaponRtEventRespons_MagicWeaponLVt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_GetMagicWeapontGetIpyGameDatatGetUnLockSkillt    GiveSkillRt GetGameWorldtGetTickt GetItemAwardt
ItemCommontGetItemPackSpacet IPY_GameWorldtrptItemt SendMailByKeytGetIDt ItemControlertGivePlayerItemRtFalset GetActiveMWIDtErrLogR'tCalcMagicWeaponAttrtRefreshPlayerAttrStatetDebugLogt
GetFuncCfgt    PlayerViptRefreshVIPAttrt GameFuncCommtDoFuncOpenLogicR#tDR_MagicWeaponActive(RRtmwLVtsysMarkt    upIpyDatat skillIDListtskillIDt    itemAwardtitemIDtitemCnttisBindt    packSpacet
activeMWIDt vipAddAtkMWID((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR'osT   
"!      "/  
  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(R7RnRoRpRqROR(Rt    activeCntRrRsR-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(NRjt TreasureTypeii(R7tGetIpyGameDataByConditionRRRRRO(RtmwTypetdataListRutipydataR((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_potentialsSkillDictR7RnRoRpRqROt GetPotentialst    enumerateR R;(RbRrRsR-RRat
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 GetGameDatatFindSkillByTypeRRWt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDR R9R#tDR_LearnORUPSkillt GetFuncTypeR    t Def_SkillFuncType_FbPassiveSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfft isPassiveAttrRVtRefreshSkillFightPowerEx(Rt
skillResIDttickt    isShowSyst    skillDatat skillManagert
curControl((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRFó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†RWR‰RŠRDt GetNeedPointt    GetZhenQit GetPlayerIDt GetInitRateRBtDef_MaxRateValuet GetNeedItemIDtGetNeedItemCntt
GetMaxRateR tLogtGetItemManagertGetPackRLRMRJtGetItem_FromPack_ByIDt
ReduceItemRRR    tItemDel_MagicWeapontPlayerLostZhenQit    CanHappentSync_MakeItemAnswertDef_mitMagicWeaponSkillUpt LVUPSkillByIDtstrR•R‘R’R“R‡R”RR<R:RVRƒtGetLearnSkillReqtGetLearnSkillLVR#RŽtSetMWPrivilegeDatatMWPrivilege_MWSkillUpR@RAtSuccType_MWSkillUpR=tEventRespons_MWSkillUp(%tindext
clientDataR—Rt skillTypeIDt    costIndext curSkillTypetSPSkillTypeDictt    skillTypeRaRš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 MagicWeaponIDR7RnRoRpRqRORtappendR tNumt NetPackCommont SendFakePack(RtisLogintpackDataRrRsR-RvR((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(trangeR7RXRnRoRpRqRORRR    RRñt
GetAddAttrRt AddDictValuetDef_PDict_TotalSignNumR8R¨R©tGetTreasureTypeR tCalcAttrDict_TypeRTR°tSetCalcAttrListValuetDef_CalcAttrFunc_MagicWeapon1tDef_CalcAttrFunc_MagicWeapon2tDef_CalcAttrFunc_MagicWeapon3(Rt_t allAttrList1t allAttrList2t allAttrList3t signDayMWIDRrRsttreasureIpyDataRvRt allAttrDictRRR`tattrDictt totalSignNumtaddAttrtattidtattnumt treasureTypeteffIDtvalue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRU½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°R7R8RWRRR    tDef_PDict_MagicWeaponRefineLVRôtDef_PDict_AlchemyLVtGetNeedAlchemyLVtGetNeedAllTreasureLVt GetMaterialRTR…tGetItemByTypeIDtGetEffectByIndextGetEffectValueR·R¸RLRMRJtGetCostItemIndexListt DelCostItemR»tGetSuccessRateR½R R t GetOpenSkillRFRURVRR¾RBtDef_mitMWUpLeveltDef_ComposeState_SucesstDef_ComposeState_Fail(RÈt
clientPackR—Rt
materialIDRtplayerIDtallTreasureItemIDListRt nextRefineLvtmwRefineIpyDatat    alchemyLVtneedAllTreasureLVttIDR.t    fujiaRatettreasureUpRateItemt rateItemDataRÜt lackItemDictt delInfoDictt successRateRb((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.pyRGs"                        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¦RRRWRRR    R!R R%R&R·R¸RLRMRJRRRRR»R7RyRRtDef_PDict_XBXZAwardRecordROR'(RÈRÉR—RRRR)R+R-R.RÜR-R.t ipyDataList((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnOpenMagicWeaponcs:             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( NR:s"    Ïɱ¦Ñ°Ö÷Áì½± ÒÑÁìÈ¡£¡ index=%siiitSamboSpecialUnlockiis6    Ïɱ¦Ñ°Ö÷Áì½± , Ìõ¼þ²»Âú×ã ID=%s, cnt=%s,NeedCnt=%stGeRen_chenxin_998371s!    Ïɱ¦Ñ°Ö÷Áì½±OK, ID=%s, cnt=%s(1R7RDRRR    R;RWtGetTypet GetConditionR t
GetFuncDefR·R¸RLtrptEquipR8RotGetCounttGetAttIsEmptyRJtGetItemClassLVt GetItemColortGetItemQualityt GetItemTypeIDtChEquiptGetTotalEquipStarstGetSuiteInfoByPlaceR;tmaxtvaluest
GetNeedCntt GetAwardItemRKRMR R9RRPRQRtGetMoneyt    GiveMoneyRR@RARBt SuccType_XBXZtGetMWID(RRÈR-tcurTypet conditionListtcntt playerEquipR>t
equipIndextcurEquipt
curClassLVt    itemColort itemQualityRdtclasslvtcolortstartplacet suiteCntDictt    suiteInfotsuitelvt    suiteTypet awardItemListRgt    needSpaceRet    moneyTypeR((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êR7Rnt GetXBXZCounttGetSuccessByIndexRORöRættagMCXBXZAwardRecordListRèt
RecordListRR    R;ttagMCXBXZAwardRecordt RecordIndextRecordR t    RecordCntRìRí( Rt
syncIDListtrecordIndexListR(RrtsuccCntt    maxSuccidt succFARPackRst 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    RR7RDt
GetNeedExptDef_PDict_MagicWeaponUpExpRWR R R'(
RÈRÉR—RRRtnextMWLVt nextIpyDataR*tcurUpExp((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponUp s    
  cCs¢tjd||fƒ|jtj|ƒ}tj|tj|||ƒt||ƒt|ƒ}|rv|j    ƒnd}|dkržt
j |t j ƒndS(Ns"Ôö¼Ó·¨±¦Éý¼¶¾­Ñé mwID=%s,addExp=%sii(RRWRR    R{R R RR%RútPlayerActivitytAddDailyActionFinishCntRBtDailyActionID_MagicWeapon(RRtaddExpR~R-Rz((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytAddMagicWeaponUpExp!s   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ÿÿÿÿ(R7RnRoRpRqRêRORættagMCMagicWeaponLVInfotInfoListRR    RR{tGetIsClickMagicWeaponttagMCMagicWeaponInfoRtLVtExptStateR R5RìRí( RRR6RrRsR-R7tmwLvR~tstateR9((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.pytGetMagicWeaponPrivilegeKs 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_EquipPlusRKtCalcAllEquipAllPlusLVAttrRtDef_PDict_MWSoulGotValueR¨R©RRWRO(
RRR    RtattrInfot singleValuetmultipletgotValueR
R ((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegeAttrTs$        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Äms  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‘RRWR’RR    R›R•R R tCalcMagicWeaponSoulAttrRVRIR R¶R RJRKRLRMR9RPRQR©RRRR( RRR-R—RŸR™t    canGetCnttitemListRhRgtitemidRXRf((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWSoulAward~s<  "
   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‹RNtPriIDRêR R5RìRí(Rt privilegeIDRR6R7tpriIDR9((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¦tIDR7RDRR¶tGetSuccessListR@t GetSuccHasGotRWRR    tDef_PDict_MWSoulActiveStateRR=tEventRespons_MWSoulActiveR¤R RVR(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öR7RnRotGetTreasurePrivilegeCounttGetTreasurePrivilegeByIndextGetPrivilegeIDRRšRRøR¨R RûRüR    t Def_CalcAttrFunc_MagicWeaponSoul( RRt allAttrListRtipyMgrRsR-R¹RtattrIDt    attrValue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR¤þs  (>RJRBRìR#RæR RLR‡RR    R7R‰R[R@R=R‘RPR€RKRYRmR~RRRRRRR/R'R%RRRRwR}RƒRFRåRRRRôRUR0RR=RjRRR„RR‘RšRÄR¨RR²R‡R±R»RR¤(((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>st                                    
     ?                            )    ‡         ?    K     )    [ &                          '