Alliance frames, crafting tooltips, visibility: fix display and tooltips

- Alliance Frames: Populate other alliances (A/B) via GetAllianceMemberByIndex flat indices (0-7, 8-15) instead of GetAllianceMemberByGroupAndIndex which returns empty in-instance; keep own party from GetPartyMemberByIndex.
- Alliance Frames: Visibility: do not apply HideInDuty to Alliance Frames so they show in alliance raids when visibility rules are enabled.
- Hotbars: Crafting action tooltips: fallback Action sheet lookup with +100000 offset when hotbar stores CraftAction row ID.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-07 22:34:10 -05:00
parent 57d1bc5c0f
commit 3b5ddbe2f9
3 changed files with 63 additions and 28 deletions
+24 -2
View File
@@ -1194,12 +1194,34 @@ namespace HSUI.Interface.GeneralElements
slot.SlotType == RaptureHotbarModule.HotbarSlotType.CraftAction ||
slot.SlotType == RaptureHotbarModule.HotbarSlotType.PetAction)
{
var row = Plugin.DataManager.GetExcelSheet<LuminaAction>()?.GetRow(slot.ActionId);
uint actionIdForLookup = slot.ActionId;
LuminaAction? actionRow = null;
var actionSheet = Plugin.DataManager.GetExcelSheet<LuminaAction>();
var actionRowOpt = actionSheet?.GetRow(slot.ActionId);
if (actionRowOpt.HasValue)
{
actionRow = actionRowOpt.Value;
}
else if (slot.SlotType == RaptureHotbarModule.HotbarSlotType.CraftAction)
{
// Crafting actions: hotbar may store CraftAction sheet row ID (1-based). Action sheet uses 100000+ range (100001 = Basic Synthesis).
const uint CraftActionToActionOffset = 100000;
uint mappedId = slot.ActionId + CraftActionToActionOffset;
var mappedRow = actionSheet?.GetRow(mappedId);
if (mappedRow.HasValue)
{
actionIdForLookup = mappedId;
actionRow = mappedRow.Value;
}
}
var row = actionRow;
if (row.HasValue)
{
string name = row.Value.Name.ToString();
string desc = "";
var descRow = Plugin.DataManager.GetExcelSheet<ActionTransient>()?.GetRow(slot.ActionId);
var descRow = Plugin.DataManager.GetExcelSheet<ActionTransient>()?.GetRow(actionIdForLookup);
string descRaw = "";
if (descRow.HasValue)
{