AngelOfLife

MobsOnMapColorsPlugin

Jan 28th, 2022
1,176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 23.83 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Turbo.Plugins.Default;
  4.  
  5. namespace Turbo.Plugins.User
  6. {
  7.     public class MobsOnMapColorsPlugin : BasePlugin, IInGameWorldPainter, ICustomizer
  8.     {
  9.         public WorldDecoratorCollection Decorator0 { get; set; }
  10.         public WorldDecoratorCollection Decorator1 { get; set; }
  11.         public WorldDecoratorCollection Decorator2 { get; set; }
  12.         public WorldDecoratorCollection Decorator3 { get; set; }
  13.         public WorldDecoratorCollection Decorator4 { get; set; }
  14.         public WorldDecoratorCollection Decorator5 { get; set; }
  15.  
  16.         public WorldDecoratorCollection BullsChargersDecorator { get; set; }
  17.         public WorldDecoratorCollection UnpulledDecorator { get; set; }
  18.         public WorldDecoratorCollection LickerDecorator { get; set; }
  19.         public WorldDecoratorCollection FallenDecorator { get; set; }
  20.         public WorldDecoratorCollection GrotesqueDecorator { get; set; }
  21.         public WorldDecoratorCollection SkeletonSummonerDecorator { get; set; }
  22.         public WorldDecoratorCollection DangerRangeDecorator { get; set; }
  23.         public WorldDecoratorCollection EjDecorator { get; set; }
  24.         public WorldDecoratorCollection CoockieDecorator { get; set; }
  25.         public WorldDecoratorCollection SmolderingDecorator { get; set; }
  26.         public WorldDecoratorCollection SuccubDecorator { get; set; }
  27.         public WorldDecoratorCollection UnijenDecorator { get; set; }
  28.         public WorldDecoratorCollection ShamanDecorator { get; set; }
  29.         public WorldDecoratorCollection SwarmDecorator { get; set; }
  30.         public WorldDecoratorCollection BoganDecorator { get; set; }
  31.         public WorldDecoratorCollection MaidenDecorator { get; set; }
  32.         public WorldDecoratorCollection ThrallDecorator { get; set; }
  33.         public WorldDecoratorCollection LegionerDecorator { get; set; }
  34.         public WorldDecoratorCollection BabkaDecorator { get; set; }
  35.         public WorldDecoratorCollection CarrotDecorator { get; set; }
  36.         public WorldDecoratorCollection NightmareDecorator { get; set; }
  37.         public WorldDecoratorCollection TrapperDecorator { get; set; }
  38.         public WorldDecoratorCollection MaggotDecorator { get; set; }
  39.         public WorldDecoratorCollection BersDecorator { get; set; }
  40.         public WorldDecoratorCollection HellionDecorator { get; set; }
  41.         public WorldDecoratorCollection SummonerDecorator { get; set; }
  42.         public WorldDecoratorCollection CultistDecorator { get; set; }
  43.         public WorldDecoratorCollection MalletDecorator { get; set; }
  44.         public WorldDecoratorCollection DervishDecorator { get; set; }
  45.         public WorldDecoratorCollection WyattChengDecorator { get; set; }
  46.         public WorldDecoratorCollection CadaverDecorator { get; set; }
  47.  
  48.         public Dictionary<ActorSnoEnum, WorldDecoratorCollection> SnoMapping { get; } = new Dictionary<ActorSnoEnum, WorldDecoratorCollection>();
  49.         public Dictionary<ActorSnoEnum, WorldDecoratorCollection> SnoMapping2 { get; } = new Dictionary<ActorSnoEnum, WorldDecoratorCollection>();
  50.  
  51.         public MobsOnMapColorsPlugin()
  52.         {
  53.             Enabled = true;
  54.             Order = 50000;
  55.         }
  56.  
  57.         public void Customize()
  58.         {
  59.             // Savage Beast 3337, Horned Charger 3338, Wooly Beast 3339, Great Horned Goliath 3342, Skeletal Beast 288691
  60.             SnoMapping.Add(ActorSnoEnum._beast_a, BullsChargersDecorator);
  61.             SnoMapping.Add(ActorSnoEnum._beast_b, BullsChargersDecorator);
  62.             SnoMapping.Add(ActorSnoEnum._beast_c, BullsChargersDecorator);
  63.             SnoMapping.Add(ActorSnoEnum._beast_d, BullsChargersDecorator);
  64.             SnoMapping.Add(ActorSnoEnum._x1_beast_skeleton_a, BullsChargersDecorator);
  65.             // WoodWalker ??, Executioner 332679, Golgor 5581 189852 192850, Punisher 258678, Tremor 60722 205767,
  66.             SnoMapping.Add(ActorSnoEnum._lore_bestiary_woodwraith, UnpulledDecorator);
  67.             SnoMapping.Add(ActorSnoEnum._thousandpounder, UnpulledDecorator);
  68.             SnoMapping.Add(ActorSnoEnum._thousandpounder_b, UnpulledDecorator);
  69.             SnoMapping.Add(ActorSnoEnum._thousandpounder_c, UnpulledDecorator);
  70.             SnoMapping.Add(ActorSnoEnum._x1_westmarchbrute_a, UnpulledDecorator);
  71.             SnoMapping.Add(ActorSnoEnum._brickhouse_a, UnpulledDecorator);
  72.             SnoMapping.Add(ActorSnoEnum._brickhouse_b, UnpulledDecorator);
  73.             SnoMapping.Add(ActorSnoEnum._x1_westmarchbrute_c, UnpulledDecorator);
  74.             // SoulRipper 5436, Soul Lasher 169615, Soul Devourer 222096
  75.             SnoMapping.Add(ActorSnoEnum._soulripper_a, LickerDecorator);
  76.             SnoMapping.Add(ActorSnoEnum._soulripper_b, LickerDecorator);
  77.             SnoMapping.Add(ActorSnoEnum._soulripper_c_despair, LickerDecorator);
  78.             // Fallen Master 4071, Fallen Overlord 4072, Fallen Slavelord 4073, Fallen Overseer 4070 x => x.Sno == 4071 || (x.Sno == 4072) || (x.Sno == 4073) || (x.Sno == 4070)
  79.             SnoMapping.Add(ActorSnoEnum._fallenchampion_a, FallenDecorator);
  80.             SnoMapping.Add(ActorSnoEnum._fallenchampion_b, FallenDecorator);
  81.             SnoMapping.Add(ActorSnoEnum._fallenchampion_c, FallenDecorator);
  82.             SnoMapping.Add(ActorSnoEnum._fallenchampion_d, FallenDecorator);
  83.             // Smoldering Construct 5372, Blazing Guardian 5371
  84.             SnoMapping.Add(ActorSnoEnum._skeletonmage_fire_b, SmolderingDecorator);
  85.             SnoMapping.Add(ActorSnoEnum._skeletonmage_fire_a, SmolderingDecorator);
  86.             // Grotesque 3847, Harvester 3848, Horror 3849, Abomination 3850, Possessed 191592
  87.             SnoMapping.Add(ActorSnoEnum._corpulent_a, GrotesqueDecorator);
  88.             SnoMapping.Add(ActorSnoEnum._corpulent_b, GrotesqueDecorator);
  89.             SnoMapping.Add(ActorSnoEnum._corpulent_c, GrotesqueDecorator);
  90.             SnoMapping.Add(ActorSnoEnum._corpulent_d, GrotesqueDecorator);
  91.             SnoMapping.Add(ActorSnoEnum._corpulent_frost_a, GrotesqueDecorator);
  92.             // Tomb Guardian 5387, Returned Summoner 5388, Tortured Summoner 5389, Vengeful Summoner 5390, Skull Summoner 182279
  93.             SnoMapping.Add(ActorSnoEnum._skeletonsummoner_a, SkeletonSummonerDecorator);
  94.             SnoMapping.Add(ActorSnoEnum._skeletonsummoner_b, SkeletonSummonerDecorator);
  95.             SnoMapping.Add(ActorSnoEnum._skeletonsummoner_c, SkeletonSummonerDecorator);
  96.             SnoMapping.Add(ActorSnoEnum._skeletonsummoner_d, SkeletonSummonerDecorator);
  97.             SnoMapping.Add(ActorSnoEnum._skeletonsummoner_e, SkeletonSummonerDecorator);
  98.             // Anarch 241288, Lacuni Female 4541 4542 4548, Morlu Incinerator 4760 4761 4763, Exarch 305579, Ghost 370 4196 4197 4196 4198 309114 418911 418918 418922 418923, Exorcist 272330, Corrupted Angel 106711, WingedAssasin 304307
  99.             SnoMapping.Add(ActorSnoEnum._x1_wraith_a, DangerRangeDecorator);
  100.             SnoMapping.Add(ActorSnoEnum._lacunifemale_a, DangerRangeDecorator);
  101.             SnoMapping.Add(ActorSnoEnum._lacunifemale_b, DangerRangeDecorator);
  102.             SnoMapping.Add(ActorSnoEnum._lacunifemale_c, DangerRangeDecorator);
  103.             SnoMapping.Add(ActorSnoEnum._x1_sniperangel_a, DangerRangeDecorator);
  104.             SnoMapping.Add(ActorSnoEnum._ghost_a, DangerRangeDecorator);
  105.             SnoMapping.Add(ActorSnoEnum._ghost_b, DangerRangeDecorator);
  106.             SnoMapping.Add(ActorSnoEnum._ghost_c, DangerRangeDecorator);
  107.             SnoMapping.Add(ActorSnoEnum._ghost_d, DangerRangeDecorator);
  108.             SnoMapping.Add(ActorSnoEnum._x1_ghost_dark_a, DangerRangeDecorator);
  109.             SnoMapping.Add(ActorSnoEnum._p1_lr_ghost_a, DangerRangeDecorator);
  110.             SnoMapping.Add(ActorSnoEnum._p1_lr_ghost_b, DangerRangeDecorator);
  111.             SnoMapping.Add(ActorSnoEnum._p1_lr_ghost_c, DangerRangeDecorator);
  112.             SnoMapping.Add(ActorSnoEnum._p1_lr_ghost_d, DangerRangeDecorator);
  113.             SnoMapping.Add(ActorSnoEnum._x1_floaterangel_a, DangerRangeDecorator);
  114.             SnoMapping.Add(ActorSnoEnum._angel_corrupt_a, DangerRangeDecorator);
  115.             SnoMapping.Add(ActorSnoEnum._x1_leaperangel_a, DangerRangeDecorator);
  116.             SnoMapping.Add(ActorSnoEnum._morluspellcaster_a, DangerRangeDecorator);
  117.             SnoMapping.Add(ActorSnoEnum._morluspellcaster_b, DangerRangeDecorator);
  118.             SnoMapping.Add(ActorSnoEnum._morluspellcaster_d, DangerRangeDecorator);
  119.             // Exhumed 6358, Uninterred 6360, Unburied 6356, Disentombed Hulk 6359
  120.             SnoMapping.Add(ActorSnoEnum._unburied_a, EjDecorator);
  121.             SnoMapping.Add(ActorSnoEnum._unburied_arm_gibs, EjDecorator);
  122.             SnoMapping.Add(ActorSnoEnum._unburied_b, EjDecorator);
  123.             SnoMapping.Add(ActorSnoEnum._unburied_c, EjDecorator);
  124.             // Sand Dweller sandMonster
  125.             // SnoMapping.Add(ActorSnoEnum._sandmonster_a, CoockieDecorator);
  126.             // SnoMapping.Add(ActorSnoEnum._sandmonster_b, CoockieDecorator);
  127.             // SnoMapping.Add(ActorSnoEnum._sandmonster_c, CoockieDecorator);
  128.             // SnoMapping.Add(ActorSnoEnum._sandmonster_d, CoockieDecorator);
  129.             // Succubus 5508 152679 219673
  130.             SnoMapping.Add(ActorSnoEnum._succubus_a, SuccubDecorator);
  131.             SnoMapping.Add(ActorSnoEnum._succubus_b, SuccubDecorator);
  132.             SnoMapping.Add(ActorSnoEnum._succubus_c, SuccubDecorator);
  133.             // Betrayed 4104, Accursed 4105, Reviled 4106
  134.             SnoMapping.Add(ActorSnoEnum._fastmummy_a, UnijenDecorator);
  135.             SnoMapping.Add(ActorSnoEnum._fastmummy_b, UnijenDecorator);
  136.             SnoMapping.Add(ActorSnoEnum._fastmummy_c, UnijenDecorator);
  137.             // Fallen Conjurer 4099, Fallen Firemage 365, Fallen Prophet 4100, Fallen Shaman 4098
  138.             SnoMapping.Add(ActorSnoEnum._fallenshaman_d, ShamanDecorator);
  139.             SnoMapping.Add(ActorSnoEnum._fallenshaman_a, ShamanDecorator);
  140.             SnoMapping.Add(ActorSnoEnum._fallenshaman_b, ShamanDecorator);
  141.             SnoMapping.Add(ActorSnoEnum._fallenshaman_c, ShamanDecorator);
  142.             // Stinging Swarm 5512, Vile Swarm 5513, Plague Swarm 5514, Death Swarm 5515
  143.             SnoMapping.Add(ActorSnoEnum._swarm_a, SwarmDecorator);
  144.             SnoMapping.Add(ActorSnoEnum._swarm_b, SwarmDecorator);
  145.             SnoMapping.Add(ActorSnoEnum._swarm_c, SwarmDecorator);
  146.             SnoMapping.Add(ActorSnoEnum._swarm_d, SwarmDecorator);
  147.             // Tusked Bogan
  148.             SnoMapping.Add(ActorSnoEnum._x1_bogfamily_brute_a, BoganDecorator);
  149.             // Death Maiden
  150.             SnoMapping.Add(ActorSnoEnum._x1_lr_deathmaiden_a, MaidenDecorator);
  151.             // Unholy Thrall
  152.             SnoMapping.Add(ActorSnoEnum._triunevesselactivated_a, ThrallDecorator);
  153.             // Morlu Legion 4755 4757 4758
  154.             SnoMapping.Add(ActorSnoEnum._morlumelee_a, LegionerDecorator);
  155.             SnoMapping.Add(ActorSnoEnum._morlumelee_b, LegionerDecorator);
  156.             SnoMapping.Add(ActorSnoEnum._morlumelee_c, LegionerDecorator);
  157.             // Dark Vessel 6046, Dark Great Vessel 6047, Corrupt Vessel 6048
  158.             SnoMapping.Add(ActorSnoEnum._triunevessel_a, BabkaDecorator);
  159.             SnoMapping.Add(ActorSnoEnum._triunevessel_b, BabkaDecorator);
  160.             SnoMapping.Add(ActorSnoEnum._triunevessel_c, BabkaDecorator);
  161.             // Blood Clan Sorcerer 4303, Blood Clan Occultist 4304
  162.             SnoMapping.Add(ActorSnoEnum._goatmutant_shaman_a, CarrotDecorator);
  163.             SnoMapping.Add(ActorSnoEnum._goatmutant_shaman_b, CarrotDecorator);
  164.             // Enslaved Nightmare
  165.             SnoMapping.Add(ActorSnoEnum._hoodednightmare_a, NightmareDecorator);
  166.             // Bogan Trapper
  167.             SnoMapping.Add(ActorSnoEnum._x1_bogfamily_ranged_a, TrapperDecorator);
  168.             // Maggot Brood
  169.             SnoMapping.Add(ActorSnoEnum._p1_lr_bogblight_a, MaggotDecorator);
  170.             SnoMapping.Add(ActorSnoEnum._x1_bogblight_a, MaggotDecorator);
  171.             // Dark Berserker 6052, Pain Monger 6053, Vicious Mangler 6054, Hell Basher 6055
  172.             SnoMapping.Add(ActorSnoEnum._triune_berserker_a, BersDecorator);
  173.             SnoMapping.Add(ActorSnoEnum._triune_berserker_b, BersDecorator);
  174.             SnoMapping.Add(ActorSnoEnum._triune_berserker_c, BersDecorator);
  175.             SnoMapping.Add(ActorSnoEnum._triune_berserker_d, BersDecorator);
  176.             // Dark Hellion, Vicious Hellion, Accursed Hellion, Frenzied Hellion
  177.             SnoMapping.Add(ActorSnoEnum._triune_summonable_a, HellionDecorator);
  178.             // Foul Conjurer
  179.             SnoMapping.Add(ActorSnoEnum._triunesummoner_c, SummonerDecorator);
  180.             // Crazed Cultist
  181.             SnoMapping.Add(ActorSnoEnum._triunecultist_d, CultistDecorator);
  182.             // Mallet Lord
  183.             SnoMapping.Add(ActorSnoEnum._malletdemon_a, MalletDecorator);
  184.             // WyattCheng
  185.             SnoMapping.Add(ActorSnoEnum._x1_skeleton_westmarch_ghost_a_x1tmu_45, WyattChengDecorator);
  186.             // Deathspitter, Retching Cadaver, Spewing Horror, Dust Retcher
  187.             SnoMapping.Add(ActorSnoEnum._zombiefemale_a, CadaverDecorator);
  188.             SnoMapping.Add(ActorSnoEnum._zombiefemale_b, CadaverDecorator);
  189.             SnoMapping.Add(ActorSnoEnum._zombiefemale_c, CadaverDecorator);
  190.             SnoMapping.Add(ActorSnoEnum._zombiefemale_d, CadaverDecorator);
  191.             SnoMapping.Add(ActorSnoEnum._zombiefemale_spitter_unique_a, CadaverDecorator);
  192.             // Sand Dervish, Dune Dervish, Vicious Magewrath + Uniques
  193.             SnoMapping2.Add(ActorSnoEnum._dunedervish_a, DervishDecorator);
  194.             SnoMapping2.Add(ActorSnoEnum._dunedervish_b, DervishDecorator);
  195.             SnoMapping2.Add(ActorSnoEnum._dunedervish_c, DervishDecorator);
  196.             SnoMapping2.Add(ActorSnoEnum._dunedervish_a_dervishtwister_unique, DervishDecorator);
  197.             SnoMapping2.Add(ActorSnoEnum._dunedervish_a_dyingmanmine, DervishDecorator);
  198.             SnoMapping2.Add(ActorSnoEnum._dunedervish_a_unique_01, DervishDecorator);
  199.             SnoMapping2.Add(ActorSnoEnum._dunedervish_b_unique_01, DervishDecorator);
  200.             SnoMapping2.Add(ActorSnoEnum._dunedervish_b_unique_uber, DervishDecorator);
  201.             // Sand Dweller sandMonster
  202.             SnoMapping2.Add(ActorSnoEnum._sandmonster_a, DervishDecorator);
  203.             SnoMapping2.Add(ActorSnoEnum._sandmonster_b, DervishDecorator);
  204.             SnoMapping2.Add(ActorSnoEnum._sandmonster_c, DervishDecorator);
  205.             SnoMapping2.Add(ActorSnoEnum._sandmonster_d, DervishDecorator);
  206.             SnoMapping2.Add(ActorSnoEnum._p1_lr_sandmonster_a, DervishDecorator);
  207.             SnoMapping2.Add(ActorSnoEnum._sandmonster_a_eternal_guardian_zoltboss, DervishDecorator);
  208.             SnoMapping2.Add(ActorSnoEnum._sandmonster_a_fastwakeup, DervishDecorator);
  209.             SnoMapping2.Add(ActorSnoEnum._sandmonster_a_gauntlet, DervishDecorator);
  210.             SnoMapping2.Add(ActorSnoEnum._sandmonster_a_head_guardian, DervishDecorator);
  211.             SnoMapping2.Add(ActorSnoEnum._sandmonster_a_portalroulette, DervishDecorator);
  212.             SnoMapping2.Add(ActorSnoEnum._sandmonster_b_unique_01, DervishDecorator);
  213.             SnoMapping2.Add(ActorSnoEnum._sandmonster_c_unique_01, DervishDecorator);
  214.             SnoMapping2.Add(ActorSnoEnum._sandmonster_ideation_pandext, DervishDecorator);
  215.         }
  216.  
  217.         //Circle, Cross, Door, Plus, Rectangle, Rotating Rectangle, Triangle, and Well
  218.         public override void Load(IController hud)
  219.         {
  220.             base.Load(hud);
  221.  
  222.             var shadowBrush = Hud.Render.CreateBrush(96, 0, 0, 0, 1);
  223.             Decorator0 = new WorldDecoratorCollection(
  224.                 new MapShapeDecorator(Hud)
  225.                 {
  226.                 }
  227.             );
  228.             Decorator1 = new WorldDecoratorCollection(
  229.                 new MapShapeDecorator(Hud)
  230.                 {
  231.                     Brush = Hud.Render.CreateBrush(128, 200, 200, 200, 0),
  232.                     ShadowBrush = shadowBrush,
  233.                     ShapePainter = new CircleShapePainter(Hud),
  234.                     Radius = 2,
  235.                 }
  236.             );
  237.             Decorator2 = new WorldDecoratorCollection(
  238.                 new MapShapeDecorator(Hud)
  239.                 {
  240.                     Brush = Hud.Render.CreateBrush(180, 0, 200, 0, 0),
  241.                     ShadowBrush = shadowBrush,
  242.                     ShapePainter = new CircleShapePainter(Hud),
  243.                     Radius = 4,
  244.                 }
  245.             );
  246.             Decorator3 = new WorldDecoratorCollection(
  247.                 new MapShapeDecorator(Hud)
  248.                 {
  249.                     Brush = Hud.Render.CreateBrush(180, 0, 125, 0, 0),
  250.                     ShadowBrush = shadowBrush,
  251.                     ShapePainter = new CircleShapePainter(Hud),
  252.                     Radius = 5,
  253.                 }
  254.             );
  255.             Decorator4 = new WorldDecoratorCollection(
  256.                 new MapShapeDecorator(Hud)
  257.                 {
  258.                     Brush = Hud.Render.CreateBrush(180, 0, 200, 0, 0),
  259.                     ShadowBrush = shadowBrush,
  260.                     ShapePainter = new CircleShapePainter(Hud),
  261.                     Radius = 6,
  262.                 },
  263.                 new MapShapeDecorator(Hud)
  264.                 {
  265.                     Brush = Hud.Render.CreateBrush(180, 0, 55, 0, 2),
  266.                     ShadowBrush = shadowBrush,
  267.                     ShapePainter = new CircleShapePainter(Hud),
  268.                     Radius = 6,
  269.                 }
  270.             );
  271.             Decorator5 = new WorldDecoratorCollection(
  272.                 new MapShapeDecorator(Hud)
  273.                 {
  274.                     Brush = Hud.Render.CreateBrush(180, 0, 125, 0, 0),
  275.                     ShadowBrush = shadowBrush,
  276.                     ShapePainter = new CircleShapePainter(Hud),
  277.                     Radius = 7,
  278.                 },
  279.                 new MapShapeDecorator(Hud)
  280.                 {
  281.                     Brush = Hud.Render.CreateBrush(180, 0, 55, 0, 2),
  282.                     ShadowBrush = shadowBrush,
  283.                     ShapePainter = new CircleShapePainter(Hud),
  284.                     Radius = 7,
  285.                 }
  286.             );
  287.  
  288.             BullsChargersDecorator = new WorldDecoratorCollection(
  289.                 new MapShapeDecorator(Hud)
  290.                 {
  291.                     Brush = Hud.Render.CreateBrush(255, 255, 0, 0, 2.4f),
  292.                     Radius = 6,
  293.                     ShapePainter = new TriangleShapePainter(Hud),
  294.                 }
  295.             );
  296.  
  297.             UnpulledDecorator = new WorldDecoratorCollection(
  298.                 new MapShapeDecorator(Hud)
  299.                 {
  300.                     Brush = Hud.Render.CreateBrush(255, 0, 0, 255, 0),
  301.                     Radius = 5,
  302.                     ShapePainter = new RectangleShapePainter(Hud),
  303.                 }
  304.             );
  305.  
  306.             LickerDecorator = new WorldDecoratorCollection(
  307.                 new MapShapeDecorator(Hud)
  308.                 {
  309.                     Brush = Hud.Render.CreateBrush(255, 255, 140, 20, 2.3f),
  310.                     Radius = 2,
  311.                     ShapePainter = new CircleShapePainter(Hud),
  312.                 }
  313.             );
  314.  
  315.             FallenDecorator = new WorldDecoratorCollection(
  316.                 new MapShapeDecorator(Hud)
  317.                 {
  318.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 255, 3),
  319.                     Radius = 2.5f,
  320.                     ShapePainter = new CircleShapePainter(Hud),
  321.                 }
  322.             );
  323.  
  324.             GrotesqueDecorator = new WorldDecoratorCollection(
  325.                 new MapShapeDecorator(Hud)
  326.                 {
  327.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 255, 2),
  328.                     Radius = 3.5f,
  329.                     ShapePainter = new CircleShapePainter(Hud),
  330.                 }
  331.             );
  332.  
  333.             SkeletonSummonerDecorator = new WorldDecoratorCollection(
  334.                 new MapShapeDecorator(Hud)
  335.                 {
  336.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 0, 2),
  337.                     Radius = 3,
  338.                     ShapePainter = new CircleShapePainter(Hud),
  339.                 }
  340.             );
  341.  
  342.             DangerRangeDecorator = new WorldDecoratorCollection(
  343.                 new MapShapeDecorator(Hud)
  344.                 {
  345.                     Brush = Hud.Render.CreateBrush(255, 255, 0, 0, 2),
  346.                     Radius = 3,
  347.                     ShapePainter = new CircleShapePainter(Hud),
  348.                 }
  349.             );
  350.  
  351.             EjDecorator = new WorldDecoratorCollection(
  352.                 new MapShapeDecorator(Hud)
  353.                 {
  354.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 255, 2.4f),
  355.                     Radius = 6,
  356.                     ShapePainter = new TriangleShapePainter(Hud),
  357.                 }
  358.             );
  359.  
  360.             CoockieDecorator = new WorldDecoratorCollection(
  361.                 new MapShapeDecorator(Hud)
  362.                 {
  363.                     Brush = Hud.Render.CreateBrush(255, 0, 0, 255, 2.4f),
  364.                     Radius = 6,
  365.                     ShapePainter = new TriangleShapePainter(Hud),
  366.                 }
  367.             );
  368.  
  369.             SmolderingDecorator = new WorldDecoratorCollection(
  370.                 new MapShapeDecorator(Hud)
  371.                 {
  372.                     Brush = Hud.Render.CreateBrush(255, 255, 0, 0, 2),
  373.                     Radius = 7,
  374.                     ShapePainter = new CrossShapePainter(Hud),
  375.                 }
  376.             );
  377.  
  378.             SuccubDecorator = new WorldDecoratorCollection(
  379.                 new MapShapeDecorator(Hud)
  380.                 {
  381.                     Brush = Hud.Render.CreateBrush(255, 255, 140, 20, 2),
  382.                     Radius = 7,
  383.                     ShapePainter = new CrossShapePainter(Hud),
  384.                 }
  385.             );
  386.  
  387.             UnijenDecorator = new WorldDecoratorCollection(
  388.                 new MapShapeDecorator(Hud)
  389.                 {
  390.                     Brush = Hud.Render.CreateBrush(255, 255, 0, 0, 1),
  391.                     Radius = 1,
  392.                     ShapePainter = new CircleShapePainter(Hud),
  393.                 }
  394.             );
  395.  
  396.             ShamanDecorator = new WorldDecoratorCollection(
  397.                 new MapShapeDecorator(Hud)
  398.                 {
  399.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 0, 2),
  400.                     Radius = 7,
  401.                     ShapePainter = new CrossShapePainter(Hud),
  402.                 }
  403.             );
  404.  
  405.             SwarmDecorator = new WorldDecoratorCollection(
  406.                 new MapShapeDecorator(Hud)
  407.                 {
  408.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 0, 2.4f),
  409.                     Radius = 6,
  410.                     ShapePainter = new TriangleShapePainter(Hud),
  411.                 }
  412.             );
  413.  
  414.             BoganDecorator = new WorldDecoratorCollection(
  415.                 new MapShapeDecorator(Hud)
  416.                 {
  417.                     Brush = Hud.Render.CreateBrush(255, 40, 125, 40, 2.4f),
  418.                     Radius = 6,
  419.                     ShapePainter = new TriangleShapePainter(Hud),
  420.                 }
  421.             );
  422.  
  423.             MaidenDecorator = new WorldDecoratorCollection(
  424.                 new MapShapeDecorator(Hud)
  425.                 {
  426.                     Brush = Hud.Render.CreateBrush(255, 255, 100, 255, 2.4f),
  427.                     Radius = 6,
  428.                     ShapePainter = new TriangleShapePainter(Hud),
  429.                 }
  430.             );
  431.  
  432.             ThrallDecorator = new WorldDecoratorCollection(
  433.                 new MapShapeDecorator(Hud)
  434.                 {
  435.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 255, 2),
  436.                     Radius = 3.5f,
  437.                     ShapePainter = new CircleShapePainter(Hud),
  438.                 }
  439.             );
  440.  
  441.             LegionerDecorator = new WorldDecoratorCollection(
  442.                 new MapShapeDecorator(Hud)
  443.                 {
  444.                     Brush = Hud.Render.CreateBrush(255, 255, 140, 20, 1),
  445.                     Radius = 1,
  446.                     ShapePainter = new CircleShapePainter(Hud),
  447.                 }
  448.             );
  449.  
  450.             BabkaDecorator = new WorldDecoratorCollection(
  451.                 new MapShapeDecorator(Hud)
  452.                 {
  453.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 255, 1),
  454.                     Radius = 1,
  455.                     ShapePainter = new CircleShapePainter(Hud),
  456.                 }
  457.             );
  458.  
  459.             CarrotDecorator = new WorldDecoratorCollection(
  460.                 new MapShapeDecorator(Hud)
  461.                 {
  462.                     Brush = Hud.Render.CreateBrush(255, 0, 255, 255, 2),
  463.                     Radius = 7,
  464.                     ShapePainter = new CrossShapePainter(Hud),
  465.                 }
  466.             );
  467.  
  468.             NightmareDecorator = new WorldDecoratorCollection(
  469.                 new MapShapeDecorator(Hud)
  470.                 {
  471.                     Brush = Hud.Render.CreateBrush(255, 255, 100, 255, 2),
  472.                     Radius = 7,
  473.                     ShapePainter = new CrossShapePainter(Hud),
  474.                 }
  475.             );
  476.  
  477.             TrapperDecorator = new WorldDecoratorCollection(
  478.                 new MapShapeDecorator(Hud)
  479.                 {
  480.                     Brush = Hud.Render.CreateBrush(255, 40, 125, 40, 2),
  481.                     Radius = 7,
  482.                     ShapePainter = new CrossShapePainter(Hud),
  483.                 }
  484.             );
  485.  
  486.             MaggotDecorator = new WorldDecoratorCollection(
  487.                 new MapShapeDecorator(Hud)
  488.                 {
  489.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 0, 2.4f),
  490.                     Radius = 6,
  491.                     ShapePainter = new TriangleShapePainter(Hud),
  492.                 }
  493.             );
  494.  
  495.             BersDecorator = new WorldDecoratorCollection(
  496.                 new MapShapeDecorator(Hud)
  497.                 {
  498.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 0, 2),
  499.                     Radius = 7,
  500.                     ShapePainter = new CrossShapePainter(Hud),
  501.                 }
  502.             );
  503.  
  504.             HellionDecorator = new WorldDecoratorCollection(
  505.                 new MapShapeDecorator(Hud)
  506.                 {
  507.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 0, 2),
  508.                     Radius = 2,
  509.                     ShapePainter = new CircleShapePainter(Hud),
  510.                 }
  511.             );
  512.  
  513.             SummonerDecorator = new WorldDecoratorCollection(
  514.                 new MapShapeDecorator(Hud)
  515.                 {
  516.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 0, 2),
  517.                     Radius = 3,
  518.                     ShapePainter = new CircleShapePainter(Hud),
  519.                 }
  520.             );
  521.  
  522.             CultistDecorator = new WorldDecoratorCollection(
  523.                 new MapShapeDecorator(Hud)
  524.                 {
  525.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 0, 1),
  526.                     Radius = 1,
  527.                     ShapePainter = new CircleShapePainter(Hud),
  528.                 }
  529.             );
  530.  
  531.             MalletDecorator = new WorldDecoratorCollection(
  532.                 new MapShapeDecorator(Hud)
  533.                 {
  534.                     Brush = Hud.Render.CreateBrush(255, 0, 0, 255, 2),
  535.                     Radius = 7,
  536.                     ShapePainter = new CrossShapePainter(Hud),
  537.                 }
  538.             );
  539.  
  540.             DervishDecorator = new WorldDecoratorCollection(
  541.                 new MapShapeDecorator(Hud)
  542.                 {
  543.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 255, 2),
  544.                     Radius = 7,
  545.                     ShapePainter = new CrossShapePainter(Hud),
  546.                 }
  547.             );
  548.  
  549.             WyattChengDecorator = new WorldDecoratorCollection(
  550.                 new MapShapeDecorator(Hud)
  551.                 {
  552.                     Brush = Hud.Render.CreateBrush(255, 255, 255, 255, 2.4f),
  553.                     Radius = 6,
  554.                     ShapePainter = new TriangleShapePainter(Hud),
  555.                 }
  556.             );
  557.  
  558.             CadaverDecorator = new WorldDecoratorCollection(
  559.                 new MapShapeDecorator(Hud)
  560.                 {
  561.                     Brush = Hud.Render.CreateBrush(255, 100, 250, 0, 2),
  562.                     Radius = 3,
  563.                     ShapePainter = new CircleShapePainter(Hud),
  564.                 }
  565.             );
  566.         }
  567.  
  568.         public WorldDecoratorCollection GetDecoratorByProgression(float progression)
  569.         {
  570.             if (progression <= 1.0) return Decorator1;
  571.             if (progression <= 2.0) return Decorator2;
  572.             if (progression <= 3.0) return Decorator3;
  573.             if (progression <= 4.0) return Decorator4;
  574.             return Decorator0; // in theory there is no monster with >10 progression
  575.         }
  576.  
  577.         public void PaintWorld(WorldLayer layer)
  578.         {
  579.             if (layer != WorldLayer.Map) return;
  580.  
  581.             var monsters = Hud.Game.AliveMonsters.Where(x => !x.IsElite);
  582.             foreach (var monster in monsters)
  583.             {
  584.                 var decorator = GetDecoratorByProgression(monster.SnoMonster.RiftProgression);
  585.                 decorator.Paint(layer, monster, monster.FloorCoordinate, monster.SnoMonster.NameLocalized);
  586.             }
  587.  
  588.             var Set = Hud.Game.AliveMonsters.Where(x => !x.IsElite && SnoMapping.ContainsKey(x.SnoActor.Sno));
  589.             foreach (var actor in Set) { SnoMapping[actor.SnoActor.Sno].Paint(layer, actor, actor.FloorCoordinate, string.Empty); }
  590.  
  591.             var Drvsh = Hud.Game.AliveMonsters.Where(x => SnoMapping2.ContainsKey(x.SnoActor.Sno));
  592.             foreach (var actor in Drvsh) { SnoMapping2[actor.SnoActor.Sno].Paint(layer, actor, actor.FloorCoordinate, string.Empty); }
  593.         }
  594.     }
  595. }
Advertisement
Add Comment
Please, Sign In to add comment