private int hitOnTar(Obj_AI_Base tar) { if (tar == null) { return(int.MaxValue); } int addTime = 0; if (DeathWalker.inAutoAttackRange(source, tar))//+ check if want to move to killabel minion and range it wants to { var realDist = DeathWalker.realDistanceTill(source, target); var aaRange = DeathWalker.getRealAutoAttackRange(source, tar); addTime += (int)(((realDist - aaRange) * 1000) / source.MoveSpeed); } if (source.IsMelee || DeathWalker.azir) { return((int)(createdTick + source.AttackCastDelay * 1000) + addTime); } else { return(createdTick + (int)((source.Position.Distance(tar.Position) * 1000) / (source.BasicAttack.MissileSpeed)) + ((source is Obj_AI_Turret) ? towerDamageDelay : 0) + addTime);//lil delay cus dunno l8er could try to values what says delay of dmg dealing } }
public static void useQSmart(Obj_AI_Base target) { try { if (!Q.IsReady() || target.Path.Count() == 0 || !target.IsMoving) { return; } Vector2 nextEnemPath = target.Path[0].To2D(); var dist = player.Position.To2D().Distance(target.Position.To2D()); var distToNext = nextEnemPath.Distance(player.Position.To2D()); if (distToNext <= dist) { return; } var msDif = player.MoveSpeed - target.MoveSpeed; if (msDif <= 0 && !DeathWalker.inAutoAttackRange(target) && DeathWalker.canAttack()) { Q.Cast(target); } var reachIn = dist / msDif; if (reachIn > 4) { Q.Cast(target); } } catch (Exception) { throw; } }
public static void useESmart(Obj_AI_Base target) { if (DeathWalker.inAutoAttackRange(target) && E.IsReady() && (aaToKill(target) > 2 || iAmLow())) { E.Cast(MasterSharp.Config.Item("packets").GetValue <bool>()); } }
public static void useRSmart(Obj_AI_Base target) { if (DeathWalker.inAutoAttackRange(target) && R.IsReady() && aaToKill(target) > 5) { R.Cast(MasterSharp.Config.Item("packets").GetValue <bool>()); } }
public static Obj_AI_Base getMinUnderTower() { foreach (var tAttack in DtsHealthPrediction.ActiveAttacksTower) { var enem = tAttack.Value.Target; if (enem.IsValidTarget() && enem is Obj_AI_Minion && enem.IsEnemy && DeathWalker.inAutoAttackRange(enem)) { return(tAttack.Value.Target); } } return(null); }
public static void doHarass(Obj_AI_Hero target) { if (target == null || !target.IsValid || player.Mana < 200) { return; } if (!DeathWalker.inAutoAttackRange(target)) { useQonTarg(target, QhitChance.medium); } }
public static Obj_AI_Base shouldWait() { EnemyMinions = MinionManager.GetMinions(player.Position, 1500); foreach (var enemyMinion in EnemyMinions) { if (!DeathWalker.inAutoAttackRange(enemyMinion)) { continue; } var minHealthPred = DamagePrediction.getPred(enemyMinion, DamagePrediction.PredType.PRED_TWO_HITS); var dmgOnMinion = player.GetAutoAttackDamage(enemyMinion, true); if (minHealthPred <= dmgOnMinion) { return(enemyMinion); } } return(null); }
public static Obj_AI_Base findKillable() { EnemyMinions = MinionManager.GetMinions(player.Position, 1500); foreach (var enemyMinion in EnemyMinions) { if (!DeathWalker.inAutoAttackRange(enemyMinion)) { continue; } var minHealthPred = DamagePrediction.getPred(enemyMinion, DamagePrediction.PredType.PRED_LAST_HIT); var dmgOnMinion = player.GetAutoAttackDamage(enemyMinion, true); if (minHealthPred <= dmgOnMinion && minHealthPred > lowerLimit) { return(enemyMinion); } } return(null); }
public static void OnGameProcessPacket(GamePacketEventArgs args) { return; if (Config.Item("comboWreset").GetValue <bool>() && args.PacketData[0] == 0x65 && MasterYi.W.IsReady() && DeathWalker.CurrentMode == DeathWalker.Mode.Combo) { // LogPacket(args); GamePacket gp = new GamePacket(args.PacketData); gp.Position = 1; Packet.S2C.Damage.Struct dmg = Packet.S2C.Damage.Decoded(args.PacketData); int targetID = gp.ReadInteger(); int dType = (int)gp.ReadByte(); int Unknown = gp.ReadShort(); float DamageAmount = gp.ReadFloat(); int TargetNetworkIdCopy = gp.ReadInteger(); int SourceNetworkId = gp.ReadInteger(); float dmga = (float) MasterYi.player.GetAutoAttackDamage( ObjectManager.GetUnitByNetworkId <Obj_AI_Base>(targetID)); if (dmga - 10 > DamageAmount || dmga + 10 < DamageAmount) { return; } if (MasterYi.player.NetworkId != dmg.SourceNetworkId && MasterYi.player.NetworkId == targetID) { return; } Obj_AI_Base targ = ObjectManager.GetUnitByNetworkId <Obj_AI_Base>(dmg.TargetNetworkId); if ((int)dmg.Type == 12 || (int)dmg.Type == 4 || (int)dmg.Type == 3) { if (MasterYi.W.IsReady() && DeathWalker.inAutoAttackRange(targ)) { MasterYi.W.Cast(targ.Position); // DeathWalker.ResetAutoAttackTimer(); } } // Console.WriteLine("dtyoe: " + dType); } }
public override void Game_OnGameUpdate(EventArgs args) { R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500; Obj_AI_Hero t; if (W.IsReady() && GetValue <bool>("AutoWI")) { t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(W.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall"))) { W.Cast(t.Position); } } if (Q.IsReady() && GetValue <bool>("AutoQI")) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(Q.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) && (t.Health <= ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q) || !DeathWalker.inAutoAttackRange(t)))) { Q.Cast(t, false, true); } } if (R.IsReady()) { t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(R.Range) && t.Health <= R.GetDamage(t)) { if (GetValue <KeyBind>("UltHelp").Active) { R.Cast(t); } UltTarget = t.ChampionName; ShowUlt = true; } else { ShowUlt = false; } } else { ShowUlt = false; } if (GetValue <KeyBind>("Dash").Active&& E.IsReady()) { var pos = ObjectManager.Player.ServerPosition.To2D().Extend(Game.CursorPos.To2D(), -300).To3D(); E.Cast(pos, true); } if (GetValue <KeyBind>("UseEQC").Active&& E.IsReady() && Q.IsReady()) { t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(E.Range) && t.Health < ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q) + ObjectManager.Player.GetSpellDamage(t, SpellSlot.E) + 20 && E.CanCast(t)) { E.Cast(t); Q.Cast(t, false, true); } } // PQ you broke it D: if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseEC"); var useR = GetValue <bool>("UseRC"); if (Q.IsReady() && useQ) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } else if (E.IsReady() && useE) { t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (t != null && t.Health <= E.GetDamage(t)) { E.Cast(t); } } if (R.IsReady() && useR) { t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t != null && t.Health <= R.GetDamage(t) && !DeathWalker.inAutoAttackRange(t)) { R.CastOnUnit(t); } } }
public override void Game_OnGameUpdate(EventArgs args) { if (ObjectManager.Player.IsDead) { xAttackLeft = 0; return; } if (Game.Time > xPassiveUsedTime + 3 && xAttackLeft == 1) { xAttackLeft = 0; } if (Config.Item("Passive" + Id).GetValue <bool>() && xAttackLeft > 0) { return; } if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.CastOnUnit(t); } } if (Q.IsReady() && GetValue <KeyBind>("UseQExtendedTH").Active&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget() && QMinion.IsValidTarget()) { if (ObjectManager.Player.Distance(t) > Q.Range) { Q.CastOnUnit(QMinion); } } } if ((!ComboActive && !HarassActive)) { return; } var useQ = Config.Item("UseQ" + (ComboActive ? "C" : "H") + Id).GetValue <bool>(); var useW = Config.Item("UseW" + (ComboActive ? "C" : "H") + Id).GetValue <bool>(); var useE = Config.Item("UseE" + (ComboActive ? "C" : "H") + Id).GetValue <bool>(); var useQExtended = Config.Item("UseQExtended" + (ComboActive ? "C" : "H") + Id).GetValue <bool>(); // if (ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Level > 0) // Config.Item("GHOSTBLADE") // .SetValue(ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Name == "LucianR"); if (useQExtended && Q.IsReady()) { var t = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget() && QMinion.IsValidTarget()) { if (!DeathWalker.inAutoAttackRange(t)) { Q.CastOnUnit(QMinion); } } } if (useQ && Q.IsReady()) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { Q.CastOnUnit(t); } } if (useW && W.IsReady()) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { W.Cast(t); } } if (useE && E.IsReady()) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { E.Cast(Game.CursorPos); } } }
private static void Game_OnGameUpdate(EventArgs args) { if (Items.HasItem(3139) || Items.HasItem(3140)) { CheckChampionBuff(); } //Update the combo and harass values. CClass.ComboActive = DeathWalker.CurrentMode == DeathWalker.Mode.Combo; var vHarassManaPer = Config.Item("HarassMana").GetValue <Slider>().Value; CClass.HarassActive = DeathWalker.CurrentMode == DeathWalker.Mode.Harass && ObjectManager.Player.ManaPercent >= vHarassManaPer; CClass.ToggleActive = ObjectManager.Player.ManaPercent >= vHarassManaPer; var vLaneClearManaPer = Config.Item("LaneClearMana").GetValue <Slider>().Value; CClass.LaneClearActive = DeathWalker.CurrentMode == DeathWalker.Mode.LaneClear && ObjectManager.Player.ManaPercent >= vLaneClearManaPer; CClass.Game_OnGameUpdate(args); UseSummoners(); var useItemModes = Config.Item("UseItemsMode").GetValue <StringList>().SelectedIndex; //Items if ( !((DeathWalker.Mode.Combo == DeathWalker.CurrentMode && (useItemModes == 2 || useItemModes == 3)) || (DeathWalker.Mode.LaneClear == DeathWalker.CurrentMode && (useItemModes == 1 || useItemModes == 3)))) { return; } var botrk = Config.Item("BOTRK").GetValue <bool>(); var ghostblade = Config.Item("GHOSTBLADE").GetValue <bool>(); var sword = Config.Item("SWORD").GetValue <bool>(); var muramana = Config.Item("MURAMANA").GetValue <bool>(); var target = DeathWalker.getBestTarget() as Obj_AI_Base; var smiteReady = (SmiteSlot != SpellSlot.Unknown && ObjectManager.Player.Spellbook.CanUseSpell(SmiteSlot) == SpellState.Ready); if (target != null && smiteReady && DeathWalker.CurrentMode == DeathWalker.Mode.Combo) { Smiteontarget(target as Obj_AI_Hero); } if (botrk) { if (target != null && target.Type == ObjectManager.Player.Type && target.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < 550) { var hasCutGlass = Items.HasItem(3144); var hasBotrk = Items.HasItem(3153); if (hasBotrk || hasCutGlass) { var itemId = hasCutGlass ? 3144 : 3153; var damage = ObjectManager.Player.GetItemDamage(target, Damage.DamageItems.Botrk); if (hasCutGlass || ObjectManager.Player.Health + damage < ObjectManager.Player.MaxHealth) { Items.UseItem(itemId, target); } } } } if (ghostblade && target != null && target.Type == ObjectManager.Player.Type && !ObjectManager.Player.HasBuff("ItemSoTD", true) && /*if Sword of the divine is not active */ DeathWalker.inAutoAttackRange(target)) { Items.UseItem(3142); } if (sword && target != null && target.Type == ObjectManager.Player.Type && !ObjectManager.Player.HasBuff("spectralfury", true) && /*if ghostblade is not active*/ DeathWalker.inAutoAttackRange(target)) { Items.UseItem(3131); } if (muramana && Items.HasItem(3042)) { if (target != null && CClass.ComboActive && target.Position.Distance(ObjectManager.Player.Position) < 1200) { if (!ObjectManager.Player.HasBuff("Muramana", true)) { Items.UseItem(3042); } } else { if (ObjectManager.Player.HasBuff("Muramana", true)) { Items.UseItem(3042); } } } }
public override void Game_OnGameUpdate(EventArgs args) { if (LaneClearActive) { if (Program.Config.Item("UseQForBigBoys").GetValue <bool>()) { JungleFarm(); } } else if (!ComboActive) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (!t.IsValidTarget() || !W.IsReady()) { return; } if (Program.Config.Item("UseWTH").GetValue <KeyBind>().Active) { if (ObjectManager.Player.HasBuff("Recall")) { return; } W.Cast(t); } if (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Charm) || t.HasBuffOfType(BuffType.Fear) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall")) { W.Cast(t.Position); } } /* [ Combo ] */ if (ComboActive) { var useQ = Config.Item("UseQC" + Id).GetValue <bool>(); var useW = Config.Item("UseWC" + Id).GetValue <bool>(); var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (useQ && Q.IsReady() && AsheQCastReady) { if (t.IsValidTarget(DeathWalker.getRealAutoAttackRange(null) + 90)) { Q.Cast(); } } if (useW && W.IsReady() && t.IsValidTarget()) { W.Cast(t); } var useR = Program.Config.SubMenu("Combo").Item("UseRC").GetValue <bool>(); if (useR && R.IsReady()) { var minRRange = Program.Config.SubMenu("Combo").Item("UseRCMinRange").GetValue <Slider>().Value; var maxRRange = Program.Config.SubMenu("Combo").Item("UseRCMaxRange").GetValue <Slider>().Value; t = TargetSelector.GetTarget(maxRRange, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } var aaDamage = DeathWalker.inAutoAttackRange(t) ? ObjectManager.Player.GetAutoAttackDamage(t, true) : 0; if (t.Health > aaDamage && t.Health <= ObjectManager.Player.GetSpellDamage(t, SpellSlot.R) && ObjectManager.Player.Distance(t) >= minRRange) { R.Cast(t); } } } //Harass if (HarassActive) { var target = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Physical); if (target == null) { return; } if (Config.Item("UseWH" + Id).GetValue <bool>() && W.IsReady()) { W.Cast(target); } } //Manual cast R if (Config.Item("RManualCast" + Id).GetValue <KeyBind>().Active) { var rTarget = TargetSelector.GetTarget(2000, TargetSelector.DamageType.Physical); R.Cast(rTarget); } }