diff --git a/Pilz.Dalamud/Nameplates/Tools/NameplateUpdateFactory.cs b/Pilz.Dalamud/Nameplates/Tools/NameplateUpdateFactory.cs index b04f947..ebc9518 100644 --- a/Pilz.Dalamud/Nameplates/Tools/NameplateUpdateFactory.cs +++ b/Pilz.Dalamud/Nameplates/Tools/NameplateUpdateFactory.cs @@ -23,26 +23,30 @@ namespace Pilz.Dalamud.Nameplates.Tools } } - public static bool ApplyStatusIconWithPrio(ref int statusIcon, int newStatusIcon, StringChange stringChange, ActivityContext activityContext, StatusIconPriorizer priorizer) + public static bool ApplyStatusIconWithPrio(ref int statusIcon, int newStatusIcon, StringChange stringChange, ActivityContext activityContext, StatusIconPriorizer priorizer, bool moveIconToNameplateIfPossible) { - var isPrio = priorizer.IsPriorityIcon(statusIcon, activityContext); - - if (!isPrio) + bool? isPrio = null; + var fontIcon = StatusIconFontConverter.GetBitmapFontIconFromStatusIcon((StatusIcons)statusIcon); + + if (moveIconToNameplateIfPossible) { - var fontIcon = StatusIconFontConverter.GetBitmapFontIconFromStatusIcon((StatusIcons)statusIcon); - if (fontIcon != null) { // Set new font icon as string change var iconPayload = new IconPayload(fontIcon.Value); stringChange.Payloads.Insert(0, iconPayload); - // Use new status icon as status icon - statusIcon = newStatusIcon; + // If we moved it, we don't need it as icon anymore, yay :D + isPrio = false; } } - return isPrio; + isPrio ??= priorizer.IsPriorityIcon(statusIcon, activityContext); + + if (!isPrio.Value) + statusIcon = newStatusIcon; + + return isPrio.Value; } } } diff --git a/Pilz.Dalamud/Nameplates/Tools/StatusIconPriorizerSettings.cs b/Pilz.Dalamud/Nameplates/Tools/StatusIconPriorizerSettings.cs index 1222e6c..a5bfe34 100644 --- a/Pilz.Dalamud/Nameplates/Tools/StatusIconPriorizerSettings.cs +++ b/Pilz.Dalamud/Nameplates/Tools/StatusIconPriorizerSettings.cs @@ -65,6 +65,12 @@ namespace Pilz.Dalamud.Nameplates.Tools StatusIcons.PartyMember, // Party Member StatusIcons.RolePlaying, // Role Playing StatusIcons.GroupPose, // Group Pose + StatusIcons.Mentor, + StatusIcons.MentorCrafting, + StatusIcons.MentorPvE, + StatusIcons.MentorPvP, + StatusIcons.Returner, + StatusIcons.NewAdventurer, }); var setInDuty = GetConditionSet(StatusIconPriorizerConditionSets.InDuty); @@ -74,6 +80,12 @@ namespace Pilz.Dalamud.Nameplates.Tools StatusIcons.ViewingCutscene, // Viewing Cutscene StatusIcons.Idle, // Idle StatusIcons.GroupPose, // Group Pose + StatusIcons.Mentor, + StatusIcons.MentorCrafting, + StatusIcons.MentorPvE, + StatusIcons.MentorPvP, + StatusIcons.Returner, + StatusIcons.NewAdventurer, }); var setInForay = GetConditionSet(StatusIconPriorizerConditionSets.InForay); @@ -86,6 +98,12 @@ namespace Pilz.Dalamud.Nameplates.Tools StatusIcons.ViewingCutscene, // Viewing Cutscene StatusIcons.Idle, // Idle StatusIcons.GroupPose, // Group Pose + StatusIcons.Mentor, + StatusIcons.MentorCrafting, + StatusIcons.MentorPvE, + StatusIcons.MentorPvP, + StatusIcons.Returner, + StatusIcons.NewAdventurer, }); } } diff --git a/Pilz.Dalamud/Pilz.Dalamud.csproj b/Pilz.Dalamud/Pilz.Dalamud.csproj index 24985d2..540e7f5 100644 --- a/Pilz.Dalamud/Pilz.Dalamud.csproj +++ b/Pilz.Dalamud/Pilz.Dalamud.csproj @@ -23,9 +23,9 @@ https://github.com/Pilzinsel64/Pilz.Dalamud https://github.com/Pilzinsel64/Pilz.Dalamud git - 0.1.0.0 - 0.1.0.0 - 0.1.0 + 0.1.1.0 + 0.1.1.0 + 0.1.1 True