Beispiel #1
0
    public void InitiateKnight()
    {
        GM    = GameObject.Find("Game Manager").GetComponent <_GameManager>();
        Class = GM.GetUnitClass(this.gameObject);

        MaxHealth    = 50;
        Health       = MaxHealth;
        AttackDamage = 10;
        Range        = 3;
        AttackSpeed  = 1.5f;

        ProjectileSpeed = 0;

        Nav = GetComponent <NavMeshAgent>();
    }
Beispiel #2
0
    public void InitiateArcher()
    {
        GM    = GameObject.Find("Game Manager").GetComponent <_GameManager>();
        Class = GM.GetUnitClass(this.gameObject);

        MaxHealth    = 25;
        Health       = MaxHealth;
        AttackDamage = 20;
        Range        = 40;
        AttackSpeed  = 5f;

        ProjectileSpeed = 100;

        Nav = GetComponent <NavMeshAgent>();
    }
Beispiel #3
0
    public void MeleeAttack()
    {
        if (AttackTarget != null)
        {
            // If the Attack Target is a building
            if (AttackTarget.GetComponent <Building>() != null)
            {
                // Deal damage to the building
                AttackTarget.GetComponent <Building>().Health -= (AttackDamage + Random.Range(-4, 4));
            }
            else
            {
                // Checks to see if the enemy is a pikeman (Pikemen deal back 20% of all close range damage taken)
                if (AttackTarget.GetComponent <F_Pikeman>() != null || AttackTarget.GetComponent <E_Pikeman>() != null)
                {
                    Class.Health -= Class.AttackDamage * 0.2f;
                }

                GM.GetUnitClass(AttackTarget).Health -= (AttackDamage + Random.Range(-4, 4));
            }
        }
    }