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:
@@ -96,6 +96,9 @@ namespace HSUI.Interface
|
||||
if (element != null && element.GetType() == typeof(PlayerCastbarHud)) { return true; }
|
||||
if (element != null && !element.GetConfig().Enabled) { return false; }
|
||||
|
||||
// Alliance frames only matter in alliance raids (duty). HideInDuty would hide them exactly when needed.
|
||||
bool isAllianceFrames = element != null && element.GetType() == typeof(AllianceFramesHud);
|
||||
|
||||
bool isInIslandSanctuary = IsInIslandSanctuary();
|
||||
bool isInDuty = IsInDuty() && !isInIslandSanctuary;
|
||||
IPlayerCharacter? player = Plugin.ObjectTable.LocalPlayer;
|
||||
@@ -127,7 +130,8 @@ namespace HSUI.Interface
|
||||
|
||||
if (HideOnFullHP && player != null && player.CurrentHp == player.MaxHp) { return false; }
|
||||
|
||||
if (HideInDuty && isInDuty) { return false; }
|
||||
// Alliance frames only matter in alliance raids (duty). Skip HideInDuty for them.
|
||||
if (HideInDuty && isInDuty && !isAllianceFrames) { return false; }
|
||||
|
||||
if (HideInIslandSanctuary && isInIslandSanctuary) { return false; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user