Skip to content

Mirdain Gearswap 1.6.5

Choose a tag to compare

@RahvinCode RahvinCode released this 14 Aug 03:09
· 45 commits to master since this release
b3d7529

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
Screenshot 2026-08-13 211103
  • Full Stack Display Mode
Screenshot 2026-08-13 211137

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".