Example #1
0
        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");
            }
        }