hch
2025-12-03 fa382ff4daf783a056c7bc6fc1de25fecc694362
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -1257,15 +1257,13 @@
def __doSetFightPoint(curPlayer, fightPoint):
    ## 设置消耗倍值
    GameWorld.DebugLog("设置战锤消耗倍值: %s" % fightPoint)
    if fightPoint == 1:
        pass
    elif fightPoint == 2:
        # 条件验证
        pass
    elif fightPoint == 3:
        # 条件验证
        pass
    else:
    needTreeLVList = IpyGameDataPY.GetFuncEvalCfg("AutoGuaji", 1)
    if fightPoint < 1 or fightPoint > len(needTreeLVList):
        return
    needTreeLV = needTreeLVList[fightPoint - 1]
    treeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
    if treeLV < needTreeLV:
        GameWorld.DebugLog("祝福树等级不足: treeLV=%s < %s" % (treeLV, needTreeLV))
        return
    curPlayer.SetFightPoint(fightPoint)
    return
@@ -1553,6 +1551,7 @@
            batObj = batObjMgr.getBatObj(objID)
            turnFight.ResetOneActionUseSkillCnt()
            TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_FightStart)
            TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_InBattlefield)
            
    turnFight.enterLogic = True
    return True
@@ -1570,8 +1569,6 @@
            batObj = batObjMgr.getBatObj(objID)
            if not batObj:
                continue
            if not batObj.IsAlive():
                continue
            
            turnFight.ResetOneActionUseSkillCnt()
            batObj.SetTiming(ChConfig.TurnTiming_Before) # 重置时机到回合前
@@ -1579,8 +1576,12 @@
                RefreshObjSkillByBigTurn(batObj)
                RefreshObjByBigTurn(turnFight, batObj)
            batObj.ResetBigTurn() # 每大回合重置
            TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_BigTurnStart)
            
            if not batObj.IsAlive():
                TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_BigTurnStartByDead)
            else:
                TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_BigTurnStart)
    return
def TurnFightPerTurnBigEnd(turnFight, turnNum):
@@ -1862,6 +1863,7 @@
    skillID = useSkill.GetSkillID() if useSkill else 0
    GameWorld.DebugLog("        %s 回合战斗主体被击杀: curID=%s,killerObjID=%s,skillID=%s" % (GetObjName(gameObj), objID, killerObjID, skillID))
    gameObj.SetDead()
    TurnBuff.DoBuffByDead(turnFight, gameObj)
    
    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagMCTurnFightObjDead)
    clientPack.ObjID = objID
@@ -1872,19 +1874,6 @@
    # 暂时只算主线小怪
    if curPlayer and turnFight.mapID == ChConfig.Def_FBMapID_Main and gameObj.GetFaction() != ChConfig.Def_FactionA:
        GetMainFightMgr(curPlayer).killNPCCnt += 1
    # 清除光源buff
    buffMgr = gameObj.GetBuffManager()
    for index in range(buffMgr.GetBuffCount())[::-1]:
        buff = buffMgr.GetBuffByIndex(index)
        skillID = buff.GetSkillID()
        skillData = buff.GetSkillData()
        if skillData.GetSkillType() != ChConfig.Def_SkillType_Halo:
            continue
        if buff.GetOwnerID() != objID:
            continue
        GameWorld.DebugLog("删除光环buff: objID=%s,skillID=%s" % (objID, skillID))
        TurnBuff.DoBuffDel(turnFight, gameObj, buff)
    return True
def OnTurnAllOver(guid):
@@ -1917,8 +1906,12 @@
    turnFight.costTime = time.time() - turnFight.startTime
    winFaction = turnFight.winFaction
    turnFight.isWin = (winFaction == ChConfig.Def_FactionA)
    mapID = turnFight.mapID
    funcLineID = turnFight.funcLineID
    GameWorld.DebugLog("--- 战斗结束处理 ---, winFaction=%s, costTime=%ss, %s" % (winFaction, turnFight.costTime, guid))
    if mapID != ChConfig.Def_FBMapID_Main:
        GameWorld.Log("战斗耗时: %ss, mapID=%s,funcLineID=%s" % (turnFight.costTime, mapID, funcLineID))
    # 统计明细
    batObjMgr = BattleObj.GetBatObjMgr()
    statInfo = {}
@@ -1953,8 +1946,6 @@
                
    overMsg = {"winFaction":winFaction, "statInfo":statInfo}
    curPlayer = turnFight.curPlayer
    mapID = turnFight.mapID
    funcLineID = turnFight.funcLineID
    
    FBLogic.OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg)