Guest User

SkeletalMageSingularityEssencePlugin

a guest
Sep 2nd, 2017
1,925
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.11 KB | None | 0 0
  1. using System.Globalization;
  2. using Turbo.Plugins.Default;
  3. using System.Linq;
  4.  
  5. namespace Turbo.Plugins.BM
  6. {
  7.     public class SkeletalMageSingularityEssencePlugin : BasePlugin, IInGameTopPainter
  8.     {
  9.  
  10.         public TopLabelWithTitleDecorator EssenceDecorator { get; set; }
  11.         public IBrush FullBackgroundBrush { get; set; }
  12.         public IBrush ReapersWrapsBackgroundBrush { get; set; }
  13.         public IBrush NotFullBackgroundBrush { get; set; }
  14.         public bool ShowInTown { get; set; }
  15.         public float ReapersWrapsResourceRestore { get; set; }
  16.         private float w  { get; set; }
  17.         private float h  { get; set; }
  18.         public float XPos { get; set; }
  19.         public float YPos { get; set; }
  20.         public SkeletalMageSingularityEssencePlugin()
  21.         {
  22.             Enabled = true;
  23.         }
  24.  
  25.         public override void Load(IController hud)
  26.         {
  27.             base.Load(hud);
  28.             FullBackgroundBrush = Hud.Render.CreateBrush(160, 0, 255, 0, 0);
  29.             ReapersWrapsBackgroundBrush = Hud.Render.CreateBrush(160, 255, 165, 0, 0);
  30.             NotFullBackgroundBrush = Hud.Render.CreateBrush(160, 255, 0, 0, 0);
  31.            
  32.             ShowInTown = true;
  33.             ReapersWrapsResourceRestore = 30;
  34.             w = Hud.Window.Size.Width * 0.03f;
  35.             h = Hud.Window.Size.Height * 0.02f;
  36.             XPos = Hud.Window.Size.Width * 0.5f - w/2;
  37.             YPos = Hud.Window.Size.Height * 0.5f + Hud.Window.Size.Height * 0.00001f;
  38.            
  39.             EssenceDecorator = new TopLabelWithTitleDecorator(Hud)
  40.             {
  41.                 BackgroundBrush = FullBackgroundBrush,
  42.                 BorderBrush = Hud.Render.CreateBrush(255, 0, 0, 0, -1),
  43.                 TextFont = Hud.Render.CreateFont("tahoma", 8, 255, 0, 0, 0, true, false, false),
  44.             };
  45.         }
  46.  
  47.         public void PaintTopInGame(ClipState clipState)
  48.         {
  49.             if (Hud.Render.UiHidden) return;
  50.             if (!Hud.Game.Me.Powers.UsedSkills.Any(s => s.SnoPower.Sno == 462089 && s.Rune == 1)) return;
  51.             if (Hud.Game.IsInTown && ShowInTown == false) return;
  52.  
  53.             if (clipState == ClipState.BeforeClip)
  54.             {
  55.  
  56.                 if(Hud.Game.Me.Stats.ResourceCurEssence == Hud.Game.Me.Stats.ResourceMaxEssence)
  57.                 {
  58.                     EssenceDecorator.BackgroundBrush = FullBackgroundBrush;
  59.                     EssenceDecorator.Paint(XPos, YPos, w, h, Hud.Game.Me.Stats.ResourcePctEssence.ToString("F0", CultureInfo.InvariantCulture) + "%");
  60.                 }
  61.                 else if(Hud.Game.Me.Stats.ResourceCurEssence < (1 - ((ReapersWrapsResourceRestore + 1) / 100)) * Hud.Game.Me.Stats.ResourceMaxEssence)
  62.                 {
  63.                     EssenceDecorator.BackgroundBrush = NotFullBackgroundBrush;
  64.                     EssenceDecorator.Paint(XPos, YPos, w, h, Hud.Game.Me.Stats.ResourcePctEssence.ToString("F0", CultureInfo.InvariantCulture) + "%");
  65.                 }
  66.                 else
  67.                 {
  68.                     EssenceDecorator.BackgroundBrush = ReapersWrapsBackgroundBrush;
  69.                     EssenceDecorator.Paint(XPos, YPos, w, h, Hud.Game.Me.Stats.ResourcePctEssence.ToString("F0", CultureInfo.InvariantCulture) + "%");
  70.                 }
  71.  
  72.             }
  73.         }
  74.  
  75.     }
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment