AkaCore.Manager.EvadeManager.EvadeTarget.ObjSpellMissileOnCreate C# (CSharp) Method

ObjSpellMissileOnCreate() private static method

private static ObjSpellMissileOnCreate ( GameObject sender, EventArgs args ) : void
sender GameObject
args System.EventArgs
return void
            private static void ObjSpellMissileOnCreate(GameObject sender, EventArgs args)
            {
                if (!sender.IsValid<MissileClient>())
                {
                    return;
                }
                var missile = (MissileClient)sender;
                if (!missile.SpellCaster.IsValid<AIHeroClient>() || missile.SpellCaster.Team == ObjectManager.Player.Team)
                {
                    return;
                }
                var unit = (AIHeroClient)missile.SpellCaster;
                var spellData =
                    Spells.FirstOrDefault(
                        i =>
                        i.SpellNames.Contains(missile.SData.Name.ToLower())
                        && Manager.MenuManager.EvadeMenu[i.MissileName].Cast<CheckBox>().CurrentValue);
                if (spellData == null && EloBuddy.SDK.Constants.AutoAttacks.IsAutoAttack(missile.SData) //MenuManager.LaneClearMenu["E"].Cast<CheckBox>().CurrentValue
                    && (!missile.SData.Name.ToLower().Contains("crit")
                            ? Manager.MenuManager.EvadeMenu["BAttack"].Cast<CheckBox>().CurrentValue
                              && ObjectManager.Player.HealthPercent < Manager.MenuManager.EvadeMenu["BAttackHpU"].Cast<Slider>().CurrentValue
                            : Manager.MenuManager.EvadeMenu["CAttack"].Cast<CheckBox>().CurrentValue
                              && ObjectManager.Player.HealthPercent < Manager.MenuManager.EvadeMenu["CAttackHpU"].Cast<Slider>().CurrentValue))
                {
                    spellData = new SpellData
                    { ChampionName = unit.ChampionName, SpellNames = new[] { missile.SData.Name } };
                }
                if (spellData == null || !missile.Target.IsMe)
                {
                    return;
                }
                DetectedTargets.Add(new Targets { Start = unit.ServerPosition, Obj = missile });
            }