Advertisement
Guest User

WhereAreMyBuddies.cs

a guest
Mar 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.16 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using Turbo.Plugins;
  4. using Turbo.Plugins.Default;
  5.  
  6. namespace Turbo.plugins.Vigil
  7. {
  8.     internal sealed class WhereAreMyBuddies : BasePlugin, IInGameWorldPainter
  9.     {
  10.         private IBrush Line { get; set; }
  11.         private IBrush Circle {get; set;}
  12.  
  13.         public WhereAreMyBuddies()
  14.         {
  15.             Enabled = true;
  16.         }
  17.  
  18.         public override void Load(IController hud)
  19.         {
  20.             base.Load(hud);
  21.         }
  22.  
  23.         public void PaintWorld(WorldLayer layer)
  24.         {
  25.             var self = Hud.Game.Me;
  26.  
  27.             //if(!self.InGreaterRift)
  28.             //    return;
  29.  
  30.             if (Hud.Game.NumberOfPlayersInGame <= 1)
  31.                 return;
  32.  
  33.             var otherPlayers = Hud.Game.Players.Where(p => !p.IsMe && p.CoordinateKnown);
  34.             var selfLocation = self.FloorCoordinate;
  35.  
  36.             foreach(var otherPlayer in otherPlayers)
  37.             {
  38.                 var otherLocation = otherPlayer.FloorCoordinate;
  39.                 var heroClassDefinitionCode = otherPlayer.HeroClassDefinition.Code;
  40.                 var distance = selfLocation.XYZDistanceTo(otherLocation);
  41.                 var moment = System.DateTime.Now;
  42.                
  43.                 if(distance >= 140)
  44.                     continue;
  45.                
  46.                 switch (otherPlayer.HeroClassDefinition.Code)
  47.                 {
  48.                     case "monk":
  49.                         Line = Hud.Render.CreateBrush(255, 255, 200, 0, 4);
  50.                         Circle = Hud.Render.CreateBrush(255, 255, 200, 0, 12);
  51.                         break;
  52.                     case "demonhunter":
  53.                         Line =Hud.Render.CreateBrush(255, 43, 173, 0, 4);
  54.                         Circle = Hud.Render.CreateBrush(255, 43, 173, 0, 4);
  55.                         break;
  56.                     case "wizard":
  57.                         Line =  Hud.Render.CreateBrush(255, 0, 57, 173, 4);
  58.                         Circle = Hud.Render.CreateBrush(255, 0, 57, 173, 12);
  59.                         break;
  60.                     case "barbarian":
  61.                         Line = Hud.Render.CreateBrush(255, 173, 0, 0, 4);
  62.                         Circle = Hud.Render.CreateBrush(255, 173, 0, 0, 4);
  63.                         break;
  64.                     case "necromancer":
  65.                         Line = Hud.Render.CreateBrush(255, 0, 150, 127, 4);
  66.                         Circle = Hud.Render.CreateBrush(255, 0, 150, 127, 4);
  67.                         break;
  68.                     case "witchdoctor":
  69.                         Line = Hud.Render.CreateBrush(255, 255, 200, 0, 4);
  70.                         Circle = Hud.Render.CreateBrush(255, 255, 200, 0, 4);
  71.                         break;
  72.                     case "crusader":
  73.                         Line =Hud.Render.CreateBrush(255, 255, 255, 255, 4);
  74.                         Circle = Hud.Render.CreateBrush(255, 255, 255, 255, 4);
  75.                         break;
  76.                     default:
  77.                         Line = Hud.Render.CreateBrush(255, 255, 0, 100, 4);
  78.                         Circle = Hud.Render.CreateBrush(255, 255, 0, 100, 4);
  79.                         break;
  80.                 }
  81.                
  82.                 if(distance >= 10 && distance < 25)
  83.                 {
  84.                     Line.StrokeWidth = 3;
  85.                 }
  86.                 if(distance >= 25 && distance < 35)
  87.                 {
  88.                     Line.StrokeWidth = 5;
  89.                 }
  90.                 if(distance >= 35 && distance < 45)
  91.                 {
  92.                     Line.StrokeWidth = 7;
  93.                 }
  94.                 if(distance >= 45)
  95.                 {
  96.                     Line.StrokeWidth = 9;
  97.                 }
  98.  
  99.                 Line.DrawLineWorld(otherLocation, selfLocation);
  100.                 Circle.DrawWorldEllipse(4, 20, otherLocation);
  101.             }
  102.         }
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement