8281 【后端】【恺英】封魔坛每日刷新(新手封魔坛改为可重复进入,首次过关不扣次数)
2个文件已修改
42 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
@@ -63,18 +63,19 @@
#  @return 布尔值
def OnEnterFBEvent(curPlayer, mapID, lineID, tick):
    IsDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTDouble)
    newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine')
    if IsDouble and lineID not in newbielineList:
        enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % mapID)
        maxCnt = FBCommon.GetEnterFBMaxCnt(curPlayer, mapID)
    #newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine')
    if IsDouble:# and lineID not in newbielineList:
        enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_SealDemon)
        maxCnt = FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_SealDemon)
        if enterCnt + 2 > maxCnt:
            return False
    if lineID in newbielineList:
        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False,
                                               [ChConfig.Def_FBMapID_SealDemon])
        if hasEnter:
            GameWorld.DebugLog("    已进入过该新手线路 %s" % lineID)
            return False
    # 新手副本修改为也可以重复进
#    if lineID in newbielineList:
#        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False,
#                                               [ChConfig.Def_FBMapID_SealDemon])
#        if hasEnter:
#            GameWorld.DebugLog("    已进入过该新手线路 %s" % lineID)
#            return False
    return True
@@ -458,10 +459,12 @@
    prizeMultiple = 1
    addCnt = 1
    if isNewbieLine:
        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [ChConfig.Def_FBMapID_SealDemon])
        if hasEnter:
            #已给过
            return {}
        newbieLineStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [ChConfig.Def_FBMapID_SealDemon])
        # 新手本改为可重复进入
#        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [ChConfig.Def_FBMapID_SealDemon])
#        if hasEnter:
#            #已给过
#            return {}
    elif isClientSend:
        return {}
    else:
@@ -500,11 +503,14 @@
    #新手线路的更新进去记录
    newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine')
    GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, 1, False, [ChConfig.Def_FBMapID_SealDemon])
    if lineID in newbielineList:
    if isNewbieLine:
        # 未过关不扣次数
        if newbieLineStar:
            FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_SealDemon, addCnt)
        else:
        FBCommon.Sync_FBPlayerFBInfoData(curPlayer, ChConfig.Def_FBMapID_SealDemon) # 同步信息
    else:
        FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_SealDemon, addCnt)
    
    # 每日活动
    PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_SealDemon, addCnt)
@@ -513,7 +519,6 @@
    #任务
    if rank == 1 and lineID >= 4:
        EventShell.EventRespons_SealDemon(curPlayer)
    
    PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_FMT, addCnt)
    PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FMT, addCnt)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -1771,7 +1771,8 @@
            newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine', 1)
            # 新手线路特殊处理,直接进入
            if lineID in newbielineList:
                PlayerResetWorldPosFB(curPlayer, mapID, posX, posY, False, fbID, funcLineID=lineID)
                GameWorld.DebugLog("封魔坛虚拟线路只能通过自定义场景进入挑战!")
                #PlayerResetWorldPosFB(curPlayer, mapID, posX, posY, False, fbID, funcLineID=lineID)
                return
            else:
                bossID = GameLogic_SealDemon.CurFBLineBOSSID(lineID)