hxp
2025-10-22 378d852041f213839b2d9a19c943131022657339
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
­Køhc@s`ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZdZdZdZdZd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zdd„Z d„Z!dS(iÿÿÿÿNiiiicCs'tj|tjƒsdSt|ƒdS(N(t GameFuncCommt GetFuncCanUset ShareDefinetGameFuncID_GodWeapontSync_GodWeaponLVInfo(t    curPlayer((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pytOnLogin0s
cCsFtj|tj||ƒt|ƒ}tj|tj|tt    ƒdS(N(
t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_GodWeaponLVtGetGodWeaponTotalLVtPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_GodWeapontFalsetTrue(Rt
weaponTypetlvttotalLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pytSetGodWeaponLV7s cCsmd}tjƒ}|j|jƒdƒjƒ}x5td|dƒD] }||jtj|ƒ7}qEW|S(Nii(    t IpyGameDataPYtIPY_DatatGetGodWeaponByIndextGetGodWeaponCounttGetTypetxrangetNomalDictGetPropertyR    R
(RRt
ipyDataMgrtmaxTypetgwType((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyR ?s  cCs8x'tjdƒD]}t||dƒqWt|ƒtS(NtGodWeaponActivei(RtGetFuncEvalCfgRRR(Rti((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pytDoGodWeaponOpenJs
cCs!t|ƒtj|ƒjƒdS(N(tCalcGodWeaponAttrRtRefreshPlayerAttrState(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pytRefreshGodWeaponAttrSs
c Csltj|tjƒsdStjƒ}|j|jƒdƒjƒ}d}gt    dƒD] }i^qW}xÐt
d|dƒD]»}|j t j |ƒ}|s¥q}ntjd||ƒ}|sÆq}n|jƒ|jƒ}    }
x1t|    ƒD]#\}} tj| |
||ƒqìW|tjdƒjt|ƒdƒ7}q}Wtj|tj|ƒtj|t j|ƒdS(Niiit    GodWeapont MagicExterior(RRRRRRRRRtrangeRRR    R
tGetIpyGameDatat GetAttrTypet
GetAttrNumt    enumerateRtCalcAttrDict_TypeR tgettstrtSetMFPExFightPowertDef_MFPType_GodWeapontSetCalcAttrListValuetDef_CalcAttrFunc_GodWeapon( RRRt fightPowerExR!t allAttrListRtattrLVt godWeaponDatat attrTypeListt attrValueListtattrID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyR#]s( )cCs¦tjƒj|ƒ}|j}|jtj|ƒrItjd|ƒdSt||ƒsgt    ||ƒr¢t
||dƒt |ƒtjd|ƒt ||ƒndS(NsÒѾ­½âËøµÄÉñ±ø!weaponType=%sis½âËøÉñ±ø: weaponType=%s( t    GameWorldtGetPlayerManagertGetPlayerByIndext
WeaponTypeRR    R
tDebugLogt__GWCheckPlayerLVt__GWCheckOtherGWLVRR%R(tindext
clientDatattickRR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pytOnGodWeaponActivate…s    
cCsVtjddiƒ}t|ƒ|kr<tjd|ƒtS|jƒ|t|ƒkS(NRis¸ÃÉñ±ø²»ÄܽâËø!weaponType=%s(RR R/R;R?RtGetLV(RRtgodWeaponUnlockDict((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyR@—s
cCsªtjddiƒ}t|ƒ|kr<tjd|ƒtS|t|ƒ}xW|D]O\}}|jtj|ƒ}||krStjd||||fƒtSqSWt    S(NRis¸ÃÉñ±ø²»ÄܽâËø!weaponType=%ssTËùÐèǰÖÃÉñ±øµÈ¼¶²»×㣬ÎÞ·¨½âËø£¡weaponType=%s,needType=%s,needLV=%s > needTypeLV(%s)(
RR R/R;R?RRR    R
R(RRRGt conditionListtneedTypetneedLVt
needTypeLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyRAŸs     c 
CsŠtjƒj|ƒ}|j}|j}td|jƒ}|j}tj    |t
j ƒs[dS|j t j|ƒ}|}    tjd||ƒ}
|
s­tjd||fƒdS|
jƒ} | dkrÉdS|tjd|ƒkrædStjƒj|ƒ} | sdStj| t jƒ} | s5tjd|ƒdS| jdƒ}|s_tjd|ƒdSd}tj|||ƒ\}}}td|||ƒ}|dkrw|sÐtjd|||||fƒdStjddiƒ}t|ƒ|krûdS|t|ƒ\}}||}||}|dkr5dSi|t j6|d    6}tj|tj |t j!||ƒswdSn||}|r©tj"|||||t j#ƒn|||}|j t j$|ƒ}||}tjd
||    ||||||fƒt%}xÁt&d ƒD]³}|| kr)Pntjd||dƒ}
|
sctjd||fƒPntjd || fƒ|| }|d7}t'}t(||
|ƒ|
jƒ} | dkrd}PqqWtj)|t j$||ƒ|ryt*|||ƒtjd ||fƒt+|ƒ|    dkrjtjddiƒj,|dƒ}tj-d||j.ƒ|gƒn|
jƒ} nt/||ƒdS(NiR&sÉñ±øÉý¼¶ÕÒ²»µ½Êý¾Ý %s-%sis GodWeapon%ss ###Éñ±ø¼Ù°ü£¬ÎïÆ·ID=%sûÓо­ÑéÖµsRÉñ±øÉý¼¶ÏûºÄ²»×ã!useItemID=%s,useItemCount=%s,bindCnt=%s,unBindCnt=%s,lackCount=%st GodMagicExpt    lackCountsXÖ´ÐÐÉñ±øÉý¼¶: weaponType=%s,beforeAttrLV=%s,befExp=%s,addTotalExp=%s(%s*%s+%s),curExp=%sids"    Éñ±øÉý¼¶: attrLV=%s,needExp=%ss!Éñ±øÉý¼¶½á¹û: attrLV=%s,curExp=%st GodWeaponSyst GetGodWeapon(0R;R<R=R>tItemIDtmaxt    ItemCountt    IsAutoBuyRRRRRR    R
RR)R?tGetExpR t GetGameDatatGetItemByTypeIDt
ItemCommontGetItemEffectByEffectIDtDef_Item_Eff_GodWeaponExptGetEffectValuetGetPackItemBindStateIndexInfoR/tDef_Cost_Reason_SonKeyRtPayMoneyt IPY_GameWorldtTYPE_Price_Gold_MoneytDef_Cost_GodWeapontDelCostItemByBindtItemDel_GodWeapontDef_PDict_GodWeaponExpRRRt GodWeaponLVUPRRR%R.t WorldNotifytGetNameR( RBRCRDRRt    useItemIDt useItemCountt    isAutoBuyR6t beforeAttrLVR7ttotalExptitemDatateffecttitemExpt goldExpTotaltcostItemIndexListtbindCntt    unBindCntRMtgodMagicExpDicttcostGoldtgoldExptlackCosttinfoDicttdelUseItemCountt addTotalExptbefExptcurExptisLVUPt_tsysMark((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pytOnPlusGodWeapon»sª                   
 
 
"
      
 
 
 !"  cCsc|jƒ}|r_t||ƒr_|jƒ}|rXtjd||jƒ||gƒn|SndS(Ni(t
GetSkillIDt__GiveGodWeaponSkillt
GetSysMarkRReRf(RR7R6tskillIDR~((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyRd;s  %icCs_tjƒ}|jƒg|_|dkrØtjƒ}|j|jƒdƒjƒ}xàt    d|dƒD]g}tj
ƒ}|jƒ||_ |j t j|ƒ|_|j t j|ƒ|_|jj|ƒqjWnatj
ƒ}|jƒ||_ |j t j|ƒ|_|j t j|ƒ|_|jj|ƒt|jƒ|_tj||ƒdS(Nii(tChPyNetSendPackttagMCGodWeaponLVListtCleartWeaponInfoListRRRRRRttagMCGodWeaponLVInfoR>RR    R
tWeaponLVRct    WeaponExptappendtlent    WeaponNumt NetPackCommont SendFakePack(Rt godWeaponIDtsendPackRRR!t
weaponInfo((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyRMs, 
       
     
    c
Cs‡|jƒ}|j|ƒr0tjd|ƒdStjƒj|ƒ}|dkrftjd|ƒdStj||ƒstjd|ƒdS|j    ƒ}|j
ƒ}d\}}|j |ƒ}|r|j    ƒ}    |j ƒ}|j ƒ}||    krtjd|||    |fƒdSn|j|ƒtjd|||fƒtj||dƒtjƒj||ƒtj|ƒj||ƒtS(Ns!godSkill() have learned skill(%s)s godSkill() hasn't find skill(%s)s1godSkill() learn skill(%s) condition isn't enoughisUgodSkill() learn skill(%s) skillLV(%s) <= befSkillLV(%s),befSkillID=%s no need learn.s?godSkill() skill(%s) success! befSkillID=%s,beforeFightPower=%s(ii(tGetSkillManagertFindSkillBySkillIDR;R?RUtGetSkillBySkillIDtNonet
SkillShelltCheckLearnSkillConditiont
GetSkillLVtGetSkillTypeIDtFindSkillBySkillTypeIDR€t GetFightPowertLearnSkillByIDtDataRecordPacktDR_LearnORUPSkilltPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEffRtRefreshSkillFightPowerExR(
RRƒt skillManagert    skillDatatskillLVt skillTypeIDt
befSkillIDtbeforeFightPowertbefSkillt
befSkillLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyRps:              ("R;R    RRWR^R„RŽRR—RžRt SkillCommont    BuffSkillR RR trandomtDef_GodWeaponType_HPtDef_GodWeaponType_AtktDef_GodWeaponType_SuperHittDef_GodWeaponType_DefRRR R"R%R#RER@RARRdRR(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGodWeapon.pyt<module>sB                                          
    (                €     #