hxp
2019-11-19 2494fee14a4cadb85ef89e3d4a48ddbe77cb4fea
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_XMZZ.py
@@ -27,6 +27,7 @@
import ItemCommon
import FormulaControl
import NPCCustomRefresh
import PlayerWeekParty
import PlayerSuccess
import PyGameData
import EventReport
@@ -137,7 +138,7 @@
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_XMZZLastStartTime, curtime)
        #FBCommon.SetFBStep(FB_Step_Prepare, tick)
        #PrepareXMZZPK(curPlayer, tick)
        PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_XMZZ, 1)
        msgInfo = str([1]) # 是否刚开始
        GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, 'XMZZStartFight', msgInfo, len(msgInfo))
        curPlayer.SetHP(curPlayer.GetMaxHP())
@@ -165,6 +166,7 @@
    curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, remainTime * 1000, True)
    DoFBHelp(curPlayer, tick)
#    fbStep = gameFB.GetFBStep()
    PlayerControl.DelLimitSuperBuff(curPlayer, tick)
    return
##---副本总逻辑计时器---
@@ -175,7 +177,9 @@
    fbStep = GameWorld.GetGameFB().GetFBStep()
    
#    # 副本准备
#    if fbStep == FB_Step_Prepare:
    if fbStep == FB_Step_Prepare:
        ResetPos(tick)
#        PrepareXMZZPK(tick) 
#    # 副本进行中
    if fbStep == FB_Step_Fighting:
@@ -185,6 +189,15 @@
#        __DoLogic_FB_Over(tick)
    
    
    return
def ResetPos(tick):
    if tick - GameWorld.GetGameFB().GetFBStepTick() < 1 * 1000:
        return
    FBCommon.SetFBStep(FB_Step_Fighting, tick)
    curPlayer = FBCommon.GetCurSingleFBPlayer()
    if curPlayer:
        __ResetPos(curPlayer)
    return
def __ChcekFBOver(tick):
@@ -240,10 +253,10 @@
    #===============================================================================================
    FBCommon.SetFBStep(FB_Step_Prepare, tick)
    #重置坐标
    __ResetPos(curPlayer)
    #__ResetPos(curPlayer)
        
    FBCommon.Sync_Player_TimeTick(IPY_GameWorld.tttWaitStart, __GetFightTime()[Def_PrepareTime] * 1000)
    FBCommon.SetFBStep(FB_Step_Fighting, tick)
    #FBCommon.SetFBStep(FB_Step_Fighting, tick)
    
    if not vsPlayerInfo:
        return
@@ -355,8 +368,8 @@
# @return 返回值无意义
# @remarks 玩家主动离开副本.
def DoPlayerDead(curPlayer):
    if GameWorld.GetGameFB().GetFBStep() != FB_Step_Fighting:
        return
#    if GameWorld.GetGameFB().GetFBStep() != FB_Step_Fighting:
#        return
    
    HPPer = __GetHPPer(curPlayer)
    __SendPKResult(curPlayer, 0, 1, HPPer)
@@ -438,8 +451,7 @@
    prizeItemList = winCntAwardDict[str(prizeEx)]
    # 给物品 [奖励物品id,个数,是否绑定]
    for itemID, itemCnt, isBind in prizeItemList:
        if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind,
                                        [IPY_GameWorld.rptItem], True, showSysInfo=True):
        if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem]):
    
            playerID = curPlayer.GetPlayerID()
            GameWorld.ErrLog("OnGetXMZZPrizeResult(), give item itemid:%s,count:%s" % (itemID, itemCnt), playerID)
@@ -522,9 +534,9 @@
        lastStartTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XMZZLastStartTime)
        curTime = int(time.time())
        costTime = (curTime-lastStartTime)*1000
        overDict = {FBCommon.Over_score:addScore, FBCommon.Over_extrScore:updExtraScore,
        overDict = {FBCommon.Over_score:updScore, FBCommon.Over_extrScore:updExtraScore,
                    FBCommon.Over_extraExp:updExtraExp, FBCommon.Over_extraExpPoint:updExtraExpPoint,
                    FBCommon.Over_exp:exp, FBCommon.Over_expPoint:expPoint, FBCommon.Over_costTime:costTime,
                    FBCommon.Over_exp:updExp, FBCommon.Over_expPoint:updExpPoint, FBCommon.Over_costTime:costTime,
                    'conWinCnt':conWinCnt}
        FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_XMZZ, 0, isWin, overDict)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_XMZZLastStartTime, 0)