Initial HSMappy release (fork of Mappy)
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Fate;
|
||||
using Lumina.Extensions;
|
||||
using Mappy.Classes;
|
||||
using Mappy.Extensions;
|
||||
|
||||
namespace Mappy.Modules;
|
||||
|
||||
public class FateModule : ModuleBase
|
||||
{
|
||||
public override unsafe bool ProcessMarker(MarkerInfo markerInfo)
|
||||
{
|
||||
if (markerInfo.MarkerType is not MarkerType.Fate) return false;
|
||||
|
||||
var fateData = FateManager.Instance()->Fates.FirstOrNull(fate => fate.Value->FateId == markerInfo.DataId);
|
||||
if (fateData is null) return false;
|
||||
|
||||
var fate = fateData.Value;
|
||||
var timeRemaining = fate.GetTimeRemaining();
|
||||
|
||||
markerInfo.PrimaryText = () => $"Lv. {fate.Value->Level} {fate.Value->Name}";
|
||||
|
||||
// Don't show additional information for any fate that is preparing
|
||||
if (fate.Value->State is FateState.Preparing) return true;
|
||||
|
||||
if (timeRemaining >= TimeSpan.Zero) {
|
||||
markerInfo.SecondaryText = () => $"Time Remaining {timeRemaining:mm\\:ss}\nProgress {fate.Value->Progress}%";
|
||||
|
||||
if (timeRemaining.TotalSeconds <= 300) {
|
||||
markerInfo.RadiusColor = fate.GetColor();
|
||||
markerInfo.RadiusOutlineColor = fate.GetColor();
|
||||
}
|
||||
}
|
||||
else {
|
||||
markerInfo.SecondaryText = () => $"Progress {fate.Value->Progress}%";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user