From c8863bce7831a4648a39faa69408a888d939cdb4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期六, 11 十月 2025 10:27:27 +0800
Subject: [PATCH] 125 战斗 调整闪避幻影细节
---
Main/Component/UI/Common/SkeletonIllusionShadow.cs | 6 +++---
Main/System/Battle/BattleObject/BattleObject.cs | 28 ++++++++++++++++++++--------
Main/System/Battle/Skill/SkillBase.cs | 3 +--
3 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/Main/Component/UI/Common/SkeletonIllusionShadow.cs b/Main/Component/UI/Common/SkeletonIllusionShadow.cs
index 6deefb6..eba83e6 100644
--- a/Main/Component/UI/Common/SkeletonIllusionShadow.cs
+++ b/Main/Component/UI/Common/SkeletonIllusionShadow.cs
@@ -16,7 +16,7 @@
private bool createSwitch = false;
private int curFrame = 0;
- private int frameInteral = 2;
+ private int frameInteral = 4;
public void SetSkeletonAnimation(SkeletonAnimation _skeletonAnimation)
{
@@ -97,11 +97,11 @@
sa.skeleton.A = skeletonAnimation.skeleton.A;
// 浣跨敤DoTween鍋歛lpha娣″嚭锛孴ween涓巓bjTest缁戝畾锛屼究浜庣粺涓�Kill
- DOTween.To(() => sa.skeleton.A, x => { sa.skeleton.A = x; sa.LateUpdate(); }, 0f, 0.5f)
+ DOTween.To(() => sa.skeleton.A, x => { sa.skeleton.A = x; sa.LateUpdate(); }, 0f, 1f)
.SetTarget(objTest);
// 瀹夊叏閿�姣侊紝绉婚櫎寮曠敤
- _ = DestroyIllusionShadowAfterAsync(objTest, 0.5f);
+ _ = DestroyIllusionShadowAfterAsync(objTest, 1f);
}
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++)
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index 0b8d916..f7009d0 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -443,7 +443,6 @@
{
// 浼ゅ鍒嗗竷 (涓囧垎姣�)
// Debug.LogError("skillConfig.DamageDivide.Count " + skillConfig.DamageDivide.Length + " _hitIndex " + _hitIndex);
- bool isLastHit = _hitIndex >= skillConfig.DamageDivide.Length - 1;
int[] damageDivide = skillConfig.DamageDivide[_hitIndex];
long totalDamage = GeneralDefine.GetFactValue(hurt.HurtHP, hurt.HurtHPEx);
@@ -466,7 +465,7 @@
int objID = (int)target.ObjID;
tempDropList.TryGetValue(objID, out BattleDrops battleDrops);
tempDeadPackList.TryGetValue(objID, out HB422_tagMCTurnFightObjDead deadPack);
- target.Hurt(damageList, totalDamage, hurt, skillConfig, isLastHit, battleDrops, deadPack);
+ target.Hurt(damageList, totalDamage, hurt, skillConfig, _hitIndex, battleDrops, deadPack);
// TODO YYL 杩欓噷鏄鍋氱粺涓�璁$畻鍚庡啀hurt璺焥uckhp杩樻槸鎬庢牱
caster.SuckHp(hurt.SuckHP, skillConfig);// 鍚歌
--
Gitblit v1.8.0