-
Member
SNOPower NayrsBlackDeath
Hey guys,
Been trying to sort out a plugin for Necros Pestilence Build and have Gogok stacks, LotD cooldown and Neyr's Black Death stacks just on top of my toon while playing.
I'm unable to locate if there is a way to address the buff from Neyr's Black Death and count the stacks on it.
The only reference I'm able to find is: ISnoPower NayrsBlackDeath { get; } // 476587 in "interfaces\controllers\sno\ISnoPowerList.cs"
Does anyone know where too look?
//Steph
-
Contributor
new BuffRule(476587) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
-
Post Thanks / Like - 1 Thanks
OriSteph (1 members gave Thanks to SeaDragon for this useful post)
-
Member
Originally Posted by
SeaDragon
new BuffRule(476587) { IconIndex = 7, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true};
Thanks! How do you get the proper IconIndex?
Are the stacks in IconCount if I put this as an IBuff? Want to draw different color circles around my toon based on the number of stacks and what I currently have always stays the same.
Code:
IBuff nayrsBlackDeath = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.NayrsBlackDeath.Sno);
if (nayrsBlackDeath == null || !nayrsBlackDeath.Active || nayrsBlackDeath.IconCounts[0] < 1) {
NayrsNo.Paint(me, me.FloorCoordinate, null);
}
else if (nayrsBlackDeath.IconCounts[0] == 1)
{
NayrsOne.Paint(me, me.FloorCoordinate, null);
}
else if (nayrsBlackDeath.IconCounts[0] == 2)
{
NayrsTwo.Paint(me, me.FloorCoordinate, null);
}
else if (nayrsBlackDeath.IconCounts[0] > 2)
{
NayrsThree.Paint(me, me.FloorCoordinate, null);
}
-
Member
Got it to work, still curious on how to get all the index and SNOPowers. Found a bunch of references to /doc but can only find the changelog in there.
Code:
IBuff buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.NayrsBlackDeath.Sno);
BuffRule rule = new BuffRule(476587) { IconIndex = 7, ShowStacks = true };
int stacks = rule.ShowStacks ? buff.IconCounts[7] : -1;
if (Hud.Game.Me.Powers.BuffIsActive(476587, 7))
{
if (stacks == 1) {
NayrsOne.Paint(Hud.Game.Me, Hud.Game.Me.FloorCoordinate, null);
} else if (stacks == 2) {
NayrsTwo.Paint(Hud.Game.Me, Hud.Game.Me.FloorCoordinate, null);
} else if (stacks == 3) {
NayrsThree.Paint(Hud.Game.Me, Hud.Game.Me.FloorCoordinate, null);
}
}
-
Contributor
A dump will help you find it
-
Contributor
i simply draw the whole buff arrays to check all the numbers
PHP Code:
/** buff test **/
// 466857 - Bone Armor
IBuff skill_buff = me.Powers.GetBuff(466857);
if (skill_buff != null)
{
debugText += "IconCounts: " + string.Join(" |", skill_buff.IconCounts) + "\n";
debugText += "TimeElapsedSeconds: " + string.Join(" |", skill_buff.TimeElapsedSeconds) + "\n";
debugText += "TimeLeftSeconds: " + string.Join(" |", skill_buff.TimeLeftSeconds) + "\n";
debugText += "TimeLeft: " + skill_buff.TimeLeft() + "\n";
}
greetz gjuz
-
Post Thanks / Like - 1 Thanks
johnbl (1 members gave Thanks to gjuz for this useful post)