-
Active Member
Originally Posted by
cherouvim13
Is it possible to simplify this great plugin for ppl less experienced with coding? (for example through TCT tool, or a default config file like Jack did with DangerousMonstersAffixes)
This is a MUST HAVE plugin specially when running high level GRs
If you put 30 minutes into understanding how the plugin works, anyone can configure it to their needs.
Step 1: you need to put this code into your PluginEnablerOrDisablerPlugin.cs
PHP Code:
Hud.RunOnPlugin<Gigi.PartyBuffPlugin>(plugin =>
{
ISnoPower[] onWiz = {
// <- insert whatever buffs you want to see on Wizards. Example: Hud.Sno.SnoPowers.OculusRing,
};
ISnoPower[] onMonk = {
// <- insert whatever buffs you want to see on Monks. Example: Hud.Sno.SnoPowers.FlyingDragon,
};
ISnoPower[] onWD = {
// <- insert whatever buffs you want to see on Witch Doctors. Example: Hud.Sno.SnoPowers.WitchDoctor_Passive_GruesomeFeast, Hud.Sno.SnoPowers.OculusRing,
};
ISnoPower[] onBarb = {
// <- insert whatever buffs you want to see on Barbarians.
};
ISnoPower[] onCrus = {
// <- insert whatever buffs you want to see on Crusaders.
};
ISnoPower[] onDH = {
// <- insert whatever buffs you want to see on Demon Hunters.
};
ISnoPower[] onAll = {
// <- insert whatever buffs you want to see on everyone (including you). Example: Hud.Sno.SnoPowers.Monk_MantraOfSalvation, Hud.Sno.SnoPowers.BaneOfTheStrickenPrimary,
};
ISnoPower[] onMe = {
// <- insert whatever buffs you want to see on yourself.
};
plugin.DisplayOnAll(onAll);
plugin.DisplayOnMe(onMe);
plugin.DisplayOnClassExceptMe(HeroClass.Wizard, onWiz);
plugin.DisplayOnClassExceptMe(HeroClass.Monk, onMonk);
plugin.DisplayOnClassExceptMe(HeroClass.Barbarian, onBarb);
plugin.DisplayOnClassExceptMe(HeroClass.WitchDoctor, onWD);
plugin.DisplayOnClassExceptMe(HeroClass.DemonHunter, onDH);
plugin.DisplayOnClassExceptMe(HeroClass.Crusader, onCrus);
});
Step 2: you open BuffRuleFactory.cs, and search for the buff you want. Example: if you look for Inner Sanctuary, you should find a line
Code:
if (pwr == Hud.Sno.SnoPowers.Monk_InnerSanctuary.Sno){
if this line has another line under it starting with
Code:
yield return new BuffRule(pwr) ...
, the buff is added to this plugin, and you can copy whatever is after pwr == in the first line you searched, up until the .Sno (Hud.Sno.SnoPowers.Monk_InnerSanctuary in this example) and paste it in the code from step 1, to wherever you want it displayed. NOTE: you must add a comma (",") after every buff.
However, if you don't find a line that starts with yield return new BuffRule(pwr) under the buff you searched for, the buff is not yet added to this plugin, therefore it will not be displayed, even if you add it to your config.
Last edited by Csavo; 03-28-2017 at 06:27 AM.
-
Post Thanks / Like - 2 Thanks
-
Savvy ? 🐒
Originally Posted by
cherouvim13
You are right Jack. (though there are some basic standards I believe, for example if you go with monk support you will surely need in party indication about inner sanctuary circle/timer, oculus circle, mantra's circle/timer etc.)
That's my point. there is no such standard.
How will you make the difference between chars ?
Many players go with multiple toons, how will you handle the switch between chars ?
If i swtich to my zbarb, i totally don't care about inner sanctuary, but with your example i'll get them..
I just scratched the surface of why gigi made a smart move by not giving any default config ;p
-
Member
Thanks for providing such a guide, time for some homework for me!
-
Active Member
Originally Posted by
cherouvim13
Is it possible to simplify this great plugin for ppl less experienced with coding? (for example through TCT tool, or a default config file like Jack did with DangerousMonstersAffixes)
You "cannot" simpifly this plugin any further - what you are asking for are specific default settings.This plugin won't provide those (nor will this thread). That is due to the simple fact that every time the meta or a build changes people will cry out for "an update" even though technically speaking nothing has changed in terms of what the actual plugin provides you with. I am not "tailoring" a confiugration for every user, for every meta.
Originally Posted by
cherouvim13
This is a MUST HAVE plugin specially when running high level GRs
It's only a "MUST HAVE" if you adhere to the premises I posted. If you don't agree with those - the plugin is not for you. Simple as that.
Last edited by d3gigi; 03-28-2017 at 12:32 PM.
I won't give any support (or answer requests) via private messaging. Ask your questions about a plugin within its thread!
-
Post Thanks / Like - 1 Thanks
cherouvim13 (1 members gave Thanks to d3gigi for this useful post)
-
Member
Thank you,
Can I ask for general clarifications?
-
Active Member
Yo, gigi, how do I use the Debug feature? I am so confused. I'm trying to define Harrington Waistguard power, but can't make it print it on screen. I have these 2 buffs enabled for All
PHP Code:
ISnoPower[] onAll =
Hud.Sno.SnoPowers.BaneOfTheStrickenPrimary,
Hud.Sno.SnoPowers.HarringtonWaistguard,
};
But I only see debug data for stricken, even tho its not even equipped on my character,
-
Active Member
Originally Posted by
Csavo
Yo, gigi, how do I use the Debug feature? I am so confused. I'm trying to define Harrington Waistguard power, but can't make it print it on screen. I have these 2 buffs enabled for All
PHP Code:
ISnoPower[] onAll =
Hud.Sno.SnoPowers.BaneOfTheStrickenPrimary,
Hud.Sno.SnoPowers.HarringtonWaistguard,
};
But I only see debug data for stricken, even tho its not even equipped on my character,
HUD is caching BuffData. I you were on a character that was wearing Stricken or if your Character was wearing Stricken in before - the debug will show Stricken. All Buffs that are active or were active atleast once in the same game or THUD session will be listed. The "active" Flag will show you if that specific Buff is active as of now. In that case, if you have stricken unequipped it would show as "False". That is intended behaviour. Just because you "unequipp" a SNOPower doesn't mean that your "character will be debuffed". The Buff gets deactivated - it's still there though.
Regarding HarringtonWaistguard: The Buff will only show if it was active atleast once (=received the buff itself on this character, in this game, within this thud session atleast one time). The Buff will be listed in debug mode afterwards - same way as stricken was listed for you.
I won't give any support (or answer requests) via private messaging. Ask your questions about a plugin within its thread!
-
Active Member
Originally Posted by
d3gigi
HUD is caching BuffData. I you were on a character that was wearing Stricken or if your Character was wearing Stricken in before - the debug will show Stricken. All Buffs that are active or were active atleast once in the same game or THUD session will be listed. The "active" Flag will show you if that specific Buff is active as of now. In that case, if you have stricken unequipped it would show as "False". That is intended behaviour. Just because you "unequipp" a SNOPower doesn't mean that your "character will be debuffed". The Buff gets deactivated - it's still there though.
Regarding HarringtonWaistguard: The Buff will only show if it was active atleast once (=received the buff itself on this character, in this game, within this thud session atleast one time). The Buff will be listed in debug mode afterwards - same way as stricken was listed for you.
Yes, its true, I did have to equip stricken to show it at first. But I added Hud.Sno.SnoPowers.HarringtonWaistguard, afterwards, restarted HUD, equipped the belt, went and activated the legendary power (by clicking on a chest obviously), and still didnt get anything printed beneath my char. So what do I do? Do I have to modify if (pwr == Hud.Sno.SnoPowers.HarringtonWaistguard.Sno){} in BuffRuleFactory?
Edit: So I did edit if (pwr == Hud.Sno.SnoPowers.HarringtonWaistguard.Sno){} to
PHP Code:
if (pwr == Hud.Sno.SnoPowers.HarringtonWaistguard.Sno){
yield return new BuffRule(pwr) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = false };
}
Whatever IconIndex I use, i get printed "318881 [1,0,0,0,0,0,0,0,0, ......... 0] True ItemPassive_Unique_Ring_685_x1"
True changes to False if i unequip the belt.
If the buff is active, the line changes to "318881 [1,1,0,0,0,0,0,0,0, ......... 0] True ItemPassive_Unique_Ring_685_x1"
Not sure how to proceed
Last edited by Csavo; 03-29-2017 at 06:17 AM.
-
Active Member
Originally Posted by
Csavo
Yes, its true, I did have to equip stricken to show it at first. But I added Hud.Sno.SnoPowers.HarringtonWaistguard, afterwards, restarted HUD, equipped the belt, went and activated the legendary power (by clicking on a chest obviously), and still didnt get anything printed beneath my char. So what do I do? Do I have to modify if (pwr == Hud.Sno.SnoPowers.HarringtonWaistguard.Sno){} in BuffRuleFactory?
Oh yes - ofcourse you have to add atleast ONE rule for the Item you want to check within the BuffRuleFactory! Else nothing will show. You should always pick the default rule that is true if an item effect is equipped:
PHP Code:
if (pwr == Hud.Sno.SnoPowers.HarringtonWaistguard.Sno){
yield return new BuffRule(pwr) { IconIndex = 0, MinimumIconCount = 1, ShowTimeLeft = false, ShowStacks = false, UseLegendaryItemTexture = Hud.Inventory.GetSnoItem(Hud.Sno.SnoItems.Unique_Gem_019_x1.Sno)};
}
In this case if you equipp Harrington and if the SNO is correct - you'll get a visualization (Multilation Guard will pop up as a buff if you are wearing the item). Afterwards you can do exactly what you did - test the buff.
Originally Posted by
Csavo
Whatever IconIndex I use, i get printed "318881 [1,0,0,0,0,0,0,0,0, ......... 0] True ItemPassive_Unique_Ring_685_x1"
True changes to False if i unequip the belt.
If the buff is active, the line changes to "318881 [1,1,0,0,0,0,0,0,0, ......... 0] True ItemPassive_Unique_Ring_685_x1"
Congratulations - you just tested your first own BuffRule This means that the Buff from Harrington is on IconIndex=1 (remember that indexing starts at 0). You can now adapt the default rule you just added to the correct Index, decide if it has stacks and decide if you want to show "ShowTimeLeft" for it. After that you just need to find out what the correct ItemTexture is for UseLegendaryItemTexture (check the TextureController for that).
Congratulations on your first selfwrriten BuffRule
I won't give any support (or answer requests) via private messaging. Ask your questions about a plugin within its thread!
-
Post Thanks / Like - 1 Thanks
cherouvim13 (1 members gave Thanks to d3gigi for this useful post)
-
-
Savvy ? 🐒
Originally Posted by
d3gigi
After that you just need to find out what the correct ItemTexture is for UseLegendaryItemTexture
Well, i have already mapped many of them in an extension : JackCeparouCompass/PowerTextureMapperExtensions.cs at master * JackCeparou/JackCeparouCompass * GitHub
-
Active Member
Last edited by Csavo; 03-30-2017 at 02:53 AM.
-
Active Member
Originally Posted by
Csavo
So, is it possible to count the ICD procs? I will do it myself, if someone guides me on what methods are required to do it.
You should move that question into a request within the discussion section. Your question is not specific to this plugin.
I won't give any support (or answer requests) via private messaging. Ask your questions about a plugin within its thread!
-
Member
In case I do not want Internal Cooldown to be displayed, such as in Stricken or Epiphany or Vengeance , because it clutters the horizontal order of the buffs, what should I do?
Also the IconIndex starts from 0, but is there any template for each power/item what I.I. uses? Or it doesn't matter if it is 0 or 1 or 2 etc.
Last edited by cherouvim13; 03-30-2017 at 02:50 AM.
-
Active Member
Originally Posted by
d3gigi
You should move that question into a request within the discussion section. Your question is not specific to this plugin.
Yes, sorry. I'm trying to delete the post, but I can't. I don't think making a request post would help, lets be real, I have a higher chance to win the lottery than someone code plugins based on requests
ANYWAY, back on topic, can you tell me how to find the textures? I don't know how to use Jacks "extension" either, you guys should stop assuming everyone is a programmer, and knows what those stuff are and what to do with them