Skip to content

#1986 Icon system: filter stealth states; list all conditional branches in Select Icon - #1987

Merged
TimothyLuke merged 1 commit into
TimothyLuke:masterfrom
LarryThiessen:fix-1986-icon-stealth-and-branch-menu
Aug 20, 2026
Merged

#1986 Icon system: filter stealth states; list all conditional branches in Select Icon#1987
TimothyLuke merged 1 commit into
TimothyLuke:masterfrom
LarryThiessen:fix-1986-icon-stealth-and-branch-menu

Conversation

@LarryThiessen

Copy link
Copy Markdown
Contributor

Fixes #1986

Problem

  1. Stealth steals the block auto-icon. The form/stance filter doesn't know stealth states, so /cast [nostealth] Stealth; [stealth,nocombat] Sprint resolves to "Stealth" (unstealthed) and takes the block icon from the real ability below it.
  2. Select Icon menu omits conditional spells. The menu list is built with the live resolver, which drops branches whose conditionals are currently false — editing out of combat, /cast [combat] Shuriken Storm can't be picked. Castsequence lines enumerate element-wise (conditionals ignored), so line types behaved inconsistently.

Fix

GSE_GUI/Editor.lua only, +42/−0:

  • FORM_SPELL_IDS gains Stealth (1784) + Prowl (5215); isFormSpellCandidate matches the names — same pattern as the existing stance/form/Call Pet entries.
  • New local getAllConditionalBranchSpells() (menu-only) enumerates every ;-branch with conditionals stripped, fed through the existing addIconMenuCandidates dedupe; one call added in the menu-build loop. Auto-icon resolution is untouched — it deliberately keeps following live conditionals.

Verified

In-game: the Rogue block above now icons from the real ability, not Stealth; Select Icon lists [combat]-gated spells while out of combat. luac -p clean.

Known corners (accepted): while actually stealthed out of combat that management line resolves to Sprint (not a stance → may icon; rare editing state). The new enumerator resolves spells only — item branches in /use [cond] Item; … rely on the pre-existing fallback path, as before.

🤖 Generated with Claude Code

…onal branches in Select Icon

- FORM_SPELL_IDS: add Stealth (1784) and Prowl (5215), plus exact-name
  matches in isFormSpellCandidate, so stealth-management lines like
  "/cast [nostealth] Stealth; [stealth,nocombat] Sprint" no longer steal
  the block's auto-icon (stealth states sit on the stance bar exactly
  like stances/forms).
- Select Icon menu: new menu-only candidate source enumerates every
  ";"-separated branch of a cast line with conditionals stripped, so
  spells behind currently-false conditionals ("/cast [combat] X" edited
  out of combat) are offered in the picker. Deduped via the existing
  addIconMenuCandidates. The auto-icon continues to use the live
  resolver, unchanged by design.

Fixes TimothyLuke#1986

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@TimothyLuke
TimothyLuke merged commit 34b29a5 into TimothyLuke:master Aug 20, 2026
1 check passed
@LarryThiessen
LarryThiessen deleted the fix-1986-icon-stealth-and-branch-menu branch August 21, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Macro-block auto-icon: stealth states not filtered like stances; Select Icon menu omits spells behind currently-false conditionals

2 participants