hxp
2026-01-19 e2980f50fb2f9feb9bc1eb952614ad5c38d1db68
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
1jic@sÎddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddd„ƒYZddd„ƒYZddd„ƒYZddd    „ƒYZd
dd „ƒYZd „Zd „Zd„Zd„Zd„Zd„Ze d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&dS(iÿÿÿÿNt
LineupHerocBseZd„Zd„ZRS(cCs|jƒdS(N(tClear(tself((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt__init__-s
cCsLd|_d|_d|_d|_i|_g|_d|_d|_dS(Ni(t    itemIndextheroIDtskinIDtposNumtheroBatAttrDicttheroSkillIDListt
fightPowertskillFightPower(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR1s                                (t__name__t
__module__RR(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR*s    t
PresetHerocBsVeZdZdd„Zded„Zd„Zd„Zd„Zd„Z    d    „Z
RS(
sçÎ佫ÕóÈÝÔ¤Éè·½°¸£¬¿ÉÓÃÓÚÈκÎÒ»¸öÈ«¾ÖÕ½¶·Ô¤Éè·½°¸
    ËäÈ»ÊÇͬ¸öÎ佫ÎïÆ·ÕóÈÝÔ¤É裬µ«ÊÇÔÚ²»Í¬µÄÕ½¶·Ô¤Éè·½°¸ÖÐ×îÖÕµÄÎ佫ÊôÐÔ¿ÉÄܲ»Ò»Ñù
    ¹Ê¸ÃÀàÎÞ¹ØÈκÎÎ佫սÁ¦¡¢ÊôÐԵȣ¬Ö»»ã×Üij¸öÎ佫ÕóÈÝÔ¤ÉèÏà¹Ø¹«¹²Êý¾Ý£¬ÈçÎ佫վλ¡¢ÉúЧ¿¨ÅƵÈ
    icCs1||_d|_i|_i|_t|_dS(Ni(t heroPresetIDt    shapeTypet heroItemDictt_effectiveCardDicttFalset isHeroChange(RR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyRBs                     icCs5||_||_|s$t|_nt||ƒdS(N(RRtTrueRtreloadEffHeroCard(Rt    curPlayerRRtisReload((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytSetHeroItemPresetJs           cCs ||jkS(N(R(RR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt IsHeroItemInRscCs|jj|ddtgƒS(Niÿÿÿÿ(RtgetR(RR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetHeroEffectiveCardTscCs|||g|j|<dS(N(R(RRt
cardAddPerRtinThis((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytSetHeroEffectiveCardUscCs ||_dS(N(R(RteffectiveCardDict((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytSetEffectiveCardDictZscCs2d}x%|jjƒD]}||d7}qW|S(Ni(Rtvalues(Rt effCardAddPerteffInfo((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetEffCardAddPer[s( R R t__doc__RRRRRRR!R%(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR<s                 t PresetLineupcBs_eZdd„Zd„Zd„Zd„Zd„Zd„Zd„Ze    d„Z
d    „Z RS(
icCsL||_||_||_d|_d|_d|_g|_i|_dS(Nii(    tplayerIDt batPresetIDtexclusiveMapIDtNonetolPlayert_PresetLineup__refreshStateR
t!_PresetLineup__freeLineupHeroObjst_PresetLineup__lineupHeroDict(RR(R)R*((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyRds                                cCs|j S(N(R/(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytIsEmptypscCs |jjƒS(N(R/tkeys(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt GetPosNumListrscCsRx9|jjƒD](}||jkr|jj|ƒqqWi|_d|_dS(Ni(R/R"R.tappendR
(RtfreeObj((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytFreeLineupHerots         cCstd}||jkr%|j|}nK|jrZ|jjdƒ}|jƒ||j|<ntƒ}||j|<|S(Ni(R+R/R.tpopRR(RRt
lineupHero((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt GetLineupHero}s    
     cCsXd}x9|jjƒD](}|j|ƒ}|j|kr|SqWtrTtƒ}n|S(N(R+R/R1R8RRR(RRR7R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetLineupHeroByIDŠs cCs d|_dS(Ni(R-(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytSetNeedRefreshState”s    cCs d|_|r|jƒndS(Ni(R-tCheckRefreshLineupAttr(Rt refreshForce((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytRefreshLineupAttr™s     cCs3|js tSd|_t|jj|j|ƒtS(Ni(R-RtdoRefreshLineupAttrR,RR(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR;Ÿs
        ( R R RR0R2R5R8R9R:RR=R;(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR'as                          
     t OnlinePlayercBsÚeZd„Zd„Zd„Zd„Zd„Zedd„Zdd„Z    dd„Z
ddd    „Z d
„Z d „Zd „Zd „Zd„Zd„Zeedd„Zedd„Zded„Zd„ZRS(cCsL||_d|_i|_i|_i|_i|_tj|ƒ|_    dS(N(
R(R+Rt _calcAttrDictt_calcSpecEffDictt_heroPresetDictt_presetLineupDictt
TurnAttackt    MainFightt    mainFight(RR(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyRªs                        cCs|jjjƒdS(N(RFt    turnFightt    exitFight(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytOnClear¸scCs||_||jj_dS(N(RRFRG(RR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt    SetPlayer¼s    cCs |jdkS(N(RR+(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt IsRealOnlineÁscCs<||jkr|j|}nt|ƒ}||j|<|S(N(RBR(RRt
heroPreset((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt GetHeroPresetÅs
  icCs±d}|}|r9|tjkr0||f}q9d}n||jkrX|j|}n9t|j||ƒ}||j|<tjdt|ƒƒ||_    |r­|j
ƒn|S(Nis´´½¨Õ½¶··½°¸: %s( R+tChConfigtExclusiveBatAttrMapIDListRCR'R(t    GameWorldtDebugLogtstrR,R;(RR)t    checkAttrR*tlineuptlineKey((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetPresetLineupÎs          cCs+|r||fn|}|jj|iƒS(N(RAR(Rt    calcIndextpresetIDtcalcKey((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetCalcSpecInfoãscCs+|r||fn|}|jj|iƒS(N(R@R(RRWRXRY((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt GetCalcAttræscCsE|r||fn|}||j|<|dkrA||j|<ndS(N(R@R+RA(RRWtattrDictt specEffInfoRXRY((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt SetCalcAttrés
  cCs—|j}tjd|jƒi|_i|_i|_i|_t|ƒt    ||ƒt
j |jt j ƒ}tjd||jƒ|j|ƒdS(NsReCalcAllAttr...smainBatPresetID=%s(RRPRQR(R@RARBRCt doCalcAllAttrtdoReloadLineupt PlayerPresettGetBatPresetIDt ShareDefinetBatPreset_MainRV(RRtmainBatPresetID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt ReCalcAllAttròs                    
  cCs |jjƒS(N(RBR1(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetHeroPresetIDListscCsCg}x6|jjƒD]%}t|tƒr|j|ƒqqW|S(N(RCR1t
isinstancetintR3(Rt presetIDListtk((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetBatPresetIDLists
cCs|jS(N(RC(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetPresetLineupDict scCs~|j}tjd||f|jƒxQ|jjƒD]@}|j}|rl|tj|||ƒkrlq6n|j    ƒq6WdS(Ns9ÇëÇóË¢¹¦ÄÜÔ¤ÉèÊôÐÔ±ä¸ü: funcPresetType=%s,funcPresetID=%s(
RRPRQR(RCR"R)RatGetFuncPresetIDR=(RtfuncPresetTypet funcPresetIDRt presetLineupR)((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytRefreshByFuncPresets        !cCs7tjd||jƒ|j|tƒ}|jƒdS(Ns&ÇëÇóˢȫ¾ÖÔ¤Éè·½°¸ÊôÐÔ: batPresetID=%s(RPRQR(RVRR=(RR)Rq((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytRefreshBatPresets
cCsytjd||f|jƒx<|jjƒD]+}|rN|j|krNq-n|jƒq-W|ru|j||ƒndS(sÉË¢ÐÂÖ÷¹«ÊôÐÔ£¬Ó°ÏìÖ÷¹«ÊôÐԵŦÄܵãÊôÐԱ仯ʱͳһµ÷Óô˺¯Êý
        @param refreshForce: ÊÇ·ñÇ¿ÖÆÁ¢ÂíË¢ÐÂ
        @param isAllLineup: ÊÇ·ñֻͬ²½Ë¢ËùÓÐÕóÈÝÊôÐÔ£¬Èç¹ûÉèÖÃFalseÔòĬÈϽöË¢Ö÷ÕóÈÝÊôÐÔ
        s1ÇëÇóË¢Ö÷¹«ÊôÐÔ: refreshForce=%s,exclusiveMapID=%sN(RPRQR(RCR"R*R:tDoRefreshRoleAttr(RR<t isAllLineupR*RT((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytRefreshRoleAttr scCs¢|j}tj|tjƒ}t}xw|jjƒD]f}|s…|r^|j|kr‚q4q‚q…|j    |ks4|jdkr…q4q…n|j
ƒr4t }q4q4W|S(sÍÖ´ÐÐË¢ÊôÐÔ£¬Ä¬ÈÏֻˢµ±Ç°Ô¤Éè·½°¸ÕóÈÝ£¬ÆäËûÕóÈÝ¿ÉÒÔÓõ½µÄʱºòÔÙË¢ÐÂ
        @param isAllLineup: ÊÇ·ñË¢ËùÓÐÕóÈÝ£¬Èç¹ûÉèÖÃFalseÔòĬÈϽöË¢µ±Ç°Ô¤Éè·½°¸ÕóÈÝÊôÐÔ
        @return: ÊÇ·ñÓÐË¢ÊôÐÔ£¬0-ÎÞ£»1-ÓÐ
        i( RRaRbRcRdRRCR"R*R)R;R(RRuR*RR)t    isRefreshRT((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyRt2s              cCs^|j}|j|ƒ}|j||||ƒ|jtj|ƒ|sZtj||ƒndS(sÙ±ä¸üÎ佫ԤÉèÕóÈÝʱ¸üÐÂ
        @param heroPresetID: Î佫ԤÉèID
        @param heroItemDict: Î佫±³°üË÷ÒýÐÅÏ¢  {itemIndex:posNum, ...}
        @param shapeType: ÕóÐÍ
        @param refreshForce: ÊÇ·ñÇ¿ÖÆË¢ÊôÐÔ
        N(RRMRRrRctFuncPreset_Herot
PlayerHerotSync_HeroPreset(RRRRRRRL((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytUpdHeroItemPresetLs    cCs¬|j}|jƒ}x|jjƒD]}|jƒ}t|||ƒ|jƒ}||kreq%n|j}tjd||||f|j    ƒ|j
t j |ƒq%WdS(sOij¸öÎ佫ÎïÆ·±ä»¯Ê±ÐèÒª´¦ÀíµÄÂß¼­
        @param heroItem: ±ä»¯Î佫ÎïÆ·
        sVÎ佫ÎïÆ·±ä»¯Ó°Ïì: itemIndex=%s,heroPresetID=%s,effCardAddPerBef=%s,effCardAddPerAft=%sN( RtGetItemPlaceIndexRBR"R%tcheckUpdEffHeroCardRRPRQR(RrRcRx(RtheroItemRRRLteffCardAddPerBefteffCardAddPerAftR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytOnHeroItemUpate\s                N(R R RRIRJRKRMRRVRZR[R+R^RfRgRlRmRrRsRRvRtR{R(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR?§s&                                                       t    OnlineMgrcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsi|_i|_dS(N(t_OnlineMgr__onlinePlayerDictt!_OnlineMgr__offlinePlayerTimeDict(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyRus        cCs[d}|jƒ}||jkr1|j|}nt|ƒ}||j|<|j|ƒ|S(N(R+t GetPlayerIDRƒR?RJ(RRR,R(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytGetOnlinePlayerzs    cCsh|jƒ}|jj|dƒ||jkrJt|ƒ}||j|<n |j|}|j|ƒdS(N(R…R„R6R+RƒR?RJ(RRR(R,((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytSetPlayerOnline…s    cCsV|jƒ}||jkrdS|j|}|jdƒttjƒƒ|j|<dS(N(R…RƒRJR+RittimeR„(RRR(R,((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytSetPlayerOffline‘s   cCs™ttjƒƒ}d}xz|jjƒD]i\}}|||krJq(n|jj|dƒ||jkrrq(n|jj|dƒ}|jƒq(WdS(Nii<i,(RiRˆR„titemsR6R+RƒRI(RtcurTimet offlineTimesR(t offlineTimeR,((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytProcessOffline›s(R R RR†R‡R‰RŽ(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR‚rs
                  
cCs1d}tjrtj}ntƒ}|t_|S(N(R+t
PyGameDatat g_onlineMgrR‚(tmgr((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt GetOnlineMgr©s              cCstƒj|ƒS(N(R’R†(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR†²scCstƒj|ƒdS(N(R’R‡(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt OnPlayerLogin´scCstƒj|ƒdS(N(R’R‰(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytOnPlayerLogoff¹scCstƒjƒdS(N(R’RŽ(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pytOnMinute¾s cCs|jƒ}|jƒ}tj|ƒ}i}|rli|jƒtj6|jƒtj6|j    ƒtj
6}nt j d||ƒt |ƒjtj|ƒdS(Ns½ÇÉ«µÈ¼¶ÊôÐÔ: %s(tGetIDtGetLVt PlayerControltGetPlayerLVIpyDatatGetAtkRNt
AttrID_AtktGetDeft
AttrID_DeftGetMaxHPt AttrID_MaxHPRPRQR†R^tDef_CalcAttr_LV(RR(tplayerLVt    lvIpyDatat
lvAttrDict((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt CalcRoleBaseÂs  c
Cst|dƒsdS|sdS|j}|jƒ}|jƒ}t|ƒ}|j|ƒ\}}    }
|jƒjtj    ƒ} | j
ƒ|    kr›| j |    ƒnd} | s´| j ƒrètjd|||    |
fƒddt}}    }
n||    krº||kr'tjd||||
||fƒdS|j||||
ƒ||krptjd||||
||fƒdS|
rtjd||||
||fƒdStjd||||
||fƒ|jƒjtj    ƒ} x¾t| j
ƒƒD]ª} | |krqën| j | ƒ}| së|j ƒr+qën||jƒkrCqënt|ƒ}||kraqëntjd||| ||fƒt||||ƒdSWtjd    ||||fƒdS|
rátjd
|||    |fƒdS||krtjd ||||||    fƒdStjd ||||||    fƒ|j||||
ƒ|jƒ}|jtj|ƒ|o{|jƒ|    d kr|jƒjtj    ƒ} | j
ƒ|    krÁ| j |    ƒnd} | r| j ƒ r| jƒ}|jtj|ƒ|o| jƒqndS(NR|sXÀúÊ·ÉúЧµÄÎïÆ·²»ÔÚÁË£¬Ç¿ÖÆÉèÖÿÕ! heroPresetID=%s,effAddPer=%s,effItemIndex=%s,inThis=%siÿÿÿÿspÉúЧµÄ¿¨ÅƲ»±äÇÒ¼Ó³ÉÒ²²»±ä£¬²»Óô¦Àí! heroPresetID=%s,heroID=%s,itemIndex=%s,inThis=%s,effAddPer=%s,curAddPer=%ssfÉúЧµÄ¿¨ÅƲ»±äÇÒ¼Ó³ÉÌáÉýÁË! heroPresetID=%s,heroID=%s,itemIndex=%s,inThis=%s,effAddPer=%s,curAddPer=%ss~ÉúЧµÄ¿¨ÅÆÐ§¹û¼Ó³É½µµÍÁË£¬µ«ÔÚÖ÷ÕóÈÝÖÐÒÀ¾É±£³ÖÉúЧ! heroPresetID=%s,heroID=%s,itemIndex=%s,inThis=%s,effAddPer=%s,curAddPer=%ssŠÉúЧµÄ¿¨ÅÆÐ§¹û¼Ó³É½µµÍÁË£¬Î´ÔÚÖ÷ÕóÈÝÖÐÖØÐ¼ìË÷ÊÇ·ñÓмӳɸü¸ßµÄ! heroPresetID=%s,heroID=%s,itemIndex=%s,inThis=%s,effAddPer=%s,curAddPer=%ssVÓиü¸ß¼Ó³ÉµÄͬÃûÎ佫! heroPresetID=%s,heroID=%s,index=%s,packCardPer=%s > curAddPer=%ssYûÓиü¸ß¼Ó³ÉµÄͬÃûÎ佫£¬±£Áô±¾¿¨ÉúЧ! heroPresetID=%s,heroID=%s,itemIndex=%s,curAddPer=%ssfûÓÐÔÚÖ÷ÕóÈÝÖÐÇÒµ±Ç°ÉúЧµÄ¿¨ÅÆÔÚÖ÷ÕóÈÝÖв»´¦Àí! heroPresetID=%s,heroID=%s,effItemIndex=%s,itemIndex=%ssy¶¼Ã»ÓÐÔÚÖ÷ÕóÈÝÖÐÇÒ²»¸ßÓÚµ±Ç°ÉúЧ¿¨ÅƼӳɲ»´¦Àí! heroPresetID=%s,heroID=%s,itemIndex=%s,curAddPer=%s <= %s,effItemIndex=%ss|¶¼Ã»ÓÐÔÚÖ÷ÕóÈÝÖÐÇÒ¸ßÓÚµ±Ç°ÉúЧ¿¨ÅƼӳÉÌæ»»ÉúЧ¿¨ÅÆ! heroPresetID=%s,heroID=%s,itemIndex=%s,curAddPer=%s > %s,effItemIndex=%si(thasattrRR|t GetItemTypeIDtgetHeroCardAddPerRtGetItemManagertGetPackRctrptHerotGetCounttGetAtR+R0RPRQRRtrangeR}tGetItemt AddUserAttrtDef_IudetHeroEffPresetIDt    Sync_Itemt DelUserAttr(RRLR~tisNotifyRRRt    curAddPert    effAddPert effItemIndexRtcurPackt
hisEffItemtindextpackItemt packCardPertitem((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR}Òsˆ       '                                  ' cCsN|jƒ}|j}g}i}|jƒjtjƒ}tjd||ƒx\t|j    ƒƒD]H}|j
|ƒ}| s`|j ƒrŽq`nt }    |j tjƒ}
xLt|
ƒD]>} |jtj| ƒ} tj| ƒd|kr³t}    Pq³q³W|jƒ} t|ƒ}tj|ƒ}||kr8|j|ƒn|    rT|||    g|| <q`|j| ddt gƒ}|dtkr‚q`||dkr`|||    g|| <q`q`Wi}tjdt|ƒ|f|ƒtjdt|ƒ|f|ƒd}|j|ƒxª|jƒD]œ\} }|\}}}    ||7}||krS|j|ƒqtjd| ||    ||f|ƒ|j
|ƒ}|jƒ}|jtj|ƒ|||<qWtjd||ƒxF|D]>}|j
|ƒ}|jƒ}|jtj|ƒ|||<qÍWtjd    ||f|ƒx|j ƒD]}|j!ƒq6WdS(
Ns'ÖØÐ¼ì²éÔØÈëÉúЧµÄ¿¨ÅÆ: heroPresetID=%siiÿÿÿÿis    ÀúÊ·ÉúЧµÄ¿¨ÅÆË÷Òý: %s,%ss    ×îÐÂÉúЧµÄ¿¨ÅÆÐÅÏ¢: %s,%ssT    ÉúЧµÄ¿¨ÅƱ仯µÄ: heroID=%s,itemIndex=%s,inThis=%s,cardAddPer=%s,cardPerTotal=%ss    ÒƳýʧЧµÄ¿¨ÅÆË÷Òý: %ss(    ×îÖÕÉúЧ¿¨ÅƼӳÉ: %s,heroPresetID=%s("R…RR¨R©RcRªRPRQR­R«R¬R0RtGetUserAttrCounttDef_IudetHeroLineuptGetUserAttrByIndexRytGetLineupValueRR¦R§tGetHeroEffPresetIDListR3RtlenR!RŠtremoveR®R¯R°R²R"R±(RRLR(RthisEffCardIndexListtupdEffectiveCardDictR·R¹R~Rt lineupCounttlpIndext lineupValueRRthisEffPresetIDListR$t syncItemDictt cardPerTotalRR¼tsyncItem((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR!sl           
 #   c
Cs÷|jƒ}tjd|ƒ}|s(dS|jƒ}tjd|ƒ}|sPdS|jtjƒ}|jtjƒ}|jtjƒ}t    j
|ƒ}|j ƒ}    |    |j ƒt d|dƒ7}    |    |jƒ|7}    |    |jƒt||ƒ7}    |    S(NtHeroit HeroQualityi(R¦t IpyGameDataPYtGetIpyGameDatat
GetQualityt GetUserAttrRctDef_IudetHeroLVtDef_IudetHeroStartDef_IudetHeroBreakLVRytGetHeroStarMaxt GetInitAddPert GetLVAddPertmaxtGetBreakLVAddPert GetStarAddPertmin(
R~Rt heroIpyDatatqualitytqualityIpyDatatheroLVtstartbreakLVtstarMaxtaddPer((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR§ks"   !c
CsÎtjdtjƒ}|sdSt|ƒ}tj}i}i}i}|jƒjtjƒ}xÙt|j    ƒƒD]Å}    |j
|    ƒ}
|
sq|
j ƒrŸqqn|
j tj ƒ} | s½qqng} x-t| ƒddd…D]} |
jtj | ƒ}tj|ƒ\}}}| s9||ks9tj|||ƒ rftjd|    ||fƒ| j|ƒqÝn||kr|||<n||kr˜i||<n||}t|ƒtjksÕ||jƒksÕ|    |krå| j|ƒqÝ|||    <qÝW| rq|
jƒ}x!| D]}|jtj |ƒq W|
||    <qqqqWx|jƒD]}|jƒqGWtjd||jƒƒxE|jƒD]7\}}|j|dƒ}|j|||dtƒq‚Wtj |ƒdS(Nt PresetUnlockiÿÿÿÿsEÒì³£»ò²»¿ÉÓõÄÎ佫ԤÉè·½°¸ID: index=%s,heroPresetID=%s,lineupValue=%ssÖØÔØÎ佫ԤÉèÕóÈÝ: %siR(!RÏtGetIpyGameDataListRcRxRÂR¨R©RªR­R«R¬R0R½R¾R¿RyRÀRatGetFuncPresetIDStateRPRQR3t LineupObjMaxR"R®R²R±R…RŠRR{RRz(RR,therpPresetIpyDataListt presetIDMaxRot
presetDictt shapeTypeDictRÊR·R¹R~RÆt delValueListRÇRÈRRRRR¼RÌ((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR`sZ      )     
3   cCs™tjd|jƒƒt|ƒtj|ƒtj|ƒtj    |ƒt
j |ƒt j |ƒtj|ƒtj|ƒtj|ƒtj|ƒdS(NsdoCalcAllAttr...(RPRQR…R¤tChEquiptCalcRoleEquipAttrRytCalcHeroAddAttrtPlayerPrestigeSystCalcOfficialRankAttrt PlayerGubaot CalcGubaoAttrt    PlayerHJGt CalcHJGAttrt PlayerHorset CalcHorseAttrt PlayerBeautytCalcBeautyAttrt PlayerMinggetCalcMinggeAttrtGameLogic_DingjungetCalcDingjungeAttr(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR_»s
         cœ
CsD|jƒ}|j}|j}tj||tjƒ}tj||tjƒ}|j|ƒ}|j    }    t
j d||f|ƒt
j d||    f|ƒ|j ƒi}
i} i} i} i}i}i}|j ƒjtjƒ}x‡|    jƒD]y\}}|dksó||jƒkr#qón|j|ƒ}| só|jƒrKqón|jƒ}tjd|ƒ}|suqón|jƒ}tjd|ƒ}|sŸqón|jtjƒ}|jtjƒ}|jtjƒ}|jtjƒ}d}|jƒ}|dks|t|ƒkr$||}n|r7|d}n|j|ƒ}||_ ||_!||_"||_#i|_$g|_%d|_&|j'ƒ} |j(ƒ}!|j%j)| |!gƒi}"|"j*i|j+ƒt,j-6|j.ƒt,j/6|j0ƒt,j16ƒx0|j2ƒjƒD]\}#}$|$|"t3|#ƒ<q    W|"| |<i}%tjd||ƒ}&|&rÉ|&j4ƒ}'|&j5ƒ}(xZt6t7t|'ƒt|(ƒƒƒD]4})|'|)}*|(|)}+|%j8|*dƒ|+|%|*<qŽWn|%| |<i},tj9d|ƒ}-|-rÖxâ|-D]×}.|.j:ƒ|krPn|.j4ƒ}'|.j5ƒ}(xWt6t7t|'ƒt|(ƒƒƒD]4})|'|)}*|(|)}+|,j8|*dƒ|+|,|*<qNW|.j;ƒ}/|.j<ƒ}0|/r·|j%j=|/ƒn|0rø|j%|07_%qøqøWn|,||<tj>dd    ƒ}1i}2tj?d
|ƒ}3|3rìxÙ|3D]Î}4|4j@ƒ|kr3Pn|4jAƒ}5tB|1|5ƒ}1|4j4ƒ}'|4j5ƒ}(xWt6t7t|'ƒt|(ƒƒƒD]4})|'|)}*|(|)}+|2j8|*dƒ|+|2|*<qˆW|4j;ƒ}/|/r|j%j=|/ƒqqWn|2||<i}6|jCtjDƒ}7|jCtjEƒ}8xžt6t7|7|8|1ƒƒD]„})|jFtjD|)ƒ}9|jFtjE|)ƒ}:tjd |9ƒ};|;s‡q9n|;jGƒ}*|;jHƒ|:}+|6j8|*dƒ|+|6|*<q9W|6||<xS|jIƒD]E}<|<| kr÷g| |<<n| |<}=||=krØ|=j=|ƒqØqØW|jJƒ}>|>|
krFg|
|><n|
|>}?||?kró|?j=|ƒqóqóWi}@x#| jƒD]\}<}=tjd |<ƒ}A|As­qƒn|AjKƒ}BtL}Cx$|BD]}D|D|=krÆtM}CPqÆqÆW|Csòqƒn|Aj4ƒ}'|Aj5ƒ}(x‹t6t7t|'ƒt|(ƒƒƒD]h})|'|)}*|(|)}+xK|BD]C}||@krli|@|<n|@|}E|Ej8|*dƒ|+|E|*<qMWq,WqƒWi}Fxð|
jƒD]â\}>}?tj9d |>ƒ}G|GsÙq¯ngg}'}(t|?ƒ}HxB|GD]:}I|IjNƒ}J|H|Jkr    Pn|Ij4ƒ}'|Ij5ƒ}(qùWxWt6t7t|'ƒt|(ƒƒƒD]4})|'|)}*|(|)}+|Fj8|*dƒ|+|F|*<qY    Wq¯Wtj>dd    ƒ}Ktj>ddƒ}Ltj>ddƒ}Mtj>ddƒ}N|jOt,jPƒ}O|jOt,jQƒ}P|jOt,jRƒ}Q|jOt,jSƒ}R|jOt,jTƒ}S|jOt,jUƒ}T|jOt,jVƒ}U|jOt,jWƒ}V|jOt,jX|ƒ}W|t,jYkr£
|jOt,jZƒni}Xt
j d|
|ƒt
j d| |ƒt
j d| |ƒt
j d| |ƒt
j d||ƒt
j d||ƒt
j d||ƒt
j d|@|ƒt
j d|F|ƒt
j d|O|ƒt
j d|P|ƒt
j d|Q|ƒt
j d|R|ƒt
j d|S|ƒt
j d |T|ƒt
j d!|U|ƒt
j d"|V|ƒt
j d#|W|f|ƒt
j d$|X|ƒ|j[ƒ}Y|Yd%:}Yt
j d&|Y|ƒ|j\ƒ}Z|j]ƒ}[t
j d'|Z|[f|ƒtjd(|[ƒ}\d}]xÿ| jƒD]ñ\}}"|j^|ƒ}|sÓ q¬ ni|_$d|_&| j8|iƒ}%|j8|iƒ}6|j8|iƒ},|j8|iƒ}2|@j8|iƒ}^i}_i}`x‘t,j_D]†}*t,j`j8|*dƒ}a|Oj8|*dƒ}b|Pj8|*dƒ}cd}d|*t,jakr² |Y}dn|Qj8|*dƒ}e|arà |Qj8|adƒd%nd}f|Rj8|*dƒ}g|ar|Rj8|adƒd%nd}h|Sj8|*dƒ}i|arH|Sj8|adƒd%nd}j|Tj8|*dƒ}k|ar||Tj8|adƒd%nd}l|Uj8|*dƒ}m|ar°|Uj8|adƒd%nd}n|Vj8|*dƒ}o|arä|Vj8|adƒd%nd}p|Wj8|*dƒ}q|ar|Wj8|adƒd%nd}r|Xj8|*dƒ}s|arL|Xj8|adƒd%nd}t|"j8|*dƒd}u}vd    }w|*t,jbkr¬t,jb|*}x|"j8|xd)ƒ}w|wd%:}wn|Fj8|*dƒd}y}z|^j8|*dƒd}{}||%j8|*dƒd}}}~|6j8|*dƒd}}€|,j8|*dƒd}}‚|2j8|*dƒd}ƒ}„|arå|"j8|adƒd%}v|Fj8|adƒd%}z|^j8|adƒd%}||%j8|adƒd%}~|6j8|adƒd%}€|,j8|adƒd%}‚|2j8|adƒd%}„ni"|bd*6|cd+6|gd,6|hd-6|dd.6|id/6|jd06|kd16|ld26|md36|nd46|od56|pd66|ed76|fd86|sd96|td:6|qd;6|rd<6|ud=6|vd>6|wd?6|}d@6|~dA6|ydB6|zdC6|{dD6||dE6|dF6|€dG6|dH6|‚dI6|ƒdJ6|„dK6}…|*t,jakr tcjddL|K|…dMtMdNdƒ}+n!tcjddO|L|…dMtMdNdƒ}+tjdP|*ƒ}†|†rQ|†jeƒndQ|*}‡dR|‡}ˆd}‰|+rtf|\dS|ˆƒrtg|\dS|ˆƒƒ}‰n|+|`|‡<|‰|`|ˆ<|+rU |+|j$|*<|+|_dT|*|‡f<qU qU WtcjddU|M|`dMtLƒ}Št
j dV||Š|j%f|ƒi}‹x†|j%D]{}/tjdW|/ƒ}Œ|ŒsNq*n|Œjhƒ}||‹krs|Œ|‹|<q*|‹|}Ž|Žj;ƒ}||/kr›q*n|Œ|‹|<q*Wd}g|_%xv|‹jiƒD]h}Œ|Œj;ƒ}/|j%j=|/ƒi|ŒjjƒdX6|ZdY6|[dZ6}‘tcjdd[|N|‘dMtLƒ}’||’7}qÅWt
j d\||j%f|ƒ|Š|}“||_k|“|_&|]|“7}]t
j d]||“|Š||_|j%f|ƒq¬ W|]|_&t
j d^||]|f|ƒ|sè|tjl|tjmƒkrìd_Stnjo||]ƒtpjq|ƒ}”|”jr}•|•r#|•jsƒr#|jtrptM|_tt
j d`|ƒ|•jut,jvkr tpjw|tLƒq q3t
j da|ƒt,jxd    }–}—|•jy|–ƒjz|—ƒ}˜t{j|ƒ}™x||˜j}jƒD]X\}}š|™j~|šƒ}›|›sëqÄn|j|ƒ}|j$rÄ|›j|j$|j%ƒqÄqÄWnt
j db|ƒt€j|ƒd_S(cs° Ë¢ÐÂij¸öÕóÈÝÊôÐÔ
        »ù´¡ÊôÐÔ-Ãæ°åÏÔʾ£º
        1.È«Ìå»ù´¡¹Ì¶¨Öµ=ËùÓд©´÷×°±¸¡¾×°±¸»ù´¡¹Ì¶¨Öµ¡¿+¡¾·¨±¦»ù´¡¹Ì¶¨Öµ¡¿+¡¾ºìÑÕ»ù´¡¹Ì¶¨Öµ¡¿+¡¾ÆäËüÄ£¿éµÄ¹Ì¶¨Öµ¡¿
        2.È«Ìå°Ù·Ö±È¼Ó³É=ͼ¼ø¼Ó³É+¡¾ÁéÊÞÄ£¿é¡¿+¡¾ºìÑÕÄ£¿é¡¿+¡¾ÆäËüÄ£¿é¡¿+ËùÓÐÉÏÕó¿¨ÅÆ¡¾³õʼ¼Ó³É+Éý¼¶¼Ó³É+Í»ÆÆ¼Ó³É+ÍÌÊɼӳɡ¿
        3.¿¨ÅƼ̳бÈÀý=¿¨ÅÆÆ·Öʼ°Ö°Òµ¼Ì³Ð±ÈÀý²»Í¬
        4.¿¨ÅÆ×ÔÉíÅàÑø¼Ó³É=¡¾î¿°í¼Ó³É%+Í»ÆÆ´ÊÌõ¼Ó³É%+Ì츳¼Ó³É%¡¿
        ×îÖÕÃæ°åÉúÃü=¡¾EÈ«Ìå»ù´¡¹Ì¶¨Öµ¡¿*¡¾1+EÈ«Ìå°Ù·Ö±È¼Ó³É¡¿*¡¾¿¨ÅÆ×ÔÉí¼Ì³Ð±ÈÀý+ ¿¨ÅÆ×ÔÉíÅàÑø%¼Ó³É¡¿+¡¾¿¨ÅÆ×ÔÉí¹Ì¶¨Öµ¡¿
 
        Õ½¶·ÊôÐÔ/Õ½¶·¿¹ÐÔ/ÌØÊâÊôÐÔ-Ãæ°åÏÔʾ£º
        1.È«ÌåÕ½¶·ÊôÐÔÖµ=ËùÓд©´÷×°±¸¡¾×°±¸Õ½¶·ÊôÐÔÖµ¡¿+¡¾·¨±¦Õ½¶·ÊôÐÔÖµ¡¿+¡¾ºìÑÕÕ½¶·ÊôÐÔÖµ¡¿+¡¾ÆäËüÄ£¿éµÄÕ½¶·ÊôÐÔ¡¿
        2.¿¨ÅƼ̳бÈÀý=ĬÈÏ100%
        3.¿¨ÅÆ×ÔÉíÅàÑøÕ½¶·ÊôÐÔ=¡¾¿¨ÅƳõʼս¶·ÊôÐÔ+Í»ÆÆ´ÊÌõÕ½¶·ÊôÐÔ+Ì츳ս¶·ÊôÐÔ+¾õÐÑÕ½¶·ÊôÐÔ¡¿+¡¾·¨ÔòÏ´Á¶¡¿+¡¾ÃØÄÜ×°±¸¡¿+¡¾ÆäËüÄ£¿é¡¿
        ×îÖÕÃæ°åÕ½¶·ÊôÐÔ=¡¾EÈ«ÌåÕ½¶·ÊôÐÔÖµ¡¿*¡¾¿¨ÅƼ̳бÈÀý¡¿+¡¾¿¨ÅÆ×ÔÉíÅàÑøÕ½¶·ÊôÐÔ¡¿
    s6Ë¢ÐÂÕ½¶·Ô¤Éè·½°¸ÊôÐÔ: batPresetID=%s,exclusiveMapID=%ss)    heroPresetID=%s,itemIndex-posNum : %siRÍRÎt HeroQualityLVt    HeroBreaktHeroStarTalentit    HeroAwaket
HeroTalentt
HeroFettertHeroLineupHalotHeroAttrFormulaiiis    ¹ú¼ÒÎ佫ͳ¼Æ=%ss    î¿°íÎ佫ͳ¼Æ=%ss    Î佫×ÔÉíÊôÐÔ=%ss    Î佫µÈ¼¶ÊôÐÔ=%ss    Î佫ÍÌÊÉÊôÐÔ=%ss    Îä½«Í»ÆÆÇ±ÄÜ=%ss    Î佫¾õÐÑÌ츳=%ss    Î佫íÊôÐÔ=%ss    ÕóÈݹ⻷ÊôÐÔ=%ss    Ö÷¹«µÈ¼¶ÊôÐÔ=%ss    Ö÷¹«×°±¸ÊôÐÔ=%ss    Ö÷¹«ËÞÔµÊôÐÔ=%ss    Ö÷¹«¹ÙÖ°ÊôÐÔ=%ss    Ö÷¹«¹Å±¦ÊôÐÔ=%ss    Ö÷»Ã¾³¸óÊôÐÔ=%ss    Ö÷¹«×øÆïÊôÐÔ=%ss    Ö÷¹«ºìÑÕÊôÐÔ=%ss!    Ö÷¹«Ãü¸ñÊôÐÔ=%s,mgPresetID=%ss    ¶¨¾üרÊôÊôÐÔ=%sgˆÃ@s    Ö÷¹«¿¨ÅƼӳÉ=%ss    PlayerLV=%s,OfficialLV=%stFightPowerRatioi'tlvValuet
equipValuet
realmValuetrealmPertcardPert
gubaoValuetgubaoPerthjgValuethjgPert
horseValuethorsePert beautyValuet    beautyPert
fatesValuetfatesPertdingjungeValuet dingjungePert minggeValuet    minggePert heroSelfValuet heroSelfPert
inheritPert heroLVValuet    heroLVPertlineupHaloValuet lineupHaloPert fetterValuet    fetterPertstarTalentValuet starTalentPert breakLVValuet
breakLVPertawakeTalentValuetawakeTalentPertbaseAttrFormulattoInttndigitstotherAttrFormulat
PlayerAttrs%ss%sRatiosGet%ss%s-%stfightPowerFormulas.    heroID=%s,fightPower=%s,heroSkillIDList=%stSkillt
SkillPowertPlayerLVt
OfficialLVtskillFPFormulas)    skillFightPower=%s,heroSkillIDList=%ssB    Î佫×îÖÕÕ½Á¦: heroID=%s,fightPower=%s(%s+%s),%s,skillIDList=%ssF    ÕóÈÝ×îÖÕÕ½Á¦: batPresetID=%s,lineupFightPower=%s,exclusiveMapID=%sNsÖ÷ÏßÕóÈݱ仯£¬ÖØÐ¿ªÊ¼Õ½¶·s&Ö÷ÏßÕóÈÝ¿¨ÅÆÊôÐÔ±ä¸ü£¬¸üÐÂÕ½¶·Î佫ÊôÐÔs Ö÷ÏßÕóÈÝûÓÐÔÚÕ½¶·ÖУ¬²»ÐèÒª´¦Àí(‚R…R)R*RaRnRcRxtFuncPreset_MinggeRMRRPRQR5R¨R©RªRŠR«R¬R0R¦RÏRÐRÑRÒRÓRÕtDef_IudetHeroAwakeLVtDef_IudetHeroSkint GetSkinIDListRÂR8RRRRRR    R
tGetNormalSkillIDtGetAngerSkillIDtextendtupdatetGetAtkInheritPerRNtAttrID_AtkInheritPertGetDefInheritPertAttrID_DefInheritPertGetHPInheritPertAttrID_HPInheritPertGetBatAttrDictRit GetAttrIDListtGetAttrValueListR­RÜRRæt
GetBreakLVt
GetSkillIDtGetSkillIDExListR3t
GetFuncCfgtGetIpyGameDataListNotLogt
GetAwakeLVtGetUnlockTalentSlotRÙR½tDef_IudetHeroTalentIDtDef_IudetHeroTalentIDLVR¿t    GetAttrIDt GetAttrValuetGetFetterIDListt
GetCountryt GetHeroIDListRRtGetNeedHeroCountR[R tDef_CalcAttr_MainEquiptDef_CalcAttr_HeroFatestDef_CalcAttr_RealmtDef_CalcAttr_GubaotDef_CalcAttr_HJGtDef_CalcAttr_HorsetDef_CalcAttr_BeautytDef_CalcAttr_MinggetDef_FBMapID_DingjungetDef_CalcAttr_DingjungeR%R—tGetOfficialRankR9tCalcBattleAttrIDListt AttrPerDicttBaseAttrIDListtAttrInheritPerDicttFormulaControltEvalt GetParameterR¥tgetattrtGetSkillTypeIDR"t GetFightPowerR RbRdR˜t SetFightPowerRDtGetMainFightMgrRGt    isInFightRtmapIDtDef_FBMapID_Maint__doMainLevelWavet Def_FactionAt getBatFactiont getBatlineupt    BattleObjt GetBatObjMgrt posObjIDDictt    getBatObjtUpdInitBatAttrt PlayerFamilytRefreshFamilyMember(œRR,RqR(R)R*Rt
mgPresetIDRLRtcountryHeroInfotfetterHeroInfotheroSelfAttrInfotheroLVAttrInfotheroStarTalentInfotheroBreakAttrInfotheroAwakeTalentInfoR·RRR~RRÝRÞRßRàRâtawakeLVt    skinIndexRt
skinIDListR7t normalSkillIDt angerSkillIDt selfAttrDictRktvtheroLVAttrDictt heroLVIpyDatat
attrIDListt attrValueListtaIndextattrIDt    attrValuet breakAttrDicttbreakIpyDataListt breakIpyDatatskillIDt skillIDExListt maxUnlockSlottawakeTalentAttrDicttawakeIpyDataListt awakeIpyDatatunlockTalentSlottstarTalentAttrDicttidCounttlvCountttalentIDttalentLVt    stIpyDatatfetterIDtfetterHeroIDListtcountrytcountryHeroIDListtheroFetterAttrInfot fetterIpyDatatneedHeroIDListt    canFettert
needHeroIDtheroFetterAttrDicttlineupHaloAttrInfothaloIpyDataListtcountryHeroCntt haloIpyDatat needHeroCountR*R-R/R4R£t equipAttrDictt fatesAttrDictt realmAttrDictt gubaoAttrDictt hjgAttrDictt horseAttrDicttbeautyAttrDicttminggeAttrDicttdingjungeAttrDictR#R2R3tfpRatioIpyDatatlineupFightPowertfetterAttrDictt logAttrDicttfightPowerParamDictt    attrPerIDRR    R RRR
R R RRRRRRRRRRRRRRtattrInheritPerIDR R!R"R#RRR$R%R&R'R(R)t attrParamDictt attrIpyDatatattrNamet attrRatioNamet
ratioValueR
tskillTypeIDDictt    skillDatat skillTypeIDt befSkillDatat
befSkillIDR t    paramDictt sFightPowertfightPowerTotalt mainFightMgrt mainTurnFighttfactiontnumt    batLineupt    batObjMgrtobjIDtbatObj((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyR>Êsº             
                                   
  (
 
!
   (
 
 
    (
 
 
 
 
 
      (
 
 
&      (
 
"' 
              """"""""  &*#$!
 
 
     
       !
        
    $    !                   (((((('RsRDRRcRaR˜RÏRdRñRýRûRùRxR÷RóRyRõRPRNRîRˆRRR'R?R‚R’R†R“R”R•R¤RR}RR§R`R_R>(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerOnline.pyt<module>sJ                     %FË7                             O    J        :