private float CalcComboDamage(Obj_AI_Hero target, bool q, bool w, bool e, bool r) { try { if (target == null) { return(0); } var manaCost = (w && W.IsReady() ? W.Instance.ManaCost : (q ? Q.Instance.ManaCost : 0)) * 2; var damage = (w && W.IsReady() ? W.GetDamage(target) : (q ? Q.GetDamage(target) : 0)) * 2; if (e) { var eMana = E.Instance.ManaCost; var eDamage = E.GetDamage(target); var count = target.IsNearTurret() && !target.IsFacing(Player) || target.IsNearTurret() && Player.HealthPercent <= 35 || !R.IsReady() ? 5 : 10; for (var i = 0; i < count; i++) { if (manaCost + eMana > Player.Mana) { break; } manaCost += eMana; damage += eDamage; } } if (r) { if (manaCost + R.Instance.ManaCost - 10 > Player.Mana) { return(damage); } return(damage + (R.IsReady() ? R.GetDamage(target) : 0)); } damage += ItemManager.CalculateComboDamage(target); damage += SummonerManager.CalculateComboDamage(target); return(damage); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return(0); }
private float CalcComboDamage(Obj_AI_Hero target, float resMulti, bool rangeCheck, bool q, bool e, bool r) { try { if (target == null) { return 0; } var damage = 0f; var totalMana = 0f; if (r && R.IsReady() && (!rangeCheck || R.IsInRange(target, R.Range + R.Width))) { var rMana = R.ManaCost * resMulti; if (totalMana + rMana <= Player.Mana) { totalMana += rMana; damage += R.GetDamage(target); int stacks; if (!IsSpellUpgraded(R)) { stacks = target.IsNearTurret(500f) ? 3 : 10; var endTimes = target.Buffs.Where( t => t.Type == BuffType.Charm || t.Type == BuffType.Snare || t.Type == BuffType.Knockup || t.Type == BuffType.Polymorph || t.Type == BuffType.Fear || t.Type == BuffType.Taunt || t.Type == BuffType.Stun) .Select(t => t.EndTime) .ToList(); if (endTimes.Any()) { var max = endTimes.Max(); if (max - Game.Time > 0.5f) { stacks = 14; } } } else { stacks = 13; } damage += (R.GetDamage(target, 1) * stacks); } } if (e && E.IsReady() && (!rangeCheck || E.IsInRange(target, E.Range + ELength))) { var eMana = E.ManaCost * resMulti; if (totalMana + eMana <= Player.Mana) { totalMana += eMana; damage += E.GetDamage(target); } } if (q && Q.IsReady() && (!rangeCheck || Q.IsInRange(target))) { var qMana = Q.ManaCost * resMulti; if (totalMana + qMana <= Player.Mana) { damage += Q.GetDamage(target); if (Orbwalking.InAutoAttackRange(target)) { damage += CalcPassiveDamage(target); } } } if (HasQBuff() && (!rangeCheck || Orbwalking.InAutoAttackRange(target))) { damage += CalcPassiveDamage(target); } damage *= 1.1f; damage += ItemManager.CalculateComboDamage(target, rangeCheck); damage += SummonerManager.CalculateComboDamage(target, rangeCheck); return damage; } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return 0; }
private float CalcComboDamage(Obj_AI_Hero target, float resMulti, bool rangeCheck, bool q, bool w, bool e, bool r) { try { if (target == null) { return 0; } var damage = 0f; var totalMana = 0f; if (r && R.IsReady() && (!rangeCheck || R.IsInRange(target))) { var rMana = R.ManaCost * resMulti; if (totalMana + rMana <= Player.Mana) { totalMana += rMana; damage += R.GetDamage(target); } } if (q && Q.IsReady() && (!rangeCheck || Q.IsInRange(target))) { var qMana = Q.ManaCost * resMulti; if (totalMana + qMana <= Player.Mana) { totalMana += qMana; damage += Q.GetDamage(target); } } else if (w && W.IsReady() && (!rangeCheck || W.IsInRange(target))) { var wMana = W.ManaCost * resMulti; if (totalMana + wMana <= Player.Mana) { totalMana += wMana; damage += W.GetDamage(target); } } if (e && E.IsReady(3000) && (!rangeCheck || E.IsInRange(target))) { var eMana = E.ManaCost * resMulti; var eDamage = E.GetDamage(target); var count = target.IsNearTurret() && !target.IsFacing(Player) || target.IsNearTurret() && Player.HealthPercent <= 35 || !R.IsReady() ? 5 : 8; for (var i = 0; i < count; i++) { if (totalMana + eMana > Player.Mana) { break; } totalMana += eMana; damage += eDamage; } } damage += ItemManager.CalculateComboDamage(target, rangeCheck); damage += SummonerManager.CalculateComboDamage(target, rangeCheck); return damage; } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return 0; }
private float CalcComboDamage(Obj_AI_Hero target, bool q, bool e, bool r) { try { if (target == null) { return 0; } var damage = 0f; if (HasQBuff() && Orbwalking.InAutoAttackRange(target)) { damage += CalcPassiveDamage(target); } if (q && Q.IsReady() && target.IsValidTarget(Q.Range)) { damage += Q.GetDamage(target); if (Orbwalking.InAutoAttackRange(target)) { damage += CalcPassiveDamage(target); } } if (e && E.IsReady() && target.IsValidTarget(MaxERange)) { damage += E.GetDamage(target); } if (r && R.IsReady() && target.IsValidTarget(R.Range + R.Width)) { damage += R.GetDamage(target); int stacks; if (!IsSpellUpgraded(R)) { stacks = target.IsNearTurret(500f) ? 3 : 10; var endTimes = target.Buffs.Where( t => t.Type == BuffType.Charm || t.Type == BuffType.Snare || t.Type == BuffType.Knockup || t.Type == BuffType.Polymorph || t.Type == BuffType.Fear || t.Type == BuffType.Taunt || t.Type == BuffType.Stun).Select(t => t.EndTime).ToList(); if (endTimes.Any()) { var max = endTimes.Max(); if (max - Game.Time > 0.5f) { stacks = 14; } } } else { stacks = 13; } damage += (R.GetDamage(target, 1) * stacks); } damage += ItemManager.CalculateComboDamage(target); damage += SummonerManager.CalculateComboDamage(target); return damage; } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return 0; }
private float CalcComboDamage(Obj_AI_Hero target, bool q, bool w, bool e, bool r) { try { if (target == null) { return 0; } var manaCost = (w && W.IsReady() ? W.Instance.ManaCost : (q ? Q.Instance.ManaCost : 0)) * 2; var damage = (w && W.IsReady() ? W.GetDamage(target) : (q ? Q.GetDamage(target) : 0)) * 2; if (e) { var eMana = E.Instance.ManaCost; var eDamage = E.GetDamage(target); var count = target.IsNearTurret() && !target.IsFacing(Player) || target.IsNearTurret() && Player.HealthPercent <= 35 || !R.IsReady() ? 5 : 10; for (var i = 0; i < count; i++) { if (manaCost + eMana > Player.Mana) { break; } manaCost += eMana; damage += eDamage; } } if (r) { if (manaCost + R.Instance.ManaCost - 10 > Player.Mana) { return damage; } return damage + (R.IsReady() ? R.GetDamage(target) : 0); } damage += ItemManager.CalculateComboDamage(target); damage += SummonerManager.CalculateComboDamage(target); return damage; } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return 0; }
private float CalcComboDamage(Obj_AI_Hero target, float resMulti, bool rangeCheck, bool q, bool w, bool e, bool r) { try { if (target == null) { return(0); } var damage = 0f; var totalMana = 0f; if (r && R.IsReady() && (!rangeCheck || R.IsInRange(target))) { var rMana = R.ManaCost * resMulti; if (totalMana + rMana <= Player.Mana) { totalMana += rMana; damage += R.GetDamage(target); } } if (q && Q.IsReady() && (!rangeCheck || Q.IsInRange(target))) { var qMana = Q.ManaCost * resMulti; if (totalMana + qMana <= Player.Mana) { totalMana += qMana; damage += Q.GetDamage(target); } } else if (w && W.IsReady() && (!rangeCheck || W.IsInRange(target))) { var wMana = W.ManaCost * resMulti; if (totalMana + wMana <= Player.Mana) { totalMana += wMana; damage += W.GetDamage(target); } } if (e && E.IsReady(3000) && (!rangeCheck || E.IsInRange(target))) { var eMana = E.ManaCost * resMulti; var eDamage = E.GetDamage(target); var count = target.IsNearTurret() && !target.IsFacing(Player) || target.IsNearTurret() && Player.HealthPercent <= 35 || !R.IsReady() ? 5 : 8; for (var i = 0; i < count; i++) { if (totalMana + eMana > Player.Mana) { break; } totalMana += eMana; damage += eDamage; } } damage += ItemManager.CalculateComboDamage(target, rangeCheck); damage += SummonerManager.CalculateComboDamage(target, rangeCheck); return(damage); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return(0); }
private float CalcComboDamage(Obj_AI_Hero target, bool q, bool e, bool r) { try { if (target == null) { return(0); } var damage = 0f; if (HasQBuff() && Orbwalking.InAutoAttackRange(target)) { damage += CalcPassiveDamage(target); } if (q && Q.IsReady() && target.IsValidTarget(Q.Range)) { damage += Q.GetDamage(target); if (Orbwalking.InAutoAttackRange(target)) { damage += CalcPassiveDamage(target); } } if (e && E.IsReady() && target.IsValidTarget(MaxERange)) { damage += E.GetDamage(target); } if (r && R.IsReady() && target.IsValidTarget(R.Range + R.Width)) { damage += R.GetDamage(target); int stacks; if (!IsSpellUpgraded(R)) { stacks = target.IsNearTurret(500f) ? 3 : 10; var endTimes = target.Buffs.Where( t => t.Type == BuffType.Charm || t.Type == BuffType.Snare || t.Type == BuffType.Knockup || t.Type == BuffType.Polymorph || t.Type == BuffType.Fear || t.Type == BuffType.Taunt || t.Type == BuffType.Stun).Select(t => t.EndTime).ToList(); if (endTimes.Any()) { var max = endTimes.Max(); if (max - Game.Time > 0.5f) { stacks = 14; } } } else { stacks = 13; } damage += (R.GetDamage(target, 1) * stacks); } damage += ItemManager.CalculateComboDamage(target); damage += SummonerManager.CalculateComboDamage(target); return(damage); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return(0); }