protected override void OnDraw() { if (_changingRangeScan) { Circle.Draw(Color.White, LaneClearMenu["Plugins.Vayne.LaneClearMenu.ScanRange"].Cast <Slider>().CurrentValue, Player.Instance); } if (!Settings.Drawings.DrawInfo) { return; } foreach (var source in EntityManager.Heroes.Enemies.Where(x => x.IsVisible && x.IsHPBarRendered && x.Position.IsOnScreen() && HasSilverDebuff(x))) { var hpPosition = source.HPBarPosition; hpPosition.Y = hpPosition.Y + 30; // tracker friendly. var timeLeft = GetSilverDebuff(source).EndTime - Game.Time; var endPos = timeLeft * 0x3e8 / 32; var degree = Misc.GetNumberInRangeFromProcent(timeLeft * 1000d / 3000d * 100d, 3, 110); var color = new Misc.HsvColor(degree, 1, 1).ColorFromHsv(); Text.X = (int)(hpPosition.X + endPos); Text.Y = (int)hpPosition.Y + 15; // + text size Text.Color = color; Text.TextValue = timeLeft.ToString("F1"); Text.Draw(); Drawing.DrawLine(hpPosition.X + endPos, hpPosition.Y, hpPosition.X, hpPosition.Y, 1, color); } }
private void Drawing_OnEndScene(EventArgs args) { if (!IsRecallTrackerEnabled || !ActiveTeleports.Any() || Drawing.Direct3DDevice.IsDisposed) { return; } if (ActiveTeleports.Any()) { Drawing.DrawLine(BarPosition, new Vector2(BarPosition.X + BarWidth, BarPosition.Y), RecallTrackerBarSize, Color.FromArgb(ColorPicker.Color.A, ColorPicker.Color.R, ColorPicker.Color.G, ColorPicker.Color.B)); } foreach ( var teleport in ActiveTeleports.Where(x => x.Value != null && x.Value.Status == TeleportStatus.Start).OrderByDescending(x => x.Value.Start)) { var caster = EntityManager.Heroes.AllHeroes.Find(x => x.NetworkId == teleport.Key); if (caster == null) { continue; } var count = GetIndex(ActiveTeleports, teleport.Key) + 1; var endTime = teleport.Value.Start + teleport.Value.Duration; var percentage = Math.Max(0, Math.Min(100, ((float)endTime - Core.GameTickCount) / teleport.Value.Duration * 100)); var degree = Misc.GetNumberInRangeFromProcent(percentage, 3, 110); var color = new Misc.HsvColor(degree, 1, 1) { Value = Misc.GetNumberInRangeFromProcent( Math.Max(0, Math.Min((GetIndex(ActiveTeleports, teleport.Key) + 1f) / ActiveTeleports.Count * 100, 100)), 0.35f, 1) }.ColorFromHsv(); var endPos = new Vector2(BarPosition.X + BarWidth * percentage / 100, BarPosition.Y); var stringBuilder = new StringBuilder(); stringBuilder.Append($"{caster.Hero} ({(int)caster.Health} HP) "); stringBuilder.Append($"{((endTime - Core.GameTickCount)/1000F).ToString("F1")}s "); stringBuilder.Append($"({percentage.ToString("F1")}%)"); Vector2[] linePos = { new Vector2(endPos.X, BarPosition.Y + RecallTrackerBarSize / 2f - (int)(TextHeight * 1.27f * count)), new Vector2(endPos.X, BarPosition.Y + RecallTrackerBarSize / 2f) }; Text.Draw(stringBuilder.ToString(), Color.AliceBlue, new Vector2(endPos.X + 5, endPos.Y - TextHeight * 1.25f * count)); Drawing.DrawLine(BarPosition, endPos, RecallTrackerBarSize, color); Drawing.DrawLine(linePos[0], linePos[1], 1, Color.AliceBlue); } }
protected override void OnDraw() { if (Settings.Drawings.DrawW && (!Settings.Drawings.DrawSpellRangesWhenReady || W.IsReady())) { Circle.Draw(ColorPicker[0].Color, W.Range, Player.Instance); } if (Settings.Drawings.DrawE && (!Settings.Drawings.DrawSpellRangesWhenReady || E.IsReady())) { Circle.Draw(ColorPicker[1].Color, E.Range, Player.Instance); } if (Settings.Drawings.DrawR && (!Settings.Drawings.DrawSpellRangesWhenReady || R.IsReady())) { Circle.Draw(ColorPicker[2].Color, R.Range, Player.Instance); } if (_changingRangeScan) { Circle.Draw(Color.White, LaneClearMenu["Plugins.Twitch.LaneClearMenu.ScanRange"].Cast <Slider>().CurrentValue, Player.Instance); } if (!Settings.Drawings.DrawDamageIndicator) { return; } foreach (var source in StaticCacheProvider.GetChampions(CachedEntityType.EnemyHero, x => x.IsVisible && x.IsHPBarRendered && x.Position.IsOnScreen() && HasDeadlyVenomBuff(x))) { var hpPosition = source.HPBarPosition; hpPosition.Y = hpPosition.Y + 30; // tracker friendly. if (GetDeadlyVenomBuff(source) != null) { var timeLeft = GetDeadlyVenomBuff(source).EndTime - Game.Time; var endPos = timeLeft * 0x3e8 / 0x37; var degree = Misc.GetNumberInRangeFromProcent(timeLeft * 1000d / 6000d * 100d, 3, 110); var color = new Misc.HsvColor(degree, 1, 1).ColorFromHsv(); Text.X = (int)(hpPosition.X + endPos); Text.Y = (int)hpPosition.Y + 15; // + text size Text.Color = color; Text.TextValue = timeLeft.ToString("F1"); Text.Draw(); Drawing.DrawLine(hpPosition.X + endPos, hpPosition.Y, hpPosition.X, hpPosition.Y, 1, color); } var percentDamage = Math.Min(100, Damage.GetEDamage(source) / source.TotalHealthWithShields() * 100); Text.X = (int)(hpPosition.X - 50); Text.Y = (int)source.HPBarPosition.Y; Text.Color = new Misc.HsvColor(Misc.GetNumberInRangeFromProcent(percentDamage, 3, 110), 1, 1).ColorFromHsv(); Text.TextValue = percentDamage.ToString("F1"); Text.Draw(); } }
protected override void OnDraw() { if (Settings.Drawings.DrawQ && (!Settings.Drawings.DrawSpellRangesWhenReady || Q.IsReady())) { Circle.Draw(ColorPicker[0].Color, Q.Range, Player.Instance); } if (Settings.Drawings.DrawW && (!Settings.Drawings.DrawSpellRangesWhenReady || W.IsReady())) { Circle.Draw(ColorPicker[1].Color, W.Range, Player.Instance); } if (Settings.Drawings.DrawE && (!Settings.Drawings.DrawSpellRangesWhenReady || E.IsReady())) { Circle.Draw(ColorPicker[2].Color, E.Range, Player.Instance); } if (Settings.Drawings.DrawR && (!Settings.Drawings.DrawSpellRangesWhenReady || R.IsReady())) { Circle.Draw(ColorPicker[3].Color, R.Range, Player.Instance); } if (!Settings.Drawings.DrawInfos) { return; } if (HasKogMawWBuff) { var hpPosition = Player.Instance.HPBarPosition; hpPosition.Y = hpPosition.Y + 18; var timeLeft = GetKogMawWBuff.EndTime - Game.Time; var endPos = timeLeft * 1000 / 95; var degree = Misc.GetNumberInRangeFromProcent(timeLeft * 1000d / 8000d * 100d, 3, 110); var color = new Misc.HsvColor(degree, 1, 1).ColorFromHsv(); Text.Color = color; Text.TextValue = timeLeft.ToString("F1"); Text.X = (int)(hpPosition.X + 45 + endPos); Text.Y = (int)hpPosition.Y + 12; // + text size Text.Draw(); Drawing.DrawLine(hpPosition.X + 45 + endPos, hpPosition.Y, hpPosition.X + 45, hpPosition.Y, 1, color); Drawing.DrawLine(hpPosition.X + 45 + endPos, hpPosition.Y, hpPosition.X + 45 + endPos, hpPosition.Y + 8, 1, color); } foreach (var source in EntityManager.Heroes.Enemies.Where(x => x.IsHPBarRendered && x.IsInRange(Player.Instance, R.Range))) { var hpPosition = source.HPBarPosition; hpPosition.Y = hpPosition.Y + 30; // tracker friendly. var percentDamage = Math.Min(100, Damage.GetRDamage(source) / source.TotalHealthWithShields(true) * 100); Text.Color = new Misc.HsvColor(Misc.GetNumberInRangeFromProcent(percentDamage, 3, 110), 1, 1).ColorFromHsv(); Text.TextValue = percentDamage.ToString("F1") + "%"; Text.X = (int)(hpPosition.X - Text.Bounding.Width - 5); Text.Y = (int)source.HPBarPosition.Y; Text.Draw(); } }
protected override void OnDraw() { if (_changingRangeScan) { Circle.Draw(Color.White, LaneClearMenu["Plugins.Tristana.LaneClearMenu.ScanRange"].Cast <Slider>().CurrentValue, Player.Instance); } if (Settings.Drawings.DrawW && (!Settings.Drawings.DrawSpellRangesWhenReady || W.IsReady())) { Circle.Draw(ColorPicker[0].Color, W.Range, Player.Instance); } if (!Settings.Drawings.DrawInfo) { return; } foreach (var source in EntityManager.Heroes.Enemies.Where(x => x.IsVisible && x.IsHPBarRendered && x.Position.IsOnScreen() && x.Buffs.Any(k => k.Name.ToLowerInvariant() == "tristanaechargesound"))) { var hpPosition = source.HPBarPosition; hpPosition.Y = hpPosition.Y + 30; // tracker friendly. var timeLeft = source.Buffs.Find(x => x.Name.ToLowerInvariant() == "tristanaechargesound").EndTime - Game.Time; var endPos = timeLeft * 0x3e8 / 0x25; var degree = Misc.GetNumberInRangeFromProcent(timeLeft * 1000d / 4000d * 100d, 3, 110); var color = new Misc.HsvColor(degree, 1, 1).ColorFromHsv(); Text.X = (int)(hpPosition.X + endPos); Text.Y = (int)hpPosition.Y + 15; // + text size Text.Color = color; Text.TextValue = timeLeft.ToString("F1"); Text.Draw(); var percentDamage = Math.Min(100, Damage.GetEPhysicalDamage(source) / source.TotalHealthWithShields() * 100); Text.X = (int)(hpPosition.X - 50); Text.Y = (int)source.HPBarPosition.Y; Text.Color = new Misc.HsvColor(Misc.GetNumberInRangeFromProcent(percentDamage, 3, 110), 1, 1).ColorFromHsv(); Text.TextValue = percentDamage.ToString("F1"); Text.Draw(); Drawing.DrawLine(hpPosition.X + endPos, hpPosition.Y, hpPosition.X, hpPosition.Y, 1, color); } }
protected override void OnDraw() { if (_changingRangeScan) { Circle.Draw(SharpDX.Color.White, LaneClearMenu["Plugins.Quinn.LaneClearMenu.ScanRange"].Cast <Slider>().CurrentValue, Player.Instance); } if (Settings.Drawings.DrawQ && (!Settings.Drawings.DrawSpellRangesWhenReady || Q.IsReady())) { Circle.Draw(ColorPicker[0].Color, Q.Range, Player.Instance); } if (Settings.Drawings.DrawE && (!Settings.Drawings.DrawSpellRangesWhenReady || E.IsReady())) { Circle.Draw(ColorPicker[1].Color, E.Range, Player.Instance); } if (!Settings.Drawings.DrawDamageIndicator) { return; } foreach (var source in EntityManager.Heroes.Enemies.Where(x => x.IsVisible && x.IsHPBarRendered && x.Position.IsOnScreen() && HasWBuff(x))) { var hpPosition = source.HPBarPosition; hpPosition.Y = hpPosition.Y + 30; // tracker friendly. var timeLeft = GetWBuff(source).EndTime - Game.Time; var endPos = timeLeft * 0x3e8 / 0x25; var degree = Misc.GetNumberInRangeFromProcent(timeLeft * 1000d / 4000d * 100d, 3, 110); var color = new Misc.HsvColor(degree, 1, 1).ColorFromHsv(); Text.X = (int)(hpPosition.X + endPos); Text.Y = (int)hpPosition.Y + 15; // + text size Text.Color = color; Text.TextValue = timeLeft.ToString("F1"); Text.Draw(); Drawing.DrawLine(hpPosition.X + endPos, hpPosition.Y, hpPosition.X, hpPosition.Y, 1, color); } }