private static void Drawing_OnDraw(EventArgs args) { if (!Enabled || _damageToUnit == null) { return; } foreach (var unit in HeroManager.Enemies.Where(h => h.IsValid && h.IsHPBarRendered)) { var barPos = unit.HPBarPosition; var damage = _damageToUnit(unit); var percentHealthAfterDamage = Math.Max(0, unit.Health - damage) / unit.MaxHealth; var yPos = barPos.Y + YOffset; var xPosDamage = barPos.X + XOffset + Width * percentHealthAfterDamage; var xPosCurrentHp = barPos.X + XOffset + Width * unit.Health / unit.MaxHealth; if (unit.Health > 0) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = ((int)(unit.Health - damage)).ToString(CultureInfo.InvariantCulture); Text.OnEndScene(); } Drawing.DrawLine(xPosDamage, yPos, xPosDamage, yPos + Height, 2, Color); if (Fill) { var differenceInHp = xPosCurrentHp - xPosDamage; var pos1 = barPos.X + 9 + 107 * percentHealthAfterDamage; for (var i = 0; i < differenceInHp; i++) { Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, FillColor); } } } }
private static void Drawing_OnDraw(EventArgs args) { if (!Enabled || _damageToUnit == null) { return; } foreach (var unit in HeroManager.Enemies.Where(h => h.IsValid && h.IsHPBarRendered)) { var barPos = unit.HPBarPosition; var damage = _damageToUnit(unit); var percentHealthAfterDamage = Math.Max(0, unit.Health - damage) / unit.MaxHealth; var yPos = barPos.Y + YOffset; var xPosDamage = barPos.X + XOffset + Width * percentHealthAfterDamage; var xPosCurrentHp = barPos.X + XOffset + Width * unit.Health / unit.MaxHealth; if (damage > unit.Health) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = "Killable: " + (unit.Health - damage); Text.OnEndScene(); } EloBuddy.Drawing.DrawLine(xPosDamage, yPos, xPosDamage, yPos + Height, 1, Color); if (Fill) { float differenceInHP = xPosCurrentHp - xPosDamage; var pos1 = barPos.X + 9 + (107 * percentHealthAfterDamage); for (int i = 0; i < differenceInHP; i++) { EloBuddy.Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, FillColor); } } } }
private static void getIncDmg() { var color = Color.Red; float result = CombatHelper.getIncDmg(); var barPos = player.HPBarPosition; var damage = (float)result; if (damage == 0) { return; } var percentHealthAfterDamage = Math.Max(0, player.Health - damage) / player.MaxHealth; var xPos = barPos.X + XOffset + Width * percentHealthAfterDamage; if (damage > player.Health) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = ((int)(player.Health - damage)).ToString(); Text.OnEndScene(); } Drawing.DrawLine(xPos, barPos.Y + YOffset, xPos, barPos.Y + YOffset + Height, 3, color); }
private static void Drawing_OnDraw(EventArgs args) { if (Enabled) { foreach (var unit in ObjectManager.Get <Obj_AI_Hero>().Where(h => h.IsValid && h.IsHPBarRendered && h.IsEnemy)) { var barPos = unit.HPBarPosition; var damage = CalculateDamage(unit); var percentHealthAfterDamage = Math.Max(0, unit.Health - damage) / unit.MaxHealth; var yPos = barPos.Y + YOffset; var xPosDamage = barPos.X + XOffset + Width * percentHealthAfterDamage; var xPosCurrentHp = barPos.X + XOffset + Width * unit.Health / unit.MaxHealth; if (damage > unit.Health) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = ((int)(unit.Health - damage)).ToString(CultureInfo.InvariantCulture); Text.OnEndScene(); } Drawing.DrawLine(xPosDamage, yPos, xPosDamage, yPos + Height, 2, Color.Lime); if (FillHPBar) { float differenceInHp = xPosCurrentHp - xPosDamage; var pos1 = barPos.X + 9 + (107 * percentHealthAfterDamage); for (int i = 0; i < differenceInHp; i++) { Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, FillColor); } } } } }
static void Drawing_OnDraw(EventArgs args) { if (Menu.Item("drawQ").GetValue <bool>()) { if (Q.IsReady()) { Drawing.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Green); } else { Drawing.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Red); } } if (Menu.Item("drawE").GetValue <bool>()) { if (E.IsReady()) { Drawing.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Green); } else { Drawing.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Red); } } if (Menu.Item("drawR").GetValue <bool>()) { if (R.IsReady()) { Drawing.DrawCircle(Player.Position, R.Range, System.Drawing.Color.Green); } else { Drawing.DrawCircle(Player.Position, R.Range, System.Drawing.Color.Red); } } if (target != null) { var barPos = target.HPBarPosition; double damage = Player.CalcDamage(target, Damage.DamageType.Physical, Player.TotalAttackDamage * 3); if (Q.IsReady()) { damage += Player.GetSpellDamage(target, SpellSlot.Q); } if (W.IsReady()) { damage += Player.GetSpellDamage(target, SpellSlot.W) * 3; } if (E.IsReady()) { damage += Player.GetSpellDamage(target, SpellSlot.E); } if (R.IsReady()) { damage += Player.GetSpellDamage(target, SpellSlot.R) * 3; } var percentHealthAfterDamage = (target.Health - damage) / target.MaxHealth; var xPos = (float)(barPos.X + XOffset + Width * percentHealthAfterDamage); if (damage > target.Health) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = ((int)(target.Health - damage)).ToString(); Text.OnEndScene(); } Drawing.DrawLine(xPos, barPos.Y + YOffset, xPos, barPos.Y + YOffset + Height, 2, System.Drawing.Color.Yellow); } }
//public static void RecvPkt(GamePacketEventArgs args) //{ // try // { // var stream = new MemoryStream(args.PacketData); // using (var b = new BinaryReader(stream)) // { // int pos = 0; // var length = (int)b.BaseStream.Length; // while (pos < length) // { // int v = b.ReadInt32(); // if (v == 195) //OLD 194 // { // byte[] h = b.ReadBytes(1); // } // pos += sizeof(int); // } // } // } // catch (EndOfStreamException) // { // } //} public static void Game_OnGameUpdate(EventArgs args) { bool green = false; bool orange = false; bool red = false; bool yellow = false; bool tgreen = false; bool tred = false; bool tyellow = false; //double aadmg = 0; //double aaspeed = 0; //Game.PrintChat("in"); var gthan = menu.Item("gthan2").GetValue <Slider>().Value; var lthan = menu.Item("lthan2").GetValue <Slider>().Value; var theircd = menu.Item("theircd").GetValue <Slider>().Value; var theircd2 = menu.Item("theircd2").GetValue <Slider>().Value; var range = menu.Item("range").GetValue <Slider>().Value; //aaspeed = ObjectManager.Player.AttackSpeedMod + (1 * ObjectManager.Player.PercentAttackSpeedMod); //ObjectManager.Player. //Game.PrintChat("ASMod: {0} + Percent Mod: {1} + mult Mod: {2}", ObjectManager.Player.AttackSpeedMod, ObjectManager.Player.PercentAttackSpeedMod, ObjectManager.Player.PercentMultiplicativeAttackSpeedMod); //ObjectManager.Player.PercentMultiplicativeAttackSpeedMod //Game.PrintChat(range.ToString()); foreach ( Obj_AI_Hero h in ObjectManager.Get <Obj_AI_Hero>() .Where( h => h.IsEnemy && !h.IsDead && h.IsVisible && Vector3.Distance(ObjectManager.Player.Position, h.Position) <= range)) { heroesinrange.Add(h); //Game.PrintChat("added {0}", h.ChampionName); } foreach (var k in heroesinrange) { //aadmg = DamageLib.CalcPhysicalDmg( //ObjectManager.Player.BaseAttackDamage + ObjectManager.Player.FlatPhysicalDamageMod, k); //aaspeed = ObjectManager.Player.AttackSpeedMod + (1*ObjectManager.Player.PercentAttackSpeedMod); if (heroesinrange.Count() <= 2) { foreach (var h in k.GetWaypoints()) { if (Vector3.Distance(h.To3D(), ObjectManager.Player.Position) <= 300) { //var q = Drawing.WorldToScreen(ObjectManager.Player.Position); //LeagueSharp.Common.Packet.S2C.Ping.Encoded(new Packet.S2C.Ping.Struct(q[0], q[1], 0, // ObjectManager.Player.NetworkId, Packet.PingType.Danger)); //Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Orange); orange = true; } } } //Game.PrintChat(h.ChampionName); var spells = k.Spellbook.Spells; foreach (var c in spells) { if (c.State != SpellState.NotLearned) { theircost += c.ManaCost; if (k.Mana >= theircost) { if (c.CooldownExpires - Game.Time <= theircd) { if (c.Cooldown < theircd) { alldmg += Damage.GetSpellDamage(k, ObjectManager.Player, c.Slot); //* (theircd / c.Cooldown); } //if (c.SData.CastRange[0] > longestspell) //{ // longestspell = c.SData.CastRange[0]; //} else { // alldmg += dmgLib2.Class1.calcDmg(k, c.Slot, ObjectManager.Player); alldmg += Damage.GetSpellDamage(k, ObjectManager.Player, c.Slot); } } if (c.CooldownExpires - Game.Time <= theircd2) { if (c.Cooldown < theircd2) { soondmg += Damage.GetSpellDamage(k, ObjectManager.Player, c.Slot); //*(theircd2 / c.Cooldown); } else { soondmg += Damage.GetSpellDamage(k, ObjectManager.Player, c.Slot); } } } } } foreach (var c in ObjectManager.Player.Spellbook.Spells) { if (c.State != SpellState.NotLearned) { mycost += c.ManaCost; //Game.PrintChat("{0} counted", c.Slot); if (ObjectManager.Player.Mana >= mycost) { if (c.CooldownExpires - Game.Time <= lthan) { if (c.Cooldown < lthan) { mydmg += Damage.GetSpellDamage(ObjectManager.Player, k, c.Slot); //* (lthan / c.Cooldown); //mydmg += dmgLib2.Class1.calcDmg(ObjectManager.Player, c.Slot, k) * (lthan / c.Cooldown); } //if (c.SData.CastRange[0] > mylongestspell) //{ // mylongestspell = c.SData.CastRange[0]; //} else { mydmg += Damage.GetSpellDamage(ObjectManager.Player, k, c.Slot); } //Game.PrintChat("MyDmg from {0} = {1}", c.Slot, dmgLib2.Class1.calcDmg(ObjectManager.Player, c.Slot, h)); //Game.PrintChat("my dmg: {0} vs: {1}", mydmg, h.ChampionName); } if (c.CooldownExpires - Game.Time <= gthan) { if (c.Cooldown < gthan) { dmgnow += Damage.GetSpellDamage(ObjectManager.Player, k, c.Slot); //* (gthan / c.Cooldown); } else { dmgnow += Damage.GetSpellDamage(ObjectManager.Player, k, c.Slot); } } } } } //if (longestspell >= Vector3.Distance(ObjectManager.Player.Position, k.Position)) //{ // drawDanger = true; //} calcdmg.Add(k, mydmg); calcdmg2.Add(k, dmgnow); mydmg = 0; mycost = 0; dmgnow = 0; theircost = 0; soondmg = 0; } //if (drawDanger) //{ // Utility.DrawCircle(ObjectManager.Player.Position, longestspell, System.Drawing.Color.Red); //} //else //{ //Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Green); //} foreach (var c in calcdmg) { //Game.PrintChat("dmg taken: {0}", alldmg); //Game.PrintChat("my 2 dmg: {0} vs: {1}", c.Value, c.Key.ChampionName); //Game.PrintChat("in"); if (alldmg < ObjectManager.Player.Health) { var u = Drawing.WorldToScreen(c.Key.Position); if (heroesinrange.Count <= 2) { if (c.Key.Health <= c.Value) { // Drawing.DrawText(u[0], u[1], System.Drawing.Color.Red, "He is Killable!"); //Drawing.DrawCircle(c.Key.Position, 150, System.Drawing.Color.Red); //Drawing.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Green); green = true; var y = Drawing.WorldToScreen(ObjectManager.Player.Position); Drawing.DrawText(y[0], y[1], System.Drawing.Color.LimeGreen, "{0} is killable", c.Key.ChampionName); //Drawing.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Red); tred = true; //break; } if (c.Value > alldmg) { //Game.PrintChat("I win"); //Drawing.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Green); green = true; //Drawing.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, // System.Drawing.Color.Yellow); tyellow = true; //break; } if (c.Value < alldmg) { //Game.PrintChat("they win"); //Drawing.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, // System.Drawing.Color.Yellow); yellow = true; //Drawing.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Green); tgreen = true; //break; } } else { foreach (var g in calcdmg2) { if (g.Value > g.Key.Health) { //Drawing.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Green); green = true; var y = Drawing.WorldToScreen(ObjectManager.Player.Position); Drawing.DrawText(y[0], y[1], System.Drawing.Color.LimeGreen, "{0} is killable", g.Key.ChampionName); //Utility.DrawCircle(g.Key.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Red); tred = true; //break; } } } //Drawing.DrawText(u[0], u[1], System.Drawing.Color.SteelBlue, "After Combo: {0}", (int)(c.Key.Health - c.Value)); } else { //Game.PrintChat("im gonna die"); if (heroesinrange.Count >= 2) { if (soondmg > ObjectManager.Player.Health) { //var q = Drawing.WorldToScreen(ObjectManager.Player.Position); // Drawing.DrawText(q[0], q[1], System.Drawing.Color.Red, "Don't go in; you will die."); //Drawing.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Red); red = true; //break; } } else { if (alldmg > ObjectManager.Player.Health) { //var q = Drawing.WorldToScreen(ObjectManager.Player.Position); // Drawing.DrawText(q[0], q[1], System.Drawing.Color.Red, "Don't go in; you will die."); //Drawing.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, //System.Drawing.Color.Red); red = true; //break; } } } //hpi.unit = c.Key; //hpi.drawDmg(mydmg,System.Drawing.Color.Red); var barPos = c.Key.HPBarPosition; var damage = mydmg; var percentHealthAfterDamage = Math.Max(0, c.Key.Health - damage) / c.Key.MaxHealth; float xPos = (float)(barPos.X + XOffset + Width * percentHealthAfterDamage); if (damage > c.Key.Health) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = ((int)(c.Key.Health - damage)).ToString(); Text.OnEndScene(); } Drawing.DrawLine(xPos, barPos.Y + YOffset, xPos, barPos.Y + YOffset + Height, 2, System.Drawing.Color.RoyalBlue); if (tred) { Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Red); Utility.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Red); Utility.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Red); tyellow = false; tgreen = false; } if (tgreen) { Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.LimeGreen); tyellow = false; } if (tyellow) { Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Yellow); } if (orange) { Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.OrangeRed); } if (red) { Utility.DrawCircle(ObjectManager.Player.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Red); Utility.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Red); green = false; yellow = false; } if (yellow) { Utility.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Yellow); green = false; } if (green) { Utility.DrawCircle(c.Key.Position, ObjectManager.Player.AttackRange, System.Drawing.Color.Green); } } calcdmg2.Clear(); heroesinrange.Clear(); calcdmg.Clear(); mycost = 0; theircost = 0; soondmg = 0; dmgnow = 0; longestspell = 0; mylongestspell = 0; alldmg = 0; mydmg = 0; //public static double alldmg; // public static Menu menu; //private TargetSelector ts; //public static List<Obj_AI_Hero> heroesinrange; //public static double mydmg = new double(); //public static float longestspell = new float(); //public static float mylongestspell = new float(); //public static bool drawDanger = false; //public static double soondmg = new double(); //public static double dmgnow = new double(); //public static Dictionary<Obj_AI_Hero, double> calcdmg = new Dictionary<Obj_AI_Hero, double>(); //public static double mycost = new double(); //public static double theircost = new double(); }
private static void Drawing_OnEndScene(EventArgs args) { try { foreach (var hero in HeroManager.AllHeroes.Where( hero => hero.IsValid && !hero.IsMe && hero.IsHPBarRendered && (hero.IsEnemy && Config.Item("TrackEnemies").GetValue <bool>() || hero.IsAlly && Config.Item("TrackAllies").GetValue <bool>()))) { var pos = GetHPBarPositionWithOffset(hero); var X = (int)pos.X; var Y = (int)pos.Y; var k = 0; foreach (var sSlot in SummonerSpellSlots) { var spell = hero.Spellbook.GetSpell(sSlot); var texture = SummonerTextures[spell.Name]; var t = spell.CooldownExpires - Game.Time; var percent = Math.Abs(spell.Cooldown) > float.Epsilon ? t / spell.Cooldown : 1f; var n = t > 0 ? (int)(19 * (1f - percent)) : 19; var ts = TimeSpan.FromSeconds((int)t); var s = t > 60 ? string.Format("{0}:{1:D2}", ts.Minutes, ts.Seconds) : string.Format("{0:0}", t); if (t > 0) { Text.text = s; Text.X = X - 5 - s.Length * 5; Text.Y = Y + 1 + 13 * k; Text.Color = Color.White; Text.OnEndScene(); } texture.X = X + 3 + (Config.Item("XmasHud").IsActive() ? 1 : 0); texture.Y = Y + 1 + 13 * k; var crop = Config.Item("XmasHud").IsActive() ? 14 : 12; texture.Crop(new Rectangle(0, 12 * n, crop, 12)); texture.OnEndScene(); k++; } var hudOffset = GetHudOffset(); CdFrame.X = X + (int)hudOffset.X; CdFrame.Y = Y + (int)hudOffset.Y; CdFrame.OnEndScene(); var miscOffset = GetMiscOffset(); var startX = X + 19 + (int)miscOffset.X; var startY = Y + 20 + (int)miscOffset.Y; foreach (var slot in SpellSlots) { var spell = hero.Spellbook.GetSpell(slot); var t = spell.CooldownExpires - Game.Time; var percent = t > 0 && Math.Abs(spell.Cooldown) > float.Epsilon ? 1f - t / spell.Cooldown : 1f; if (t > 0 && t < 100) { var s = string.Format(t < 1f ? "{0:0.0}" : "{0:0}", t); Text.text = s; Text.X = startX + (24 - s.Length * 4) / 2; Text.Y = startY + 6; Text.Color = Color.White; Text.OnEndScene(); } var darkColor = t > 0 ? new ColorBGRA(168, 98, 0, 255) : new ColorBGRA(0, 130, 15, 255); var lightColor = t > 0 ? new ColorBGRA(235, 137, 0, 255) : new ColorBGRA(0, 168, 25, 255); if (hero.Spellbook.CanUseSpell(slot) != SpellState.NotLearned) { for (var i = 0; i < 2 + (Config.Item("XmasHud").IsActive() ? 1 : 0); i++) { ReadyLine.Start = new Vector2(startX, startY + i * 2); ReadyLine.End = new Vector2(startX + percent * 23, startY + i * 2); ReadyLine.Color = i == 0 ? lightColor : darkColor; ReadyLine.OnEndScene(); } } startX = startX + 27; } } } catch (Exception e) { Console.WriteLine(@"/ff can't draw sprites: " + e); } }
private static void Drawing_OnDraw(EventArgs args) { if (Player.IsDead) { return; } var heropos = Drawing.WorldToScreen(ObjectManager.Player.Position); if (_qstack != 1 && MenuConfig.DrawTimer1) { Timer.text = "Q Expiry => " + ((double)(Logic._lastQ - Utils.GameTimeTickCount + 3800) / 1000).ToString("0.0") + "s"; Timer.OnEndScene(); } if (Player.HasBuff("RivenFengShuiEngine") && MenuConfig.DrawTimer2) { Timer2.text = "R Expiry => " + (((double)Logic._lastR - Utils.GameTimeTickCount + 15000) / 1000).ToString("0.0") + "s"; Timer2.OnEndScene(); } if (MenuConfig.DrawCb) { Render.Circle.DrawCircle(Player.Position, 250 + Player.AttackRange + 70, Spells._e.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawBt && Flash != SpellSlot.Unknown) { Render.Circle.DrawCircle(Player.Position, 750, Spells._r.IsReady() && Flash.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawFh) { Render.Circle.DrawCircle(Player.Position, 450 + Player.AttackRange + 70, Spells._e.IsReady() && Spells._q.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawHs) { Render.Circle.DrawCircle(Player.Position, 400, Spells._q.IsReady() && Spells._w.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawAlwaysR) { Drawing.DrawText(heropos.X - 15, heropos.Y + 20, System.Drawing.Color.DodgerBlue, "Force R ( )"); Drawing.DrawText(heropos.X + 53, heropos.Y + 20, MenuConfig.AlwaysR ? System.Drawing.Color.LimeGreen : System.Drawing.Color.Red, MenuConfig.AlwaysR ? "On" : "Off"); } if (MenuConfig.ForceFlash) { Drawing.DrawText(heropos.X - 15, heropos.Y + 40, System.Drawing.Color.DodgerBlue, "Force Flash ( )"); Drawing.DrawText(heropos.X + 83, heropos.Y + 40, MenuConfig.AlwaysF ? System.Drawing.Color.LimeGreen : System.Drawing.Color.Red, MenuConfig.AlwaysF ? "On" : "Off"); } }
static void Drawing_OnDraw(EventArgs args) { if (!Menu.Item("switch").GetValue <Boolean>()) { return; } Text.text = "AffectsStatusFlags: " + "Q: " + Q.Instance.SData.AffectsStatusFlags + ", W: " + W.Instance.SData.AffectsStatusFlags + ", E: " + E.Instance.SData.AffectsStatusFlags + ", R: " + R.Instance.SData.AffectsStatusFlags + NewLine + "AffectsTypeFlags: " + "Q: " + Q.Instance.SData.AffectsTypeFlags + ", W: " + W.Instance.SData.AffectsTypeFlags + ", E: " + E.Instance.SData.AffectsTypeFlags + ", R: " + R.Instance.SData.AffectsTypeFlags + NewLine + "AfterEffectName: " + "Q: " + Q.Instance.SData.AfterEffectName + ", W: " + W.Instance.SData.AfterEffectName + ", E: " + E.Instance.SData.AfterEffectName + ", R: " + R.Instance.SData.AfterEffectName + NewLine + "AlternateName: " + "Q: " + Q.Instance.SData.AlternateName + ", W: " + W.Instance.SData.AlternateName + ", E: " + E.Instance.SData.AlternateName + ", R: " + R.Instance.SData.AlternateName + NewLine + "AlwaysSnapFacing: " + "Q: " + Q.Instance.SData.AlwaysSnapFacing + ", W: " + W.Instance.SData.AlwaysSnapFacing + ", E: " + E.Instance.SData.AlwaysSnapFacing + ", R: " + R.Instance.SData.AlwaysSnapFacing + NewLine + "AmmoCountHiddenInUI: " + "Q: " + Q.Instance.SData.AmmoCountHiddenInUI + ", W: " + W.Instance.SData.AmmoCountHiddenInUI + ", E: " + E.Instance.SData.AmmoCountHiddenInUI + ", R: " + R.Instance.SData.AmmoCountHiddenInUI + NewLine + "AmmoNotAffectedByCDR: " + "Q: " + Q.Instance.SData.AmmoNotAffectedByCDR + ", W: " + W.Instance.SData.AmmoNotAffectedByCDR + ", E: " + E.Instance.SData.AmmoNotAffectedByCDR + ", R: " + R.Instance.SData.AmmoNotAffectedByCDR + NewLine + "AmmoRechargeTime: " + "Q: " + Q.Instance.SData.AmmoRechargeTime + ", W: " + W.Instance.SData.AmmoRechargeTime + ", E: " + E.Instance.SData.AmmoRechargeTime + ", R: " + R.Instance.SData.AmmoRechargeTime + NewLine + "AmmoUsed: " + "Q: " + Q.Instance.SData.AmmoUsed + ", W: " + W.Instance.SData.AmmoUsed + ", E: " + E.Instance.SData.AmmoUsed + ", R: " + R.Instance.SData.AmmoUsed + NewLine + "AnimationLeadOutName: " + "Q: " + Q.Instance.SData.AnimationLeadOutName + ", W: " + W.Instance.SData.AnimationLeadOutName + ", E: " + E.Instance.SData.AnimationLeadOutName + ", R: " + R.Instance.SData.AnimationLeadOutName + NewLine + "AnimationLoopName: " + "Q: " + Q.Instance.SData.AnimationLoopName + ", W: " + W.Instance.SData.AnimationLoopName + ", E: " + E.Instance.SData.AnimationLoopName + ", R: " + R.Instance.SData.AnimationLoopName + NewLine + "AnimationName: " + "Q: " + Q.Instance.SData.AnimationName + ", W: " + W.Instance.SData.AnimationName + ", E: " + E.Instance.SData.AnimationName + ", R: " + R.Instance.SData.AnimationName + NewLine + "AnimationWinddownName: " + "Q: " + Q.Instance.SData.AnimationWinddownName + ", W: " + W.Instance.SData.AnimationWinddownName + ", E: " + E.Instance.SData.AnimationWinddownName + ", R: " + R.Instance.SData.AnimationWinddownName + NewLine + "ApplyAttackDamage: " + "Q: " + Q.Instance.SData.ApplyAttackDamage + ", W: " + W.Instance.SData.ApplyAttackDamage + ", E: " + E.Instance.SData.ApplyAttackDamage + ", R: " + R.Instance.SData.ApplyAttackDamage + NewLine + "ApplyAttackEffect: " + "Q: " + Q.Instance.SData.ApplyAttackEffect + ", W: " + W.Instance.SData.ApplyAttackEffect + ", E: " + E.Instance.SData.ApplyAttackEffect + ", R: " + R.Instance.SData.ApplyAttackEffect + NewLine + "ApplyMaterialOnHitSound: " + "Q: " + Q.Instance.SData.ApplyMaterialOnHitSound + ", W: " + W.Instance.SData.ApplyMaterialOnHitSound + ", E: " + E.Instance.SData.ApplyMaterialOnHitSound + ", R: " + R.Instance.SData.ApplyMaterialOnHitSound + NewLine + "BelongsToAvatar: " + "Q: " + Q.Instance.SData.BelongsToAvatar + ", W: " + W.Instance.SData.BelongsToAvatar + ", E: " + E.Instance.SData.BelongsToAvatar + ", R: " + R.Instance.SData.BelongsToAvatar + NewLine + "BounceRadius: " + "Q: " + Q.Instance.SData.BounceRadius + ", W: " + W.Instance.SData.BounceRadius + ", E: " + E.Instance.SData.BounceRadius + ", R: " + R.Instance.SData.BounceRadius + NewLine + "CanCastWhileDisabled: " + "Q: " + Q.Instance.SData.CanCastWhileDisabled + ", W: " + W.Instance.SData.CanCastWhileDisabled + ", E: " + E.Instance.SData.CanCastWhileDisabled + ", R: " + R.Instance.SData.CanCastWhileDisabled + NewLine + "CancelChargeOnRecastTime: " + "Q: " + Q.Instance.SData.CancelChargeOnRecastTime + ", W: " + W.Instance.SData.CancelChargeOnRecastTime + ", E: " + E.Instance.SData.CancelChargeOnRecastTime + ", R: " + R.Instance.SData.CancelChargeOnRecastTime + NewLine + "CanMoveWhileChanneling: " + "Q: " + Q.Instance.SData.CanMoveWhileChanneling + ", W: " + W.Instance.SData.CanMoveWhileChanneling + ", E: " + E.Instance.SData.CanMoveWhileChanneling + ", R: " + R.Instance.SData.CanMoveWhileChanneling + NewLine + "CannotBeSuppressed: " + "Q: " + Q.Instance.SData.CannotBeSuppressed + ", W: " + W.Instance.SData.CannotBeSuppressed + ", E: " + E.Instance.SData.CannotBeSuppressed + ", R: " + R.Instance.SData.CannotBeSuppressed + NewLine + "CanOnlyCastWhileDead: " + "Q: " + Q.Instance.SData.CanOnlyCastWhileDead + ", W: " + W.Instance.SData.CanOnlyCastWhileDead + ", E: " + E.Instance.SData.CanOnlyCastWhileDead + ", R: " + R.Instance.SData.CanOnlyCastWhileDead + NewLine + "CanOnlyCastWhileDisabled: " + "Q: " + Q.Instance.SData.CanOnlyCastWhileDisabled + ", W: " + W.Instance.SData.CanOnlyCastWhileDisabled + ", E: " + E.Instance.SData.CanOnlyCastWhileDisabled + ", R: " + R.Instance.SData.CanOnlyCastWhileDisabled + NewLine + "CantCancelWhileChanneling: " + "Q: " + Q.Instance.SData.CantCancelWhileChanneling + ", W: " + W.Instance.SData.CantCancelWhileChanneling + ", E: " + E.Instance.SData.CantCancelWhileChanneling + ", R: " + R.Instance.SData.CantCancelWhileChanneling + NewLine + "CantCancelWhileWindingUp: " + "Q: " + Q.Instance.SData.CantCancelWhileWindingUp + ", W: " + W.Instance.SData.CantCancelWhileWindingUp + ", E: " + E.Instance.SData.CantCancelWhileWindingUp + ", R: " + R.Instance.SData.CantCancelWhileWindingUp + NewLine + "CantCastWhileRooted: " + "Q: " + Q.Instance.SData.CantCastWhileRooted + ", W: " + W.Instance.SData.CantCastWhileRooted + ", E: " + E.Instance.SData.CantCastWhileRooted + ", R: " + R.Instance.SData.CantCastWhileRooted + NewLine + "CastConeAngle: " + "Q: " + Q.Instance.SData.CastConeAngle + ", W: " + W.Instance.SData.CastConeAngle + ", E: " + E.Instance.SData.CastConeAngle + ", R: " + R.Instance.SData.CastConeAngle + NewLine + "CastConeDistance: " + "Q: " + Q.Instance.SData.CastConeDistance + ", W: " + W.Instance.SData.CastConeDistance + ", E: " + E.Instance.SData.CastConeDistance + ", R: " + R.Instance.SData.CastConeDistance + NewLine + "CastFrame: " + "Q: " + Q.Instance.SData.CastFrame + ", W: " + W.Instance.SData.CastFrame + ", E: " + E.Instance.SData.CastFrame + ", R: " + R.Instance.SData.CastFrame + NewLine + "CastRadius: " + "Q: " + Q.Instance.SData.CastRadius + ", W: " + W.Instance.SData.CastRadius + ", E: " + E.Instance.SData.CastRadius + ", R: " + R.Instance.SData.CastRadius + NewLine + "CastRadiusSecondary: " + "Q: " + Q.Instance.SData.CastRadiusSecondary + ", W: " + W.Instance.SData.CastRadiusSecondary + ", E: " + E.Instance.SData.CastRadiusSecondary + ", R: " + R.Instance.SData.CastRadiusSecondary + NewLine + "CastRadiusTexture: " + "Q: " + Q.Instance.SData.CastRadiusTexture + ", W: " + W.Instance.SData.CastRadiusTexture + ", E: " + E.Instance.SData.CastRadiusTexture + ", R: " + R.Instance.SData.CastRadiusTexture + NewLine + "CastRange: " + "Q: " + Q.Instance.SData.CastRange + ", W: " + W.Instance.SData.CastRange + ", E: " + E.Instance.SData.CastRange + ", R: " + R.Instance.SData.CastRange + NewLine + "CastRangeDisplayOverride: " + "Q: " + Q.Instance.SData.CastRangeDisplayOverride + ", W: " + W.Instance.SData.CastRangeDisplayOverride + ", E: " + E.Instance.SData.CastRangeDisplayOverride + ", R: " + R.Instance.SData.CastRangeDisplayOverride + NewLine + "CastRangeGrowthDuration: " + "Q: " + Q.Instance.SData.CastRangeGrowthDuration + ", W: " + W.Instance.SData.CastRangeGrowthDuration + ", E: " + E.Instance.SData.CastRangeGrowthDuration + ", R: " + R.Instance.SData.CastRangeGrowthDuration + NewLine + "CastRangeGrowthMax: " + "Q: " + Q.Instance.SData.CastRangeGrowthMax + ", W: " + W.Instance.SData.CastRangeGrowthMax + ", E: " + E.Instance.SData.CastRangeGrowthMax + ", R: " + R.Instance.SData.CastRangeGrowthMax + NewLine + "CastRangeTextureOverrideName: " + "Q: " + Q.Instance.SData.CastRangeTextureOverrideName + ", W: " + W.Instance.SData.CastRangeTextureOverrideName + ", E: " + E.Instance.SData.CastRangeTextureOverrideName + ", R: " + R.Instance.SData.CastRangeTextureOverrideName + NewLine + "CastRangeUseBoundingBoxes: " + "Q: " + Q.Instance.SData.CastRangeUseBoundingBoxes + ", W: " + W.Instance.SData.CastRangeUseBoundingBoxes + ", E: " + E.Instance.SData.CastRangeUseBoundingBoxes + ", R: " + R.Instance.SData.CastRangeUseBoundingBoxes + NewLine + "CastTargetAdditionalUnitsRadius: " + "Q: " + Q.Instance.SData.CastTargetAdditionalUnitsRadius + ", W: " + W.Instance.SData.CastTargetAdditionalUnitsRadius + ", E: " + E.Instance.SData.CastTargetAdditionalUnitsRadius + ", R: " + R.Instance.SData.CastTargetAdditionalUnitsRadius + NewLine + "CastType: " + "Q: " + Q.Instance.SData.CastType + ", W: " + W.Instance.SData.CastType + ", E: " + E.Instance.SData.CastType + ", R: " + R.Instance.SData.CastType + NewLine + "ChannelDuration: " + "Q: " + Q.Instance.SData.ChannelDuration + ", W: " + W.Instance.SData.ChannelDuration + ", E: " + E.Instance.SData.ChannelDuration + ", R: " + R.Instance.SData.ChannelDuration + NewLine + "ChargeUpdateInterval: " + "Q: " + Q.Instance.SData.ChargeUpdateInterval + ", W: " + W.Instance.SData.ChargeUpdateInterval + ", E: " + E.Instance.SData.ChargeUpdateInterval + ", R: " + R.Instance.SData.ChargeUpdateInterval + NewLine + "CircleMissileAngularVelocity: " + "Q: " + Q.Instance.SData.CircleMissileAngularVelocity + ", W: " + W.Instance.SData.CircleMissileAngularVelocity + ", E: " + E.Instance.SData.CircleMissileAngularVelocity + ", R: " + R.Instance.SData.CircleMissileAngularVelocity + NewLine + "CircleMissileRadialVelocity: " + "Q: " + Q.Instance.SData.CircleMissileRadialVelocity + ", W: " + W.Instance.SData.CircleMissileRadialVelocity + ", E: " + E.Instance.SData.CircleMissileRadialVelocity + ", R: " + R.Instance.SData.CircleMissileRadialVelocity + NewLine + "ClientOnlyMissileTargetBoneName: " + "Q: " + Q.Instance.SData.ClientOnlyMissileTargetBoneName + ", W: " + W.Instance.SData.ClientOnlyMissileTargetBoneName + ", E: " + E.Instance.SData.ClientOnlyMissileTargetBoneName + ", R: " + R.Instance.SData.ClientOnlyMissileTargetBoneName + NewLine + "Coefficient: " + "Q: " + Q.Instance.SData.Coefficient + ", W: " + W.Instance.SData.Coefficient + ", E: " + E.Instance.SData.Coefficient + ", R: " + R.Instance.SData.Coefficient + NewLine + "Coefficient2: " + "Q: " + Q.Instance.SData.Coefficient2 + ", W: " + W.Instance.SData.Coefficient2 + ", E: " + E.Instance.SData.Coefficient2 + ", R: " + R.Instance.SData.Coefficient2 + NewLine + "ConsideredAsAutoAttack: " + "Q: " + Q.Instance.SData.ConsideredAsAutoAttack + ", W: " + W.Instance.SData.ConsideredAsAutoAttack + ", E: " + E.Instance.SData.ConsideredAsAutoAttack + ", R: " + R.Instance.SData.ConsideredAsAutoAttack + NewLine + "Cooldown: " + "Q: " + Q.Instance.SData.Cooldown + ", W: " + W.Instance.SData.Cooldown + ", E: " + E.Instance.SData.Cooldown + ", R: " + R.Instance.SData.Cooldown + NewLine + "CursorChangesInGrass: " + "Q: " + Q.Instance.SData.CursorChangesInGrass + ", W: " + W.Instance.SData.CursorChangesInGrass + ", E: " + E.Instance.SData.CursorChangesInGrass + ", R: " + R.Instance.SData.CursorChangesInGrass + NewLine + "CursorChangesInTerrain: " + "Q: " + Q.Instance.SData.CursorChangesInTerrain + ", W: " + W.Instance.SData.CursorChangesInTerrain + ", E: " + E.Instance.SData.CursorChangesInTerrain + ", R: " + R.Instance.SData.CursorChangesInTerrain + NewLine + "DeathRecapPriority: " + "Q: " + Q.Instance.SData.DeathRecapPriority + ", W: " + W.Instance.SData.DeathRecapPriority + ", E: " + E.Instance.SData.DeathRecapPriority + ", R: " + R.Instance.SData.DeathRecapPriority + NewLine + "DelayCastOffsetPercent: " + "Q: " + Q.Instance.SData.DelayCastOffsetPercent + ", W: " + W.Instance.SData.DelayCastOffsetPercent + ", E: " + E.Instance.SData.DelayCastOffsetPercent + ", R: " + R.Instance.SData.DelayCastOffsetPercent + NewLine + "DelayTotalTimePercent: " + "Q: " + Q.Instance.SData.DelayTotalTimePercent + ", W: " + W.Instance.SData.DelayTotalTimePercent + ", E: " + E.Instance.SData.DelayTotalTimePercent + ", R: " + R.Instance.SData.DelayTotalTimePercent + NewLine + "Description: " + "Q: " + Q.Instance.SData.Description + ", W: " + W.Instance.SData.Description + ", E: " + E.Instance.SData.Description + ", R: " + R.Instance.SData.Description + NewLine + "DisableCastBar: " + "Q: " + Q.Instance.SData.DisableCastBar + ", W: " + W.Instance.SData.DisableCastBar + ", E: " + E.Instance.SData.DisableCastBar + ", R: " + R.Instance.SData.DisableCastBar + NewLine + "DisplayName: " + "Q: " + Q.Instance.SData.DisplayName + ", W: " + W.Instance.SData.DisplayName + ", E: " + E.Instance.SData.DisplayName + ", R: " + R.Instance.SData.DisplayName + NewLine + "DoesntBreakChannels: " + "Q: " + Q.Instance.SData.DoesntBreakChannels + ", W: " + W.Instance.SData.DoesntBreakChannels + ", E: " + E.Instance.SData.DoesntBreakChannels + ", R: " + R.Instance.SData.DoesntBreakChannels + NewLine + "DoNotNeedToFaceTarget: " + "Q: " + Q.Instance.SData.DoNotNeedToFaceTarget + ", W: " + W.Instance.SData.DoNotNeedToFaceTarget + ", E: " + E.Instance.SData.DoNotNeedToFaceTarget + ", R: " + R.Instance.SData.DoNotNeedToFaceTarget + NewLine + //"DrawSecondaryLineIndicator: " + "Q: " + Q.Instance.SData.DrawSecondaryLineIndicator + ", W: " + W.Instance.SData.DrawSecondaryLineIndicator + ", E: " + E.Instance.SData.DrawSecondaryLineIndicator + ", R: " + R.Instance.SData.DrawSecondaryLineIndicator + NewLine + "DynamicExtended: " + "Q: " + Q.Instance.SData.DynamicExtended + ", W: " + W.Instance.SData.DynamicExtended + ", E: " + E.Instance.SData.DynamicExtended + ", R: " + R.Instance.SData.DynamicExtended + NewLine + "DynamicTooltip: " + "Q: " + Q.Instance.SData.DynamicTooltip + ", W: " + W.Instance.SData.DynamicTooltip + ", E: " + E.Instance.SData.DynamicTooltip + ", R: " + R.Instance.SData.DynamicTooltip + NewLine + "ExcludedUnitTags: " + "Q: " + Q.Instance.SData.ExcludedUnitTags + ", W: " + W.Instance.SData.ExcludedUnitTags + ", E: " + E.Instance.SData.ExcludedUnitTags + ", R: " + R.Instance.SData.ExcludedUnitTags + NewLine + "Flags: " + "Q: " + Q.Instance.SData.Flags + ", W: " + W.Instance.SData.Flags + ", E: " + E.Instance.SData.Flags + ", R: " + R.Instance.SData.Flags + NewLine + "HaveAfterEffect: " + "Q: " + Q.Instance.SData.HaveAfterEffect + ", W: " + W.Instance.SData.HaveAfterEffect + ", E: " + E.Instance.SData.HaveAfterEffect + ", R: " + R.Instance.SData.HaveAfterEffect + NewLine + "HaveHitBone: " + "Q: " + Q.Instance.SData.HaveHitBone + ", W: " + W.Instance.SData.HaveHitBone + ", E: " + E.Instance.SData.HaveHitBone + ", R: " + R.Instance.SData.HaveHitBone + NewLine + "HaveHitEffect: " + "Q: " + Q.Instance.SData.HaveHitEffect + ", W: " + W.Instance.SData.HaveHitEffect + ", E: " + E.Instance.SData.HaveHitEffect + ", R: " + R.Instance.SData.HaveHitEffect + NewLine + "HavePointEffect: " + "Q: " + Q.Instance.SData.HavePointEffect + ", W: " + W.Instance.SData.HavePointEffect + ", E: " + E.Instance.SData.HavePointEffect + ", R: " + R.Instance.SData.HavePointEffect + NewLine + "HideRangeIndicatorWhenCasting: " + "Q: " + Q.Instance.SData.HideRangeIndicatorWhenCasting + ", W: " + W.Instance.SData.HideRangeIndicatorWhenCasting + ", E: " + E.Instance.SData.HideRangeIndicatorWhenCasting + ", R: " + R.Instance.SData.HideRangeIndicatorWhenCasting + NewLine + "HitBoneName: " + "Q: " + Q.Instance.SData.HitBoneName + ", W: " + W.Instance.SData.HitBoneName + ", E: " + E.Instance.SData.HitBoneName + ", R: " + R.Instance.SData.HitBoneName + NewLine + "HitEffectName: " + "Q: " + Q.Instance.SData.HitEffectName + ", W: " + W.Instance.SData.HitEffectName + ", E: " + E.Instance.SData.HitEffectName + ", R: " + R.Instance.SData.HitEffectName + NewLine + "HitEffectOrientType: " + "Q: " + Q.Instance.SData.HitEffectOrientType + ", W: " + W.Instance.SData.HitEffectOrientType + ", E: " + E.Instance.SData.HitEffectOrientType + ", R: " + R.Instance.SData.HitEffectOrientType + NewLine + "HitEffectPlayerName: " + "Q: " + Q.Instance.SData.HitEffectPlayerName + ", W: " + W.Instance.SData.HitEffectPlayerName + ", E: " + E.Instance.SData.HitEffectPlayerName + ", R: " + R.Instance.SData.HitEffectPlayerName + NewLine + "IgnoreAnimContinueUntilCastFrame: " + "Q: " + Q.Instance.SData.IgnoreAnimContinueUntilCastFrame + ", W: " + W.Instance.SData.IgnoreAnimContinueUntilCastFrame + ", E: " + E.Instance.SData.IgnoreAnimContinueUntilCastFrame + ", R: " + R.Instance.SData.IgnoreAnimContinueUntilCastFrame + NewLine + "IgnoreRangeCheck: " + "Q: " + Q.Instance.SData.IgnoreRangeCheck + ", W: " + W.Instance.SData.IgnoreRangeCheck + ", E: " + E.Instance.SData.IgnoreRangeCheck + ", R: " + R.Instance.SData.IgnoreRangeCheck + NewLine + "InventoryIcon: " + "Q: " + Q.Instance.SData.InventoryIcon + ", W: " + W.Instance.SData.InventoryIcon + ", E: " + E.Instance.SData.InventoryIcon + ", R: " + R.Instance.SData.InventoryIcon + NewLine + "IsDisabledWhileDead: " + "Q: " + Q.Instance.SData.IsDisabledWhileDead + ", W: " + W.Instance.SData.IsDisabledWhileDead + ", E: " + E.Instance.SData.IsDisabledWhileDead + ", R: " + R.Instance.SData.IsDisabledWhileDead + NewLine + "IsToggleSpell: " + "Q: " + Q.Instance.SData.IsToggleSpell + ", W: " + W.Instance.SData.IsToggleSpell + ", E: " + E.Instance.SData.IsToggleSpell + ", R: " + R.Instance.SData.IsToggleSpell + NewLine + "KeywordWhenAcquired: " + "Q: " + Q.Instance.SData.KeywordWhenAcquired + ", W: " + W.Instance.SData.KeywordWhenAcquired + ", E: " + E.Instance.SData.KeywordWhenAcquired + ", R: " + R.Instance.SData.KeywordWhenAcquired + NewLine + "LineDragLength: " + "Q: " + Q.Instance.SData.LineDragLength + ", W: " + W.Instance.SData.LineDragLength + ", E: " + E.Instance.SData.LineDragLength + ", R: " + R.Instance.SData.LineDragLength + NewLine + "LineMissileBounces: " + "Q: " + Q.Instance.SData.LineMissileBounces + ", W: " + W.Instance.SData.LineMissileBounces + ", E: " + E.Instance.SData.LineMissileBounces + ", R: " + R.Instance.SData.LineMissileBounces + NewLine + "LineMissileDelayDestroyAtEndSeconds: " + "Q: " + Q.Instance.SData.LineMissileDelayDestroyAtEndSeconds + ", W: " + W.Instance.SData.LineMissileDelayDestroyAtEndSeconds + ", E: " + E.Instance.SData.LineMissileDelayDestroyAtEndSeconds + ", R: " + R.Instance.SData.LineMissileDelayDestroyAtEndSeconds + NewLine + "LineMissileEndsAtTargetPoint: " + "Q: " + Q.Instance.SData.LineMissileEndsAtTargetPoint + ", W: " + W.Instance.SData.LineMissileEndsAtTargetPoint + ", E: " + E.Instance.SData.LineMissileEndsAtTargetPoint + ", R: " + R.Instance.SData.LineMissileEndsAtTargetPoint + NewLine + "LineMissileTargetHeightAugment: " + "Q: " + Q.Instance.SData.LineMissileTargetHeightAugment + ", W: " + W.Instance.SData.LineMissileTargetHeightAugment + ", E: " + E.Instance.SData.LineMissileTargetHeightAugment + ", R: " + R.Instance.SData.LineMissileTargetHeightAugment + NewLine + "LineMissileTimePulseBetweenCollisionSpellHits: " + "Q: " + Q.Instance.SData.LineMissileTimePulseBetweenCollisionSpellHits + ", W: " + W.Instance.SData.LineMissileTimePulseBetweenCollisionSpellHits + ", E: " + E.Instance.SData.LineMissileTimePulseBetweenCollisionSpellHits + ", R: " + R.Instance.SData.LineMissileTimePulseBetweenCollisionSpellHits + NewLine + "LineMissileTrackUnits: " + "Q: " + Q.Instance.SData.LineMissileTrackUnits + ", W: " + W.Instance.SData.LineMissileTrackUnits + ", E: " + E.Instance.SData.LineMissileTrackUnits + ", R: " + R.Instance.SData.LineMissileTrackUnits + NewLine + "LineMissileTrackUnitsAndContinues: " + "Q: " + Q.Instance.SData.LineMissileTrackUnitsAndContinues + ", W: " + W.Instance.SData.LineMissileTrackUnitsAndContinues + ", E: " + E.Instance.SData.LineMissileTrackUnitsAndContinues + ", R: " + R.Instance.SData.LineMissileTrackUnitsAndContinues + NewLine + "LineMissileUsesAccelerationForBounce: " + "Q: " + Q.Instance.SData.LineMissileUsesAccelerationForBounce + ", W: " + W.Instance.SData.LineMissileUsesAccelerationForBounce + ", E: " + E.Instance.SData.LineMissileUsesAccelerationForBounce + ", R: " + R.Instance.SData.LineMissileUsesAccelerationForBounce + NewLine + "LineTargetingBaseTextureOverrideName: " + "Q: " + Q.Instance.SData.LineTargetingBaseTextureOverrideName + ", W: " + W.Instance.SData.LineTargetingBaseTextureOverrideName + ", E: " + E.Instance.SData.LineTargetingBaseTextureOverrideName + ", R: " + R.Instance.SData.LineTargetingBaseTextureOverrideName + NewLine + "LineTargetingTargetTextureOverrideName: " + "Q: " + Q.Instance.SData.LineTargetingTargetTextureOverrideName + ", W: " + W.Instance.SData.LineTargetingTargetTextureOverrideName + ", E: " + E.Instance.SData.LineTargetingTargetTextureOverrideName + ", R: " + R.Instance.SData.LineTargetingTargetTextureOverrideName + NewLine + "LineWidth: " + "Q: " + Q.Instance.SData.LineWidth + ", W: " + W.Instance.SData.LineWidth + ", E: " + E.Instance.SData.LineWidth + ", R: " + R.Instance.SData.LineWidth + NewLine + "LocationTargettingWidth1: " + "Q: " + Q.Instance.SData.LocationTargettingWidth1 + ", W: " + W.Instance.SData.LocationTargettingWidth1 + ", E: " + E.Instance.SData.LocationTargettingWidth1 + ", R: " + R.Instance.SData.LocationTargettingWidth1 + NewLine + "LockConeToPlayer: " + "Q: " + Q.Instance.SData.LockConeToPlayer + ", W: " + W.Instance.SData.LockConeToPlayer + ", E: " + E.Instance.SData.LockConeToPlayer + ", R: " + R.Instance.SData.LockConeToPlayer + NewLine + "LookAtPolicy: " + "Q: " + Q.Instance.SData.LookAtPolicy + ", W: " + W.Instance.SData.LookAtPolicy + ", E: " + E.Instance.SData.LookAtPolicy + ", R: " + R.Instance.SData.LookAtPolicy + NewLine + "LuaOnMissileUpdateDistanceInterval: " + "Q: " + Q.Instance.SData.LuaOnMissileUpdateDistanceInterval + ", W: " + W.Instance.SData.LuaOnMissileUpdateDistanceInterval + ", E: " + E.Instance.SData.LuaOnMissileUpdateDistanceInterval + ", R: " + R.Instance.SData.LuaOnMissileUpdateDistanceInterval + NewLine + "MaxAmmo: " + "Q: " + Q.Instance.SData.MaxAmmo + ", W: " + W.Instance.SData.MaxAmmo + ", E: " + E.Instance.SData.MaxAmmo + ", R: " + R.Instance.SData.MaxAmmo + NewLine + "MaxGrowthLineBaseTextureName: " + "Q: " + Q.Instance.SData.MaxGrowthLineBaseTextureName + ", W: " + W.Instance.SData.MaxGrowthLineBaseTextureName + ", E: " + E.Instance.SData.MaxGrowthLineBaseTextureName + ", R: " + R.Instance.SData.MaxGrowthLineBaseTextureName + NewLine + "MaxGrowthLineTargetTextureName: " + "Q: " + Q.Instance.SData.MaxGrowthLineTargetTextureName + ", W: " + W.Instance.SData.MaxGrowthLineTargetTextureName + ", E: " + E.Instance.SData.MaxGrowthLineTargetTextureName + ", R: " + R.Instance.SData.MaxGrowthLineTargetTextureName + NewLine + "MaxGrowthRangeTextureName: " + "Q: " + Q.Instance.SData.MaxGrowthRangeTextureName + ", W: " + W.Instance.SData.MaxGrowthRangeTextureName + ", E: " + E.Instance.SData.MaxGrowthRangeTextureName + ", R: " + R.Instance.SData.MaxGrowthRangeTextureName + NewLine + "MaxHighlightTargets: " + "Q: " + Q.Instance.SData.MaxHighlightTargets + ", W: " + W.Instance.SData.MaxHighlightTargets + ", E: " + E.Instance.SData.MaxHighlightTargets + ", R: " + R.Instance.SData.MaxHighlightTargets + NewLine + "MinimapIcon: " + "Q: " + Q.Instance.SData.MinimapIcon + ", W: " + W.Instance.SData.MinimapIcon + ", E: " + E.Instance.SData.MinimapIcon + ", R: " + R.Instance.SData.MinimapIcon + NewLine + "MinimapIconDisplayFlag: " + "Q: " + Q.Instance.SData.MinimapIconDisplayFlag + ", W: " + W.Instance.SData.MinimapIconDisplayFlag + ", E: " + E.Instance.SData.MinimapIconDisplayFlag + ", R: " + R.Instance.SData.MinimapIconDisplayFlag + NewLine + "MinimapIconRotation: " + "Q: " + Q.Instance.SData.MinimapIconRotation + ", W: " + W.Instance.SData.MinimapIconRotation + ", E: " + E.Instance.SData.MinimapIconRotation + ", R: " + R.Instance.SData.MinimapIconRotation + NewLine + "MissileAccel: " + "Q: " + Q.Instance.SData.MissileAccel + ", W: " + W.Instance.SData.MissileAccel + ", E: " + E.Instance.SData.MissileAccel + ", R: " + R.Instance.SData.MissileAccel + NewLine + "MissileBlockTriggersOnDestroy: " + "Q: " + Q.Instance.SData.MissileBlockTriggersOnDestroy + ", W: " + W.Instance.SData.MissileBlockTriggersOnDestroy + ", E: " + E.Instance.SData.MissileBlockTriggersOnDestroy + ", R: " + R.Instance.SData.MissileBlockTriggersOnDestroy + NewLine + "MissileBoneName: " + "Q: " + Q.Instance.SData.MissileBoneName + ", W: " + W.Instance.SData.MissileBoneName + ", E: " + E.Instance.SData.MissileBoneName + ", R: " + R.Instance.SData.MissileBoneName + NewLine + "MissileEffect: " + "Q: " + Q.Instance.SData.MissileEffect + ", W: " + W.Instance.SData.MissileEffect + ", E: " + E.Instance.SData.MissileEffect + ", R: " + R.Instance.SData.MissileEffect + NewLine + "MissileEffectEnemy: " + "Q: " + Q.Instance.SData.MissileEffectEnemy + ", W: " + W.Instance.SData.MissileEffectEnemy + ", E: " + E.Instance.SData.MissileEffectEnemy + ", R: " + R.Instance.SData.MissileEffectEnemy + NewLine + "MissileEffectPlayer: " + "Q: " + Q.Instance.SData.MissileEffectPlayer + ", W: " + W.Instance.SData.MissileEffectPlayer + ", E: " + E.Instance.SData.MissileEffectPlayer + ", R: " + R.Instance.SData.MissileEffectPlayer + NewLine + "MissileFixedTravelTime: " + "Q: " + Q.Instance.SData.MissileFixedTravelTime + ", W: " + W.Instance.SData.MissileFixedTravelTime + ", E: " + E.Instance.SData.MissileFixedTravelTime + ", R: " + R.Instance.SData.MissileFixedTravelTime + NewLine + "MissileFollowsTerrainHeight: " + "Q: " + Q.Instance.SData.MissileFollowsTerrainHeight + ", W: " + W.Instance.SData.MissileFollowsTerrainHeight + ", E: " + E.Instance.SData.MissileFollowsTerrainHeight + ", R: " + R.Instance.SData.MissileFollowsTerrainHeight + NewLine + "MissileGravity: " + "Q: " + Q.Instance.SData.MissileGravity + ", W: " + W.Instance.SData.MissileGravity + ", E: " + E.Instance.SData.MissileGravity + ", R: " + R.Instance.SData.MissileGravity + NewLine + "MissileLifetime: " + "Q: " + Q.Instance.SData.MissileLifetime + ", W: " + W.Instance.SData.MissileLifetime + ", E: " + E.Instance.SData.MissileLifetime + ", R: " + R.Instance.SData.MissileLifetime + NewLine + "MissileMaxSpeed: " + "Q: " + Q.Instance.SData.MissileMaxSpeed + ", W: " + W.Instance.SData.MissileMaxSpeed + ", E: " + E.Instance.SData.MissileMaxSpeed + ", R: " + R.Instance.SData.MissileMaxSpeed + NewLine + "MissileMinSpeed: " + "Q: " + Q.Instance.SData.MissileMinSpeed + ", W: " + W.Instance.SData.MissileMinSpeed + ", E: " + E.Instance.SData.MissileMinSpeed + ", R: " + R.Instance.SData.MissileMinSpeed + NewLine + //"MissileMinTravelTime: " + "Q: " + Q.Instance.SData.MissileMinTravelTime + ", W: " + W.Instance.SData.MissileMinTravelTime + ", E: " + E.Instance.SData.MissileMinTravelTime + ", R: " + R.Instance.SData.MissileMinTravelTime + NewLine + "MissilePerceptionBubbleRadius: " + "Q: " + Q.Instance.SData.MissilePerceptionBubbleRadius + ", W: " + W.Instance.SData.MissilePerceptionBubbleRadius + ", E: " + E.Instance.SData.MissilePerceptionBubbleRadius + ", R: " + R.Instance.SData.MissilePerceptionBubbleRadius + NewLine + "MissilePerceptionBubbleRevealsStealth: " + "Q: " + Q.Instance.SData.MissilePerceptionBubbleRevealsStealth + ", W: " + W.Instance.SData.MissilePerceptionBubbleRevealsStealth + ", E: " + E.Instance.SData.MissilePerceptionBubbleRevealsStealth + ", R: " + R.Instance.SData.MissilePerceptionBubbleRevealsStealth + NewLine + "MissileSpeed: " + "Q: " + Q.Instance.SData.MissileSpeed + ", W: " + W.Instance.SData.MissileSpeed + ", E: " + E.Instance.SData.MissileSpeed + ", R: " + R.Instance.SData.MissileSpeed + NewLine + "MissileTargetHeightAugment: " + "Q: " + Q.Instance.SData.MissileTargetHeightAugment + ", W: " + W.Instance.SData.MissileTargetHeightAugment + ", E: " + E.Instance.SData.MissileTargetHeightAugment + ", R: " + R.Instance.SData.MissileTargetHeightAugment + NewLine + "MissileUnblockable: " + "Q: " + Q.Instance.SData.MissileUnblockable + ", W: " + W.Instance.SData.MissileUnblockable + ", E: " + E.Instance.SData.MissileUnblockable + ", R: " + R.Instance.SData.MissileUnblockable + NewLine + "NoWinddownIfCancelled: " + "Q: " + Q.Instance.SData.NoWinddownIfCancelled + ", W: " + W.Instance.SData.NoWinddownIfCancelled + ", E: " + E.Instance.SData.NoWinddownIfCancelled + ", R: " + R.Instance.SData.NoWinddownIfCancelled + NewLine + "OrientRadiusTextureFromPlayer: " + "Q: " + Q.Instance.SData.OrientRadiusTextureFromPlayer + ", W: " + W.Instance.SData.OrientRadiusTextureFromPlayer + ", E: " + E.Instance.SData.OrientRadiusTextureFromPlayer + ", R: " + R.Instance.SData.OrientRadiusTextureFromPlayer + NewLine + "OrientRangeIndicatorToCursor: " + "Q: " + Q.Instance.SData.OrientRangeIndicatorToCursor + ", W: " + W.Instance.SData.OrientRangeIndicatorToCursor + ", E: " + E.Instance.SData.OrientRangeIndicatorToCursor + ", R: " + R.Instance.SData.OrientRangeIndicatorToCursor + NewLine + "OrientRangeIndicatorToFacing: " + "Q: " + Q.Instance.SData.OrientRangeIndicatorToFacing + ", W: " + W.Instance.SData.OrientRangeIndicatorToFacing + ", E: " + E.Instance.SData.OrientRangeIndicatorToFacing + ", R: " + R.Instance.SData.OrientRangeIndicatorToFacing + NewLine + "OverrideCastTime: " + "Q: " + Q.Instance.SData.OverrideCastTime + ", W: " + W.Instance.SData.OverrideCastTime + ", E: " + E.Instance.SData.OverrideCastTime + ", R: " + R.Instance.SData.OverrideCastTime + NewLine + "ParticleStartOffset: " + "Q: " + Q.Instance.SData.ParticleStartOffset + ", W: " + W.Instance.SData.ParticleStartOffset + ", E: " + E.Instance.SData.ParticleStartOffset + ", R: " + R.Instance.SData.ParticleStartOffset + NewLine + "PointEffectName: " + "Q: " + Q.Instance.SData.PointEffectName + ", W: " + W.Instance.SData.PointEffectName + ", E: " + E.Instance.SData.PointEffectName + ", R: " + R.Instance.SData.PointEffectName + NewLine + "RequiredUnitTags: " + "Q: " + Q.Instance.SData.RequiredUnitTags + ", W: " + W.Instance.SData.RequiredUnitTags + ", E: " + E.Instance.SData.RequiredUnitTags + ", R: " + R.Instance.SData.RequiredUnitTags + NewLine + "SelectionPreference: " + "Q: " + Q.Instance.SData.SelectionPreference + ", W: " + W.Instance.SData.SelectionPreference + ", E: " + E.Instance.SData.SelectionPreference + ", R: " + R.Instance.SData.SelectionPreference + NewLine + "Sound_VOEventCategory: " + "Q: " + Q.Instance.SData.Sound_VOEventCategory + ", W: " + W.Instance.SData.Sound_VOEventCategory + ", E: " + E.Instance.SData.Sound_VOEventCategory + ", R: " + R.Instance.SData.Sound_VOEventCategory + NewLine + "SpellCastTime: " + "Q: " + Q.Instance.SData.SpellCastTime + ", W: " + W.Instance.SData.SpellCastTime + ", E: " + E.Instance.SData.SpellCastTime + ", R: " + R.Instance.SData.SpellCastTime + NewLine + "SpellRevealsChampion: " + "Q: " + Q.Instance.SData.SpellRevealsChampion + ", W: " + W.Instance.SData.SpellRevealsChampion + ", E: " + E.Instance.SData.SpellRevealsChampion + ", R: " + R.Instance.SData.SpellRevealsChampion + NewLine + "SpellTotalTime: " + "Q: " + Q.Instance.SData.SpellTotalTime + ", W: " + W.Instance.SData.SpellTotalTime + ", E: " + E.Instance.SData.SpellTotalTime + ", R: " + R.Instance.SData.SpellTotalTime + NewLine + "StartCooldown: " + "Q: " + Q.Instance.SData.StartCooldown + ", W: " + W.Instance.SData.StartCooldown + ", E: " + E.Instance.SData.StartCooldown + ", R: " + R.Instance.SData.StartCooldown + NewLine + "TargeterConstrainedToRange: " + "Q: " + Q.Instance.SData.TargeterConstrainedToRange + ", W: " + W.Instance.SData.TargeterConstrainedToRange + ", E: " + E.Instance.SData.TargeterConstrainedToRange + ", R: " + R.Instance.SData.TargeterConstrainedToRange + NewLine + "TargettingType: " + "Q: " + Q.Instance.SData.TargettingType + ", W: " + W.Instance.SData.TargettingType + ", E: " + E.Instance.SData.TargettingType + ", R: " + R.Instance.SData.TargettingType + NewLine + "UpdateRotationWhenCasting: " + "Q: " + Q.Instance.SData.UpdateRotationWhenCasting + ", W: " + W.Instance.SData.UpdateRotationWhenCasting + ", E: " + E.Instance.SData.UpdateRotationWhenCasting + ", R: " + R.Instance.SData.UpdateRotationWhenCasting + NewLine + "UseAnimatorFramerate: " + "Q: " + Q.Instance.SData.UseAnimatorFramerate + ", W: " + W.Instance.SData.UseAnimatorFramerate + ", E: " + E.Instance.SData.UseAnimatorFramerate + ", R: " + R.Instance.SData.UseAnimatorFramerate + NewLine + "UseAutoattackCastTime: " + "Q: " + Q.Instance.SData.UseAutoattackCastTime + ", W: " + W.Instance.SData.UseAutoattackCastTime + ", E: " + E.Instance.SData.UseAutoattackCastTime + ", R: " + R.Instance.SData.UseAutoattackCastTime + NewLine + "UseChargeChanneling: " + "Q: " + Q.Instance.SData.UseChargeChanneling + ", W: " + W.Instance.SData.UseChargeChanneling + ", E: " + E.Instance.SData.UseChargeChanneling + ", R: " + R.Instance.SData.UseChargeChanneling + NewLine + "UseChargeTargeting: " + "Q: " + Q.Instance.SData.UseChargeTargeting + ", W: " + W.Instance.SData.UseChargeTargeting + ", E: " + E.Instance.SData.UseChargeTargeting + ", R: " + R.Instance.SData.UseChargeTargeting + NewLine + "UseGlobalLineIndicator: " + "Q: " + Q.Instance.SData.UseGlobalLineIndicator + ", W: " + W.Instance.SData.UseGlobalLineIndicator + ", E: " + E.Instance.SData.UseGlobalLineIndicator + ", R: " + R.Instance.SData.UseGlobalLineIndicator + NewLine + "UseMinimapTargeting: " + "Q: " + Q.Instance.SData.UseMinimapTargeting + ", W: " + W.Instance.SData.UseMinimapTargeting + ", E: " + E.Instance.SData.UseMinimapTargeting + ", R: " + R.Instance.SData.UseMinimapTargeting + NewLine + ""; Text.OnEndScene(); }
private static void Drawing_OnDraw(EventArgs args) { if (Player.IsDead) { return; } var heropos = Drawing.WorldToScreen(ObjectManager.Player.Position); var end = Player.ServerPosition.LSExtend(Game.CursorPos, Spells._q.Range); var IsWallDash = FleeLOGIC.IsWallDash(end, Spells._q.Range); var Eend = Player.ServerPosition.LSExtend(Game.CursorPos, Spells._e.Range); var WallE = FleeLOGIC.GetFirstWallPoint(Player.ServerPosition, Eend); var WallPoint = FleeLOGIC.GetFirstWallPoint(Player.ServerPosition, end); if (IsWallDash && MenuConfig.FleeSpot) { if (WallPoint.LSDistance(Player.ServerPosition) <= 600) { Render.Circle.DrawCircle(WallPoint, 60, System.Drawing.Color.White); Render.Circle.DrawCircle(end, 60, System.Drawing.Color.Green); } } if (_qstack != 1 && MenuConfig.DrawTimer1) { Timer.text = "Q Expiry => " + ((double)(Logic._lastQ - Utils.GameTimeTickCount + 3800) / 1000).ToString("0.0") + "s"; Timer.OnEndScene(); } if (Player.HasBuff("RivenFengShuiEngine") && MenuConfig.DrawTimer2) { Timer2.text = "R Expiry => " + (((double)Logic._lastR - Utils.GameTimeTickCount + 15000) / 1000).ToString("0.0") + "s"; Timer2.OnEndScene(); } if (MenuConfig.DrawCb) { Render.Circle.DrawCircle(Player.Position, 250 + Player.AttackRange + 70, Spells._e.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawBt && Flash != SpellSlot.Unknown) { Render.Circle.DrawCircle(Player.Position, 750, Spells._r.IsReady() && Flash.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawFh) { Render.Circle.DrawCircle(Player.Position, 450 + Player.AttackRange + 70, Spells._e.IsReady() && Spells._q.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawHs) { Render.Circle.DrawCircle(Player.Position, 400, Spells._q.IsReady() && Spells._w.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed); } if (MenuConfig.DrawAlwaysR) { Drawing.DrawText(heropos.X - 15, heropos.Y + 20, System.Drawing.Color.DodgerBlue, "Force R ( )"); Drawing.DrawText(heropos.X + 53, heropos.Y + 20, MenuConfig.AlwaysR ? System.Drawing.Color.LimeGreen : System.Drawing.Color.Red, MenuConfig.AlwaysR ? "On" : "Off"); } if (MenuConfig.ForceFlash) { Drawing.DrawText(heropos.X - 15, heropos.Y + 40, System.Drawing.Color.DodgerBlue, "Force Flash ( )"); Drawing.DrawText(heropos.X + 76, heropos.Y + 40, MenuConfig.AlwaysF ? System.Drawing.Color.LimeGreen : System.Drawing.Color.Red, MenuConfig.AlwaysF ? "On" : "Off"); } Drawing.DrawText(heropos.X - 15, heropos.Y + 60, System.Drawing.Color.DodgerBlue, "Force Burst ( )"); Drawing.DrawText(heropos.X + 75, heropos.Y + 60, MenuConfig.burst ? System.Drawing.Color.LimeGreen : System.Drawing.Color.Red, MenuConfig.burst ? "On" : "Off"); Drawing.DrawText(heropos.X - 15, heropos.Y + 80, System.Drawing.Color.DodgerBlue, "Force Fast Harass ( )"); Drawing.DrawText(heropos.X + 119, heropos.Y + 80, MenuConfig.fastHar ? System.Drawing.Color.LimeGreen : System.Drawing.Color.Red, MenuConfig.fastHar ? "On" : "Off"); }
private static void GetCsEnemy() { foreach (var hero in ObjectManager.Get <Obj_AI_Hero>()) { if (hero.IsDead | !hero.IsVisible | !_menuenable2.GetValue <bool>() | (hero.IsAlly && !_menuenable4.GetValue <bool>() && !hero.IsMe) | (hero.IsMe && !_menuenable3.GetValue <bool>())) { Text.text = ""; continue; } var cs = hero.MinionsKilled + hero.NeutralMinionsKilled + hero.SuperMonsterKilled; var barPos = hero.HPBarPosition; var pos = Drawing.WorldToScreen(hero.Position); pos.X -= 50 + _xPos.GetValue <Slider>().Value; pos.Y += 20 + _yPos.GetValue <Slider>().Value; if (hero.IsMe && _menuenable3.GetValue <bool>()) { Text.X = (int)pos.X; Text.X += 110 / 6; Text.Y = (int)pos.Y; Text.Color = new ColorBGRA(red: 255, green: 255, blue: 255, alpha: 255); if (cs != 0) { _percent = cs * 100 / _minionsgesamt; } else { _percent = 0; } if (!_advanced.GetValue <bool>()) { _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y - 2), new Vector2(pos.X + 50, pos.Y - 2) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y + 14), new Vector2(pos.X + 50, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y - 2), new Vector2(pos.X, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X + 50, pos.Y - 2), new Vector2(pos.X + 50, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); Text.text = _percent + " %"; } else { _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y - 2), new Vector2(pos.X + 100, pos.Y - 2) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y + 14), new Vector2(pos.X + 100, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y - 2), new Vector2(pos.X, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X + 100, pos.Y - 2), new Vector2(pos.X + 100, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); Text.text = _percent + " %" + " | " + cs + " / " + _minionsgesamt; } Text.OnEndScene(); continue; } _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y - 2), new Vector2(pos.X + 100, pos.Y - 2) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y + 14), new Vector2(pos.X + 100, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X, pos.Y - 2), new Vector2(pos.X, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); _line.Begin(); _line.Draw(new[] { new Vector2(pos.X + 100, pos.Y - 2), new Vector2(pos.X + 100, pos.Y + 14) }, new ColorBGRA(255, 255, 255, 255)); _line.End(); Text.X = (int)pos.X; Text.X += 110 / 6; Text.Y = (int)pos.Y; Text.Color = new ColorBGRA(red: 255, green: 255, blue: 255, alpha: 255); Text.text = "CS Count: " + cs; Text.OnEndScene(); } }
private static void Drawing_OnEndScene(EventArgs args) { try { var screenWidth = Drawing.Width; var screenHeight = Drawing.Height; foreach (var hero in LeagueSharp.Common.HeroManager.AllHeroes.Where( hero => hero.IsValid && !hero.IsMe && hero.IsHPBarRendered && (hero.IsEnemy && Program.getCheckBoxItem(Program.cd, "TrackEnemies") || hero.IsAlly && Program.getCheckBoxItem(Program.cd, "TrackAllies")))) { var pos = GetHPBarPositionWithOffset(hero); var X = (int)pos.X - 10; var Y = (int)pos.Y - 13; if (X < -300 || X > screenWidth + 300 || Y < -300 || Y > screenHeight + 300) { continue; } var k = 0; foreach (var sSlot in SummonerSpellSlots) { var spell = hero.Spellbook.GetSpell(sSlot); var texture = SummonerTextures.ContainsKey(spell.Name) ? SummonerTextures[spell.Name] : SummonerTextures["SummonerBarrier"]; var t = spell.CooldownExpires - Game.Time; var percent = Math.Abs(spell.Cooldown) > float.Epsilon ? t / spell.Cooldown : 1f; var n = t > 0 ? (int)(19 * (1f - percent)) : 19; var ts = TimeSpan.FromSeconds((int)t); var s = t > 60 ? string.Format("{0}:{1:D2}", ts.Minutes, ts.Seconds) : string.Format("{0:0}", t); if (t > 0) { Text.text = s; Text.X = X - 5 - s.Length * 5; Text.Y = Y + 1 + 13 * k; Text.Color = Color.White; Text.OnEndScene(); } texture.X = X + 3; texture.Y = Y + 1 + 13 * k; var crop = 12; texture.Crop(new Rectangle(0, 12 * n, crop, 12)); texture.OnEndScene(); k++; } CdFrame.X = X; CdFrame.Y = Y; CdFrame.OnEndScene(); var startX = X + 19; var startY = Y + 20; foreach (var slot in SpellSlots) { var spell = hero.Spellbook.GetSpell(slot); var t = spell.CooldownExpires - Game.Time; var percent = t > 0 && Math.Abs(spell.Cooldown) > float.Epsilon ? 1f - t / spell.Cooldown : 1f; if (t > 0 && t < 100) { var s = string.Format(t < 1f ? "{0:0.0}" : "{0:0}", t); Text.text = s; Text.X = startX + (24 - s.Length * 4) / 2; Text.Y = startY + 6; Text.Color = Color.White; Text.OnEndScene(); } var darkColor = t > 0 ? new ColorBGRA(168, 98, 0, 255) : new ColorBGRA(0, 130, 15, 255); var lightColor = t > 0 ? new ColorBGRA(235, 137, 0, 255) : new ColorBGRA(0, 168, 25, 255); if (hero.Spellbook.CanUseSpell(slot) != SpellState.NotLearned) { for (var i = 0; i < 2; i++) { ReadyLine.Start = new Vector2(startX, startY + i * 2); ReadyLine.End = new Vector2(startX + percent * 23, startY + i * 2); ReadyLine.Color = i == 0 ? lightColor : darkColor; ReadyLine.OnEndScene(); } } startX = startX + 27; } } } catch (Exception e) { Console.WriteLine(@"/ff can't draw sprites: " + e); } }
private void DrawDamage(EventArgs args) { Color color = Color.Gray; Color barColor = Color.White; if (zedMenu.GetParamStringList("koreanzed.drawing.damageindicatorcolor") == 1) { color = Color.Gold; barColor = Color.Olive; } else if (zedMenu.GetParamStringList("koreanzed.drawing.damageindicatorcolor") == 2) { color = Color.FromArgb(100, Color.Black); barColor = Color.Lime; } if (Enabled()) { foreach ( Obj_AI_Hero champ in ObjectManager.Get <Obj_AI_Hero>() .Where(h => h.IsVisible && h.IsEnemy && h.IsValid && h.IsHPBarRendered)) { float damage = amountOfDamage(champ); if (damage > 0) { Vector2 pos = champ.HPBarPosition; if (zedMenu.GetParamBool("koreanzed.drawing.killableindicator") && (damage > champ.Health + 50f)) { Render.Circle.DrawCircle(champ.Position, 100, Color.Red); Render.Circle.DrawCircle(champ.Position, 75, Color.Red); Render.Circle.DrawCircle(champ.Position, 50, Color.Red); killableText.X = (int)pos.X + 40; killableText.Y = (int)pos.Y - 20; killableText.OnEndScene(); } if (zedMenu.GetParamBool("koreanzed.drawing.damageindicator")) { float healthAfterDamage = Math.Max(0, champ.Health - damage) / champ.MaxHealth; float posY = pos.Y + 20f; float posDamageX = pos.X + 12f + Width * healthAfterDamage; float posCurrHealthX = pos.X + 12f + Width * champ.Health / champ.MaxHealth; float diff = (posCurrHealthX - posDamageX) + 3; float pos1 = pos.X + 8 + (107 * healthAfterDamage); for (int i = 0; i < diff - 3; i++) { Drawing.DrawLine(pos1 + i, posY, pos1 + i, posY + Height, 1, color); } Drawing.DrawLine(posDamageX, posY, posDamageX, posY + Height, 2, barColor); } } } } }
static void Drawing_OnDraw(EventArgs args) { if (!Menu.Item("switch").GetValue <Boolean>()) { return; } Target = Hud.SelectedUnit != null ? Hud.SelectedUnit as Obj_AI_Hero : Player; var buffs = string.Empty; foreach (var buff in Target.Buffs) { buffs += "\n" + buff.Name + "[Count: " + buff.Count + "/Duration: " + (buff.EndTime - Game.ClockTime).ToString("0.00") + "],"; } var Mobs = MinionManager.GetMinions(1500, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth); var MobsList = string.Empty; foreach (var Mob in Mobs) { MobsList += "\n" + Mob.Name + "[BaseSkin: " + Mob.CharData.BaseSkinName + "/HP: " + Mob.Health + " / " + Mob.MaxHealth + "(" + Mob.HealthPercent.ToString("0.0") + "%)],"; } Render.Circle.DrawCircle(Player.Position, 1500, Color.Red, 10); Text.text = //"Name: " + Target.Name + NewLine + "ChampionName: " + Target.ChampionName + NewLine + "SkinName: " + Target.SkinName + NewLine + //"Gold: " + Target.Gold + NewLine + //"Level: " + Target.Level + NewLine + "TotalAttackDamage: " + Utility.TotalAttackDamage(Target) + NewLine + "TotalMagicalDamage: " + Utility.TotalMagicalDamage(Target) + NewLine + "Armor: " + Target.Armor + NewLine + "Health: " + Target.Health + " / " + Target.MaxHealth + " (" + Target.HealthPercent.ToString("0.0") + "%)" + NewLine + "Mana: " + Target.Mana + " / " + Target.MaxMana + " (" + Target.HealthPercent.ToString("0.0") + "%)" + NewLine + "HPRegenRate: " + Target.HPRegenRate + NewLine + "PARRegenRate: " + Target.PARRegenRate + NewLine + "Experience: " + Target.Experience + NewLine + "Position: " + Target.Position + NewLine + "ServerPosition: " + Target.ServerPosition + NewLine + "Team: " + Target.Team + NewLine + "NetworkId: " + Target.NetworkId + NewLine + "MoveSpeed: " + Target.MoveSpeed + NewLine + "AttackRange: " + Target.AttackRange + NewLine + "RealAutoAttackRange: " + Orbwalking.GetRealAutoAttackRange(Target) + NewLine + //"DeathDuration: " + Target.DeathDuration + NewLine + "BoundingRadius: " + Target.BoundingRadius + NewLine + NewLine + "Buffs: " + buffs + NewLine + NewLine + "IsDead: " + Target.IsDead + NewLine + "IsImmovable: " + Target.IsImmovable + NewLine + "IsInvulnerable: " + Target.IsInvulnerable + NewLine + "IsMoving: " + Target.IsMoving + NewLine + "IsPacified: " + Target.IsPacified + NewLine + "IsTargetable: " + Target.IsTargetable + NewLine + "IsWindingUp: " + Target.IsWindingUp + NewLine + "IsZombie: " + Target.IsZombie + NewLine + "IsRecalling: " + Target.IsRecalling() + NewLine + "IsStunned: " + Target.IsStunned + NewLine + "IsRooted: " + Target.IsRooted + NewLine + "IsMelee: " + Target.IsMelee() + NewLine + "IsDashing: " + Target.IsDashing() + NewLine + "IsAlly: " + Target.IsAlly + NewLine + "IsCanMove: " + Orbwalking.CanMove(1) + NewLine + "UnderTurret: " + Target.UnderTurret() + NewLine + NewLine + "Mobs: " + MobsList + NewLine + NewLine + "Game_CursorPos: " + Game.CursorPos + NewLine + "Game_ClockTime: " + Game.ClockTime + NewLine + "Game_Time: " + Game.Time + NewLine + "Game_Type: " + Game.Type + NewLine + "Game_Version: " + Game.Version + NewLine + "Game_Region: " + Game.Region + NewLine + "Game_IP: " + Game.IP + NewLine + "Game_Port: " + Game.Port + NewLine + "Game_Ping: " + Game.Ping + NewLine + "Game_Mode: " + Game.Mode + NewLine + "Game_MapId: " + Game.MapId + NewLine + "Game_MapName: " + Utility.Map.GetMap().Name ; Text.OnEndScene(); }
private static void Drawing_OnDraw(EventArgs args) { foreach (var hero in ObjectManager.Get <AIHeroClient>()) { int mingesamt = 0; if (Game.MapId == GameMapId.HowlingAbyss) { mingesamt = (int)MinCount + Minionsgesamt; } else if (Game.MapId == GameMapId.TwistedTreeline) { mingesamt = (int)MinCount / 2 + Minionsgesamt; } else if (Game.MapId == GameMapId.SummonersRift) { mingesamt = (int)MinCount / 3 + Minionsgesamt; } if (hero.IsDead | !hero.IsVisible | !Init.Menuenable2.GetValue <bool>() | (hero.IsAlly && !Init.Menuenable4.GetValue <bool>() && !hero.IsMe) | (hero.IsMe && !Init.Menuenable3.GetValue <bool>())) { Text.text = ""; continue; } var cs = hero.MinionsKilled + hero.NeutralMinionsKilled + hero.SuperMonsterKilled; var pos = Drawing.WorldToScreen(hero.Position); pos.X -= 50 + Init.XPos.GetValue <Slider>().Value; pos.Y += 20 + Init.YPos.GetValue <Slider>().Value; if (hero.IsMe && Init.Menuenable3.GetValue <bool>()) { Text.X = (int)pos.X; Text.X += 110 / 6; Text.Y = (int)pos.Y; Text.Color = new ColorBGRA(red: 255, green: 255, blue: 255, alpha: 255); Percent = mingesamt != 0 ? (cs * 100 / mingesamt) : 0; if (!Init.Advanced.GetValue <bool>()) { if (!Init.Advanced_box.GetValue <bool>()) { DrawBoxes(pos.X, pos.Y); } Text.text = Percent + " %"; } else { if (!Init.Advanced_box.GetValue <bool>()) { DrawBoxes(pos.X, pos.Y); } Text.text = Percent + " %" + " | " + cs + " / " + mingesamt; } Text.OnEndScene(); continue; } if (!Init.Advanced_box.GetValue <bool>()) { DrawBoxes(pos.X, pos.Y); } Text.X = (int)pos.X; Text.X += 110 / 6; Text.Y = (int)pos.Y; Text.Color = new ColorBGRA(red: 255, green: 255, blue: 255, alpha: 255); Text.text = "CS Count: " + cs; Text.OnEndScene(); } }
private static void getIncDmg() { double result = 0; var color = Color.Red; foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(i => i.Distance(me.Position) < 750 && i.IsEnemy && !i.IsAlly && !i.IsDead && !i.IsMinion && !i.IsMe)) { float basicDmg = 0; int attacks = (int)Math.Floor(enemy.AttackSpeedMod * 5); for (int i = 0; i < attacks; i++) { if (enemy.Crit > 0) { basicDmg += (float)enemy.GetAutoAttackDamage(me) * (1 + enemy.Crit / attacks); } else { basicDmg += (float)enemy.GetAutoAttackDamage(me); } } ; result += basicDmg; var spells = enemy.Spellbook.Spells; foreach (var spell in spells) { var t = spell.CooldownExpires - Game.Time; if (t < 0.5) { switch (enemy.SkinName) { case "Ahri": if (spell.Slot == SpellSlot.Q) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot)); result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot, 1)); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Akali": if (spell.Slot == SpellSlot.R) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * spell.Ammo); } else if (spell.Slot == SpellSlot.Q) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot)); result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot, 1)); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Amumu": if (spell.Slot == SpellSlot.W) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * 5); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Cassiopeia": if (spell.Slot == SpellSlot.Q || spell.Slot == SpellSlot.E || spell.Slot == SpellSlot.W) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * 2); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Fiddlesticks": if (spell.Slot == SpellSlot.W || spell.Slot == SpellSlot.E) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * 5); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Garen": if (spell.Slot == SpellSlot.E) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * 3); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Irelia": if (spell.Slot == SpellSlot.W) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * attacks); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Karthus": if (spell.Slot == SpellSlot.Q) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * 4); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "KogMaw": if (spell.Slot == SpellSlot.W) { result += (float)(Damage.GetSpellDamage(enemy, me, spell.Slot) * attacks); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "LeeSin": if (spell.Slot == SpellSlot.Q) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot, 1); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Lucian": if (spell.Slot == SpellSlot.R) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot) * 4; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Nunu": if (spell.Slot != SpellSlot.R && spell.Slot != SpellSlot.Q) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "MasterYi": if (spell.Slot != SpellSlot.E) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot) * attacks; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "MonkeyKing": if (spell.Slot != SpellSlot.R) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot) * 4; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Pantheon": if (spell.Slot == SpellSlot.E) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot) * 3; } else if (spell.Slot == SpellSlot.R) { result += 0; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Rammus": if (spell.Slot == SpellSlot.R) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot) * 6; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Riven": if (spell.Slot == SpellSlot.Q) { result += RivenDamageQ(spell, enemy, me); } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Viktor": if (spell.Slot == SpellSlot.R) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot, 1) * 5; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; case "Vladimir": if (spell.Slot == SpellSlot.E) { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot) * 2; } else { result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); } break; default: result += (float)Damage.GetSpellDamage(enemy, me, spell.Slot); break; } } } if (enemy.Spellbook.CanUseSpell(me.GetSpellSlot("summonerdot")) == SpellState.Ready) { result += enemy.GetSummonerSpellDamage(me, Damage.SummonerSpell.Ignite); } foreach (var minions in ObjectManager.Get <Obj_AI_Minion>().Where(i => i.Distance(me.Position) < 750 && i.IsMinion && !i.IsAlly && !i.IsDead)) { result += minions.GetAutoAttackDamage(me, false); } } var barPos = me.HPBarPosition; var damage = (float)result; if (damage == 0) { return; } var percentHealthAfterDamage = Math.Max(0, me.Health - damage) / me.MaxHealth; var xPos = barPos.X + XOffset + Width * percentHealthAfterDamage; if (damage > me.Health) { Text.X = (int)barPos.X + XOffset; Text.Y = (int)barPos.Y + YOffset - 13; Text.text = ((int)(me.Health - damage)).ToString(); Text.OnEndScene(); } Drawing.DrawLine(xPos, barPos.Y + YOffset, xPos, barPos.Y + YOffset + Height, 3, color); }