From 778218d5d3562d8287f0612f83b8958daba8548e Mon Sep 17 00:00:00 2001 From: yyl <yyl> Date: 星期五, 10 十月 2025 18:21:27 +0800 Subject: [PATCH] 125 战斗 最后一击死亡处理 --- Main/System/Battle/BattleObject/BattleObject.cs | 24 +++++++++++++++++++++--- 1 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs index ec4ec52..26f9384 100644 --- a/Main/System/Battle/BattleObject/BattleObject.cs +++ b/Main/System/Battle/BattleObject/BattleObject.cs @@ -268,14 +268,32 @@ return true; } - public virtual void Hurt(List<long> damageValues, long _totalDamage, HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, SkillConfig skillConfig, bool playAnimation = true) + public virtual void Hurt(List<long> damageValues, long _totalDamage, + HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, SkillConfig skillConfig, bool isLastHit, + BattleDrops battleDrops, HB422_tagMCTurnFightObjDead deadPack) { BattleDmgInfo dmgInfo = PopDamage(damageValues, _totalDamage, hurt, skillConfig); - if ((dmgInfo.IsType(DamageType.Damage) || dmgInfo.IsRealdamage()) && playAnimation) + bool isFatalAttack = (null != deadPack) && isLastHit; + + if (isFatalAttack) { - motionBase.PlayAnimation(MotionName.hit, false); + if (null != battleDrops) + { + PushDropItems(battleDrops); + } + battleField.OnObjsDead(new List<HB422_tagMCTurnFightObjDead>() { deadPack }); + } + else + { + if ((dmgInfo.IsType(DamageType.Damage) || dmgInfo.IsRealdamage())) + { + motionBase.PlayAnimation(MotionName.hit, false); + } + } + + } public void SuckHp(uint suckHP, SkillConfig skillConfig) -- Gitblit v1.8.0