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
“Ú]ic@sEddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dZ
dZ dZ dZ dZdZdZdZd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zdd„Zd„Zd„Zdd„Zd„Zd„Zd„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 SetGubaoInfo/s1cCst|ƒdS(N(tSync_GubaoInfo(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnPlayerLogin5s
cCs,t||ƒ\}}}|s$|r(tStS(N(R    tTruetFalse(RRRRt_((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytIsGubaoActivated9s 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.pytOnGubaoActivateGs0         
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 OnGubaoStarUpmsZ       
      
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}i}tjƒ}xlt|jƒƒD]X}|j|ƒ}|jƒ}t||ƒssq=n|jƒ}    t    ||ƒ\}
} } | ||<|j
ƒ} |j ƒ}|j ƒ}xVt | ƒD]H\}}||}||}||| }|j|dƒ|||<qÒW|jƒ}|jƒ}|jƒ}|jƒ}d}tjd|    |
ƒ}|rÓ|jƒ}|jƒ}xIttt|ƒt|ƒƒƒD]#}|||kr©||}q©q©Wn|sèd\} }nt||| |t|ƒ| ƒ}|j|dƒ|||<|jƒ}|r=|jƒ}|jƒ}|jƒ} || | }!||f}"|j|"dƒ|!||"<q=q=Wx:t|jƒƒD]&}|j |ƒ}|j!ƒ}#|j"ƒ}$|$såq¬ng|$D]}|j|dƒ^qì}%t|%ƒ}&tj#d|#ƒ}'|'s4q¬nd}(x0|'D](})|)j%ƒ}*|*|&krcPn|)}(qAW|(syq¬n|(j&ƒ}+|(j'ƒ},x>t |+ƒD]0\}-}|,|-}|j|dƒ|||<qžWq¬Wt(j)d||ƒt(j)d||ƒt*j+|ƒj,t-j.||ƒdS(Nit GubaoLVAttritGubaoResonanceAttrs ¹Å±¦ÊôÐÔ: %ss ¹Å±¦ÌØÈ¨: %s(ii(/RRRNRORPRQRRRR-R    tGetBaseAttrIDListtGetBaseAttrValueListtGetBaseAttrPerStarAddListt    enumeratetgett GetSpecAttrIDtGetSpecEffLayerMaxtGetSpecAttrValuetGetSpecAttrPerStarAddRtGetSpecAttrIDListtGetSpecAttrValueListtrangeR
tlentinttfloatt GetPowerTypetGetPowerTypeValuet GetPowerValuetGetPowerPerStarAddtGetGubaoResonanceCounttGetGubaoResonanceByIndextGetResonanceIDtGetGubaoIDListR.R/tGetResonanceStartGetResonanceAttrIDListtGetResonanceAttrValueListRRR[R\t SetCalcAttrRtDef_CalcAttr_Gubao(.RR&tattrDictt    powerDictt gubaoStarDictRUR#R'RR<RRRtBaseAttrIDListtBaseAttrValueListtBaseAttrPerStarAddListtbIndextattrIDt    baseValuet
perStarAddt    attrValuetlayerMaxt SpecAttrValuetSpecAttrPerStarAddt
specLVAttrt lvAttrIpyDatatspecAttrIDListtspecAttrValueListtsIndext    powerTypetpowerTypeValuet
powerValuetpowerPerStarAddtpowerValueTotaltpowerKeyt resonanceIDt gubaoIDListtstarListtminStartattrIpyDataListtresonanceAttrIpyDatat attrIpyDatat resonanceStartresonanceAttrIDListtresonanceAttrValueListti((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRZÿs’    
 
 
      (&     !  %    
 
"cCs?tj|ƒjtjƒ}||f}||kr7dS||S(Ni(R[R\tGetCalcSpecInfoRR{(RRRR}R”((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoPowerValuefs
  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(RRNRORPRQRRRtGetSpecEffTypeRfR    R
R tappendRR"( RteffTypetaddLayerR–RUR#R'RR‡RRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAddGubaoSpecEffLayerns.     
cCsŒtjdƒ}|sˆi}tjƒ}xKt|jƒƒD]7}|j|ƒ}|jƒ}|jƒ}|||<q:Wtjd|ƒn|S(NtItemGubaoIDDict(    Rt GetConfigExRNRkRPRQRRRt SetConfigEx(R§RUR#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    R0R1tGetFuncEvalCfgtstrRRtGivePlayerItemOrMailRtSetItemCountByID(RRªR§RR;R<tstarIpyDataListR*RRtneedPieceTotalR'RAt 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/RRNRkRPRQR£RRRR    tChPyNetSendPackt
tagMCGubaoRRHR,tEffLayerttagMCGubaoInfot GubaoInfoListRltCountt 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[RtGubaoEffType_GoldRushtGubaoEffType_ArenatGubaoEffType_TianzitGubaoEffType_MainLevelBosstGubaoEffType_ZhanchuitGubaoEffType_TraveltGubaoPowerType_TravelMultiRatet"GubaoPowerType_InvestMonthAwardPerR    R RRR+RGRMRVRYR"RZR¡R¦R«R¸R/R(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt<module>sB                              &    @    2             g             2