cehua_hzl
2019-01-18 21d2fbe634a1f59df779ba4e6232014d50473115
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
åRÙ[c@s›ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZdZedƒ\ZZZZ Z!edƒ\Z"Z#Z$dZ%dZ&dZ'd    Z(d
Z)d Z*d Z+d Z,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6ddcd„ƒYZ7d„Z8d„Z9d„Z:dddd„ƒYZ;d„Z<d„Z=dd „Z>d!„Z?d"„Z@d#„ZAd$„ZBd%„ZCd&„ZDd'„ZEd(„ZFd)„ZGd*„ZHd+„ZId,„ZJd-„ZKd.„ZLd/„ZMd0„ZNd1„ZOd2„ZPd3„ZQd4„ZRd5„ZSd6„ZTd7„ZUd8„ZVd9„ZWd:„ZXd;„ZYd<„ZZd=„Z[d>„Z\d?„Z]d@„Z^dA„Z_dB„Z`dC„ZadD„ZbdidE„ZddF„ZedG„ZfdH„ZgdI„ZhdJ„ZidK„ZjdL„ZkdM„ZldN„ZmdO„ZndP„ZodQ„ZpdR„ZqdS„ZrdT„ZsdU„ZtdV„ZudW„ZvdX„ZwdY„ZxdZ„Zyd[„Zzd\„Z{d]„Z|d^„Z}de~d_„Zd`„Z€da„Zdb„Z‚dS(eiÿÿÿÿNiiiitFamilyWarGlobaltFamilyWarFamilytFamilyWarPlayertHelpInfotHelpBufft HelpCrystaltHelpCrystalAtkt BillboardBufft IsFinalMatchtRoundNumtGroupIDtWinnerFamilyIDs FlagFamily_%ssFamResPointTick_%st HelpInfoTicktRBuffCollectTicktRBuffRefreshTicks RBuffObjID_%scBs,eZd„Zd„Zd„Zd„ZRS(cCsU||_d|_d|_d|_d|_d|_d|_d|_i|_dS(Nig(    tfamilyIDtfactiontranktwinCounttresPointtmemCounttrandBuffAttrLVtrandBuffResPointtrandBuffResPointPerDict(tselfR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt__init__`s                                    cCscd}xV|jjƒD]E\}}|\}}|||krQ|jj|ƒq||7}qW|S(Ni(Rtitemstpop(RttickttotalPert addBuffTicktbuffInfotlastTimetaddPer((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetBuffResPointPerms cCs|jS(N(R(R((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt GetResPointwscCs}d}t|j|ƒ}|j|7_t|j|ƒ}||krv||}tj|jd|gd|gƒn|jS(NiôtFamilyMatchOwnResourcestFamilyMatchEnimeyResources(tintRt PlayerControltFBFactionNotifyR(Rt addResPointt    basePointt befDivValuet aftDivValuet notifyPoint((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt AddResPointxs 
(t__name__t
__module__RR"R#R.(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR^s         
    cCsLtjtƒ}||kr#||St|ƒ}t|ƒ|_|||<|S(N(tFBCommont GetGameFBDatatGameFBData_FamilyWarFamilyRtGetFamilyFactionR(RtfamilyWarFamilyDictt    warFamily((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytAddFamilyWarFamily…s  
cCs-tjtƒ}||kr#||St|ƒS(N(R1R2R3R7(RR5((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFamilyWarFamilys cCs8tjƒjƒ}|jƒ|kr.|jƒS|jƒS(N(t    GameWorldt    GetGameFBt GetFamilyVSt GetFamilyIDt GetFamilyNametGetVSFamilyName(Rt familyVsMgr((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetWarFamilyName’s
cBseZd„ZRS(cCsy||_||_||_||_d|_d|_d|_d|_d|_||_    d|_
d|_ d|_ dS(Ni( RRtplayerIDtnametscoretkillPlayerCounttcollResourceCounttcollRandBuffCountt    fightTimetjoinTicktcalcFightTimeTicktcollectTypeIndextcollectLostHPTick(RRRRARBR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR›s                                                    (R/R0R(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR™scCsItjtƒ}||kr#||St|||||ƒ}|||<|S(N(R1R2tGameFBData_FamilyWarPlayerR(RRRARBRtfamilyWarPlayerDictt    warPlayer((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytAddFamilyWarPlayer¬s  
cCsœtjtƒ}||kr#||Stjƒjƒ}tjƒj|ƒ}|sVdn    |jƒ}|sndn    |j    ƒ}t
|ƒ}t |||||ƒS(Nit( R1R2RLR9t GetGameWorldtGetTicktGetMapCopyPlayerManagertFindPlayerByIDR<t GetPlayerNameR4RO(RARMRt    curPlayerRRBR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFamilyWarPlayer³s  icCs,tjƒ}|jƒ|jtƒ|_||_|s=dn||jƒd|_g|_    x¶|D]®}tj
ƒ}|jƒ|j |_ |j |_t|jƒ|_|j|_|j|_|j|_|j|_|sædn
|jd|_|j|_|j    j|ƒqdWt|j    ƒ|_|S(Niiè(tChPyNetSendPackttagMCFamilyWarBillboardtCleartGetGameFBDictByKeytGameFBDict_GroupIDR
t
WinFactiont GetFBStepTicktTotalFightTimetFBBillboardPlayerttagMCFamilyWarPlayerRAtPlayerIDRBt
PlayerNametlent PlayerNameLenRtFactionREt CrystalCountRFt RandBuffCountRDtKillPlayerCountRGt    FightTimeRCtPointtappendtBillboardCount(tgameFBt sortWarPlayerRt
winFactiont warBillboardRNtwPlayer((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFamilyWarBillboardPack¿s* 
    #      
       cCs/tjtƒ}|jƒ}|jdtƒ|S(Ntcmp(R1R2RLtvaluestsortt CmpWarPlayer(RMtsortWarPlayerList((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytSortFamilyWarPlayerÖs cCsl|j}|j}t||ƒ}|dkr1|Stjƒjtƒ}|j|k}|j|k}t||ƒ}|dkrƒ|S|j}|j}    t|    |ƒ}|dkr´|S|j}
|j} t| |
ƒ}|dkrå|S|j    } |j    } t| | ƒ}|dkr|S|j
}|j
}t||ƒ}|dkrG|S|j }|j }t||ƒ}|S(Ni( RCRtR9R:R[tGameFBDict_WinnerFamilyIDRRDRERFRGRH(t
warPlayerAt
warPlayerBtscoreAtscoreBtcmpRettwinnerFamilyIDtisWinAtisWinBtkillPlayerCountAtkillPlayerCountBtcollResourceCountAtcollResourceCountBtcollRandBuffCountAtcollRandBuffCountBt
fightTimeAt
fightTimeBt    joinTickAt    joinTickB((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRwÜsF                                                      cCs tjdƒS(NtFamilyMatchPlayTime(t IpyGameDataPYtGetFuncEvalCfg(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFWarStepTimescCstjddƒS(NtFamilyMatchSpawnPointi(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFactionAreascCstjddƒS(NR‘i(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetBarrierPointListscCstjddƒS(NtFamilyMatchResourcePointi(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceRebornPosListscCstjddƒS(NR”i(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceNPCIDListscCstjddƒS(NR”i(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceRebornRank scCstjddƒS(NR”i(RŽt
GetFuncCfg(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceWinPoint!scCstjddƒS(NtFamilyMatchResourcePoint1i(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourcePointMultiple#scCstjddƒS(NRši(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourcePointPerSecond$scCstjddƒS(NtFamilyMatchCollecti(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetCollectTimeList'scCstjddƒS(NRi(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetCollectLostHPPerList(scCstjddƒS(NtFamilyMatchRandomBuffi(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffPosList+scCstjddƒS(NR i(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffCount,scCstjddƒS(NR i(RŽR(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffNPCIDList-scCstjddƒS(NR i(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffRefreshTime.scCstjddƒS(NtFamilyMatchPersonalScorei(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScorePerMinute1scCstjddƒS(NR¥i(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreKillPlayer2scCstjddƒS(NR¥i(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreCollectRescource3scCstjddƒS(NR¥i(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreCollectRandBuff4scCstjddƒS(NR¥i(RŽR˜(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreWinerAddPer5scCsl|jtjƒ}|rhtj|tjdƒtjƒjtj    ƒ}|j
ƒ|krht |ƒqhndS(Ni( tNomalDictGetPropertytChConfigtDef_PDict_FamilyWarDailyRewardR'tNomalDictSetPropertyR9RQtGetGameWorldDictByKeyt ShareDefinet$Def_Notify_WorldKey_ChampionFamilyIDR<t#Sync_ChampionFamilyDailyRewardState(RVtdailyRewardStatetchampionFamilyID((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnFBPlayerOnDay8scCsV|jtjƒ}|rRtjƒjtjƒ}|jƒ|krRt    |ƒqRndS(N(
R«R¬R­R9RQR¯R°R±R<R²(RVR³R´((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnFBPlayerOnLoginAs cCsatjƒ}xNtd|jƒƒD]7}|j|ƒ}|jƒdkrOq"nt|ƒq"WdS(Ni(R9tGetPlayerManagertrangetGetPlayerCounttGetPlayerByIndextGetIDtDoCheckChampionFamilyTitle(t playerManagertindexRV((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnChampionFamilyIDChangeIs cCsÍtjddƒ}|sdS|\}}g}g}|jƒ}tjƒjtjƒ}| sk||krz||g}n<|jƒt    j
kr¤|g}|g}n|g}|g}t j |||ƒdS(NtFamilyMatchDayRewardi( RŽRR<R9RQR¯R°R±tGetFamilyMemberLVt IPY_GameWorldt    fmlLeadertPlayerDienstgradtPlayerDelAddDienstgrad(RVt titleIDListt leaderTitleIDt memberTitleIDtdelDienstgradIDListtaddDienstgradIDListRR´((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR¼Rs"               c CsÝidt6dt6dt6dt6dt6}tjt|ƒtjt    iƒtjt
iƒtj t |ƒt jƒ}|jƒ}|jƒ}|jƒ}t|ƒ}t|ƒ}x%tjD]}|tj}    ||    kr»||    kr»|tj}
|tj} |tj} |tj\} }|tj\}}|jtt|
ƒƒ|jt| ƒ|jt | ƒtj!|_"| |_#||_$tj%|_"||_#||_$t j&d|
| | ||| |||f    ƒPq»q»WdS(NsnOpenFBWar: isFinalMatch=%s,roundNum=%s,groupID=%s,familyIDA(%s) VS familyIDB(%s),rank=[%s,%s],winCount=[%s,%s]('tNonetGlobal_HelpInfotGlobal_HelpBufftGlobal_HelpCrystaltGlobal_HelpCrystalAtktGlobal_BillboardBuffR1t SetGameFBDatatGameFBData_FamilyWarGlobalR3RLt    SetFBSteptFB_Step_PrepareR9R:R;R<t GetVSFamilyIDR7t
PyGameDatat VSFamilyInfoR°tVSFamilyInfo_FamilyIDListtVSFamilyInfo_IsFinalMatchtVSFamilyInfo_RoundNumtVSFamilyInfo_GroupIDtVSFamilyInfo_FamilyRankListtVSFamilyInfo_WinCountListt SetGameFBDicttGameFBDict_IsFinalMatchR&tGameFBDict_RoundNumR\tCampType_JusticeRRRt CampType_EviltLog(Rt
globalDictRnR?t    familyIDAt    familyIDBt
warFamilyAt
warFamilyBtvsFamilyt familyIDListt isFinalMatchtroundNumtgroupIDtrankAtrankBt    winCountAt    winCountB((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnOpenFBnsJ
                                #cCs4tjtdƒtjtdƒtjtdƒdS(N(R1RÑRÒRËR3RL(R((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt    OnCloseFB scCs*t|jƒƒs&tj|dƒtStS(NtNoFamilyWarLine(R4R<R't
NotifyCodetFalsetTrue(RVtmapIDtlineIDR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnEnterFBEvent¬scCs-t|jƒƒ}|sdStƒt|ƒS(N(R4R<R’tGetFactionIndex(RVRøtlineIdtipyEnterPosInfoRR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnGetFBEnterPos¸scCstd|dƒS(Nii(tmax(R((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRû¾scCsOxHtjD]=}|tj}||kr
||dkr@tjStjSq
WdS(Ni(RÖR×R°RØRáRâ(RRéRê((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR4Às   cCst|jƒƒS(N(tstrR<(RVRü((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetPlayerResetWorldPosFBMsgÎscCs©|jƒ}|s*tjd|ƒtjSt|ƒ}t|ƒ}|dkr[tjdfS|\}}|tj    krƒtjdfS|j
ƒt kr¢tjdfStj S(NsÎÞ·¨»ñµÃ´«ÈëµÄ¼Ò×åID = %sRôtFamilyWarLineClosetFamilyWarLineEnd( tGetMsgR9tErrLogRÂtcmeNullR&tGetFamilyWarGameFBRËt    cmeCustomtfbosOpent    GetFBSteptFB_Step_LeaveTimet    cmeAccept(taskRt familyIDMsgRtresultRnt    openState((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnChangeMapAskÕs        cCs…tjƒ}xrt|jƒƒD]^}|j|ƒ}|jƒ}|jƒ}|jƒ}|||gkr||j|ƒfSqWdS(N(    R9RQR¸tGetGameWorldCounttGetGameFBByFbIndexR;R<RÕtGetOpenStateByFbIndex(Rt    gameWorldR¾RnR?RåRæ((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRës    c    Cs,tjƒ}|jƒ}|jƒ}|jƒ}t|ƒ}| sU|ttgkrƒtjd|||f|ƒt    j
|ƒdS|j ƒ|kr¥|j |ƒnt j|ƒs×t j|ƒt j|tjƒn|jtƒ}|jtƒ}|jtƒ}    t||||jƒ|ƒ}
|tkrŽtƒtd|tjƒjƒ} |jtjdt| dƒt ƒt j!t"ƒd|ƒn_|tkrítƒt#d|tjƒjƒ} |jtj$dt| dƒt ƒ||
_%n|j&ƒ} | jƒ} | j'ƒ}t(| ƒ}t(|ƒ}|| kr;|n|}|| krS|n|}|j)d7_)tj*d|||    ||j)|f|ƒii|j+|j+gd6|d6d6}t,|||ƒt-|tj.||j)ƒ|r |j+r t-|tj/||j+ƒnt0j1|tjdtj2ƒdS(    Ns8DoEnterFB PlayerLeaveFB familyID=%s,faction=%s,fbStep=%sièiisdDoEnterFB ÏÉÃËÕ½³¡ÈËÊý¼Ó1, isFinalMatch=%s,roundNum=%s,groupID=%s,familyID=%s,memCount=%s,faction=%stWinCountRtfamilyWar_Enter(3R9R:R
t GetPlayerIDR<R4RÔtFB_Step_FightingRR't PlayerLeaveFBt
GetFactiont
SetFactionR1tGetHadDelTickettSetHadDelTickettAddEnterFBCountR¬tDef_FBMapID_FamilyWarR[RßRàR\RORURt Time_PrepareR^t Sync_TimeTickRÂt tttWaitStartRÿR÷tSyncDynamicBarrierStateR“t
Time_Fightt tttTowerTakeRIR;RÕR8RRãRt__NotifyWarHelp_Infot__AddFamilyWarBufftDef_SkillID_FamilyWar_JoinBufftDef_SkillID_FamilyWar_CWinBufft EventReportt WriteEvent_FBt CME_Log_Start(RVRRntfbStepRARRRëRìRíRNt notify_tickR?RåRæRçRèt curWarFamilyt tagWarFamilyt enterHelpDict((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt    DoEnterFBûsV        %" %"           'c&Cséi}d}tjtƒ}tjƒ}|jtƒ}|sL||dkrU|jt|ƒ|j    ƒ}|j
ƒ}    |j ƒ}
t |    ƒ} t |
ƒ} g} x\| | gD]N}| j i|jƒd6|jd6|jd6|j|ƒd6|jd6ƒq«W|t}| |kr*| |t<| |d<n|r=| |d<nt|tƒ|ƒ}ng}xtttƒƒƒD]†}|jt|ƒ}|s–qqntj|ƒ}|s±qqnt|jƒjƒdkƒ}|j i|d    6|jƒd
6|d 6ƒqqW|t}||kr(||t<||d <n|r;||d <n|j    ƒj
ƒ}    g}ggg}x™t ƒD]Ž}tj!|ƒ}|sŠqin|jt"|ƒ}|rÏ||    krµdnd }||j |ƒn|jƒjƒdkri|j |ƒqiqiWi|dt#j$6|d t#j%6}|t&}||krJ||t&<||d<n|r]||d<n|t'}||krŠ||t'<||d<n|r||d<nt(}|rò|j)ƒ}|t*} || krò||t*<t+}tj,d|ƒqòn|s|s|rå|sdn    |j-ƒ}!tj.ƒ}"xºt|"j/ƒƒD]£}#|"j0|#ƒ}$|$s\q;n|$j-ƒ}%|%stq;n|%|!kr©tj1|$d|ƒt2j3|$|ƒq;n|rÅtj1|$d|ƒn|r;t2j3|$|ƒq;q;WndS(sŠ ¸±±¾°ïÖúÐÅÏ¢
    ÊµÊ±Í¬²½
    {"familyWar_Buff":[{"PosIndex":λÖÃË÷Òý, "NPCID":buffNPCID, "Atk":1}, {"PosIndex":λÖÃË÷Òý, "NPCID":buffNPCID, "Atk":0}, ...]]}
    
    {"familyWar_Crystal":{"ÕóÓª1":[Ë®¾§NPCID, ...], "ÕóÓª2":[Ë®¾§NPCID, ...]}, "familyWar_CrystalAtk":[ÕýÔÚ±»¹¥»÷µÄË®¾§NPCIDÁбí]}
    
    Í¬²½¹æÔò£º xÃëÒ»´Î
    {"familyWar_HelpInfo":[{"ResPoint":1, MemCount":1, "BuffResPoint":buffÔö¼ÓµÄ×ÊÔ´µãÊý, "BuffResPointPer":buff×ÊÔ´µãÊý³É³¤Íò·ÖÂÊ, "BuffAttrLV":buffÊôÐԵȼ¶},
                            {"ResPoint":1, "MemCount":1, "BuffResPoint":buffÔö¼ÓµÄ×ÊÔ´µãÊý, "BuffResPointPer":buff×ÊÔ´µãÊý³É³¤Íò·ÖÂÊ, "BuffAttrLV":buffÊôÐԵȼ¶}]}
    i'tResPointtMemCountt BuffResPointtBuffResPointPert
BuffAttrLVtfamilyWar_HelpInfoitPosIndextNPCIDtAtktfamilyWar_BuffitfamilyWar_CrystaltfamilyWar_CrystalAtksisBillPackChange=%sN(4RËR1R2RÒR9R:R[tGameFBDict_HelpInfoTickRÞR;R<RÕR8RlR#RRR"RRÌRsRytxrangeRdR¡tGameFBDict_RandBuffObjIDt FindNPCByIDR&tGetPlayerHurtListt GetHurtCounttGetNPCIDRÍR–tFindNPCByNPCIDtGameFBDict_GetFlagFamilyIDR°RáRâRÎRÏRöt    GetBufferRÐR÷tDebugLogRRSR¹Rºt NotifyFBHelpt NetPackCommont SendFakePack(&Rt enterPlayerR2thelpDictt billboardPackRäRnt lastHelpTickR?RåRæRçRèt helpInfoListR6thelpInfoListHist helpBuffListtitobjIDtcurNPCtisInAtkthelpBuffListHist flagAtkListtfactionFlagListtnpcIDRt factionIndext helpCrystalt
crystalHist crystalAtkHistisBillPackChangetbillBufft lastBillBufft enterPlayerIDR½R¾tplayerRA((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR'6sº        
 
  ,
 
   "
 
 
 
 
 
   cCsÝtjƒjƒ}|tkrZtjƒjƒdkrVtj|ƒtj    t
|ƒndS|j ƒ}t |ƒ}|j }t|ƒ}td|jdƒ|_tjd||jf|ƒt|tj||jtƒdS(Niis1DoExitFB ÏÉÃËÕ½³¡ÈËÊý¼õ1, familyID=%s,memCount=%s(R9R:R
R RSR¹tGameWorldProcesstCloseFBR1RÓt FB_Step_OverRRWRR8RÿRRãR(R¬R)R÷(RVRR.RARNRR6((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytDoExitFB´s         cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    R9R:R
RÔt__DoLogic_FB_PrepareRt__DoLogic_FB_FightingR t__DoLogic_FB_Over(RR.((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt    OnProcessÇs      c
Csrtƒtd|tjƒjƒ}|dkr5dStƒ}tj|dƒtjt    |ƒt
ƒ}g}x„t |ƒD]v\}}||d \}}tj |||d|dƒ}    tj |||d|dƒ}
|j t|    |
ƒƒqzWtƒtd} tjƒ} xZt| jƒƒD]F} | j| ƒ}|jƒ}|sQq$n|jtjd| tƒt|ƒ}||_|jƒ}|s§tjd|ƒq$nt|ƒ}||\}}}|jƒ|jƒ}}tj ||||ƒ}||}||kr$t j!|||ƒ}|j"|jƒ|jƒƒtjd|||||||f|ƒq$q$WdS(Nièiiiis-»¹Î´ÉèÖÃÕóÓªµÄÍæ¼ÒÔݲ»´¦Àí£¡¿ÉÄÜÊÇDoEnterÖУ¡s_Íæ¼Ò²»ÔÚÓªµØ·¶Î§ÄÚ£¬Ç¿ÖÆÀ­»Ø£¡faction=%s,curPos=(%s,%s),centerPos=(%s,%s), dist=%s > maxDist=%s(#RR!R9R:R^R“R1R$RÓRR’t    enumeratetGetDistRlRÿR%RSRAR¹RºRR"RÂR&R÷RWRIRRãRûtGetPosXtGetPosYtGameMaptGetEmptyPlaceInAreatResetPos(Rt remaindTicktbarrierPointListtfactionAreaInfot maxDistListRUt    pointListt
centrePosXt
centrePosYtdist1tdist2RGR½R¾RVRARNRR]tradiustcurPosXtcurPosYtdisttmaxDisttposPoint((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRjØsL%                    
     'cCsqt|ƒt|ƒt|ƒr$dStƒtd|tjƒjƒ}|dkrct|ƒdSt    |ƒdS(Nièi(
R't__AddPlayerFightTimeByTimet__AddFamilyResPointByTimeRR%R9R:R^t__RefreshRandBufft__DoLogicFamilyWarOver(RRu((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRk
s
 
 % 
 
c Csãtjƒ}xÐt|jƒƒD]¼}|j|ƒ}|jƒ}|sLqnt|ƒ}|j}||_|svqn||}|jd}|j|7_|jd}    |    |}
|
s¿qnt    ƒ|
} |j
| 7_
qWdS(Ni`ê( R9RSRAR¹RºRRWRIRGR¦RC( RR½R¾RVRARNt lastCalcTicktaddTicktlastFightMinutetupdFightMinutetaddFightMinutetaddScore((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR„s*           
 
 cCsýtƒ}tƒ}tjƒ}tƒ}i}xÆ|D]¾}|jt|ƒ}|jt|ƒ}| s4| rtq4n||d}    |    sŽq4n|jt||ƒ||    }
||krØt    t
j |
||ƒƒ}
n|j |dƒ|
||<q4W|j ƒ} | jƒ} | jƒ} t| ƒ}t| ƒ}|j|ƒ}|j|ƒ}|j | dƒd|d}|j | dƒd|d}|j|ƒ}|j|ƒ}tƒ}||krÏ||krÏdStjd| || ||fƒt|ƒtS(Nièii'gˆÃ@shÓÐÏÉÃË×ÊÔ´µãµ½´ïʤÀûÌõ¼þ, ±ÈÈü½áÊø!familyIDA=%s,resPointA=%s VS familyIDB=%s,resPointB=%s,resWinPoint=%s(RœR›R9R:R–R[tGameFBDict_FamilyResPointTickRHRÞR&tmathtceiltgetR;R<RÕR8R"R.R™RãR‡R÷(RtresPointPerSecondtpointMultipleDictRntresourceNPCIDListtaddResPointDictR\t    pointTickRtaddTimetaddPointR?RåRæRçRètbuffResPointPerAtbuffResPointPerBt addResPointAt addResPointBt    resPointAt    resPointBt resWinPoint((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR…3sH              
               
cCsU|j|ƒ}tƒ}tjd|j|||fƒ||krQt|ƒndS(NsBÔö¼Ó×ÊÔ´µã: familyID=%s,resPointAdd=%s£¬updPoint=%s,resWinPoint=%s(R.R™R9RJRR‡(R6t resPointAddRRRŸ((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt__AddFamilyResPointis          cCsÜtjƒ}|jtƒ}|s5|jt|ƒdS||tƒdkrPdS|jtƒ}||dkrsdStƒ}t|ƒ}t    |ƒ}x7t
|ƒD])}|jt |ƒr¡|j |ƒq¡q¡W|sØdStj ƒjƒ}ttƒt|ƒƒ}    tƒ}
x­t
|    ƒD]Ÿ}tj|
ƒ} tj|ƒ} || \} }tj| | |ƒ}|smqn|j | ƒ|jƒ}|jt | |ƒtjd|| | |fƒqWtjdƒ|jt|ƒdS(Nièi¸ sAË¢ÐÂËæ»úbuff: lineID=%s,randPosIndex=%s,randNPCID=%s,buffObjID=%stFamilyMatchBuff(R9R:R[tGameFBDict_RandBuffRefreshTickRÞR¤tGameFBDict_RandBuffCollectTickR¡RdR¸RARBtremoveRQt    GetLineIDtminR¢R£trandomtchoicet    NPCCommont SummonMapNpcR»RãR'tFBNotify(RRntlastRefreshTicktlastCollectTickt randPosListt maxBuffCounttemptyBuffPosIndexListRURùt    randCountt randNPCIDListt    randNPCIDt randPosIndextrandPosXtrandPosYt randBuffNPCt    buffObjID((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR†tsF             ! c3 Csjtjƒ}|jƒ}|jƒ}|jƒ}||g}|jdtƒ|d}|jt|ƒ|j    t
ƒ}|j    t ƒ}|j    t ƒ}    tj ƒjƒ}
t|ƒ} | j} | jd} tjd|||    |||| | f|
ƒt||||gƒ}tjƒjdddd|t|ƒƒtƒ}tjtƒ}xy|jƒD]k\}}|j|kryqXn|j}t|d|dƒ|_tjd|j|||jf|
ƒqXWt j!d    dƒ}t j!d    d
ƒ}t j!d    d ƒ}|    dkr|d}n-|    t|ƒkr5|d }n||    d}i}x“|jƒD]…\}}g}xf|D]^\}}}}|r·|j"|t#dt||dƒƒ|gƒqo|j"|||gƒqoW|||<qVWg} g}!gg}"}#|    t$kròtj ƒj%t&j'ƒ}$|rIt j!d dƒ}%t j!d d
ƒ}&n$t j!ddƒ}%t j!dd
ƒ}&tj(|%|$ƒ}"|"s‹gn|"}"tjd|"|%|$f|
ƒtj(|&|$ƒ}#|#sÌgn|#}#tjd|#|&|$f|
ƒntjd||||"|f|
ƒg}'g}(ggg})}*}+t)ƒt*d},t+ƒ}-t,||-|| ƒ}.tj-ƒ}/xºt.|-dƒD]©\}}tj(||ƒ}0|"rñ|  rñ|j|krñ|"} |0| }1t/j0dd|j1| ddgƒnY|#rD|! rD|j|krD|#}!|0|!}1t/j0dd|j1|!ddgƒn|0}1|j2}tjd||1||jf|
ƒ|)j"|gƒ|*j"|1ƒ|+j"|gƒ|'j"|ƒ|rÕ|j|krÕ|(j"|ƒn|/j3|ƒ}2|2r€t4j5|2|.ƒ|2j6t7j8d|,t9ƒt:j;|2t&j<ƒq€q€Wt/j=d|)|*|+ƒt/j>d|'|ƒtj?t@|ƒdS(NRtiisy±ÈÈü½áÊø: isFinalMatch=%s,roundNum=%s,groupID=%s,familyIDA=%s VS familyIDB=%s,winnerFamilyID=%s,winFaction=%s,winCount=%st FamilyWarOveridgY@sI    »ñʤÏÉÃËÍæ¼Ò½áËã»ý·Ö¼Ó³É: familyID=%s,playerID=%s,score=%s,upScore=%stFamilyMatchRankRewardiiiÿÿÿÿtFamilyMatchSRankOneRewardtFamilyMatchRankOneRewardsN×î¸ß¼¶±ðÁªÈüʤÕßµÚÒ»Ãû¶îÍâ½±Àø: firstAwardEx=%s,firstAwardExDict=%s,worldLv=%ssP×î¸ß¼¶±ðÁªÈü°ÜÕßµÚÒ»Ãû¶îÍâ½±Àø: firstAwardEx2=%s,firstAwardExDict2=%s,worldLv=%ssdÃû´Î½±ÀøÅäÖÃ: rankAwardDict=%s,awardPer=%s,rankAwardDictCopy=%s,firstAwardEx=%s,joinAwardItemList=%siètFamilyMatchRankNoOnetFamilyMatchRankNoOneLoses7    ½±Àø:rank=%s,awardItemList=%s,playerID=%s,score=%s,tFamilyMatchRankMailtFamilyMatchJoinMail(AR9R:R;R<RÕRvtCmpFamilyWinnerRÞRzR[RßRàR\RQR¦R8RRRãRR·tGameServer_QueryPlayerResultRdRªR1R2RLRRRCR&RJRŽRRlRÿtFamilyWar_MaxGroupIDR¯R°t"Def_Notify_WorldKey_WorldAverageLvtGetOrderValueByDictRt
Time_LeaveRyRsRSRnR't WorldNotifyRBRARTRLRMR"RÂt tttLeaveMapR÷t PlayerFamilytAddFamilyActivitytFamilyActive_Wart SendMailBatcht SendMailByKeyRÓR (3RRnR?RåRætvsFamilyIDListR€RëRìRíRùtwinnerWarFamilyRpRtmsgInfotwinnerScoreAddPerRMRARNRCt rankAwardDictt awardPerListtjoinAwardItemListtawardPertrankAwardDictCopyRtitemListt copyItemListtitemIDt    itemCounttisBindtisPertwinnerFirstAwardExtloserFirstAwardExt firstAwardExt firstAwardEx2tworldLvtfirstAwardExDicttfirstAwardExDict2tjoinPlayerIDListtchampionPlayerIDListtbatchPlayerIDListtbatchAddItemListtbatchParamListt    leaveTimeRxRPt copyPlayerMgrt rankItemListt awardItemListRe((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR‡¤sÆ     
          #(            !   0                   
'
'    #  cCs[tjƒjƒ}t|ƒjƒ}t|ƒjƒ}t||ƒ}tjd|||||f|ƒ|dkrx|Stjƒ}d}d}tƒ}    x_|    D]W}
|j    t
|
ƒ} | sÅq n| |krÞ|d7}n| |kr |d7}q q Wt||ƒ}tjd|||f|ƒ|dkr7|Sd} d} tj ƒ}xt |j ƒƒD]k}|j|ƒ}|sƒqbn|jƒ} | s›qbn| |kr´| d7} n| |krb| d7} qbqbWt| | ƒ}tjd| | |f|ƒ|dkr |St|ƒj}t|ƒj}t||ƒ}tjd|||f|ƒ|S(NsK    ×ÊÔ´µãÊý: familyIDA=%s,familyIDB=%s,resPointB=%s,resPointA=%s,cmpRet=%siis;    Õ¼ÁìË®¾§Êý: getFlagCountB=%s,getFlagCountA=%s,cmpRet=%ssI    Õ½³¡ÖÐÏÉÃËÈËÊý: familyPlayerCountB=%s,familyPlayerCountA=%s,cmpRet=%ss;    ÏÉÃËÁбíÖÐÅÅÃû: familyRankA=%s,familyRankB=%s,cmpRet=%s(R9RQR¦R8R#RtRãR:R–R[RHRSRAR¹RºR<R(RåRæRùRRžRRnt getFlagCountAt getFlagCountBR”R\RtfamilyPlayerCountAtfamilyPlayerCountBRëR¾Ret familyRankAt familyRankB((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRÂ(s^                     cCsVtƒtd|tjƒjƒ}|dkr5dStj|ƒtjt    |ƒdS(Nièi(
RRÇR9R:R^RfRgR1RÓRh(RRu((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRlbs %  cCstS(N(R÷(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnPlayerRebornlscCstjƒ}|jƒ}t|ƒ}tƒ|}tƒ}tƒ}|jƒ}    t|ƒt|ƒkrkdSxÓ|D]Ë}
|
d} | dksr| t|ƒkr¦qrn|| } |j    t
| ƒ} |    | krÕqrnt j || ƒ\}}}t j|||ƒ}|j|jƒ|jƒƒtjd||
| fƒdSWtƒ|\}}}t j|||ƒ}|j|jƒ|jƒƒtjd|ƒdS(Niis-Íæ¼ÒÓÅÏȸ´»îµã: faction=%s,posNum=%s,npcID=%ssÍæ¼ÒÓªµØ¸´»î: faction=%s(R9R:RRûR—R–R•R<RdR[RHR¨R©RrRsRtRpRqRJR’(RVt rebornPlaceRRnRR]t posRankListt resNPCIDListtresRebornPosListtplayerFamilyIDtposRankR¾R\t flagFamilyIDR¶R·trandDistRƒRzR{R~((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnResetFBRebornPlacePosps6              
 
 cCsf|jƒ}tƒ}t|ƒ}|jd7_|j|7_tjd||j|jf|ƒtS(Nis1»÷É±Íæ¼Ò: addScore=%s,score=%s,killPlayerCount=%s(RR§RWRDRCR9RJR÷(RVtdefenderRRAtkillPlayerScoreRN((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytDoFBOnKill_Player“s          cCst||ƒ S(N(t__CanAttackPlayer(RVt curTagPlayer((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytCheckPlayersRelation_IsFriend scCs t||ƒS(N(R(RVR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytDoCanAttackTeamer¤scCs2tjƒjƒtkrtS|jƒ|jƒkS(N(R9R:R
RRöR<(RVR((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR§scCstS(N(Rö(t    atkPlayert    defPlayer((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytDoFBAttackHasPunish­scCs tjƒjƒtkrtStS(N(R9R:R
RRöR÷(tattackerRþ((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytCheckCanAttackTagObjInFB±scCsÃ|jƒ}|jƒ}tjd||f|jƒƒ|sBtStjƒ}|jƒ}|tkrzt    j
|dƒtS|t ƒkr¿|j t |ƒ}||kr¿t    j
|dƒtSntS(Ns!OnCanCollect npcID=%s,familyID=%stNotFightStepCanNotCollecttGeRen_liubo_976459(RFR<R9RJRRöR:R
RR'RõR–R[RHR÷(RVRWRR\RRnR.tgetFlagFamilyID((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt OnCanCollect¼s        c    Cs›|jƒ}|jƒ}tƒ}|tƒkr6dnd}tjƒjƒ}t|ƒ}||_||_    ||d}tj
d||||fƒ|S(Niiiès:CollectPrepare npcID=%s,cfgIndex=%s,tick=%s,prepareTime=%s( RFRRžR£R9RQRRRWRJRKRJ(    RVRWR\RAtcollectTimeListtcfgIndexRRNt prepareTime((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFBPrepareTimeÚs               c
Csœ|jƒ}t|ƒ}||jd}|s3dS||_tƒ}||j}d\}}ttj|ƒ|dƒ|}    t    j
||||    |ƒdS(NièigY@(iN( RRWRKRŸRJRËR&tGameObjtGetMaxHPt SkillCommont SkillLostHP(
RVRRARNtlostTimet lostHPPerListt    lostHPPert skillTypeIDt    buffOwnert    lostValue((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt OnCollectingês            !cCsœ|jƒ}|sdS|jƒtjkr/dStjƒj|jƒƒ}tj    ||ƒ|j
ƒ}|t ƒkrˆt |||ƒnt |||ƒdS(N(t GetActionObjtGetGameObjTypeRÂtgotNPCR9t GetNPCManagert GetNPCByIndextGetIndextAICommontClearPlayerPreparingRFR–t__OnCollectOK_Resourcet__OnCollectOK_Buff(RVR\RttagObjRW((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt OnCollectOKs  c Cs=|jƒ}|jƒ}|jƒ}|jƒ}tjd|||f|ƒtjƒ}|jt|ƒ}|}    ||    kr‚dS|j    t||    ƒ|j    t
||ƒt ƒ}
||
krÌ|
|} n
|
d} t |ƒ} | j d7_ | j| 7_tjd| | j| j f|ƒtj|jƒdƒdS(Ns&²É¼¯Ë®¾§ objID=%s,npcID=%s,familyID=%siis;    Íæ¼ÒÕ¼ÁìË®¾§: addScore=%s,score=%s,collResourceCount=%stFamilyMatchOccupied(R»RFRR<R9RãR:R[RHRÞRŽR¨RWRERCRJR'tFBFactionNotifyOtherR( RVRWRRVR\RARRntlastFlagFamilyIDtnextFlagFamilyIDtcollRescourceScoreDicttcollRescourceScoreRN((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR%s.            
     cCsà|jƒ}|jƒ}|jƒ}|jƒ}tjƒ}|jt|ƒxNtt    t
ƒƒƒD]7}||j t |ƒkrb|jt |dƒPqbqbWt ƒ}    t|ƒ}
|
jd7_|
j|    7_tjd|    |
j|
jf|ƒt|ƒ} |jƒjdƒ} | r¾| jƒ} tjd|||| f|jƒƒ| tjkr•| jdƒjdƒ}| j|7_t| ||ƒn| tjkrÒ| jƒ| jdƒjdƒg| j|<nÄ| tj kr    | j!d7_!t"|| || j!ƒn| tj#kr|j$ƒ}|jƒ}|j%ƒ}||krN|n|}t&| j'||| jdƒjdƒƒntj(d|| fƒt)j*|j+ƒd| gd| gƒntj(d|ƒt,j-|ƒdS(    Niis;    Íæ¼ÒÕ¼ÁìBuff: addScore=%s,score=%s,collRandBuffCount=%ss9²É¼¯buff objID=%s,npcID=%s,familyID=%s,buffSkillTypeID=%ss1²»Ö§³Ö¸ÃËæ»úbuffЧ¹û£¡npcID=%s,buffSkillTypeID=%stFamilyMatchBuffOccupiedtFamilyMatchBuffOccupiedEnimys Ëæ»úbuffûÅäÖòɼ¯Ð§¹û£¡npcID=%s(.R»RFRR<R9R:RÞR¤RARdR¡R[RBR©RWRFRCRJR8tGetSkillManagertGetSkillByIndextGetSkillTypeIDRãR¬t!Def_SkillID_FamilyWar_ResPointAddt    GetEffecttGetEffectValueRR¡t$Def_SkillID_FamilyWar_ResPointAddPert GetLastTimeRt"Def_SkillID_FamilyWar_RandBuffAttrRR(t#Def_SkillID_FamilyWar_OwnerlessBuffR;RÕt__RandBuffOwnerlessRRR'R(RRªt    SetDeadEx(RVRWRRVR\RARRnRUt collBuffScoreRNR6t    buffSkilltbuffSkillTypeIDR R?RåRæt tagFamilyID((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR&7sV                    .   + c Cstjƒj|ƒ}|sdStjd|jƒ||||fƒ|jƒ}||krw|}tjd|ƒntjƒ}x‹t|jƒƒD]w}|j    |ƒ}    |    j
ƒ}
|
sÃq–n|    j ƒ|krÛq–n|r÷t j |    ||ƒntj|    |||ƒq–WdS(NsKÏÉÃ˳ÉÔ±¼ÓBuff(%s): familyID=%s,buffSkillTypeID=%s,skillLV=%s,isDelFirst=%ss/    ³¬¹ý×î´ó¼¼Äܵȼ¶£¬È¡×î´ó¼¼Äܵȼ¶!skillLV=%s(R9t GetGameDatatGetSkillBySkillIDRJt GetSkillNamet GetSkillMaxLVRSRAR¹RºRR<t    BuffSkilltDelBuffBySkillIDRtAddBuffBySkillType( RR?RtskillLVt
isDelFirstR>t
maxSkillLVR½R¾RVRA((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR(ps*        c
Cs(g}tjƒ}xgtƒD]\}tj|ƒ}|s=qn|jt|ƒ}|s\qn||kr|j|ƒqqWtjd|||fƒtj    |ƒtjd||fƒ|| }    x;|    D]3}|j
t|dƒt j |dgdgƒqËW|    s$t j |dgdgƒndS(Ns?²É¼¯ÎÞÖ÷buff: curFamilyID=%s,tagFamilyID=%s,randResNPCIDList=%ss,    ´òÂÒºó: randResNPCIDList=%s,randCount=%sitFamilyWarIneffctive1tFamilyWarIneffctive2tFamilyWarIneffctive3tFamilyWarIneffctive4( R9R:R–RGR[RHRlRJR¨tshuffleRÞR'R((
Rt curFamilyIDR@R²trandResNPCIDListRnR\RWRtownerLessNPCIDList((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR;‹s,       
 c Csn|jƒ}|jƒ}|s2tjd|ƒdStjƒjtjƒ}||krttjd||f|ƒdS|jt    j
ƒ}|r t j |dƒdSt jdƒ}|s¹dSt|ƒ}tj|tj|ƒ}||krýt j |dƒdSt j|t    j
dƒt|ƒx6|D].\}}    }
tj|||    |
tjgƒq$Wtjd||ƒdS(Ns'¹Ú¾üÏÉÃËÿÈÕٺ»½±Àø£¬ÎÞÏÉÃË£¬²»¿ÉÁì½±!sU¹Ú¾üÏÉÃËÿÈÕٺ»½±Àø, Íæ¼ÒÏÉÃË·Ç»ñʤÏÉÃË£¬²»¿ÉÁì½±!championFamilyID=%s,curFamilyID=%stGeRen_admin_327925RÀtGeRen_lhs_202580is!ÁìÈ¡ÍõÕßÏÉÃËÿÈÕٺ»: itemList=%s(RR<R9RJRQR¯R°R±R«R¬R­R'RõRŽRRdt
ItemCommontGetItemPackSpaceRÂtrptItemR®R²t ItemControlertGivePlayerItem( RVRARPR´R³RØt    needSpacet    packSpaceRÚtitemCntRÜ((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetChampionFamilyDailyReward«s8         
#cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(RXttagMCChampionFamilyDailyRewardR«R¬R­tGetStateRLRM(RVt
clientPack((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR²Ös (((ƒR¬RªR9RÖR°RÂR'RXRXRfRÄRŽRÊRLRR+RURER#R1RrRR¨tcopyRtFamilyWarRound_FirsttFamilyWarRound_SecondRÄR¸t FB_Step_OpenRÔRR RhR!R%RÇRÒR3RLRÌRÍRÎRÏRÐRßRàR\RzRHRŽR@R¤R£RBRR7R8R@RRORWRsRyRwRR’R“R•R–R—R™R›RœRžRŸR¡R¢R£R¤R¦R§R¨R©RªRµR¶R¿R¼RòRóRúRþRûR4RRRR3RËR'RiRmRjRkR„R…R¡R†R‡RÂRlRôRýRRRRRR    R RRR(R%R&RöR(R;R]R²(((s…E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt<module>sò                             '                             ;                                                                                                            2                                      ;~            2            6         0    „    :    
        #                                              !    9         +