Necro Command Skeletons menu

User Tag List

Results 1 to 4 of 4
  1. #1
    inferno21317's Avatar Member
    Reputation
    1
    Join Date
    Mar 2017
    Posts
    1
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Necro Command Skeletons

    It is possible to display command skeletons for all classes.
    For example, in the bossfight with the thones necro boss killer, the other classes also see the circles of the Command Skeletons and not just the necro itself?

    Necro Command Skeletons
  2. #2
    owen654321's Avatar Member
    Reputation
    9
    Join Date
    Mar 2017
    Posts
    39
    Thanks G/R
    4/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by inferno21317 View Post
    It is possible to display command skeletons for all classes.
    For example, in the bossfight with the thones necro boss killer, the other classes also see the circles of the Command Skeletons and not just the necro itself?
    In theory there should be nothing preventing this technically. I don't know that anyone has found the correct attribute to do so yet, though.

  3. #3
    iThinkiWin's Avatar Active Member
    Reputation
    28
    Join Date
    Oct 2018
    Posts
    104
    Thanks G/R
    25/25
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    473147, //No Rune
    473428, //Enforcer Rune
    473426, //Frenzy Rune
    473420, //Dark Mending Rune
    473417, //Freezing Grasps Rune
    473418, //Kill Command Rune

    instead of Hud.Game.Me it would be using Hud.Game.Actors that contain those ^
    Last edited by iThinkiWin; 12-13-2018 at 02:04 AM.

  4. #4
    hkjhkh's Avatar Member
    Reputation
    9
    Join Date
    Mar 2018
    Posts
    82
    Thanks G/R
    0/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    should display all skellet on boss only.

    Code:
    namespace Turbo.Plugins.User
    {
        using Turbo.Plugins.Default;
        using System.Linq;
        using System.Text;
        using System.Collections.Generic;
    
        public class NecromancerSkeletonIndicatorPlugin : BasePlugin, IInGameWorldPainter, IInGameTopPainter
        {
            public WorldDecoratorCollection CommandSkeletonDecorator, SkeletonMageDecorator;
            public TopLabelDecorator CommandSkeletonCountLabel, SkeletonMageCountLabel, CombinedSkeletonCountLabel;
            public string CommandSkeletonLabel, SkeletonMageLabel;
            public int CommandSkeletonCount, SkeletonMageCount;
            public float barW, barH, barX, barY, cmb_barW, cmb_barH, cmb_barX, cmb_barY;
            public bool CommandSkeletonEnabled, SkeletonMageEnabled, CombinedCountEnabled;
    
            private static uint CommandSkeletonSkillSNO = 453801;
            public HashSet<uint> CommandSkeletonActorSNOs = new HashSet<uint>
            {
                473147, // CommandSkeleton - No Rune
                473428, // CommandSkeleton - Enforcer
                473426, // CommandSkeleton - Frenzy
                473420, // CommandSkeleton - Dark Mending
                473417, // CommandSkeleton - Freezing Grasp
                473418  // CommandSkeleton - Kill Command
            };
    
            private static uint SkeletonMageSkillSNO = 462089;
            public HashSet<uint> SkeletonMageActorSNOs = new HashSet<uint>
            {
                472275, // Skeleton Mage - No Rune
                472588, // Skeleton Mage - Gift of Death
                472769, // Skeleton Mage - Contamination
                472801, // Skeleton Mage - Archer
                472606, // Skeleton Mage - Singularity
                472715  // Skeleton Mage - Life Support
            };
    
    
            public NecromancerSkeletonIndicatorPlugin()
            {
                Enabled = true;
    
                // Modify this to make the count combined
                CombinedCountEnabled = false;
    
                // Enable both indicator or disable the indicator a specific skill
                CommandSkeletonEnabled = true;
                SkeletonMageEnabled = true;
    
                // Inits variables
                CommandSkeletonCount = 0;
                SkeletonMageCount = 0;
                CommandSkeletonLabel = "";
                SkeletonMageLabel = "";
            }
    
            public override void Load(IController hud)
            {
                base.Load(hud);
    
                // Unlike the old XML system where it draws x,y,w,h in terms of percentage of screen size, the new plugin uses actual pixel coordinates
                // To convert x,y,w,h sizes from the XML system to the new plugin system, multiply the screensize with percentage. ie. XML size of 2 => 0.02f * screensize
    
                // Display coordinated for non-combined indicators
                barW = Hud.Window.Size.Width * 0.013f;
                barH = Hud.Window.Size.Height * 0.0177f;
                barX = Hud.Window.Size.Width * 0.475f;
                barY = Hud.Window.Size.Height * 0.36f;
    
                // Display coordinated for combined indicators
                cmb_barW = Hud.Window.Size.Width * 0.0175f;
                cmb_barH = Hud.Window.Size.Height * 0.0175f;
                cmb_barX = (Hud.Window.Size.Width * 0.5f) - (cmb_barW * 0.5f);
                cmb_barY = Hud.Window.Size.Height * 0.33f;
    
                // Decorator under each sekeleton melee
                CommandSkeletonDecorator = new WorldDecoratorCollection(
                    new GroundCircleDecorator(Hud)
                    {
                        Brush = Hud.Render.CreateBrush(240, 50, 200, 0, 1),
                        Radius = 0.5f,
                    },
                    new GroundLabelDecorator(Hud)
                    {
                        BackgroundBrush = Hud.Render.CreateBrush(220, 200, 200, 0, 0),
                        TextFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, true, false, false)
                    },
                    new MapShapeDecorator(Hud)
                    {
                        ShapePainter = new RotatingTriangleShapePainter(Hud),
                        Brush = Hud.Render.CreateBrush(220, 200, 200, 0, 0),
                        Radius = 0f,
                        RadiusTransformator = new StandardPingRadiusTransformator(Hud, 250)
                    }
                );
    
                // Decorator under each sekeleton mages
                SkeletonMageDecorator = new WorldDecoratorCollection(
                    new GroundCircleDecorator(Hud)
                    {
                        Brush = Hud.Render.CreateBrush(240, 200, 50, 0, 1),
                        Radius = 0.5f,
                    },
                    new GroundLabelDecorator(Hud)
                    {
                        BackgroundBrush = Hud.Render.CreateBrush(220, 200, 200, 0, 0),
                        TextFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, true, false, false)
                    },
                    new MapShapeDecorator(Hud)
                    {
                        ShapePainter = new RotatingTriangleShapePainter(Hud),
                        Brush = Hud.Render.CreateBrush(220, 200, 200, 0, 0),
                        Radius = 0f,
                        RadiusTransformator = new StandardPingRadiusTransformator(Hud, 250)
                    }
                );
    
                // Label Decorator for non-combined indicator
                CommandSkeletonCountLabel = new TopLabelDecorator(Hud)
                {
                    TextFont = Hud.Render.CreateFont("tahoma", 8, 255, 255, 240, 0, false, false, false),
                    BackgroundTexture1 = Hud.Texture.Button2TextureBrown,
                    BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange,
                    BackgroundTextureOpacity2 = 0.25f
                };
                SkeletonMageCountLabel = new TopLabelDecorator(Hud)
                {
                    TextFont = Hud.Render.CreateFont("tahoma", 8, 255, 255, 240, 0, false, false, false),
                    BackgroundTexture1 = Hud.Texture.Button2TextureBrown,
                    BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange,
                    BackgroundTextureOpacity2 = 0.25f
                };
    
                // Label Decorator for combined indicator
                CombinedSkeletonCountLabel = new TopLabelDecorator(Hud)
                {
                    TextFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 240, 0, false, false, false),
                    BackgroundTexture1 = Hud.Texture.Button2TextureBrown,
                    BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange,
                    BackgroundTextureOpacity2 = 0.25f
                };
            }
    
            public void PaintWorld(WorldLayer layer)
            {
                // Don't draw if not playing a Necromancer; don't draw if is in town
                //if (Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Necromancer || Hud.Game.IsInTown) return;
    			var monsters = Hud.Game.AliveMonsters.Where(x => x.SnoMonster.Priority == MonsterPriority.boss);
    			foreach (var monster in monsters)
    		{
                // For Skeleton Melee, only when equipping the skill
                if (CommandSkeletonEnabled != null)
                {
                    // Iterate all the game actors, find out and count which are skeleton melees summoned by player
                    var CommandSkeletonActors = Hud.Game.Actors.Where(EachActor => CommandSkeletonActorSNOs.Contains(EachActor.SnoActor.Sno)); //&& // Find out which are skeleton melees actors
                                                //EachActor.SummonerAcdDynamicId == Hud.Game.Me.SummonerId); // Then find out if they are summoned by the player
                    CommandSkeletonCount = CommandSkeletonActors.Count(); // And then count how many are found
    
                    // Paint circle decorator under each skeleton melee 
                    foreach (var EachActor in CommandSkeletonActors)
                    {
                        var text = string.IsNullOrWhiteSpace(CommandSkeletonLabel) ? EachActor.SnoActor.NameLocalized : CommandSkeletonLabel;
                        CommandSkeletonDecorator.Paint(layer, EachActor, EachActor.FloorCoordinate, text);
                    }
                }
                else
                {
                    CommandSkeletonCount = 0;
                }
            }
    			foreach (var monster in monsters)
    		{
                // For Skeleton Mages, only when equipping the skill
                if (SkeletonMageEnabled != null)
                {
                    // Iterate all the game actors, find out and count which are skeleton mages summoned by player
                    var SkeletonMageActors = Hud.Game.Actors.Where(EachActor => SkeletonMageActorSNOs.Contains(EachActor.SnoActor.Sno)); //&& // Find out which are skeleton mages actors
                                             //EachActor.SummonerAcdDynamicId == Hud.Game.Me.SummonerId); // Then find out if they are summoned by the player
                    SkeletonMageCount = SkeletonMageActors.Count(); // And then count how many are found
    
                    // Paint circle decorator under each skeleton melee
                    foreach (var EachActor in SkeletonMageActors)
                    {
                        var text = string.IsNullOrWhiteSpace(SkeletonMageLabel) ? EachActor.SnoActor.NameLocalized : SkeletonMageLabel;
                        SkeletonMageDecorator.Paint(layer, EachActor, EachActor.FloorCoordinate, text);
                    }
                }
    			
                else
                {
                    SkeletonMageCount = 0;
                }
            }
    		}
    
            public void PaintTopInGame(ClipState clipState)
            {
    					 
    			
    			// Don't draw if not playing a Necromancer; don't draw if is in town
                //if (Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Necromancer || Hud.Game.IsInTown) return;
                if (clipState != ClipState.BeforeClip) return;
    
    			
                if (CombinedCountEnabled)
                {               
    				
    				// Drawing for combined count indicator
                    string CommandSkeletonCountText = (CommandSkeletonEnabled && CommandSkeletonCount != 0) ? CommandSkeletonCount.ToString() : "";
                    string SkeletonMageCountText = (SkeletonMageEnabled && SkeletonMageCount != 0) ? SkeletonMageCount.ToString() : "";
                    string ConcatText = (CommandSkeletonCountText != "" && SkeletonMageCountText != "") ? CommandSkeletonCountText + "+" + SkeletonMageCountText : CommandSkeletonCountText + SkeletonMageCountText;
    
                    if (ConcatText != "")
                    {
                        CombinedSkeletonCountLabel.TextFunc = () => ConcatText.ToString();
                        CombinedSkeletonCountLabel.Paint(cmb_barX, cmb_barY, cmb_barW, cmb_barH, HorizontalAlign.Center);
                    }				
    				
    			}
                else
                {
                    
    				// Drawing for non-combined count indicator
                    if (CommandSkeletonEnabled && CommandSkeletonCount != 0)
                    {
                        CommandSkeletonCountLabel.TextFunc = () => CommandSkeletonCount.ToString();
                        CommandSkeletonCountLabel.Paint(barX, barY, barW, barH, HorizontalAlign.Center);
                    }
    
                    if (SkeletonMageEnabled && SkeletonMageCount != 0)
                    {
                        SkeletonMageCountLabel.TextFunc = () => SkeletonMageCount.ToString();
                        SkeletonMageCountLabel.Paint(Hud.Window.Size.Width - barX - barW, barY, barW, barH, HorizontalAlign.Center);
                    }
    				
    			}
            }
        }
    }

Similar Threads

  1. [Request] Command Skeletons
    By cherouvim13 in forum TurboHUD Support
    Replies: 9
    Last Post: 09-28-2017, 04:50 PM
  2. Command Skeletons are active
    By FredDurst in forum TurboHUD Discussions
    Replies: 1
    Last Post: 09-19-2017, 10:43 PM
  3. [Question] Necro Skeleton Mage counter
    By SpellDoX in forum TurboHUD Support
    Replies: 3
    Last Post: 07-28-2017, 12:14 PM
  4. [Selling] 80 Mesmer Guardian Warrior Necro + Legendary + mini Legendarys + commander
    By Gibster76 in forum GW2 Buy Sell Trade
    Replies: 2
    Last Post: 04-19-2013, 09:22 AM
  5. [Guide] Command List
    By oninuva in forum World of Warcraft Guides
    Replies: 5
    Last Post: 05-17-2006, 08:28 PM
All times are GMT -5. The time now is 03:30 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search