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
Øÿ7ec@s±ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z dZ edƒ\ZZZedƒ\ZZZZZd„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)id„Z*d„Z+d„Z,d„Z-d„Z.dS(iÿÿÿÿNt FBDict_FlooriicCstjtjƒS(N(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_RealmTower(((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt__GetFBTimelCfg2scCstjd|ƒS(Nt
RealmTower(t IpyGameDataPYtGetIpyGameData(tfloor((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytGetTowerIpyData4scCst|ƒdS(N(tSyncRealmTowerInfo(t    curPlayer((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytOnFBPlayerOnLogin6s
cCs?tjƒ}|jƒ|jtjƒ|_tj||ƒdS(N(    tChPyNetSendPackttagMCRealmTowerInfotCleartNomalDictGetPropertyRtDef_Player_Dict_RealmTowerFloortFloort NetPackCommont SendFakePack(R t
clientPack((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyR :s
 
cCs#|jtjƒd}t||ƒS(Ni(RRRt__CheckCanChallenge(R tmapIDtlineIdttickt nextFloorID((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytOnEnterFBEventAscCsÚ|jƒ}t|ƒ}|s6tjd||ƒtS|jtjƒ}||krltjd||ƒtS||dkrštjd||f|ƒtS|j    ƒ|j
ƒkrÖtjd||j
ƒf|ƒtSt S(Ns¾³½çËþ²ã²»´æÔÚ: floorID=%ss¸Ã¾³½çËþ²ãÒѹý¹Ø: floorID=%sis*ÉÏÒ»²ãδ¹ý¹Ø: floorID=%s > curFloorID=%s+1s1¸Ã¾³½çËþ²ãËùÐè¾³½ç²»×ã: floorID=%s,NeedRealmLV=%s( t GetPlayerIDR
t    GameWorldtErrLogtFalseRRRtDebugLogtGetOfficialRanktGetNeedRealmLVtTrue(R tfloorIDtplayerIDtipyDatat
curFloorID((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyRFs     cCs|S(N((R RRtipyEnterPosInfoR((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytOnGetFBEnterPos\scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytOnChangeMapAsk_scCsåtjƒ}|jƒ}|tkrntƒtd|tjƒjƒ}|jtj    dt
|dƒt ƒns|t krÄtƒt d|tjƒjƒ}|jtjdt
|dƒt ƒn|t krátj|ƒdSdS(Nièi(Rt    GetGameFBt    GetFBSteptFB_State_FightPrepareRtDef_PrepareTimet GetFBStepTickt Sync_TimeTickR+t tttWaitStarttmaxR$tFB_State_Fightingt Def_FightTimet tttTowerTaket PlayerControlt PlayerLeaveFB(R RtgameFBtfbStept notify_tick((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt    DoEnterFBbs   %% %%  cCsdS(N((R((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt    OnCloseFBuscCstj|ƒdS(N(tGameWorldProcesstCloseFB(R R((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytDoExitFBxs cCsvtjƒ}|jƒ}|tkr1t|ƒnA|tkrJt|ƒn(|tkrct|ƒn|t    krrndS(N(
RR/R0R1t__DoLogic_FightPrepareR7t__DoLogic_FightingtFB_State_FreeTimet__DoLogic_FreeTimetFB_State_Close(RR<R=((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt    OnProcess}s         cCsLtjƒ}|jtƒ}t|ƒ}|sBtjd|ƒdS|jƒS(Ns<__GetRealmTowerBossID() can not find %s in RealmTowerNPC.txti(RR/tGetGameFBDictByKeyRR
Rt    GetBossID(R<R%R'((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt__GetRealmTowerBossIDs  cCs¥tjƒ}tƒ}||jƒ|tdkr7dStƒ}|sTtjƒdStjt    j
|t dƒt j tjtjdƒ|gƒtjt|ƒdS(Nièi(RR/RR3R2RLRtDoLogic_FBKickAllPlayertSync_Player_TimeTickR+R9R8tNPCCustomRefresht SetNPCRefreshtGetFBLineRefreshNPCRRt    SetFBStepR7(RR<ttrialCfgtbossID((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyRD™s         
"cCsõ|jƒtjkrDtjd|jƒƒtj|tj    |ƒnt
j |ƒt j ƒtjƒ}|jt|ƒtƒtd}t jtj|ƒt jt|ƒi|t j6}t j||ƒtjd|t|ƒf|jƒƒdS(Ns ¸´»îÍæ¼Ò...iès%StartfloorID, floorID=%s, helpDict=%s(tGetPlayerActionR+tpaDieRR!RtChPlayertPlayerRebornByTypeRtrebornType_CitytGameObjt    SetHPFullRt
ClearFBNPCR/t SetGameFBDictRRR2RNR5RRR1t
Help_wheelt Notify_FBHelptstr(R R%RR<t prepareTickthelpDict((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt StartfloorID®s 
 &cCs¢tjƒ}||jƒtƒtdkr1dS|jtƒ}tjƒ}xEt|j    ƒƒD]1}|j
|ƒ}|s€q_nt ||t ƒq_Wt |ƒdS(Niè(RR/R3RR8RJRtGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndext__SendRealmTowerOverInfoR t__SetFBToFreeTime(RR<R%t playerManagertindexR ((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyREÁs ! 
cCs2tjtjtƒtdƒtjt|ƒdS(Niè(RRNR+t tttLeaveMapRt Def_ExitTimeRRRF(R((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyRiÔscCs/|tjƒjƒtƒtdkr+dSdS(Niè(RR/R3RRm(R((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyRGÙs'c
Cstjƒ}|jƒtkr"dStƒ}||jƒkrAdS|jtƒ}t|ƒ}|sfdSt    j
|t j |ƒtj d|ƒ|jƒ}tj||ddtigƒitj|ƒtj6}|tjƒjƒ}    |    |tj<t||t|ƒt|ƒt|ƒdS(Ns¸üо³½çËþÒÑͨ¹ØÊý %sR(RR/R0R7RLtGetNPCIDRJRR
R:tNomalDictSetPropertyRRR!tGetRewardItemListt ItemControlertGivePlayerItemOrMailtNoneR RtGetJsonItemListt Over_itemInfoR3t Over_costTimeRhR$R Ri(
R tcurNPCRR<RTR%R't giveItemListt    prizeDicttcostTime((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytDoFB_Player_KillNPCßs*        
 
cCsdtj|tj<||tj<t|ƒ|tj<tjdt    |ƒ|j
ƒƒtj ||ƒdS(Ns$__SendRealmTowerOverInfo overDict=%s( RRRtOver_dataMapIDt
Over_wheeltintt Over_isPassRR!R`RtNotify_FB_Over(R R%tisPasstoverDict((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyRhs   cCs&tjƒ}|jƒtkr"tStS(N(RR/R0R7R R$(tattackertdefenderR<((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytCheckCanAttackTagObjInFBs cCsKtjƒ}|jtƒ}t||tƒtjƒjƒ}t|ƒdS(N(    RR/RJRRhR t GetGameWorldtGetTickRi(R R<R%R((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt DoPlayerDeads  
cCstS(N(R$(((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pytOnPlayerReborn scCs‚|dkrdStjƒ}|jƒ}|ttgkrKtjdƒdS|}t||ƒsntjƒdSt    |||ƒdS(Nis×¼±¸»òÕ½¶·ÖÐ, ÎÞ·¨±ä¸ü¹Ø¿¨!(
RR/R0R1R7R!RRRMRc(R t
actionTypet
actionInfoRR<R=R%((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt
DoFBAction$s    
(/RRR+R:RRORARRqRRRWRZRtrangeR2R8Rmt FB_State_OpenR1R7RFRHRR
R R RRR*R.R?R@RCRIRLRDRcRERiRGR{RhR…RˆR‰RŒ(((sŠE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_RealmTower.pyt<module>sN                                                                                              $