hxp
2025-10-11 c214883c9bcdb1733e949abfd8f38ea7944e87a3
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
/Mêhc@s!ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ dZ d„Z d„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd d „Zd„Zd„Zd„Zd„Zd„Zdd„ZdS(iÿÿÿÿNiicCsE|jtj|ƒ}|d}|dd}|d}|||fS(Ni †id(tNomalDictGetPropertytChConfigtDef_PDict_GubaoInfo(t    curPlayertgubaoIDtinfotlayertlvtstar((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt GetGubaoInfo!s
 
 
cCsOt|dƒdt|dƒdt|dƒ}tj|tj||ƒdS(Nici †içid(tmint PlayerControltNomalDictSetPropertyRR(RRRRRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt SetGubaoInfo's1cCst|ƒdS(N(tSync_GubaoInfo(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnPlayerLogin-s
cCs,t||ƒ\}}}|s$|r(tStS(N(R    tTruetFalse(RRRRt_((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytIsGubaoActivated1s c CsCtjƒj|ƒ}|jƒ}|j}t||ƒrQtjd||ƒdStjd|ƒ}|smdS|j    ƒ}|j
ƒ}| s“| r—dSt j ||ƒ}    |    |krÙtjd|||    |f|ƒdSt j |||ƒd\}
} } t|||
| | ƒtjd||ƒt|ƒt||gƒdS(Ns¹Å±¦ÒѾ­¼¤»î¹ý£¡ gubaoID=%stGubaos<¼¤»î¹Å±¦Ë鯬²»×ã! gubaoID=%s,needItemID=%s,itemCount=%s < %siis¹Å±¦¼¤»î³É¹¦£¡ gubaoID=%s(iii(t    GameWorldtGetPlayerManagertGetPlayerByIndext GetPlayerIDtGubaoIDRtDebugLogt IpyGameDataPYtGetIpyGameDatatGetUnlockItemIDtGetUnlockItemCntt ItemControlertGetItemCountByIDtDelItemCountByIDR tRefreshGubaoAttrR( tindext curPackDatattickRtplayerIDRtipyDatat
needItemIDt needItemCntt    itemCountRRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytOnGubaoActivate?s0         
cCsUtjƒj|ƒ}|jƒ}|j}t||ƒsQtjd||ƒdStjd|ƒ}|smdS|j    ƒ}|j
ƒ}t ||ƒ\}    }
} |
d} tj d|ƒ} | sÃdSd}x*| D]"}|jƒ| krÐ|}PqÐqÐW|stjd|||
f|ƒdS|jƒ}|jƒ}|r˜|jƒjtjƒ}tj||ƒ\}}|r˜tjd|| ||f|ƒdSn|rºtj|||ƒsºdSn|rÜ|rÜtj|||ƒn|rûtj|||dƒn| }t|||    || ƒtjd||||f|ƒt|ƒt||gƒdS(Ns!¹Å±¦Î´¼¤»î£¬ÎÞ·¨ÉýÐÇ£¡ gubaoID=%sRit    GubaoStars*¹Å±¦ÒÑÂúÐÇ£¡ gubaoID=%s,quality=%s,star=%ssM¹Å±¦ÉýÐÇËùÐèÎïÆ·²»×㣡 quality=%s,nextStar=%s,needItemList=%s,lackItemDict=%ss>¹Å±¦ÉýÐÇ: gubaoID=%s,updStar=%s,needSelfCnt=%s,needItemList=%s(RRRRRRRRRtGetGubaoQualityRR    tGetIpyGameDataListtNonet GetGubaoStartGetStarUPNeedSelfCnttGetStarUPNeedItemListtGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListRtCheckItemEnoughByIDR!t DelCostItemR R"R(R#R$R%RR&Rt gubaoIpyDatatqualityt
selfItemIDRRRtnextStart ipyDataListt nextIpyDataR't needSelfCntt needItemListtitemPackt lackItemDictt delInfoDicttupdStar((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnGubaoStarUpesZ       
      
cCsùtjƒj|ƒ}|jƒ}|j}t||ƒsQtjd||ƒdStjd|ƒ}|smdS|j    ƒ}tj
d|ƒ}|s•dSt ||ƒ\}    }
} |    d} d} x*|D]"}| |j ƒkrÄ|} PqÄqÄW| stjd|||    f|ƒdS| jƒ}|r€|jƒjtjƒ}tj||ƒ\}}|r€tjd|| ||f|ƒdSn|rŸtj|||dƒn| }t||||
| ƒtjd||||f|ƒt|ƒt||gƒdS(Ns!¹Å±¦Î´¼¤»î£¬ÎÞ·¨Éý¼¶£¡ gubaoID=%sRtGubaoLVis(¹Å±¦ÒÑÂú¼¶£¡ gubaoID=%s,quality=%s,lv=%ssK¹Å±¦Éý¼¶ËùÐèÎïÆ·²»×㣡 quality=%s,nextLV=%s,needItemList=%s,lackItemDict=%ss8¹Å±¦Éý¼¶: gubaoID=%s,quality=%s,updLV=%s,needItemList=%s(RRRRRRRRRR-R.R    R/tGetLessEqualLVtGetLVUPNeedItemInfoR3R4R5R6R7R8R:R R"R(R#R$R%RR&RR;R<R?RRRtnextLVR@R'RBRCRDREtupdLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnGubaoLVUp¥sN      
       
c
Cs†d\}}tjƒ}xat|jƒƒD]M}|j|ƒ}|jƒ}t||ƒ\}}}    ||7}||7}q+W||fS(Ni(ii(RtIPY_Datatxranget GetGubaoCounttGetGubaoByIndext
GetGubaoIDR    (
RttotalLVt    totalStart
ipyDataMgrR#R'RRRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoTotalLVStar×s   
icCsƒd}tjƒ}xjt|jƒƒD]V}|j|ƒ}|jƒ}t||ƒs[q%n|d7}|r%||kr%Pq%q%W|S(Nii(RRNRORPRQRRR(RtcheckCntt
totalCountRUR#R'R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoTotalCntãs  
cCs!t|ƒtj|ƒjƒdS(N(t CalcGubaoAttrt PlayerOnlinetGetOnlinePlayertRefreshRoleAttr(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyR"òs
c"Cs±|jƒ}i}i}tjƒ}xÐt|jƒƒD]¼}|j|ƒ}|jƒ}t||ƒsmq7nt||ƒ\}}    }
|    ||<|j    ƒ} |j
ƒ} |j ƒ} xVt | ƒD]H\}}| |}| |}|||    }|j |dƒ|||<qÀWtjd||    | | | |f|ƒ|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}||t|ddƒ||    }|r¤||
9}n|j |dƒ|||<tjd|||    ||
||||||f |ƒq7Wxƒt|jƒƒD]o}|j|ƒ}|jƒ}|jƒ}|sCq
ng|D]}|j |dƒ^qJ}t|ƒ}tjd|ƒ}|s’q
nd}x0|D](}|jƒ}||krÁPn|}qŸW|sôtjd|||f|ƒq
n|jƒ}|j ƒ} x>t |ƒD]0\}!}| |!}|j |dƒ|||<qWtjd||jƒ||| |f|ƒq
Wtjd||ƒt!j"|ƒj#t$j%|ƒdS(    Nis>¹Å±¦»ù´¡ÊôÐÔ! gubaoID=%s,star=%s,addAttr=%s,v:%s,perStar:%s,%sism¹Å±¦ÌØÊâÊôÐÔ! gubaoID=%s,lv=%s,star=%s,effType=%s,layer=%s,attrID=%s,v=%s,perLV=%s,perStar=%s,attrValue=%s,%stGubaoResonanceAttrs7ûÓйű¦¹²ÃùÊôÐÔ! resonanceID=%s,minStar=%s,starList=%ssF¹Å±¦¹²Ãù: resonanceID=%s,resonanceStar=%s,starList=%s,addAttr=%s,%s,%ss ¹Å±¦ÊôÐÔ: %s(&RRRNRORPRQRRRR    tGetBaseAttrIDListtGetBaseAttrValueListtGetBaseAttrPerStarAddListt    enumeratetgetRRt GetSpecAttrIDtGetSpecEffTypetGetSpecAttrValuetGetSpecAttrPerLVAddtGetSpecAttrPerStarAddtmaxtrangetGetGubaoResonanceCounttGetGubaoResonanceByIndextGetResonanceIDtGetGubaoIDListR
R.R/tGetResonanceStartGetResonanceAttrIDListtGetResonanceAttrValueListR[R\t SetCalcAttrRtDef_CalcAttr_Gubao("RR&tattrDictt gubaoStarDictRUR#R'RRRRtBaseAttrIDListtBaseAttrValueListtBaseAttrPerStarAddListtbIndextattrIDt    baseValuet
perStarAddt    attrValueteffTypet SpecAttrValuetSpecAttrPerLVAddtSpecAttrPerStarAddt resonanceIDt gubaoIDListtstarListtminStartattrIpyDataListtresonanceAttrIpyDatat attrIpyDatat resonanceStartresonanceAttrIDListtresonanceAttrValueListti((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRZ÷s~   
 
 
         #     0  %    
 
    c Csg}tjƒ}xÚt|jƒƒD]Æ}|j|ƒ}|jƒ}t||ƒs[q%n||jƒkrsq%n|jƒ}|s‹q%nt    ||ƒ\}    }
} | |krµq%nt
|| |ƒ} t |||    |
| ƒ|j |ƒq%W|sùdSt ||ƒt|ƒdS(N(RRNRORPRQRRRRetGetSpecEffLayerMaxR    R
R tappendRR"( RR~taddLayerRƒRUR#R'RtlayerMaxRRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAddGubaoSpecEffLayerHs.     
cCsŒtjdƒ}|sˆi}tjƒ}xKt|jƒƒD]7}|j|ƒ}|jƒ}|jƒ}|||<q:Wtjd|ƒn|S(NtItemGubaoIDDict(    Rt GetConfigExRNRjRPRQRRRt SetConfigEx(R’RUR#R'RtitemID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetItemGubaoIDDictds   c
Csïtƒ}||krdS||}t||ƒs6dStjd|ƒ}|sRdS|jƒ|krhdS|jƒ}tjd|ƒ}|sdStj||ƒ}|dkr²dSt    ||ƒ\}}    }d}
xX|D]P} |    | j
ƒkrõq×n| j ƒ} | s q×n|
| 7}
||
kr×dSq×W||
} | dkrEdStj ddiƒ}t |ƒ|krpdS|t |ƒ\}}|| }tjd||||    |
| ||fƒtj|||ggdtƒtj|||
ƒ| S(NRR,iis„×Ô¶¯×ª»¯¹Å±¦Òç³öË鯬! gubaoID=%s,itemID=%s,itemCount=%s,star=%s,needPieceTotal=%s,transPieceCnt=%s,transItemID=%s,transCountTotal=%st isNotifyAward(R–RRRRR-R.RR R    R0R1tGetFuncEvalCfgtstrRRtGivePlayerItemOrMailRtSetItemCountByID(RR•R’RR;R<tstarIpyDataListR*RRtneedPieceTotalR'RAt transPieceCnttqualityTransDictt transItemIDt
transCountttransCountTotal((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAutoTransGubaoPiecersT     
 
 
 
     c CsQ|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}x‘|D]‰}|dkr›t||ƒ r›qsnt    ||ƒ\}}    }
t
j ƒj t jƒ} || _|| _|    | _|
| _|j| ƒqsW|s
dSt
j ƒj t jƒ} || _t| jƒ| _tj|| ƒdS(N(R/RRNRjRPRQRŽRRRR    tObjPoolt
GetPoolMgrtacquiretChPyNetSendPackt
tagMCGubaoRRHR,tEffLayerttagMCGubaoInfot GubaoInfoListtlentCountt NetPackCommont SendFakePack( RRƒt
syncIDListRUR#R't gubaoInfoListRRRRtgubaot
clientPack((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyR¤s2                       (RR7R RR§R®R5RR[RR¤tGubaoEffType_GoldRushtGubaoEffType_ArenaR    R RRR+RGRMRVRYR"RZR‘R–R£R/R(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt<module>s6                               &    @    2             Q            2