PvP hotbar fix: load saved PvE on zone leave then use live bars; Show Action ID in tooltips
- On leaving PvP, LoadSavedHotbar for all 10 bars (via TryRestorePvEHotbarsAfterLeavePvP in Framework update) and re-apply for ~2s so live Hotbars show PvE - GetSlotData always reads from live StandardHotbars so combo updates (e.g. Pictomancer) and icons work normally - Misc: Show Action ID option in Misc -> Tooltips; hotbar/party cooldown tooltips pass TooltipIdKind for Action vs Status IDs Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+20
-10
@@ -470,18 +470,28 @@ namespace HSUI.Helpers
|
||||
|
||||
public void OnFrameworkUpdate(IFramework framework)
|
||||
{
|
||||
// Keep WndProc hooked when: proxy mode (for mouseover) OR we need to block game drag
|
||||
// release (so dropping on HSUI action bar doesn't execute the ability).
|
||||
bool needHook = IsProxyEnabled || ShouldBlockGameDragRelease();
|
||||
if (needHook && _wndProcPtr == IntPtr.Zero)
|
||||
try
|
||||
{
|
||||
HookWndProc();
|
||||
// Only log when we actually installed (HookWndProc can return early during init delay)
|
||||
if (_wndProcPtr != IntPtr.Zero && IsActionBarDragDropDebugEnabled())
|
||||
Plugin.Logger.Information("[HSUI DragDrop DBG] WndProc hook INSTALLED (needHook=true for drag-block)");
|
||||
// When leaving PvP, force load PvE hotbars so HSUI bars don't keep showing PvP actions.
|
||||
ActionBarsManager.TryRestorePvEHotbarsAfterLeavePvP();
|
||||
|
||||
// Keep WndProc hooked when: proxy mode (for mouseover) OR we need to block game drag
|
||||
// release (so dropping on HSUI action bar doesn't execute the ability).
|
||||
bool needHook = IsProxyEnabled || ShouldBlockGameDragRelease();
|
||||
if (needHook && _wndProcPtr == IntPtr.Zero)
|
||||
{
|
||||
HookWndProc();
|
||||
// Only log when we actually installed (HookWndProc can return early during init delay)
|
||||
if (_wndProcPtr != IntPtr.Zero && IsActionBarDragDropDebugEnabled())
|
||||
Plugin.Logger.Information("[HSUI DragDrop DBG] WndProc hook INSTALLED (needHook=true for drag-block)");
|
||||
}
|
||||
else if (!needHook && _wndProcPtr != IntPtr.Zero)
|
||||
RestoreWndProc();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Plugin.Logger.Warning($"[HSUI InputsHelper] OnFrameworkUpdate: {ex.Message}");
|
||||
}
|
||||
else if (!needHook && _wndProcPtr != IntPtr.Zero)
|
||||
RestoreWndProc();
|
||||
}
|
||||
|
||||
private static bool ShouldBlockGameDragRelease()
|
||||
|
||||
Reference in New Issue
Block a user