xdh
2019-02-21 607215ae749819ad901b5f76ae60e9e3a3397be5
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
àÄl\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((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.pytOnDay5scCstS(N(R(R((sa.\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((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetIsActiveMagicWeaponEs
cCs.tj|tj|d|t|dgƒdS(Nid(RtSetDictValueByBitRRR(RRtisActive((sa.\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((sa.\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#|||    |
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 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((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR&psZ   
"!      "/   
  cCstjd|ƒS(NtTreasure(R6RC(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_succInfoDictR6tIPY_DatatxrangetGetTreasureCounttGetTreasureByIndexRNRRRSR:(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(R6RpRqRrRsRNR(Rt    activeCntRtRuR,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(NRlt TreasureTypeii(R6tGetIpyGameDataByConditionRRQRRN(RtmwTypetdataListRwtipydataR((sa.\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((sa.\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((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR
s 
      cCstjd||ƒS(NtTreasureRefine(R6tGetIpyGameDataNotLog(t
treasureIDt
treasureLV((sa.\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((sa.\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Ú((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( NRßs"    Ïɱ¦Ñ°Ö÷Áì½± ÒÑÁìÈ¡£¡ index=%siiitSamboSpecialUnlockiis6    Ïɱ¦Ñ°Ö÷Áì½± , Ìõ¼þ²»Âú×ã ID=%s, cnt=%s,NeedCnt=%stGeRen_chenxin_998371s!    Ïɱ¦Ñ°Ö÷Áì½±OK, ID=%s, cnt=%s(1R6RCRRRRçRXtGetTypet GetConditionR
t
GetFuncDefRâRãRKtrptEquipR7RqtGetCounttGetAttIsEmptyRItGetItemClassLVt GetItemColortGetItemQualityt GetItemTypeIDtChEquiptGetTotalEquipStarstGetSuiteInfoByPlaceR:tmaxtvaluest
GetNeedCntt GetAwardItemRJRLRR8RRORPRtGetMoneyt    GiveMoneyRR?R@RAt SuccType_XBXZtGetMWID(RRèR,tcurTypet conditionListtcntt playerEquipRît
equipIndextcurEquipt
curClassLVt    itemColort itemQualityRetclasslvtcolortstartplacet suiteCntDictt    suiteInfotsuitelvt    suiteTypet awardItemListRht    needSpaceRft    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œR6Rpt GetXBXZCounttGetXBXZByIndexRNR«R˜ttagMCXBXZAwardRecordListRšt
RecordListRRRçttagMCXBXZAwardRecordt RecordIndextRecordRt    RecordCntRžRŸ( Rt
syncIDListtrecordIndexListR'RttsuccCntt    maxSuccidt succFARPackRut 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(NiR0s·¨±¦Éý¼¶¾­Ñé²»×ã%s(RRàRáRªRRRR6RCt
GetNeedExptDef_PDict_MagicWeaponUpExpRXR
R R&(
RèRéR“RRRtnextMWLVt nextIpyDataR)tcurUpExp((sa.\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|((sa.\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.tstateR<tisWeartpack((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRTs>            )                             cCs3t||ƒsdStjd|ƒ}|s/dS|S(NitTreasurePrivilege(tGetIsActiveMWSoulR6R£(RR tprivilegeIpyData((sa.\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(NRFis2    »ñÈ¡·¨±¦ÌØÈ¨Ôö¼ÓµÄÊôÐÔ privilege=%s,addAttr=%s(R6R£R²tGetSingleValueRtMWPrivilege_EquipPlusRûtCalcAllEquipAllPlusLVAttrRtDef_PDict_MWSoulGotValuet GetMaxValueR!R¶R·RRXRN( RR RÓRHtattrInfot singleValuetmultipletgotValuetmaxValueRÔRÕ((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(NRFs[Íæ¼Ò·¨±¦Ö®»êÒÑÁìµÄÊý¾Ý²»Êǵ¥´Î½ø¶ÈµÄ±¶Êý£¬ÐÞ¸´! privilege=%s,curGotValue=%s, fixGotValue=%ss/    privilege=%s,data=%s,curValue=%s,newData=%s(R6R£RRRMRJR
R RR¼tDef_PDict_MWSoulCurValueRNR!R( RR tdatatisAddRHt curGotValueRPt fixGotValuetcurValuetnewDataRS((sa.\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| ƒ|tjgtdtddti|d    6gƒqÙWnt||ƒdS(
Ns;ÁìÈ¡·¨±¦Ö®»ê½±Àø£¬¶ÔÓ¦·¨±¦Ö®»êδ¼¤»î£¬»òδÅäÖàprivilege=%siis,    ÁìÈ¡·¨±¦Ö®»ê½±Àø ½ñÈÕÒÑÁìÈ¡ privilege=%stGeRen_chenxin_676165R2R3t MWSoulAwardR (RIRRXRJRNRRRURMR!R
R tCalcMagicWeaponSoulAttrRWRHR R¼RRIRJRKRLR8RORPR·RRQR(RR R,RPRSRZRRt    canGetCntt    updGotCnttitemListRRhtitemidRRg((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(RR    R˜ttagMCMWPrivilegeDataInfoR6ttagMCMWPrivilegeDataRRUtCurValueRMtGotValueR tItemAwardStateRGR;RþtPriIDRœRR>RžRŸ(Rt privilegeIDRR@RAtpriIDRE((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRás&             1        cCsOtjƒj|ƒ}|j}t||ƒr1dSt||ƒt||ƒdS(N(RRàRáRªR7tSetMagicWeaponClickStateR(RèRéR“RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytSaveMagicWeaponStates      cCs'tj|tj|dt|dgƒS(Nid(RRRtDef_PDict_MagicWeaponIsClickR(RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR7    sicCs.tj|tj|d|t|dgƒdS(Nid(RRRRoR(RRRC((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRm 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ªRR;R6RYR7R¹tSetMagicWeaponWearStateRVR
RWR(    RèRéR“RRRDtmaxCntt
hasWearCnttmid((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnWearMagicWeapons$         
 cCs'tj|tj|dt|dgƒS(Nid(RRRtDef_PDict_MagicWeaponIsWearR(RR((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR¹0scCs.tj|tj|d|t|dgƒdS(Nid(RRRRuR(RRRC((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRp4s*cCs¹tjƒj|ƒ}|j}tjd|ƒ}|s:dSt||ƒr^tjd|ƒdS|jƒ}x;|D]3}t    j
||ƒsqtj d||fƒdSqqWt ||ƒdS(NRFs$    ¸Ã·¨±¦Ö®»êÒѾ­¼¤»î£¡£¡ soulID=%ss0    ¼¤»î·¨±¦Ö®»ê ³É¾ÍδÍê³É  soulID=%s,succID=%s( RRàRátIDR6RCRGR¼tGetSuccessListR?t GetSuccHasGotRXRU(RèRéR“RtsoulIDR,tsuccListR'((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnActiveMWSoulAs       cCsctj|tj|dtƒtj||ƒt|ƒ|rRtj|ƒj    ƒnt
||ƒdS(Ni( RRRtDef_PDict_MWSoulActiveStateRR<tEventRespons_MWSoulActiveR_R
RWR(RRyt isRefreshAttr((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRUTs
 cCstj|tj|ƒS(N(RRRR|(RRy((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRGbsc 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«R6RpRqtGetTreasurePrivilegeCounttGetTreasurePrivilegeByIndextGetPrivilegeIDRGRTRR³R¶R
R¾RÀRt Def_CalcAttrFunc_MagicWeaponSoul( RRÅt allAttrListRÎtipyMgrRuR,RyRÑtattrIDt    attrValue((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR_fs  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((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytUptateMWFBPasslvxs 
 (@RIRARžR"R˜R
RKRƒRRR6R…R\R?R<RROR0RûRZtrandomRotg_potentialsSkillDictRRRRRRR.R&R$RRRRyRRERQRR¦RVRíRRR/R4RRIRTR\RdRRnR7RmRtR¹RpR{RURGR_R‰(((sa.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>sx                                     
     D                                 e    )    [ &         #                 -