cehua_hzl
2018-08-24 665841283fff2465f886b3dba5b8480b73daa63f
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
î9[c@sÀddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z e dƒ\ZZZZZdZdZe dƒ\ZZZZd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „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„Z/d„Z0d„Z1d„Z2dS(iÿÿÿÿNitFamilyBossFB_StartFamilyBossFB_FamilyIDicCstjtjdƒS(Ni(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_FamilyBossMap(((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGetFamilyBossFBTimeCfg6scCsy|tjkr/tj|}||kr/dSn|tj|<|tjkr^tjj|ƒntjd||fƒdS(Ns&¿ªÆôÏÉÃËBoss: familyID=%s,openCount=%s(t
PyGameDatatg_familyBossOpenCountDicttg_familyBossPlayertpopt    GameWorldtDebugLog(tfamilyIDt    openCountt curOpenCount((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytGameServerOpenFamilyBoss8s   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((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytAddFamilyBossPlayerCs      cCs0tjƒ}|jtdƒ|jtdƒdS(Ni(R t    GetGameFBt SetGameFBDicttMap_FamilyBossFB_FamilyIDR(tticktgameFB((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnOpenFBZs cCsâtjƒ}|jtƒ}t|dgƒ}tjƒjdddd|t|ƒƒ|tj    kr‹tj    j
|ƒtj dtj    ƒn|tj krÁtj j
|ƒtj dtj ƒntj ƒjdƒtjƒdS(NitFamilyBossFBStatesÒÆ³ýÏÉÃË¿ªÆôbossÊý£º%ssÒÆ³ýÏÉÃ˲ÎÓëÍæ¼Ò£º%s(R RtGetGameFBDictByKeyRtstrtGetPlayerManagertGameServer_QueryPlayerResulttlenRRR
R R    t GetGameWorldt SetPropertyIDRtDoLogic_FBKickAllPlayer(RR R tmsgStr((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    OnCloseFBes (
cCs t||ƒS(N(t __CheckEnter(RtmapIDtlineIDR((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnEnterFBEventscCs'|jƒdkr#tjdƒtStS(Nis Ã»ÓÐÕ½ÃË£¬²»ÄܽøÈëÕ½ÃËboss¸±±¾£¡(RR R tFalsetTrue(RR.((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyR-ˆs cCs|S(N((RR.tlineIdtipyEnterPosInfoR((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnGetFBEnterPos™scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnChangeMapAsk£sc    Csvtjƒ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|ƒnt||ƒt |ƒdS(NiiR"iè(!R R(tGetMapIDR-t PlayerControlt PlayerLeaveFBRt    GetFBStept FB_Step_OpenRt    SetFBSteptFB_Step_MapPrepareRRRR$R%R&R'Rt__EnterFBInPreparetDef_Time_MapPreparetFB_Step_FightingtmaxtDef_Time_Fightt GetFBStepTickt Sync_TimeTickR6t tttTowerTakeR2t__UpdFamilyBossFBStartDoFBHelpR(    RRR.R tfbStepR R+tfamilyBossFBCfgt
notifyTick((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt    DoEnterFB¬s.     +       % 
cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    R RR=R@t__DoLogic_MapPrepareRCt__DoLogic_MapFightingtFB_Step_LeaveTimet__DoLogic_MapLeave(RRK((s….\ProjectSServer\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#RtinttmathtceilRFRt Def_StarTimet    enumerateRR RJRGR6t tttFlagTakeR2tGetMapCopyPlayerManagertxrangetGetPlayerCounttGetPlayerByIndex(RtisForceRR tcurStart    useSecondRLt starTimeListt
diffSecondtupdStartstartstarTimet playerManagertindex((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRIÞs>  #    
       #   $cCs\t|||jƒdƒ}|jtjd|tƒ|rX|jtjd|tƒndS(Ni(RDRFRGR6t tttWaitStartR2t tttAddUpTime(RtdownTimeR Rt    notifyEffRM((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRAs
cCs?tƒ}|tjƒjƒ|tdkr1dSt|ƒdS(Niè(RR RRFRBt__OnFamilyBossFBStart(Rt    invadeCfg((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyROs
    $
cCsLtƒ}|tjƒjƒ|tdkr>t|tƒdSt|ƒdS(Niè(RR RRFREt__DoFamilyBossFBOverR1RI(RRm((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRPs     $ 
cCs\tƒ}|tjƒjƒ|tdkr1dStj|ƒtjt    |ƒtj
ƒdS(Niè( RR RRFtDef_Time_LeavetGameWorldProcesstCloseFBRR?t FB_Step_OverR*(RRm((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRR#s    $ 
cCsptjt|ƒtjtjdƒ\}}tj||gƒtƒ}tj    t
j |t dƒt |ƒdS(Niiè(RR?RCtGetFBLineRefreshNPCRRtNPCCustomRefresht SetNPCRefreshRtSync_Player_TimeTickR6RHRERI(Rt refreshMarktbossIDRL((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRl.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¸±±¾½áÊøÂß¼­iiR"s'ÏÉÃËBOSS¸±±¾½áËã: familyID=%s, grade=%siètFamilyBOSSDropRulei(#R RR=RQR RRR?R#RR$R%R&R'RtLogRoRZR\R[R]tNonetIsEmptyRGR6t tttLeaveMapR2t PlayerFamilytAddFamilyActivityt ShareDefinetFamilyActive_BOSStevalt IpyGameDataPYtGetFuncCompileCfgtSetNPCDropDoCountRate(RtisKillR RmR R+tgradet    leaveTicktcopyMapPlayerManagert playerCounttiRt doCountRatet
doCountAdd((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRn;s4      (  cCstS(N(R2(((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnPlayerRebornascCs9tjtjdƒ}|d \}}|j||ƒdS(Nii(RtGetFBLineEnterPosInfoRRtResetPos(Rt rebornPlaceRR4tposXtposY((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytOnResetFBRebornPlacePosgscCstj|ƒdS(N(R;R<(RR((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt OnLeaveFamilyqs cCsBi}tjƒ}|jtƒ}||tj<tj||ƒdS(N(R RR#RRt
Help_gradet Notify_FBHelp(RRthelpDictR R_((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyRJ|s   cCsU|jƒ}tjtjdƒ\}}||kr7dStjdƒt|tƒdS(NisÏÉÃËBOSSÒѱ»»÷ɱ£¡(    tGetNPCIDRRsRRR R RnR2(RtcurNPCRRxRwt refreshBossID((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytDoFB_Player_KillNPC‹s    cCs&tjƒ}|jƒtkr"tStS(N(R RR=RCR1R2(tattackertdefenderR ((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pytCheckCanAttackTagObjInFBs (3RRpR6R;R RtRƒR~R€RRRRUtrangeR>R@RCRQRrRRRBRERoRWRRRR!R,R0R-R5R9RNRSR1R{RIRARORPRRRlRnRŽR”R•RJRœRŸ(((s….\ProjectSServer\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_FamilyBoss.pyt<module>sP                                                       
            %     *
                          &