cehua-HWJ35
2019-01-23 35f3b5dc5f80a5fdc507a1cb47de86e1b47b3c67
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
 /H\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-d„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.„ZKd/„ZLd0„ZMd1„ZNd2„ZOd3„ZPdS(4iÿÿÿÿNit FBDict_Levelt FBDict_FBStartFBDict_isFirstStFBDict_StartTickt FBDict_SpeedtFBDict_RemainHPtFBDict_IsReduceingtFBDict_BossTotalHPtFBDict_LastHurtTicktFBDict_HasGiveAwardtFBDict_HasAddCnticCstjtjƒ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.pytGetTowerIpyDataLscCst|ƒdS(N(tSyncZhuXianLevelInfo(t    curPlayer((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnFBPlayerOnLoginPs
cCs9tjƒ}|jƒt|ƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCZhuXianTowerInfotCleart__GetZhuXianTowerCurPassLVtFloort NetPackCommont SendFakePack(RtttInfo((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRWs
 
cCs|jtjƒS(N(tNomalDictGetPropertyR t"Def_Player_Dict_ZhuXianTowerPassLV(R((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR`scCs+tj|tj|ƒtjd|ƒdS(Ns ¸üÐÂÖïÏÉËþÒÑͨ¹ØÊý %s(t PlayerControltNomalDictSetPropertyR R!t    GameWorldtDebugLog(Rtpasslv((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytSetZhuXianTowerCurPassLVescCstS(N(tTrue(RtmapIDtlineIdttick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnEnterFBEventtscCs”|jtjtjƒ}|tj|tjƒkrEtjdƒdSt|ƒ}t    j
ƒ}|j |j ƒdƒj ƒ}||krŒ|S|dS(Ns½øÈë´ÎÊý²»×㣡£¡ii(R R tDef_Player_Dict_EnterFbCntDayRR tGetEnterFBMaxCntR$tLogRRtIPY_DatatGetZhuXianTowerByIndextGetZhuXianTowerCounttGetID(RtenterCnttcurFloortipyMgrtmaxFloor((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt__CheckCanChallengeys    cCs5tjƒjtƒ}|tkr1tj|ƒndS(N(R$t    GetGameFBtGetGameFBDictByKeyRt Def_MaxStarR tUpdateFBEnterTick(RtcurStar((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoPlayerChangeMapLogicˆs cCs|S(N((RR)R*tipyEnterPosInfoR+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnGetFBEnterPos•scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR+((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_StartR$R9t    GetFBStepRtFB_State_FightPreparetDef_PrepareTimet GetFBStepTickt Sync_TimeTickRAt tttWaitStarttmaxR(tFB_State_Fightingt Def_FightTimet tttTowerTaket__UpdZhuXianTowerFBStar(RR+tgameFBtfbStept
ZhuXianCfgt notify_tick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt    DoEnterFB¥s       "% ""cCsdS(N((R+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt    OnCloseFBºscCs`tjƒ}|jƒ}|tkr\|jtƒ}|tkrLt|ƒntj    |ƒndS(N(
R$R9RHtFB_State_FreeTimeR:RR;t__GiveFBPassPrizetGameWorldProcesstCloseFB(RR+RSRTR=((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ˆ(R$R9RHRIt__DoLogic_FightPrepareROt__DoLogic_Fightingt __CheckBossHPRRR tNotifyCopyMapPlayerFBHelptDoFBHelpRYt__DoLogic_FreeTimetFB_State_Close(R+RSRT((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è(R$R9RHROR:RtGetMaptGetMapIDtinttmathtceilRKR R t Def_StarTimet    enumeratet SetGameFBDictR%RbRLRAt tttFlagTakeR(tGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndex(R+tisEnterRRSRTR=R)t    useSecondt chaosDemonCfgt starTimeListt
diffSecondtupdStartstartstarTimet playerManagertindex((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRRèsF    #
       #   $cCs[tjƒ}|dkr*|jtƒ}nt|ƒ}|sQtjd|ƒdS|jƒS(Niÿÿÿÿs;__GetZhuXianBossID() can not find %s in tagZhuXianTower.txti(R$R9R:RRtErrLogtGetNPCID(tfbLevelRStipyData((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt__GetZhuXianBossIDs   cCs¥tjƒ}tƒ}||jƒ|tdkr7dStƒ}|sTtjƒdStjt    j
|t dƒt j tjtjdƒ|gƒtjt|ƒdS(Nièi(R$R9RRKRJRR tDoLogic_FBKickAllPlayertSync_Player_TimeTickRARQRPtNPCCustomRefresht SetNPCRefreshtGetFBLineRefreshNPCR Rt    SetFBStepRO(R+RSRUtbossID((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR^%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ƒtƒt d}t j!tj"|ƒt j!tj#|ƒt j$t%|ƒt&||ƒtjd||f|jƒƒdS(Ns ¸´»îÍæ¼Ò...tZhuXianTowerBossTimeièis$StartFBLevel, fbLevel=%s£¬totalHP=%s('tGetPlayerActionRAtpaDieR$R%t GetPlayerIDtChPlayertPlayerRebornByTypeR trebornType_CitytSetHPtGetMaxHPR t
ClearFBNPCR9RmRt GetFightPowerRt GetNeedPowertevalRtGetFuncCompileCfgRRRRRR    RRRRJRƒt tttAddUpTimeRMR‡RIRb(    RRR+RSt playerPowerR€t    needPowerttotalHPt prepareTick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt StartFBLevel9s4
      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(R$R9RKRRPR:Rt StopReduceHPRmRRoRpRqRrt__SendZhuXianTowerOverInfotFalset__SetFBToFreeTime(R+RSt lastHurtTickRR{R|R((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR_]s  !
 
cCs2tjtjtƒtdƒtjt|ƒdS(Niè(R RƒRAt tttLeaveMapRt Def_ExitTimeR‡RY(R+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR xscCs/|tjƒjƒtƒtdkr+dSdS(Niè(R$R9RKRR£(R+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRc‚s'c Cs”tjƒ}|jtƒ}t|ƒ}|s1dStjƒ}|sTtj|ƒdS|tjƒj    ƒ}|jt
ƒ}d}|t |ƒkrÔ|t krÔt ||ƒtj|tj|d|dƒd}n|jt|ƒ|jƒ}|r!|r!tjdd|jƒ||gƒnt|tƒ}    i|tj6tj|    ƒtj6|tj6}
t|||    rrtnt|
ƒt |ƒt!|ƒdS(Nii'ièitKillGodTowerInfo_1("R$R9R:RRR tGetCurSingleFBPlayerR[R\RKRRR;R'tPlayerBillboardtUpdatePlayerBillboardt ShareDefinetDef_BT_ZhuXianTowerRmRtGetUnLockEquipPlaceR"t WorldNotifyt GetPlayerNameRZRŸt Over_costTimetGetJsonItemListt Over_itemInfot
Over_gradeRžR(RR ( R+RSRR€RtcostTimeR=tisFirstStunLockEquipPlacet prizeItemListt    prizeDict((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoZhuXianTowerOverŠs6     !      %  
 
cCsdS(N((RtcurNPCR+((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 ƒƒdSt |ƒ}tj|tj|ƒ}    t||    kƒ}
|
r4tjd|jƒg|ƒtjdt|ƒ|jƒƒnHxE|D]=\} } } tj|| | | tjgddtigƒq;W|jtƒs´tj|tjdƒ|j tdƒn|j t
dƒdS(Ns±¾²ã½±ÀøÒѸø£¬²»ÄÜÖØ¸´¸ø£¡£¡tKillGodTowerRewards'±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%steventRi(!R$R9R:RRRt GetFirstAwardRt GetGradeAwardtgetR    R/R3tlent
ItemCommontGetItemPackSpaceRAtrptItemRhR"t SendMailByKeyRŒR%tstrt ItemControlertGivePlayerItemRŸR
R tAddEnterFBCountR RRm(RtisGiveRStpreFloorR€t isFirstPassR´R=t    needSpacet
emptySpacet
isSendMailtitemIDtitemCnttisBind((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRZÄs>   #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'iidt hpReduceSpeedt remainHPPert isReduceings DoFBHelp: %s(R$R9R:RRRtGetBossRemainHPt__GetBossTotalHPtminRR t
Help_wheelt
Help_gradeR%RŒt Notify_FBHelp( RR+RSRytcurSpeedRÒtremainHPRšRÐRÑRt
fbHelpDict((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRbós      #/cCsdtj|tj<||tj<t|ƒ|tj<tjdt    |ƒ|j
ƒƒtj ||ƒdS(Ns&__SendZhuXianTowerOverInfo overDict=%s( R RR tOver_dataMapIDt
Over_wheelRht Over_isPassR$R%RÃRŒtNotify_FB_Over(RRtisPasstoverDict((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRžs   cCs&tjƒ}|jƒtkr"tStS(N(R$R9RHRORŸR((tattackertdefenderRS((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytCheckCanAttackTagObjInFBs cCsKtjƒ}|jtƒ}t||tƒtjƒjƒ}t|ƒdS(N(    R$R9R:RRžRŸt GetGameWorldtGetTickR (RRSRR+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt DoPlayerDeads  
cCstS(N(R((((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytOnPlayerReborn,scCs§tjƒ}|jƒ}|dkrz|ttgkrGtjdƒdSt|ƒ}|sgtjƒdSt    |||ƒn)|dkr£|t
kr–dSt |ƒndS(Nis×¼±¸»òÕ½¶·ÖÐ, ÎÞ·¨±ä¸ü¹Ø¿¨!i( R$R9RHRIROR%R8R R‚RœRYRZ(Rt
actionTypet
actionInfoR+RSRTtnewFloor((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt
DoFBAction6s      
   cCsqtjƒ}|jƒ}|tkrmt|ƒdkrmtjƒtj|tdƒtj    dƒt
|ƒndS(Nis½áÊø ÉèÖÃBOSSËÀÍö ( R$R9RHRORÓR R’RaRbR%R¶(R+RSRT((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR`Ms  
  cCsftjƒ}|jtƒsdSt|ƒ}|s5dS|jtdƒ|jt|ƒtjdƒdS(Nis    ÔÝÍ£BOSSѪÁ¿¼õÉÙ(R$R9R:RRÓRmRR%(R+RSRÚ((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyR\s   cCsŽtjƒ}|jtƒrdS|jtdƒ|jtƒ}|sZ|jttƒƒn|jt|ƒtjdƒt    j
|t dƒdS(Nis    ¿ªÊ¼BOSSµôѪi( R$R9R:RRmRRRÔR%R RaRb(R+RSt    startTick((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt StartReduceHPjs  cCstjƒjtƒS(N(R$R9R:R(((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRÔzscCstjƒ}|jtƒ}|jtƒ}|jtƒ}|jtƒsL|S|sd|}tƒ}n%tdt    |||d|ƒƒ}|S(Nig@@(
R$R9R:RRRRRÔRNRh(R+RSRít    lastSpeedRÚ((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyRÓ}s  %cCs6tjƒjƒ}tjƒjt|ƒt|ƒdS(N(R$RåRæR9RmRRî(RR·thurtHPR+((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pytDoFB_Player_HurtNPC’s
(QR R$RAR"R„RRÄRR¨RR¿R Rt PlayerSuccessR[R¦REtrandomRiR;RRRRRRRRRR    R
trangeRJRPR£Rkt FB_State_OpenRIRORYRdRRRRRR'R,R8R>R@RDRWRXR]ReRŸtNoneRRRR^RœR_R RcR¶R¸R(RZRbRžRäRçRèRìR`RRîRÔRÓRñ(((sx.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_ZhuXianTower.pyt<module>sŠ                                                                                            .         $        
        4     /