Пример #1
0
    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();
    }
Пример #2
0
 public void TestAttackDecorator()
 {
     player = new AttackDecorator("", 10, player);
     player.AddDamage();
     Assert.AreEqual(20, player.Damage);
 }