Пример #1
0
        private static void GameObject_OnCreate(GameObject sender, EventArgs args)
        {
            try
            {
                if (!sender.IsValid)
                    return;

                WardDetector(sender, args);

                var database = SpellDatabase.Database.FirstOrDefault(d => d.GameObject && d.SpellType != SpellType.Ward && (d.ObjectName != null
                ? d.Name == sender.Name && d.ObjectName == sender.BaseObjectName()
                : sender.Name.Contains(d.Name)));

                if (database != null)
                {
                    if ((database.SpellType == SpellType.Spell && !Config.Menu.CheckboxValue("sTimer")) ||
                        (database.SpellType == SpellType.SummonerSpell && !Config.Menu.CheckboxValue("ssTimer")) ||
                        (database.SpellType == SpellType.Item && !Config.Menu.CheckboxValue("itemTimer")) ||
                        (database.SpellType == SpellType.Trap && !Config.Menu.CheckboxValue("trapTimer")))
                        return;

                    var caster = sender.FIndCaster(database);

                    Program.SpellList.Add(new Spell
                    {
                        SpellType = database.SpellType,
                        Team = caster.IsAlly ? Team.Ally : caster.IsEnemy ? Team.Enemy : Team.None,
                        Slot = database.Slot,
                        DrawType = database.DrawType,
                        Importance = database.Importance,
                        Caster = caster,
                        Object = sender,
                        CastPosition = sender.Position,
                        ChampionName = database.ChampionName != null ? database.ChampionName : caster.BaseSkinName,
                        Name = database.Name,
                        ObjectName = database.ObjectName,
                        MenuCode = database.MenuCode,
                        FullTime = database.EndTime,
                        EndTime = database.EndTime + Utility.TickCount,
                        NetworkID = sender.NetworkId,
                        GameObject = database.GameObject,
                        OnlyMe = database.OnlyMe,
                        Teleport = database.Teleport,
                        Color = database.Color,
                        SpriteName = database.SpriteName,
                    });

                    return;
                }
            }
            catch (Exception e)
            {
                e.ErrorMessage("ON_CREATE", sender.Name);
            }
        }