Advertisement
Guest User

DarkeningOfTristramPlugin.cs

a guest
Jan 4th, 2018
413
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.11 KB | None | 0 0
  1. using System.Linq;
  2. using Turbo.Plugins.Default;
  3. using System.Collections.Generic;
  4.  
  5. namespace Turbo.Plugins.One
  6. {
  7.     public class DarkeningOfTristram : BasePlugin, IInGameWorldPainter
  8.     {
  9.         public WorldDecoratorCollection DarkeningOfTristramDecorator { get; set; }
  10.         public WorldDecoratorCollection DarkeningOfTristramUniqueDecorator { get; set; }
  11.         public WorldDecoratorCollection DarkeningOfTristramOrderDecorator { get; set; }
  12.        
  13.         private HashSet<uint> _actorSnoList = new HashSet<uint>();
  14.         private HashSet<uint> _uniqueSnoList = new HashSet<uint>();
  15.         private HashSet<uint> _orderSnoList = new HashSet<uint>();
  16.  
  17.         public DarkeningOfTristram()
  18.         {
  19.             Enabled = true;
  20.         }
  21.  
  22.         public override void Load(IController hud)
  23.         {
  24.             base.Load(hud);
  25.            
  26.             DarkeningOfTristramDecorator = new WorldDecoratorCollection(
  27.                 new MapShapeDecorator(Hud)
  28.                 {
  29.                     ShapePainter = new RotatingTriangleShapePainter(Hud),
  30.                     Brush = Hud.Render.CreateBrush(160, 255, 128, 0, 10),
  31.                     ShadowBrush = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
  32.                     Radius = 2,
  33.                 },
  34.                 new GroundCircleDecorator(Hud)
  35.                 {
  36.                     Brush = Hud.Render.CreateBrush(150, 255, 128, 0, 0),
  37.                     Radius = 1.125f,
  38.                 }
  39.             );
  40.            
  41.             DarkeningOfTristramOrderDecorator = new WorldDecoratorCollection(
  42.                 new MapShapeDecorator(Hud)
  43.                 {
  44.                     ShapePainter = new RotatingTriangleShapePainter(Hud),
  45.                     Brush = Hud.Render.CreateBrush(160, 255, 128, 0, 10),
  46.                     ShadowBrush = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
  47.                     Radius = 2,
  48.                 },
  49.                 new GroundLabelDecorator(Hud)
  50.                 {
  51.                     BackgroundBrush = Hud.Render.CreateBrush(255, 0, 255, 0, 0),
  52.                     BorderBrush = Hud.Render.CreateBrush(255, 255, 0, 0, 1),
  53.                     TextFont = Hud.Render.CreateFont("tahoma", 15f, 255, 255, 0, 0, true, false, false),
  54.                 }
  55.             );
  56.            
  57.             DarkeningOfTristramUniqueDecorator = new WorldDecoratorCollection(
  58.                 new MapShapeDecorator(Hud)
  59.                 {
  60.                     ShapePainter = new RotatingTriangleShapePainter(Hud),
  61.                     Brush = Hud.Render.CreateBrush(160, 255, 128, 0, 25),
  62.                     ShadowBrush = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
  63.                     Radius = 1,
  64.                 },
  65.                 new GroundCircleDecorator(Hud)
  66.                 {
  67.                     Brush = Hud.Render.CreateBrush(150, 255, 128, 0, 0),
  68.                     Radius = 3f,
  69.                 }
  70.             );
  71.            
  72.             _orderSnoList.Add(456066); //   p43_AD_OldTristram_AdriaCellar_Cauldron Cauldron
  73.             _orderSnoList.Add(455885); //   p43_AD_Corpse_Griswold  Griswold's Corpse
  74.             _orderSnoList.Add(455887); //   p43_AD_Corpse_Farnham   Farnham's Corpse
  75.             _orderSnoList.Add(455884); //   p43_AD_Corpse_Ogden Ogden's Corpse
  76.             _orderSnoList.Add(455886); //   p43_AD_Corpse_Pepin Pepin's Corpse
  77.            
  78.             _actorSnoList.Add(455696); // Cultist's Page 1
  79.             _actorSnoList.Add(455712); // Cultist's Page 2
  80.             _actorSnoList.Add(455713); // Cultist's Page 3
  81.             _actorSnoList.Add(455714); // Cultist's Page 4
  82.             _actorSnoList.Add(455715); // Cultist's Page 5
  83.             _actorSnoList.Add(455716); // Cultist's Page 6
  84.             _actorSnoList.Add(455717); // Cultist's Page 7
  85.             _actorSnoList.Add(455664); // 43_AD_TriuneSummoner_WestMCultist_Lore    Temporal Priest
  86.            
  87.             _actorSnoList.Add(454492);  //  p43_AD_trOut_NewTristram_Adria_BlackMushroom    Black Mushroom
  88.             _actorSnoList.Add(454794);  //  Unique_Gem_022_x1   Red Soul Shard
  89.             _actorSnoList.Add(162311);  //  A1_BlackMushroom    Black Mushroom
  90.             _actorSnoList.Add(457032);  //  p43_AD_WirtsLeg_01  Witch's Brew
  91.             _actorSnoList.Add(457033);  //  p43_AD_WirtsLeg_02  Drunkard's Debt
  92.             _actorSnoList.Add(457049);  //  p43_AD_WirtsLeg_03  Garda's Letter
  93.             _actorSnoList.Add(457050);  //  p43_AD_WirtsLeg_04  Healer's Prescription
  94.             _actorSnoList.Add(456333);  //  p43_AD_TabletOfLazarus  Book of Lazarus
  95.             _actorSnoList.Add(456335);  //  p43_AD_TabletOfLazarus_Lazarus  Book of Lazarus
  96.            
  97.             _uniqueSnoList.Add(454392); // p43_d1_Triune_Summonable_1_Unique_Shadowbite Shadowbite
  98.             _uniqueSnoList.Add(454393); // p43_d1_ZombieSkinny_1_Unique_Rotfeast    Rotfeast the Hungry
  99.             _uniqueSnoList.Add(454398); // p43_d1_Skeleton_3_Unique_Madeye  Madeye the Dead
  100.             _uniqueSnoList.Add(454395); // p43_d1_Shield_Skeleton_3_Unique_Brokenhead   Brokenhead Bangshield
  101.             _uniqueSnoList.Add(454396); // p43_d1_Goatman_Melee_1_Unique_Gharbad    Gharbad the Weak
  102.             _uniqueSnoList.Add(454394); // p43_d1_FallenGrunt_4_Unique_Snotspill    Snotspill
  103.             _uniqueSnoList.Add(454399); // p43_d1_SkeletonArcher_3_Unique_Blacklash Blacklash the Burning
  104.             _uniqueSnoList.Add(454404); // p43_d1_Goatman_Ranged_1_Unique_Bloodskin Bloodskin Darkbow
  105.             _uniqueSnoList.Add(454406); // p43_d1_FleshPitFlyer_3_Unique_Foulwing   Foulwing
  106.             _uniqueSnoList.Add(454403); // p43_d1_FallenGrunt_4_Unique_Shadowcrow   Shadowcrow
  107.             _uniqueSnoList.Add(455321); // p43_d1_Goatman_Melee_2_Unique_Deathshade Deathshade Fleshmaul
  108.             _uniqueSnoList.Add(454408); // p43_d1_FallenChampion_1_Unique_Bilefroth Bilefroth the Pit Master
  109.             _uniqueSnoList.Add(454407); // p43_d1_Goatman_Melee_3_Unique_Bloodgutter    Bloodgutter
  110.             _uniqueSnoList.Add(454410); // p43_d1_Goatman_Melee_4_Unique_Blighthorn Blighthorn Steelmace
  111.             _uniqueSnoList.Add(454411); // p43_d1_Goatman_Ranged_4_Unique_Gorestone Gorestone
  112.             _uniqueSnoList.Add(454412); // p43_d1_Bloodhawk_2_Unique_Nightwing  Nightwing the Cold
  113.             _uniqueSnoList.Add(454413); // p43_d1_sandMonster_1_Unique_Firewound    Firewound the Grim
  114.             _uniqueSnoList.Add(454672); // p43_d1_Mage_1_Unique_ZharTheMad  Zhar the Mad
  115.             _uniqueSnoList.Add(455327); // p43_d1_FallenChampion_2_Unique_BaronSluge    Baron Sludge
  116.             _uniqueSnoList.Add(454417); // p43_d1_MoleMutant_Melee_2_Unique_Mud Breakspine
  117.             _uniqueSnoList.Add(454418); // p43_d1_TerrorDemon_1_Unique_Brokenstorm  Brokenstorm
  118.             _uniqueSnoList.Add(454595); // p43_d1_FallenChampion_3_Unique_Oozedrool Oozedrool
  119.             _uniqueSnoList.Add(455325); // p43_d1_TerrorDemon_2_Unique_TheFlayer    The Flayer
  120.             _uniqueSnoList.Add(454421); // p43_d1_Bloodhawk_3_Unique_Bloodclaw  Goldblight of the Flame
  121.             _uniqueSnoList.Add(454422); // p43_d1_MoleMutant_Melee_4_Unique_Blackstorm  Blackstorm
  122.             _uniqueSnoList.Add(454424); // p43_d1_MoleMutant_Melee_3_Unique_Bluehorn    Bluehorn
  123.             _uniqueSnoList.Add(454425); // p43_d1_snakeMan_Melee_1_Unique_Fangspeir Fangspeir
  124.             _uniqueSnoList.Add(454649); // p43_d1_snakeMan_Melee_2_Unique_Viperflame    Viperflame
  125.             _uniqueSnoList.Add(454426); // p43_d1_Bloodhawk_4_Unique_DeathWing  Viletouch
  126.             _uniqueSnoList.Add(454427); // p43_d1_Shield_Skeleton_Westmarch_1_Unique_Lionskull  Lionskull
  127.             _uniqueSnoList.Add(454430); // p43_d1_Shield_Skeleton_Westmarch_3_Unique_WarlordOfBlood Warlord of Blood
  128.             _uniqueSnoList.Add(454429); // p43_d1_Shield_Skeleton_Westmarch_2_Unique_Rustweaver Rustweaver
  129.             _uniqueSnoList.Add(454431); // p43_d1_Succubus_2_Unique_Witchmoon   Witchmoon
  130.             _uniqueSnoList.Add(454433); // p43_d1_Shield_Skeleton_Westmarch_3_Unique_Steelskull Steelskull the Hunter
  131.             _uniqueSnoList.Add(454432); // p43_d1_Shield_Skeleton_Westmarch_2_Unique_Graywar    Graywar the Slayer
  132.             _uniqueSnoList.Add(454434); // p43_d1_Succubus_3_Unique_Stareye Stareye the Witch
  133.             _uniqueSnoList.Add(454558); // p43_d1_Mage_3_Unique_TheVizier   The Vizier
  134.             _uniqueSnoList.Add(454654); // p43_d1_Succubus_3_Unique_RedVex  Red Vex
  135.             _uniqueSnoList.Add(454435); // p43_d1_Succubus_3_Unique_Blackjade   Blackjade
  136.             _uniqueSnoList.Add(454437); // p43_d1_Shield_Skeleton_Westmarch_4_Unique_SirGorash  Sir Gorash
  137.            
  138.         }
  139.  
  140.         public void PaintWorld(WorldLayer layer)
  141.         {
  142.             var actors = Hud.Game.Actors.Where(actor => actor.DisplayOnOverlay && _actorSnoList.Contains(actor.SnoActor.Sno));
  143.             foreach (var actor in actors)
  144.             {
  145.                 DarkeningOfTristramDecorator.Paint(layer, actor, actor.FloorCoordinate, "");
  146.             }
  147.            
  148.             var unique = Hud.Game.Actors.Where(actor => actor.DisplayOnOverlay && _uniqueSnoList.Contains(actor.SnoActor.Sno));
  149.             foreach (var actor in unique)
  150.             {
  151.                 DarkeningOfTristramUniqueDecorator.Paint(layer, actor, actor.FloorCoordinate, "");
  152.             }
  153.            
  154.             var order = Hud.Game.Actors.Where(actor => actor.DisplayOnOverlay && _orderSnoList.Contains(actor.SnoActor.Sno));
  155.             foreach (var actor in order)
  156.             {
  157.                 if (actor.SnoActor.Sno == 456066) DarkeningOfTristramOrderDecorator.Paint(layer, actor, actor.FloorCoordinate, "1");
  158.                 if (actor.SnoActor.Sno == 455887) DarkeningOfTristramOrderDecorator.Paint(layer, actor, actor.FloorCoordinate, "2");
  159.                 if (actor.SnoActor.Sno == 455884) DarkeningOfTristramOrderDecorator.Paint(layer, actor, actor.FloorCoordinate, "3");
  160.                 if (actor.SnoActor.Sno == 455886) DarkeningOfTristramOrderDecorator.Paint(layer, actor, actor.FloorCoordinate, "4");
  161.                 if (actor.SnoActor.Sno == 455885) DarkeningOfTristramOrderDecorator.Paint(layer, actor, actor.FloorCoordinate, "5");
  162.             }
  163.         }
  164.     }
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement