cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
àäF\c@sZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZiad„Zd„Zd„Zd„Zd„Zd„Zed„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Z d„Z!dS(iÿÿÿÿNc Csptj|tjtjƒsUtj|tjtjdƒtjddƒ}xûtd|dƒD]æ}|j    tj
|dƒ}|sˆq]nt j |ƒ}tj d|ƒ}|sµq]nt j|ƒ}|tjkr]t j|ƒ}t j|ƒ}t j|||tjƒ}    tj|tj
||    ƒtjd|||    fƒq]q]Wtj}
xttj|
ƒƒD]è} |j    tj|
| fƒ}|s”qfnt j |ƒ}tj d|ƒ}|sÁqfnt j|ƒ}|tjkrft j|ƒ}t j|ƒ}t j|||tjƒ}    t j|tj| |    ƒtjd| ||    fƒqfqfWnt|tƒt|ƒdS(Nit
RuneUnlockiit RuneCompounds?ÉÏÏßÐÞ¸´Ë«ÊôÐÔ·ûÓ¡À´Ô´ RuneNum=%s,oldRuneData=%s,updRuneData=%ss=ÉÏÏßÐÞ¸´Ë«ÊôÐÔ·ûÓ¡À´Ô´ place=%s,oldRuneData=%s,updRuneData=%s(t    GameWorldtGetDictValueByBittChConfigtDef_Player_Dict_VersionFixtDef_VerFix_RuneSourcetSetDictValueByBitt IpyGameDataPYt
GetFuncCfgtxrangetNomalDictGetPropertytDef_PDict_Rune_Datat ItemControlert GetRuneItemIDtGetIpyGameDataNotLogtGetRuneItemSourcetItem_Source_CompoundtGetRuneItemPlusLVtGetRuneItemIsLocktGetRuneItemKeyDatat PlayerControltNomalDictSetPropertytLogt ShareDefinetrptRunet
ItemCommont GetVPackCnttDef_PDict_VPackItemtSetVPackItemKeyDatatDoUnlockRuneHoletFalset Sync_RuneInfo( t    curPlayert runeHoleCnttRuneNumtRuneDatat
RuneItemIDtipyDatat
RuneSourcetRuneItemPlusLVt
RuneIsLockt updRuneDatat    packIndextplace((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytPlayerRuneLogin(sJ!    $ 
cCstjd|ƒS(NtRune(RtGetIpyGameData(titemID((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytGetRuneIpyDataSsc
Cs,tjƒj|ƒ}|sdSt|ƒ}|s5dS|jƒ}|dkrwtjddiƒ}|j|dƒ}n±|tkrt|}n)|d}t    tj
dƒƒ}|t|<tjddiƒ}||krñ|t ||ƒ9}nt |j ƒƒdkr(tjddƒ}    ||    9}n|S(NitRuneExpiiii(Rt GetGameDatatGetItemByTypeIDR1t GetItemColorRtGetFuncEvalCfgtgettg_runeLVExpDicttevaltGetFuncCompileCfgtfloattlent GetAttrTypeR    (
R0tlvtitemDataR&t    itemColortexpDicttexptleveltqualityPerDictt
specialPer((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytGetRuneNeedExpVs,     
 
  cCsstjƒj|ƒ}|siSt|ƒ}|s5iS|d}|jƒ}t|ƒdk}|jƒ}i}xý|D]õ}    d|    }
tj|
ƒ} | s¡qvnt    | ƒ} tj
|
diƒ} || krå| t | |ƒ9} ntj
|
diƒ}| |j |dƒ7} |rUtj |
dƒ}|r;| |9} qUtjd||
fƒnt| ƒ|t|    ƒ<qvW|S(Nis
RuneAttr%siiiis- itemID=%s   ¹¦ÄÜÅäÖñíkeyStr=%s, ÊýÖµ3δÅäÖÃ(RR3R4R1R=R<R5RR:R9R6R;R7R    tErrLogtint(R0R>R?R&RCt attrTypeListt    isSpecialR@tattrDicttattrTypetkeyStrt attrFormulatvalueRDtextraValueDictRE((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytGetRuneAttrValuess: 
 
   cCsVtjƒj|ƒ}|sdStjddiƒ}|jƒ}|j|dƒ}|S(Nit    RuneMaxLVi(RR3R4RR6R5R7(R0R?t runeMaxLVDictR@t    runeMaxLV((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyt GetRuneMaxLV–s cCs&tjƒj|ƒ}|j}tjddiƒ}||krCdS|jtjdƒ}|t    d|ƒ@rodS|j
ƒtjddiƒj |dƒkr dS||}t j |tj|tji|d6ƒsÖdSt j|tj|t    d|ƒBƒt|ƒt jdd|jƒ|gƒdS(NRiiit    holeIndextRuneSpecialHoleGet(RtGetPlayerManagertGetPlayerByIndext    HoleIndexRR6R RtDef_PDict_Rune_HoleOpenStatetpowtGetLVR7RtPayMoneyt IPY_GameWorldtTYPE_Price_Gold_MoneytDef_Cost_RuneHoleRR t WorldNotifytGetName(tindext
clientDatattickR!RVtruneUnlockDictt runeOpenStatet    costMoney((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytOnUnlockRuneHole§s"     -
(#
cCsêtjdƒ}|jtjdƒ}|jtjƒ}|}xot|ƒD]a\}}|td|ƒ@rnqIn||kr€qIn|td|ƒO}tj    d||fƒqIW||kræt
j |tj|ƒ|ræt |ƒqændS(NRiis-    ½âËø·ûÓ¡¿× holeNum=%s,trialTowerPassLV=%s( RR6R RR[t!Def_Player_Dict_TrialTower_PassLVt    enumerateR\RtDebugLogRRR (R!tisSycntruneUnlockListRhttrialTowerPassLVt updOpenStatetholeNumtneedTowerPassLV((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyRºs   cCs8t|ƒ}|r4|jtjƒ}||jƒkStS(N(R1R RRkt
GetTowerIDtTrue(R!titemidR&t    curPassLV((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytGetIsOpenByRuneIDÐs
 c
Cs|tjkr|tjkp9|tjko9|tjks@tStjddƒ}|tjkrù|d}|dksƒ||kr¡tjd||jƒƒt    S|j
t j dƒ}|t d|ƒ@sítjd||f|jƒƒt    S|j
t jtj|fƒ}|s0tjd||jƒƒt    Stj|ƒ}    t|    ƒ}
|
sotjd    |    |jƒƒt    S|
jƒ} d} xÔtd|dƒD]¿} | |kr­q•n|j
t j| dƒ}|sÒq•ntj|ƒ}t|ƒ}|sùq•n|jƒ}| |kr5tjd
| | f|jƒƒt    St|ƒdkr•| d7} q•q•Wt| ƒdkr | t|ƒkr tjd | |    f|jƒƒt    S|j
t j|dƒ}tj|t j||ƒtj|tj||ƒt|ƒnÁ|d}|j
t j|dƒ}|sFtjd ||f|jƒƒt    Stj|tjƒ}|d krtjd|jƒƒt    Sd}tj|t j|dƒtj|tj||ƒi|d6|d6|d6}tj|t j|ƒt |ƒtj|ƒj!ƒt"|ƒt    S(NRiis²»´æÔڸ÷ûÓ¡¿×! desRuneNum=%siis&¸Ã·ûÓ¡¿×δ½âËø! desRuneNum=%s,state=%ss#·ûÓ¡±³°ü¸ÃλÖÃûÓзûÓ¡! srcIndex=%ss'¸Ã·ûӡûÓÐÅäÖÃÊôÐÔ! ÎÞ·¨ÏâǶ! itemID=%ss?ÒÑÓÐÏâǶ¸ÃÊôÐÔÀàÐÍ! ÎÞ·¨ÏâǶ! RuneHoleNum=%s,srcRuneAttrType=%ss7µ±Ç°¿ÉÏâǶ˫ÊôÐÔ·ûÓ¡¸öÊýÒÑ´ïÉÏÏÞ%s! ÎÞ·¨ÏâǶ! itemID=%ss3¸Ã·ûÓ¡¿×ûÓÐÏâǶ·ûÓ¡! srcRuneNum=%s, srcRuneData=%siÿÿÿÿs·ûÓ¡±³°üÒÑÂú£¬ÎÞ·¨ÕªÏÂ! t desBackPackt srcRuneDatat desRuneData(#RRt rptTempSwapRRR    RRmt GetPlayerIDRuR RR[R\RR RR1R=R
R R<t__GetCanInlayDoubleAttrRuneCntRRRtDoRuneSuccessLogicRtGetEmptyIndexInPacktDataRecordPacktCache_FightPowerChangeInfotPowerDownType_RunetRefreshRuneAttrtRefreshPlayerAttrStateR (R!t srcBackpackRytsrcIndext    destIndext maxRuneHolet
desRuneNumRhRzt srcRuneItemIDt
srcIpyDatatsrcRuneAttrTypet    doubleCntR#R$R%R&RIR{t
srcRuneNumt
emptyIndextdataDict((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyt
SwitchRuneØs„
         $  
  
 
cCsvtjddiƒ}|jtjƒ}t|jƒƒ}d}x$|D]}||kr\Pn|}qFW|j|dƒS(NtRuneDoubleInlayCntii(RR6R RRktsortedtkeysR7(R!truneDoubleInlayCntDictRpt
sortLVListtfindLVtplv((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyR~.s  
cCs§tjƒj|ƒ}|j}|j}|dkrU|jtjtj    |fƒ}n0|dkr|jtj
|ddƒ}ndS|j ƒ}|sµtj d||f|ƒdSt j|ƒ}t j|ƒ}    t j|ƒ}
t j|ƒ} tjƒj|ƒ} | sdSt|ƒ} |    d| krAtj d| ƒdSt||    dƒ}t|ƒ}|sŠtj d||||    f|ƒdSt j||    d|
| ƒ}tj|tj|ƒsýtj|tjƒ}tj d||||    ||f|ƒdS|dkr%t j|tj    ||ƒn^|dkrƒtj|tj
|d|ƒt|ƒtj|ƒjƒt |ƒt!|ƒntj d||||f|ƒdS(Niis6¸ÃλÖò»´æÔÚ·ûÓ¡, ÎÞ·¨Éý¼¶! placeType=%s,placeIndex=%ss$¸Ã·ûÓ¡ÒÑÂú¼¶£¬ÎÞ·¨Éý¼¶£¡runeMaxLV=%ss?¸Ã·ûÓ¡ÎÞ·¨Éý¼¶!  placeType=%s,placeIndex=%s,itemID=%s,plusLV=%ssc·ûÓ¡¾«»ªµã²»×㣬ÎÞ·¨Éý¼¶!placeType=%s,placeIndex=%s,itemID=%s,plusLV=%s,plusCost=%s,curRuneMoney=%ss>·ûÓ¡Éý¼¶!placeType=%s,placeIndex=%s,RuneData=%s,updRuneData=%s("RRXRYt    PlaceTypet
PlaceIndexR RRRRR R}RmR RRRRR3R4RURFRHRRR^tTYPE_Price_RunetGetMoneyRRR„R…R R(RdReRfR!t    placeTypet
placeIndexR$tplayerIDR%R(R)R'R?RTtplusCostR*t curRuneMoney((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytOnRuneUpBs\         "               
 
     c    Cs,tj|tjƒd}tjddƒ}xÎtd|dƒD]¹}|jtj    |dƒ}|sjq?nt
j |ƒ}t j ƒj|ƒ}|sšq?n|jƒ}t
j|ƒd}||7}tj|tjd|gƒtj|tj|tƒq?Wtj|tj|ƒtj|tj|ƒdS(NiRii(t PlayerSuccesstResetSuccessByTypeRtSuccType_InlayRuneRR    R
R RR R RRR3R4R5RtDoAddSuccessProgresstPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_RuneRtUptateSuccessProgresstSuccType_RuneLvUptOpenServerCampaigntUpdOpenServerCampaignRecordDatatDef_Campaign_Type_RuneLV(    R!ttotalLVR"RrtruneDatat
runeItemIDR?R@truneItemPlusLV((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyRs& 
c    Csˆtjƒj|ƒ}|j}|j}tjd|||jfƒi}d}d}tj}    |st|j    dkr‰t
t j |    ƒƒn|j}
t j|tjƒ} | r¿t| jƒƒnd} xÒ|
D]Ê} |jtj|    | fƒ}|súqÌntj|ƒ}|rqÌntj|ƒ}tj|ƒ}tjƒj|ƒ}|sTqÌn|jƒ}|p~||kp~| |jks‡qÌn|jƒtjkrÒ|jdƒ}|jdƒ}||| tj7}n¤d}xOt |dƒD]=}|t!||ƒ7}|dkré||| tj7}qéqéWt"j#d|ƒ}|rvtj$|ƒtj%tj&gkrv||j'ƒ7}n||7}|t|ƒg|| <qÌW|rÂt j(||    |j)ƒtj*ƒnt|ƒ}|r)i|d6|d6}t+j,|tj-|tj.|t/ƒt+j0|d|tj-gƒn|r„i|d6|d6}t+j,|tj1|tj.|t/ƒt+j0|d|tj1gƒndS(    Ns3·ûÓ¡·Ö½â: isAll=%s,qualityList=%s,PlaceIndexList=%siiRt delPlaceDictttotalDecomposethwj_20170807_1ttotalMJ(2RRXRYtIsAllt QualityListRmtPlaceIndexListRRt
QualityCntR
RRtPlayerMagicWeapontGetMagicWeaponPrivilegeRtMWPrivilege_RuneDecomposeRHtGetEffectValueR RR RRRR3R4R5tGetTypetDef_ItemType_RuneExptGetEffectByIndextDef_MaxRateValuetrangeRFRRRtRune_Source_UnkownRt    GetNeedMJt DelVPackItemR•t ItemDel_RuneRt    GiveMoneyRœtDef_GiveMoney_RuneDecomposeRt
NotifyCodetTYPE_Price_Ysog(RdReRfR!tisAllt qualityListR´RµR·R+t    placeListt
wmpIpyDatataddPerR,R$R)R%R(R?tqualitytcurEfft    decomposeR>R&t addDataDict((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytOnRuneDecompose¤sl            3  ! '
" c Cstjƒj|ƒ}tj}|j}g}x³|jD]¨}|jtj    ||fƒ}|seq7nt
j |ƒ}    ||    kr†q7nt
j |ƒ}
t
j |ƒ} t
j|
| |ƒ} t
j|||| tƒ|j|ƒq7W|rt
j|||ƒtjd||fƒndS(Ns(Ð޸ķûÓ¡Ëø¶¨×´Ì¬: changeLockState=%s, %s(RRXRYRRt    LockStateRºR RRR RRRRRRtappendtSync_VPackItem_RefreshRm( RdReRfR!R+tchangeLockStatetchangePlaceListR,R$R)R%R(R*((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyt
OnRuneLockðs(         c!    CsOtjƒj|ƒ}|j}|j}|j}tjd|ƒtjd|ƒ}|s]dSg}i}    g}
g} xÎt    |ƒD]À\} } || }| dkrÓ|j
t j t j|fƒ}|
j|ƒn.|j
t j|ddƒ}| j|dƒ|s q‚ntj|ƒ}tj|ƒ}|j|ƒ||    |<q‚W|jƒ}t|ƒt|ƒkrˆtjd|||fƒdSd|kråtj|t jdƒ}|dkråtj|dt jgƒtjdƒdSn|jƒ}i|d6}tj|t j|t j|ƒs#dSd}xa|D]Y}d}|    j|dƒ}x.td|dƒD]}|t ||ƒ7}qbW||7}q0Wt!|ƒ}d}t"|ƒ}xFt#d|ƒD]5}t ||ƒ}||kràPn|}||8}q»W|
rtj$|t j|
t j%ƒn| r¾xr| D]j}|j
t j|dƒ}tj&|t j|dƒidd    6|d
6dd 6}t'j(|t j)|ƒq&Wt*|ƒt+|ƒtj|ƒj,ƒntj-|ƒ}|j.t j/|ƒ|j.t j0t j1ƒtj2|ƒ} | j3t j|d t j4t5i|
d 6| d6gƒ|j6t j7dƒdS(Ns    ·ûÓ¡ºÏ³É tagItemID=%sRiisI    ·ûÓ¡ºÏ³É ²ÄÁϲ»¶Ô tagItemID=%s, materialsIDList=%s, needItemIDList=%stGeRen_chenxin_676165s     ·ûÓ¡ºÏ³É ±³°ü¸ñ×ÓÊýÁ¿²»×ã1¸öt    TagItemIDtdoTypeRzR{teventt
indexList1t
indexList2(8RRXRYRÞtPackListt    IndexListRmRR/RlR RRRRRØR R RRt GetNeedItemR”RtGetItemPackSpaceRRËRÆR^RÌtDef_Cost_ItemProduceR7RÄRFRHRUR
RÇRÈRRR‚RƒR R„R…tGetOutPutItemObjt SetUserAttrtDef_IudetRuneLVtDef_IudetRuneSourceRtPlayerItemControlert    PutInItemtItemGive_RuneCompoundRtSync_MakeItemAnswertDef_mitRuneCompound(!RdReRfR!t    tagItemIDtpackListt    indexListR&tmaterialsIDListtmaterialsLVDictRáRâtiRžR±R²R³tneedItemIDListt
emptySpacetneedMJtinfoDictt
totalPointR0RÔR(R>t    tagItemLVRTtneedExpRzR‘tcurItemRì((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pytOnRuneCompounds’            
        !     
 
3c CsgtdƒD] }i^q }tjddƒ}xÀtd|dƒD]«}|jtj|dƒ}|spqEntj|ƒ}tj    |ƒ}t
||ƒ}|s©qEnt j d||fƒx-|j ƒD]\}    }
tj|    |
|ƒqÍWqEWtj|tj|ƒdS(NiRiis&    Ë¢·ûÓ¡ÊôÐÔ holeNum=%s, attrDict=%s(RÄRR    R
R RR R RRRQRRmtitemsRtCalcAttrDict_TypetSetCalcAttrListValuetDef_CalcAttrFunc_Rune( R!t_t allAttrListR"RrR±R²R³RKtattrIDt    attrValue((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyR„ns cCsÀtjddƒ}|sdStjƒ}|jƒ|jtjdƒ|_g|_    xDt
d|dƒD]/}|jtj |dƒ}|j    j |ƒqgWt |j    ƒ|_tj||ƒdS(NRiii(RR    tChPyNetSendPackt tagMCRuneInfotClearR RR[tRuneHoleOpenStatet RuneDataListR
R RØR<tCountt NetPackCommont SendFakePack(R!R"t RuneInfoPackR#R$((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyR ‡s 
    ("RRRRR RRRRR¤R¼R_R­RR¨R8R-R1RFRQRURjRuRRxR’R~R£RRÖRÜRÿR„R (((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRune.pyt<module>s@                   +            #                 V        ?    #    L    #    [