Advertisement
Guest User

ShardsOnKadala

a guest
Aug 5th, 2018
569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.91 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 ShardsOnKadala : BasePlugin, IInGameWorldPainter
  9.     {
  10.         public TopLabelDecorator KadalaDecorator { get; set; }
  11.         private bool showOk { get; set; }
  12.         private bool showWarning { get; set; }
  13.         private int limitBad { get; set; }
  14.         private int limitWarning { get; set; }
  15.         private string kadalaText { get; set; }
  16.        
  17.         public ShardsOnKadala()
  18.         {
  19.             Enabled = true;
  20.         }
  21.              
  22.         public override void Load(IController hud)
  23.         {
  24.             base.Load(hud);
  25.  
  26.             showOk = true;
  27.             showWarning = true;
  28.             limitBad = 300; // last {value limitBad} space shards show as Bad
  29.             limitWarning = 500; // show Warning between last {value limitWarning} and {value limitBad} space shards
  30.  
  31.             KadalaDecorator = new TopLabelDecorator(Hud)
  32.             {
  33.                 TextFont = Hud.Render.CreateFont("tahoma", 8, 200, 255, 255, 255, true, false, false),
  34.                 TextFunc = () => kadalaText,
  35.             };
  36.         }
  37.        
  38.         public void PaintWorld(WorldLayer layer)
  39.         {
  40.             if (!Hud.Game.IsInTown) return;
  41.             var kadalaPos = Hud.Game.Actors.Where(x => x.SnoActor.Sno == 361241 && x.IsOnScreen);
  42.             var maxShards = 500 + (Hud.Game.Me.HighestSoloRiftLevel * 10);
  43.             var actualShards = Hud.Game.Me.Materials.BloodShard;
  44.             kadalaText = "" + actualShards + "/" + maxShards;
  45.             var KadalaTextureBad = Hud.Texture.GetTexture("Tooltip_Equipped_Frame_Title_Primal");
  46.             var KadalaTextureWarning = Hud.Texture.GetTexture("Tooltip_Equipped_Frame_Title_Ancient");
  47.             var KadalaTextureOk = Hud.Texture.GetTexture("Tooltip_Equipped_Frame_Title");
  48.             var Warning = Hud.Texture.GetTexture("MarkerExclamation");
  49.             var ScreenWidth = Hud.Window.Size.Width;
  50.             var ScreenHeight = Hud.Window.Size.Height;
  51.             foreach (var actor in kadalaPos)
  52.             {
  53.                 if (maxShards - actualShards <= limitBad)
  54.                 {
  55.                     Warning.Draw(actor.ScreenCoordinate.X - (ScreenWidth / 75), actor.ScreenCoordinate.Y - (ScreenWidth / 15), (float)(ScreenWidth / 30), (float)(ScreenWidth / 30), 1f);
  56.                     KadalaTextureBad.Draw(actor.ScreenCoordinate.X - (ScreenWidth / 25), actor.ScreenCoordinate.Y + (ScreenWidth / 45), (float)(ScreenWidth / 12), (float)(ScreenHeight / 28), 1f);
  57.                     KadalaDecorator.Paint(actor.ScreenCoordinate.X - (ScreenWidth / 25), actor.ScreenCoordinate.Y + (ScreenWidth / 41), (float)(ScreenWidth / 12), (float)(ScreenHeight / 28), HorizontalAlign.Center);
  58.                 }
  59.                 else if (maxShards - actualShards > limitBad && maxShards - actualShards <= limitWarning)
  60.                 {
  61.                     KadalaTextureWarning.Draw(actor.ScreenCoordinate.X - (ScreenWidth / 25), actor.ScreenCoordinate.Y + (ScreenWidth / 45), (float)(ScreenWidth / 12), (float)(ScreenHeight / 28), 1f);
  62.                     KadalaDecorator.Paint(actor.ScreenCoordinate.X - (ScreenWidth / 25), actor.ScreenCoordinate.Y + (ScreenWidth / 41), (float)(ScreenWidth / 12), (float)(ScreenHeight / 28), HorizontalAlign.Center);
  63.                 }
  64.                 else if (maxShards - actualShards > limitWarning)
  65.                 {
  66.                     KadalaTextureOk.Draw(actor.ScreenCoordinate.X - (ScreenWidth / 25), actor.ScreenCoordinate.Y + (ScreenWidth / 45), (float)(ScreenWidth / 12), (float)(ScreenHeight / 28), 1f);
  67.                     KadalaDecorator.Paint(actor.ScreenCoordinate.X - (ScreenWidth / 25), actor.ScreenCoordinate.Y + (ScreenWidth / 46), (float)(ScreenWidth / 12), (float)(ScreenHeight / 28), HorizontalAlign.Center);
  68.                 }
  69.                 else return;
  70.             }
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement