private static void GameObject_OnDelete(GameObject sender, EventArgs args) { var emitter = sender as Obj_GeneralParticleEmitter; if (emitter != null && emitter.IsEnemy) { if (FioraPassive(emitter)) { if (StoredPassives.Any(p => p.Vital.IdEquals(emitter))) { StoredPassives.RemoveAll(v => (v.Vital != null && (v.Vital.IdEquals(emitter) || v.Vital.IsDead || !v.Vital.IsValid)) || (v.Caster != null && (!v.Caster.IsValid || v.Caster.IsDead)) || Core.GameTickCount - v.startTick > 15000); } } } }
private static void GameObject_OnCreate(GameObject sender, EventArgs args) { var emitter = sender as Obj_GeneralParticleEmitter; if (emitter != null && emitter.Name.Contains("Fiora")) { if (FioraPassive(emitter) && emitter.IsEnemy) { StoredPassives.RemoveAll(v => (v.Vital != null && (v.Vital.IsDead || !v.Vital.IsValid)) || (v.Caster != null && (!v.Caster.IsValid || v.Caster.IsDead)) || Core.GameTickCount - v.startTick > 15000); var passive = new FioraVital(emitter) { startTick = Core.GameTickCount }; if (!StoredPassives.Contains(passive)) { StoredPassives.Add(passive); } } } }