cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
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
Æ£g\c@sÂddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZdZdZdZdZdZdZdZd    Zd
Zd Zd Zd Zedƒ\Z Z!Z"Z#edƒ\Z$Z%Z&Z'Z(d„Z)d„Z*d„Z+d„Z,d„Z-dd„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6d„Z7e8dd„Z:dd „Z;d!„Z<d"„Z=d#„Z>d$„Z?d%„Z@d&„ZAd'„ZBeCd(„ZDd)„ZEid*„ZFd+„ZGd,„ZHd-„ZId.„ZJd/„ZKd0„ZLd1„ZMd2„ZNd3„ZOd4„ZPdS(5iÿÿÿÿNit FBDict_Levelt FBDict_FBStartFBDict_isFirstStFBDict_StartTickt FBDict_SpeedtFBDict_RemainHPtFBDict_IsReduceingtFBDict_BossTotalHPtFBDict_LastHurtTicktFBDict_HasGiveAwardtFBDict_HasPassicCstjtjƒS(N(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_ZhuXianTower(((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt__GetZhuXianCfgIscCstjd|ƒS(Nt ZhuXianTower(t IpyGameDataPYtGetIpyGameData(tlevel((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytGetTowerIpyDataLscCs%tj|tjtjƒstj|tjtjdƒt|ƒ}|rg}xštd|dƒD]…}t|ƒ}|sqcnxd|j    ƒD]V}|d}tj
ƒj |ƒ}|s¿qŽn|j ƒtj krŽ|j|ƒqŽqŽWqcW|rtjd|jƒg|ƒqqnt|ƒdS(NiitKillGodTowerCompensation(t    GameWorldtGetDictValueByBitR tDef_Player_Dict_VersionFixtDef_VerFix_ZXTowertSetDictValueByBitt__GetZhuXianTowerCurPassLVtxrangeRt GetFirstAwardt GetGameDatatGetItemByTypeIDtGetTypetDef_ItemType_ZhuXianStonetappendt PlayerControlt SendMailByKeytGetIDtSyncZhuXianLevelInfo(t    curPlayertcurFloort giveItemListtfloortipyDatatitemInfotitemIDtitemData((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnFBPlayerOnLoginPs(  
%
cCsNtjƒ}|jƒt|ƒ|_|jtjƒ|_t    j
||ƒdS(N( tChPyNetSendPackttagMCZhuXianTowerInfotClearRtFloortNomalDictGetPropertyR t%Def_Player_Dict_ZhuXianTowerLastFloort    LastFloort NetPackCommont SendFakePack(R'tttInfo((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR&ms  
cCs|jtjƒS(N(R4R t"Def_Player_Dict_ZhuXianTowerPassLV(R'((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRwsicCsNtj|tj|ƒtj|tj|ƒtj|ƒtjd|ƒdS(Ns ¸üÐÂÖïÏÉËþÒÑͨ¹ØÊý %s(    R#tNomalDictSetPropertyR R:t$Def_Player_Dict_ZhuXianTowerCostTimetPlayerBillboardtUpdateZhuXianTowerBillboardRtDebugLog(R'tpasslvt costSeconds((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytSetZhuXianTowerCurPassLV|s
 cCstS(N(tTrue(R'tmapIDtlineIdttick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnEnterFBEvent‹scCs”t|ƒ}tjƒ}|j|jƒdƒjƒ}||krŒ|jtjtj    ƒ}|t
j |tj    ƒkrˆt j dƒdS|S|dS(Nis½øÈë´ÎÊý²»×㣡£¡i(RRtIPY_DatatGetZhuXianTowerByIndextGetZhuXianTowerCountR%R4R tDef_Player_Dict_EnterFbCntDayRR tGetEnterFBMaxCntRtLog(R'R(tipyMgrtmaxFloortenterCnt((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt__CheckCanChallenges    cCsltjƒ}|jƒ}|jtƒ}|jtƒ}|tkrh|tksU| rhtj    |ƒqhndS(N(
Rt    GetGameFBt    GetFBSteptGetGameFBDictByKeyRR
tFB_State_FreeTimet Def_MaxStarR tUpdateFBEnterTick(R'tgameFBtfbSteptcurStarthasPass((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoPlayerChangeMapLogicžs   cCs|S(N((R'RDREtipyEnterPosInfoRF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnGetFBEnterPos¯scCstjS(N(t IPY_GameWorldt    cmeAccept(taskRF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnChangeMapAsk·scCs÷tj|tjdtjƒtjƒ}|jƒ}tƒ}|t    kr|t
d|tjƒj ƒ}|j t jdt|dƒtƒnc|tkró|td|tjƒj ƒ}|j t jdt|dƒtƒt|t|ƒndS(Niiè(t EventReportt WriteEvent_FBR Rt CME_Log_StartRRRRSRtFB_State_FightPreparetDef_PrepareTimet GetFBStepTickt Sync_TimeTickR_t tttWaitStarttmaxRCtFB_State_Fightingt Def_FightTimet tttTowerTaket__UpdZhuXianTowerFBStar(R'RFRXRYt
ZhuXianCfgt notify_tick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt    DoEnterFB¿s       "% ""cCsdS(N((RF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt    OnCloseFBÔscCsutjƒ}|jƒ}|tkrq|jtƒ}|jtƒ}|ra|tkrat|ƒnt    j
|ƒndS(N( RRRRSRURTRR
RVt__GiveFBPassPrizetGameWorldProcesstCloseFB(R'RFRXRYRZR[((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoExitFBÝs    cCstjƒ}|jƒ}|tkr1t|ƒnh|tkrqt|ƒt|ƒt|ƒt    j
|t dƒn(|t krŠt |ƒn|tkr™ndS(Niˆ(RRRRSRft__DoLogic_FightPrepareRlt__DoLogic_Fightingt __CheckBossHPRoR tNotifyCopyMapPlayerFBHelptDoFBHelpRUt__DoLogic_FreeTimetFB_State_Close(RFRXRY((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt    OnProcessïs     
 
 
   cCsçtjƒ}|jƒ}|tkr(dS|jtƒ}|dkrG|Stjƒjƒ}tt    j
||j ƒdƒƒ}t j |ƒ}|t}    d}
d} x<t|    dƒD]+\} } || kr±| } | |}
q±q±W|| kr÷| r÷|S|jt| ƒtjd||| |
fƒ|rft||ƒ| dkrã|jtjd|
dtƒqãn}tjƒ}xnt|jƒƒD]Z}|j|ƒ}|s¦q…nt||ƒ| dkr…|jtjd|
dtƒq…q…W| S(Nig@@iis=__UpdFBStar useSecond=%s,curStar=%s,updStar=%s, diffSecond=%siè(RRRRSRlRTRtGetMaptGetMapIDtinttmathtceilRhR R t Def_StarTimet    enumeratet SetGameFBDictR?R|RiR_t tttFlagTakeRCtGetMapCopyPlayerManagerRtGetPlayerCounttGetPlayerByIndex(RFtisEnterR'RXRYRZRDt    useSecondt chaosDemonCfgt starTimeListt
diffSecondtupdStartstartstarTimet playerManagertindex((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRosF    #
       #   $cCs[tjƒ}|dkr*|jtƒ}nt|ƒ}|sQtjd|ƒdS|jƒS(Niÿÿÿÿs;__GetZhuXianBossID() can not find %s in tagZhuXianTower.txti(RRRRTRRtErrLogtGetNPCID(tfbLevelRXR+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt__GetZhuXianBossID1s   cCs¥tjƒ}tƒ}||jƒ|tdkr7dStƒ}|sTtjƒdStjt    j
|t dƒt j tjtjdƒ|gƒtjt|ƒdS(Nièi(RRRRRhRgR™R tDoLogic_FBKickAllPlayertSync_Player_TimeTickR_RnRmtNPCCustomRefresht SetNPCRefreshtGetFBLineRefreshNPCR Rt    SetFBStepRl(RFRXRptbossID((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRx@s         
"c
Cs|jƒtjkrDtjd|jƒƒtj|tj    |ƒn|j
|j ƒƒt j ƒtjƒ}|jt|ƒ|jƒ}t|ƒ}|jƒ}ttjdƒƒ}|jt|dƒ|jtdƒ|jt|dƒ|jtdƒ|jtdƒ|jtdƒ|jtdƒ|jtdƒ|jtdƒt ƒt!d}t j"tj#|ƒt j"tj$|ƒt j%t&|ƒ|j'tj(ƒ}    ||    krÖt)j*|tj(|ƒt+|ƒnt,||ƒtjd||f|jƒƒdS(Ns ¸´»îÍæ¼Ò...tZhuXianTowerBossTimeièis$StartFBLevel, fbLevel=%s£¬totalHP=%s(-tGetPlayerActionR_tpaDieRR?t GetPlayerIDtChPlayertPlayerRebornByTypeR trebornType_CitytSetHPtGetMaxHPR t
ClearFBNPCRRR‡Rt GetFightPowerRt GetNeedPowertevalRtGetFuncCompileCfgRRRRRR    RRR
RRgR›t tttAddUpTimeRjRŸRfR4R5R#R;R&R|(
R'R˜RFRXt playerPowerR+t    needPowerttotalHPt prepareTickt    lastFloor((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt StartFBLevelTs>
        cCsêtjƒ}||jƒtƒtdkry|jtƒ}|ru||dkrut|ƒtjƒjtdƒndS|jt    ƒ}tj
ƒ}xEt |j ƒƒD]1}|j |ƒ}|sÈq§nt||tƒq§Wt|ƒdS(NièiÐi(RRRRhRRmRTRt StopReduceHPR‡RR‰RRŠR‹t__SendZhuXianTowerOverInfotFalset__SetFBToFreeTime(RFRXt lastHurtTickR˜R”R•R'((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRy~s  !
 
cCs2tjtjtƒtdƒtjt|ƒdS(Niè(R R›R_t tttLeaveMapRt Def_ExitTimeRŸRU(RF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR¹™scCs/|tjƒjƒtƒtdkr+dSdS(Niè(RRRRhRR¼(RF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR}£s'c Csztjƒ}|jtƒ}t|ƒ}|s1dStjƒ}|sTtj|ƒdS|tjƒj    ƒ}|jt
ƒ}d}|t |ƒkrº|t krºt |||dƒd}n|jt|ƒ|jƒ}|r|rtjdd|jƒ||gƒnt|tƒ}    i|tj6tj|    ƒtj6|tj6}
t|||    rXtnt|
ƒt|ƒt|ƒdS(NiièitKillGodTowerInfo_1(RRRRTRRR tGetCurSingleFBPlayerRuRvRhRRRVRBR‡RtGetUnLockEquipPlaceR#t WorldNotifyt GetPlayerNameRtR¸t Over_costTimetGetJsonItemListt Over_itemInfot
Over_gradeR·RCR&R¹( RFRXR˜R+R'tcostTimeRZtisFirstStunLockEquipPlacet prizeItemListt    prizeDict((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoZhuXianTowerOver«s4          %  
 
cCsdS(N((R'tcurNPCRF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoFB_Player_KillNPCÞsc    Cs:tjƒ}|jtƒ}t|ƒ}|s1gS|jtƒ}|rU|jƒ}n'|jtƒ}|jƒj    |gƒ}|s†gS|s|S|jt
ƒr¹tj d|j ƒƒdS|jt ƒ}|sÒdStj||ddtigƒ|stj|tjdƒn|jt
dƒtj|tjdƒdS(Ns±¾²ã½±ÀøÒѸø£¬²»ÄÜÖØ¸´¸ø£¡£¡tKillGodTowerRewardRi(RRRRTRRRRRt GetGradeAwardtgetR    RMR%R
t ItemControlertGivePlayerItemOrMailR¸R tAddEnterFBCountR RR‡tPlayerActLogintAddLoginAwardActionCnttDef_LoginAct_ZhuXianTower(    R'tisGiveRXtpreFloorR+t isFirstPassRÉRZR[((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRtäs4  c Cs÷tjƒ}|jtƒ}|jtƒ}|jtƒ}t|ƒ}tƒ}|rb|d|nd}|r…td|d|ƒnd}    |jt    ƒ}
i|
t
j 6|t
j 6|d6|    d6|d6} tj d| |jƒƒt
j|| ƒdS(Ni'ii@Bt hpReduceSpeedt remainHPPert isReduceings DoFBHelp: %s(RRRRTRRRtGetBossRemainHPt__GetBossTotalHPtminRR t
Help_wheelt
Help_gradeR?R¤t Notify_FBHelp( R'RFRXR’tcurSpeedRÜtremainHPR²RÚRÛR˜t
fbHelpDict((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR|s      #/cCs€tj|tj<||tj<t|ƒ|tj<tjdt    |ƒ|j
ƒƒtj ||ƒtj ƒj tt|ƒƒdS(Ns&__SendZhuXianTowerOverInfo overDict=%s(R RR tOver_dataMapIDt
Over_wheelR‚t Over_isPassRR?tstrR¤tNotify_FB_OverRRR‡R
(R'R˜tisPasstoverDict((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR· s  cCs&tjƒ}|jƒtkr"tStS(N(RRRRSRlR¸RC(tattackertdefenderRX((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytCheckCanAttackTagObjInFB/s cCsKtjƒ}|jtƒ}t||tƒtjƒjƒ}t|ƒdS(N(    RRRRTRR·R¸t GetGameWorldtGetTickR¹(R'RXR˜RF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt DoPlayerDead;s  
cCstS(N(RC(((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnPlayerRebornHscCs§tjƒ}|jƒ}|dkrz|ttgkrGtjdƒdSt|ƒ}|sgtjƒdSt    |||ƒn)|dkr£|t
kr–dSt |ƒndS(Nis×¼±¸»òÕ½¶·ÖÐ, ÎÞ·¨±ä¸ü¹Ø¿¨!i( RRRRSRfRlR?RQR RšRµRURt(R't
actionTypet
actionInfoRFRXRYtnewFloor((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt
DoFBActionRs      
   cCsqtjƒ}|jƒ}|tkrmt|ƒdkrmtjƒtj|tdƒtj    dƒt
|ƒndS(Nis½áÊø ÉèÖÃBOSSËÀÍö ( RRRRSRlRÝR RªR{R|R?RË(RFRXRY((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRzis  
  cCsftjƒ}|jtƒsdSt|ƒ}|s5dS|jtdƒ|jt|ƒtjdƒdS(Nis    ÔÝÍ£BOSSѪÁ¿¼õÉÙ(RRRRTRRÝR‡RR?(RFRXRä((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR¶xs   cCsŽtjƒ}|jtƒrdS|jtdƒ|jtƒ}|sZ|jttƒƒn|jt|ƒtjdƒt    j
|t dƒdS(Nis    ¿ªÊ¼BOSSµôѪi( RRRRTRR‡RRRÞR?R R{R|(RFRXt    startTick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt StartReduceHP†s  cCstjƒjtƒS(N(RRRRTR(((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRޖscCstjƒ}|jtƒ}|jtƒ}|jtƒ}|jtƒsL|S|sd|}tƒ}n%tdt    |||d|ƒƒ}|S(Nig@@(
RRRRTRRRRRÞRkR‚(RFRXRøt    lastSpeedRä((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRݙs  %cCs6tjƒjƒ}tjƒjt|ƒt|ƒdS(N(RRðRñRRR‡RRù(R'RÌthurtHPRF((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoFB_Player_HurtNPC®s
(QR RR_R#RœR0RÑR7t ShareDefineRt
ItemCommonR R¥RÔRuR=RctrandomRƒRVRRRRRRRRRR    R
trangeRgRmR¼R…t FB_State_OpenRfRlRUR~RRR/R&RRBRGRQR\R^RbRrRsRwRR¸tNoneRoR™RxRµRyR¹R}RËRÍRCRtR|R·RïRòRóR÷RzR¶RùRÞRÝRü(((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt<module>sŠ                                       
                                             .         *        
        3     *