cehua_hzl
2018-08-22 af4a1f8d277bdb9e5bbd7e388bdc0c8ea901b380
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
ƒi[c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZdZdZdZdZeeZdZdZdZd    Zd
Zd Zd Zd „Zd„Zd„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-d„Z.d „Z/d!„Z0d"„Z1d#„Z2d$„Z3d%„Z4d&„Z5d'„Z6d(„Z7d)„Z8e9d*„Z:d+„Z;d,„Z<d-„Z=d.„Z>d/„Z?d0„Z@d1„ZAd2„ZBd3„ZCd4„ZDd5„ZEd6„ZFd7„ZGdd8„ZId9„ZJgd:„ZKd;„ZLd<„ZMe9d=„ZNd>„ZOd?„ZPd@„ZQdA„ZRdB„ZSdC„ZTdD„ZUdE„ZVdS(FiÿÿÿÿNiiiii i i iiiiccCs
|jƒS(N(t    GetValue1(trecData((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecGroupIDEscCs |j|ƒS(N(t    SetValue1(RtgroupID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecGroupIDFscCs
|jƒS(N(t    GetValue2(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecRoundNumGscCs |j|ƒS(N(t    SetValue2(RtroundNum((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecRoundNumHscCs
|jƒS(N(t    GetValue3(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyIDAIscCs |j|ƒS(N(t    SetValue3(Rt    familyIDA((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyIDAJscCs
|jƒS(N(t    GetValue4(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyIDBKscCs |j|ƒS(N(t    SetValue4(Rt    familyIDB((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyIDBLscCs
|jƒS(N(t    GetValue5(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecWinFamilyIDMscCs |j|ƒS(N(t    SetValue5(Rt winFamilyID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecWinFamilyIDNscCs
|jƒS(N(t GetStrValue1(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyNameAOscCs |j|ƒS(N(t SetStrValue1(Rt familyNameA((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyNameAPscCs
|jƒS(N(t GetStrValue2(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyNameBQscCs |j|ƒS(N(t SetStrValue2(Rt familyNameB((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyNameBRscCs |jƒsgSt|jƒƒS(N(t GetStrValue3teval(R((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecDissolutionIDSscCs|jt|ƒƒS(N(t SetStrValue3tstr(RtdissFamilyIDList((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecDissolutionIDTscCs
|jƒS(N(R(tchampionRecData((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionFamilyID^scCs |j|ƒS(N(R(R+tfamilyID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionFamilyID_scCs
|jƒS(N(R(R+((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionLeaderID`scCs |j|ƒS(N(R(R+tleaderID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionLeaderIDascCs
|jƒS(N(R (R+((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionWinCountbscCs |j|ƒS(N(R (R+twinCount((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionWinCountcscCs
|jƒS(N(R(R+((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionWinRewardAllotdscCs |j|ƒS(N(R(R+t allotWinCount((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionWinRewardAllotescCs
|jƒS(N(R(R+((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionEndWinCountfscCs |j|ƒS(N(R(R+t endWinCount((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionEndWinCountgscCs
|jƒS(N(R(R+((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionFamilyNamehscCs |j|ƒS(N(R(R+t
familyName((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionFamilyNameiscCsÉit_gt_tjƒjtjƒ}xpt|j    ƒƒD]\}|j
|ƒ}|j ƒ}|j ƒ}|tjkrŒtjj |ƒn|tj|<q=WtjdtjƒtjdtjƒdS(Ns¼ÓÔØÏÉÃËÁªÈü²ÎÈüÏÉÃËID: %ss¼ÓÔØÏÉÃËÁªÈü²ÎÈüÏÉÃËÍæ¼Ò: %s(t
PyGameDatatg_familyWarMemDicttg_familyWarFamilyIDListt    GameWorldtGetUniversalRecMgrt GetTypeListt ShareDefinet(Def_UniversalGameRecType_FamilyWarMembertxrangetCounttAtRRtappendtLog(t warMemRecListtiRt warPlayerIDt warFamilyID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnGameServerInitOKls          cCsìgt_gt_tjƒ}x<tjjƒD]+}|j|ƒ}|r.t|dƒq.q.Wit_t    j
t    j dƒt    j
t    j dƒ|r×tj ƒjtjƒtj ƒjtjƒtj ƒjtjƒntjd|ƒdS(NisÖØÖÃÏÉÃËÁªÈü£¡isDelRec=%s(R>tg_familyWarFightingIDListR@RAtGetPlayerManagerR?tkeystFindPlayerByIDt__NotifyPlayerJoinFamilyInfotPlayerDBGSEventtSetDBGSTrig_ByKeytDef_FamilyWar_RoundtDef_FamilyWar_AllOverRBtDeleteRDt(Def_UniversalGameRecType_FamilyWarBattlet*Def_UniversalGameRecType_FamilyWarChampionRERJ(tisDelRect playerManagertplayerIDtplayer((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytDoFamilyWarResets              cCsŒ|jƒ}|jƒ}|tjkr;tj|dƒtStj|}||krhtj|dƒtSt|ƒsˆtj|dƒtStS(NtPlayerNotInFamilyWarMemListtPlayerWarFamilyIDIsChangetPlayerFamilyWarIsOver(    t GetPlayerIDt GetFamilyIDR>R?t PlayerControlt
NotifyCodetFalsetIsFamilyInWarFightingtTrue(t    curPlayerR^R-RN((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyt!CheckPlayerCanEnterFamilyWarFBMap—s     cCs |tjkS(N(R>RP(R-((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRi©scCst|ƒdS(N(tCheckPlayerJoinFamilyWarInfo(t    curFamilyRk((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyt OnPlayerLogin­s
cCsZ|jƒ}|tjkrdStj|}| sE|jƒ|krIdSt||ƒdS(N(RdR>R?ReRT(RkR^t joinFamilyID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRm±s   cCs€d}|r<tjƒj|ƒ}|s-dn    |jƒ}ntjƒ}||_||_t|jƒ|_    t
j ||ƒdS(Nt( RAtGetFamilyManagert
FindFamilytGetNametChPyNetSendPackttagGCPlayerJoinFamilyWarInfot JoinFamilyIDtJoinFamilyNametlentJoinFamilyNameLent NetPackCommont SendFakePack(RkRptjoinFamilyNamet
joinFamilytjoinFamilyWarInfo((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRT¼s         c
    CsAt}tjƒ}|jtjƒ}xÀt|jƒƒD]¬}|j|ƒ}t    |ƒ}t
|ƒ}|||gkr7t |ƒ}    ||    krã|    j |ƒt ||    ƒtjd|t|ƒt|ƒ|||    fƒt}qãq7q7W|rtjdtjƒn|r-tjd||fƒtjƒnttƒtƒdS(Nsw¸üÐÂÏÉÃËÁªÈü¶ÔÕ½¼Ç¼½âÉ¢ÏÉÃËIDÊý¾Ý: delFamilyID=%s,roundNum=%s,groupID=%s,familyIDA=%s,familyIDB=%s,dissFamilyIDList=%ss?½âÉ¢ÏÉÃË£¬´¥·¢¸üÐÂÏÉÃËÁªÈüÅÅÃû: delFamilyID=%s,familyWarRank=%s(RhRARBRCRDRZRFRGRHR RR&RIR*RJRRRjtPlayerUniversalGameRectSendUniversalGameRecInfotNonet PlayerFamilytUpdFamilyWarRanktAllotWinRewardBySystemtGetFamilyWarChampionRecData(
R-t familyWarRankt isWarFamilytuniversalRecMgrt warBatRecListRLRRRR)((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnDeleteFamilyÉs,           & cCs@|s
dStƒ}t|ƒ}||kr/dSt||ƒdS(N(R†R,R1(R-R0R+tchampionFamilyID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnChangeFamilyLeaderès       c    Cs
t}tjƒ}|jtjƒ}xÃt|jƒƒD]¯}|j|ƒ}t    |ƒ}t
|ƒ}|||gkr|q7nt }||kržt ||ƒn||krºt ||ƒntjd|t|ƒt|ƒ||fƒq7W|rtjdtjƒndS(NsNÏÉÃËÁªÈüÏÉÃ˸ÄÃû: familyID=%s,roundNum=%s,groupID=%s,familyIDA=%s,familyIDB=%s(RhRARBRCRDRZRFRGRHR RRjRR#RJRRR€RR‚(    R-R<RˆR‰RŠRLRRR((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnRenameFamilyós&         'cCsÌtjd|ƒ|tkr'tƒn¡|tkr@ttƒnˆ|tkrYttƒno|t    krot
ƒnY|t krˆtt ƒn@|t kr¡tt ƒn'|tkr·tƒntjd|ƒdS(NsÏÉÃËÁªÈü״̬±ä¸ü: stateValue=%ss#²»´æÔÚ¸ÃÏÉÃËÁªÈü״̬£¡stateValue=%s(RARJtFamilyWarState_FirstRoundGroupt DoLogicFamilyWar_FirstRoundGrouptFamilyWarState_FirstRoundBattletOnFamilyWar_StarttFamilyWarRound_FirsttFamilyWarState_FirstRoundOvertOnFamilyWar_OvertFamilyWarState_SecondRoundGroupt!DoLogicFamilyWar_SecondRoundGroupt FamilyWarState_SecondRoundBattletFamilyWarRound_SecondtFamilyWarState_SecondRoundOvert FamilyWarState_NextWeekGroupRankt"DoLogicFamilyWar_NextWeekGroupRanktErrLog(t
stateValue((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnFamilyWarStateChange s" 
 
 
cCsttƒƒ}tjtj|ƒtjƒjtjt    j
ƒ}t j t j ƒ}|r{|r{tjtjt|ƒƒndS(N(R,R†RAtSendMapServerMsgExRDt$Def_Notify_WorldKey_ChampionFamilyIDt GetGameWorldt GetDictByKeytDef_Notify_WorldKey_FBCanEntertChConfigtDef_FBMapID_FamilyWarRUtGetDBGSTrig_ByKeyRWt Def_Notify_WorldKey_VSFamilyInfotGetRoundOpenFBVSFamilyInfo(RŒtcanEnterR    ((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnMapServerInitOK0s c Cs7tƒ}t|ƒ}t|ƒ}tjd||fƒg}tjƒ}|jtjƒ}t    }|j
ƒ}xÂt |ƒD]´}    |j |    ƒ}
|t |
ƒkr¨q{n|dkpÄ| oÄ|tk} | rÖt}nt|
ƒ} t|
ƒ} t|
ƒ}t|
ƒ}| s| r4tjd|    | | fƒq{nt|
ƒ}|rftjd|    | | fƒq{nt|
ƒ}|r›tjd|    | | |fƒq{nt|
ƒ}tj| ƒ}tj| ƒ}| |kr×|nd}| |krï|nd}|j| ||| | g||g||g||ggƒq{W|S(Ns=    ÏÉÃËÁªÈüÀúÊ·¹Ú¾ü: championFamilyID=%s,championWinCount=%sis>    ÓÐÏÉÃËÂÖ¿Õ£¬²»¿ªÆô±¾³¡±ÈÈü£¡i=%s,familyIDA=%s,familyIDB=%ss>    ÓÐÏÉÃ˽âÉ¢£¬²»¿ªÆô±¾³¡±ÈÈü£¡i=%s,familyIDA=%s,familyIDB=%ssQ    ÒÑÓÐʤ¸º½á¹ûµÄ£¬²»¿ªÆô±¾³¡±ÈÈü£¡i=%s,familyIDA=%s,familyIDB=%s,winFamilyID=%si(R†R,R2RARJRBRCRDRZRhRGRFRHRR™RjR RRR R&RRRƒtGetFamilyIDRankRI(R    R+RŒtchampionWinCountt vsFamilyInfoR‰RŠtfinalMatchStatetwarBatRecCountRLRt isFinalMatchRRRR"tdisFamilyIDListRRt familyRankAt familyRankBt    winCountAt    winCountB((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR©=sN                       >c    Csòtjtjƒ}||kr9tjd||fƒdStjd|ƒt|ƒ}tjd|ƒgt_x%|D]}tjj    |t
j ƒqwWtj t
j |ƒ|rît|ƒ}tjƒjdddtjd|t|ƒƒndS(Ns;µ±Ç°ÂÖ´ÎÒì³£Êý¾Ý£¬ÎÞ·¨¿ªÆôÏÉÃËÁªÈü!dbRound=%s,startRound=%ss1==========ÏÉÃËÁªÈüÕ½¶·¿ªÊ¼, µ±Ç°ÂÖ´Î(%s)=========s    vsFamilyInfo=%sitFamilyWarStart(RUR§RWRARRJR©R>RPtextendRDtVSFamilyInfo_FamilyIDListR R¨R(RQtMapServer_QueryPlayerR¥R¦Ry(R    tcurRoundR®tvsFamilytmsgInfo((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR’ns         cCsÁtjtjƒ}|tkr/tjdƒdS|dkrPtjd|ƒdStjdƒtjtj    dƒt
j ƒt j tjƒ}it_gt_tjƒ}|jtjƒ|jtjƒ|jtjƒ}|jtjƒ}t}g}tjƒ}t
jƒ}t|ƒ}    xTt|ƒD]F\}
} |j| ƒ} | sitjd|
| fƒq+n|j| ƒtjj| ƒx“t| jƒƒD]} | j | ƒ}|j!ƒ}|j"ƒ}t#|| |ƒ}|j$|dƒ}|r™|r™|| kr™|r™t%|| ƒq™q™Wt|ƒt&ks>|
|    dkr+t'|||ƒ|dkr^Pqq|d8}g}q+q+Wtjdtjƒtjdtjƒtjd    ƒtjtjtƒdS(
NsÏÉÃËÁªÈüÒѾ­´¦Àí¹ýÊ×ÂÖ·Ö×飡is1ÏÉÃËÁªÈü´¦Àí¹ýÊ×ÂÖ·Ö×éÂִμǼֵÒì³££¡curRound=%ss0============= ¿ªÊ¼ÏÉÃËÁªÈü·Ö×éÊ×ÂÖ =============s2ÏÉÃËÁªÈüÊ×ÂÖ·Ö×éʱÎÞ·¨ÕÒµ½¸ÃÏÉÃË: i=%s,familyID=%sis*    PyGameData.g_familyWarFamilyIDList: %ss%    PyGameData.g_familyWarMemDict: %ss"    ÏÉÃËÁªÈüÊ×ÂÖ±ÈÈü·Ö×éÈ·ÈÏÍê±Ï£¡((RUR§RWR“RAtDebugLogRRJRVRXRƒt DoFamilySorttcopytdeepcopyR>R?R@RBRYRDRZRERCtFamilyWar_MaxGroupIDRrtGetSortFamilyIDListRyt    enumerateRsRIRFtGetCounttGetAtRdt    GetPlayertAddFamilyWarMemtgetRTtFamilyWar_GroupFamilyCountt__DoFristRoundRandBattle(R»tlastFamilyWarMemDictR‰RŠRKRtgroupFamilyListt    familyMgrtsortFamilyIDListt familyCountRLR-tfamilytindext    curMembert memPlayerIDt    memPlayertisAddOKtlastJoinFamilyID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR…sb    
               " 
  cCsÑ|tjkr$tjd|ƒdS|tjkrXtjd||tj|fƒdS|sytjƒjtjƒ}n|sƒdS|j    ƒ}|j
|ƒ|j |ƒ|tj|<tjd||fƒt S(Ns)·Ç²ÎÈüÏÉÃË£¬²»ÄÜÌí¼Ó²ÎÈü³ÉÔ±£¡familyID=%ssT±¾ÖÜÒѾ­Ìí¼Ó¹ý¸Ã³ÉÔ±ËùÊô²ÎÈüÏÉÃË£¬²»Öظ´Ìí¼Ó£¡playerID=%s,familyID=%s,warFamilyID=%ss1    Ìí¼ÓÏÉÃËÁªÈüÕ½¶·ÈËÔ±: playerID=%s,familyID=%s( R>R@RAR¾R?RBRCRDREtAddRecRRRj(R^R-RKR((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRÈÇs"        c CsÓ|s
dStj|ƒt}x¯|rÎ|d }|d}|d}t|ƒdkr`|dnd}|jƒ|jƒ}}|s‹dn    |jƒ}    |s£dn    |jƒ}
t|||||    ||
ƒq WdS(NiiiRq(trandomtshuffleR“RyR‚tGetIDRttAddFamilyWarBatRec( RŠRRÍR    t vaFamilyListtfamilyAtfamilyBRRRR"((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRËÛs     
 
 
" c
 
Csç| r| rdS|jƒ}t||ƒt||ƒt||ƒt||ƒt||ƒt||ƒg}    |r”||kr”|    j|ƒn|r¶||kr¶|    j|ƒnt||    ƒt    j
d|||||    fƒdS(NsX    AddRec roundNum=%s,groupID=%s,familyIDA(%s) VS familyIDB(%s), setDissFamilyIDList=%s( RØRR
RRRR#RIR*RARJ(
RŠR    RRRRR"R²RtsetDissFamilyIDList((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRÜïs$            c
Csetjtjƒ}|tkr/tjdƒdS|tkrPtjd|ƒdStjdƒi}tj    ƒ}|j
t j ƒ}xvt |jƒƒD]b}|j|ƒ}tt|ƒkrÁq”nt|ƒ}|j|gƒ}|j|ƒ|||<q”Wt}t}x8t tƒD]*}t|}tjd|ƒ||kr]tjd||fƒqn||}t|ƒdkr–tjd||fƒqn|\}    }
t|    ƒ\} } } }}t|
ƒ\}}}}}||}tjd| || |fƒt|||| || ||ƒt|||| ||||ƒqWtjd    ƒtjtjtƒdS(
NsÏÉÃËÁªÈüÒѾ­´¦Àí¹ý´ÎÂÖ·Ö×飡s1ÏÉÃËÁªÈü´¦Àí¹ý´ÎÂÖ·Ö×éÂִμǼֵÒì³££¡curRound=%ss0============= ¿ªÊ¼ÏÉÃËÁªÈü·Ö×é´ÎÂÖ =============s-----groupID=%s-----s3    Ã»Óиü¶±ð±ÈÈü£¬½áÊø·Ö×é!roundNum=%s,groupID=%sis=    Ê×ÂÖ±ÈÈü²»ÊÇÁ½³¡£¬Ö±½ÓÌø¹ý´ÎÂÖ±ÈÈü!roundNum=%s,groupID=%ss]    Ê¤Õß¶ÔʤÕߣ¬°ÜÕß¶Ô°ÜÕß: winFamilyID1=%s,winFamilyID2=%s,loseFamilyID1=%s,loseFamilyID2=%ss"    ÏÉÃËÁªÈü´ÎÂÖ±ÈÈü·Ö×éÈ·ÈÏÍê±Ï£¡(RUR§RWR™RAR¾R“RRJRBRCRDRZRFRGRHRRRÉRIRÂRyt"__GetWinLoseFamilyInfoForNextRoundRÜRV(R»tsecondRoundBatDictR‰RŠRLRRtfristRoundBatRecR    trecData1trecData2t winFamilyID1twinFamilyName1t loseFamilyID1tloseFamilyName1tdisFamilyIDList1t winFamilyID2twinFamilyName2t loseFamilyID2tloseFamilyName2tdisFamilyIDList2R²((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR—sT       
 
 
    # c
Cs²t|ƒ}t|ƒ}t|ƒ}t|ƒ}t|ƒ}|sZt|||tƒ}n||kr{|}|}|}n|}|}|}|}t|ƒ}    |||||    fS(sâ¸ù¾ÝÉÏÒ»ÂÖ±ÈÈü½á¹û»ñÈ¡ÓÐ×ʸñ²ÎÓëÏÂÒ»ÂÖ±ÈÈüµÄʤÕßÓë°ÜÕßÏÉÃËÐÅÏ¢
    @param recData: ÉÏÒ»ÂÖ±ÈÈü½á¹û¼Ç¼Êý¾Ý
    ×¢: ÉÏÒ»ÂÖµÄʤÕßÓë°ÜÕß²¢²»Ò»¶¨¶¼ÓÐ×ʸñ²ÎÓëÏÂÒ»ÂÖ±ÈÈü£¬±ØÐëÂú×ãÆäÖÐÒ»¸öÏÉÃËδ½âÉ¢£¨¿ÉÄÜÈüǰ¡¢Èüºó½âÉ¢£©²ÅÄܲÎÓë;
    (R RRR Rt__SetBatRecWinFamilyIDBySystemRhR&(
RRRRR"Rt winFamilyNamet loseFamilyIDtloseFamilyNameR²((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRá@s"           c Cst|ƒ}|r|Sd}t|ƒ}|râ||krl||krl|}tjd||||fƒq¯|r°|r°||krŠ|n|}tjd||||fƒq¯|s¼|n|}tjd||||fƒnÍ| rN|rN|rNtj|ƒ}tj|ƒ}||kr%|n|}tjd|||||fƒna| s\| r‹|sh|n|}tjd|||fƒn$|r¯tjd|||fƒdS|sÊ|sÁ|n|}n|sÔdSt||ƒtjƒ}|j    |ƒ}    |    stjd|ƒ|St
j d    d
ƒ}
t
j d    d ƒ} t |ƒ} d
| kodt | ƒknrw| | d
n| d} g}g}xD|
D]<\}}}|j|td
t|| d ƒƒ|gƒq”Wx<t|    jƒƒD](}|    j|ƒ}|j|jƒƒqçWt|ƒ}tjd |||| gƒt
j ddƒ}tjd|||gƒtjd|| || ||fƒ|S(sM ÏµÍ³¼ì²éÉèÖñÈÈüʤÕßÏÉÃË
    @param isFight: ÊÇ·ñÊDZÈÈüÖеģ¬Èç¹ûÊÇ£¬Ôò²»ÉèÖÃʤÕߣ¨ÂÖ¿Õ¼°½âÉ¢µÄ³ýÍ⣩
                        µ±²»ÊÇʱ£¬ÏµÍ³Ò»¶¨»áÇ¿ÖÆÉèÖÃÒ»¸öʤÕßÏÉÃËID£¬¼´Ê¹¸ÃÏÉÃËÒѾ­½âÉ¢£¡
    Ê×ÂÖÓÐδÕý³£½áÊøµÄ£¬´ÎÂÖ¿ªÊ¼·ÖÅäʱ½øÐв¹´¦Àí
    ´ÎÂÖÓÐδÕý³£½áÊøµÄ£¬ÏÂÖÜ·Ö×鶨¼¶Ê±½øÐв¹´¦Àí
    ²¹´¦ÀíµÄÇé¿ö£¬Ò»¶¨»áÉèÖÃÒ»¸ö»ñʤID
    is`        Á½¸öÏÉÃ˶¼ÒѾ­½âÉ¢£¬Ä¬ÈÏAʤ£¡familyIDA=%s,familyIDB=%s,disFamilyIDList=%s,winFamilyID=%ss_        ¶ÔÕ½ÏÉÃËÒѾ­½âÉ¢, Ö±½Ó»ñʤ: familyIDA=%s,familyIDB=%s,disFamilyIDList=%s,winFamilyID=%ssd        ±ÈÈüÂÖ¿Õ, µ«ÏÉÃËÒѽâÉ¢, Ä¬ÈÏ»ñʤ!familyIDA=%s,familyIDB=%s,disFamilyIDList=%s,winFamilyID=%ssw        ±ÈÈüÒ쳣ûÓÐÕý³£½áÊø, ÓÉϵͳĬÈÏÉèÖÃʤÕß!familyIDA=%s,familyRankA=%s,familyIDB=%s,familyRankB=%s,winFamilyID=%ssM        ±ÈÈüÂÖ¿Õ, ÓÉϵͳĬÈÏÉèÖÃʤÕß!familyIDA=%s,familyIDB=%s,winFamilyID=%ssG        ±ÈÈüÖУ¬²»ÉèÖÃʤÕß!familyIDA=%s,familyIDB=%s,disFamilyIDList=%ss.    »ñʤÏÉÃËÒѽâÉ¢£¡²»·¢·Å½±Àø£¡winFamilyID=%stFamilyMatchOtherRewardiigY@tFairyLeagueCompensationtFamilyMatchRankRewarditFairyLeagueJoinRewardsm    ·¢·Åδ½áËã±ÈÈü½±Àø=roundNum=%s,groupID=%s,winFamilyID=%s,rewardPer=%s,addItemList=%s,joinAwardItemList=%s(RR&RARJRƒR¬R¾RRrRst IpyGameDataPYtGetFuncEvalCfgRRyRItmaxtintRFRÅRÆRdRtPlayerCompensationt SendMailByKey(RRRtisFightRR²R³R´RÎRÑtnotBattleRewardItemListtnotBattleRewardRateListRt    rewardPert playerIDListt addItemListtitemIDt    itemCounttisBindRÒRÓR    tjoinAwardItemList((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRð^st                          :1     cCs|tkrûtjƒjtjƒ}|jƒ}xÄt|ƒD]¶}|j|ƒ}|t    |ƒkrjq=nt
|ƒr|q=nt |ƒ}t |ƒ}t |ƒ}tjd||||fƒt|||tƒ|dkr=tjdƒtƒq=q=WdS|tkrtƒndS(NsRÏÉÃËÁªÈüϵͳ´¦Àíδ½áËãµÄ¶ÔÕ½½á¹û! roundNum=%s,groupID=%s,familyIDA=%s,familyIDB=%sis)ÏÉÃËÁªÈüÊ×ÂÖÖ»ÓÐÒ»³¡¶ÔÕ½£¬Ö±½ÓÖ´ÐÐ×ܽáËã!(R“RARBRCRDRZRGRFRHRRRR RRJRðRht__DoLogicFamilyWarAllOverR™(R    RŠtwarCountRLRRRR((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR•µs*         
cCs"tjdƒtƒtjƒdS(sl ÏÂÖÜ·Ö×鶨¼¶
        ×îµÍ¼¶±ð×飺 ²»ÉèÖÃÁªÈü¼¶±ð, ÏÂÖÜ×îµÍ¼¶±ð×éÃûµ¥ÓÉÆäËûÎÞÁªÈü¼¶±ðÏÉÃË×ÜÕ½Á¦ÅÅÐеõ½
    s$======= ÏÉÃËÁªÈüÏÂÖÜ·Ö×鶨¼¶ =======N(RARJRRƒR„(((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRœÓs 
cCsŽtjtjƒ}|r)tjdƒdStjdƒidt6dt6}g}i}tjƒ}|jt    j
ƒ}|j ƒs‘tjdƒdSxTt |j ƒƒD]@}|j |ƒ}t|ƒ}t|ƒ}    t|ƒ}
t|ƒ} t|ƒ} t|ƒ} x*| D]"}||kr|j|ƒqqW| sLt||
| tƒ} n|
| krj|j|    dƒnd}| | krŽ|j|    dƒnd}|j|iƒ}|j|
dƒ|||
<|j| dƒ||| <|||<q¤Wg}t}xÇt tƒD]¹}t|}||kr#qn||}g}x6|jƒD](\}}|r@|j||gƒq@q@W|jdtƒg|D]}|d^qƒ}tjd    ||fƒ||7}qWtjd
|ƒ|dgtt|ƒ7}x€t dtƒD]o}|t}|d}||s5tjd |ƒqúntjd ||fƒ||||||<||<qúWtjd |ƒd|kr±||jdƒ }tjd|ƒn|tt }tjd|ƒtjd|ƒg}tj ƒ}t!j"ƒ}x­|D]¥}|j#|ƒ}|s'qnt!j$|ƒ}|s@Pn|j|ƒ||kr_dn|j|ƒd}||kr‘t!j%||ƒntjd|||fƒqWx‘t&|dƒD]€\}}||krÝq¿n|j#|ƒ}|stjd||fƒq¿nd}t!j%||ƒtjd|||fƒq¿Wt!j'ƒ|rdt(|dƒntj)tj*dƒtj)tjdƒdS(sº ÏÉÃËÈüÈ«²¿±ÈÈü½áÊøºóÂß¼­
        ·Ç×î¸ß¼¶±ð×é: µÚÒ»Ãû½ú¼¶
        ·Ç×îµÍ¼¶±ð×é: ×îºóÃû½µ¼¶
        ×îµÍ¼¶±ð×飺 ²»ÉèÖÃÁªÈü¼¶±ð, ÏÂÖÜ×îµÍ¼¶±ð×éÃûµ¥ÓÉÆäËûÎÞÁªÈü¼¶±ðÏÉÃË×ÜÕ½Á¦ÅÅÐеõ½
    s&ÒѾ­´¦Àí¹ýÏÉÃËÁªÈü×ܽáË㣬²»Öظ´´¦Àí£¡Ns2====== ÏÉÃËÁªÈü×ܽáË㣬´¦ÀíÏÉÃ˽ú¼¶¡¢½µ¼¶£¡ ======i
is"ûÓÐÏÉÃËÁªÈü±ÈÈü¼Ç¼£¬²»ÐèÒª½áË㣡itreverses1×éÏÉÃË»ý·ÖÅÅÃû: groupID=%s,groupFamilySortList=%ss»ý·ÖÅÅÐòºóÏÉÃËID: %ss%    ÏÂ×éµÚÒ»ÃûÎÞÏÉÃË£¬²»½»»»!index=%ss$    ½µ¼¶ÏÉÃËË÷Òý=%s£¬½ú¼¶ÏÉÃËË÷Òý=%ss½ú¼¶½µ¼¶ºóÏÉÃËID: %ss³ý0ºóÏÉÃËID: %ss×îÖÕµÄÅÅÃûÏÉÃËID: %ss    ½âÉ¢µÄÏÉÃËID: %ss0¸üÐÂÏÉÃËÆÀ¼¶: familyID=%s,lastRank=%s,updRank=%ss/нúÏÉÃËÆÀ¼¶, ÏÉÃËÒѽâÉ¢!familyID=%s,updRank=%ss0нúÏÉÃËÆÀ¼¶: familyID=%s,lastRank=%s,updRank=%s(+RUR§RXRARJR“R™RBRCRDRZRGRFRHRRR RRR&RIRðRhRÉRÂtitemstsortRjtFamilyWar_MaxFamilyCountRyRÊRÒRrRƒRÃRstGetFamilyWarRanktSetFamilyWarRankRÄR¿tUpdFamilyWarChampionRVRW(t    allOverDot Def_WinScoretallDissFamilyIDListtallGroupFamilyScoreDictR‰RŠRLRRR    RRRR)R-t familyScoreAt familyScoreBtgroupFamilyScoreDicttfamilyWarIDRankListtgroupFamilySortListtscoret groupFamilytgroupFamilyIDSortListRÒtpreIndextupdFamilyIDListRÎRÏRÑtlastRanktupdRank((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRÞs¾             $$
 
 
 
 
!     %  
c
Cs&tjƒj|ƒ}tƒ}t|ƒ}t|ƒ}tjd|ƒtjd|ƒt|ƒ}||kr¨|d7}t||ƒtjd|ƒt    |t
ƒn!t    |t ƒt ||ƒt|dƒt |dƒtjdƒtjddƒ}tjdd    ƒ}|d}||ksC||krd|||dkrdt||ƒtjd
|ƒn|r™|jƒ}t||jƒƒt||ƒn tjd ƒtjtj|ƒtjd|ƒtjd d    ƒ}    |    r|rtj||jƒ|    ƒn|r"tjdd |gƒndS(NsÉÏÖܹھüÏÉÃËID: %ss±¾ÖܹھüÏÉÃËID: %sis    ¸üÐÂÁ¬Ê¤: %sis     ¹Ú¾ü±ä¸ü!tFamilyMatchLianWinRewardiis     ÖÕÖ¹¶Ô·½Á¬Ê¤! endWinCount=%ss    ¹Ú¾üÏÉÃ˲»´æÔÚ»òÒѾ­½âÉ¢ÁË!RôtFamilyMatchSecondSessionEnd(RARrRsR†R,R;RJR2R4R…RhRjR.R7Røt
GetFuncCfgR:RtR1t GetLeaderIDR=R RDR¡R€tSendUniversalGameRecSingleR‚tPlayerFamilyRedPackettCreatNewFamilyRedPacketRft WorldNotify(
RŒRÑR+tlastChampionFamilyIDtchampionFamilyNameR3twinRewardStartCounttwinRewardSpaceCountR9t    redPackID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR^sH        
 
,    cCsAtjƒ}|jtjƒ}|jƒr7|jdƒS|jƒS(Ni(RARBRCRDR[RGRHRØ(R‰tchampionRecList((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR†s
   cCst|ƒ}t|ƒ}t|ƒ}t|ƒ}t|ƒ}tjddƒ}tjddƒ}tjddƒ}    | s‡| s‡|     r‹dSd}
|s|n||    } t| |d|    ƒ} |oÌ|pÌ| } | ré| ré| d } n| rü| d}
nt    | ƒ}| r|d7}n|dkr+dS|dkrjt
j |ƒ}x!|D]}|dc|9<qMWnt j d||||||||fƒ| r­t j d| ƒn|rÐt j d    ƒt|dƒn|
r÷t j d
|
ƒt||
ƒntjd |g|ƒt j d ƒdS( NR!iiiiiÿÿÿÿs~ϵͳ×Ô¶¯·ÖÅäÁ¬Ê¤½±Àø¸øÃËÖ÷£¡Éϴν±ÀøÁ¬Ê¤´ÎÊý=%s,µ±Ç°Á¬Ê¤Êý=%s,ÖÕ½áÁ¬Ê¤=%s,·ÖÅä´ÎÊý=%s,ÎïÆ·=%s,isAll=%s,familyID=%s,leaderID=%ss    sysAllotWinCountList=%ss#    ÖØÖÃÒÑ·ÖÅäÖÕ½á¶ÔÊÖÁ¬Ê¤´ÎÊý½±Àø!s    ¸üÐÂÒÑ·ÖÅäµ½µÄÁ¬Ê¤´ÎÊý: %stFamilyMatchWinAllotMail2s    -----------------------(R,R/R2R5R8RøRùR#trangeRyRÀRÁRARJR:R7RüRý(R+tisAllR-R0R3tlastAllotWinCountR9twinRewardItemListR+R,tupdAllotWinCounttstartRewardWinCounttsysAllotWinCountListtisAllotEndWinCountt sysAllotCounttitemInfo((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR…–sP                    cCsftjƒj|ƒ}|j}|jƒ}|jƒ}|dkrFdS|j|ƒ}|dkredS|jƒt    j
krŽtj d|ƒdS|j ƒ}|j|ƒ}    |    dkrÓtj d||f|ƒdSt ƒ}
t|
ƒ} || krtj d| |f|ƒdSt|
ƒ} | rNt|
dƒtj d|| f|ƒn¦t|
ƒ} t|
ƒ}tjddƒ}tjddƒ}|s–|n||}| |krÍtj d    ||| f|ƒdSt|
|ƒtj d
||f|ƒtjdd ƒ}tjd |g|ƒtj||
ƒ|dd}tjdd|jƒ||    jƒgƒdS( Ns²»ÊÇÃËÖ÷£¬²»ÄÜ·ÖÅäÁ¬Ê¤½±Àø£¡s<ÏÉÃËûÓиóÉÔ±£¬ÎÞ·¨·ÖÅäÁ¬Ê¤½±Àø£¡familyID=%s,memPlayerID=%ss=·ÇÍõÕßÏÉÃË£¬ÎÞ·¨·ÖÅäÁ¬Ê¤½±Àø£¡championFamilyID=%s,familyID=%sis/·ÖÅäÖÕ½áÏÉÃËÁ¬Ê¤½±Àø!familyID=%s,endWinCount=%sR!iis]Á¬Ê¤´ÎÊý²»×㣬ÎÞ·¨·ÖÅäÁ¬Ê¤½±Àø£¡ÒÑ·ÖÅäÁ¬Ê¤½±Àø´ÎÊý=%s,Ï´ÎÁ¬Ê¤½±Àø´ÎÊý(%s) > µ±Ç°Á¬Ê¤´ÎÊý(%s)s*·ÖÅäÏÉÃËÁ¬Ê¤½±Àø!familyID=%s,·ÖÅäÁ¬Ê¤Êý=%sitFamilyMatchWinAllotMail1(RARQtGetPlayerByIndext MemPlayerIDRdt    GetFamilyR‚t
FindMembert GetFamilyLVtIPY_GameServert    fmlLeaderRJRÛR†R,R8R:R2R5RøR#R7RùRüRýR€R%RfR(Rt(RÒt
clientDatattickRkRÔR^RnRÓR-t curTagMemberR+RŒR9R3R2R+R,tnextRewardWinCountR3t notifyItemID((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnFamilyWarWinRewardAllotÑsV                          (c
Csí|\}}}}tjtjƒ}tjd|||||fƒ|ttgkrZdStjƒ}|jt    j
ƒ}xt |j ƒƒD]y}|j |ƒ}    |t|    ƒkr¸q‹n|t|    ƒkr‹|t|    ƒkr‹t|    |ƒtjd||fƒPq‹q‹Wtjdtjƒ|tjkr>tjj|ƒn|tjkr`tjj|ƒntjdtjƒtjdt    j
ƒ|tkr·tj r·| r·tjddƒn|tkrÍtj sß|tkré|rétƒndS(NsdÊÕµ½µØÍ¼Í¬²½µÄÏÉÃËÁªÈü½áÊøÊý¾Ý: roundNum=%s,familyIDA=%s,familyIDB=%s,winFamilyID=%s,isFinalMatch=%ss'    ¸üлñʤÏÉÃËID: i=%s,winFamilyID=%ss+    PyGameData.g_familyWarFightingIDList=%sitFamilyMatchFirstSessionEnd(RUR§RWRARJR“R™RBRCRDRZRFRGRHRR RRR>RPtremoveR€RR‚RfR(R(
tmsgListRRRR±R    R‰RŠRLR((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytMapServer_FamilyWarOvers:     $ 
(WRARøR@RüR€R&RURuR{RfRƒRDR>R¥RÙRÀR“R™RÂRÊR RR‘R”R–R˜RšR›RRRR
R RRRRRRRR R#R&R*R,R.R/R1R2R4R5R7R8R:R;R=RORjR`RlRiRoRmRTR‹RRŽRŸR«R©R’RR‚RÈRËRÜR—RáRðR•RœRRR†R…RGRK(((sd.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyt<module>s¨                    
                                                                 
                                                                                            $         1        B          :     W             €    1        ;    6