private void PreformAttack(Creature attacker, Creature target) { deleteButtons(); var hit = attacker.GetAccuracy(); var dodge = target.GetDodge(); var damage = attacker.GetAttack() - target.GetDefence(); if (hit >= dodge) { if (damage > 0) { Debug.Log(attacker.characterName + " does " + damage + " damage to " + target.characterName); target.AddDamage(damage); } else { Debug.Log(attacker.characterName + " does 0 damage to " + target.characterName); } } else { Debug.Log(target.characterName + " dodges an attack from " + attacker.characterName); } //If the this attack causes the target to die, remove him from the game //Find a better way to do this than just deleting the target, remove him from the list. if (target.IsDead()) { Destroy(target.gameObject); //Really bad temp design, this is in place until I can get a list of characters, and create a better methond //than just a variable for each person. if (target.name == "Player") { player = null; } if (target.name == "Enemy") { enemy = null; } } endTurn(); }
public void TestAttackDecorator() { player = new AttackDecorator("", 10, player); player.AddDamage(); Assert.AreEqual(20, player.Damage); }