PvP nameplates: correct GC icons (62601/62602/62603), configurable GC IDs, Role/Job icon for enemy players

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-01-31 22:40:28 -05:00
parent 11b4c268f0
commit 80f45f5a31
7 changed files with 275 additions and 42 deletions
@@ -1327,6 +1327,34 @@ namespace HSUI.Interface.GeneralElements
}
}
if (slot.SlotType == RaptureHotbarModule.HotbarSlotType.MainCommand ||
slot.SlotType == RaptureHotbarModule.HotbarSlotType.ExtraCommand)
{
if (Plugin.DataManager.GetExcelSheet<MainCommand>()?.TryGetRow(slot.ActionId, out var mcRow) == true)
{
string name = mcRow.Name.ToString();
string desc = "";
try
{
string descRaw = mcRow.Description.ToDalamudString().ToString();
if (!string.IsNullOrEmpty(descRaw))
{
try
{
var evaluated = Plugin.SeStringEvaluator.Evaluate(mcRow.Description.AsSpan());
desc = evaluated.ExtractText();
if (string.IsNullOrEmpty(desc)) desc = descRaw;
}
catch { desc = descRaw; }
if (!string.IsNullOrEmpty(desc))
desc = EncryptedStringsHelper.GetString(desc);
}
}
catch { /* ignore */ }
return (name, desc ?? "");
}
}
return (slot.SlotType.ToString(), "");
}
+23
View File
@@ -129,6 +129,29 @@ namespace HSUI.Interface.GeneralElements
}
}
/// <summary>Shows Grand Company icon (Maelstrom, Flames, or Adders) on enemy player nameplates in PvP Frontline.</summary>
public class NameplateCompanyIconConfig : NameplateIconConfig
{
[DragInt("Icon ID Team 1 (plateType 4)", min = 0, max = 999999)]
[Order(19)]
public int IconIdTeam1;
[DragInt("Icon ID Team 2 (plateType 5)", min = 0, max = 999999)]
[Order(20)]
public int IconIdTeam2;
[DragInt("Icon ID Team 3 (plateType 6)", min = 0, max = 999999)]
[Order(21)]
public int IconIdTeam3;
public NameplateCompanyIconConfig() : base() { }
public NameplateCompanyIconConfig(Vector2 position, Vector2 size, DrawAnchor anchor, DrawAnchor frameAnchor)
: base(position, size, anchor, frameAnchor)
{
}
}
public class NameplateRoleJobIconConfig : RoleJobIconConfig
{
public NameplateRoleJobIconConfig() : base() { }