public void BasicAttack(HeroClass target, CombatManager combatManager, List <HeroClass> characterParty, bool isHealing = false) { int damage = 0; switch (isHealing) { case true: target.Health += Attack; gameLog.text = (this.name + " healed " + target.name + " for " + Attack.ToString() + " health."); break; case false: if (forcedTarget != null && forcedTarget != target) { target = forcedTarget as HeroClass; forcedTarget = null; } if (forcedTarget != null && forcedTarget == target) { forcedTarget = null; } damage = Attack - target.Defense; if (damage <= 0) { damage = 1; } target.currentHealth -= damage; gameLog.text = (this.name + " attacked " + target.name + " for " + damage.ToString() + " damage."); Transform animationTransform = GameObject.FindGameObjectWithTag("Player").transform.GetChild(target.combatIndex).transform; SpawnAnimation(animationTransform); break; } if (target.currentHealth <= 0) { if (combatManager != null) { target.Die(combatManager, characterParty); } gameLog.text += ("\n" + target.name + " has died."); } else { gameLog.text += ("\n" + "Their health is now: " + target.currentHealth); } }