hxp
2025-09-08 a6e2090c3de49d712add8e6fc0b706e89c263d00
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
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
-*¾hc@s›ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd d „Zd „Zd d„Zd„Zd„Zd„Zd„Zd„Zejd„Zd„Zd„Z d„Z!d„Z"e#d„Z$d„Z%d„Z&e#d„Z'd„Z(e#d„Z)d„Z*d „Z+e#d!„Z,d"„Z-d#„Z.d$„Z/d%„Z0e#d&„Z1d'„Z2d(„Z3d)„Z4d*„Z5d+„Z6d,„Z7d-„Z8d.„Z9d/„Z:d0„Z;d1„Z<d2„Z=d3„Z>d4„Z?d5„Z@dd6„ZBdd7„ZCd8„ZDdS(9iÿÿÿÿNcCs9|jtjƒr5tj|tjdƒt|ƒndS(Ni(tNomalDictGetPropertytChConfigtDef_PDict_HeroAwakeRebirthCntt PlayerControltNomalDictSetPropertytSync_PlayerHeroInfo(t    curPlayer((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt PlayerOnDay s cCst|ƒt|ƒdS(N(t Sync_HeroInfoR(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnPlayerLogin&s
 
cCst|ƒt|ƒdS(N(tOnFirstLoginInitPlayertOnFirstLoginInitHero(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytOnPlayerFirstLogin+s
 
c     Csx|jƒjtjƒ}|jƒsO|jƒjtjƒ}|jƒsOdSntjddiƒ}|sndStj    d||j
ƒƒxé|j ƒD]Û\}}tj ƒj |ƒ}|sÂq•n|jƒ}|d}|dks•||jƒkrüq•n|j|ƒ}    |    jƒsq•n|r3i|tj6ni}
tj|dd|d|
ƒ} | scq•n|    j| ƒq•WdS(Nt NewRoleInitis³õʼ»¯ÐÂÊÖ¶¨ÖÆ×°±¸: %siRt setAttrDict(tGetItemManagertGetPackt IPY_GameWorldtrptEquiptGetCountt rptIdentifyt IpyGameDataPYtGetFuncEvalCfgt    GameWorldtDebugLogt GetPlayerIDtitemst GetGameDatatGetItemByTypeIDt GetEquipPlacetGetAttIsEmptyt ShareDefinetDef_CItemKey_AppointIDt ItemControlertGetOutPutItemObjt
AssignItem( Rt    equipPackt identifyPacktdefaultEquipInfotequipIDt    appointIDtitemDatat
equipPlacetequipPlaceIndext    destEquipRtcurItem((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR
0s4   
 c        Csû|jƒjtjƒ}tjd|jƒ|jƒƒ|jƒsHdStj    ddiƒ}|sgdStjd||jƒƒtj
}d}xd|j ƒD]V\}}t |||ƒ}i|gtj 6}tj||dttjgd|ƒqWdS(NsOnFirstLoginInitHero: %sR is³õʼ»¯ÐÂÊÖÎ佫: %siiR(RRR trptHeroRRRRRRt Lineup_MainRtComLineupValuetDef_IudetHeroLineupR"tGivePlayerItemtFalse(    RtcurPacktdefaultHeroInfotlineupIDt    shapeTypetheroIDtposNumt lineupValueR((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR Os      )cCsŸ|jtjdƒ|jtjƒr;|jtjdƒn|jtjƒrc|jtjdƒn|jtjƒr‹|jtjdƒn|jtjƒr³|jtjdƒn|jtj    ƒrØ|j
tj    ƒn|jtj ƒrý|j
tj ƒn|jtj ƒr"|j
tj ƒn|jtj ƒrG|j
tj ƒn|jtjƒrl|j
tjƒn|jtjƒr‘|j
tjƒnt|ƒdS(Nii(t SetUserAttrR tDef_IudetHeroLVt GetUserAttrtDef_IudetHeroStartDef_IudetHeroBreakLVtDef_IudetHeroAwakeLVtDef_IudetHeroSkintGetUserAttrCounttDef_IudetHeroTalentIDt ClearUserAttrtDef_IudetHeroTalentIDLVtDef_IudetHeroTalentWashLocktDef_IudetHeroTalentWashIDtDef_IudetHeroTalentIDAwakeRandR2tInitHeroTalent(t
singleItem((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt InitHeroItemcs.
cCs¦|jƒ}tjd|ƒ}|s(dS|jƒ}tjd|ƒ}|sPdSd}|jƒ}|r}tj|dƒ}ni}g}tjƒ}    x^t|    j    ƒƒD]J}
|    j
|
ƒ} | j ƒ} | j ƒ} |j | | gƒ| || <q¨W|jtjƒ|jtjƒx‰t|ƒD]{}tj|ƒ}|sDq#n|j|dƒ|g}||krx|j|ƒn|jtj|ƒ|jtjdƒq#WdS(s+³õʼ»¯²ÛλÌ츳£¬²»Í¬²ÛλÌ츳ID²»ÄÜÒ»Ñù
    tHeroNt HeroQualityii(t GetItemTypeIDRtGetIpyGameDatat
GetQualitytGetInitTalentWeightRtGetResultByWeightListtIPY_DatatrangetGetHeroTalentCounttGetHeroTalentByIndext GetTalentIDt GetInitWeighttappendRER RDRFtgettremovet AddUserAttr(RKR9t heroIpyDatatqualitytqualityIpyDatat initTalentCnttinitTalentWeightt talentIDDictttalentWeightListt
ipyDataMgrtindext talentIpyDatattalentIDt
initWeightt_t randTalentIDt randWeightID((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRJsB       cCsx|jƒ}tjd|ƒ}|s(dSt||ƒstt||dƒtjd||jƒƒt||gƒndS(NRMisÊ״줻îÎ佫: heroID=%s(    RORRPtGetHeroActivitetSetHeroActiviteRRRR(RtheroItemR9R^((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytOnGiveHeroItem«s cCs|jtj|ƒd}|S(Ni
(RRtDef_PDict_HeroBook(RR9tactState((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRmºsicCs˜|jtj|ƒ}|d}|r9|r0dSd}nd}tj|dd|ƒ}tj|tj||ƒtjd|||f|jƒƒdS(Ni
iis0ÉèÖÃÎ佫¼¤»î״̬:%s,bookState=%s,updBookState=%s(    RRRqRtSetValueRRRR(RR9tisActt    bookStateRrt updBookState((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRnÀs
    #cCs$|jtj|ƒd}|dkS(Ni
i(RRRq(RR9t    initState((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytGetHeroBookInitStateÏscCsš|jtj|ƒ}|d}|r/d}n|r;dnd}tj|dd|ƒ}tj|tj||ƒtjd|||f|jƒƒdS(Ni
iiis4ÉèÖÃÎ佫ͼ¼ø¼¤»î״̬:%s,bookState=%s,updBookState=%s(    RRRqRRsRRRR(RR9RtRuRrRv((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytSetHeroBookInitStateÓs
    #cCs)|jtj|ƒ}tj|ddƒS(Nii(RRRqRtGetValue(RR9Ru((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytGetHeroBookStarLVàscCso|jtj|ƒ}tj|dd|ƒ}tj|tj||ƒtjd|||f|jƒƒdS(Niis4ÉèÖÃÎ佫ͼ¼øÐǼ¶µÈ¼¶:%s,bookState=%s,updBookState=%s(    RRRqRRsRRRR(RR9tstarLVRuRv((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytSetHeroBookStarLVäs
#cCs)|jtj|ƒ}tj|ddƒS(Nii(RRRqRRz(RR9Ru((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytGetHeroBookBreakLVìscCso|jtj|ƒ}tj|dd|ƒ}tj|tj||ƒtjd|||f|jƒƒdS(Niis4ÉèÖÃÎ佫ͼ¼øÍ»ÆÆµÈ¼¶:%s,bookState=%s,updBookState=%s(    RRRqRRsRRRR(RR9tbreakLVRuRv((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytSetHeroBookBreakLVðs
#cCs}|jƒjtjƒ}|dks6||jƒkr:dS|j|ƒ}| s\|jƒr`dS|jƒtj    krydS|S(Ni(
RRR R/RRRtGetTypeRtDef_ItemType_Hero(Rt    itemIndexR5Ro((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt GetHeroItemøscCs|jtjƒ}|sdSx^t|ƒddd…D]C}|jtj|ƒ}t|ƒ\}}}||krxq6n|SWdS(Niiÿÿÿÿ(RCR R2RUtGetUserAttrByIndextGetLineupValue(RoR7t lineupCounttlpIndexR;tlpIDRjR:((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytGetHeroLineupPosNums  cCsDtjƒj|ƒ}|jƒ}|j}t||ƒ}|sCdS|jƒ}tjd|ƒ}|skdS|j    ƒ}    |j
t j ƒ}
|j
t j ƒ} t|ƒ} tjd||| |    |
| f|ƒ| | krñtjd| |ƒdStjd|    | ƒ} | sdS| d}tjd|    |ƒsMtjd|    |f|ƒdS| jƒ}|scdS|\}}| s}| rdS|jƒjtjƒ}tj|||ƒ\}}|sÕtjd||fƒdStj||||tdƒ|}tjd    |||f|ƒ|jt j |ƒtj|ƒj|gƒdS(
NRMsMÇëÇóÎ佫Éý¼¶: itemIndex=%s,heroID=%s,heroLV=%s,quality=%s,breakLV=%s,LVMax=%ss¸ÃÎ佫ÒÑÂú¼¶£¡LVMax=%st HeroQualityLVis*²»´æÔÚ¸ÃÎ佫µÈ¼¶: quality=%s,nextHeroLV=%ss7²ÄÁϲ»×㣬Î佫ÎÞ·¨Éý¼¶! costItemID=%s, costItemCount=%stHeroLVUPs-Î佫Éý¼¶: itemIndex=%s,heroID=%s,updHeroLV=%s(RtGetPlayerManagertGetPlayerByIndexRt    ItemIndexR„RORRPRQR>R R@R=t GetHeroLVMaxRt GetUPCostItemRRRtrptItemt
ItemCommontGetItem_FromPack_ByIDt
ReduceItemtTrueR<t PlayerOnlinetGetOnlinePlayertOnHeroItemUpate(Rft
clientDatattickRtplayerIDRƒRoR9R^R_RtheroLVtLVMaxtqualityLVIpyDatat
nextHeroLVt costItemInfot
costItemIDt costItemCounttitemPackt    hasEnought itemIndexListt    updHeroLV((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt
OnHeroLVUPsV             
  cCsu|jƒ}tjd|ƒ}|s(dS|jƒ}|jtjƒ}tjd||ƒ}|sedS|jƒ}|S(NRMitHeroQualityBreak(RORRPRQR>R R@tGetLVMax(RoR9R^R_RtqualityBreakIpyDataRž((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRHs   c CsÉtjƒj|ƒ}|jƒ}|j}|j}t||ƒ}t||ƒ}| sk| sk||krodS|jƒ}    |jƒ}
tjd||    ||
f|ƒ|    |
krÇtjd|ƒdS|j    ƒrñtjd||    f|ƒdS|j
t j ƒ} | r'tj d||    f|ƒdS|j
t jƒ} | r]tj d||    f|ƒdS|jt jƒ} |jt jƒ}| s|r«tjd| |f|ƒdStjd|    ƒ}|sÇdS|jƒ}|jt jƒ}|jt jƒ}t|ƒ}tjd|    ||||f|ƒ||krJtjd    ||ƒdS|jt jƒ}|d
}||}tjd ||    ||||f|ƒtj|||jƒtd ƒt|||ƒdS( NsAÇëÇóÎ佫ÉýÐÇ: itemIndex=%s,heroID=%s,useItemIndex=%s,useHeroID=%ssÎ佫²ÄÁϷDZ¾Ì壬ÎÞ·¨ÉýÐÇ!s1²ÄÁÏ¿¨Ëø¶¨ÖУ¬ÎÞ·¨ÉýÐÇ! useItemIndex=%s,heroID=%ss4Î佫ϴÁ¶½á¹ûδ´¦Àí£¬ÎÞ·¨ÉýÐÇ! itemIndex=%s,heroID=%ss8Î佫¾õÐѽâËøÌ츳δѡÔñ£¬ÎÞ·¨ÉýÐÇ! itemIndex=%s,heroID=%ssB²ÄÁÏ¿¨Í»ÆÆ»ò¾õÐѵȼ¶²»Îª0ÔÝʱÎÞ·¨ÉýÐÇ£¡useBreakLV=%s,useAwakeLV=%sRMs2heroID=%s,star=%s,quality=%s,awakeLV=%s,starMax=%ss¸ÃÎ佫ÒÑÂúÐÇ£¡starMax=%sisIÎ佫ÉýÐÇ: itemIndex=%s,heroID=%s,star=%s,useStar=%s,addStar=%s,updStar=%st
HeroStarUP(RRRŽRRt UseItemIndexR„RORt GetIsLockedRCR RHtErrLogRIR>R@RARRPRQR?tGetHeroStarMaxR“tDelItemRR4t DoHeroUpdStar(RfRšR›RRœRƒt useItemIndexRotuseItemR9t    useHeroIDt    washIDCntt awakeRandCntt
useBreakLVt
useAwakeLVR^R_tstartawakeLVtstarMaxtuseStartaddStartupdStar((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnHeroStarUP^sd                    # 
 
    c CsÔ|jƒ}tjd|ƒ}|s(dS|jƒ}tjd|ƒ}|sPdS|jƒ}d}tjd|ƒ}|rÆ|jtjƒ}x7|D],}    |    j    ƒ|kr¯Pn||    j
ƒ7}q“Wn||}
|
S(NRMiRNt    HeroAwake( RORRPRQtGetInitStarUppertGetIpyGameDataListR>R RAt
GetAwakeLVtGetAddStarUpper( RoR9R^R_R`t InitStarUppert addStarUppertheroAwakeIpyDataListR»tipyDataR¼((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR°“s&    
cCs“|jtjƒ}||}|jƒ}|jtj|ƒ|dkrWt||ƒn|rj|jƒn|jƒ}tj    |ƒj
|gƒdS(Ni( R>R R?tGetItemR<t__DoHeroStarTalentUpt    Sync_ItemtGetItemPlaceIndexR—R˜R™(RRoR¿tisSynctcurStarR¾titemRƒ((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR²¬s
    cCsZtjddƒ}tjddƒ}|jtjƒ}|jtjƒ}gg}}g}t}    x}tt||ƒƒD]f}
|j    tj|
ƒ} |j    tj|
ƒ} |j
| ƒ|j
| ƒ| |krw|j
| ƒqwqwWt |ƒ|kr,|dg|t |ƒ7}|dg|t |ƒ7}nt j d|ƒt j d||fƒt j d|ƒd|kr×i} g}tjƒ}xpt|jƒƒD]\}
|j|
ƒ}|jƒ} | |krÏqœn|jƒ}|j
|| gƒ|| | <qœWt j d|ƒxÇt|ƒD]¶}d|kr0Pnt j|ƒ}|sKqn| j|dƒ|g}||kr|j|ƒn|jdƒ}|||<d||<|j
|ƒt j d    |ƒ|d8}t}    qWn|dkrÄxÞt|ƒD]Í}|sPntj|ƒ}||kr.|j|ƒqðn|j|ƒ}||}||kr„|d7}|||<t j d
|||fƒn||kr·|j|ƒt j d ||fƒnt}    qðWn|    sÎdSt j d ||fƒ|jtjƒ|jtjƒxNt|ƒD]@\}
} | s(Pn|jtj| ƒ|jtj||
ƒqWdS( NtHeroStarTalentiiis"Ö´ÐÐÎ佫ÐǼ¶Ì츳µÈ¼¶ÌáÉý: addLV=%ss!µ±Ç°ÐǼ¶Ì츳: idList=%s,lvList=%ssδÂú¼¶ÐǼ¶Ì츳ID: %ss³£¹æ¿Õ²ÛλÔö¼ÓÌ츳Êý£º%ssÐÂÔöÐǼ¶Ì츳ID: %ss#Éý¼¶ÐǼ¶Ì츳ID: %s,idLV=%s,index=%ss&    ÒƳýδÂú¼¶ID: %s,unfullLVIDList=%ss!¸üÐÂÐǼ¶Ì츳: idList=%s,lvList=%s(Rt
GetFuncCfgRCR RDRFR4RUtminR…RZtlenRRRTRVRWRXt GetWashWeightRSR[R\RfR–trandomtchoiceREt    enumerateR](RKtaddLVtcommTalentSlott talentMaxLVtidCounttlvCounttidListtlvListtunfullLVIDListthaveUpRfRhttalentLVt idWeightDictRdReRgtweightRjRkRlt    zeroIndextrandIDt    randIndextidLV((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRË»sœ           
 
 
 
 
 
   cCs;tjƒj|ƒ}|jƒ}|j}t||ƒ}|sCdS|jƒ}tjd|ƒ}|skdS|j    ƒ}    |j
t j ƒ}
|j
t j ƒ} tjd|||    |
| f|ƒtjd|    | ƒ} | sÝdS| jƒ} |
| krtjd|
| f|ƒdS| d}tjd|    |ƒsPtjd|    | f|ƒdS| jƒ}|sfdS|\}}| s€| r„dS|jƒjtjƒ}tj|||ƒ\}}|sØtjd||fƒdStj||||tdƒtjd    |||f|ƒt||ƒtj|ƒj|gƒdS(
NRMsDÇëÇóÎä½«Í»ÆÆ: itemIndex=%s,heroID=%s,quality=%s,heroLV=%s,breakLV=%sR©s Î´Âú¼¶£¬ÎÞ·¨Í»ÆÆ: heroLV=%s < %sis%Í»ÆÆµÈ¼¶ÒÑÂú¼¶: quality=%s,breakLV=%ss7²ÄÁϲ»×㣬Î佫ÎÞ·¨Í»ÆÆ! costItemID=%s, costItemCount=%st    HeroBreaks/Îä½«Í»ÆÆ: itemIndex=%s,heroID=%s,nextBreakLV=%s(RRRŽRRR„RORRPRQR>R R=R@RRªR‘RRRR’R“R”R•R–tSetHeroBreakLVR—R˜R™(RfRšR›RRœRƒRoR9R^R_RRRÉRžt nextBreakLVR¡R¢R£R¤R¥R¦((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnHeroBreak!sT             
   cCs6|jƒ}|jtj|ƒ|r2|jƒndS(N(RÊR<R R@RÌ(RoRRÎRÐ((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRêNs
  c    Csbtjƒj|ƒ}|jƒ}|j}t||ƒ}|sCdS|jƒ}tjd|ƒ}|skdS|j    ƒ}    |j
t j ƒ}
|j
t j ƒ} tjd|||    | |
f|ƒtjddƒ} tjddƒ} |
| ksú|
| krtjd|
| | f|ƒdStjd|    | ƒ}|s:dS| d}tjd|    |ƒswtjd|    | f|ƒdS|jƒ}|sdS|\}}| s§| r«dS|jƒjtjƒ}tj|||ƒ\}}|sÿtjd    ||fƒdStj||||td
ƒtjd |||f|ƒt||ƒtj|ƒj|gƒdS( NRMsDÇëÇóÎ佫¾õÐÑ: itemIndex=%s,heroID=%s,quality=%s,awakeLV=%s,starLV=%sRÑiis$µ±Ç°ÐǼ¶²»¿É¾õÐÑ: starLV=%s < %s, %stHeroQualityAwakes%¾õÐѵȼ¶ÒÑÂú¼¶: quality=%s,awakeLV=%ss7²ÄÁϲ»×㣬Î佫ÎÞ·¨¾õÐÑ! costItemID=%s, costItemCount=%sRÁs/Î佫¾õÐÑ: itemIndex=%s,heroID=%s,nextAwakeLV=%s(RRRŽRRR„RORRPRQR>R R?RARRÒR‘RRRR’R“R”R•R–tSetHeroAwakeLVR—R˜R™(RfRšR›RRœRƒRoR9R^R_R|R»tawakeLimitStarRÚRÉt nextAwakeLVR¡R¢R£R¤R¥R¦((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnHeroAwake]sV           
   cCs@|jƒ}|jtj|ƒt|ƒ|r<|jƒndS(N(RÊR<R RAtunlockTalentSlotByAwakeRÌ(RoR»RÎRÐ((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRî‹s  
 cCsl|jƒ}|jtjƒ}tjd|ƒ}|s:dSd}x;|| ddd…D]"}|jƒ}|rX|}PqXqXW|sˆdS|jtjƒ}||krªdStj    ddƒ}||krÌdS|jtj
ƒ}    |    rèdSg}
x6t |ƒD](} |j tj| ƒ} |
j | ƒqûWtjd|||
fƒi} g}tjƒ}xpt |jƒƒD]\} |j| ƒ}|jƒ} | |
krŸqln|jƒ}|j || gƒ|| | <qlWtj    ddƒ}x‡t |ƒD]y}tj|ƒ}|s qën| j|dƒ|g}||kr@|j|ƒn|jtj
|ƒtjd|ƒqëWdS(    NRÁiiÿÿÿÿRÑis5¾õÐѽâËøÌ츳²Û: awakeLV=%s,maxUnlockSlot=%s,idList=%sis!Ëæ»ú¾õÐÑÌ츳ѡÏî: randTalentID=%s(ROR>R RARRÃtGetUnlockTalentSlotRCRDRÒRIRUR…RZRRRTRVRWRXtGetAweakWeightRSR[R\R](RKR9R»tawakeIpyDataListt maxUnlockSlotRÉtunlockTalentSlotRÜRÚR·RÞRfRhRãRdReRgRät randTalentCntRjRkRl((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRò”sb         cCs;tjƒj|ƒ}|j}|j}t|||ƒdS(N(RRRŽRt SelectIndextdoSelectAwakeTalent(RfRšR›RRƒt selectIndex((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytOnHeroAwakeSelectTalentÙs
        cCs—|jƒ}t||ƒ}|s%dS|jƒ}|jtjƒ}| sV||krwtjd|||f|ƒdS|jtj|ƒ}|s–dS|j    ƒ}    |    jtj
ƒ}
|    jtj ƒ} gg} } xat t |
| ƒƒD]J}|    jtj
|ƒ}|    jtj |ƒ}| j|ƒ| j|ƒqéWtjddƒ}|
|kr‚| dg||
7} | dg||
7} n|| kr²tjd|||| f|ƒdS| j|ƒ| jdƒ|    jtjƒtjd|| | fƒ|    jtj
ƒ|    jtj ƒxDt| ƒD]6\}}|    jtj
|ƒ|    jtj | |ƒq#Wt|    ƒ|rz|jƒntj|ƒj|gƒdS(NsB²»´æÔڸþõÐÑÌì¸³Ëæ»úÑ¡Ïî! heroID=%s,selectIndex=%s,awakeRandCnt=%sRÑiisDÑ¡ÔñÌ츳ID²»ÄÜÖØ¸´! heroID=%s,selectIndex=%s,selectTalentID=%s in %ss3¸üÐÂÑ¡ÔñÌ츳: selectTalentID=%s,idList=%s,lvList=%s(RR„RORCR RIRRR…RÊRDRFRURÓRZRRÒR¯RERØR]RòRÌR—R˜R™(RRƒRûRÎRœRoR9R·tselectTalentIDRKRÜRÝRÞRßRfRhRâRÚ((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRúàsV             
 cCsžtjƒj|ƒ}|j}|j}|j}t||ƒ}|sIdS|dkrht|||ƒn2|dkr‡|jt    j
ƒnt ||||ƒdS(Nii( RRRŽRtLockTalentIndexstOPTypeR„tHeroTalentWashReplaceRER RHtHeroTalentWash(RfRšR›RRƒtlockTalentIndexstopTypeRo((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt
OnHeroWashs              cCsÃ|jƒ}tjd|||fƒ|jtjƒ}|rStjd|ƒdStjddƒ}tj    ddƒ}|sdS|j
ƒ}|jtj ƒ}    xH|ddd…D]3}
|
|    kr³|j |
ƒtjd|
ƒq³q³Wt |ƒ} t |ƒ| kr|| n|d} tjd|| |fƒ|jƒjtjƒ} tj|| | ƒ\}}|sŠtjd    || fƒdStj|| || td
ƒg}xRt|    ƒD]D}||krð|jtj |ƒ}|j|ƒq¹|jd ƒq¹Wtjd |ƒi}g}tjƒ}xpt|jƒƒD]\}|j|ƒ}|jƒ}||krpq=n|jƒ}|j||gƒ|||<q=Wxt|ƒD]q\}}|rÂqªntj|ƒ}|sÝqªn|j |d ƒ|g}||kr|j |ƒn|||<qªWtjd |ƒ|j!tjƒx!|D]}|j"tj|ƒqGW|j!tj#ƒx!|D]}|j"tj#|ƒq{W|j$ƒtjd||||fƒdS(Ns4Î佫ϴÁ¶: itemIndex=%s,heroID=%s,lockTalentIndexs=%ss*Î佫ϴÁ¶½á¹ûδ´¦Àí£¬ÎÞ·¨Ï´Á¶! washIDCnt=%stHeroWashiiiÿÿÿÿs"È¥³ý²»´æÔÚµÄËø¶¨Ë÷Òý: lockIndex=%ss6washItemID=%s,washCostItemCount=%s,lockTalentIndexs=%ss>Ï´Á¶²ÄÁϲ»×㣬Î佫ÎÞ·¨Ï´Á¶! washItemID=%s,washCostItemCount=%sRis
Ï´Á¶Ç°: %ss
Ï´Á¶ºó: %ssFÎ佫ϴÁ¶½á¹û! itemIndex=%s,heroID=%s,washIDList=%s,lockTalentIndexs=%s(%RORRRCR RHR¯RRÒRRÊRDR\RÔRRRR’R“R”R•R–RUR…RZRTRVRWRXRÕRØRSR[RER]RGRÌ(RRƒRoRR9R¶t
washItemIDtlockCostItemListRKRÜt    lockIndextlockCnttwashCostItemCountR¤R¥twashItemIndexListt
washIDListRfRhRãRdReRgRäRkRl((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR2s€     &        
    c    Csþ|jƒ}|jƒ}|jtjƒ}|sKtjd||fƒdSg}|jtjƒxIt    |ƒD];}|j
tj|ƒ}|j |ƒ|j tj|ƒqnW|jtjƒ|j ƒtjd|||fƒtj|ƒj|gƒdS(Ns.Î佫ûÓÐÏ´Á¶²»ÐèÒªÌæ»»! itemIndex=%s,heroID=%ss2Î佫ϴÁ¶Ìæ»»! itemIndex=%s,heroID=%s,washIDList=%s(RORÊRCR RHRR¯RERDRUR…RZR]RÌRR—R˜R™(    RRƒRoR9RKRÜR RfRh((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR‚s"   
c Cs'tjƒj|ƒ}|j}|j}t||ƒ}|s@dS|jƒ}tjd|ƒ}|shdS|j    ƒ}    |dkr÷|t
|    ƒkr­tj d||fƒdS|j t j|ƒ}
|
td|ƒ@s÷tj d|||
fƒdSn|jtj|ƒtj|ƒj|gƒdS(NRMis*¸ÃÎ佫²»´æÔÚ¸ÃÆ¤·ô! heroID=%s,skinIndex=%sis5¸ÃÎ佫Ƥ·ôδ½âËø! heroID=%s,skinIndex=%s,skinState=%s(RRRŽRt    SkinIndexR„RORRPt GetSkinIDListRÔRRRtDef_PDict_HeroSkintpowR<R RBR—R˜R™( RfRšR›RRƒt    skinIndexRoR9R^t
skinIDListt    skinState((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytOnHeroWearSkin£s,           cCsË|jtj|ƒ}|rX|td|ƒB}tjd||||f|jƒƒn;tj||dƒ}tjd||||f|jƒƒtj    |tj||ƒt
||gƒt |ƒdS(Nis=¼¤»îÎ佫Ƥ·ô: heroID=%s,skinIndex=%s,skinState=%s,updState=%sis=ʧЧÎ佫Ƥ·ô: heroID=%s,skinIndex=%s,skinState=%s,updState=%s( RRRRRRRt SetBitValueRRRtRefreshLordAttr(RR9RtisActiveRtupdState((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytActiveHeroSkin¼s         
cCstjƒj|ƒ}|j}|j}|j}|dkrOt|||ƒn,|dkrnt|||ƒn t||ƒdS(Nii(    RRRŽtHeroIDRtBookTypet__doHeroBookStarLVUPt__doHeroBookBreakLVUPt__doHeroBookAct(RfRšR›RR9RƒtbookType((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnHeroBookUPÕs               c    Cs>|jƒ}t||ƒr3tjd||ƒdStjd||ƒtjd|ƒ}|scdS|jƒ}tjd|ƒ}|s‹dSt||ƒdkr¸tjd||ƒdSt||dƒ|j    ƒ}|r t
|ƒdkr |\}}|r |r t j |||dƒq nt ||gƒt|ƒdS(    Ns¸ÃÎ佫ͼ¼øÒѼ¤»î! heroID=%ssÎ佫ͼ¼ø¼¤»î! heroID=%sRMRNis%Î佫δ»ñµÃ¹ý£¬²»¿É¼¤»îͼ¼ø! heroID=%sit HeroBookAct(RRxRRRRPRQRmRytGetBookActAwardMoneyRÔRt    GiveMoneyRR(    RR9RœR^R_R`tawardMoneyInfot    moneyTypet
moneyValue((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRãs0     
cCs|jƒ}t||ƒs3tjd||ƒdSt||ƒ}|sLdS|jƒ|kr‚tjd||jƒf|ƒdS|jtjƒ}t    ||ƒ}||krÐtjd|||f|ƒdStjd|||f|ƒt
|||dƒt ||gƒt |ƒdS(Ns¸ÃÎ佫ͼ¼øÎ´¼¤»î! heroID=%ss)·Ç¸ÃÎ佫ͼ¼ø¹ØÁªÎïÆ·! heroID=%s,itemID=%ssA¸ÃÎ佫ͼ¼øÐǼ¶ÒѴﵱǰӢÐÛÐǼ¶! heroID=%s,bookStar=%s,heroStar=%ss3Î佫ͼ¼øÐǼ¶Éý¼¶! heroID=%s,bookStar=%s,heroStar=%si( RRxRRR„ROR>R R?R{R}RR(RR9RƒRœRotheroStartbookStar((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRs(   
cCs|jƒ}t||ƒs3tjd||ƒdSt||ƒ}|sLdS|jƒ|kr‚tjd||jƒf|ƒdS|jtjƒ}t    ||ƒ}||krÐtjd|||f|ƒdStjd|||f|ƒt
|||dƒt ||gƒt |ƒdS(Ns¸ÃÎ佫ͼ¼øÎ´¼¤»î! heroID=%ss)·Ç¸ÃÎ佫ͼ¼ø¹ØÁªÎïÆ·! heroID=%s,itemID=%ssO¸ÃÎ佫ͼ¼øÍ»ÆÆµÈ¼¶ÒѴﵱǰӢÐÛÍ»ÆÆµÈ¼¶! heroID=%s,bookBreakLV=%s,heroBreakLV=%ss9Î佫ͼ¼øÍ»ÆÆÉý¼¶! heroID=%s,bookBreakLV=%s,heroBreakLV=%si( RRxRRR„ROR>R R@R~R€RR(RR9RƒRœRot heroBreakLVt bookBreakLV((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRs(   
cCs]tjƒj|ƒ}|j}|j}t||ƒ}|s@dS|j|rRdndƒdS(Nii(RRRŽRtIsLockR„t SetIsLocked(RfRšR›RRƒtisLockRo((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt
OnHeroLock9s        cCsôtjƒj|ƒ}|j}t||ƒ}|s7dS|jtjƒ}|jtjƒ}|jtj    ƒ}|dkrœ| rœ| rœtj
d|ƒdS|rö|j t j ƒ}    tjddƒ}
|
rö|    |
krötj
d|    |
fƒdSn|jƒ} tjd| ƒ} | sdS| jƒ} tjd| |ƒ}|sIdS|jƒ}tjddƒ}|r|rtj|||ƒ rdStj
d|| | |||fƒi}t| ||ƒt| ||ƒt| ||ƒ|r|rtj|||dƒ rdS|jƒ}|jtjdƒ|jtjd    ƒ|jtj    d    ƒ|jƒ|r±g|jƒD]\}}||g^qq}tj||d
dt igƒn|rð|j t j ƒ}    tj!|t j |    dƒt"|ƒndS( Nis8¸ÃÎ佫δ½øÐйýµÈ¼¶Í»ÆÆ¾õÐÑÅàÑø£¬²»ÐèÒªÖØÉú! itemIndex=%st HeroRebirthis5½ñÈÕ¾õÐѹýµÄÎ佫֨Éú´ÎÊýÒÑ´ïÉÏÏÞ! rebirthCnt=%s >= %sRMRísKÎ佫֨Éú: itemIndex=%s,heroID=%s,quality=%s,heroLV=%s,breakLV=%s,awakeLV=%sitevent(#RRRŽRR„R>R R=R@RARRRRRRÒRORPRQtGetRebirthCostMoneyRt    HaveMoneyt__calcHeroLVReturnitemt__calcHeroBreakReturnitemt__calcHeroAwakeReturnitemtPayMoneyRÊR<RÌRR"tGivePlayerItemOrMailR4RR(RfRšR›RRƒRoRRR»t
rebirthCntt rebirthCntMaxR9R^R_RÉt    costMoneyR%treturnItemDictRÐtktvtreturnItemList((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnHeroRebirthJsd       "    % 
+" c    Csºi}xtd|ƒD]}tjd||ƒ}|s=qn|jƒ}|sUqn|\}}|j|dƒ|||<|j|dƒ|||<qWtjd||||fƒdS(NiR‹is*    µÈ¼¶·µ»¹: quality=%s,heroLV=%s,%s,×Ü%s(RURRPR‘R[RR(    R_RR;t
returnDicttretLVRŸR¡R¢R£((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR3‰s  c    Csºi}xtd|ƒD]}tjd||ƒ}|s=qn|jƒ}|sUqn|\}}|j|dƒ|||<|j|dƒ|||<qWtjd||||fƒdS(NiR©s+    Í»ÆÆ·µ»¹: quality=%s,breakLV=%s,%s,×Ü%s(RURRPR‘R[RR(    R_RR;R@t
retBreakLVR«R¡R¢R£((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR4™s  c    Csºi}xtd|ƒD]}tjd||ƒ}|s=qn|jƒ}|sUqn|\}}|j|dƒ|||<|j|dƒ|||<qWtjd||||fƒdS(NiRís+    ¾õÐÑ·µ»¹: quality=%s,awakeLV=%s,%s,×Ü%s(RURRPR‘R[RR(    R_R»R;R@t
retAwakeLVtqualityAwakeIpyDataR¡R¢R£((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR5©s  c CsJtjƒj|ƒ}|j}tjd|ƒg}i}|jƒjtjƒ}x]|D]U}|dksZ||j    ƒkr„qZn|j
|ƒ}    |     sZ|    j ƒr¬qZn|    j tj ƒ}
|
rátjd||
fƒqZn|    jƒrtjd|ƒqZn|    jtjƒ} | rggt| ƒD]} |    jtj| ƒ^q)} tjd|| fƒqZn|    jƒ}tjd|ƒ}|s‘qZn|jƒ}|    j tjƒ}|    j tjƒ}|    j tjƒ}tjd|ƒ}|sñqZntjd||||||fƒ|jƒ}x<|D]4\}}|d    |}|j|dƒ|||<q'Wtjd
||||fƒt|||ƒt|||ƒ|j||    gƒqZW|s½dSx3|D]+\}}    tj ||    |    j    ƒt!d ƒqÄW|rFg|j"ƒD]\}}||g^q}t#j$||d d t!igƒndS( NsÎ佫Dzɢ: itemIndexList=%sis7¾õÐѹýµÄÎ佫ÐèÏÈÖØÉúºó²Å¿ÉDzɢ! itemIndex=%s,awakeLV=%ss Ëø¶¨µÄÎ佫ÎÞ·¨Ç²É¢! itemIndex=%ss5ÉÏÕóÖеÄÎ佫ÎÞ·¨Ç²É¢! itemIndex=%s,lineupValueList=%sRMRNsHDzɢ: itemIndex=%s,heroID=%s,quality=%s,heroLV=%s,breakLV=%s,heroStar=%sis,    ÐǼ¶·µ»¹: quality=%s,heroStar=%s,%s,×Ü%st HeroDismissR0(%RRRŽt ItemIndexListRRRR R/RRRR>RAR®RCR2RUR…RORRPRQR=R@R?tGetDismissReturnItemsR[R3R4RZR“R±R4RR"R7(RfRšR›RR¦tdismissItemListR;R5RƒRoR»R‡RˆtlineupValueListR9R^R_RRR'R`tdismissReturnItemstitemIDt    itemCountt
starRetCntR<R=R>((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt OnHeroDismissÁsh      .  # #+"cCsFtjƒj|ƒ}|j}|j}|j}i}g}xI|D]A}    |    j}
|    j} | |krmqCn|j| ƒ| ||
<qCW|t    j
kr¬tj d|ƒdStj d||f|j ƒƒ|j ƒjt    jƒ} d} i}xût| jƒƒD]ç}| j|ƒ}| s|jƒr1qn|jt    jƒ}|sOqn|jƒ}xŒt|ƒddd…D]q}|jt    j|ƒ}t|ƒd|kr¬qun|jt    j|ƒ| d7} | t    jkrÜPn|||<quWqWg}i}xü|jƒD]î\}
} | dks| | jƒkr7qn| j| ƒ}| s|jƒr_qn|jƒ}||kr”tj d| |fƒqn|j|ƒ|jƒ}t|||
ƒ}|jt    j|ƒ| |krë||| <n|
|| <qWx|jƒD]}|j ƒqWt!j"|ƒj#|ƒ}|j$||ƒdS(Ns#²»´æÔÚ¸ÃÕóÈÝ£¬ÎÞ·¨±£´æ! lineupID=%ss±£´æÕóÈÝ: lineupID=%s, %siiÿÿÿÿis,ͬ¸öÎ佫ֻÄÜÉÏÕóÒ»¸ö! itemIndex=%s,itemID=%s(%RRRŽtLineupIDt    ShapeTypet HeroPosListtPosNumRRZR t
LineupListRRRRR/RURRRRCR2RÊR…R†t DelUserAttrt LineupObjMaxRROR1R]tvaluesRÌR—R˜t    GetLineupt    UpdLineup(RfRšR›RR7R8t heroPosListt heroPosDictt    indexListtposInfoR:RƒR5tdelCountt syncItemDictRoR‡RÐRˆR;t
heroIDListt heroItemDictRKtsyncItemtlineup((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pytOnHeroLineupSave sz                          
      cCs|d|d|S(Ni'id((R7R8R:((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR1XscCs/|d}|dd}|d}|||fS(Ni'id((R;R7R8R:((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR†Ys
 
cCs!t|ƒtj|ƒjƒdS(N(tCalcHeroAddAttrR—R˜tRefreshRoleAttr(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRes
cCsOi}|jƒ}tjƒ}xút|jƒƒD]æ}|j|ƒ}|jƒ}t||ƒsgq1n|jƒ}tj    d|ƒ}|s‘q1n|j
ƒ}    |j ƒ}
|j ƒ} t ||ƒ} t||ƒ} xAtjD]6}|    | |
| | }|j|dƒ|||<qÝWq1Wtjd||ƒtj|ƒjtj|ƒdS(NRNisÎ佫ͼ¼øÊôÐÔ: %s(tGetIDRRTRUt GetHeroCounttGetHeroByIndext    GetHeroIDRxRQRPtGetBookInitAddPertGetBookStarAddPertGetBookBreakLVAddPerR{R~RtBaseAttrPerIDListR[RRR—R˜t SetCalcAttrtDef_CalcAttr_HeroBook(RtheroBookAttrDictRœReRfRÉR9R_R`tbookInitAddPertbookStarAddPertbookBreakLVAddPerR(R*t    attrPerIDtaddPer((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRdks.       "c Cs|dkr|}nQg}tjƒ}x<t|jƒƒD](}|j|ƒ}|j|jƒƒq:W|spdSg}xÑ|D]É}tjd|ƒ}|s¡q}n|dkrÊ|j    t
j |ƒ rÊq}nt j ƒ}    ||    _|j    t
j|ƒ|    _|j    t
j |ƒd|    _t||ƒ|    _t||ƒ|    _|j|    ƒq}W|sTdSt jƒ}
||
_t|
jƒ|
_tj||
ƒdS(NRMi
(tNoneRRTRURgRhRZRiRPRRRqtChPyNetSendPackt    tagSCHeroRRt    SkinStatet BookInitStateR{t
BookStarLVR~t BookBreakLVt tagSCHeroInfot HeroInfoListRÔtHeroCntt NetPackCommont SendFakePack( RR_tsyncHeroIDListReRfRÉt syncInfoListR9R^therot
clientPack((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyR‰s<       #          c Cs^|r|g}n    tj}g}tj|ƒ}xæ|D]Þ}|j|ƒ}|sXq7nd„|jjƒDƒ}g}xOtddtjƒD]7}||kr¸|j    ||dƒqŽ|j    dƒqŽWt
j ƒ}    |j |    _ |j|    _||    _t|    jƒ|    _|j    |    ƒq7W|s#dSt
jƒ}
||
_t|
jƒ|
_tj||
ƒdS(NcSsi|]\}}||“qS(((t.0R<R=((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pys
<dictcomp>¼s    ii(R RSR—R˜RWR`RRURURZRwt tagSCLineupR7ROR8RPtHeroItemIndexListRÔRttagSCLineupInfot    LineupCntR€R( RR7t
syncIDListt
lineupListtolPlayerRbtposNumItemIndexDicttheroItemIndexListR:t
packLineupR…((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt Sync_Lineup¯s8                   cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(RwttagSCPlayerHeroInfoRRRtAwakeRebirthCntR€R(RR…((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyRÓs (ER“R RRR"RwR€RR—RRRÖRR    R R
R RLRJRpRmRnRxRyR{R}R~R€R„R0RŠR¨RRÀR°R–R²RËRìRêRñRîRòRüRúRRRRRR RRRR.R?R3R4R5RNRcR1R†RRdRvRR‘R(((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHero.pyt<module>s‚                                        ,                                       /        5         f    -     .         E     ?        P    !                              ?                K    L                  & $