From c124d98bdf9659cf764bebb799bee42c30eb152f Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 17 十月 2025 11:19:21 +0800
Subject: [PATCH] 125 战斗 战场开关接口
---
Main/System/Battle/BattleObject/BattleObject.cs | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs
index 26f9384..8457d59 100644
--- a/Main/System/Battle/BattleObject/BattleObject.cs
+++ b/Main/System/Battle/BattleObject/BattleObject.cs
@@ -269,10 +269,27 @@
}
public virtual void Hurt(List<long> damageValues, long _totalDamage,
- HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, SkillConfig skillConfig, bool isLastHit,
+ HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, SkillConfig skillConfig, int hitIndex,
BattleDrops battleDrops, HB422_tagMCTurnFightObjDead deadPack)
{
BattleDmgInfo dmgInfo = PopDamage(damageValues, _totalDamage, hurt, skillConfig);
+ bool isLastHit = hitIndex >= skillConfig.DamageDivide.Length - 1;
+ bool firstHit = hitIndex == 0;
+
+ // 杩欓噷
+ if (dmgInfo.IsType(DamageType.Dodge))
+ {
+ if (isLastHit)
+ {
+ DodgeFinishAction dodgeFinish = new DodgeFinishAction(battleField, this);
+ battleField.recordPlayer.InsertRecord(dodgeFinish);
+ }
+
+ if (firstHit)
+ {
+ OnDodgeBegin();
+ }
+ }
bool isFatalAttack = (null != deadPack) && isLastHit;
@@ -307,7 +324,7 @@
}
- const float pingpongTime = 0.2f;
+ const float pingpongTime = 0.4f;
// 闂伩寮�濮�
public virtual void OnDodgeBegin()
{
@@ -372,12 +389,7 @@
{
BattleDmgInfo battleDmgInfo = new BattleDmgInfo(battleField.guid, damageValues, this, hurt, skillConfig);
- if (battleDmgInfo.IsType(DamageType.Dodge))
- {
- OnDodgeBegin();
- DodgeFinishAction dodgeFinish = new DodgeFinishAction(battleField, this);
- battleField.recordPlayer.InsertRecord(dodgeFinish);
- }
+
int currentHurtHp = 0;
for (int i = 0; i < damageValues.Count; i++)
--
Gitblit v1.8.0