using Turbo.Plugins.Default; //important to add
namespace Turbo.Plugins.User //change Default to User
{
public class NecroBuffListPlugin : BasePlugin, IInGameTopPainter
{
public BuffPainter BuffPainter { get; set; }
public BuffRuleCalculator RuleCalculator { get; private set; }
public float PositionOffset { get; set; } = 0.04f;
public NecroBuffListPlugin() //NEWNAME
{
Enabled = true;
}
public override void Load(IController hud)
{
base.Load(hud);
BuffPainter = new BuffPainter(Hud, true)
{
Opacity = 0.75f,
ShowTimeLeftNumbers = false,
ShowTooltips = false,
TimeLeftFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true),
StackFont = Hud.Render.CreateFont("tahoma", 6, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true),
};
RuleCalculator = new BuffRuleCalculator(Hud)
{
SizeMultiplier = 0.75f
};
BuffPainter.ShowTimeLeftNumbers = true;
// 465350 - Simulacrum
RuleCalculator.Rules.Add(new BuffRule(465350)
{
IconIndex = 1,
MinimumIconCount = 1,
ShowTimeLeft = true,
IconSizeMultiplier = 1.0f,
});
// 465839 - Land of the Dead
RuleCalculator.Rules.Add(new BuffRule(465839)
{
IconIndex = 0,
MinimumIconCount = 1,
ShowTimeLeft = true,
IconSizeMultiplier = 1.0f,
});
}
public void PaintTopInGame(ClipState clipState)
{
if (Hud.Render.UiHidden)
return;
if (clipState != ClipState.BeforeClip)
return;
RuleCalculator.CalculatePaintInfo(Hud.Game.Me);
if (RuleCalculator.PaintInfoList.Count == 0)
return;
//x position relative to the center of screen, buffbar centered around this point.
var y = Hud.Window.Size.Height * 0.5f; //center of screen
var x = Hud.Window.Size.Width * 0.0f; //center of screen
BuffPainter.PaintHorizontalCenter(RuleCalculator.PaintInfoList, x, y, Hud.Window.Size.Width, RuleCalculator.StandardIconSize, RuleCalculator.StandardIconSpacing); BuffPainter.PaintHorizontalCenter(RuleCalculator.PaintInfoList, 0, y, Hud.Window.Size.Width, RuleCalculator.StandardIconSize, RuleCalculator.StandardIconSpacing);
}
}
}