cehua-HWJ35
2019-03-07 65d21adcb8f585c123fca5946270d36ff10280e4
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
Wü€\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&       c Csú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ƒq t"j#|||    dtjgddt$i|d    6gƒn|j%ƒ} | |kr9tj&d
|ƒn| rOt'|| ƒn|j(ƒ} | rtt)|| t$ƒnt*|ƒtj|ƒj+ƒtj,d ||fƒtj-d dƒ}||krÖt.j/|ƒnt0j1|ƒt2j3|||ƒt4S( NitUnblockTreasureiit
TreasureUptTreasureWakeUpteventtMWAwardRs4    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 ItemControlertGivePlayerItemtFalset GetActiveMWIDtErrLogR&tGetActiveSoulIDt__DoActiveMWSoultCalcMagicWeaponAttrtRefreshPlayerAttrStatetDebugLogt
GetFuncCfgt    PlayerViptRefreshVIPAttrt GameFuncCommtDoFuncOpenLogicR"tDR_MagicWeaponActiveR(RRtmwLVtsysMarkt    upIpyDatat skillIDListtskillIDt    itemAwardtitemIDtitemCnttisBindt    packSpacet
activeMWIDt activeSoulIDt vipAddAtkMWID((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR&psX   
"!      "8   
  cCstjd|ƒS(NtTreasure(R5RB(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_succInfoDictR5tIPY_DatatxrangetGetTreasureCounttGetTreasureByIndexRMRRRRR9(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(R5RoRpRqRrRMR(Rt    activeCntRsRtR,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(NRkt TreasureTypeii(R5tGetIpyGameDataByConditionRRPRRM(RtmwTypetdataListRvtipydataR((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 GetGameDatatFindSkillByTypeRRWt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDR
R7R"tDR_LearnORUPSkillt GetFuncTypeRt Def_SkillFuncType_FbPassiveSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfft isPassiveAttrRVtRefreshSkillFightPowerEx(Rt
skillResIDttickt    isShowSyst    skillDatat skillManagert
curControl((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRDé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 MagicWeaponIDR5RoRpRqRrRMRtappendRtNumt NetPackCommont SendFakePack(RtisLogintpackDataRsRtR,RwR((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR    s 
      cCstjd||ƒS(NtTreasureRefine(R5tGetIpyGameDataNotLog(t
treasureIDt
treasureLV((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWRefineIpyDatasc"
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(1trangeR@tDef_MFPType_MagicWeapon1tDef_MFPType_MagicWeapon2tDef_MFPType_MagicWeapon3tDef_MFPType_MagicWeapon4R5RXRoRpRqRrRMRtGetTreasureTypeR9tDef_MFPType_RoleRRRR¢t
GetAddAttrRt AddDictValuet
GetPowerExtDef_PDict_TotalSignNumR6titemstinttDef_PDict_CrossPK_SeasonAwardLVtGetIsWearMagicWeapontDef_PDict_MWFBPassLevelRzRRPtGetLevelR
R tLogRBt GetAttrDicttCalcAttrDict_TypeRRt GetPlayerIDtSetCalcAttrListValuetDef_CalcAttrFunc_MagicWeapon1tDef_CalcAttrFunc_MagicWeapon2tDef_CalcAttrFunc_MagicWeapon3tDef_CalcAttrFunc_MagicWeapon4("Rt_t allAttrList1t allAttrList2t allAttrList3t allAttrList4tmwTypeMfpTypeDictt addPowerDictt signDayMWIDRsRtttreasureIpyDataRwRt allAttrDictt treasureTypetmfpTypeRRR`tattrDictt totalSignNumtaddAttrtattidtattnumtseasonIDt kingAwardLVt kingMWIpyDatatfbpasslvt ipyDataListtmaxLevelt    fbipyDatateffIDtvalue((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRU#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©RRWRRRR RR$R%tGetItemManagertGetPackRJRKRHtGetCostItemIndexListRPt DelCostItemtItemDel_MagicWeaponR5RzRRtDef_PDict_XBXZAwardRecordRMR&(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—x6|D]+\} }t j!|| |dt jgƒ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(*R5RBRRRRæRWtGetTypet GetConditionR
t
GetFuncDefRáRâRJtrptEquipR6RptGetCounttGetAttIsEmptyRHtGetItemClassLVt GetItemColortGetItemQualityt GetItemTypeIDt
GetNeedCntt GetAwardItemRIRKRR7RRNROtGetMoneyt    GiveMoneyRR>R?R@t SuccType_XBXZtGetMWID(RRçR,tcurTypet conditionListtcntt playerEquipRít
equipIndextcurEquipt
curClassLVt    itemColort itemQualityRdtclasslvtcolortstartplacet awardItemListRgt    needSpaceRet    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›R5Rot GetXBXZCounttGetXBXZByIndexRMRªR—ttagMCXBXZAwardRecordListR™t
RecordListRRRættagMCXBXZAwardRecordt RecordIndextRecordRt    RecordCntRRž( Rt
syncIDListtrecordIndexListR'RstsuccCntt    maxSuccidt succFARPackRtt 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©RRRR5RBt
GetNeedExptDef_PDict_MagicWeaponUpExpRWR
R R&(
RçRèR’RRRtnextMWLVt nextIpyDataR)tcurUpExp((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnMagicWeaponUp2s    
  cCs¢tjd||fƒ|jtj|ƒ}tj|tj|||ƒt||ƒt|ƒ}|rv|j    ƒnd}|dkržt
j |t j ƒndS(Ns"Ôö¼Ó·¨±¦Éý¼¶¾­Ñé mwID=%s,addExp=%sii(RRWRRR!R
R RR$R¯tPlayerActivitytAddDailyActionFinishCntR@tDailyActionID_MagicWeapon(RRtaddExpR$R,R{((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytAddMagicWeaponUpExpFs   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ÿÿÿÿ(RR5RoRpRqRrR›RMRPR—ttagMCMagicWeaponLVInfotInfoListRRRR!tGetIsClickMagicWeaponR¹R¸ttagMCMagicWeaponInfoR©tLVtExptStatetFBPassLVtIsWearRtCountRRž(RRtisAllt needCalListRsRtR,tsendPacktmwLvR$tstateR2tisWeartpack((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRSs>            )                             cCs3t||ƒsdStjd|ƒ}|s/dS|S(NitTreasurePrivilege(tGetIsActiveMWSoulR5R¢(RR tprivilegeIpyData((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegevs 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(R5R¢R±tGetSingleValueRtMWPrivilege_EquipPlustChEquiptCalcAllEquipAllPlusLVAttrRtDef_PDict_MWSoulGotValuet GetMaxValueR!RµR¶RRWRM( RR RÒR>tattrInfot singleValuetmultipletgotValuetmaxValueRÓRÔ((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMagicWeaponPrivilegeAttrs*         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(R5R¢RRRDR@R
R RR»tDef_PDict_MWSoulCurValueRER!R( RR tdatatisAddR>t curGotValueRGt fixGotValuetcurValuetnewDataRJ((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSetMWPrivilegeData›s&   cCsAt||ƒ}|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ƒ}    |    r0|jtj|ƒrktjd|ƒdSt|    ƒ}
tj|tj|
ƒ} |
| kr¸t
j|dtjgƒdSt
j |tj|dƒx[|    D]P\} } }tj|t| ƒt| ƒdtjgddti|d6gƒqÙWnt||ƒdS(    Ns;ÁìÈ¡·¨±¦Ö®»ê½±Àø£¬¶ÔÓ¦·¨±¦Ö®»êδ¼¤»î£¬»òδÅäÖàprivilege=%siis,    ÁìÈ¡·¨±¦Ö®»ê½±Àø ½ñÈÕÒÑÁìÈ¡ privilege=%stGeRen_chenxin_676165R2t MWSoulAwardR (R?RRWR@RERRRLRDR!R
R tCalcMagicWeaponSoulAttrRVRGR R»RRHRIRJRKR7RNROR¶RPR(RR R,RGRJRQRIt    canGetCntt    updGotCnttitemListRRgtitemidRRf((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWSoulAward³sF        +
   H 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,ttagMCMWPrivilegeDataRRLtCurValueRDtGotValueR tItemAwardStateR=R1tmaxtPriIDR›RR4RRž(Rt privilegeIDRR6R7tpriIDR;((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.pytSaveMagicWeaponStateþs      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(RRRRgR(RRR9((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRe 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©RR1R5RXR6R¸tSetMagicWeaponWearStateRUR
RVR(    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¸.scCs.tj|tj|d|t|dgƒdS(Nid(RRRRmR(RRR9((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRh2s*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àtIDR5RBR=R»tGetSuccessListR>t GetSuccHasGotRWRT(RçRèR’RtsoulIDR,tsuccListR'((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnActiveMWSoul?s       cCsctj|tj|dtƒtj||ƒt|ƒ|rRtj|ƒj    ƒnt
||ƒdS(Ni( RRRtDef_PDict_MWSoulActiveStateRR;tEventRespons_MWSoulActiveRVR
RVR(RRqt isRefreshAttr((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRTRs
 cCstj|tj|ƒS(N(RRRRt(RRq((sqE:\SnxxServerCode\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ªR5RoRptGetTreasurePrivilegeCounttGetTreasurePrivilegeByIndextGetPrivilegeIDR=RKRR²RµR
R½R¿Rt Def_CalcAttrFunc_MagicWeaponSoul( RRÄt allAttrListRÍtipyMgrRtR,RqRÐtattrIDt    attrValue((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRVds  cCs{tjd||f|jƒƒtj|tj||ƒt|ƒtj|ƒjƒt    ||ƒt
j |||ƒdS(Ns¸üйؿ¨ mwID=%s,level=%s( RR»RMR
R RR¹RURVRR;t EventRespons_MagicWeaponFBPassLV(RRtpassLV((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytUptateMWFBPasslvvs 
 (@RHR@RR"R—R
RJR‚RRR5R„R[R>R;RŒRNR&RBRYtrandomRntg_potentialsSkillDictRRRRRRR.R&R$RRRRxR~RDRPRR¥RURìRRR%R*RR?RKRSR[RRfR-ReRlR¸RhRsRTR=RVR(((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>sx                                     
     C                                 e    )    [ &         #                 ,