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); } } } }
public static void Init() { GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDelete += GameObject_OnDelete; foreach (var emitter in ObjectManager.Get <Obj_GeneralParticleEmitter>().Where(FioraPassive)) { if (emitter.IsEnemy) { var passive = new FioraVital(emitter) { startTick = Core.GameTickCount }; if (!StoredPassives.Contains(passive)) { StoredPassives.Add(passive); } } } }