private static void UseItem(AIHeroClient target) { if (target != null && (HaveR(target) || target.HealthPercent < 40 || Player.HealthPercent < 50)) { if (Bilgewater.IsReady()) { Bilgewater.Cast(target); } if (BotRuinedKing.IsReady()) { BotRuinedKing.Cast(target); } } if (Youmuu.IsReady() && Player.CountEnemyHeroesInRange(R.Range + E.Range) > 0) { Youmuu.Cast(); } if (Tiamat.IsReady() && Player.CountEnemyHeroesInRange(Tiamat.Range) > 0) { Tiamat.Cast(); } if (Hydra.IsReady() && Player.CountEnemyHeroesInRange(Hydra.Range) > 0) { Hydra.Cast(); } if (Titanic.IsReady() && !Player.Spellbook.IsAutoAttacking && Orbwalker.LastTarget != null) { Titanic.Cast(); } }
void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { var target = args.Target as Obj_AI_Hero; if (target != null) { if (Config.GetBool("Safety.noaainult") && IsInvisible) { args.Process = false; return; } if (Config.GetBool("djumpenabled") && Config.GetBool("noauto")) { if (args.Target.Health < GetQDamage((Obj_AI_Hero)args.Target) && Khazix.ManaPercent > 15) { args.Process = false; } } if (Config.GetBool("UseItems") && Titanic.IsReady() && Vector2.Distance(Khazix.ServerPosition.To2D(), target.ServerPosition.To2D()) <= Khazix.AttackRange) { Titanic.Cast(); } } }
private static List <double> GetCombo(AIHeroClient target, bool useQ, bool useW, bool useE) { var dmgTotal = 0d; var manaTotal = 0f; if (getCheckBoxItem(comboMenu, "Items")) { if (Bilgewater.IsReady()) { dmgTotal += Player.CalculateDamage(target, DamageType.Magical, 100); } if (BotRuinedKing.IsReady()) { dmgTotal += Player.CalculateDamage( target, DamageType.Physical, Math.Max(target.MaxHealth * 0.1, 100)); } if (Tiamat.IsReady() || Hydra.IsReady()) { dmgTotal += Player.CalculateDamage(target, DamageType.Physical, Player.TotalAttackDamage); } if (Titanic.IsReady()) { dmgTotal += Player.CalculateDamage(target, DamageType.Physical, 40 + 0.1f * Player.MaxHealth); } } if (useQ) { dmgTotal += Q.GetDamage(target); manaTotal += Q.Instance.SData.Mana; } if (useW) { if (useQ) { dmgTotal += Q.GetDamage(target) / 2; } if (WState == 0) { manaTotal += W.Instance.SData.Mana; } } if (useE) { dmgTotal += E.GetDamage(target); manaTotal += E.Instance.SData.Mana; } dmgTotal += Player.GetAutoAttackDamage(target) * 2; if (HaveR(target)) { dmgTotal += Player.CalculateDamage( target, DamageType.Physical, new[] { 0.25, 0.35, 0.45 }[R.Level - 1] *dmgTotal + Player.TotalAttackDamage); } return(new List <double> { dmgTotal, manaTotal }); }
private static void UseItem(Obj_AI_Hero target) { if (target != null && ((HaveRMark(target) && rShadow.IsValid()) || target.HealthPercent < 40 || Player.HealthPercent < 50)) { if (Bilgewater.IsReady) { Bilgewater.Cast(target); } if (BotRuinedKing.IsReady) { BotRuinedKing.Cast(target); } } if (Youmuu.IsReady && Common.CountEnemy(R.Range + 200) > 0) { Youmuu.Cast(); } if (Tiamat.IsReady && Common.CountEnemy(Tiamat.Range) > 0) { Tiamat.Cast(); } if (Hydra.IsReady && Common.CountEnemy(Hydra.Range) > 0) { Hydra.Cast(); } if (Titanic.IsReady && Common.CountEnemy(Titanic.Range) > 0) { Titanic.Cast(); } }
internal void UseItems(Obj_AI_Base target) { var KhazixServerPosition = Khazix.ServerPosition.LSTo2D(); var targetServerPosition = target.ServerPosition.LSTo2D(); if (Hydra.IsReady() && Khazix.LSDistance(target) <= Hydra.Range) { Hydra.Cast(); } if (Tiamat.IsReady() && Khazix.LSDistance(target) <= Tiamat.Range) { Tiamat.Cast(); } if (Titanic.IsReady() && Khazix.LSDistance(target) <= Tiamat.Range) { Tiamat.Cast(); } if (Blade.IsReady() && Khazix.LSDistance(target) <= Blade.Range) { Blade.Cast(target); } if (Youmu.IsReady() && Khazix.LSDistance(target) <= Youmu.Range) { Youmu.Cast(target); } if (Bilgewater.IsReady() && Khazix.LSDistance(target) <= Bilgewater.Range) { Bilgewater.Cast(target); } }
private static void UseItem(Obj_AI_Hero target) { if (target != null) { if (BotRuinedKing.IsReady) { BotRuinedKing.Cast(target); } } if (Tiamat.IsReady && Player.CountEnemyHeroesInRange(Tiamat.Range) > 0) { Tiamat.Cast(); } if (Hydra.IsReady && Player.CountEnemyHeroesInRange(Hydra.Range) > 0) { Hydra.Cast(); } if (Titanic.IsReady && !Player.Spellbook.IsAutoAttacking && Variables.Orbwalker.GetTarget() != null) { Titanic.Cast(); } }
private static void UseItem(Obj_AI_Hero target) { if (target != null && (target.HealthPercent < 40 || Player.HealthPercent < 50)) { if (Bilgewater.IsReady) { Bilgewater.Cast(target); } if (BotRuinedKing.IsReady) { BotRuinedKing.Cast(target); } } if (Youmuu.IsReady && Player.CountEnemy(W.Range + E.Range) > 0) { Youmuu.Cast(); } if (Tiamat.IsReady && Player.CountEnemy(Tiamat.Range) > 0) { Tiamat.Cast(); } if (Hydra.IsReady && Player.CountEnemy(Hydra.Range) > 0) { Hydra.Cast(); } if (Titanic.IsReady && Player.CountEnemy(Player.GetRealAutoAttackRange()) > 0) { Titanic.Cast(); } }
void Combo() { float range = 0; if (SpellSlot.R.IsReady()) { range = Spells[R].Range; } else if (Spells[Q2].IsReady()) { range = Spells[Q2].Range; } else if (Spells[E].IsReady()) { range = Spells[E].Range; } CurrentTarget = TargetSelector.GetTarget(range, DamageType.Physical); CastQ(CurrentTarget); if (GetBool("Combo.UseE", YasuoMenu.ComboM) && !Helper.DontDash) { CastEOld(CurrentTarget); } if (GetBool("Items.Enabled", YasuoMenu.ComboM)) { if (GetBool("Items.UseTIA", YasuoMenu.ComboM)) { Tiamat.Cast(null); } if (GetBool("Items.UseHDR", YasuoMenu.ComboM)) { Hydra.Cast(null); } if (GetBool("Items.UseTitanic", YasuoMenu.ComboM)) { Titanic.Cast(null); } if (GetBool("Items.UseBRK", YasuoMenu.ComboM) && CurrentTarget != null) { Blade.Cast(CurrentTarget); } if (GetBool("Items.UseBLG", YasuoMenu.ComboM) && CurrentTarget != null) { Bilgewater.Cast(CurrentTarget); } if (GetBool("Items.UseYMU", YasuoMenu.ComboM)) { Youmu.Cast(null); } } }
void Waveclear() { List <Obj_AI_Minion> allMinions = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsValidTarget(W.Range) && !MinionManager.IsWard(x)).ToList(); if (getCheckBoxItem(farm, "UseQFarm") && Q.IsReady()) { var minion = Orbwalker.LastTarget as Obj_AI_Minion; if (minion != null && HealthPrediction.GetHealthPrediction( minion, (int)(Khazix.Distance(minion) * 1000 / 1400)) > 0.35f * Khazix.GetSpellDamage(minion, SpellSlot.Q) && Khazix.Distance(minion) <= Q.Range) { Q.Cast(minion); } else if (minion == null || !minion.IsValid) { foreach (var min in allMinions.Where(x => x.IsValidTarget(Q.Range))) { if (HealthPrediction.GetHealthPrediction( min, (int)(Khazix.Distance(min) * 1000 / 1400)) > 3 * Khazix.GetSpellDamage(min, SpellSlot.Q) && Khazix.Distance(min) <= Q.Range) { Q.Cast(min); break; } } } } if (getCheckBoxItem(farm, "UseWFarm") && W.IsReady() && Khazix.HealthPercent <= getSliderItem(farm, "Farm.WHealth")) { var wmins = EvolvedW ? allMinions.Where(x => x.IsValidTarget(WE.Range)) : allMinions.Where(x => x.IsValidTarget(W.Range)); MinionManager.FarmLocation farmLocation = MinionManager.GetBestCircularFarmLocation(wmins .Select(minion => minion.ServerPosition.To2D()) .ToList(), EvolvedW ? WE.Width : W.Width, EvolvedW ? WE.Range : W.Range); var distcheck = EvolvedW ? Khazix.Distance(farmLocation.Position) <= WE.Range : Khazix.Distance(farmLocation.Position) <= W.Range; if (distcheck) { W.Cast(farmLocation.Position); } } if (getCheckBoxItem(farm, "UseEFarm") && E.IsReady()) { MinionManager.FarmLocation farmLocation = MinionManager.GetBestCircularFarmLocation( MinionManager.GetMinions(Khazix.ServerPosition, E.Range) .Select(minion => minion.ServerPosition.To2D()) .ToList(), E.Width, E.Range); if (Khazix.Distance(farmLocation.Position) <= E.Range) { E.Cast(farmLocation.Position); } } if (getCheckBoxItem(farm, "UseItemsFarm")) { MinionManager.FarmLocation farmLocation = MinionManager.GetBestCircularFarmLocation( MinionManager.GetMinions(Khazix.ServerPosition, Hydra.Range) .Select(minion => minion.ServerPosition.To2D()) .ToList(), Hydra.Range, Hydra.Range); if (Hydra.IsReady() && Khazix.Distance(farmLocation.Position) <= Hydra.Range && farmLocation.MinionsHit >= 2) { Items.UseItem(3074, Khazix); } if (Tiamat.IsReady() && Khazix.Distance(farmLocation.Position) <= Tiamat.Range && farmLocation.MinionsHit >= 2) { Items.UseItem(3077, Khazix); } if (Titanic.IsReady() && Khazix.Distance(farmLocation.Position) <= Titanic.Range && farmLocation.MinionsHit >= 2) { Items.UseItem(3748, Khazix); } } }
void Waveclear() { List <Obj_AI_Minion> allMinions = ObjectManager.Get <Obj_AI_Minion>().OrderBy(x => x.MaxHealth).Where(x => x.IsValidTarget(W.Range) && !MinionManager.IsWard(x)).ToList(); if (Config.GetBool("UseQFarm") && Q.IsReady() && !Orbwalking.CanAttack()) { bool UsedQ = false; var minion = Orbwalker.GetTarget() as Obj_AI_Minion; if (minion != null) { var hpred = HealthPrediction.GetHealthPrediction(minion, (int)(Khazix.Distance(minion) * 1000 / 1400)); var qdmg = Khazix.GetSpellDamage(minion, SpellSlot.Q); if ((hpred <= qdmg || hpred >= qdmg * 3) && Khazix.Distance(minion) <= Q.Range) { Q.Cast(minion); UsedQ = true; } } if (!UsedQ) { var killable = allMinions.Find(x => x.IsInRange(Q.Range) && HealthPrediction.GetHealthPrediction(x, (int)(Khazix.Distance(x) * 1000 / 1400)) <= Khazix.GetSpellDamage(x, SpellSlot.Q)); if (killable != null) { Q.Cast(killable); } else { foreach (var min in allMinions.Where(x => x.IsValidTarget(Q.Range))) { if (HealthPrediction.GetHealthPrediction( min, (int)(Khazix.Distance(min) * 1000 / 1400)) > 3 * Khazix.GetSpellDamage(min, SpellSlot.Q) && Khazix.Distance(min) <= Q.Range) { Q.Cast(min); break; } } } } } if (Config.GetBool("UseWFarm") && W.IsReady() && Khazix.HealthPercent <= Config.GetSlider("Farm.WHealth")) { var wmins = EvolvedW ? allMinions.Where(x => x.IsValidTarget(WE.Range)) : allMinions.Where(x => x.IsValidTarget(W.Range)); MinionManager.FarmLocation farmLocation = MinionManager.GetBestCircularFarmLocation(wmins .Select(minion => minion.ServerPosition.To2D()) .ToList(), EvolvedW ? WE.Width : W.Width, EvolvedW ? WE.Range : W.Range); var distcheck = EvolvedW ? Khazix.Distance(farmLocation.Position) <= WE.Range : Khazix.Distance(farmLocation.Position) <= W.Range; if (distcheck) { W.Cast(farmLocation.Position); } } if (Config.GetBool("UseEFarm") && E.IsReady()) { MinionManager.FarmLocation farmLocation = MinionManager.GetBestCircularFarmLocation( MinionManager.GetMinions(Khazix.ServerPosition, E.Range) .Select(minion => minion.ServerPosition.To2D()) .ToList(), E.Width, E.Range); if (Khazix.Distance(farmLocation.Position) <= E.Range) { E.Cast(farmLocation.Position); } } if (Config.GetBool("UseItemsFarm") && !Orbwalking.CanAttack()) { MinionManager.FarmLocation farmLocation = MinionManager.GetBestCircularFarmLocation( MinionManager.GetMinions(Khazix.ServerPosition, Hydra.Range) .Select(minion => minion.ServerPosition.To2D()) .ToList(), Hydra.Range, Hydra.Range); if (Hydra.IsReady() && Khazix.Distance(farmLocation.Position) <= Hydra.Range && farmLocation.MinionsHit >= 2) { Items.UseItem(3074, Khazix); } if (Tiamat.IsReady() && Khazix.Distance(farmLocation.Position) <= Tiamat.Range && farmLocation.MinionsHit >= 2) { Items.UseItem(3077, Khazix); } if (Titanic.IsReady() && Khazix.Distance(farmLocation.Position) <= Titanic.Range && farmLocation.MinionsHit >= 2) { Items.UseItem(3748, Khazix); } } }
void Killsteal() { if (SpellSlot.Q.IsReady() && GetBool("Killsteal.UseQ", YasuoMenu.KillstealM)) { var targ = HeroManager.Enemies.Find(x => x.CanKill(SpellSlot.Q) && x.IsInRange(Qrange)); if (targ != null) { UseQ(targ, GetHitChance("Hitchance.Q")); return; } } if (SpellSlot.E.IsReady() && GetBool("Killsteal.UseE", YasuoMenu.KillstealM)) { var targ = HeroManager.Enemies.Find(x => x.CanKill(SpellSlot.E) && x.IsInRange(Spells[E].Range)); if (targ != null) { Spells[E].Cast(targ); return; } } if (SpellSlot.R.IsReady() && GetBool("Killsteal.UseR", YasuoMenu.KillstealM)) { var targ = KnockedUp.Find(x => x.CanKill(SpellSlot.R) && x.IsValidEnemy(Spells[R].Range) && !x.isBlackListed()); if (targ != null) { Spells[R].Cast(targ); return; } } if (GetBool("Killsteal.UseItems", YasuoMenu.KillstealM)) { if (Tiamat.item.IsReady()) { var targ = HeroManager.Enemies.Find( x => x.IsValidEnemy(Tiamat.item.Range) && x.Health <= Yasuo.GetItemDamage(x, LeagueSharp.Common.Damage.DamageItems.Tiamat)); if (targ != null) { Tiamat.Cast(null); } } if (Titanic.item.IsReady()) { var targ = HeroManager.Enemies.Find( x => x.IsValidEnemy(Titanic.item.Range) && x.Health <= Yasuo.GetItemDamage(x, LeagueSharp.Common.Damage.DamageItems.Tiamat)); if (targ != null) { Titanic.Cast(null); } } if (Hydra.item.IsReady()) { var targ = HeroManager.Enemies.Find( x => x.IsValidEnemy(Hydra.item.Range) && x.Health <= Yasuo.GetItemDamage(x, LeagueSharp.Common.Damage.DamageItems.Tiamat)); if (targ != null) { Hydra.Cast(null); } } if (Blade.item.IsReady()) { var targ = HeroManager.Enemies.Find( x => x.IsValidEnemy(Blade.item.Range) && x.Health <= Yasuo.GetItemDamage(x, LeagueSharp.Common.Damage.DamageItems.Botrk)); if (targ != null) { Blade.Cast(targ); } } if (Bilgewater.item.IsReady()) { var targ = HeroManager.Enemies.Find( x => x.IsValidEnemy(Bilgewater.item.Range) && x.Health <= Yasuo.GetItemDamage(x, LeagueSharp.Common.Damage.DamageItems.Bilgewater)); if (targ != null) { Bilgewater.Cast(targ); } } } }
void Waveclear() { if (SpellSlot.Q.IsReady() && !Yasuo.LSIsDashing() && !InDash) { if (!TornadoReady && GetBool("Waveclear.UseQ", YasuoMenu.WaveclearM) && Orbwalker.IsAutoAttacking) { var minion = ObjectManager.Get <Obj_AI_Minion>() .Where(x => x.IsValidMinion(Spells[Q].Range) && ((x.IsDashable() && (x.Health - Yasuo.LSGetSpellDamage(x, SpellSlot.Q) >= GetProperEDamage(x))) || (x.Health - Yasuo.LSGetSpellDamage(x, SpellSlot.Q) >= 0.15 * x.MaxHealth || x.QCanKill()))).MaxOrDefault(x => x.MaxHealth); if (minion != null) { Spells[Q].Cast(minion); LastTornadoClearTick = Helper.TickCount; } } else if (TornadoReady && GetBool("Waveclear.UseQ2", YasuoMenu.WaveclearM)) { var minions = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.LSDistance(Yasuo) > Yasuo.AttackRange && x.IsValidMinion(Spells[Q2].Range) && ((x.IsDashable() && x.Health - Yasuo.LSGetSpellDamage(x, SpellSlot.Q) >= 0.85 * GetProperEDamage(x)) || (x.Health - Yasuo.LSGetSpellDamage(x, SpellSlot.Q) >= 0.10 * x.MaxHealth) || x.CanKill(SpellSlot.Q))); var pred = MinionManager.GetBestLineFarmLocation(minions.Select(m => m.ServerPosition.LSTo2D()).ToList(), Spells[Q2].Width, Spells[Q2].Range); if (pred.MinionsHit >= GetSliderInt("Waveclear.Qcount", YasuoMenu.WaveclearM)) { Spells[Q2].Cast(pred.Position); } } } if (Helper.TickCount - LastTornadoClearTick < 500) { return; } if (SpellSlot.E.IsReady() && GetBool("Waveclear.UseE", YasuoMenu.WaveclearM) && (!GetBool("Waveclear.Smart", YasuoMenu.WaveclearM) || isHealthy) && (Helper.TickCount - WCLastE) >= GetSliderInt("Waveclear.Edelay", YasuoMenu.WaveclearM)) { var minions = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsDashable() && ((GetBool("Waveclear.UseENK", YasuoMenu.WaveclearM) && (!GetBool("Waveclear.Smart", YasuoMenu.WaveclearM) || x.Health - GetProperEDamage(x) > GetProperEDamage(x) * 3)) || x.ECanKill()) && (GetBool("Waveclear.ETower", YasuoMenu.WaveclearM) || GetKeyBind("Misc.TowerDive", YasuoMenu.MiscM) || !GetDashPos(x).PointUnderEnemyTurret())); Obj_AI_Minion minion = null; minion = minions.OrderBy(x => x.ECanKill()).ThenBy(x => GetDashPos(x).MinionsInRange(200)).FirstOrDefault(); if (minion != null) { Spells[E].Cast(minion); WCLastE = Helper.TickCount; } } if (GetBool("Waveclear.UseItems", YasuoMenu.WaveclearM)) { if (GetBool("Waveclear.UseTIA", YasuoMenu.WaveclearM)) { Tiamat.minioncount = GetSliderInt("Waveclear.MinCountHDR", YasuoMenu.WaveclearM); Tiamat.Cast(null, true); } if (GetBool("Waveclear.UseTitanic", YasuoMenu.WaveclearM)) { Titanic.minioncount = GetSliderInt("Waveclear.MinCountHDR", YasuoMenu.WaveclearM); Titanic.Cast(null, true); } if (GetBool("Waveclear.UseHDR", YasuoMenu.WaveclearM)) { Hydra.minioncount = GetSliderInt("Waveclear.MinCountHDR", YasuoMenu.WaveclearM); Hydra.Cast(null, true); } if (GetBool("Waveclear.UseYMU", YasuoMenu.WaveclearM)) { Youmu.minioncount = GetSliderInt("Waveclear.MinCountYOU", YasuoMenu.WaveclearM); Youmu.Cast(null, true); } } }
//----------------------------------------------Combo()------------------------------------------------ public static void Combo() { if ((Scimitar.IsReady() || QSS.IsReady()) && Player.HasBuffOfType(BuffType.Charm) || Player.HasBuffOfType(BuffType.Blind) || Player.HasBuffOfType(BuffType.Fear) || Player.HasBuffOfType(BuffType.Polymorph) || Player.HasBuffOfType(BuffType.Silence) || Player.HasBuffOfType(BuffType.Sleep) || Player.HasBuffOfType(BuffType.Snare) || Player.HasBuffOfType(BuffType.Stun) || Player.HasBuffOfType(BuffType.Suppression) || Player.HasBuffOfType(BuffType.Taunt)) { Scimitar.Cast(); QSS.Cast(); } if (Menu["UseQCombo"].Cast <CheckBox>().CurrentValue&& QIsReady && QRange) { if (Menu["SmartQ"].Cast <CheckBox>().CurrentValue) { QLogic(); } else if (Menu["SaveQDodge"].Cast <CheckBox>().CurrentValue) { } else { Q.Cast(Target); } } if (Smite != null) { if (Target.IsValidTarget(Smite.Range) && Smite.IsReady()) { if (Smite.Name.Contains("gank")) { Smite.Cast(Target); } else if (Smite.Name.Contains("duel") && AARange) { Smite.Cast(Target); } } } if (Menu["UseRCombo"].Cast <CheckBox>().CurrentValue&& R.IsReady() && Player.Distance(Target) <= Player.GetAutoAttackRange(Target) + 300) { R.Cast(); } if (Menu["UseECombo"].Cast <CheckBox>().CurrentValue&& EIsReady && AARange) { E.Cast(); } if (QRange && GhostBlade.IsReady()) { GhostBlade.Cast(); } if (Target.IsValidTarget(550) && BOTRK.IsReady()) { BOTRK.Cast(Target); } if (Target.IsValidTarget(550) && Bilgewater.IsReady()) { Bilgewater.Cast(Target); } if (Target.IsValidTarget(350) && Tiamat.IsReady()) { Tiamat.Cast(); } if (Target.IsValidTarget(100) && Titanic.IsReady() && Titanic.Cast()) { Orbwalker.ResetAutoAttack(); } if (Target.IsValidTarget(350) && Hydra.IsReady()) { Hydra.Cast(); } if (Target.IsValidTarget(450) && Randuin.IsReady()) { Randuin.Cast(); } if (Target.IsValidTarget(700) && Hextech.IsReady()) { Hextech.Cast(Target); } return; }
void Combo() { float range = 0; if (SpellSlot.R.IsReady()) { range = Spells[R].Range; } else if (Spells[Q2].IsReady()) { range = Spells[Q2].Range; } else if (Spells[E].IsReady()) { range = Spells[E].Range; } CurrentTarget = TargetSelector.GetTarget(range, TargetSelector.DamageType.Physical); CastQ(CurrentTarget); if (GetBool("Combo.UseE") && !Helper.DontDash) { var mode = GetMode(); if (mode == Modes.Old) { CastEOld(CurrentTarget); } else { CastENew(CurrentTarget); } } if (GetBool("Combo.UseIgnite")) { CastIgnite(); } if (GetBool("Items.Enabled")) { if (GetBool("Items.UseTIA")) { Tiamat.Cast(null); } if (GetBool("Items.UseHDR")) { Hydra.Cast(null); } if (GetBool("Items.UseTitanic")) { Titanic.Cast(null); } if (GetBool("Items.UseBRK") && CurrentTarget != null) { Blade.Cast(CurrentTarget); } if (GetBool("Items.UseBLG") && CurrentTarget != null) { Bilgewater.Cast(CurrentTarget); } if (GetBool("Items.UseYMU")) { Youmu.Cast(null); } } }