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
¡_×ic@snddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZd„Zd„Zd„Z d„Z!d„Z"d    „Z#d
„Z$d „Z%d „Z&d „Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-dd<d„ƒYZ.d„Z/d„Z0d„Z1d„Z2ddd„Z3d„Z4dd„Z6d„Z7d„Z8d „Z9d!„Z:d"„Z;d#„Z<d$„Z=d%„Z>d&„Z?d'„Z@d(„ZAd)„ZBd*„ZCd+„ZDd,„ZEd-„ZFd.„ZGd/„ZHd0„ZId1„ZJd2„ZKd3„ZLddd4„ZMeNddd5„ZOid6„ZPdd7„ZQd8„ZRd9„ZSd:„ZTd;„ZUdS(=iÿÿÿÿNiicCs
|jƒS(N(t    GetValue1(trecData((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecUpdScore4scCs |j|ƒS(N(t    SetValue1(Rtscore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecUpdScore5scCs
|jƒS(N(t    GetValue2(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecAtkType6scCs |j|ƒS(N(t    SetValue2(RtatkType((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecAtkType7scCs
|jƒS(N(t    GetValue3(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecTagPlayerID8scCs |j|ƒS(N(t    SetValue3(Rt tagPlayerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecTagPlayerID9scCs
|jƒS(N(t    GetValue4(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecIsWin:scCs|j|rdndƒS(Nii(t    SetValue4(RtisWin((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecIsWin;scCs
|jƒS(N(t    GetValue5(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
GetRecFace<scCs |j|ƒS(N(t    SetValue5(Rtface((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
SetRecFace=scCs
|jƒS(N(t    GetValue6(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecFacePic>scCs |j|ƒS(N(t    SetValue6(RtfacePic((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecFacePic?scCs
|jƒS(N(t    GetValue7(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecRealmLV@scCs |j|ƒS(N(t    SetValue7(RtrealmLV((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecRealmLVAscCs
|jƒS(N(t    GetValue8(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecLVBscCs |j|ƒS(N(t    SetValue8(RttagLV((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecLVCstArenaMgrcBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z RS(
cCs(i|_d|_d|_g|_dS(Ni(t_ArenaMgr__playerMatchDictt_ArenaMgr__allotCrossServerIDt_ArenaMgr__curZoneIDt_ArenaMgr__curZoneServerIDList(tself((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt__init__Hs
                cCs i|_dS(N(R*(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
ResetArenaQs    cCs|jj|gƒS(N(R*tget(R.tplayerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetPlayerMatchInfoUscCs||j|<dS(N(R*(R.R2t matchIDList((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetPlayerMatchInfoVscCs|jS(N(R+(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetAllotCrossServerIDYscCs ||_dS(N(R+(R.tallotCrossServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetAllotCrossServerIDZscCstƒs dS|jS(Ni(t IsArenaCrossR,(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetCurZoneID[scCs ||_dS(N(R,(R.t    curZoneID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetCurZoneID]scCs|jS(N(R-(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetCurZoneServerIDList^scCs ||_dS(N(R-(R.tcurZoneServerIDList((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetCurZoneServerIDList_s( t__name__t
__module__R/R0R3R5R6R8R:R<R=R?(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR)Fs                                        cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatat
g_arenaMgrR)(tmgr((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetArenaMgras
         cCsÍtjƒ}|jƒsiStj|jƒƒ}i}d}tjƒ}tj    ƒ}x÷t
|j ƒƒD]ã}|j |ƒ}|jƒ|kr•qhn|j ƒ}|jƒ}    |jƒ}
|jƒ} |    sÑqhntj|    tjƒ} || krøqhn| s | |kr| }i}n|
|kr3i||
<n||
} g| | |<qhWtji|ƒ\}}|s£tjdƒsŸtjd|ƒtjddƒniStjƒjƒ}||krÅiS||S(NtArenaCrossZoneCfgErrori(tCrossMgrtGetSSServerMgrtGetCrossCenterIDt    GameWorldtChangeTimeNumToDatetimet GetCrossTimetNonetGetAppIDt IpyGameDataPYtIPY_DatatrangetGetArenaCrossCounttGetArenaCrossByIndext    GetZoneIDt GetStartDatetGetCrossServerIDtGetServerIDListtChangeStrToDatetimetChConfigtTYPE_Time_Format_Ymdt CheckServerIDtCheckCrossZoneCfgt GetConfigExtSendGameErrorExt SetConfigExt GetGameWorldt GetServerID(tssMgrt crossDateTimet crossZoneDictt verDateTimetappIDt
ipyDataMgrtindextipyDatatzoneIDt ipyStartDatet crossServerIDt serverIDListt ipyDataTimetzoneDcittisOKterrInfot curServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetCrossZoneCfgDicthsL               
 cCs tƒdS(N(tSync_C2S_ArenaCrossInfo(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnCrossServer_Conn_CrossCenter›scCstjƒrtƒndS(N(RJt IsCrossServerRt(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnReloadConfig s 
ic    Csðtjd|ƒtƒ}|s$dStjtjƒ}tjd|ƒx¢|jƒD]”\}}|rx||krxqTn|r¢tj||ƒs–qTn|g}n
g|}|j    |gƒ}i|d6|d6}t
j t j ||ƒqTWdS(Ns%Sync_C2S_ArenaCrossInfo toServerID=%ss    zoneCfgDict=%sRjtrecServerIDList(RJtDebugLogRsRGtGetFuncCrossZoneRecRYtDef_FBMapID_ArenatitemstCheckServerIDInListR1tCrossMsgtSendToClientServert ShareDefinetC2S_ArenaCrossInfo(    t
toServerIDttoZoneIDt zoneCfgDictt zoneRecDictRjtcfgServerIDListttoServerIDListRxtdataMsg((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRt¦s$     
cCsÉ|d}|d}tƒ}|jƒ}|rb||krbtjd||fƒtj|ƒn|j|ƒ|j|ƒ|j|ƒt    ƒs–dStj
ƒj ƒ}||kr¾t ƒnt ƒdS(NRjRxs:###ÑÝÎ䳡ËùÊô¿ç·þ±ä¸ü! befCrossServerID=%s,fromServerID=%s(RER6RJtLogtChPlayertSyncOnlinePlayerToCrossR8R<R?t__checkArenaWillCrossR`Rat__arenaCrossRegtSync_ArenaCrossInfo(Rˆt fromServerIDRjRxtarenaMgrtbefCrossServerIDtserverID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRÅs"
 
             
cCsZtƒs dStƒ}|jƒ}|jƒ}|jƒ}tjtj||||ƒdS(N(    R9RER6R:R=RGtSync_CrossZoneInfoRYR{(t    curPlayerRRlRjRm((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRŽàs           cCstjƒjtjƒdkS(Ni(t    DBDataMgrtGetEventTrigMgrtGetValueR€tDef_ArenaCrossState(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR9ëscCs7tƒs dStƒjƒ}|s3tjdƒdS|S(sÜ»ñÈ¡±¾·þ¿ç·þÑÝÎ䳡·ÖÅ䏸µÄ¿ç·þ·þÎñÆ÷ID
    @return: >0-ÒÑ¿ç·þÇÒÓÐÄ¿±ê¿ç·þ·þÎñÆ÷ID; 0-δ¿ç·þ£»-1-ÕÒ²»µ½ËùÊô¿ç·þ
    @attention: ²»ÄÜÓÃÓÚÅжÏÊÇ·ñ¿ç·þÁË£¬ÓпÉÄÜÒÑ¿ç·þÁË£¬µ«ÊÇ·ÖÅäÒì³££»ÊÇ·ñ¿ç·þÁËÇëʹÓàIsArenaCross ÅжÏ
    is ¸Ã·þÎñÆ÷ÑÝÎ䳡ÎÞËùÊô¿ç·þ·þÎñÆ÷IDiÿÿÿÿ(R9RER6RJtErrLog(Rl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetArenaCrossServerIDís     cCsXtƒrtjdƒtStjƒjtjƒsCtjdƒdSt    j
ddƒ}|sltjdƒdStjƒjtj ƒd}||kr¯tjd||fƒdStj ƒ}|j tjƒ}|jƒdkrðtjdƒdStƒjƒ}|stjd    ƒdStjƒjtjdƒtjd
|ƒtj|ƒtƒtS( NsÑÝÎ䳡ÒѾ­¿ç·þÁË!s¸Ã·þÎñÆ÷ÔÝʱ먦·Å¼ÓÈë¿ç·þ!t
ArenaCrossisÑÝÎ䳡먦·Å¿ç·þ¹¦ÄÜ!s+ÑÝÎ䳡δ´ï¿ª·Å¿ç·þ¿ª·þÌì! serverDay=%s < %sis'±¾·þÑÝÎ䳡°ñµ¥ÒÑÓÐÊý¾Ý±¾Öܲ»ÔÙÔÊÐí¿ç·þ!s%±¾·þÑÝÎ䳡ÔÝʱδ·ÖÅ䏸ij¸ö¿ç·þ·þÎñÆ÷!s*±¾·þÑÝÎ䳡¿ÉÒÔ¿ªÊ¼¿ç·þÁË! crossServerID=%s(R9RJR‰tTrueR•R–R—R€t Def_CanCrossROt
GetFuncCfgt Def_ServerDaytGetBillboardMgrt GetBillboardt Def_BT_ArenatGetCountRER6tSetValueR˜RŠR‹RŽ(tcrossServerDayt    serverDayt billboardMgrt    billBoardRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRŒús8            cCs<tƒ}|dkrdSi}tjtj||gƒdS(Ni(RšR~tSendToCrossServerR€t S2C_ArenaReg(RlRˆ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRs      cCstƒ}|sdSd}x6|jƒD](\}}tj||ƒr&|}Pq&q&W|svtjd|||fƒdStjtjƒ}||kr¡g||<n||}||krÇ|j    |ƒntj
tj|ƒtj d||fƒt d|ƒdS(NisHÓÎÏ··þδ·ÖÅ䏸±¾¿ç·þÑÝÎ䳡! fromServerID=%s,joinZoneID=%s,zoneCfgDict=%ss;¿ç·þÑÝÎ䳡·þÎñÆ÷¼ÓÈë¿ç·þ³É¹¦! fromServerID=%s,joinZoneID=%sRƒ( RsR|RJR}R™RGRzRYR{tappendtSetFuncCrossZoneRecR‰Rt(RˆRR„t
joinZoneIDRjR†R…Rx((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRª"s,          
  cCsCtjtjƒ}x*|jƒD]\}}||kr|SqWdS(Ni(RGRzRYR{R|(R’R…t    recZoneIDRm((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetCrossRecZoneID@s
 c    Cs,tjdƒtjddiƒ}d„|jƒDƒ}|jƒ}|jƒtjt    j
ƒ}d}d}x¹|jƒD]«\}}|sœtj dƒPnd}t |ƒ}    x(|D] }
|    |
krÔ||
}qµPqµW|sð||d}n|süqyn|} t jtj|||| d    tƒqyWtƒjƒtƒ} | sHdSi} x°|jƒD]¢}x™|D]‘}xˆ| jƒD]z\}}tj||ƒsŸq{n|| kr¸g| |<n| |}||krÞ|j|ƒntjd
||fƒq{WqhWq[Wtjt    j
| ƒtƒtjd ƒdS( Ns.=============== ÖØÖÿç·þÑÝÎ䳡 ===============R›icSs%i|]\}}|t|ƒ“qS((tint(t.0tktv((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pys
<dictcomp>Ps    tArenaBillboardAwardWeekCrosss)¿ç·þÑÝÎ䳡ûÓÐÅäÖÃÇø·þ»¥Í¨Êý¶ÔÓ¦½±ÀøÄ£°æ!iiÿÿÿÿt isClearDatas=ÀúÊ·ÒѾ­¿ç·þµÄÓÎÏ··þĬÈϼÓÈëÐÂÈü¼¾·ÖÇø! serverID=%s,zoneID=%ss*==========================================(RJR‰ROtGetFuncEvalCfgR|tkeystsortRGRzRYR{R™tlentPlayerBillboardtDoGiveBillboardAwardByActTempIDR€t Def_CBT_ArenaRœRER0RstvaluesR}R«R¬Rt(tserverCntStrTempDicttserverCntTempDictt serverCntListR…tfuncNametmailKeyRjRmt
templateIDt zoneServerCntt    serverCntt groupValue1R„tcrossZoneRecDictR’R†Rx((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnCrossWeekResetIsX  
     &        
 # cCs<tjƒrtƒn"tjƒr8tƒr8tƒq8ndS(N(RJRvRÈt IsMainServerR9t__doGiveArenaAwardWeek(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt OnWeekCross„s  
      cCs&tjƒr"tƒr"tƒq"ndS(N(RJRÉR9t__doGiveArenaAwardDay(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
OnDayCrosss      cCsEtƒrtjdƒdStƒtƒjƒtƒrAtƒndS(Ns#±¾·þÑÝÎ䳡ÒÑ¿ç·þÓÉ¿ç·þʼþ´¦Àí¹ýÖÜ!(R9RJRyRÊRER0RŒR(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnWeek”s          
cCs%tƒrtjdƒdStƒdS(Ns#±¾·þÑÝÎ䳡ÒÑ¿ç·þÓÉ¿ç·þʼþ´¦Àí¹ýÌì!(R9RJRyRÌ(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnDay¢s
     cCs>tjddiƒ}d}d}tjtj|||ƒdS(NtArenaBillboradAwarditArenaBillboardAwardDay(ROR¶RºtDoGiveBillboardAwardByMailR€R¢(tbillboradAwardDictRÁRÂ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRÌ©s
cCsDtjddiƒ}d}d}tjtj|||dtƒdS(NRÐitArenaBillboardAwardWeekRµ(ROR¶RºRÒR€R¢Rœ(RÓRÁRÂ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRʰs
cCs;tj|tjƒsdSt|ƒt|ƒt|ƒdS(N(t GameFuncCommt GetFuncCanUseR€tGameFuncID_Arenat__loginUpdPlayerScoretSync_ArenaInfoRŽ(R”((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnFBPlayerOnLogin·s 
 
 
c CsM|jƒ}tjƒ}|jtj|ƒ}|jƒs=dS|j|jƒdƒ}|jƒ}|j    ƒ}|j
ddƒ}|r›t j ƒj ƒ}nttjƒƒ}tj||ƒsïtjdtj|ƒtj|ƒf|ƒdSt|ƒ}    |jtjƒ}
tj|tj|    ƒtjd|
|    tj|ƒf|ƒdS(NitCrossis9Íæ¼ÒÉÏÏßÑÝÎ䳡¼Ç¼»ý·Ö·Ç±¾Öܲ»¸üÐÂ! recTime=%s,curTime=%ss:Íæ¼ÒÉÏÏ߸üÐÂÑÝÎ䳡»ý·Ö: befScore=%s,updScore=%s,recTime=%s(t GetPlayerIDR•t GetGameRecMgrtGetRecTypeIDMgrR€tDef_GameRecType_ArenaRecordR£tAttGetTimet GetUserDictR1RGRHRLR°ttimeRJtCheckTimeIsSameWeekR‰tChangeTimeNumToStrRtNomalDictGetPropertyRYtDef_PDict_ArenaScoret PlayerControltNomalDictSetProperty( R”R2trecMgrtrecIDMgrt finalRecDatatrecTimetuserDictt
isCrossRectcurTimetupdScoretbefScore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRØ¿s*         # &cCs—tj|tjƒsdStƒ}|rT|jtjƒrTtj    d|j
ƒƒdS|r‰tj    d|j
ƒƒt j |tjdƒnt |ƒdS(Ns9±¾·þÑÝÎ䳡ÒÑ¿ç·þÇÒÒÑÍæ¼ÒÊ×´ÎÖØÖùýÓÉ¿ç·þʼþ´¦ÀíÍæ¼Ò¹ýÌì!sÍæ¼ÒÊ״οç·þÑÝÎ䳡֨ÖÃ!i(RÕRÖR€R×R9RæRYtDef_PDict_ArenaCrossResetRJRyRÜRèRét__DoArenaSeasonReset(R”tisCross((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnFBPlayerOnWeek×s    
cCs4tj|tjƒsdStƒs&dSt|ƒdS(N(RÕRÖR€R×R9Rô(R”((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnFBPlayerOnWeekCrossès     
cCsCtjddƒ}tj|tj|dƒt|ƒt|ƒdS(NtArenaSetit    ArenaOpen(RORžRèt    GiveMoneyR€tTYPE_Price_ArenaTicketRôRŽ(R”tstoreMax((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt DoArenaOpenñs
 
 
cCsGtjddƒ}tjd|ƒtj|tj|ƒt|ƒdS(NRøis¾º¼¼³¡Èü¼¾ÖØÖã¡initScore=%s(    RORžRJRyRèRéRYRçRÙ(R”t    initScore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRôøs
 
cCs)tjddƒ}|tj|ƒ7}|S(NRøi(RORžtPlayerGoldInvesttGetArenaTicketMax(R”Rü((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetArenaTicketStoreMaxsc    Cstjƒj|ƒ}|j}|rgtjddƒ\}}| s`| s`tj|||ƒ rgdSntƒ}t    j
||||dt ƒdS(Nt
ArenaMatchis%GameLogic_Arena.__OnArenaMatchRefresh( RJtGetPlayerManagertGetPlayerByIndext    IsRefreshROR¶Rèt    HaveMoneyRšt CrossPlayertPyPackForwardingRœ(Rht
clientDatattickR”t    isRefresht    costMoneyt
moneyValueRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt OnArenaMatchs    $    c    Csotjƒjƒ}ddl}|jƒ}d|_i|d6}tƒ}tj||||dt    d|ƒdS(Niÿÿÿÿit gmMatchIDLists%GameLogic_Arena.__OnArenaMatchRefresht    reqDataEx(
RJR`tGetTickt ChPyNetPackttagCSArenaMatchRRšRRRœ(R”RR
RR    RRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GMArenaMatchs           "cCs"|j}t||d|d|ƒS(NRR(Rt__DoArenaMatchRefresh(t crossPlayerR    R
RRR ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt__OnArenaMatchRefresh's    c9Cs5    |si}n|jƒ}tjddƒ}t|ƒ}|jdgƒ}tjd|||f|ƒt|ƒ}    |    s~dS|    \}
} tjd|
| |f|ƒtj    ƒ} | j
|
| ƒ} | sÏdSt ƒ}|j |ƒ}| r!t|ƒ|kr!tjd|ƒt ||ƒdS|r|| r|| r|tjddƒ\}}|r||r|tj|dd    i||6ƒq|ng}g}i}tj|ƒ}|r¯|jƒnd
}tjd dƒ}tjƒ}|rç|d
d
nd
}t|ƒ}tjd ||||f|ƒ||}|rŠ||krŠtjd d ƒ}tjd|||f|ƒd
}x`|ddd…D]K}|\}}tjd|||f|ƒ||kr¿q~ng} x¡t||ƒD]}!||!\}"}#|"t|ƒdd}$|$|kr6tjd|!|#|"|$|f|ƒPn|!d}|$|krRqÕn| j|"|#gƒqÕW| s…tjd|ƒq~ntj| ƒ| d
\}"}#|j|#ƒtjd|#|"f|ƒq~Wt|ƒ|krtjd||ƒ||kr‡t||ƒ}%tj|%ƒ|%|t|ƒ }&|&jƒxH|&D]=}!||!\}"}#|j|#ƒtjd|#|"f|ƒq@Wq‡qn’tjd||f|ƒ| jƒ}'| j|ƒd}(tjd dƒ})||)}*tjd|'|(|*|)f|ƒtjdd ƒ\}+},|(|+|,}-tjd|+|,|-f|ƒxZt|*ƒD]L}.td|-|,ƒ}/|-|/krxPnt|/|-ƒ}0tj|0ƒ|(|0kr°|0j|(ƒn|0sºPnx·|0D]¯}1|1|'krÙqÁn| j|1dƒ}2|2j ƒ}3tj!|3ƒ}4|4s3tjd|3|1|/|-f|ƒqÁn|j|1ƒ|4||3<|/dkrot|ƒ|*krpPqpqÁPqÁWtjd|/|-|f|ƒ|/d}-qOW|jƒxV|D]N}5|5|'ksÎ|5d
krÒPn| j|5dƒ}2|2j ƒ}3|j|3ƒq°Wtjd||f|ƒ|ræx |D]˜}6|6|krUtj"|d|6ƒq)n|6|krgq)ntj!|6ƒ}4|4s–tj"|d|6ƒq)ntj"|d|6ƒ|j|6ƒ|4||6<q)W|| }tjd ||ƒn|t|ƒ}7tjd!|7|ƒg} d}8x‹|8d
kr£|7d
kr£|r£|8d8}8tj#d
|dƒ}!||!\}"}#|#|kr|j|#ƒ| j|"|#gƒ|7d8}7qqW| rý| jd"t$ƒx@| D]5\}.}#|#|krÁ|j|#ƒ|j|#ƒqÁqÁWntjd#||ƒ|j%||ƒt |||ƒdS($NRiRs:¾º¼¼³¡Íæ¼ÒË¢ÐÂÆ¥ÅäÁбí: isRefresh=%s,isSys=%s,reqDataEx=%ss1billboardType=%s,groupValue1=%s,needMatchCount=%ss    ·ÇË¢ÐÂÇÒÓÐÊý¾Ý£¬Ö±½Óͬ²½£¡itArenat costMoneyDictitArenaMatchRobotsAÍæ¼ÒÕ½Á¦=%s,»úÆ÷ÈË×î´óÕ½Á¦=%s,Æ¥Åä»úÆ÷ÈËÕ½Á¦ÏµÊý=%s,»úÆ÷ÈË×ÜÊý=%sis)È«²¿Æ¥Åä»úÆ÷ÈË: %s, reFightPower=%s <= %siÿÿÿÿs:    ´¦ÀíÆ¥Åä»úÆ÷ÈËÕ½Á¦¶Î: fpPerA=%s,fpPerB=%s,loopIndex=%sidsd        ±ÈµÍ°Ù·Ö±È»¹Ð¡µÄÕ½Á¦Ìø³ö£¬½øÈëÏÂÒ»¶ÎÆ¥ÅäÂß¼­: %s,robotID=%s,robotFightPower=%s,fpPer=%s < %ss%        ¸ÃÕ½Á¦·¶Î§¶ÎûÓзûºÏµÄ»úÆ÷ÈË!s1        Æ¥Åä»úÆ÷ÈË: robotID=%s,robotFightPower=%ssB    ¿ÉÆ¥ÅäµÄ»úÆ÷ÈË»¹²»¹»£¬´ÓÊ£ÏÂδ±éÀúµÄ»úÆ÷ÈËÄÚÆ¥Åä: loopIndex=%ssÆ¥ÅäÕæÈË: reFightPower=%s > %sisA    maxOrder=%s,playerOrder=%s,matchPlayerCnt=%s,leastRobotCnt=%ss.    fromLowerCnt=%s,matchPerRank=%s,toOrder=%ssE    ÎÞÕ½¶·»º´æµÄÍæ¼Ò²»Æ¥Åä: tagID=%s,order=%s,fromOrder=%s,toOrder=%ss7    Æ¥ÅäÍæ¼Ò: fromOrder=%s,toOrder=%s,matchOrderList=%ss2    Æ¥Åä°ñµ¥½á¹û: matchIDList=%s,matchOrderList=%ss²»ÄÜÆ¥Åä×Ô¼º!%ssûÓÐÕ½¶·»º´æÄ¿±ê²»Æ¥Åä!%ssÖ¸¶¨Æ¥ÅäID(%s)s     Ö¸¶¨Æ¥Åä½á¹û: matchIDList=%ss    ×îÖÕ»¹Ðè»úÆ÷ÈËÊý=%streverses     ×îÖÕÆ¥Åä½á¹û: matchIDList=%s(&RÜROR¶R¹R1RJRytGetArenaBillboardTypeValueR•R R¡RER3t__SyncMatchListRtCostPlayerResourcestPlayerViewCachet FindViewCachetGetFightPowerTotalRžtGetRobotFightPowerSortListRQtfloatR«trandomtshuffleR¸R£t IndexOfByIDtmaxtremoveRàtGetIDtFindBattleViewCachet DebugAnswertrandintRœR5(9RR tisSysRRR2tmatchScoreListtneedMatchCountRt    typeValuet billboardTypeRÆR§R¨RR4R R tmatchOrderListt viewCacheDictt curViewCachetplayerFightPowertrobotFPCoefficienttrobotFPSortListtrobotFightPowerMaxt robotCntTotalt reFightPowertmatchRobotFPPerListt    loopIndext
fpPerRangetfpPerAtfpPerBt robotFPIDListt
robotIndextrobotFightPowertrobotIDtfpPert randIndexListtmatchIndexListtmaxOrdert playerOrdert leastRobotCnttmatchPlayerCntt fromLowerCntt matchPerRankttoOrdert_t    fromOrdert    orderListtordertbillDatattagIDt    viewCachet
matchOrdert    gmMatchIDt needRobotCnttdoCnt((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR+s>               #      
       
 
  ' 
         
 
 
!
    cCsYtjƒ}g|_x|D]}||kr;||}ntj|ƒ}|sVqntjƒ}||_|rtj|t    j
ƒ}|j ƒ|_ |j ƒ|_|jƒ|_|jƒ|_|jƒ|_|tj|_|tj|_|jƒ|_|jƒ|_n d||_ |jj|ƒqWt|jƒ|_t j!||ƒdS(Nsp%s("tChPyNetSendPackttagSCArenaMatchListt    MatchListRR*ttagSCArenaMatchInfotPlayerIDt
TurnAttacktGetCacheLineupFightPowerR€tBatPreset_ArenaDeft GetPlayerNamet
PlayerNamet
GetRealmLVtRealmLVtGetLVtLVtGetFacetFacet
GetFacePictFacePicRYtDef_PerPointValuet
FightPowert FightPowerExt
GetTitleIDtTitleIDRatServerIDR«R¹t
MatchCountRt SendFakePack(RR4R3t
clientPacktmatchIDRTt    matchInfot
fightPower((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRïs4              cCsntjd}}tjƒrdd}|r7t|ƒ}n|sRtjd|ƒdStj}|}n||fS(Nis)ÕÒ²»µ½ÑÝÎ䳡ËùÊô¿ç·þ°ñµ¥! mainServerID=%s(R€R¢RJRvR¯R™R¼(t mainServerIDR1RÆR®((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRs         cCsJtjƒ}|jtjƒ|_|jtjƒ|_tj    ||ƒdS(N(
RYttagSCArenaPlayerInfoRæRYRçtScoretDef_PDict_ArenaWinCnttWinCntt NetPackCommonRr(R”Rs((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRÙs
 c CsÀtj|tjdƒsdStj|tjƒtj    |tj
dƒt j |ƒ}|j tjƒ}tj|tjƒ\}    }
|ji|    d6|
d6|d6|d6ƒtƒ} t|| fS(Nit
exItemRatetexItemIDRRv(RèRR€Rût
PlayerTaskt AddTaskValueRYtTaskType_ArenaBattlet PlayerSuccesstDoAddSuccessProgresstSuccType_OSAArenaBattleR^tGetPlayerLineupFightPowerRæRçt PlayerBeautytGetBeautyEffInfotEffType_ArenaItemExtupdateRšRœ( R”tmapIDt
funcLineIDttagTypeRSt    valueListt    reqExDictRvRR}R~Rl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnTurnFightRequest"s)    c? Csþ|s
dS|jƒ}|d}    |d}
|tjk} tjd| |    f|ƒ|jƒ} t| ƒ} | sudS| \}}tjƒ}|j    ||ƒ}|s©dS|
j
ddƒ}}d}|    t j krþ|j |    ƒ}|rõ|jƒnd}n|}d#\}}| r½tƒj|ƒ}tjddƒ}t|ƒ}|d}|    |kr—|j|    ƒ}||krt|}tjd||ƒqtnÝtjddƒ\}}|j|ƒd} |j|    ƒd}!| dkrW|!dkrW| |||}"xUt|ƒD]D}#|"|d}$|"|!ko7|$knrF|#}Pn|$d}"q Wntjd    | |!|f|ƒ||krŠ||n|d
}%|%\}}tjd ||%f|ƒn|dkrõ|rõ||}tj|||d |ƒn|dkr-|r-||}tj|    ||d |ƒng}&|&tjd dƒ7}&|
j
ddƒ}'|
j
ddƒ}(|'r»|(r»tj|'ƒr»|&j|(dgƒtjd|'|(|&fƒq»n|ji|    d6|d6|d6tj|&ƒtj6ƒtjd|    | |||&fƒtj |didt j!6ƒtj"||&dddt#ƒt$|t%dt%d| ƒtj&ƒrtdnd})|
j
ddƒ}*t't(j(ƒƒ}+t)j*|    ƒ},|,r¿|,j+ƒnd}-|,r×|,j,ƒnd}.|,rï|,j-ƒnd}/|,r|,j.ƒnd}0|,r|,j/ƒnd}1|,r7|,j0ƒnd}2|,rXt1j2|,t j3ƒnd}3|    |-|.|/|0|1|2|3g}4it4d6|d6|d6|4d 6|+d!6|)d"6}5t1j5|| ||| |5ƒ|    t j krú|-rút)j*|ƒ}6|6rþ|6j+ƒnd}7|6r|6j,ƒnd}8|6r.|6j-ƒnd}9|6rF|6j.ƒnd}:|6r^|6j/ƒnd};|6rv|6j0ƒnd}<||7|8|9|:|;|<|*g}=it6d6| d6|d6|=d 6|+d!6|)d"6}5tj|-ƒ}>t1j5|    |>||| |5ƒnt%S($Niis#½áË㾺¼¼³¡! isWin=%s,tagPlayerID=%sRiRsÔÚÆ¥ÅäÖеÄ! scoreIndex=%sis;ÔÚ¸´³ðÖеÄ! curPlayerRank=%s,tagPlayerRank=%s,scoreIndex=%siÿÿÿÿsscoreIndex=%s,winScoreInfo=%sRÆRøiR}R~sEºìÑÕ¸ÅÂʶîÍâ»ñµÃ1¸öÎïÆ·: exItemRate=%s, exItemID=%s, awardItemList=%sRt atkAddScoret defDecScoresV¾º¼¼³¡½áËã½±Àø: tagPlayerID=%s,isWin=%s,atkAddScore=%s,defDecScore=%s,awardItemList=%sRt    eventNamet isNotifyAwardR-RRvtR    taddScoreRñttagInfotbatTimetcross(ii(7RÜRYt Def_FactionARJRytGetMainServerIDRR•R R¡R1R€tRealPlayerIDStarttFindByIDt GetCmpValueRER3ROR¶R¹RhR&RQRºtUpdatePlayerBillboardByIDt    CanHappenR«R‰tFBCommontGetJsonItemListt Over_itemInfoRRRûtGivePlayerResourcestFalseRRœRvR°RãRR RaRgRiRcReRaR^R_R`tRecAtkType_AtktSend_C2S_TurnFightAwardAftertRecAtkType_Def(?RtguidRŠR‹t
winFactiontstatMsgtreqDatat    awardDictR2RRŽRRR0R1RÆR§R¨tcurScoreRñttagScoret tagBillDatat tagUpdScroeRR‘R4t winScoreListtscoreCntt
scoreIndexttagIndexRKRLt curPlayerRankt tagPlayerRanktfromRankRhttoRankt winScoreInfot awardItemListR}R~Rït curFightPowerR—t tagViewCachet tagServerIDttagFacet
tagFacePict
tagRealmLVR't tagPlayerNamet tagFightPowerR–t    afterDictR4RrtcurFacet
curFacePict
curRealmLVtcurLVt curPlayerNametcurInfottagMainServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnTurnFightAwardCross3s¾ 
 
 
    
 
   !01 cCs™|d}|d}|d}|d}|d}    |d}
|\} } } }}}}}tdtjdd    ƒƒ}tjƒ}|jtj|ƒ}|j|ƒ}|j    |    ƒt
||ƒt ||ƒt || ƒt ||ƒt|| ƒt|| ƒt||ƒt||ƒt||ƒ|ji|d
6|d 6|d 6| d 6|
d6ƒtƒrŠtjd|ƒtj|tj|ƒn|tkršdStjƒj|ƒ}|s¹dS|jtjƒ}tj |tj|ƒtjd|||f|ƒ|rI|jtj!ƒ}tj |tj!|dƒ}tjd||ƒnt"|ƒt#j$|t#j%dƒt&j'|t&j(dƒt)j*|tj+dƒdS(NR    R•RñR–R—R˜i2RøitNametAddScoreRlRpRÛs)±¾·þÒÑ¿ç·þͬ²½¸üб¾·þ°ñ»ý·Ö! updScore=%ss score=%s,addScore=%s,updScore=%sis updWinCnt=%s(,tminRORžR•RÝRÞR€Rßt
AddRecDatatSetTimeRR
RRRRR#R(t SetUserDataR9RJRyRºRžR¢R¥RtFindPlayerByIDRæRYRçRèRéRzRÙtPlayerZhanlingtAddZhanlingValuetZhanlingType_ArenaCntt PlayerGubaotAddGubaoSpecEffLayertGubaoEffType_ArenatPlayerActivitytAddDailyTaskValuetDailyTask_Arena(R2RŠR‹RRÃR    R•RñR–R—RïRR½R¾R¿RÀR'RÁRÂtmaxCountt
gameRecMgrt    atkRecMgrRR”RtwinCntt    updWinCnt((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytC2S_TurnFightAwardAfter³sT
 
 
 
 
 
           0     
((VR•RJR^R€R[RèROR‚RÙRÓRºRRÿRYR|R†RÕRRÖRBRR RYR~RGRŠR$RãR¥R§RRRR
R RRRRRRRR R#R%R(R)RERsRuRwRtRRMRŽR9RšRŒRRªR¯RÈRËRÍRÎRÏRÌRÊRÚRØRöR÷RýRôRRRRR¤RRRRÙRRËRá(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt<module>s¦                                                                                                    3                                                  ;                                                                      Ä              €