From 985bdf70fd0022733f75bf2106e69c6de77c26b1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 28 十一月 2025 17:29:51 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(卑弥呼所有技能;技能表增加字段Buff保留-BuffRetain,支持死亡保留、复活保留;增加触发方式42-大回合开始时(死亡后有效);增加属性ID 73复活生命加成、74复活怒气加成;优化效果6014-支持失败次数额外概率;优化死亡、复活时的buff处理;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py | 22 ++++++----------------
1 files changed, 6 insertions(+), 16 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
index fb773af..8b88731 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -1569,8 +1569,6 @@
batObj = batObjMgr.getBatObj(objID)
if not batObj:
continue
- if not batObj.IsAlive():
- continue
turnFight.ResetOneActionUseSkillCnt()
batObj.SetTiming(ChConfig.TurnTiming_Before) # 重置时机到回合前
@@ -1578,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):
@@ -1861,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
@@ -1871,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):
--
Gitblit v1.8.0