Advertisement
Guest User

GlobesPickupRange

a guest
Feb 26th, 2019
560
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Turbo.Plugins.Default;
  5.  
  6. namespace Turbo.Plugins.One
  7. {
  8.     public class GlobesPickupRange : BasePlugin, ITransparentCollection, IInGameWorldPainter
  9.     {
  10.         private bool showOnRiftGlobes { get; set; }
  11.         private bool showOnHealthGlobes { get; set; }
  12.         private bool showOnNephalemGlobes { get; set; }
  13.         public IBrush FillBrushGRGlobes { get; set; }
  14.         public IBrush OutlineBrushGRGlobes { get; set; }
  15.         public IBrush FillBrushRiftGlobes { get; set; }
  16.         public IBrush OutlineBrushRiftGlobes { get; set; }
  17.         public IBrush FillBrushHealthGlobes { get; set; }
  18.         public IBrush OutlineBrushHealthGlobes { get; set; }
  19.         public IBrush FillBrushNephalemGlobes { get; set; }
  20.         public IBrush OutlineBrushNephalemGlobes { get; set; }
  21.         public IFader Fader { get; set; }
  22.  
  23.  
  24.         public GlobesPickupRange()
  25.         {
  26.             Enabled = true;
  27.         }
  28.  
  29.         public override void Load(IController hud)
  30.         {
  31.             base.Load(hud);
  32.  
  33.             showOnRiftGlobes = true; // Normal Rift and GR
  34.             showOnHealthGlobes = true;
  35.             showOnNephalemGlobes = true;
  36.  
  37.             FillBrushGRGlobes = Hud.Render.CreateBrush(40, 122, 35, 174, 0);
  38.             OutlineBrushGRGlobes = Hud.Render.CreateBrush(80, 122, 35, 174, 3);
  39.             FillBrushRiftGlobes = Hud.Render.CreateBrush(40, 255, 122, 0, 0);
  40.             OutlineBrushRiftGlobes = Hud.Render.CreateBrush(80, 255, 122, 0, 3);
  41.             FillBrushHealthGlobes = Hud.Render.CreateBrush(20, 255, 0, 0, 0);
  42.             OutlineBrushHealthGlobes = Hud.Render.CreateBrush(50, 255, 0, 0, 3);
  43.             FillBrushNephalemGlobes = Hud.Render.CreateBrush(40, 228, 200, 94, 0);
  44.             OutlineBrushNephalemGlobes = Hud.Render.CreateBrush(80, 228, 200, 94, 3);
  45.             Fader = new StandardFader(Hud, this);
  46.         }
  47.  
  48.         public void PaintWorld(WorldLayer layer)
  49.         {
  50.             if (Hud.Game.Me.IsInTown) return;
  51.             if (showOnRiftGlobes)
  52.             {
  53.                 var actors = Hud.Game.Actors.Where(x => x.SnoActor.Kind == ActorKind.RiftOrb);
  54.                 foreach (var actor in actors)
  55.                 {
  56.                     if (Hud.Game.Me.InGreaterRift)
  57.                     {
  58.                         OutlineBrushGRGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  59.                         FillBrushGRGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  60.                     }
  61.                     else
  62.                     {
  63.                         OutlineBrushRiftGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  64.                         FillBrushRiftGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  65.                     }
  66.                 }
  67.             }
  68.             if (showOnHealthGlobes)
  69.             {
  70.                 var actors = Hud.Game.Actors.Where(x => x.SnoActor.Kind == ActorKind.HealthGlobe);
  71.                 foreach (var actor in actors)
  72.                 {
  73.                     OutlineBrushHealthGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  74.                     FillBrushHealthGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  75.                 }
  76.             }
  77.             if (showOnNephalemGlobes)
  78.             {
  79.                 var actors = Hud.Game.Actors.Where(x => x.SnoActor.Kind == ActorKind.PowerGlobe);
  80.                 foreach (var actor in actors)
  81.                 {
  82.                     OutlineBrushNephalemGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  83.                     FillBrushNephalemGlobes.DrawWorldEllipse(Hud.Game.Me.Stats.PickupRange, -1, actor.FloorCoordinate);
  84.                 }
  85.             }
  86.         }
  87.  
  88.         public IEnumerable<ITransparent> GetTransparents()
  89.         {
  90.             yield return FillBrushGRGlobes;
  91.             yield return OutlineBrushGRGlobes;
  92.             yield return FillBrushRiftGlobes;
  93.             yield return OutlineBrushRiftGlobes;
  94.             yield return FillBrushHealthGlobes;
  95.             yield return OutlineBrushHealthGlobes;
  96.             yield return FillBrushNephalemGlobes;
  97.             yield return OutlineBrushNephalemGlobes;
  98.         }
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement