From c8863bce7831a4648a39faa69408a888d939cdb4 Mon Sep 17 00:00:00 2001 From: yyl <yyl> Date: 星期六, 11 十月 2025 10:27:27 +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