cehua-HWJ35
2019-03-07 cd6fbfa9dce9c101fe7a819c811036cfbbefab8d
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
\+~\c@s;ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZdZdZdZdZeeZdZdZdZd    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(„Z8d)„Z9e:d*„Z;d+„Z<d,„Z=d-„Z>d.„Z?d/„Z@d0„ZAd1„ZBd2„ZCd3„ZDd4„ZEd5„ZFd6„ZGd7„ZHdd8„ZJd9„ZKgd:„ZLd;„ZMd<„ZNe:d=„ZOd>„ZPd?„ZQd@„ZRdA„ZSdB„ZTdC„ZUdD„ZVdE„ZWdF„ZXdG„ZYdS(HiÿÿÿÿNiiiii i i iiiiccCs
|jƒS(N(t    GetValue1(trecData((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecGroupIDEscCs |j|ƒS(N(t    SetValue1(RtgroupID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecGroupIDFscCs
|jƒS(N(t    GetValue2(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecRoundNumGscCs |j|ƒS(N(t    SetValue2(RtroundNum((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecRoundNumHscCs
|jƒS(N(t    GetValue3(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyIDAIscCs |j|ƒS(N(t    SetValue3(Rt    familyIDA((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyIDAJscCs
|jƒS(N(t    GetValue4(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyIDBKscCs |j|ƒS(N(t    SetValue4(Rt    familyIDB((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyIDBLscCs
|jƒS(N(t    GetValue5(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecWinFamilyIDMscCs |j|ƒS(N(t    SetValue5(Rt winFamilyID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecWinFamilyIDNscCs
|jƒS(N(t GetStrValue1(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyNameAOscCs |j|ƒS(N(t SetStrValue1(Rt familyNameA((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyNameAPscCs
|jƒS(N(t GetStrValue2(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecFamilyNameBQscCs |j|ƒS(N(t SetStrValue2(Rt familyNameB((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecFamilyNameBRscCs#|jƒsgStj|jƒƒS(N(t GetStrValue3tjsontloads(R((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetBatRecDissolutionIDSscCs|jtj|dtƒƒS(Nt ensure_ascii(t SetStrValue3R%tdumpstFalse(RtdissFamilyIDList((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetBatRecDissolutionIDTscCs
|jƒS(N(R(tchampionRecData((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionFamilyID^scCs |j|ƒS(N(R(R.tfamilyID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionFamilyID_scCs
|jƒS(N(R(R.((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionLeaderID`scCs |j|ƒS(N(R(R.tleaderID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionLeaderIDascCs
|jƒS(N(R (R.((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionWinCountbscCs |j|ƒS(N(R (R.twinCount((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionWinCountcscCs
|jƒS(N(R(R.((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionWinRewardAllotdscCs |j|ƒS(N(R(R.t allotWinCount((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionWinRewardAllotescCs
|jƒS(N(R(R.((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionEndWinCountfscCs |j|ƒS(N(R(R.t endWinCount((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytSetFWChampionEndWinCountgscCs
|jƒS(N(R(R.((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytGetFWChampionFamilyNamehscCs |j|ƒS(N(R(R.t
familyName((sV.\\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((sV.\\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(RAtg_familyWarFightingIDListRCRDtGetPlayerManagerRBtkeystFindPlayerByIDt__NotifyPlayerJoinFamilyInfotPlayerDBGSEventtSetDBGSTrig_ByKeytDef_FamilyWar_RoundtDef_FamilyWar_AllOverREtDeleteRGt(Def_UniversalGameRecType_FamilyWarBattlet*Def_UniversalGameRecType_FamilyWarChampionRHRM(tisDelRect playerManagertplayerIDtplayer((sV.\\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 GetFamilyIDRARBt PlayerControlt
NotifyCodeR+tIsFamilyInWarFightingtTrue(t    curPlayerRaR0RQ((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyt!CheckPlayerCanEnterFamilyWarFBMap—s     cCs |tjkS(N(RARS(R0((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRk©scCst|ƒdS(N(tCheckPlayerJoinFamilyWarInfo(t    curFamilyRm((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyt OnPlayerLogin­s
cCsZ|jƒ}|tjkrdStj|}| sE|jƒ|krIdSt||ƒdS(N(RgRARBRhRW(RmRat joinFamilyID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRo±s   cCs€d}|r<tjƒj|ƒ}|s-dn    |jƒ}ntjƒ}||_||_t|jƒ|_    t
j ||ƒdS(Nt( RDtGetFamilyManagert
FindFamilytGetNametChPyNetSendPackttagGCPlayerJoinFamilyWarInfot JoinFamilyIDtJoinFamilyNametlentJoinFamilyNameLent NetPackCommont SendFakePack(RmRrtjoinFamilyNamet
joinFamilytjoinFamilyWarInfo((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRW¼s         c
    Cs>t}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ƒtƒnttƒtƒdS(Nsw¸üÐÂÏÉÃËÁªÈü¶ÔÕ½¼Ç¼½âÉ¢ÏÉÃËIDÊý¾Ý: delFamilyID=%s,roundNum=%s,groupID=%s,familyIDA=%s,familyIDB=%s,dissFamilyIDList=%ss?½âÉ¢ÏÉÃË£¬´¥·¢¸üÐÂÏÉÃËÁªÈüÅÅÃû: delFamilyID=%s,familyWarRank=%s(R+RDRERFRGR]RIRJRKR RR'RLR-RMRRRltPlayerUniversalGameRectSendUniversalGameRecInfotNonetUpdFamilyWarRanktAllotWinRewardBySystemtGetFamilyWarChampionRecData(
R0t familyWarRankt isWarFamilytuniversalRecMgrt warBatRecListRORRRR,((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnDeleteFamilyÉs,           &
cCs@|s
dStƒ}t|ƒ}||kr/dSt||ƒdS(N(R‡R/R4(R0R3R.tchampionFamilyID((sV.\\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(R+RDRERFRGR]RIRJRKR RRlRR#RMRRR‚RƒR„(    R0R?R‰RŠR‹RORRR((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnRenameFamilyós&         'cCsÅtjd|ƒ|tkr'tƒnš|tkr@ttƒn|tkrYttƒnh|t    krot
ƒnR|t krˆtt ƒn9|t kr¡tt ƒn |tkr°ntjd|ƒdS(NsÏÉÃËÁªÈü״̬±ä¸ü: stateValue=%ss#²»´æÔÚ¸ÃÏÉÃËÁªÈü״̬£¡stateValue=%s(RDRMtFamilyWarState_FirstRoundGroupt DoLogicFamilyWar_FirstRoundGrouptFamilyWarState_FirstRoundBattletOnFamilyWar_StarttFamilyWarRound_FirsttFamilyWarState_FirstRoundOvertOnFamilyWar_OvertFamilyWarState_SecondRoundGroupt!DoLogicFamilyWar_SecondRoundGroupt FamilyWarState_SecondRoundBattletFamilyWarRound_SecondtFamilyWarState_SecondRoundOvert FamilyWarState_NextWeekGroupRanktErrLog(t
stateValue((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnFamilyWarStateChange s" 
 
     cCsttƒƒ}tjtj|ƒtjƒjtjt    j
ƒ}t j t j ƒ}|r{|r{tjtjt|ƒƒndS(N(R/R‡RDtSendMapServerMsgExRGt$Def_Notify_WorldKey_ChampionFamilyIDt GetGameWorldt GetDictByKeytDef_Notify_WorldKey_FBCanEntertChConfigtDef_FBMapID_FamilyWarRXtGetDBGSTrig_ByKeyRZt Def_Notify_WorldKey_VSFamilyInfotGetRoundOpenFBVSFamilyInfo(RtcanEnterR    ((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnMapServerInitOK2s 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/R5RDRMRERFRGR]R+RJRIRKRRšRlR RRR R'RRt PlayerFamilytGetFamilyIDRankRL(R    R.RtchampionWinCountt vsFamilyInfoRŠR‹tfinalMatchStatetwarBatRecCountRORt isFinalMatchRRRR"tdisFamilyIDListRRt familyRankAt familyRankBt    winCountAt    winCountB((sV.\\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(RXR§RZRDRRMR©RARStextendRGtVSFamilyInfo_FamilyIDListR R¨tstrRTtMapServer_QueryPlayerR¥R¦R{(R    tcurRoundR¯tvsFamilytmsgInfo((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR“ps         cCsGtjtjƒ}|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|ƒ}    tjddƒ}
tjd|
ƒx‰t|ƒD]{\} } |j| ƒ} | sŒtjd| | fƒqNn| jƒ|
krÁtjd    | | jƒ|
fƒn³|j | ƒtjj | ƒx“t!| j"ƒƒD]}| j#|ƒ}|j$ƒ}|j%ƒ}t&|| |ƒ}|j'|dƒ}|rñ|rñ|| krñ|rñt(|| ƒqñqñWt|ƒt)ks–| |    dkrNt*|||ƒ|dkr¶PqÉ|d8}g}qNqNWtjd
tjƒtjd tjƒtjd |j+ƒƒtjd |j+ƒƒtjdƒtjtjtƒdS(NsÏÉÃËÁªÈüÒѾ­´¦Àí¹ýÊ×ÂÖ·Ö×飡is1ÏÉÃËÁªÈü´¦Àí¹ýÊ×ÂÖ·Ö×éÂִμǼֵÒì³££¡curRound=%ss0============= ¿ªÊ¼ÏÉÃËÁªÈü·Ö×éÊ×ÂÖ =============tFamilyMatchSetis×îµÍ²ÎÈüÏÉÃ˵ȼ¶£º %ss2ÏÉÃËÁªÈüÊ×ÂÖ·Ö×éʱÎÞ·¨ÕÒµ½¸ÃÏÉÃË: i=%s,familyID=%ssBÏÉÃ˵ȼ¶²»×㣬ÎÞ·¨²ÎÓëÁªÈü£¡familyID=%s,LV=%s,joinFamilyLVLimit=%ss*    PyGameData.g_familyWarFamilyIDList: %ss%    PyGameData.g_familyWarMemDict: %ss    Í¨ÓüǼ¶ÔÕ½¼Ò×åÊý: %ss    Í¨ÓüǼ²ÎÓëÍæ¼ÒÊý: %ss"    ÏÉÃËÁªÈüÊ×ÂÖ±ÈÈü·Ö×éÈ·ÈÏÍê±Ï£¡(,RXR§RZR”RDtDebugLogRRMRYR[R¬t DoFamilySorttcopytdeepcopyRARBRCRER\RGR]RHRFtFamilyWar_MaxGroupIDRttGetSortFamilyIDListR{t IpyGameDataPYt
GetFuncCfgt    enumerateRutGetLVRLRItGetCounttGetAtRgt    GetPlayertAddFamilyWarMemtgetRWtFamilyWar_GroupFamilyCountt__DoFristRoundRandBattleRJ(R½tlastFamilyWarMemDictRŠR‹RNRtgroupFamilyListt    familyMgrtsortFamilyIDListt familyCounttjoinFamilyLVLimitROR0tfamilytindext    curMembert memPlayerIDt    memPlayertisAddOKtlastJoinFamilyID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR‘‡sn    
            #   " 
  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( RARCRDRÁRBRERFRGRHtAddRecRRRl(RaR0RNR((sV.\\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(NiiiRs(trandomtshuffleR”R{R„tGetIDRvtAddFamilyWarBatRec( R‹RRÓR    t vaFamilyListtfamilyAtfamilyBRRRR"((sV.\\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#RLR-RDRM(
R‹R    RRRRR"R³RtsetDissFamilyIDList((sV.\\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"    ÏÉÃËÁªÈü´ÎÂÖ±ÈÈü·Ö×éÈ·ÈÏÍê±Ï£¡(RXR§RZRšRDRÁR”RRMRERFRGR]RIRJRKRRRÏRLRÅR{t"__GetWinLoseFamilyInfoForNextRoundRãRY(R½tsecondRoundBatDictRŠR‹RORRtfristRoundBatRecR    trecData1trecData2t winFamilyID1twinFamilyName1t loseFamilyID1tloseFamilyName1tdisFamilyIDList1t winFamilyID2twinFamilyName2t loseFamilyID2tloseFamilyName2tdisFamilyIDList2R³((sV.\\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__SetBatRecWinFamilyIDBySystemR+R'(
RRRRR"Rt winFamilyNamet loseFamilyIDtloseFamilyNameR³((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRèIs"           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'RDRMR¬R­RÁRRtRuRÇtGetFuncEvalCfgRR{RLtmaxtintRIRËRÌRgRtPlayerCompensationt SendMailByKey(RRRtisFightRR³R´RµRÔRØtnotBattleRewardItemListtnotBattleRewardRateListRt    rewardPert playerIDListt addItemListtitemIDt    itemCounttisBindRÙRÚR    tjoinAwardItemList((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR÷gst                          :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”RDRERFRGR]RJRIRKRRRR RRMR÷R+t__DoLogicFamilyWarAllOverRš(R    R‹twarCountRORRRR((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR–¾s*         
cCs tƒdS(N(t"DoLogicFamilyWar_NextWeekGroupRank(((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytDoOnDayÜscCstjdƒtƒdS(sl ÏÂÖÜ·Ö×鶨¼¶
        ×îµÍ¼¶±ð×飺 ²»ÉèÖÃÁªÈü¼¶±ð, ÏÂÖÜ×îµÍ¼¶±ð×éÃûµ¥ÓÉÆäËûÎÞÁªÈü¼¶±ðÏÉÃË×ÜÕ½Á¦ÅÅÐеõ½
    s$======= ÏÉÃËÁªÈüÏÂÖÜ·Ö×鶨¼¶ =======N(RDRMR(((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRàs cCs¼tjdƒtjƒ}tjƒ}xt|dƒD]\}}|j|ƒ}|s\q5ntj|ƒ}|suPn||kr5tj||ƒtjd|j    ƒ||fƒq5q5WdS(s²¸üÐÂÏÉÃËÁªÈüÅÅÃû
    ×¢Ò⣺¸ÃÂß¼­ÔÚÏÉÃËÁªÈüÖÜÆÚÖв»¿ÉÖ´ÐУ¬½öÔÚÏÂÖÜ·Ö×鶨¼¶×´Ì¬Ï¿ɸüУ¬ÓɳÌÐò¿ØÖÆ£¬Ôڻ½áÊøºó½áËãµ÷ÓÃ
    ÏÉÃËÁªÈüÐÂÒ»ÖÜÆÚ¿ªÊ¼Ê±¡¢ÏÉÃ˽âɢʱ »á´¥·¢¸ÃÂß¼­
    s=== ¸üÐÂÏÉÃËÁªÈüÅÅÃû ===is;    ¸üÐÂÏÉÃËÁªÈüÏÉÃËÅÅÃû: familyID=%s,curRank=%s,updRank=%sN(
RDRMRtR¬RÆRÉRutGetFamilyWarRanktSetFamilyWarRankRâ(RÔRÕtrankR0RØtcurRank((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyR…ës    'c CsÞtjtjƒ}|r)tjdƒdStjdƒidt6dt6}g}i}tjƒ}|jt    j
ƒ}|j ƒsÚtjdƒtjtj ƒ}tj tj dƒtj tjdƒtjd|ƒdSxTt|j ƒƒD]@}|j|ƒ}t|ƒ}    t|ƒ}
t|ƒ} t|ƒ} t|ƒ} t|ƒ}x*|D]"}||krQ|j|ƒqQqQW| s•t|| | tƒ} n| | kr³|j|
dƒnd}| | kr×|j|
dƒnd}|j|    iƒ}|j| dƒ||| <|j| dƒ||| <|||    <qíWg}t}    xÇttƒD]¹}t|}    |    |krlqJn||    }g}x6|jƒD](\}}|r‰|j||gƒq‰q‰W|jd    tƒg|D]}|d^qÌ}tjd
|    |fƒ||7}qJWtjd |ƒ|dgtt|ƒ7}x€tdtƒD]o}|t }|d}||s~tjd |ƒqCntjd ||fƒ||||||<||<qCWtjd|ƒd|krú||j!dƒ }tjd|ƒn|tt  }tjd|ƒtjd|ƒg}tj"ƒ}t#j$ƒ}x­|D]¥}|j%|ƒ}|spqOnt#j&|ƒ}|s‰Pn|j|ƒ||kr¨dn|j!|ƒd}||krÚt#j'||ƒntjd|||fƒqOWx‘t(|dƒD]€\}}||kr&qn|j%|ƒ}|sXtjd||fƒqnd}t#j'||ƒtjd|||fƒqWt#j)ƒ|r­t*|dƒntj tj dƒtj tjdƒt+ƒdS(sº ÏÉÃËÈüÈ«²¿±ÈÈü½áÊøºóÂß¼­
        ·Ç×î¸ß¼¶±ð×é: µÚÒ»Ãû½ú¼¶
        ·Ç×îµÍ¼¶±ð×é: ×îºóÃû½µ¼¶
        ×îµÍ¼¶±ð×飺 ²»ÉèÖÃÁªÈü¼¶±ð, ÏÂÖÜ×îµÍ¼¶±ð×éÃûµ¥ÓÉÆäËûÎÞÁªÈü¼¶±ðÏÉÃË×ÜÕ½Á¦ÅÅÐеõ½
    s&ÒѾ­´¦Àí¹ýÏÉÃËÁªÈü×ܽáË㣬²»Öظ´´¦Àí£¡Ns2====== ÏÉÃËÁªÈü×ܽáË㣬´¦ÀíÏÉÃ˽ú¼¶¡¢½µ¼¶£¡ ======i
is"ûÓÐÏÉÃËÁªÈü±ÈÈü¼Ç¼£¬²»ÐèÒª½áË㣡is(ÖØÖÃÂÖ´ÎÐÅÏ¢£¬ÉèÖÃÒѽáË㣡curRoundNum=%streverses1×éÏÉÃË»ý·ÖÅÅÃû: 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(,RXR§R[RDRMR”RšRERFRGR]RJRZRYRIRKRRR RRR'RLR÷R+RÏRÅtitemstsortRltFamilyWar_MaxFamilyCountR{RÐRÙRtR¬RÆRuRRRÉRÂtUpdFamilyWarChampionR…( t    allOverDot Def_WinScoretallDissFamilyIDListtallGroupFamilyScoreDictRŠR‹t curRoundNumRORRR    RRRR,R0t familyScoreAt familyScoreBtgroupFamilyScoreDicttfamilyWarIDRankListtgroupFamilySortListtscoret groupFamilytgroupFamilyIDSortListRÙtpreIndextupdFamilyIDListRÔRÕRØtlastRanktupdRank((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRsÈ             $$
 
 
 
 
!     %  
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(RDRtRuR‡R/R>RMR5R7R†R+RlR1R:RÇRÈR=RvR4t GetLeaderIDR@R RGR¡R‚tSendUniversalGameRecSingleR„tPlayerFamilyRedPackettCreatNewFamilyRedPacketRit WorldNotify(
RRØR.tlastChampionFamilyIDtchampionFamilyNameR6twinRewardStartCounttwinRewardSpaceCountR<t    redPackID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyRsH        
 
,    cCsAtjƒ}|jtjƒ}|jƒr7|jdƒS|jƒS(Ni(RDRERFRGR^RJRKRß(RŠtchampionRecList((sV.\\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/R2R5R8R;RÇRÿRÈtrangeR{RÃRÄRDRMR=R:RR(R.tisAllR0R3R6tlastAllotWinCountR<twinRewardItemListR5R6tupdAllotWinCounttstartRewardWinCounttsysAllotWinCountListtisAllotEndWinCountt sysAllotCounttitemInfo((sV.\\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(RDRTtGetPlayerByIndext MemPlayerIDRgt    GetFamilyR„t
FindMembert GetFamilyLVtIPY_GameServert    fmlLeaderRMRâR‡R/R;R=R5R8RÇRÈR:RÿRRR‚R/RiR2Rv(RÙt
clientDatattickRmRÛRaRpRÚR0t curTagMemberR.RR<R6R<R5R6tnextRewardWinCountR=t notifyItemID((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytOnFamilyWarWinRewardAllotsV                          (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(RXR§RZRDRMR”RšRERFRGR]RIRJRKRR RRRARStremoveR‚RƒR„RiR2R(
tmsgListRRRR²R    RŠR‹ROR((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pytMapServer_FamilyWarOver6s:     $ 
(ZRDRÇRJRR‚R0RXRwR}RiR¬RGRAR¥RàRÃR%R”RšRÅRÐRRR’R•R—R™R›RœRRRR
R RRRRRRRR R#R'R-R/R1R2R4R5R7R8R:R;R=R>R@RRRlRcRnRkRqRoRWRŒRŽRRŸR«R©R“R‘R„RÎRÑRãR˜RèR÷R–RRR…RRR‡R†RQRU(((sV.\\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldFamilyWar.pyt<module>s®                 
                                                                 
                                                                                            &         1        I          :     W                     †    1        ;    6