You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Mirdain Enhanced GearSwap by Rahvin — v1.6.5 Patch Notes
Changed
SpellReceived modes simplified.ON-Locked and ON-Unlocked are collapsed into a single ON (behaves like the old ON-Locked). ON-Unlocked is gone as unnecessary. Update any macro/script still passing ON-Locked or ON-Unlocked — it will now be rejected with a suggestion instead of silently doing the wrong thing.
Command argument validation. Every //gs c <mode> [value] command now validates its argument against that mode's real option list (case-insensitive). An unrecognized value changes nothing and prints a usage message with a "did you mean" suggestion instead of either throwing a raw Lua error or being loosely/incorrectly matched (previously true for SpellReceived and hoxne). Sending a command with no argument such as gs c spellreceived still cycles the mode forward exactly as before.
Status box redesigned. New compact glyph-based layout: TH, SR (SpellReceived), and HOX (Hoxne) now render as a single colored circle (green = on or TH Full Time, amber = TH Tag, cyan = THF SATA TH, hollow grey = off) instead of full text, freeing up space. Other modes (Stance, DPS, JobMode, JobMode2) keep full text between chevrons (<DT>). Column widths are now derived from each mode's full option list, so the box no longer resizes as you cycle through modes.
New UI_Short / UI_Short2 job-file variables — optional 3-letter status-box labels for JobMode/JobMode2. If omitted, a label is auto-derived from UI_Name/UI_Name2 (a small alias table, then a general first-letters rule), so existing job files need no changes.
Display drag/save reworked. Dragging now uses the text library's own hover/drag handling instead of a custom mouse-hook, and the position save on release is silent (no chat spam). //gs c zero now also resets the debug box position, not just the status box.
One Line Display Mode
Full Stack Display Mode
Bug Fixes
Fixed //gs c display (toggling the status box) not updating its draggable state, so a hidden-then-reshown box could stop responding to drags.
Fixed the debug box not resetting its cached state when re-enabled via //gs c debug, which could leave it showing stale values.
Fixed a leftover unused is_Dragging global and a missing local on available_charges in the SCH stratagem check (was leaking as a global).
sub_job_change now invalidates the status box layout, so subjob swaps that change available mode options no longer leave the box mis-sized.
Sample Job Files (all 22 jobs)
Fixed a wardrobe bag-name bug:bag="wardrobe1" has been corrected to bag="wardrobe" everywhere it appeared (left-ring entries for Stikini Ring, Moonlight Ring, Eshmun's Ring, etc.). "wardrobe1" is not a valid bag name — GearSwap's real primary wardrobe is "wardrobe" — so any gear that specified it as the only location was silently failing to be found/equipped whenever the item wasn't a duplicate.
Fixed global-variable leakage: the local equipSet scratch variable in all the *_custom hook functions (precast_custom, midcast_custom, aftercast_custom, buff_change_custom, choose_set_custom, status_change_custom, pet_*_custom, etc.) and buff in check_buff_JA/check_buff_SP/check_tank are now declared local. Previously they were implicit globals, which could bleed state between unrelated calls.
Other
README updated to document the new SpellReceived values, argument validation behavior, status box glyphs/labels, and drag/save behavior; version bumped to 1.6.5 throughout.
Upgrade notes for existing users
If you have a macro, third-party trigger, or saved binding that sends //gs c SpellReceived ON-Locked or ON-Unlocked, change it to //gs c SpellReceived ON.
No action needed for UI_Short/UI_Short2 — the auto-derived label will just appear. Set them explicitly only if you dislike the derived 3-letter label.
The wardrobe1 → wardrobe fix is purely corrective; no action needed unless you had copied the old (broken) pattern into gear you added yourself, in which case switch it to bag="wardrobe".