hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
³Kdc@s³ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZdZedƒ\ZZ Z!Z"Z#edƒ\Z$Z%Z&dZ'dZ(dZ)d    Z*d
Z+d Z,d Z-d Z.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8ddcd„ƒYZ9d„Z:d„Z;d„Z<dddd„ƒYZ=d„Z>d„Z?dd „Z@d!„ZAd"„ZBd#„ZCd$„ZDd%„ZEd&„ZFd'„ZGd(„ZHd)„ZId*„ZJd+„ZKd,„ZLd-„ZMd.„ZNd/„ZOd0„ZPd1„ZQd2„ZRd3„ZSd4„ZTd5„ZUd6„ZVd7„ZWd8„ZXd9„ZYd:„ZZd;„Z[d<„Z\d=„Z]d>„Z^d?„Z_d@„Z`dA„ZadB„ZbdC„ZcdD„ZddidE„ZfdF„ZgdG„ZhdH„ZidI„ZjdJ„ZkdK„ZldL„ZmdM„ZndN„ZodO„ZpdP„ZqdQ„ZrdR„ZsdS„ZtdT„ZudU„ZvdV„ZwdW„ZxdX„ZydY„ZzdZ„Z{d[„Z|d\„Z}d]„Z~d^„Zde€d_„Zd`„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:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt__init__bs                                    cCscd}xV|jjƒD]E\}}|\}}|||krQ|jj|ƒq||7}qW|S(Ni(Rtitemstpop(RttickttotalPert addBuffTicktbuffInfotlastTimetaddPer((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetBuffResPointPeros cCs|jS(N(R(R((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt GetResPointyscCs}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:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt AddResPointzs 
(t__name__t
__module__RR"R#R.(((s‰E:\Git\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:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytAddFamilyWarFamily‡s  
cCs-tjtƒ}||kr#||St|ƒS(N(R1R2R3R7(RR5((s‰E:\Git\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:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetWarFamilyName”s
cBseZd„ZRS(cCs‚||_||_||_||_d|_d|_d|_d|_d|_||_    d|_
d|_ d|_ d|_ dS(Ni(RRtplayerIDtnametscoretkillPlayerCounttcollResourceCounttcollRandBuffCountt    fightTimetjoinTicktcalcFightTimeTicktcollectTypeIndextcollectLostHPTickt restoreHPTick(RRRRARBR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRs                                                        (R/R0R(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR›scCsItjtƒ}||kr#||St|||||ƒ}|||<|S(N(R1R2tGameFBData_FamilyWarPlayerR(RRRARBRtfamilyWarPlayerDictt    warPlayer((s‰E:\Git\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( R1R2RMR9t GetGameWorldtGetTicktGetMapCopyPlayerManagertFindPlayerByIDR<t GetPlayerNameR4RP(RARNRt    curPlayerRRBR((s‰E:\Git\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 warBillboardROtwPlayer((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFamilyWarBillboardPackÃs* 
    #      
       cCs/tjtƒ}|jƒ}|jdtƒ|S(Ntcmp(R1R2RMtvaluestsortt CmpWarPlayer(RNtsortWarPlayerList((s‰E:\Git\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( RCRuR9R:R\tGameFBDict_WinnerFamilyIDRRDRERFRGRH(t
warPlayerAt
warPlayerBtscoreAtscoreBtcmpRettwinnerFamilyIDtisWinAtisWinBtkillPlayerCountAtkillPlayerCountBtcollResourceCountAtcollResourceCountBtcollRandBuffCountAtcollRandBuffCountBt
fightTimeAt
fightTimeBt    joinTickAt    joinTickB((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRxàsF                                                      cCs tjdƒS(NtFamilyMatchPlayTime(t IpyGameDataPYtGetFuncEvalCfg(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFWarStepTimescCstjddƒS(NtFamilyMatchSpawnPointi(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetFactionAreascCstjddƒS(NR’i(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetBarrierPointListscCstjddƒS(NtFamilyMatchResourcePointi(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceRebornPosList"scCstjddƒS(NR•i(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceNPCIDList#scCstjddƒS(NR•i(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceRebornRank$scCstjddƒS(NR•i(Rt
GetFuncCfg(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourceWinPoint%scCstjddƒS(NtFamilyMatchResourcePoint1i(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourcePointMultiple'scCstjddƒS(NR›i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetResourcePointPerSecond(scCstjddƒS(NtFamilyMatchCollecti(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetCollectTimeList+scCstjddƒS(NRži(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetCollectLostHPPerList,scCstjddƒS(NtFamilyMatchRandomBuffi(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffPosList/scCstjddƒS(NR¡i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffCount0scCstjddƒS(NR¡i(RR(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffNPCIDList1scCstjddƒS(NR¡i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetRandBuffRefreshTime2scCstjddƒS(NtFamilyMatchPersonalScorei(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScorePerMinute5scCstjddƒS(NR¦i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreKillPlayer6scCstjddƒS(NR¦i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreCollectRescource7scCstjddƒS(NR¦i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreCollectRandBuff8scCstjddƒS(NR¦i(RR™(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetScoreWinerAddPer9scCsl|jtjƒ}|rhtj|tjdƒtjƒjtj    ƒ}|j
ƒ|krht |ƒqhndS(Ni( tNomalDictGetPropertytChConfigtDef_PDict_FamilyWarDailyRewardR'tNomalDictSetPropertyR9RRtGetGameWorldDictByKeyt ShareDefinet$Def_Notify_WorldKey_ChampionFamilyIDR<t#Sync_ChampionFamilyDailyRewardState(RWtdailyRewardStatetchampionFamilyID((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnFBPlayerOnDay<scCsV|jtjƒ}|rRtjƒjtjƒ}|jƒ|krRt    |ƒqRndS(N(
R¬R­R®R9RRR°R±R²R<R³(RWR´Rµ((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnFBPlayerOnLoginEs cCsatjƒ}xNtd|jƒƒD]7}|j|ƒ}|jƒdkrOq"nt|ƒq"WdS(Ni(R9tGetPlayerManagertrangetGetPlayerCounttGetPlayerByIndextGetIDtDoCheckChampionFamilyTitle(t playerManagertindexRW((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnChampionFamilyIDChangeMs 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<R9RRR°R±R²tGetFamilyMemberLVt IPY_GameWorldt    fmlLeadertPlayerDienstgradtPlayerDelAddDienstgrad(RWt titleIDListt leaderTitleIDt memberTitleIDtdelDienstgradIDListtaddDienstgradIDListRRµ((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR½Vs"               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_FamilyWarGlobalR3RMt    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
globalDictRoR?t    familyIDAt    familyIDBt
warFamilyAt
warFamilyBtvsFamilyt familyIDListt isFinalMatchtroundNumtgroupIDtrankAtrankBt    winCountAt    winCountB((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnOpenFBrsJ
                                #cCs4tjtdƒtjtdƒtjtdƒdS(N(R1RÒRÓRÌR3RM(R((s‰E:\Git\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(RWtmapIDtlineIDR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnEnterFBEvent°scCs-t|jƒƒ}|sdStƒt|ƒS(N(R4R<R“tGetFactionIndex(RWRùtlineIdtipyEnterPosInfoRR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnGetFBEnterPos¼scCstd|dƒS(Nii(tmax(R((s‰E:\Git\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:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR4Äs   cCst|jƒƒS(N(tstrR<(RWRý((s‰E:\Git\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 familyIDMsgRtresultRot    openState((s‰E:\Git\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(    R9RRR¹tGetGameWorldCounttGetGameFBByFbIndexR;R<RÖtGetOpenStateByFbIndex(Rt    gameWorldR¿RoR?RæRç((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRïs    c    Csstjƒ}|jƒ}|jƒ}|jƒ}t|ƒ}| sU|ttgkrƒtjd|||f|ƒt    j
|ƒdS|j ƒ|kr¥|j |ƒnt j|ƒst j|ƒt j|tjƒtj|tjdƒtj|tjdƒn|jtƒ}|jtƒ}|jtƒ}    t||||jƒ|ƒ}
|tkrºtƒt d|tjƒj!ƒ} |j"t#j$dt%| dƒt&ƒt j't(ƒd|ƒn_|tkrtƒt)d|tjƒj!ƒ} |j"t#j*dt%| dƒt&ƒ||
_+n|j,ƒ} | jƒ} | j-ƒ}t.| ƒ}t.|ƒ}|| krg|n|}|| kr|n|}|j/d7_/tj0d|||    ||j/|f|ƒii|j1|j1gd6|d6d6}t2|||ƒt3|tj4||j/ƒ|rS|j1rSt5t6j7d    dƒ|j1ƒ}t3|tj8||ƒnt9j:|tjdtj;ƒdS(
Ns8DoEnterFB PlayerLeaveFB familyID=%s,faction=%s,fbStep=%siièisdDoEnterFB ÏÉÃËÕ½³¡ÈËÊý¼Ó1, isFinalMatch=%s,roundNum=%s,groupID=%s,familyID=%s,memCount=%s,faction=%stWinCountRtfamilyWar_EntertFamilyMatchEnterBuff(<R9R:R t GetPlayerIDR<R4RÕtFB_Step_FightingRR't PlayerLeaveFBt
GetFactiont
SetFactionR1tGetHadDelTickettSetHadDelTickettAddEnterFBCountR­tDef_FBMapID_FamilyWartPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_FamilyWart PlayerGubaotAddGubaoItemEffValuetGubaoEffType_FamilyWarR\RàRáR]RPRVR‘t Time_PrepareR_t Sync_TimeTickRÃt tttWaitStartRRøtSyncDynamicBarrierStateR”t
Time_Fightt tttTowerTakeRIR;RÖR8RRäRt__NotifyWarHelp_Infot__AddFamilyWarBufftDef_SkillID_FamilyWar_JoinBufftminRR™tDef_SkillID_FamilyWar_CWinBufft EventReportt WriteEvent_FBt CME_Log_Start(RWRRotfbStepRARRRìRíRîROt notify_tickR?RæRçRèRét curWarFamilyt tagWarFamilyt enterHelpDictt
cWinBuffLV((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt    DoEnterFBÿs\        %" %"           '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ÖR8RmR#RRR"RRÍRtRztxrangeReR¢tGameFBDict_RandBuffObjIDt FindNPCByIDR&tGetPlayerHurtListt GetHurtCounttGetNPCIDRÎR—tFindNPCByNPCIDtGameFBDict_GetFlagFamilyIDR±RâRãRÏRÐR÷t    GetBufferRÑRøtDebugLogRRTRºR»t NotifyFBHelpt NetPackCommont SendFakePack(&Rt enterPlayerR;thelpDictt billboardPackRåRot lastHelpTickR?RæRçRèRét helpInfoListR6thelpInfoListHist helpBuffListtitobjIDtcurNPCtisInAtkthelpBuffListHist flagAtkListtfactionFlagListtnpcIDRt factionIndext helpCrystalt
crystalHist crystalAtkHistisBillPackChangetbillBufft lastBillBufft enterPlayerIDR¾R¿tplayerRA((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR/<sº        
 
  ,
 
   "
 
 
 
 
 
   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 RTRºtGameWorldProcesstCloseFBR1RÔt FB_Step_OverRRXRR8RRRäR0R­R1Rø(RWRR7RARORR6((s‰E:\Git\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(RR7((s‰E:\Git\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    enumeratetGetDistRmRR-RTRKRºR»RR*RÃR.RøRXRIRRäRütGetPosXtGetPosYtGameMaptGetEmptyPlaceInAreatResetPos(Rt remaindTicktbarrierPointListtfactionAreaInfot maxDistListR_t    pointListt
centrePosXt
centrePosYtdist1tdist2RGR¾R¿RWRARORRgtradiustcurPosXtcurPosYtdisttmaxDisttposPoint((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRtÞsL%                    
     'cCsqt|ƒt|ƒt|ƒr$dStƒtd|tjƒjƒ}|dkrct|ƒdSt    |ƒdS(Nièi(
R/t__AddPlayerFightTimeByTimet__AddFamilyResPointByTimeR‘R-R9R:R_t__RefreshRandBufft__DoLogicFamilyWarOver(RR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRus
 
 % 
 
cCstjddƒ}tjddƒ}tjƒ}x×t|jƒƒD]Ã}|j|ƒ}|jƒ}|spqCnt    |ƒ}|j
ƒ}|rƒ|t |ƒkrƒ||d\}    }
} tj |j ƒ|jƒ|    |
ƒ| krw|jrû||jdnd} | dkr€tj|ƒ} tj|ƒ| krht| |dt| dƒƒ}tj|d|ƒn||_q€qƒd|_n|j}||_|s¡qCn||}|jd}|j|7_|jd}||}|sêqCntƒ|}|j|7_qCWdS(    NR’iiig@@gY@ii`ê(RR™RR9RTRKRºR»RRXRReRyRzR{RLtGameObjtGetMaxHPtGetHPR&troundt SkillCommont
SkillAddHPRIRGR§RC(RtrestoreHPPerBySecondtfactionSafeAreaRandPosListR¾R¿RWRARORtsafePosXtsafePosYt
safeRadiustrestoreSecondstmaxHPt    restoreHPt lastCalcTicktaddTicktlastFightMinutetupdFightMinutetaddFightMinutetaddScore((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRŽsF    *  !         
 
 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_FamilyResPointTickRRRßR&tmathtceiltgetR;R<RÖR8R"R.RšRäR‘Rø(RtresPointPerSecondtpointMultipleDictRotresourceNPCIDListtaddResPointDictRft    pointTickRtaddTimetaddPointR?RæRçRèRétbuffResPointPerAtbuffResPointPerBt addResPointAt addResPointBt    resPointAt    resPointBt resWinPoint((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyROsH              
               
cCsU|j|ƒ}tƒ}tjd|j|||fƒ||krQt|ƒndS(NsBÔö¼Ó×ÊÔ´µã: familyID=%s,resPointAdd=%s£¬updPoint=%s,resWinPoint=%s(R.RšR9RTRR‘(R6t resPointAddRRR·((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt__AddFamilyResPoint…s          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¢ReR¹RKRLtremoveRRt    GetLineIDR2R£R¤trandomtchoicet    NPCCommont SummonMapNpcR¼RäR'tFBNotify(RRotlastRefreshTicktlastCollectTickt randPosListt maxBuffCounttemptyBuffPosIndexListR_Rút    randCountt randNPCIDListt    randNPCIDt randPosIndextrandPosXtrandPosYt randBuffNPCt    buffObjID((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRsF             ! 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(NRuiisy±ÈÈü½áÊø: 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ÖRwtCmpFamilyWinnerRßR{R\RàRáR]RRR¾R8RRRäRR¸tGameServer_QueryPlayerResultReR«R1R2RMRRRCR&RTRRRmRtFamilyWar_MaxGroupIDR°R±t"Def_Notify_WorldKey_WorldAverageLvtGetOrderValueByDictR‘t
Time_LeaveRzRtRTRxR't WorldNotifyRBRARURVRWR*RÃt tttLeaveMapRøt PlayerFamilytAddFamilyActivitytFamilyActive_Wart SendMailBatcht SendMailByKeyRÔR (3RRoR?RæRçtvsFamilyIDListRRìRíRîRútwinnerWarFamilyRqRtmsgInfotwinnerScoreAddPerRNRARORCt rankAwardDictt awardPerListtjoinAwardItemListtawardPertrankAwardDictCopyRtitemListt copyItemListtitemIDt    itemCounttisBindtisPertwinnerFirstAwardExtloserFirstAwardExt firstAwardExt firstAwardEx2tworldLvtfirstAwardExDicttfirstAwardExDict2tjoinPlayerIDListtchampionPlayerIDListtbatchPlayerIDListtbatchAddItemListtbatchParamListt    leaveTimeRyRZt copyPlayerMgrt rankItemListt awardItemListRo((s‰E:\Git\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(R9RRR¾R8R#RuRäR:R—R\RRRTRKRºR»R<R(RæRçRúRµR¶R€Rot getFlagCountAt getFlagCountBR¬RfRtfamilyPlayerCountAtfamilyPlayerCountBRR¿Rot familyRankAt familyRankB((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRÙDs^                     cCsVtƒtd|tjƒjƒ}|dkr5dStj|ƒtjt    |ƒdS(Nièi(
R‘RÞR9R:R_RpRqR1RÔRr(RR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRv~s %  cCstS(N(Rø(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnPlayerRebornˆscCs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<ReR\RRR¿RÀR|R}R~RzR{RTR“(RWt rebornPlaceRRoRRgt posRankListt resNPCIDListtresRebornPosListtplayerFamilyIDtposRankR¿Rft flagFamilyIDRÍRÎtrandDistRR„R…Rˆ((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytOnResetFBRebornPlacePosŒs6              
 
 cCsf|jƒ}tƒ}t|ƒ}|jd7_|j|7_tjd||j|jf|ƒtS(Nis1»÷É±Íæ¼Ò: addScore=%s,score=%s,killPlayerCount=%s(RR¨RXRDRCR9RTRø(RWtdefenderRRAtkillPlayerScoreRO((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytDoFBOnKill_Player¯s          cCst||ƒ S(N(t__CanAttackPlayer(RWt curTagPlayer((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytCheckPlayersRelation_IsFriend¼scCs t||ƒS(N(R(RWR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytDoCanAttackTeamerÀscCs2tjƒjƒtkrtS|jƒ|jƒkS(N(R9R:R RR÷R<(RWR((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRÃscCstS(N(R÷(t    atkPlayert    defPlayer((s‰E:\Git\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:\Git\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(RPR<R9RTRR÷R:R RR'RöR—R\RRRø(RWRaRRfRRoR7tgetFlagFamilyID((s‰E:\Git\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( RPRRŸR¤R9RRRSRXRJRKRT(    RWRaRfRAtcollectTimeListtcfgIndexRROt prepareTime((s‰E:\Git\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
||||    |dt ƒdS(NièigY@t skillAffect(iN( RRXRKR RJRÌR&R’R“R–t SkillLostHPR÷(
RWRRAROtlostTimet lostHPPerListt    lostHPPert skillTypeIDt    buffOwnert    lostValue((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt OnCollectings            !cCsœ|jƒ}|sdS|jƒtjkr/dStjƒj|jƒƒ}tj    ||ƒ|j
ƒ}|t ƒkrˆt |||ƒnt |||ƒdS(N(t GetActionObjtGetGameObjTypeRÃtgotNPCR9t GetNPCManagert GetNPCByIndextGetIndextAICommontClearPlayerPreparingRPR—t__OnCollectOK_Resourcet__OnCollectOK_Buff(RWRfRttagObjRa((s‰E:\Git\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¼RPRR<R9RäR:R\RRRßR¦R©RXRERCRTR'tFBFactionNotifyOtherR( RWRaRR`RfRARRotlastFlagFamilyIDtnextFlagFamilyIDtcollRescourceScoreDicttcollRescourceScoreRO((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR:2s.            
     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¼RPRR<R9R:RßR¼RKReR¢R\RLRªRXRFRCRTR8tGetSkillManagertGetSkillByIndextGetSkillTypeIDRäR­t!Def_SkillID_FamilyWar_ResPointAddt    GetEffecttGetEffectValueRR¹t$Def_SkillID_FamilyWar_ResPointAddPert GetLastTimeRt"Def_SkillID_FamilyWar_RandBuffAttrRR0t#Def_SkillID_FamilyWar_OwnerlessBuffR;RÖt__RandBuffOwnerlessRRR'R(RRÁt    SetDeadEx(RWRaRR`RfRARRoR_t collBuffScoreROR6t    buffSkilltbuffSkillTypeIDR¸R?RæRçt tagFamilyID((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR;SsV                    .   + 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 GetGameDatatGetSkillBySkillIDRTt GetSkillNamet GetSkillMaxLVRTRKRºR»RR<t    BuffSkilltDelBuffBySkillIDR–tAddBuffBySkillType( RRTRtskillLVt
isDelFirstRSt
maxSkillLVR¾R¿RWRA((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR0Œs*        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—RQR\RRRmRTR¿tshuffleRßR'R((
Rt curFamilyIDRURÉtrandResNPCIDListRoRfRaRtownerLessNPCIDList((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyRP§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|||    dtjgƒq$Wtjd||ƒdS(    Ns'¹Ú¾üÏÉÃËÿÈÕٺ»½±Àø£¬ÎÞÏÉÃË£¬²»¿ÉÁì½±!sU¹Ú¾üÏÉÃËÿÈÕٺ»½±Àø, Íæ¼ÒÏÉÃË·Ç»ñʤÏÉÃË£¬²»¿ÉÁì½±!championFamilyID=%s,curFamilyID=%stGeRen_admin_327925RÁtGeRen_lhs_202580iis!ÁìÈ¡ÍõÕßÏÉÃËÿÈÕٺ»: itemList=%s(RR<R9RTRRR°R±R²R¬R­R®R'RöRRRet
ItemCommontGetItemPackSpaceRÃtrptItemR¯R³t ItemControlertGivePlayerItem( RWRAReRµR´Rït    needSpacet    packSpaceRñtitemCntRó((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pytGetChampionFamilyDailyRewardÇs8         
#cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(RYttagMCChampionFamilyDailyRewardR¬R­R®tGetStateRVRW(RWt
clientPack((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyR³òs (((…R­RÁR9R×R±RÃR'RmRYRpRÅR#RRáRVR–R4R&RjRZR8R1R|R’R¿tcopyR§tFamilyWarRound_FirsttFamilyWarRound_SecondRÛR¹t FB_Step_OpenRÕRR RrR)R-RÞRÓR3RMRÍRÎRÏRÐRÑRàRáR]R{RRR¦RJR¼R»RLRR7R8R@RRPRXRtRzRxR‘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üR4RRRR=RÌR/RsRwRtRuRŽRR¹RR‘RÙRvR RRRRRRR R$R(R1R=R:R;R÷R0RPRrR³(((s‰E:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyWar.pyt<module>sö                               '                             ;                                                                                                            2                                      =~            2        1    6         0    „    :    
        #                                              !    9         +