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
8´eic@sKddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dZ
dZ dZ dZ dZdZdZdZdZd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zdd„Zd„Zd„Zdd„Zd„Zd„Z d„Z!dd„Z#dS(iÿÿÿÿNiiiiiicCsE|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(Ni'i †içidic(tmint PlayerControltNomalDictSetPropertyRR(RRRRRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt SetGubaoInfo0s1cCst|ƒdS(N(tSync_GubaoInfo(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnPlayerLogin6s
cCs,t||ƒ\}}}|s$|r(tStS(N(R    tTruetFalse(RRRRt_((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytIsGubaoActivated:s 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.pytOnGubaoActivateHs0         
cCsBtjƒ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ƒ}|jƒ}|r"t|ƒdkr"|\}}d}tjƒ}xrt|jƒƒD]^}|j|ƒ}t ||jƒƒ\}}}|j    ƒ|krŠ||krŠ|d7}qŠqŠW||kr"tjd|| |||f|ƒdSn|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=%siis\¹Å±¦ÉýÐÇËùÐèͬƷÖÊÐǼ¶¹Å±¦Êý²»×㣡 quality=%s,nextStar=%s,condGubaoCnt=%s < %s,needGBStar=%ssM¹Å±¦ÉýÐÇËùÐèÎïÆ·²»×㣡 quality=%s,nextStar=%s,needItemList=%s,lackItemDict=%ss>¹Å±¦ÉýÐÇ: gubaoID=%s,updStar=%s,needSelfCnt=%s,needItemList=%s(%RRRRRRRRRtGetGubaoQualityRR    tGetIpyGameDataListtNonet GetGubaoStartGetQualityStarCondtGetStarUPNeedSelfCnttGetStarUPNeedItemListtlentIPY_Datatxranget GetGubaoCounttGetGubaoByIndext
GetGubaoIDtGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListRtCheckItemEnoughByIDR!t DelCostItemR R"R(R#R$R%RR&Rt gubaoIpyDatatqualityt
selfItemIDRRRtnextStart ipyDataListt nextIpyDataR'tqualityStarCondt needSelfCntt needItemListt    needGBCntt
needGBStart condGubaoCntt
ipyDataMgrt    gbIpyDataRtgbStartitemPackt lackItemDictt delInfoDicttupdStar((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnGubaoStarUpnsv       
              
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/tGetLessEqualLVtGetLVUPNeedItemInfoR:R;R<R=R>R?RAR R"R(R#R$R%RR&RRBRCRFRRRtnextLVRGR'RJRQRRRStupdLV((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(RR5R6R7R8R9R    (
RttotalLVt    totalStarRNR#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(RR5R6R7R8R9R(RtcheckCntt
totalCountRNR#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/CsP|jƒ}i}i}i}tjƒ}x‰t|jƒƒD]u}|j|ƒ}|jƒ}t||ƒssq=n|jƒ}    t    ||ƒ\}
} } | ||<|j
ƒ} |j ƒ}|j ƒ}xVt | ƒD]H\}}||}||}||| }|j|dƒ|||<qÒW|jƒ}|rE|jƒ}|jƒ}|jƒ}|jƒ}d}tjd|    |
ƒ}|rå|jƒ}|jƒ}xIttt|ƒt|ƒƒƒD]#}|||kr»||}q»q»Wn| só| rd\} }nt||| |t|ƒ| ƒ}|j|dƒ|||<n|jƒ}|r=|jƒ}|jƒ} |jƒ}!| |!| }"||f}#|j|#dƒ|"||#<q=q=WxLt|j ƒƒD]8}|j!|ƒ}|j"ƒ}$|j#ƒ}%|%sqÉng|%D]}|j|dƒ^q    }&t|&ƒ}'|'dkrEqÉntj$d|$ƒ}(|(scqÉnd})x0|(D](}*|*j&ƒ}+|+|'kr’Pn|*})qpW|)s¨qÉn|)j'ƒ},|)j(ƒ}-x>t |,ƒD]0\}.}|-|.}|j|dƒ|||<qÍWqÉWt)j*d||ƒt)j*d||ƒt+j,|ƒj-t.j/||ƒdS(    Nit GubaoLVAttriiÿÿÿÿtGubaoResonanceAttrs ¹Å±¦ÊôÐÔ: %ss ¹Å±¦ÌØÈ¨: %s(ii(0RRR5R6R7R8R9RR-R    tGetBaseAttrIDListtGetBaseAttrValueListtGetBaseAttrPerStarAddListt    enumeratetgett GetSpecAttrIDtGetSpecEffTypetGetSpecEffLayerMaxtGetSpecAttrValuetGetSpecAttrPerStarAddRtGetSpecAttrIDListtGetSpecAttrValueListtrangeR
R4tinttfloatt GetPowerTypetGetPowerTypeValuet GetPowerValuetGetPowerPerStarAddtGetGubaoResonanceCounttGetGubaoResonanceByIndextGetResonanceIDtGetGubaoIDListR.R/tGetResonanceStartGetResonanceAttrIDListtGetResonanceAttrValueListRRRcRdt SetCalcAttrRtDef_CalcAttr_Gubao(/RR&tattrDictt    powerDictt gubaoStarDictRNR#R'RRCRRRtBaseAttrIDListtBaseAttrValueListtBaseAttrPerStarAddListtbIndextattrIDt    baseValuet
perStarAddt    attrValueteffTypetlayerMaxt SpecAttrValuetSpecAttrPerStarAddt
specLVAttrt lvAttrIpyDatatspecAttrIDListtspecAttrValueListtsIndext    powerTypetpowerTypeValuet
powerValuetpowerPerStarAddtpowerValueTotaltpowerKeyt resonanceIDt gubaoIDListtstarListtminStartattrIpyDataListtresonanceAttrIpyDatat attrIpyDatat resonanceStartresonanceAttrIDListtresonanceAttrValueListti((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRbsš    
 
 
       (&     !  %     
 
"cCs?tj|ƒjtjƒ}||f}||kr7dS||S(Ni(RcRdtGetCalcSpecInfoRRƒ(RR˜R™R…R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoPowerValuezs
  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(RR5R6R7R8R9RRnRoR    R
R tappendRR"( RRtaddLayerRŸRNR#R'RRRRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAddGubaoSpecEffLayer‚s.     
cCsŒtjdƒ}|sˆi}tjƒ}xKt|jƒƒD]7}|j|ƒ}|jƒ}|jƒ}|||<q:Wtjd|ƒn|S(NtItemGubaoIDDict(    Rt GetConfigExR5RtR7R8R9Rt SetConfigEx(R®RNR#R'RtitemID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetItemGubaoIDDictžs   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    R0R2tGetFuncEvalCfgtstrRRtGivePlayerItemOrMailRtSetItemCountByID(RR±R®RRBRCtstarIpyDataListR*RRtneedPieceTotalR'RIt transPieceCnttqualityTransDictt transItemIDt
transCountttransCountTotal((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAutoTransGubaoPiece¬sT     
 
 
 
     c Cs9|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}x…|D]}}|dkr›t||ƒ r›qsnt    ||ƒ\}}    }
t
j ƒ} || _ || _ |    | _|
| _|j| ƒqsW|sþdSt
jƒ} || _t| jƒ| _tj|| ƒdS(N(R/RR5RtR7R8R«R9RR    tChPyNetSendPackt
tagMCGubaoRRVR,tEffLayerttagMCGubaoInfot GubaoInfoListR4tCountt NetPackCommont SendFakePack( RRŸt
syncIDListRNR#R't gubaoInfoListRRRRtgubaot
clientPack((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRÞs2                         ($RR>R RRÀRÆR<RRcRtGubaoEffType_GoldRushtGubaoEffType_ArenatGubaoEffType_TianzitGubaoEffType_MainLevelBosstGubaoEffType_ZhanchuitGubaoEffType_TraveltGubaoPowerType_TravelMultiRatet"GubaoPowerType_InvestMonthAwardPert!GubaoPowerType_InvestLifeAwardPerR    R RRR+RUR[R^RaR"RbRªR­R²R¿R/R(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt<module>sD                              &    O    2             k             2