Beispiel #1
0
    void OnTriggerEnter2D(Collider2D other)
    {
        bool effect = false;

        if (!appliedExtraEffect && RandomExtra.Chance(ExtraEffectChance))
        {
            appliedExtraEffect = false;
            effect             = true;
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Player"))
        {
            if (effect && Color == MagicColor.Green)
            {
                other.GetComponent <Mage>().Health.Heal(HealAmount);
            }
            return;
        }

        BaseEnemy enemy = other.gameObject.GetComponent <BaseEnemy>();

        if (enemy != null)
        {
            enemy.Health.ColorDamage(Damage, Color);

            if (effect)
            {
                if (Color == MagicColor.Red)
                {
                    enemy.ApplyFire(Random.Range(FireTimeMin, FireTimMax));
                }

                if (Color == MagicColor.Blue)
                {
                    enemy.ApplyIce(Random.Range(IceTimeMin, IceTimeMax));
                }
            }
        }

        Destroy(gameObject);
    }