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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
Sð    hc@s[ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZdZdZdZdZdZeeeeegZdZdZd    Zd
Zd Zd Zd ZdZ eeeeeeee gZ!dZ"dddgZ#ee!e#Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,dd„Z-d„Z.d„Z/d„Z0d„Z1d „Z2d!„Z3d"„Z4d#„Z5d$„Z6e7d%„Z8dde9d&„Z:e7d'„Z;dS((iÿÿÿÿNi0i1i2i3i4i!i"i#i$i%i&i'i(i7i6i8cCs4|jtj|ƒ}|d}|d}||fS(Nid(tNomalDictGetPropertytChConfigtDef_PDict_GubaoLVInfo(t    curPlayertgubaoIDtlvInfotlvtstar((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoLVInfoEs
 
cCs&tj|tj||d|ƒdS(Nid(t PlayerControltNomalDictSetPropertyRR(RRRR((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytSetGubaoLVInfoJs"cCs,t|ƒt|ƒt|ƒt|ƒdS(N(tDoGubaoAddFreePointtSync_GubaoInfotSync_GubaoItemEffInfotSync_GubaoPieceInfo(R((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnPlayerLoginNs
 
 
 
 
cCs‰|jtj|ƒ}t||tjƒ}tj|tj||ƒt||gƒtj    d|||||f|j
ƒƒ||fS(NsIÔö¼Ó¹Å±¦Ë鯬: gubaoID=%s,curCount=%s,addCount=%s,updCount=%s,useItemID=%s( RRtDef_PDict_GubaoPiecetmintDef_UpperLimit_DWordR    R
Rt    GameWorldtLogt GetPlayerID(RRtaddCountt    useItemIDtcurCounttupdCount((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt AddGubaoPieceUs     cCs‡|jtj|ƒ}||kr&tS||}tj|tj||ƒt||gƒtjd|||||f|j    ƒƒt
S(NsG¿Û³ý¹Å±¦Ë鯬: gubaoID=%s,curCount=%s,delCount=%s,updCount=%s,delName=%s( RRRtFalseR    R
RRRRtTrue(RRtdelCounttdelNameRR((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt DelGubaoPiece^s 
     c
CsÞig}}x¡|D]™\}}tjƒj|ƒ}|sAqn|jdƒ}|jƒ}|tjkr„|j||gƒqn|jdƒ}    |j    |    dƒ|||    <qWtj
d|||f|j ƒƒ||fS(NisJת»¯¹Å±¦¹¦ÄÜËùÐèÎïÆ·: needItemList=%s,realNeedItemList=%s,needPieceInfo=%s( Rt GetGameDatatGetItemByTypeIDtGetEffectByIndext GetEffectIDRtDef_Effect_GubaoPiecetappendtGetEffectValuetgettDebugLogR(
Rt needItemListt needPieceInfotrealNeedItemListtitemIDt    itemCounttitemDatatcurEffteffIDR((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytParseGubaoNeedItemis      c    CsMtjƒj|ƒ}|jƒ}|j}tjd|ƒ}|sFdS|jƒ}|jƒ}| sl| rpdSt    ||ƒ\}    }
|    s‘|
r©tj
d||ƒdSt |||ggƒ\} } | r'|j ƒj tjƒ} tj|| |ƒ\}}|s'tj
d||f|ƒdSnx]| jƒD]O\}}|jtj|ƒ}||kr4tj
d|||f|ƒdSq4Wx-| jƒD]\}}t|||dƒq”W| rÜtj|| ||tdƒnd\}    }
t|||    |
ƒtjd||ƒt||ƒt|ƒt||gƒtj|| | ƒdS(    NtGubaos¹Å±¦ÒѾ­¼¤»î¹ý£¡ gubaoID=%ss.¼¤»î¹Å±¦µÀ¾ß²»×ã! needItemID=%s,needItemCnt=%ss<¼¤»î¹Å±¦Ë鯬²»×ã! gubaoID=%s,curCount=%s < needPieceCount=%stActivateis¹Å±¦¼¤»î³É¹¦£¡ gubaoID=%s(ii( RtGetPlayerManagertGetPlayerByIndexRtGubaoIDt IpyGameDataPYtGetIpyGameDatatGetUnlockItemIDtGetUnlockItemCntRR)R2tGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetItem_FromPack_ByIDtitemsRRRR t
ReduceItemRR RR tRefreshGubaoAttrR tPlayerActGubaot OnGubaoCost(tindext curPackDatattickRtplayerIDRtipyDatat
needItemIDt needItemCntRRR+R,titemPackt    hasEnoughtitemListtgIDtneedPieceCountR((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytOnGubaoActivate‚sL           
c     Cstjƒj|ƒ}|jƒ}|j}t||ƒ\}}|s]tjd||ƒdStjd||dƒs”tjd||f|ƒdStj    d||ƒ}|s³dS|j
ƒ}    |j ƒ}
|     rÝ|
rÝdSt ||    ƒ\} } | rR|j ƒjtjƒ} tj| | ƒ\}}|rRtjd|| |f|ƒdSn|
rätjddiƒ}i}xû|jD]ð}|j}|j}tj    d|ƒ}|s±dS|jƒ}t|ƒ|krçtjd||ƒdS|t|ƒ}t||ƒ\}}||kr9tjd    |||f|ƒdS|j|d
ƒ|||<| j|d
ƒ|| |<q}WxY|
D]Q\}}|j|d
ƒ}||krxtjd |||||f|ƒdSqxWtjd | |ƒnx`| jƒD]R\}}|jtj|ƒ}||krñtjd ||||f|ƒdSqñWx-| jƒD]\}}t|||dƒqTW| r–tj|| |dƒn|d}t ||||ƒtj!d||f|ƒt"||ƒt#|ƒt$||gƒt%j&|| | ƒt'j(|tj)ƒdS(Ns!¹Å±¦Î´¼¤»î£¬ÎÞ·¨ÉýÐÇ£¡ gubaoID=%st    GubaoStaris¹Å±¦ÒÑÂúÐÇ£¡ gubaoID=%s,star=%ssB¹Å±¦ÉýÐÇËùÐèÎïÆ·²»×㣡 star=%s,realNeedItemList=%s,lackItemDict=%st
GubaoPieceR3s=¸Ã¹Å±¦Æ·ÖÊûÓÐÅäÖÿÉ×÷ΪͨÓÃËéÆ¬Ê¹ÓõÄ×îµÍÐǼ¶! useGubaoID=%ssH¸Ã¹Å±¦Æ·ÖÊÐǼ¶²»×㣬ÎÞ·¨×÷ΪͨÓÃË鯬! useGubaoID=%s,usePieceStar=%s < %sis_Ñ¡ÔñʹÓÃµÄÆ·ÖÊͨÓÃË鯬¸öÊý²»Æ¥Å䣬ÎÞ·¨ÉýÐÇ!  gubaoID=%s,star=%s,quality=%s,selectCount=%s != %ssËùÐè¹Å±¦Ë鯬»ã×Ü: %ssS¹Å±¦ÉýÐÇËùÐè¹Å±¦Ë鯬²»×ã! gubaoID=%s,costGubaoID=%s,curCount=%s < needPieceCount=%stStarUps¹Å±¦ÉýÐÇ: gubaoID=%s,updStar=%s(*RR5R6RR7RR)R8tGetIpyGameDataNotLogR9tGetStarUPNeedItemInfotGetStarUPNeedQualityPieceR2R<R=R>R?R@tGetCostItemIndexListtGetFuncEvalCfgtCommPieceUseListt
PieceCounttGetGubaoQualitytstrR(tErrLogRBRRRR t DelCostItemR RR RDR RERFt PlayerActTasktAddActTaskValuetActTaskType_GubaoStarUp( RGRHRIRRJRRRRKR*tneedQualityPieceR+R,RNt lackItemDictt delInfoDicttcommPieceUseLimitInfotselectPieceDicttpieceUset
useGubaoIDt usePieceCntt
useIpyDatatqualitytneedStart_t usePieceStart    needCountt selectCountt costGubaoIDRRRtupdStar((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnGubaoStarUp¿sŠ                        
 
ic
Cs­|jƒ}i}|r+t|||ƒnTtjƒ}xEt|jƒƒD]1}|j|ƒ}|jƒ}t|||ƒqJW|s‰dSd}xÇ|jƒD]¹\}}    |\}}
} |j    t
j || fƒ} t d|    | ƒ} || 7}t jd||
| |    | | |f|ƒtj|t
j || f|    ƒ| rœt||| tƒqœqœW|dkridS|jƒ}||}|j|ƒt jd|||f|ƒdS(Nisx¹Å±¦ÐǼ¶Ôö¼ÓÁé¸ùµã: gubaoID=%s,star=%s,effType=%s,addFreePointTotal=%s,addFreePointAlready=%s,unAddFreePoint=%s,total=%ss0¹Å±¦¼Óµã: freePoint=%s,freePoint=%s,freePoint=%s(Rt__calcStarEffAddFreePointR8tIPY_Datatxranget GetGubaoCounttGetGubaoByIndext
GetGubaoIDRBRRtDef_PDict_GubaoItemEffValuetmaxRR)R    R
RRt GetFreePointt SetFreePoint(RRRJt effPointDictt
ipyDataMgrRGRKtunAddFreePointTotalteffKeytaddFreePointTotalRteffTypetaddFreePointAlreadytunAddFreePointt    freePointt updFreePoint((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyR s:   
        
 cCswt||ƒ\}}|sdStjd||ƒ}|s>dS|jƒ}x&|D]}tjd|ƒ}|suqQn|jƒ}    |jƒ}
|jƒ} |||    f} |    dkrÝ|jƒ} |j| dƒ| || <qQ|    dkr&|jƒ}t    ||
| ƒ} |j| dƒ| || <qQ|    dkrQ|j
ƒ}t    ||
| ƒ} |j| dƒ| || <qQqQWdS(NRTt GubaoEffAttri6ii7i8( RR8R9tGetStarEffIDListtGetGubaoEffTypet
GetEffCondtGetEffAttrValueR(tGetOfficialRanktinttGetLV(RRRRpRt starIpyDatat starEffIDListR1t
effIpyDataR†teffCondt effAttrValueR„R…trealmLVtplayerLV((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRw6s6           !cCs®tjƒj|ƒ}|jƒ}|j}t||ƒ\}}|s]tjd||ƒdStjd|ƒ}|sydS|j    ƒ}    |j
ƒ}
tj d|    |
|dƒsÎtjd||
|f|ƒdStjd|    |
|ƒ} | sðdS| j ƒ} | sdSt || ƒ\} }|r~|jƒjtjƒ}tj||ƒ\}}|r~tjd|
|||f|ƒdSnx]| jƒD]O\}}|jtj|ƒ}||kr‹tjd|||f|ƒdSq‹Wx-| jƒD]\}}t|||dƒqëW|r-tj|||dƒn|d}t||||ƒtjd    ||    |
|f|ƒt|ƒt||gƒtj|| |ƒt j!|tj"ƒdS(
Ns!¹Å±¦Î´¼¤»î£¬ÎÞ·¨Éý¼¶£¡ gubaoID=%sR3tGubaoLVis(¹Å±¦ÒÑÂú¼¶£¡ gubaoID=%s,quality=%s,lv=%ssK¹Å±¦Éý¼¶ËùÐèÎïÆ·²»×㣡 quality=%s,lv=%s,realNeedItemList=%s,lackItemDict=%ssD¹Å±¦Éý¼¶ËùÐè¹Å±¦Ë鯬²»×ã! gubaoID=%s,curCount=%s < needPieceCount=%stLVUps5¹Å±¦Éý¼¶: gubaoID=%s,gubaoType=%s,quality=%s,updLV=%s(#RR5R6RR7RR)R8R9t GetGubaoTypeR^RWtGetLVUPNeedItemInfoR2R<R=R>R?R@RZRBRRRR RaR RRDR RERFRbRctActTaskType_GubaoLVUp(RGRHRIRRJRRRRKt    gubaoTypeRnt    lvIpyDataR*R+R,RNRfRgRQRRRtupdLV((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt OnGubaoLVUp]s\             
 
c    Csƒd\}}tjƒ}x^t|jƒƒD]J}|j|ƒ}|jƒ}t||ƒ\}}||7}||7}q+W||fS(Ni(ii(R8RxRyRzR{R|R(    RttotalLVt    totalStarR‚RGRKRRR((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoTotalLVStar–s   
cCstj|ƒjƒdS(N(R    tRefreshPlayerAttrState(R((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRD¢sc"CsgtdƒD] }i^q }gtdƒD] }i^q,}tjƒ}x·t|jƒƒD]£}|j|ƒ}|jƒ}t||ƒ\}}    |    sŸq]n|jƒ}
|j    ƒ} tj
d|
| |ƒ} | r*| j ƒ} | j ƒ}x:t | ƒD])\}}||}tj|||ƒqúWntj
d||    ƒ}|r]|jƒ}|jƒ}x7t |ƒD])\}}||}tj|||ƒqjW|jƒ}i}x!|D]}t||||ƒq°Wx0|jƒD]\}}tj|||ƒqÚWq]q]WxVt|jƒƒD]B}|j|ƒ}|jƒ}|jƒ}|sPqni}x-|D]%}t||ƒ\}}    |    ||<q]Wt|jƒƒ}|s¤qntjd|ƒ}|sÂqnd}x0|D](}|jƒ}||krñPn|}qÏW|sqn|jƒ} |jƒ}!x7t | ƒD])\}}|!|}tj|||ƒq,WqWtj |t!j"|ƒtj |t!j#|ƒdS(NiRšRTtGubaoResonanceAttr($trangeR8RxRyRzR{R|RRœR^R9tGetLVAttrTypeListtGetLVAttrValueListt    enumerateR    tCalcAttrDict_TypetGetStarAttrIDListtGetStarAttrValueListRŒt__calcStarEffAttrByIDRBtGetGubaoResonanceCounttGetGubaoResonanceByIndextGetResonanceIDtGetGubaoIDListRtvaluestGetIpyGameDataListtNonetGetResonanceStartGetResonanceAttrIDListtGetResonanceAttrValueListtSetCalcAttrListValueRtDef_CalcAttrFunc_GubaotDef_CalcAttrFunc_GubaoResonance("RRpt allAttrListtallAttrListResonanceR‚RGRKRRRRŸRnR tlvAttrTypeListtlvAttrValueListtitattrIDt    attrValueR“tstarAttrIDListtstarAttrValueListR”t effAttrInfoR1t resonanceIDt gubaoIDListt gubaoStarDicttminStartattrIpyDataListtresonanceAttrIpyDatat attrIpyDatat resonanceStartresonanceAttrIDListtresonanceAttrValueList((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt CalcGubaoAttr§s~      
 
 
 
cJCs}tjd|ƒ}|sdS|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}    |jƒ}
|
dkrtdS|dkrÛtj    |t
j ƒd} | j diƒ} |} | | krÁdSt ||| | |
ƒnž|dkrBtj|ƒ}t|||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn7|dkr©tj|ƒ}t|||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynÐ|d    krtj    |t
jƒd}|j d
iƒ}|} | |krödSt |||| |
ƒni|d krwtj|ƒ}t|||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn|d kr†nó |d krítj    |t
jƒd}|j diƒ}|}||krÓdSt |||||
ƒnŒ |dkrTtj    |t
jƒd}|j diƒ}|}||kr:dSt |||||
ƒn% |dkr»tj    |t
jƒd}|j diƒ}|}||kr¡dSt |||||
ƒn¾ |dkr"tj    |t
jƒd}|j diƒ}|}||krdSt |||||
ƒnW |dkr‰tj    |t
jƒd}|j diƒ}|}||krodSt |||||
ƒnð |dkrðtj|ƒ}t|||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn‰ |dkrZ|jt
jƒ} t| ||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn |dkrÄ|jt
jƒ}!t|!||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynµ
|dkr+tj |ƒ}"t|"||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynN
|dkr’t!j"|ƒ}#t|#||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynç    |dkr5tj    |t
jƒd}|j diƒ}$|}||$krßdS|$|}%t|%||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynD    |dkrØtj    |t
jƒd}|j diƒ}&|}||&kr‚dS|&|}'t|'||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn¡|d kr{tj    |t
jƒd}|j d!iƒ}(|}||(kr%dS|(|})t|)||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynþ|d"kr    tj    |t
jƒd}|j d#iƒ}*|}||*krÈdS|*|}+t|+||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn[|d$krÁ    tj    |t
jƒd}|j d%iƒ},|}||,krk    dS|,|}-t|-||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn¸|d&krš
tj    |t
j#ƒd}.|.j d'iƒ}/|}||/kr
dS|/|}0d}1x-|0j$ƒD]}2|2|kr+
|1d(7}1q+
q+
Wt|1||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynß|d)kr tj%|ƒ}3t|3||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynx|d*kru |}4|jt
j&|4ƒ}5t|5||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn|d+krè tj    |t
j'ƒd}6|6j d,iƒ}7|jt
j(ƒ}8t|8||
ƒ}9t |||7|9ƒn‘|d-krg t)j*|ƒ}:|};|:j |;dƒ}<t|<||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn|d.kræ t+j,|ƒ}=|} |=j | dƒ}>t|>||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn“|d/krM tj-|ƒ}?t|?||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn,|d0krÜ tj    |t
j.ƒd}@|@j d1iƒ}At/|Aƒ}Bt|B||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn|d2krqtj    |t
j.ƒd}@|@j d1iƒ}At0|Aj$ƒƒ}Ct|C||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn|t1krå|jt
j2||fƒ}Dt|D||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn”|d3krX|}Et3j4||Et5ƒ}Ft|F||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyn!|d4kr¥tj    |t
j6ƒd}G|Gj d5iƒ}Ht |||H|
ƒnÔ|d6kr|jt
j7ƒ}It|I||
ƒ}|    dkry|dkry|j |    dƒ|||    <qynj|d7kry|jt
j(ƒ}8t|8||
ƒ}|    dkry|dkry|j |    dƒ|||    <qyndS(8s$ ¼ÆËã¹Å±¦ÌØÊâЧ¹ûID¶ÔÓ¦ÌáÉýÊôÐÔ
    R‹Nii
itpetQualityAttrInfoi i i thorseSkinQualityAttrInfoiiitclassBaseAttrDictPlusitclassBaseAttrDictStoneitclassBaseAttrDictStaritclassBaseAttrDictWashitclassBaseAttrDictEnchantiiiiiitclassPlusLVDictitclassStoneLVDictitclassStarLVDictitclassWashLVDictitclassEnchantLVDictitclassEquipColorDictii i)i*tfaQiAllAttrInfoi+i,i-i.tshentongSkillInfoi/i5i9thorseBaseAttrInfoi:i;(8R8R9RRŽt GetEffCond2t GetEffCond3t GetEffAttrIDRR    tGetCalcAttrListValueRtDef_CalcAttrFunc_PetR(t__addStarEffFuncAttrt    PlayerPett GetTotalPetLVR‘tGetTotalPetCounttDef_CalcAttrFunc_HorseSkint PlayerHorsetGetHorseSkinActCounttDef_CalcAttrFunc_PlustDef_CalcAttrFunc_StonetDef_CalcAttrFunc_StartDef_CalcAttrFunc_WashtDef_CalcAttrFunc_Enchantt
PlayerDogztGetFightDogzTotalPlusLvRtDef_Player_Dict_SkyTowerFloort!Def_Player_Dict_TrialTower_PassLVt
PlayerRunetGetRuneTotalLVtPlayerGatherSoultGetGatherSoulTotalLVtDef_CalcAttrFunc_EquipR´tGetTotalLingGenPointtDef_PDict_GodWeaponLVtDef_CalcAttrFunc_FaQitDef_PDict_FaQiLVtPlayerDienstgradt GetDienstgradActiveTypeCountInfot
PlayerCoattGetCoatQualityLVInfot
GetCharmLVtDef_CalcAttrFunc_ShentongtlentsumtGubaoEffAttrIypeListR}tPlayerGatherTheSoultGetHoleSoulColorCountRtDef_CalcAttrFunc_HorsetDef_PDict_HorserLV(JRRR1RÆRKR†R–teffCond2teffCond3RÂR—tcustomAttrDictPetRÒRnt
totalPetLVt addAttrValuet totalPetCounttcustomAttrDictSkinRÓthorseSkinActCounttcustomAttrDictPlusRÔtclassLVtcustomAttrDictStoneRÕtcustomAttrDictStarRÖtcustomAttrDictWashR×tcustomAttrDictEnchantRØtfightDogzTotalPlusLvt skyTowerFloorttrialTowerPassLVt runeTotalLVt soulTotalLVRÙt totalPlusLVRÚt totalStoneLVRÛt totalStarLVRÜt totalWashLVRÝttotalEnchantLVtcustomAttrDictEquipRÞtequipColorDictt equipColorCntt    itemColorttotalLingGenPointtgwTypetgwLVtcustomAttrDictFaQiRßtfaQiLVtaddPertactiveTypeCountDicttdTypet activeCounttcostQualityLVDicttlvTotaltcharmLVtcustomAttrDictShentongRàt
skillCountt skillLVTotalteffValuet    soulColort
colorCounttcustomAttrDictRáthorseLV((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyR¯ýsä                                        
   
   
   
   
   
                           c    CsÀ| s|dkrdS|jƒ}|jƒ}xŠ|jƒD]|\}}|r`||kr`q<n|r}t||dƒ}n|}|dkr<|dkr<|j|dƒ|||<q<q<WdS(NigY@(tGetIsPertGetEffFuncAttrIDListRBR‘R((    RKRÆt funcAttrInfoR—tisPert effAttrIDListRÂRÃR((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRçgs  !c Cs¸|tkr|tkrdSt}tjƒ}xpt|jƒƒD]\}|j|ƒ}|jƒ}t    ||ƒ\}}    |    sƒqAntj
d||    ƒ}
|
s¤qAn|
j ƒ} xê| D]â} tj
d| ƒ} | sÛq·n|| j ƒkróq·n|j tj||fƒ}t||tjƒ}tj|tj||f|ƒtjd|| ||||f|jƒƒt|||tƒ|tkr·t}q·q·WqAW|r´t|ƒndS(NRTR‹s\¸üйű¦ÎïÆ·Ð§¹ûÀàÐͽø¶ÈÖµ: gubaoID=%s,effID=%s,effType=%s,effValue=%s,addCnt=%s,updValue=%s(tGubaoEffTtemIypeListRRR8RxRyRzR{R|RR9RŒRRRR}RRR    R
RR)RRRRD(RR†taddCnttisAttrR‚RGRKRRpRR“R”R1R•R8tupdValue((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytAddGubaoItemEffValuews>         #  c Csgt||ƒ\}}|sdStjd||ƒ}|s>dS|jƒ}tj|ƒ}| sl||kr“tjd|||f|jƒƒdStjd|ƒ}|s¯dS|jƒ}    |    t    krñtjd||||    f|jƒƒdS|j
ƒ}
|j ƒ} |
s| rdS|j t j||    fƒ} | |
} | dkr}tjd||||    | |
f|jƒƒdSg}| dkrÌx@| D]/\}}}|j|t|| ƒ|gƒq–Wn| }| |
}tj|t j||    f|ƒt|||    tƒtjd||||    | |
| ||f    |jƒƒtj||d    d
tigƒdS( NRTsC¹Å±¦ÎïÆ·Ð§¹ûÁì½±! ¸ÃÐǼ¶²»´æÔÚ¸ÃЧ¹ûID! gubaoID=%s,star=%s,effID=%sR‹sH¹Å±¦ÎïÆ·Ð§¹ûÁì½±! ·ÇÎïÆ·Ð§¹ûÀàÐÍ! gubaoID=%s,star=%s,effID=%s,effType=%sisa¹Å±¦ÎïÆ·Ð§¹ûÁì½±! Î´´ïµ½Áì½±Ìõ¼þ! gubaoID=%s,star=%s,effID=%s,effType=%s,effValue=%s,condValue=%sis¹Å±¦ÎïÆ·Ð§¹ûÁì½±: gubaoID=%s,star=%s,effID=%s,effType=%s,effValue=%s,condValue=%s,getTimes=%s,updValue=%s,awardItemTotalList=%steventR3(RR8R9RŒRtToIntDefR)RRRBRŽtGetEffItemAwardListRRR}R&R‘R    R
RRt ItemControlertGivePlayerItemOrMailR(RRteffIDStrRpRR“R”R1R•R†t    condValuet awardItemListR8tgetTimestawardItemTotalListR-R.t isAuctionItemRE((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pytGetGubaoItemEffAward™sT             
     # '
     ,c Cs+|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}xw|D]o}t||ƒ\}}    | r®|     r®|dkr®qsnt    j
ƒ}
||
_ ||
_ |    |
_ |j|
ƒqsW|sðdSt    jƒ} || _t| jƒ| _tj|| ƒdS(N(R¶R8RxR¨RzR{R&R|RtChPyNetSendPackt
tagMCGubaoR7RšRTttagMCGubaoInfot GubaoInfoListRtCountt NetPackCommont SendFakePack( RRÈt
syncIDListR‚RGRKt gubaoInfoListRRRtgubaot
clientPack((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyR Çs0                     c CsIg}|sZtjƒ}xHt|jƒƒD](}|j|ƒ}|j|jƒƒq+Wn    |g}|rr|gnt}g}    xƒ|D]{}xr|D]j}|jt    j
||fƒ}
|
rÈ| rÈq’nt j ƒ} || _ || _|
| _|    j| ƒq’Wq…W|    sdSt jƒ} |    | _t| jƒ| _tj|| ƒdS(N(R8RxR¨RzR{R&R|tNeedGubaoItemEffValueTypeListRRR}RSttagMCGubaoItemEffR7tEffTypetEffValuettagMCGubaoItemEffInfotItemEffInfoListRRWRXRY( RRR†tforceRZR‚RGRKtsyncEffTypeListtitemEffInfoListR8teffR]((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRæs4                         c Cs|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}xh|D]`}|jt    j
|ƒ}| r¨|dkr¨qsnt j ƒ}    ||    _ ||    _|j|    ƒqsW|sádSt jƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(R¶R8RxR¨RzR{R&R|RRRRSttagMCGubaoPieceR7R]ttagMCGubaoPieceInfot PieceInfoListRRWRXRY( RRÈRZR‚RGRKt pieceInfoListRRR\R]((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyRs.                 (<RR÷R@R    R8RSRùRXR>RìRóRèRRJRR    RERbRtGubaoEffType_FamilyWartGubaoEffType_ElderBattlefieldtGubaoEffType_CrossBattlefieldtGubaoEffType_CrossYaomoBosstGubaoEffType_CrossFamilyFlagwarRtGubaoEffType_ActivityPlacetGubaoEffType_ArenatGubaoEffType_KillWorldBosstGubaoEffType_KillBossHomet!GubaoEffType_KillCrossPenglaiBosst#GubaoEffType_KillCrossDemonLandBosstGubaoEffType_KillSealDemonBosstGubaoEffType_CrossRealmPKRBtGubaoEffType_RealmLVAddLinggentGubaoEffFreePointTypeListR^RR RRR R2RSRvR RwR¢R¥RDRÑR¯RçRFRRR¶R RRR(((sO.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGubao.pyt<module>sz                                                                  =    S $    '    9             V    ÿk        "    . "