private static void WardDetector(GameObject sender, EventArgs args) { try { if (!Config.Menu.CheckboxValue("wardTimer")) return; var database = SpellDatabase.Database.FirstOrDefault(d => d.GameObject && d.SpellType == SpellType.Ward && d.ObjectName == sender.BaseObjectName()); if (database != null) { var caster = sender.FindCasterWard(database); bool limited = (sender.BaseObjectName() == "YellowTrinket" || sender.BaseObjectName() == "SightWard"); Core.DelayAction(() => Program.SpellList.Add(new Spell { SpellType = database.SpellType, Team = caster.IsAlly ? Team.Ally : caster.IsEnemy ? Team.Enemy : Team.None, //sender.Team.IsAlly() ? Team.Ally : sender.Team.IsEnemy() ? Team.Enemy : Team.None, Object = sender, DrawType = database.DrawType, Caster = caster, StartPosition = caster.Position, CastPosition = sender.Position, ChampionName = caster.BaseSkinName, Name = database.Name, ObjectName = database.ObjectName, MenuCode = database.MenuCode, FullTime = limited ? (sender as Obj_AI_Base).Mana * 1000f : database.EndTime, EndTime = limited ? (sender as Obj_AI_Base).Mana * 1000f + Utility.TickCount - 500 : database.EndTime + Utility.TickCount - 500, NetworkID = sender.NetworkId, GameObject = database.GameObject, Color = database.Color, SpriteName = database.SpriteName, }) , database.ObjectName == "YellowTrinket" ? 500 : 0); return; } } catch (Exception e) { e.ErrorMessage("WARD_DETECTOR"); } }