cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
À-\c@sÃddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z e dƒ\ZZZZZZdZdZe dƒ\ZZZZd„Zd„Zd„Zd    „Zd
„Zd „Zd „Z d „Z!d„Z"d„Z#d„Z$e%dd„Z'e%d„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3dS(iÿÿÿÿNitFamilyBossFB_StartFamilyBossFB_FamilyIDicCstjtjdƒS(Ni(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_FamilyBossMap(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGetFamilyBossFBTimeCfg7scCsy|tjkr/tj|}||kr/dSn|tj|<|tjkr^tjj|ƒntjd||fƒdS(Ns&¿ªÆôÏÉÃËBoss: familyID=%s,openCount=%s(t
PyGameDatatg_familyBossOpenCountDicttg_familyBossPlayertpopt    GameWorldtDebugLog(tfamilyIDt    openCountt curOpenCount((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGameServerOpenFamilyBoss9s   cCsµ|jƒ}|sdS|tjkr)dStj|}tjj|gƒ}|jƒ}||krgdS|j|ƒ|tj|<tjdtjƒt    j
|t j |t j ƒdS(NsÏÉÃ˲ÎÓëÍæ¼Ò: %s(t GetFamilyIDRRR    tgett GetPlayerIDtappendR R t EventReportt WriteEvent_FBRRt CME_Log_Start(t    curPlayerR RtfamilyPlayerListtplayerID((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytAddFamilyBossPlayerDs      cCs0tjƒ}|jtdƒ|jtdƒdS(Ni(R t    GetGameFBt SetGameFBDicttMap_FamilyBossFB_FamilyIDR(tticktgameFB((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnOpenFB[s cCs¨tjƒ}|jtƒ}|tjkrQtjj|ƒtjdtjƒn|tjkr‡tjj|ƒtjdtjƒntj    ƒj
dƒt j ƒdS(NsÒÆ³ýÏÉÃË¿ªÆôbossÊý£º%ssÒÆ³ýÏÉÃ˲ÎÓëÍæ¼Ò£º%si( R RtGetGameFBDictByKeyRRRR
R R    t GetGameWorldt SetPropertyIDRtDoLogic_FBKickAllPlayer(RR R ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    OnCloseFBfs 
cCs t||ƒS(N(t __CheckEnter(RtmapIDtlineIDR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnEnterFBEvent€scCs'|jƒdkr#tjdƒtStS(Nis Ã»ÓÐÕ½ÃË£¬²»ÄܽøÈëÕ½ÃËboss¸±±¾£¡(RR R tFalsetTrue(RR(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyR'‰s cCs|S(N((RR(tlineIdtipyEnterPosInfoR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnGetFBEnterPosšscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnChangeMapAsk¤sc    CsÃtjƒjƒ}t||ƒs2tj|ƒdStjƒ}|jƒ}|tkr¿t    j
t |ƒ|j ƒ}|j t|ƒt|dgƒ}tjƒjdddd|t|ƒƒntƒ}|jƒ}|t krþt||td||ƒnª|tkr[t|td||jƒdƒ}|jtjd|tƒt|t|ƒnM|tkr¨t|t d||jƒdƒ}|jtj!d|tƒnt"||ƒt#|ƒdS(NiitFamilyBossFBStateiè($R R#tGetMapIDR't PlayerControlt PlayerLeaveFBRt    GetFBStept FB_Step_OpenRt    SetFBSteptFB_Step_MapPrepareRRRtstrtGetPlayerManagertGameServer_QueryPlayerResulttlenRt__EnterFBInPreparetDef_Time_MapPreparetFB_Step_FightingtmaxtDef_Time_Fightt GetFBStepTickt Sync_TimeTickR0t tttTowerTakeR,t__UpdFamilyBossFBStartFB_Step_LeaveTimetDef_Time_Leavet tttLeaveMaptDoFBHelpR(    RRR(R tfbStepR tmsgStrtfamilyBossFBCfgt
notifyTick((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    DoEnterFB­s4     +       % % 
cCsztjƒjƒ}|tkr+t|ƒnK|tkrDt|ƒn2|tkr]t|ƒn|t    krvt|ƒndS(N(
R RR8R;t__DoLogic_MapPrepareRBt__DoLogic_MapFightingRIt__DoLogic_MapLeavetFB_Step_LeaveTime1(RRM((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    OnProcessÔs        cCs³tjƒ}|jtƒ}|dkr+|Sttj||jƒdƒƒ}tƒ}|t    }d}d}    x<t
|dƒD]+\}
} || kr}|
}    | |}q}q}W||    krÃ| rÃ|S|j t|    ƒtj d|||    |fƒ|r2t ||ƒ|    dkr¯|jtjd|dtƒq¯n}tjƒ} xnt| jƒƒD]Z} | j| ƒ}|srqQnt ||ƒ|    dkrQ|jtjd|dtƒqQqQW|    S(Nig@@iisG__UpdFamilyBossFBStar useSecond=%s,curStar=%s,updStar=%s, diffSecond=%siè(R RR"RtinttmathtceilRERt Def_StarTimet    enumerateRR RLRFR0t tttFlagTakeR,tGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndex(RtisForceRR tcurStart    useSecondROt starTimeListt
diffSecondtupdStartstartstarTimet playerManagertindex((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRHãs>  #    
       #   $cCs\t|||jƒdƒ}|jtjd|tƒ|rX|jtjd|tƒndS(Ni(RCRERFR0t tttWaitStartR,t tttAddUpTime(RtdownTimeR Rt    notifyEffRP((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyR@ s
cCs?tƒ}|tjƒjƒ|tdkr1dSt|ƒdS(Niè(RR RRERAt__OnFamilyBossFBStart(Rt    invadeCfg((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRRs
    $
cCsLtƒ}|tjƒjƒ|tdkr>t|tƒdSt|ƒdS(Niè(RR RRERDt__DoFamilyBossFBOverR+RH(RRp((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRSs     $ 
c    Csïtjƒ}tƒ}|td|tjƒjƒ}|dkrÄ|jƒ}|dkrÀ|tkrÀ|jtƒ|j    t
ƒ}t |dgƒ}tj ƒj dddd|t|ƒƒndStj|ƒtjt|ƒtjƒdS(NièiiˆR4(R RRRJRER8RIR:RUR"RR<R=R>R?tGameWorldProcesstCloseFBRt FB_Step_OverR%(RR Rpt
remianTimeRMR RN((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRT(s     "   + 
cCsptjt|ƒtjtjdƒ\}}tj||gƒtƒ}tj    t
j |t dƒt |ƒdS(Niiè(RR:RBtGetFBLineRefreshNPCRRtNPCCustomRefresht SetNPCRefreshRtSync_Player_TimeTickR0RGRDRH(Rt refreshMarktbossIDRO((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRo;s    
cCs©tjƒ}|jƒtkr"dStjdƒtƒ}tjt|ƒ|jt    ƒ}t
|dgƒ}tj ƒj dddd|t |ƒƒ|jtƒ}tjd||f|ƒ|td}tjƒ}|jƒ}    xvt|    ƒD]h}
|j|
ƒ} | dksí| jƒr qín| jtjd|tƒ|rítj| tjƒqíqíW|r¥tt j!ddƒƒ} tt j!ddƒƒ} tj"|| | ƒndS(    Ns´¦ÀíÏÉÃËBOSS¸±±¾½áÊøÂß¼­iiR4s'ÏÉÃËBOSS¸±±¾½áËã: familyID=%s, grade=%siètFamilyBOSSDropRulei(#R RR8RIR RRR:R"RR<R=R>R?RtLogRJR]R_R^R`tNonetIsEmptyRFR0RKR,t PlayerFamilytAddFamilyActivityt ShareDefinetFamilyActive_BOSStevalt IpyGameDataPYtGetFuncCompileCfgtSetNPCDropDoCountRate(RtisKillR RpR RNtgradet    leaveTicktcopyMapPlayerManagert playerCounttiRt doCountRatet
doCountAdd((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRqHs4      (  cCstS(N(R,(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnPlayerRebornnscCs9tjtjdƒ}|d \}}|j||ƒdS(Nii(RtGetFBLineEnterPosInfoRRtResetPos(Rt rebornPlaceRR.tposXtposY((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnResetFBRebornPlacePostscCstj|ƒdS(N(R6R7(RR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt OnLeaveFamily~s cCsBi}tjƒ}|jtƒ}||tj<tj||ƒdS(N(R RR"RRt
Help_gradet Notify_FBHelp(RRthelpDictR Rb((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRL‰s   cCsU|jƒ}tjtjdƒ\}}||kr7dStjdƒt|tƒdS(NisÏÉÃËBOSSÒѱ»»÷ɱ£¡(    tGetNPCIDRRvRRR R RqR,(RtcurNPCRR{Rzt refreshBossID((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytDoFB_Player_KillNPC˜s    cCs&tjƒ}|jƒtkr"tStS(N(R RR8RBR+R,(tattackertdefenderR ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytCheckCanAttackTagObjInFBªs (4RRrR0R6R RwR…R€R‚RRRRXtrangeR9R;RBRIRURtRRRARDRJRZRRRR!R&R*R'R/R3RQRVR+R~RHR@RRRSRTRoRqRR–R—RLRžR¡(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt<module>sP            
                                      
            '    *
                         &