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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
’Àýic@sîddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ej ddƒej ddƒd„Z d„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zdigd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d „Z'd!„Z(d"„Z)d#„Z*d$„Z+d%„Z,d&„Z-d'„Z.d(„Z/d)„Z0d*„Z1d+„Z2d,„Z3d-„Z4d.„Z5d/„Z6d0„Z7d1„Z8d2„Z9d3„Z:d4„Z;d5„Z<d6„Z=d7„Z>d8„Z?d9„Z@d:„ZAd;„ZBd<„ZCd=„ZDd>„ZEd?„ZFd@„ZGdA„ZHdB„ZIdC„ZJdD„ZKdE„ZLdF„ZMdG„ZNdH„ZOdI„ZPdJ„ZQdK„ZRdL„ZSdM„ZTdN„ZUdO„ZVdP„ZWdQ„ZXdR„ZYdS„ZZdT„Z[dU„Z\dV„Z]dW„Z^dX„Z_dY„Z`dZ„Zad[„Zbd\„Zcd]„Zdd^„Zed_„Zfd`„Zgda„Zhdb„Zidc„Zjdd„Zkde„Zldf„Zmdg„Zndh„Zodi„Zpdj„Zqdk„Zrdl„Zsdm„Ztdn„Zudo„Zvdp„Zwdq„Zxdr„Zyds„Zzdt„Z{du„Z|dv„Z}dw„Z~dx„Zdy„Z€dz„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Š„Z‘d‹„Z’dŒ„Z“d„Z”dŽ„Z•d„Z–d„Z—d‘„Z˜d’„Z™ddd“„Z›d”„Zœd•„Zd–„Zžd—„ZŸd˜„Z dS(™iÿÿÿÿNsScript\GameWorldLogic\t    FBProcesstcCsDtjƒd}tj|dƒtjƒd}tj|dƒdS(NsScript\GameWorldLogic\FBProcessRsScript\GameWorldLogicR(tChConfigt
GetAppPatht    GameWorldt ReloadScript(ttickt
scriptPath((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt ReloadFBLogic&s
cCs÷t|ƒtjƒjdƒ}|dkr¬tjƒ}xet|jƒƒD]Q}|j|ƒ}d|j    ƒ}t
ƒj |ƒrJt
ƒ||||ƒqJqJW|j ƒnt tjƒjƒƒ}tjtd|dfƒ}|ró||ƒndS(NisNPCRefreshInit_%dsGameLogic_%s.%stOnOpenFB(t__DoLogic_FBInitRtGetMapCopyPlayerManagertGetPlayerByIndextNonet GetNPCManagertrangetGetCustomNPCRefreshCounttGetCustomNPCRefreshAttGetRefreshMarktglobalsthas_keytClearChangeMapTakeCreateNPCt__GetFBLogic_MapIDtGetMaptGetMapIDt GetExecFuncR(Rt    curPlayertgameNPCtit
npcRefreshtfuncNamet do_FBLogic_IDtcallFunc((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR    3s
    c Csªtjƒ}|jƒ|jƒtjƒ}x†t|jƒƒD]r}|j|ƒ}g}x6t|jƒƒD]"}|j    |ƒ}|j
|ƒqmWx|D]}t j |ƒqšWq?Wx6t|j ƒƒD]"}|j|ƒ}t||ƒqÈWx6t|jƒƒD]"}|j|ƒ}t||ƒqWg}    tjƒ}
x6t|
jƒƒD]"}|
j|ƒ} |    j
| ƒqLWx1|    D])} | sy| jƒr˜qyn| jƒqyWdS(N(Rt    GetGameFBtClearGameFBDicttClearAllPlayerGameFBDictRRRRtGetCounttGetAttappendt    NPCCommont    SetDeadExtGetNormalNPCCounttGetNormalNPCAtt__CheckRebornNPCt GetBossCountt    GetBossAttGetMapItemManagertGetMapItemCounttGetMapItemByIndextIsEmptyt    Disappear( RtgameFBRRRtnpc_ListtindextcurNPCtnpct mapItem_ListtmapItemManagert
curMapItemtmapItem((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR
Rs8 
 
    cCsk|jƒdkrdSxNt|jƒƒD]:}|j|ƒ}|j|ƒ}|j|tj|ƒq)WdS(Ni(R$RtGetChangeMapTakeNPCCounttGetChangeMapTakeNPCIDByIndextGetChangeMapTakeNPCCountByIndextRefreshRtDef_NormalNPCAngryCount(RRRRtcurNPCIDt curNPCCount((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytNPCRefreshInit_2†scCshttjƒjƒƒ}tjtd|dfƒ}|rG||ƒntjdtjƒjƒƒdS(NsGameLogic_%s.%st    OnCloseFBsmapID = %s OnCloseFB(RRRRRRtLog(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRD—s  cCsO|jƒr/tj|ƒdkr/t|ƒdStj|ƒ}|j|ƒdS(Ni(tIsAlivetGameObjtGetHPt__DoLogic_NPCAliveR't
NPCControlt DoNPCReborn(R6Rt
npcControl((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR+ªs !
 cCsTtj|ƒ}|jƒtj|ƒ}tj|ƒ|krPtj||ƒndS(N(R'RJt ResetNPC_InitRGtGetMaxHPRHtSetHP(R6RLt curNPCMaxHP((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRI¸s 
cCsKttjƒjƒƒ}tjtd|dfƒ}|rG||ƒndS(NsGameLogic_%s.%stDoFBInit(RRRRRR(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytOnInitËs
 cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stDoFBOnKill_NPC(RRRRRR(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRSÜs
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stDoFB_OnAchieveTask(RRRRRR(Rt    isAchieveRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRTìs
icCsWttjƒjƒƒ}tjtd|dfƒ}|rS||||||ƒndS(NsGameLogic_%s.%stDoFB_OnFinishRunAroundTask(RRRRRR(Rt curMissionIDtexpt    moneyDicttitemListRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRVûs
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stDoFB_Player_KillNPC(RRRRRR(RR6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR[s
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stDoFB_NPCSelfDestruction(RRRRRR(R6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR\s
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stDoFB_DropOwner(RRRRRR(RR6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR]+s
cCsHttjƒjƒƒ}tjtd|dfƒ}|rD||ƒSdS(NsGameLogic_%s.%stGetFBEveryoneDropInfo(RRRRRR(R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR^6s
 
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stDoFB_Npc_KillNPC(RRRRRR(tattackertdefenderRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR_Hs
cCsKttjƒjƒƒ}tjtd|dfƒ}|rG||ƒndS(NsGameLogic_%s.%st DoFB_NPCDead(RRRRRR(R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRbUs
 cCsTtjƒjƒ}t|ƒ}tjtd|dfƒ}|rP||||ƒSdS(NsGameLogic_%s.%stDoFBOnKill_Player(RRRRRR(RRaRtmapIDRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRces  cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ||||ƒSdS(NsGameLogic_%s.%stDoFBOnNPCKill_Player(RRRRRR(R6RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyReqs
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ||||ƒSdS(NsGameLogic_%s.%stDoFBOnHit_Player(RRRRRR(RRaRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRf‚s
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ||||ƒSdS(NsGameLogic_%s.%stDoFB_Player_HitNPC(RRRRRR(RRaRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRg“s
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%st DoFBOnReborn(RRRRRR(Rt
rebornTypeRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRh£s
cCsjtjƒjƒtjkrdSttjƒjƒƒ}tjt    d|dfƒ}|rf|||ƒSdS(NsGameLogic_%s.%stDoFBHelp(
Rt GetGameWorldt GetOpenStatet IPY_GameWorldtfbosOpenRRRRR(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRj³s cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||ƒS(NsGameLogic_%s.%stOnNPCRebornInFB(RRRRRRR tTrue(R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRoÁs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%st    OnCanTalk(RRRRRRR Rp(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRqÐs
 cCsK|jƒ}tj|ƒt||ƒtjƒ}|jƒ}|jtj    ƒ}|jtj
ƒ}t j |||ƒt ||ƒt||ƒt||ƒ|jƒtjkrµdStj|ƒtj|ƒkrãtj|ƒntjƒ}|jƒtjkr|jtj|ƒn|jdƒ|j|ƒr:dS|j|ƒdS(Ni(tGetIDtGameWorldProcesst EnterOpenFBtSync_LeaveMapTickRRRtNomalDictGetPropertyRtDef_Player_Dict_ReqFBMapIDtDef_Player_Dict_ReqFBFuncLinet PlayerControltSetFBFuncLineIDtInitFBNPCStrengthenDatat    DoEnterFBtRecordFirstEnterMapt GetMapFBTypeRmtfbtNullRGRHRNt    SetHPFullR!t    fbtSinglet SetGameFBDicttDef_FB_SingleFBPlayerIDtSetPlayerLogoffTickt HaveFBPlayert AddFBPlayer(RRt curPlayerIDtgameMapt    gameMapIDtreqMapIDt reqFuncLineIDt    gameFBMgr((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytDoEnterFBLogicßs.           cCs•ttjƒjƒƒ}tjtd|dfƒ}|dkrftjd|jƒƒ|||ƒn|j    t
j ƒr‘t j |t
j dƒndS(NsGameLogic_%s.%sR|sDoEnterFBLogic...i(RRRRRRR REt GetPlayerIDRvRtDef_Player_Dict_EnterFBFreeRytNomalDictSetProperty(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR|s cCs©tjƒ}|jƒ}|jƒtjkr¤|jtjƒs¥|j    tj
|j ƒƒ|j    tj|j ƒƒ|j    tj dƒtj d|j ƒ|ƒq¥n|jƒtjkr…tj|tƒs”|jtj
ƒs.|jtjƒ}|s|j ƒ}n|j    tj
|ƒtj d||ƒn|jtjƒs”|jtjƒ}|sg|j ƒ}n|j    tj|ƒtj d||ƒq”ntj|tƒs|jtj ƒs|jtjƒ}|sÙd}n|j    tj |ƒtj d||ƒqn|jtjƒs@|jtjƒ}|j    tj|ƒntj|tjdƒtj|tjdƒtj|tjdƒn tj|tƒtj|tƒdS(Nis¸±±¾³É³¤NPCµÈ¼¶: %ss¸±±¾³É³¤NPCƽ¾ùµÈ¼¶: %ss¸±±¾³É³¤NPC×î´óµÈ¼¶: %ss¸±±¾³É³¤NPCÍæ¼ÒÈËÊý: %si(RR!RŽR~RmRtGetGameFBDictByKeyRtDef_FB_NPCStrengthenMaxLVR‚tDef_FB_NPCStrengthenAverageLVtGetLVtDef_FB_NPCStrengthenPlayerCntREtfbtTeamtFBCommontUpdFBLineNPCStrengthenLVtFalseRvtDef_Player_Dict_TeamFBAverageLVtDef_Player_Dict_TeamFBMaxLVtUpdFBLineNPCStrengthenPlayerCnttDef_Player_Dict_TeamFBPlayerCnttDef_FB_TeamPlayerCountRyR(RRˆR3tplayerIDt fbAverageLVtfbMaxLVt fbPlayerCnt((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR{sL       cCs‘tjdƒ}tj|ƒ}||kr|j|ƒ}|jtjƒ}|td|ƒ@s|td|ƒB}t    j
|tj|ƒqndS(NtMapID_FirstEnterRecordi( t ReadChConfigtGetEvalChConfigR—tGetRecordMapIDR5RvRt"Def_Player_Dict_FBFirstEnterRecordtpowRyR(RRdtneedRecordMapIDListt recordMapIDR5t    curRecordt    updRecord((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR}Ps cCs`tjdƒ}tj|ƒ}||kr.tS|j|ƒ}|jtjƒ}|t    d|ƒ@S(NR£i(
R¤R¥R—R¦R™R5RvRR§R¨(RRdR©RªR5R«((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt GetHadEnterFB\s cCsÊtjƒ}|jƒ}|jƒ}|dksT|jƒtjksT|tjkrXdS||tjƒj    ƒ}|dkr‡|}ntj
d|j ƒ|f|j ƒƒ|j tjd|tƒdS(Nis.Íæ¼Ò = %sµÇ½µØÍ¼£¬Í¨ÖªÍæ¼ÒÀ뿪µØÍ¼µ¹¼ÆÊ± = %s(RRRt GetExistTimeR~RtDef_FBNoShowLeaveTimetDef_FBShowLeaveMapTick_MapIDRkt GetOpenFBTickREtGetNameRrt Sync_TimeTickRmt tttLeaveMapRp(RRRˆR‰t mapExistTimet    existTime((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRuls   !     &cCsKttjƒjƒƒ}tjtd|dfƒ}|rG||ƒndS(NsGameLogic_%s.%st DoFBTimeOut(RRRRRR(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR·‡s
 cCsmtjƒ}|jƒdkr"dStjƒ}|jƒ}|jƒ}|dkrVdStjƒj|ƒdS(Nii(RRR~RkR tGetPlayerCountR!R„(RRRˆt    gameWorldt playerManagert playerCount((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt __PlayerLeaveSetPlayerLogoffTick—s     c Cs§tjƒrLtjƒjƒ}tj|ƒ}tjƒ}|jƒ}i|jƒd6|j    ƒd6|j
ƒd6|d6tjƒjƒd6|j ƒd6|d6}|t j krtjƒ}tjƒ}|jt jƒ}|jt jƒ}    |ji|d6|d    6|d
6|    d 6ƒn|jƒr6|jƒ|d <ntjd ||ƒnttjƒjƒƒ}
tjtd|
dfƒ} | r–| ||ƒnt||ƒdS(NtPlayerIDt
PlayerNametAccIDRªRdt    realMapIDt    copyMapIDtfbZoneIDt fbFuncLineIDt playerZoneIDtplayerFuncLineIDtFactiont CrossFBExitsGameLogic_%s.%stDoExitFB(Rt IsCrossServerRRR—R¦Rkt GetCopyMapIDRŽt GetPlayerNametGetAccIDt GetRealMapIDRtDef_CrossDynamicLineMaptGetCrossDynamicLineMapZoneIDt GetCrossDynamicLineMapFuncLineIDRvt Def_Player_Dict_ReqCrossFBZoneIDt"Def_Player_Dict_ReqCrossFBFuncLinetupdatet
GetFactiontDataRecordPackt SendEventPackRRRR¼( RRRdR¹RÁtdataDictRÂRÃRÄRÅRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt DoExitFBLogic©s,   *1  ,  cCs}|jƒ}tj|tƒtj|tƒttjƒjƒƒ}tj    t
d|dfƒ}|dkrpdS|||ƒS(NsGameLogic_%s.%stDoPlayerLeaveFB( RŽR—R˜RpRœRRRRRRR (RRRŸRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÙÌs  cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||ƒS(NsGameLogic_%s.%stDoPlayerChangeMapLogic(RRRRRRR Rp(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÚàs
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||ƒS(NsGameLogic_%s.%stCanPlayerLeaveFB(RRRRRRR Rp(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÛís
 cCsTttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||||ƒS(NsGameLogic_%s.%stCanChangeSameDataMapFB(RRRRRRR R™(RRdtlineIDRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÜús
 cCsBt|ƒ}tjtd|dfƒ}|dkr8tS||ƒS(NsGameLogic_%s.%stOnCanGetAreaExp(RRRRR Rp(RRdRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÞs
  cCsTttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||||ƒS(NsGameLogic_%s.%st OnCanCollect(RRRRRRR Rp(RR6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRßs
 cCs2tjƒ}||jkr.||jkr.tStS(N(RtGetCurrentTimethourtminuteRpR™(Rátminttoday((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt __CheckTime's cCsŒ|dkrdStjƒ}|tjkr.nQ|tjkrZ|jƒd|krtSn%|tjkr|j|krtSnt    ||ƒS(Nii(
RRàRmtgmpDaytgmpWeektweekdayR™tgmpMonthtdayRå(tperiodtvalueRáRâRä((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt__CheckOpenFBPeriod6s  cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDdS||ƒS(NsGameLogic_%s.%st    OnCanOpenR (RRRRRRR (RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRîPs
 cCs%tjƒ}tjƒ}t|jƒƒ}|jƒtjkrñ|jƒrOdSt    |ƒ}|dkr×t
|j ƒ|j ƒ|j ƒ|jƒƒ rÇt
|j ƒ|jƒ|jƒ|jƒƒ rÇdS|jdƒn|rí|jdƒndStjtd|dfƒ}|sdS||ƒdS(NR isGameLogic_%s.%st    OnProcess(RRRkRRRlRmt
fbosClosedtGetFBFirstOpenRîRít    GetPeriodtGetPeriodValue1tGetPeriodHour1tGetPeriodMinute1tGetPeriodValue2tGetPeriodHour2tGetPeriodMinute2tSetFBFirstOpenRR(RRˆR¹Rt
openByTimeR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRï`s(     ..
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stOnBeginCollect(RRRRRR(RR6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRûs
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%st OnExitCollect(RRRRRR(RR6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRü•s
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%st OnCollecting(RRRRRR(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRý¡s
cCsXttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||||ƒdS(NsGameLogic_%s.%st OnCollectOK(RRRRRRR R™(RtnpcIDRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRþ­s  cCs‹tjƒjƒtjkrdSt}ttjƒjƒƒ}tjt    d|dfƒ}|dkrq|ƒ}n|r‡t j |ƒndS(NsGameLogic_%s.%stIsLeaveFBOnTeamChange( RRR~RmR–RpRRRRR Ryt PlayerLeaveFB(RRtisLeaveRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytGameServer_LeaveFB¿s   cCs§ttjƒjƒƒ}tjtd|dfƒ}|dkrM|||ƒStjƒjƒtj    krxt
j |ƒn+tjƒjƒtj kr£t
j |ƒndS(NsGameLogic_%s.%st OnLeaveFamily( RRRRRRR R~Rmt    fbtFamilyRyRt fbtFamilyWar(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÖs  cCs\xUtjjƒD]D\}}|s(qntjtd|dfƒ}|r|ƒqqWdS(NsGameLogic_%s.%st OnServerStart(Rt Def_FB_MapIDtitemsRRR(tkeyt    mapIDListR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRäscCs_xXtjjƒD]G\}}|s(qntjtd|dfƒ}|r||ƒqqWdS(NsGameLogic_%s.%stOnMinute(RRR    RRR(tcurTimeR
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR íscCs\xUtjjƒD]D\}}|s(qntjtd|dfƒ}|r|ƒqqWdS(NsGameLogic_%s.%stOnWeek(RRR    RRR(R
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRöscCs\xUtjjƒD]D\}}|s(qntjtd|dfƒ}|r|ƒqqWdS(NsGameLogic_%s.%stOnDay(RRR    RRR(R
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRÿscCs\xUtjjƒD]D\}}|s(qntjtd|dfƒ}|r|ƒqqWdS(NsGameLogic_%s.%st OnWeekCross(RRR    RRR(R
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRscCs\xUtjjƒD]D\}}|s(qntjtd|dfƒ}|r|ƒqqWdS(NsGameLogic_%s.%st
OnDayCross(RRR    RRR(R
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRscCs_xXtjjƒD]G\}}|s(qntjtd|dfƒ}|r||ƒqqWdS(NsGameLogic_%s.%stOnFBPlayerOnWeek(RRR    RRR(Rt
onWeekTypeR
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRscCs_xXtjjƒD]G\}}|s(qntjtd|dfƒ}|r||ƒqqWdS(NsGameLogic_%s.%stOnFBPlayerOnWeekCross(RRR    RRR(RR
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR$scCs_xXtjjƒD]G\}}|s(qntjtd|dfƒ}|r||ƒqqWdS(NsGameLogic_%s.%stOnFBPlayerOnDay(RRR    RRR(Rt    onDayTypeR
R R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR.scCsMxFtjjƒD]5}tjtd|dfƒ}|r||ƒqqWdS(NsGameLogic_%s.%stOnFBPlayerOnLogin(RRtkeysRRR(RR
R ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR8s
cCsUttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒdS(NsGameLogic_%s.%stOnHour(RRRRRRR R™(ttimeRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRDs   cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stCheckPlayersRelation_IsNone(RRRRRRR R™(Rt curTagPlayerRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytCheckPlayersRelationInFB_IsNoneXs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stCheckPlayersRelation_IsFriend(RRRRRRR R™(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt!CheckPlayersRelationInFB_IsFriendhs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stDoCanAttackTeamer(RRRRRRR R™(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR xs
 cCs[tjƒjƒ}t|ƒ}tjtd|dfƒ}|dkrJtS|||ƒdS(NsGameLogic_%s.%stOnSetRebornPlace(RRRRRRR Rp(RtbornListRdRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt OnRebornPlace‹s   cCsdttjƒjƒƒ}tjtd|dfƒ}|s>iS|||ƒ}t|tƒs`iS|S(NsGameLogic_%s.%stGetFBNPCStrengthenAttr(RRRRRRt
isinstancetdict(R6tisRebornRR tret((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR$²scCsNttjƒjƒƒ}tjtd|dfƒ}|sAtjS|||ƒS(NsGameLogic_%s.%stGetFBPrepareTime(RRRRRRRtDef_DigMaxTime(RR6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR)Ås
cCsKttjƒjƒƒ}tjtd|dfƒ}|s>dS|||ƒS(NsGameLogic_%s.%st    OnFBAddHP(RRRRRR(RtaddHPRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR+Ðs
cCsKttjƒjƒƒ}tjtd|dfƒ}|s>dS|||ƒS(NsGameLogic_%s.%st
OnFBLostHP(RRRRRR(RtlostHPRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR-Ûs
cCsQttjƒjƒƒ}tjtd|dfƒ}|sGtj|ƒS||ƒS(NsGameLogic_%s.%st OnGetFBCurHP(RRRRRRRGRH(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR/æs
 cCshtjƒ}|jƒtjgkr(tStjƒr8tStjƒj|j    ƒƒrWtSt
j |ƒt S(N( RRR~RmRR™RÉR!R…RrRyRRp(RRRˆ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytPlayerLoginInFBCheckös   cCsWttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||||ƒS(NsGameLogic_%s.%st    OnCanMove(RRRRRRR Rp(RtdestXtdestYRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt DoFBCanMoves
 cCsCtj|ƒ}x-tjjƒD]\}}||kr|SqW|S(N(R—R¦RRR    (RdR
Rì((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRs
 cCsTttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||||ƒS(NsGameLogic_%s.%st OnGMCommand(RRRRRRR R™(RtinputStrRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR52s
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%st OnPlayerSight(RRRRRRR R™(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR7Bs
 cCsKttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|ƒS(NsGameLogic_%s.%stOnPlayerReborn(RRRRRRR R™(RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR8Qs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stOnPlayerRebornOver(RRRRRRR R™(RtplayerRebornTypeRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR9\s
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||ƒS(NsGameLogic_%s.%stDecFreeRebornCount(RRRRRRR R™(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR;js
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%st OnCanFBReborn(RRRRRRR Rp(RRiRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR<ts
 cCsTttjƒjƒƒ}tjtd|dfƒ}|dkrDdS||||ƒS(NsGameLogic_%s.%stOnResetFBRebornPlacePos(RRRRRRR (Rt rebornPlaceRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR=ƒs
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDgS||ƒS(NsGameLogic_%s.%stGetFBRobotCanAtkObjTypeIDList(RRRRRRR (R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR?s
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDdS||ƒS(NsGameLogic_%s.%stGetFBRobotRandomMovePos(RRRRRRR (R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR@™s
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDdS|||ƒS(NsGameLogic_%s.%stOnRandomRobotJob(RRRRRRR (R6tlineRobotJobDictRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRA¤s
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||ƒS(NsGameLogic_%s.%stOnGivePrizeByLastHurt(RRRRRRR R™(R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRC´s
 cCsKttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|ƒS(NsGameLogic_%s.%stOnKillNPCGiveAllExp(RRRRRRR R™(RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRDÂs
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDdS||ƒS(NsGameLogic_%s.%stOnGetOuterExpRatei(RRRRRRR (RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyREÍs
 cCsTttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||||ƒS(NsGameLogic_%s.%stOnGetExp(RRRRRRR R™(RtaddExpt expViewTypeRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRFÜs
 cCsNt|ƒ}tjtd|dfƒ}|dkr8dS||||||ƒS(NsGameLogic_%s.%stOnPlayerFBSweepAsk(RRRRR (RRdRÝtcnttdataExRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRIæs
  cCsQt|ƒ}tjtd|dfƒ}|dkr8tS|||||||ƒS(NsGameLogic_%s.%stOnPlayerFBSweepResult(RRRRR R™(RRdRÝRJRKtaskRetRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRLós
  cCsNt|ƒ}tjtd|dfƒ}|dkr8tS||||||ƒS(NsGameLogic_%s.%stOnStartPubCDFBSweep(RRRRR R™(RRdRÝRJRKRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRNÿs
  cCsNt|ƒ}tjtd|dfƒ}|dkr8tS||||||ƒS(NsGameLogic_%s.%stOnGivePubCDFBSweepPrize(RRRRR R™(RRdRÝRJRKRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRO
s
  cCsHt|ƒ}tjtd|dfƒ}|dkr8dS||||ƒS(sѸ±±¾¿ìËÙ¹ý¹ØÑéÖ¤
    @param mapID: Êý¾ÝµØÍ¼ID
    @param lineID: Ä¿±ê¹Ø¿¨Ïß·ID£¬¿ÉÒ»´ÎÐÔÌø¶à¹Ø£¬¸ù¾Ý¹¦ÄÜÓÉǰ¶Ë·¢°ü¾ö¶¨»òºó¶ËÖ±½Ó¾ö¶¨
    @return: (lineID, quickCnt, quickFightPower, quickData) »ò  None
    @note: lineID Óɺó¶Ë¾ö¶¨µÄ¿ìËÙ¹ý¹Øµ½ÄÄ£¬Èç¹ûǰ¶Ë¾ö¶¨µÄÔòÖ±½Ó·µ»Ø lineID
    @note: quickCnt ±¾´Î×ܹ²Ìø¹ý¼¸¹Ø 
    @note: quickFightPower Ä¿±êÕóÈÝÕ½Á¦£¬ÓÃÓÚÑéÖ¤Õ½Á¦ÊÇ·ñÂú×ã¿ìËÙ¹ý¹Ø
    @note: quickData À©Õ¹Êý¾Ý£¬¹¦ÄÜ×Ô¶¨Ò壬´«¸ø OnPlayerFBQuickPassResult
    sGameLogic_%s.%stOnPlayerFBQuickPassN(RRRRR (RRdRÝRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRPs
 
 cCsKt|ƒ}tjtd|dfƒ}|dkr8dS|||||ƒS(s¸±±¾¿ìËÙ¹ý¹Ø½á¹û
    sGameLogic_%s.%stOnPlayerFBQuickPassResultN(RRRRR (RRdRÝt    quickDataRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRQ(s
  cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDdS|||ƒS(NsGameLogic_%s.%stOnChangeMapAsk(RRRRRRR (taskRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRS;s
 cCsKt|ƒ}tjtd|dfƒ}|dkr8tS|||||ƒS(NsGameLogic_%s.%stOnEnterFBEvent(RRRRR Rp(RRdRÝRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRUMs
  c CsÙt|ƒ}tjtd|dfƒ}|dkr=|}n||||||ƒ}|s_dS|d \}}    t|ƒdkr‹|dnd}
|
dkr§||    fStj||
||
ƒtj|    |
|    |
ƒfS(NsGameLogic_%s.%stOnGetFBEnterPosii(RRRRR tlentrandomtrandint( RRdtlineIdtipyEnterPosInfoRRR tposInfotenterXtenterYtdist((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRV^s      " 
cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stOnForbidUseSkill(RRRRRRR R™(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR`ys
 cCsTttjƒjƒƒ}tjtd|dfƒ}|rP|||||ƒndS(NsGameLogic_%s.%stDoFBAttackedOver(RRRRRR(RttargettcurSkillRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRaŠs
cCsTttjƒjƒƒ}tjtd|dfƒ}|rP|||||ƒndS(NsGameLogic_%s.%stDoBeAttackOver(RRRRRR(R`RaRcRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRdšs
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%st    DoUseItem(RRRRRR(RtcurEffIDRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyReªs
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stDoBuffDisAppear(RRRRRR(tcurObjRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRg¹s
cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDdS||ƒS(NsGameLogic_%s.%st DoPlayerDead(RRRRRRR (RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRiÇs
 cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDtS||ƒS(NsGameLogic_%s.%stDoNotifyReBorn(RRRRRRR R™(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRjÖs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stDoFBAttackHasPunish(RRRRRRR Rp(RRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRkås
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stDoFBForbidUseItem(RRRRRRR R™(RtcurItemRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRlôs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDtS|||ƒS(NsGameLogic_%s.%stDoFBForbidReborn(RRRRRRR R™(Rt rebornTypweRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRns
 cCsEt|ƒ}tjtd|dfƒ}|dkr8dS|||ƒS(NsGameLogic_%s.%stGetPlayerResetWorldPosFBMsgR(RRRRR (Rt
resetMapIDRZRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRps
  cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDdS|||ƒS(NsGameLogic_%s.%st DoFBRebornNPC(RRRRRRR (R6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRr"s
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrDdS|||ƒS(NsGameLogic_%s.%stDoFBRebornSummonNPC(RRRRRRR (R6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRs2s
 cCsQttjƒjƒƒ}tjtd|dfƒ}|dkrM|||ƒStS(NsGameLogic_%s.%stCheckCanAttackTagObjInFB(RRRRRRR Rp(R`RaRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRtAs
  cCsTttjƒjƒƒ}tjtd|dfƒ}|dkrP||||ƒStS(NsGameLogic_%s.%stDoFBOnKill_Player_ValuePrize(RRRRRRR Rp(R`RaRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRuQs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%st OnPickUpItem(RRRRRR(RRmRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pytOnFBPickUpItem`s
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%st OnFBGetMoney(RRRRRR(Rt    moneyTypet
moneyCountRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRxos
cCsHttjƒjƒƒ}tjtd|dfƒ}|s>dS||ƒS(NsGameLogic_%s.%stOnGetNPCDropMoneyi(RRRRRR(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR{|s
cCsNttjƒjƒƒ}tjtd|dfƒ}|dkrDdS||ƒS(NsGameLogic_%s.%stOnGetOuterMoneyRatei(RRRRRRR (RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR|Šs
 cCsTttjƒjƒƒ}tjtd|dfƒ}|rP|||||ƒndS(NsGameLogic_%s.%st
DoFBAction(RRRRRR(Rt
actionTypet
actionInfoRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR}›s
cCs?t|ƒ}tjtd|dfƒ}|r;|||ƒSdS(NsGameLogic_%s.%stGetPlayerFBLineID(RRRR(RRdRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR€«s
  cCs<t|ƒ}tjtd|dfƒ}|r8||ƒSdS(NsGameLogic_%s.%stGetFBLineMaxPlayerCounti(RRRR(RdRÝRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR»s
 
cCsEttjƒjƒƒ}tjtd|dfƒ}|rA|ƒStS(NsGameLogic_%s.%stIsFBActivityUnderway(RRRRRRR™(RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR‚Ês
cCsTttjƒjƒƒ}tjtd|dfƒ}|rP||||||ƒStS(NsGameLogic_%s.%stOnHurtValueOrder(RRRRRRR™(RRÿt    hurtValuetordert giveItemListRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRƒØs
cCsKttjƒjƒƒ}tjtd|dfƒ}|rG|||ƒSdS(NsGameLogic_%s.%stGetFBPlayerHurtNPCMultiValuei(RRRRRR(RR6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR‡ãs
 cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stDoFB_Player_HurtNPC(RRRRRR(RR6thurtHPRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRˆós
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stDoFB_NPC_HurtNPC(RRRRRR(RR6R‰RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRŠs
cCsHttjƒjƒƒ}tjtd|dfƒ}|rD||ƒSdS(NsGameLogic_%s.%stGetNPCItemProtectFactioni(RRRRRR(R6RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR‹s
 
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stOnBossHurtListClear(RRRRRR(tobjIDRÿt sortHurtListRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRŒ!s
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stOnBossKilledHurtList(RRRRRR(RRÿRŽRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR0s
cCsfttjƒjƒƒ}tjtd|dfƒ}|rbtjƒjƒ}|||||ƒndS(NsGameLogic_%s.%st OnPVPDamage(RRRRRRRktGetTick(Rt damageValuet    tagPlayerRR R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR;s cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stOnCloseNPCRefresh(RRRRRR(t refreshMarkRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR”Is
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stOnTDCurWheelOver(RRRRRR(R•RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR–Vs
cCsKttjƒjƒƒ}tjtd|dfƒ}|rG||ƒndS(NsGameLogic_%s.%stOnTDAllWheelOver(RRRRRR(RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR—cs
 cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stOnTDNPCReachTheGoal(RRRRRR(R6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR˜os
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ|||ƒndS(NsGameLogic_%s.%stOnPointRefresh(RRRRRR(tstepRRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR™|s
cCsNttjƒjƒƒ}tjtd|dfƒ}|rJ||||ƒStS(NsGameLogic_%s.%stOnCanMoveTouchNPC(RRRRRRRp(RR6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR›†s
cCsQttjƒjƒƒ}tjtd|dfƒ}|rM||||ƒndS(NsGameLogic_%s.%stOnMoveTouchNPC(RRRRRR(RR6RRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRœs
cCsHt|ƒ}tjtd|dfƒ}|dkr8tS||||ƒS(NsGameLogic_%s.%stOnRegEnterCrossFB(RRRRR Rp(RRdRÝRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRœs
  cCsKt|ƒ}tjtd|dfƒ}|dkr8dS|||||ƒS(NsGameLogic_%s.%st OnEndCrossFB(RRRRR (RRdRÝtexDataRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRž§s
  cCsKttjƒjƒƒ}tjtd|dfƒ}|dkrDdS|ƒS(NsGameLogic_%s.%stOnGetCrossFuncLineDataCache(RRRRRRR (RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR ²s
 c    CsZt|ƒ}tjtd|dfƒ}|dkr>t|fS||||||||ƒS(NsGameLogic_%s.%stOnTurnFightRequest(RRRRR Rp(    RRdt
funcLineIDttagTypettagIDt    valueListt    reqExDictRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR¡¹s
 
c    CsTt|ƒ}tjtd|dfƒ}|dkr8tS||||||||ƒS(NsGameLogic_%s.%stOnTurnFightRequestCross(RRRRR Rp(    t crossPlayerRdR¢R£R¤R¥R¦RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR§Çs
  cCsHt|ƒ}tjtd|dfƒ}|dkr8dS||||ƒS(NsGameLogic_%s.%stGetFBNPCLineupInfo(RRRRR (RRdR¢RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR©Ñs
  cCsHt|jƒ}tjtd|dfƒ}|dkr;dS|||ƒS(NsGameLogic_%s.%stGetFBNPCInitAttr(RRdRRRR (t    turnFighttnpcObjRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyRªÜs
 cCsNt|jƒ}tjtd|dfƒ}|dkr;tS|||||ƒS(NsGameLogic_%s.%stOnFBNPCKilledBefore(RRdRRRR Rp(R«tgameObjtkillertuseSkillRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR­æs
 cCsNt|ƒ}tjtd|dfƒ}|rJ|||||||ƒndS(NsGameLogic_%s.%stOnPlayerLineupAttackResult(RRRR(RtatkObjt killObjListR°RdR¢RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR±òs
 cCsKt|ƒ}tjtd|dfƒ}|dkr8dS|||||ƒS(NsGameLogic_%s.%stOnTurnFightOver(RRRRR (R«RdR¢tstatMsgRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR´ýs
  c    
CsZt|ƒ}    tjtd|    dfƒ}
|
dkr8dS|
|||||||||ƒ    S(NsGameLogic_%s.%stOnTurnFightAward(RRRRR ( RtguidRdR¢t
winFactionRµtdateStrtreqDatat    awardDictRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR¶        s
  c Cs`t|ƒ} tjtd| dfƒ} | dkr8tS| ||||||||||    |
ƒ S(NsGameLogic_%s.%stOnTurnFightAwardCross(RRRRR Rp( R¨R·RdR¢R£R¤R¥R¦R¸RµR»RR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR¼    s
  cCsNt|ƒ}tjtd|dfƒ}|dkr8dS||||||ƒS(NsGameLogic_%s.%stC2S_TurnFightAwardAfter(RRRRR (RŸRdR¢tisWint    afterDictRR ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyR½"    s
  (¡RRR'RRmRyRsRÕR¤R—RGRXt    ImportAllRR    R
RCRDR+RIRRRSRTRVR[R\R]R^R_RbRcReRfRgRhRjRoRqRR|R{R}R­RuR·R¼RØRÙRÚRÛRÜRÞRßRåRíRîRïRûRüRýRþRRRR RRRRRRRRRRRR R#R$R)R+R-R/R0R4RR5R7R8R9R;R<R=R?R@RARCRDRERFRIRLRNRORPRQRSRURVR`RaRdReRgRiRjRkRlRnRpRrRsRtRuRwRxR{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 R­R±R´R¶R¼R½(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBLogic.pyt<module>s@                         4                                                                                            1         3                         #                                           -                                                                      
            
    
                         '