[viewer] AO: no way to undo "Pause mine while it's worn" for a scripted AO attachment #1001

Open
opened 2026-10-23 23:12:45 +00:00 by sky_line · 0 comments
Owner

When the AO detects a worn scripted AO and the user picks Pause mine while it's worn, the choice is saved per account (sl_ao.xml, scripted_ao map keyed by the attachment's inventory item ID) and the AO pauses whenever that object is worn (status: "Paused: deferring to the scripted AO you are wearing.").

There is no way to undo it from the viewer:

  • the prompt is never shown again for that object;
  • unticking Detect a worn scripted AO only stops new prompts (SLAOEngine::isScriptedAOWorn() ignores SLAODetectScriptedAO);
  • toggling the AO off/on does not clear it.

Workarounds today: detach the object, wear a copy (new item ID, prompts again), or hand-edit sl_ao.xml while logged out.

Fix

  1. A Resume action next to the "Paused: deferring…" status (AO floater / quick prefs AO panel) that switches the worn object(s) to "keep both" (ignore) and resumes.
  2. A list in the AO editor (behaviour section, by Detect a worn scripted AO) of remembered objects with their choice (paused / kept both), each with Forget (removes the entry, so the prompt can come back).
  3. Unticking Detect a worn scripted AO should also stop applying saved pauses (detection off = no deferring).

Code: slaoengine.cpp (prompt handler ~2396, isScriptedAOWorn ~2459, PAUSE_SCRIPTED_AO), slaosets.cpp (setScriptedAOChoice / persistence), floater_sl_ao_editor.xml.

When the AO detects a worn scripted AO and the user picks **Pause mine while it's worn**, the choice is saved per account (`sl_ao.xml`, `scripted_ao` map keyed by the attachment's inventory item ID) and the AO pauses whenever that object is worn (status: "Paused: deferring to the scripted AO you are wearing."). There is no way to undo it from the viewer: - the prompt is never shown again for that object; - unticking **Detect a worn scripted AO** only stops new prompts (`SLAOEngine::isScriptedAOWorn()` ignores `SLAODetectScriptedAO`); - toggling the AO off/on does not clear it. Workarounds today: detach the object, wear a copy (new item ID, prompts again), or hand-edit `sl_ao.xml` while logged out. **Fix** 1. A **Resume** action next to the "Paused: deferring…" status (AO floater / quick prefs AO panel) that switches the worn object(s) to "keep both" (`ignore`) and resumes. 2. A list in the AO editor (behaviour section, by *Detect a worn scripted AO*) of remembered objects with their choice (paused / kept both), each with **Forget** (removes the entry, so the prompt can come back). 3. Unticking **Detect a worn scripted AO** should also stop applying saved pauses (detection off = no deferring). Code: `slaoengine.cpp` (prompt handler ~2396, `isScriptedAOWorn` ~2459, `PAUSE_SCRIPTED_AO`), `slaosets.cpp` (`setScriptedAOChoice` / persistence), `floater_sl_ao_editor.xml`.
sky_line added this to the Slipstream project 2026-10-23 23:12:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1001
No description provided.