public static void Execute() { var Champ = EntityManager.Heroes.Enemies.Where(x => x.Health < HandleDamageIndicator(x)); if (MenuValue.Combo.UseQ && Q.IsReady() && Q.ToggleState != 2 && Core.GameTickCount - LastQTick > 120) { var target = Q.GetTarget(Champ); if (target != null) { var pred = Q.GetPrediction(target); if (pred.CanNext(Q, MenuValue.General.QHitChance, false)) { Q.Cast(pred.CastPosition); LastQTick = Core.GameTickCount; } } } if (MenuValue.Combo.UseW && W.IsReady()) { var target = W.GetTarget(Champ); if (target != null) { if (QMissile == null) { var pred = W.GetPrediction(target); W.Cast(pred.CastPosition); } else { if (target.Distance(QMissile) <= 300) { var pos = QMissile.Position.Extend(target, QMissile.Distance(target) + 10).To3DWorld(); if (W.IsInRange(pos)) { W.Cast(pos); } } } } } if (MenuValue.Combo.UseE && E.IsReady()) { var target = E.GetTarget(Champ); if (target != null && (target.HasBuff(IcedName) || !MenuValue.Combo.OnlyIced)) { E.Cast(target); } } if (MenuValue.Combo.UseR && R.IsReady() && Storm == null) { var target = R.GetTarget(Champ); if (target != null) { var pred = R.GetPrediction(target); R.Cast(pred.CastPosition); } } }
static Anivia() { Q = new Spell.Skillshot(SpellSlot.Q, DamageType.Magical) { AllowedCollisionCount = int.MaxValue, }; W = new Spell.Skillshot(SpellSlot.W, 1000, SkillShotType.Circular, 600, int.MaxValue, 100, DamageType.Magical) { AllowedCollisionCount = int.MaxValue, }; E = new Spell.Targeted(SpellSlot.E, 650); R = new Spell.Skillshot(SpellSlot.R, 750, SkillShotType.Circular, 50, int.MaxValue, 400, DamageType.Magical) { AllowedCollisionCount = int.MaxValue, }; QActive = new Spell.Active(SpellSlot.Q, 230, DamageType.Magical); ROff = new Spell.Active(SpellSlot.R, 400, DamageType.Magical); DamageIndicator.DamageDelegate = HandleDamageIndicator; #region Event Obj_GeneralParticleEmitter.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as Obj_GeneralParticleEmitter; if (sender != null) { if (missile.Name.Equals("cryo_storm_green_team.troy")) { Storm = missile; } } }; Obj_GeneralParticleEmitter.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as Obj_GeneralParticleEmitter; if (sender != null) { if (missile.Name.Equals("cryo_storm_green_team.troy")) { Storm = null; } } }; MissileClient.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (sender != null && missile.SpellCaster.IsMe) { if (missile.SData.Name.Equals("FlashFrostSpell")) { QMissile = missile; } } }; MissileClient.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (sender != null && missile.SpellCaster.IsMe && missile.SData.Name.Equals("FlashFrostSpell")) { QMissile = null; } }; AIHeroClient.OnBuffGain += delegate(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args) { var hero = sender as AIHeroClient; if (hero != null && hero.IsEnemy) { if (args.Buff.Name.Equals("chilled") && QActive.IsReady() && QMissile.IsInRange(hero, QActive.Range)) { QActive.Cast(); } if (args.Buff.Name.Equals(IcedName) && MenuValue.General.AutoE && E.IsReady() && E.IsInRange(hero)) { E.Cast(hero); } } }; AIHeroClient.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe) { return; } if (args.Slot.Equals(SpellSlot.Q)) { LastQTick = Core.GameTickCount; } }; #endregion }
private static void Combo() { var Enemies = EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(DemSpells.Q.Range) && !x.HasUndyingBuff()); var target = TargetSelector.GetTarget(1200, DamageType.Magical, myhero.Position); if (QMissile != null && (QMissile.Distance(target.Position) < 200 || EntityManager.Heroes.Enemies.Where(x => x.Distance(QMissile.Position) < 200).Count() >= 1) && DemSpells.Q.Cast(myhero.Position)) { return; } if (RMissile != null && EntityManager.Heroes.Enemies.Where(x => x.Distance(RMissile.Position) < 400).Count() == 0 && DemSpells.R.Cast(myhero.Position)) { return; } if (Enemies == null) { return; } if (check(combo, "CQ") && DemSpells.Q.IsReady() && QMissile == null && target.ValidTarget(DamageType.Magical, (int)DemSpells.Q.Range)) { if (myhero.HasBuff("FlashFrost")) { return; } var AOE = Prediction.Position.PredictCircularMissileAoe(Enemies.ToArray <Obj_AI_Base>(), DemSpells.Q.Range, 190, DemSpells.Q.CastDelay, DemSpells.Q.Speed); foreach (var result in AOE.Where(x => x.CollisionObjects.Contains(target) && x.HitChancePercent >= slider(pred, "QPred")) .OrderByDescending(x => x.CollisionObjects.Count())) { DemSpells.Q.Cast(result.CastPosition); break; } return; } if (check(combo, "CW") && DemSpells.W.GetPrediction(target).CastPosition.Distance(target.Position) >= 100 && DemSpells.W.Cast(DemSpells.W.GetPrediction(target).CastPosition)) { return; } if (check(combo, "CE") && DemSpells.E.IsReady()) { foreach (AIHeroClient enemy in Enemies.Where(x => x.ValidTarget(DamageType.Magical, (int)DemSpells.E.Range)).OrderByDescending(x => TargetSelector.GetPriority(x))) { if (DemSpells.E.CanCast(enemy) && (!check(combo, "CESTUN") || (check(combo, "CESTUN") && HasChill(enemy)) || (check(combo, "CESTUN") && !HasChill(enemy) && !DemSpells.Q.IsReady() && !DemSpells.R.IsReady()))) { DemSpells.E.Cast(enemy); break; } else { continue; } } return; } if (check(combo, "CR") && DemSpells.R.IsReady() && RMissile == null) { if (myhero.HasBuff("GlacialStorm")) { return; } var AoEPred = Prediction.Position.GetPredictionAoe(Enemies.ToArray <Obj_AI_Base>(), new Prediction.Position.PredictionData(Prediction.Position.PredictionData.PredictionType.Circular, (int)DemSpells.R.Range, 300, 0, 250, int.MaxValue)); foreach (var result in AoEPred.Where(x => x.CollisionObjects.Any()).OrderByDescending(x => x.CollisionObjects.Count())) { DemSpells.R.Cast(result.CastPosition); break; } return; } }