Exemplo n.º 1
0
    private void DetermineProjectile()
    {
        float distance = Vector2.Distance(target.transform.position, transform.position);

        if (distance > nearDistance)
        {
            projectileMode = ProjectileMode.Fireworks;
        }
        else
        {
            projectileMode = ProjectileMode.Spray;
        }
    }
Exemplo n.º 2
0
    void DetermineAttackMode()
    {
        float rand         = Random.Range(0f, 1f);
        float distToPlayer = Vector2.Distance(target.transform.position, transform.position);

        if (distToPlayer > attackRange)
        {
            if (rand > 0.7f)
            {
                projectileMode          = ProjectileMode.Seeker;
                attackCooldownCountdown = attackCooldown * 0.5f;
            }
            else
            {
                projectileMode          = ProjectileMode.Spray;
                attackCooldownCountdown = attackCooldown;
            }
        }
        else if (distToPlayer > minComfortDistance)
        {
            if (rand > 0.5f)
            {
                projectileMode          = ProjectileMode.Seeker;
                attackCooldownCountdown = attackCooldown * 0.5f;
            }
            else
            {
                projectileMode          = ProjectileMode.Spray;
                attackCooldownCountdown = attackCooldown;
            }
        }
        else
        {
            if (rand > 0.3f)
            {
                projectileMode          = ProjectileMode.Seeker;
                attackCooldownCountdown = attackCooldown * 0.5f;
            }
            else
            {
                projectileMode          = ProjectileMode.Spray;
                attackCooldownCountdown = attackCooldown;
            }
        }
    }
Exemplo n.º 3
0
    // decides which projectile to use next based on randomness & distance from player
    private void DetermineNextProjectile()
    {
        float dist = Vector2.Distance(transform.position, target.transform.position);
        float rand = Random.Range(0f, 1f);

        if (dist > attackRange)
        {
            if (rand > 0.8f)
            {
                projectileMode = ProjectileMode.SeekerProjectile;
            }
            else if (rand > 0.5f)
            {
                projectileMode = ProjectileMode.SprayProjectile;
            }
            else
            {
                projectileMode = ProjectileMode.RegularProjectile;
            }
        }
        else if (dist > minComfortDistance)
        {
            if (rand > 0.4f)
            {
                projectileMode = ProjectileMode.SprayProjectile;
            }
            else
            {
                projectileMode = ProjectileMode.RegularProjectile;
            }
        }
        else
        {
            projectileMode = ProjectileMode.RegularProjectile;
        }
    }
Exemplo n.º 4
0
 // Start is called before the first frame update
 void Start()
 {
     EnemyInitialize();
     projectileMode = ProjectileMode.Fireworks;
 }