From b8c216da30b50eab08294b762f191acfa41aa80d Mon Sep 17 00:00:00 2001 From: Adrian Paschkowski <git@wasdennnoch.me> Date: Thu, 15 Apr 2021 11:53:49 +0200 Subject: [PATCH] Move AntiPlayer damage Mana gain to AntiPlayer class --- Assets/Scripts/Fighters/AntiPlayer.cs | 7 +++++++ Assets/Scripts/Fighters/Fighter.cs | 12 +++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/Fighters/AntiPlayer.cs b/Assets/Scripts/Fighters/AntiPlayer.cs index 8899de7..3dd96f4 100644 --- a/Assets/Scripts/Fighters/AntiPlayer.cs +++ b/Assets/Scripts/Fighters/AntiPlayer.cs @@ -70,6 +70,13 @@ public class AntiPlayer : Fighter, IFighterCallback currentTargetEnemy = enemies.Count > 0 ? enemies[0] : null; } + public override int DealDamage(int dmg) + { + var actualDamage = base.DealDamage(dmg); + StatsManager.instance.ModifyMana((int)(actualDamage * StatsManager.instance.manaReceiveMultiplier)); + return actualDamage; + } + public void OnFighterDeath(Fighter fighter) { enemies.Remove(fighter); diff --git a/Assets/Scripts/Fighters/Fighter.cs b/Assets/Scripts/Fighters/Fighter.cs index 310761d..7f36d9f 100644 --- a/Assets/Scripts/Fighters/Fighter.cs +++ b/Assets/Scripts/Fighters/Fighter.cs @@ -85,19 +85,15 @@ public abstract class Fighter : MonoBehaviour, IRoundCallback } } - public void DealDamage(int dmg) + public virtual int DealDamage(int dmg) { if (!alive) { - return; + return 0; } + var actualDamage = Mathf.Max(0, Mathf.RoundToInt(dmg - baseArmor * GetStats().armorMultiplier)); currentHealth = Mathf.Max(currentHealth - actualDamage, 0); - - if (fighterType == FighterTypes.ANTI_PLAYER) - { - StatsManager.instance.ModifyMana((int)(actualDamage * StatsManager.instance.manaReceiveMultiplier)); - } if (currentHealth == 0) { @@ -112,6 +108,8 @@ public abstract class Fighter : MonoBehaviour, IRoundCallback animator.SetTrigger("Hurt"); healthBarController.ShowHealth(currentHealthPercentage); } + + return actualDamage; } protected FighterStats GetStats() -- GitLab