hxp
2025-05-29 f08058713e574c675579ca5ccbfabeb1e6702cf0
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
a8hc@sÌddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZd„Zd„Zd„Zdd„Zdd„Zdd    „Zd
„Zd „Zd „Zd „Zed„Zd„Z d„Z!d„Z"gd„Z#d„Z$d„Z%dd„Z&d„Z'd„Z(d„Z)d„Z*dS(iÿÿÿÿNcCst|ƒt|ƒdS(N(tSyncXBXZAwardRecordtSycn_MagicWeaponLV(t    curPlayer((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytPlayerMagicWeaponLogin+s
 
cCsdS(N((R((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnDay1scCstS(N(tTrue(R((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytDoMagicWeaponOpen6sicCs |jtj|ƒ}||kS(N(tNomalDictGetPropertytChConfigtDef_PDict_MagicWeaponLV(RtmwIDtlvtcurMWLV((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetIsActiveMagicWeapon@sicCsgtjdi|d6|d6dtƒ}|rç|jƒ}tjd||f|jƒƒtj|t    j
||ƒt ||ƒtjdi|d6t ƒ}|dj ƒ}||krÇt||ƒqct|ƒtj|ƒjƒn|tjdi|d6|d    6ƒ}|sdS|jƒ}|jƒ|jƒkrVtjd
||jƒfƒdSt||ƒdS( Nt MagicWeaponFBtLineIDtLevelt    isLogNones!¸üÐÂħ×帱±¾¹Ø¿¨ mwID=%s,level=%siÿÿÿÿtTreasuretFBMapIDtFBLineIDs2ͨ¹Ø¸±±¾¼¤»î·¨±¦ ,µÈ¼¶²»×㣡£¡£¡mwID=%s, needLV=%s(t IpyGameDataPYtGetIpyGameDataByConditiontFalsetGetMWIDt    GameWorldtLogtGetIDt PlayerControltNomalDictSetPropertyRtDef_PDict_MWFBPassLevelRRtGetLevelt
DoActiveMWtCalcMagicWeaponAttrtRefreshPlayerAttrStatetGetLVt    GetNeedLV(RtmapIDtlineIDtpassLVtipyDataR
t ipyDataListtmaxLevel((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytActiveMagicWeaponByFBGs*&    
   cCsßt|ƒsdStj|tj||ƒ|dkrÕ|tjdƒkrmtj|d|jƒ|gƒn@tjddiƒj    |dƒ}tj
d||jƒ|gƒ|tj ddƒkrÕt |ƒqÕnt ||ƒtj|tjd||gƒtjd||ƒ}|s dS|jƒ}x*|D]"}t||tjƒjƒƒq3Wt|ƒtj|ƒjƒtjd||fƒtj ddƒ}||kr»tj|ƒntj|ƒtj |||ƒt!S(    NitUnblockTreasureiit FabaoAddPointt
TreasureUps    ¼¤»î·¨±¦ mwID=%s,mwLV=%st VIPAddAtkEXP("t GetWMIpyDataRRRR    RtGetFuncEvalCfgt
NotifyCodetGetNametgett WorldNotifyt
GetFuncCfgt__DoFabaoAddPointRt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_GetMagicWeapontGetIpyGameDatatGetUnLockSkillt    GiveSkillRt GetGameWorldtGetTickR!R"tDebugLogt    PlayerViptRefreshVIPAttrt GameFuncCommtDoFuncOpenLogictDataRecordPacktDR_MagicWeaponActiveR(RR
tmwLVtsysMarkt    upIpyDatat skillIDListtskillIDt vipAddAtkMWID((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR cs6  "!    
  c    Csítj|tjƒsdStjddiƒ}tj|ƒ}|jƒ}d}xW|j    ƒD]I\}}||dkr~q\n||t
||dƒ|dd7}q\W|j ƒ}||}|j |ƒt jd||||fƒdS(Nt LVUPAddPointiisM»ñµÃ·¨±¦Ôö¼Ó×ÔÓÉÊôÐÔµã: freePoint=%s,addFreePoint=%s,curLV=%s,updFreePoint=%s(RDt GetFuncCanUseR:tGameFuncID_AddPointRR1RtGetFabaoAddPointR#titemstmint GetFreePointt SetFreePointRRA(    Rt addPointDictt fabaoAddPointtcurLVt addFreePointtrangLVstpointt    freePointt updFreePoint((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR7Žs  + 
     cCstjd|ƒS(NR(RR<(R
((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR0¢scCsjd}tjƒ}xQt|jƒƒD]=}|j|ƒ}|jƒ}t||ƒr%|d7}q%q%W|S(Nii(RtIPY_DatatxrangetGetTreasureCounttGetTreasureByIndexRR (Rt    activeCntt
ipyDataMgrtiR(t magicWeaponID((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytGetMWActiveCntTotal¥s  cCsltjdi|d6ttƒ}|s)dSd}x6|D].}t||jƒƒ}|r6|d7}q6q6W|S(NRt TreasureTypeii(RRRRR R(RtmwTypetdataListRbtipydatatisActive((spD:\SG_ServerCode\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 GetGameDatatFindSkillByTypetNoneRAt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDRR2RFtDR_LearnORUPSkillt GetFuncTypeRt Def_SkillFuncType_FbPassiveSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfft isPassiveAttrR"tRefreshSkillFightPowerEx(Rt
skillResIDttickt    isShowSyst    skillDatat skillManagert
curControl((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR>Ãs2   c     CszgtdƒD] }i^q }gtdƒD] }i^q,}gtdƒD] }i^qK}gtdƒD] }i^qj}itjd6tjd6tjd6tjd6}i}tjddƒ}tjƒ}    xMt    |    j
ƒƒD]9}
|    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| ƒ}|rOtj d    | |ƒ}|rO|j!ƒ}xC|jƒD]2\}}t|ƒ}|j|dƒ|||<qWqOnxÈ|jƒD]º\}}|dkrŠt"j#|||ƒq\|dkr¬t"j#|||ƒq\|dkrÎt"j#|||ƒq\|dkrðt"j#|||ƒq\tj$d
| |||f|j%ƒƒq\WqáWt"j&|tj'|ƒt"j&|tj(|ƒt"j&|tj)|ƒt"j&|tj*|ƒdS( Niiiit MWSignDayAttrR.itMagicWeaponOfKingRs@δ֪·¨±¦ÊôÐÔ, magicWeaponID=%s,treasureType=%s,effID=%s,value=%s(+trangeR:tDef_MFPType_MagicWeapon1tDef_MFPType_MagicWeapon2tDef_MFPType_MagicWeapon3tDef_MFPType_MagicWeapon4RR6R^R_R`RaRR tGetTreasureTypeR4tDef_MFPType_RoleRRR    tGetIpyGameDataNotLogt
GetAddAttrRt AddDictValuet
GetPowerExtDef_PDict_TotalSignNumR1RRtinttDef_PDict_CrossPK_SeasonAwardLVtGetIsWearMagicWeaponRR<t GetAttrDictRtCalcAttrDict_TypetErrLogt GetPlayerIDtSetCalcAttrListValuetDef_CalcAttrFunc_MagicWeapon1tDef_CalcAttrFunc_MagicWeapon2tDef_CalcAttrFunc_MagicWeapon3tDef_CalcAttrFunc_MagicWeapon4( Rt_t allAttrList1t allAttrList2t allAttrList3t allAttrList4tmwTypeMfpTypeDictt addPowerDictt signDayMWIDRcRdttreasureIpyDataReRkt allAttrDictt treasureTypetmfpTypeR R RJtattrDictt totalSignNumtaddAttrtattidtattnumtseasonIDt kingAwardLVt kingMWIpyDatatfbpasslvt    fbipyDatateffIDtvalue((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR!æs| 
 
     ' (!   $        %c Cs¬tjƒj|ƒ}|j}t||ƒ}|rHtjd|ƒdStjdi|d6tt    ƒ}t
|ƒ}|j ƒ}|rû|j ƒj tjƒ}    tj||    t    ƒ\}
} |
rßtjd|||
| fƒdStj||    | tjƒn |rNx—|D]?}tj|tj|jƒƒstjd|jƒƒdSqWnM|dkr—tj|itjtj6dtj6ƒtj|ddƒndSt||ƒdS(    Ns    ¸Ã·¨±¦ÒÑ¿ªÆô£¡ mwID=%stXBXZtMWIDsM    ¿ªÆô·¨±¦ ²ÄÁϲ»×㣡mwID=%s,needItemDict=%s,lackItemDict=%s,delInfoDict=%ss%δÁìÈ¡¸ÃÏɱ¦Ñ°Ö÷½±Àø£¬ÎÞ·¨¼¤»î! ID=%sieii( RtGetPlayerManagertGetPlayerByIndexR¹R RARRRRR0t GetNeedItemtGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListt DelCostItemRtItemDel_MagicWeapontGetDictValueByBittDef_PDict_XBXZAwardRecordRtFBCommontNotify_FB_OvertDef_FBMapID_MagicWeapontOver_dataMapIDt Over_isPassRt SetCustomMapR ( tindext
clientDataRRR
RkR)R(t needItemDicttitemPackt lackItemDictt delInfoDict((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnOpenMagicWeapon;s8             ' c%Cs>tjd|ƒ}|sdStj|tj|ƒrItjd|ƒdS|jƒ}|jƒ}d}|dkr9d}|j    ƒj
t j ƒ}x|D]š\}}}    }
tjd||
ƒ} | sËq˜n| j ƒ} |j| ƒ} | jƒrøq˜n| jƒ}| jƒ}||kr˜||    kr˜d}Pq˜q˜Wnb|dkrô|j    ƒj
t j ƒ}|\}}tjdi|d6tƒ}|r›xc|D]X}|j ƒ} |j| ƒ} | jƒrÅq’n| jƒ}||kr’|d7}q’q’Wq›n§|dkrR|d}tj|tjƒd}|jd    iƒ}||krEdS||}nI|d
kr°|d}tj|tjƒd}|jd iƒ}||kr£dS||}në|d kr|d}tj|tjƒd}|jd iƒ}||krdS||}n|dkrl|d}tj|tjƒd}|jdiƒ}||kr_dS||}n/|dkr|jtjƒ}n|dkr®|jtjƒ}ní|dkrÏ|jtjƒ}nÌ|dkrþ|d}|jtj|ƒ}n|dkr-|d}|jtj |ƒ}nn|dkrH|j!ƒ}nS|dkr||d}t"||ƒrsdnd}n|dkr—|j#ƒ}ndStjd||||j$ƒfƒ||j$ƒkrôtjd|||j$ƒfƒdS|j%ƒ}|rJt&j'|t j(ƒ}t)|ƒ} | |krJtj*|dƒdSntj+|tj|dƒ|r¢x6|D]+\}!}"t,j-||!|"dt j(gƒqpWnx-|j.ƒD]\}#}$tj/||#|$ƒq¯Wt,j0||dd|j.ƒƒt1||gƒt2j3|t4j5d|j6ƒgƒtjd||fƒdS(NR¸s"    Ïɱ¦Ñ°Ö÷Áì½± ÒÑÁìÈ¡£¡ index=%siitEquipPlaceIndexMapitClassLVitclassPlusLVDictitclassStarLVDictitclassWashLVDictitclassStoneLVDictiii    i
i i i is2Ïɱ¦Ñ°Ö÷Áì½± ID=%s,curType=%s,cnt=%s,GetNeedCnt=%ss6    Ïɱ¦Ñ°Ö÷Áì½± , Ìõ¼þ²»Âú×ã ID=%s, cnt=%s,NeedCnt=%stGeRen_chenxin_998371t    moneyInfos!    Ïɱ¦Ñ°Ö÷Áì½±OK, ID=%s, cnt=%s(7RR<RRÅRRÆRAtGetTypet GetConditionR½R¾R¿trptEquipt GetGridIndextGetAttIsEmptyt GetItemColort
GetSuiteIDRRRtGetCalcAttrListValuetDef_CalcAttrFunc_PlusR4tDef_CalcAttrFunc_StartDef_CalcAttrFunc_WashtDef_CalcAttrFunc_StoneRtDef_PDict_HorserLVtDef_Player_Dict_SkyTowerFloort!Def_Player_Dict_TrialTower_PassLVtDef_PDict_Boss_KillCntTotaltDef_PDict_GodWeaponLVR#R tGetOfficialRankt
GetNeedCntt GetAwardItemRÁtGetItemPackSpaceRÀtlenR2tSetDictValueByBitt ItemControlertGivePlayerItemtGetMoneyt    GiveMoneytNotifyGiveAwardInfoRR8R9R:t SuccType_XBXZR(%RRÍR(tcurTypet conditionListtcntt playerEquiptclasslvtcolortsuitetplacet equipIpyDatat    gridIndextcurEquipt curItemColort
curIsSuitetclassLVR)tiDatatcustomAttrDictPlusRÖtcustomAttrDictStarR×tcustomAttrDictWashRØtcustomAttrDictStoneRÙt    bossIndextgwTypeR
t awardItemListt    packSpacet    needSpacetitemIDtitemCntt    moneyTypeR·((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnGetXBXZAward`sØ                
 
 
 
 
 
 
 #    &"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(tappendRR^t GetXBXZCounttGetXBXZByIndexRRˆtChPyNetSendPackttagMCXBXZAwardRecordListtCleart
RecordListRRRÆttagMCXBXZAwardRecordt RecordIndextRecordRòt    RecordCntt NetPackCommont SendFakePack( Rt
syncIDListtrecordIndexListtsuccIDRctsuccCntt    maxSuccidt succFARPackRdt awardRecordt
recordInfo((spD:\SG_ServerCode\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(NiR.s·¨±¦Éý¼¶¾­Ñé²»×ã%s(RRºR»R¹RRR    RR<t
GetNeedExptDef_PDict_MagicWeaponUpExpRARRR (
RÍRÎRRR
R tnextMWLVt nextIpyDatatneedExptcurUpExp((spD:\SG_ServerCode\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(RRARRR,RRRR0RtPlayerActivitytAddDailyActionFinishCntR:tDailyActionID_MagicWeapon(RR
taddExpR0R(Rh((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytAddMagicWeaponUpExp;s   c Cs|dkrft}g}tjƒ}xNt|jƒƒD](}|j|ƒ}|j|jƒƒq7Wnt}|g}t    j
ƒ}g|_ xÐ|D]È}|j t j|ƒ}|j t j|ƒ}    |j t j|ƒ}
t||ƒ} |r| r|     r|
r| rq‘nt    jƒ} || _|| _|    | _|
| _| | _|j j| ƒq‘Wt|j ƒ|_|jr‹tj||ƒndS(Niÿÿÿÿ(RRR^R_R`RaRRRRttagMCMagicWeaponLVInfotInfoListRRR    R,RR–ttagMCMagicWeaponInfoR¹tLVtExptFBPassLVtIsWearRòtCountR!R"( RR
tisAllt needCalListRcRdR(tsendPacktmwLvR0R<tisWeartpack((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRIs:            "                         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¹R tStateRR6R1R–tSetMagicWeaponWearStateR!RR"R(    RÍRÎRRR
RCtmaxCntt
hasWearCnttmid((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnWearMagicWeaponvs$         
 cCstj|tj|tƒS(N(RRÅRtDef_PDict_MagicWeaponIsWearR(RR
((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyR–ŒscCs tj|tj||tƒdS(N(RRóRRKR(RR
tstate((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyRF‘scCs"tjƒj|ƒ}|j}dS(N(RRºR»R¹(RÍRÎRRR
((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pytOnThinkMagicWeapons    (+RÁR:R!RFRRR¿RqRRRRsRDR8R{RôR2RÇRBtrandomRRRR R+R R7R0RfRlRR>R!RÓRRR1R6RRJR–RFRM(((spD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMagicWeapon.pyt<module>sR                                
  +                  #    U    %    Ÿ '         -