public void ApplyHeal() { var healthSysBehavs = noCasterEntitiesExtractor.GetTsWithoutCaster(boxEntitiesGetter, caster, ref colliderHits); healthSysBehavs.ForEach(x => x.Heal(actualHealPerTick, caster)); var rand = new Random(); var particleAmn = rand.Next(1, healthSysBehavs.Count + 1) * particleAmnMult; healFieldEffect.Emit(particleAmn); }
protected virtual void ProcessExplosion() { var damageables = noCasterEntitiesExtractor .GetTsWithoutCaster(radiusEntitiesGetter, caster, ref colliderHits); foreach (var damageable in damageables) { TryApplyStatusEffect(damageable); damageable.TakeDamage(explosionDamage, spellElement, caster); } }
private void ProcessShockwave() { var damageables = noCasterEntitiesExtractor .GetTsWithoutCaster(boxEntitiesGetter, caster, ref colliderHits); foreach (var damageable in damageables) { TryApplyStatusEffect(damageable); damageable.TakeDamage(actualSwDamage, spellElement, caster); } }