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
…Â\ic@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dZ
dZ d„Z d„Z d„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(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 OnPlayerLogin,s
cCs,t||ƒ\}}}|s$|r(tStS(N(R    tTruetFalse(RRRRt_((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytIsGubaoActivated0s 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 OnGubaoStarUpdsZ       
      
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(CsM|jƒ}i}i}tjƒ}xlt|jƒƒD]X}|j|ƒ}|jƒ}t||ƒsmq7n|jƒ}t    ||ƒ\}    }
} |
||<|j
ƒ} |j ƒ} |j ƒ}xVt | ƒD]H\}}| |}||}|||
}|j|dƒ|||<qÌWtjd||
| | ||f|ƒ|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}d}tjd||    ƒ}|rÿ|jƒ}|jƒ}xIttt|ƒt|ƒƒƒD]#}|||krÕ||}qÕqÕWn|sd
\} }nt|||
|t|ƒ| ƒ}|j|dƒ|||<tjd|||    |
|| |||||||f |ƒq7Wxƒt|jƒƒD]o}|j|ƒ}|j ƒ}|j!ƒ}|sßq¦ng|D]}|j|dƒ^qæ}t|ƒ} tj"d|ƒ}!|!s.q¦nd}"x0|!D](}#|#j$ƒ}$|$| kr]Pn|#}"q;W|"stjd|| |f|ƒq¦n|"j%ƒ}%|"j&ƒ}&x>t |%ƒD]0\}'}|&|'}|j|dƒ|||<qµWtjd||"j$ƒ||%|&|f|ƒq¦Wtjd    ||ƒt'j(|ƒj)t*j+|ƒdS( Nis>¹Å±¦»ù´¡ÊôÐÔ! gubaoID=%s,star=%s,addAttr=%s,v:%s,perStar:%s,%st GubaoLVAttris€¹Å±¦ÌØÊâÊôÐÔ! gubaoID=%s,quality=%s,lv=%s,star=%s,effType=%s,layer=%s/%s,attrID=%s,v=%s,perStar=%s,specLVAttr=%s,attrValue=%s,%stGubaoResonanceAttrs7ûÓйű¦¹²ÃùÊôÐÔ! resonanceID=%s,minStar=%s,starList=%ssF¹Å±¦¹²Ãù: resonanceID=%s,resonanceStar=%s,starList=%s,addAttr=%s,%s,%ss ¹Å±¦ÊôÐÔ: %s(ii(,RRRNRORPRQRRRR-R    tGetBaseAttrIDListtGetBaseAttrValueListtGetBaseAttrPerStarAddListt    enumeratetgetRRt GetSpecAttrIDtGetSpecEffTypetGetSpecEffLayerMaxtGetSpecAttrValuetGetSpecAttrPerStarAddRtGetSpecAttrIDListtGetSpecAttrValueListtrangeR
tlentinttfloattGetGubaoResonanceCounttGetGubaoResonanceByIndextGetResonanceIDtGetGubaoIDListR.R/tGetResonanceStartGetResonanceAttrIDListtGetResonanceAttrValueListR[R\t SetCalcAttrRtDef_CalcAttr_Gubao((RR&tattrDictt gubaoStarDictRUR#R'RR<RRRtBaseAttrIDListtBaseAttrValueListtBaseAttrPerStarAddListtbIndextattrIDt    baseValuet
perStarAddt    attrValueteffTypetlayerMaxt SpecAttrValuetSpecAttrPerStarAddt
specLVAttrt lvAttrIpyDatatspecAttrIDListtspecAttrValueListtsIndext resonanceIDt gubaoIDListtstarListtminStartattrIpyDataListtresonanceAttrIpyDatat attrIpyDatat resonanceStartresonanceAttrIDListtresonanceAttrValueListti((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRZös    
 
 
           (&    6  %    
 
    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(RRNRORPRQRRRRfRgR    R
R tappendRR"( RRƒtaddLayerRRUR#R'RR„RRR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAddGubaoSpecEffLayerQs.     
cCsŒtjdƒ}|sˆi}tjƒ}xKt|jƒƒD]7}|j|ƒ}|jƒ}|jƒ}|||<q:Wtjd|ƒn|S(NtItemGubaoIDDict(    Rt GetConfigExRNRlRPRQRRRt SetConfigEx(RšRUR#R'RtitemID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetItemGubaoIDDictms   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/RRNRlRPRQR—RRRR    tChPyNetSendPackt
tagMCGubaoRRHR,tEffLayerttagMCGubaoInfot GubaoInfoListRmtCountt 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_ArenaR    R RRR+RGRMRVRYR"RZR™RžR«R/R(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt<module>s4                              &    @    2             [            2