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); }