xdh
2019-03-07 80716cd82cab3f344cb2298cfb48392f8ccf0256
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
N¼€\c@s‰ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZiaiZd„Zd„Zd„Zdd„Zed„Zd„Zdd    „Zd
„Zdd „Z!d „Z"d „Z#d„Z$ed„Z%e&d„Z'd„Z(d„Z)d„Z*d„Z+gd„Z,d„Z-d„Z.dd„Z/d„Z0d„Z1e&d„Z2d„Z3de&d„Z4d„Z5d„Z6d d!„Z7d"„Z8d#„Z9d$„Z:d%„Z;ed&„Z<d'„Z=d(„Z>d)„Z?dS(*iÿÿÿÿNcCs/t|tƒt|ƒt|ƒt|ƒdS(N(tNotifyMagicWeapontTruetSyncXBXZAwardRecordtSycn_MagicWeaponLVtSycn_MWPrivilegeData(t    curPlayer((sqE:\SnxxServerCode\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((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnDay5scCstS(N(R(R((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytDoMagicWeaponOpen<sicCsM|r&|jtj|ƒ}||kStj|tj|dt|dgƒS(Nid(tNomalDictGetPropertyRtDef_PDict_MagicWeaponLVt    GameWorldtGetDictValueByBittDef_PDict_MagicWeaponIsActiveR(RtmwIDtlvtcurMWLV((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetIsActiveMagicWeaponEs
cCs.tj|tj|d|t|dgƒdS(Nid(RtSetDictValueByBitRRR(RRtisActive((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSetMagicWeaponActiveStateOs*c
Csøt|ƒ}|dkrdSt||ƒ}|r5dSt|ƒ}t|ƒ}|jtj|ƒ}||krsdSt||dƒ}t    j
|tj||ƒt j |||||ƒt |ƒ}|jƒ}    ||krô|     rôt||ƒndS(Ni(tGetMWIDBySuccIDtNoneRtGetNeedSuccIDByMWIDtlenRRtDef_PDict_MagicWeaponExptminR
R tDataRecordPacktDR_MagicWeaponExpt GetWMIpyDatat GetNeedItemt
DoActiveMW(
RtsuccIDRRt
succIDListtneedExptcurExptnewExptipyDatat needItemDict((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytActiveMagicWeaponTs&       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#|||    dtjgt$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 RRRRt 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((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR&psZ   
"!      "/   
  cCstjd|ƒS(NtTreasure(R6RC(R((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR$´scCs5|st|ƒ}|sgSnt|jƒƒ}|S(N(R$tlistt    GetSuccID(RR,R(((sqE:\SnxxServerCode\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_succInfoDictR6tIPY_DatatxrangetGetTreasureCounttGetTreasureByIndexRNRRRSR:(R't
ipyDataMgrtiR,RR(tsuccid((sqE:\SnxxServerCode\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(R6RpRqRrRsRNR(Rt    activeCntRtRuR,t magicWeaponID((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWActiveCntTotalÎs  cCsltjdi|d6ttƒ}|s)dSd}x6|D].}t||jƒƒ}|r6|d7}q6q6W|S(NRlt TreasureTypeii(R6tGetIpyGameDataByConditionRRQRRN(RtmwTypetdataListRwtipydataR((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWActiveCntByTypeÙ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 GetGameDatatFindSkillByTypeRRXt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDR
R8R"tDR_LearnORUPSkillt GetFuncTypeRt Def_SkillFuncType_FbPassiveSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfft isPassiveAttrRWtRefreshSkillFightPowerEx(Rt
skillResIDttickt    isShowSyst    skillDatat skillManagert
curControl((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyREês2   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 MagicWeaponIDR6RpRqRrRsRNRtappendRtNumt NetPackCommont SendFakePack(RtisLogintpackDataRtRuR,RxR((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR
s 
      cCstjd||ƒS(NtTreasureRefine(R6tGetIpyGameDataNotLog(t
treasureIDt
treasureLV((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWRefineIpyData sc"
Csgtdƒ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|ƒdS(Niiiit MWSignDayAttrR0itMagicWeaponOfKingt MagicWeaponFBtMWIDiÿÿÿÿsMÀϺÅÒѼ¤»îµÄħ×å·¨±¦Ã»Óйؿ¨ÊôÐÔ£¬Ö±½ÓÉèÖÃÂú¹Ø¿¨ magicWeaponID=%s,maxLevel=%ss@δ֪·¨±¦ÊôÐÔ, magicWeaponID=%s,treasureType=%s,effID=%s,value=%s(1trangeRAtDef_MFPType_MagicWeapon1tDef_MFPType_MagicWeapon2tDef_MFPType_MagicWeapon3tDef_MFPType_MagicWeapon4R6RYRpRqRrRsRNRtGetTreasureTypeR:tDef_MFPType_RoleRRRR£t
GetAddAttrRt AddDictValuet
GetPowerExtDef_PDict_TotalSignNumR7titemstinttDef_PDict_CrossPK_SeasonAwardLVtGetIsWearMagicWeapontDef_PDict_MWFBPassLevelR{RRQtGetLevelR
R tLogRCt GetAttrDicttCalcAttrDict_TypeRSt GetPlayerIDtSetCalcAttrListValuetDef_CalcAttrFunc_MagicWeapon1tDef_CalcAttrFunc_MagicWeapon2tDef_CalcAttrFunc_MagicWeapon3tDef_CalcAttrFunc_MagicWeapon4("Rt_t allAttrList1t allAttrList2t allAttrList3t allAttrList4tmwTypeMfpTypeDictt addPowerDictt signDayMWIDRtRuttreasureIpyDataRxRt allAttrDictt treasureTypetmfpTypeRRRatattrDictt totalSignNumtaddAttrtattidtattnumtseasonIDt kingAwardLVt kingMWIpyDatatfbpasslvt ipyDataListtmaxLevelt    fbipyDatateffIDtvalue((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRV$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ª(RtGetPlayerManagertGetPlayerByIndexRªRRXRRRR RR$R%tGetItemManagertGetPackRKRLRItGetCostItemIndexListRQt DelCostItemtItemDel_MagicWeaponR6R{RRtDef_PDict_XBXZAwardRecordRNR&(tindext
clientDataR“RRRR(R*R,R-titemPackt lackItemDictt delInfoDictRÚ((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnOpenMagicWeapon‰s:             cCstjd|ƒ}|sdStj|tj|ƒrItjd|ƒdS|jƒ}|jƒ}d}|dkr…t    j
|ƒ}n.|dkr¯|j ƒj t jƒ}tjdƒ}xøt|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ËWndS||jƒkrétjd|||jƒfƒdS|jƒ}|r?tj|t jƒ}t|ƒ}||kr?t    j|dƒdSntj|tj|dƒ|ršx9|D].\} }t j!|| |dt jgt"ƒqeWnx-|j#ƒD]\}}t    j$|||ƒq§Wt%||gƒt&j'|t(j)d|j*ƒgƒtjd    ||fƒdS(
NRßs"    Ïɱ¦Ñ°Ö÷Áì½± ÒÑÁìÈ¡£¡ index=%siiitSamboSpecialUnlocks6    Ïɱ¦Ñ°Ö÷Áì½± , Ìõ¼þ²»Âú×ã ID=%s, cnt=%s,NeedCnt=%stGeRen_chenxin_998371s!    Ïɱ¦Ñ°Ö÷Áì½±OK, ID=%s, cnt=%s(+R6RCRRRRçRXtGetTypet GetConditionR
t
GetFuncDefRâRãRKtrptEquipR7RqtGetCounttGetAttIsEmptyRItGetItemClassLVt GetItemColortGetItemQualityt GetItemTypeIDt
GetNeedCntt GetAwardItemRJRLRR8RRORPRtGetMoneyt    GiveMoneyRR?R@RAt SuccType_XBXZtGetMWID(RRèR,tcurTypet conditionListtcntt playerEquipRît
equipIndextcurEquipt
curClassLVt    itemColort itemQualityRetclasslvtcolortstartplacet awardItemListRht    needSpaceRft    moneyTypeRÞ((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnGetXBXZAward²sh        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œR6Rpt GetXBXZCounttGetXBXZByIndexRNR«R˜ttagMCXBXZAwardRecordListRšt
RecordListRRRçttagMCXBXZAwardRecordt RecordIndextRecordRt    RecordCntRžRŸ( Rt
syncIDListtrecordIndexListR'RttsuccCntt    maxSuccidt succFARPackRut awardRecordt
recordInfo((sqE:\SnxxServerCode\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(NiR0s·¨±¦Éý¼¶¾­Ñé²»×ã%s(RRàRáRªRRRR6RCt
GetNeedExptDef_PDict_MagicWeaponUpExpRXR
R R&(
RèRéR“RRRtnextMWLVt nextIpyDataR)tcurUpExp((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponUp3s    
  cCs¢tjd||fƒ|jtj|ƒ}tj|tj|||ƒt||ƒt|ƒ}|rv|j    ƒnd}|dkržt
j |t j ƒndS(Ns"Ôö¼Ó·¨±¦Éý¼¶¾­Ñé mwID=%s,addExp=%sii(RRXRRR"R
R RR$R°tPlayerActivitytAddDailyActionFinishCntRAtDailyActionID_MagicWeapon(RRtaddExpR%R,R|((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytAddMagicWeaponUpExpGs   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ÿÿÿÿ(RR6RpRqRrRsRœRNRQR˜ttagMCMagicWeaponLVInfotInfoListRRRR"tGetIsClickMagicWeaponRºR¹ttagMCMagicWeaponInfoRªtLVtExptStatetFBPassLVtIsWearRtCountRžRŸ(RRtisAllt needCalListRtRuR,tsendPacktmwLvR%tstateR3tisWeartpack((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRTs>            )                             cCs3t||ƒsdStjd|ƒ}|s/dS|S(NitTreasurePrivilege(tGetIsActiveMWSoulR6R£(RR tprivilegeIpyData((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegews 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(R6R£R²tGetSingleValueRtMWPrivilege_EquipPlustChEquiptCalcAllEquipAllPlusLVAttrRtDef_PDict_MWSoulGotValuet GetMaxValueR!R¶R·RRXRN( RR RÓR?tattrInfot singleValuetmultipletgotValuetmaxValueRÔRÕ((sqE:\SnxxServerCode\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(R6R£RRRERAR
R RR¼tDef_PDict_MWSoulCurValueRFR!R( RR tdatatisAddR?t curGotValueRHt fixGotValuetcurValuetnewDataRK((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSetMWPrivilegeDataœ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| ƒdtjgtdtddti|d    6gƒqÙWnt||ƒdS(
Ns;ÁìÈ¡·¨±¦Ö®»ê½±Àø£¬¶ÔÓ¦·¨±¦Ö®»êδ¼¤»î£¬»òδÅäÖàprivilege=%siis,    ÁìÈ¡·¨±¦Ö®»ê½±Àø ½ñÈÕÒÑÁìÈ¡ privilege=%stGeRen_chenxin_676165R2R3t MWSoulAwardR (R@RRXRARFRRRMRER!R
R tCalcMagicWeaponSoulAttrRWRHR R¼RRIRJRKRLR8RORPR·RRQR(RR R,RHRKRRRJt    canGetCntt    updGotCnttitemListRRhtitemidRRg((sqE:\SnxxServerCode\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(RR    R˜ttagMCMWPrivilegeDataInfoR-ttagMCMWPrivilegeDataRRMtCurValueREtGotValueR tItemAwardStateR>R2tmaxtPriIDRœRR5RžRŸ(Rt privilegeIDRR7R8tpriIDR<((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRás&             1        cCsOtjƒj|ƒ}|j}t||ƒr1dSt||ƒt||ƒdS(N(RRàRáRªR.tSetMagicWeaponClickStateR(RèRéR“RR((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSaveMagicWeaponStates      cCs'tj|tj|dt|dgƒS(Nid(RRRtDef_PDict_MagicWeaponIsClickR(RR((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR.    sicCs.tj|tj|d|t|dgƒdS(Nid(RRRRhR(RRR:((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRf s*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(NR¨iii(RRàRáRªRR2R6RYR7R¹tSetMagicWeaponWearStateRVR
RWR(    RèRéR“RRR;tmaxCntt
hasWearCnttmid((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnWearMagicWeapons$         
 cCs'tj|tj|dt|dgƒS(Nid(RRRtDef_PDict_MagicWeaponIsWearR(RR((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR¹0scCs.tj|tj|d|t|dgƒdS(Nid(RRRRnR(RRR:((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRi4s*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átIDR6RCR>R¼tGetSuccessListR?t GetSuccHasGotRXRU(RèRéR“RtsoulIDR,tsuccListR'((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnActiveMWSoulAs       cCsctj|tj|dtƒtj||ƒt|ƒ|rRtj|ƒj    ƒnt
||ƒdS(Ni( RRRtDef_PDict_MWSoulActiveStateRR<tEventRespons_MWSoulActiveRWR
RWR(RRrt isRefreshAttr((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRUTs
 cCstj|tj|ƒS(N(RRRRu(RRr((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR>bsc 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«R6RpRqtGetTreasurePrivilegeCounttGetTreasurePrivilegeByIndextGetPrivilegeIDR>RLRR³R¶R
R¾RÀRt Def_CalcAttrFunc_MagicWeaponSoul( RRÅt allAttrListRÎtipyMgrRuR,RrRÑtattrIDt    attrValue((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRWfs  cCs{tjd||f|jƒƒtj|tj||ƒt|ƒtj|ƒjƒt    ||ƒt
j |||ƒdS(Ns¸üйؿ¨ mwID=%s,level=%s( RR¼RNR
R RRºRVRWRR<t EventRespons_MagicWeaponFBPassLV(RRtpassLV((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytUptateMWFBPasslvxs 
 (@RIRARžR"R˜R
RKRƒRRR6R…R\R?R<RROR'RCRZtrandomRotg_potentialsSkillDictRRRRRRR.R&R$RRRRyRRERQRR¦RVRíRRR&R+RR@RLRTR\RRgR.RfRmR¹RiRtRUR>RWR‚(((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>sx                                     
     D                                 e    )    [ &         #                 -