32 Commits

Author SHA1 Message Date
Brues f0f1c80e24 autoshift: stub shapeshifts table for pfUI-turtle compatibility
Closes #38
2026-08-08 19:59:36 -05:00
Brues 710be52f35 phase 3 removing tbc
Drop the now-vestigial expansion plumbing.

- Delete modules/thirdparty-tbc.lua + its xml Include
- Strip 10 tbc-tagged CreateConfig calls in modules/gui.lua
- Drop the expansion arg from CreateConfig() signature + the disabled-
  entry rendering path that depended on it
- Drop the showdisabled GUI toggle + its default
- Simplify pfUI:RegisterModule / pfUI:RegisterSkin to (name, func) only
- Strip the leading version arg ("vanilla:tbc", etc.) from all 114
  Register call sites
- Delete the pfUI.expansion variable
2026-05-25 18:50:53 -05:00
Brues e1cd1ef179 mount cancel via Dismount
Replaces the Phase 1 buff-slot loop + tooltip-scanned mount-string match
with a single Dismount() call. The implementation in ClassicAPI scans
for SPELL_AURA_MOUNTED on the player's auras and sends the cancel
packet itself, so we don't have to maintain a localized list of mount
tooltip patterns ("Increases speed by X%", "Erhöht Tempo um X%", etc.).

Drops pfUI.autoshift.mounts (the 20-line localized-string table) and
pfUI.autoshift.scanner (its only consumer). Module is down to ~50 lines
from ~150 at session start.
2026-05-21 10:40:42 -05:00
Brues 0e0a3f3688 shapeshift cancel via CancelShapeshiftForm
Replaces autoshift's Phase 2 (form-ID → texture lookup → buff iteration →
CancelPlayerBuff(bid)) with a single CancelShapeshiftForm() call. The
implementation in ClassicAPI walks the buff slots and matches via
Spell.dbc effect arrays itself, so we don't have to maintain a form-ID
→ texture map on the Lua side.

Drops pfUI.autoshift.shapeshifts entirely (no longer consulted) and the
turtle-wow.lua block that conditionally appended Tree of Life / Stag
Form textures — Turtle's added DBC rows (form IDs 9 and 11) are handled
natively by the same scan.
2026-05-21 10:31:25 -05:00
Brues 0fead7d696 shapeshift detection via GetShapeshiftFormID + UPDATE_SHAPESHIFT_FORM
actionbar.lua: pageswitch now listens to UPDATE_SHAPESHIFT_FORM as the
authoritative form-change signal. PLAYER_AURAS_CHANGED becomes a
narrowly-scoped prowl-detection trigger that runs after form state is
already known. The Nampower SPELL_GO_SELF hook drops its Cat Form
(spellID 768) branch — UPDATE_SHAPESHIFT_FORM covers form changes
without per-spellID watchlists. Prowl IDs stay hooked for zero-latency
detection that PLAYER_AURAS_CHANGED can't match.

autoshift.lua: the texture-list shapeshift detection becomes a form-ID-
keyed map. GetShapeshiftFormID returns the active form directly so we
don't have to texture-match against every possible form pattern. The
moonkin_scan frame disappears entirely — its talent-conditional was a
workaround for the agility buff sharing Moonkin's icon, which form ID
makes irrelevant (form 31 is only reported when the player is genuinely
in Moonkin Form). Loop also splits into two phases for clarity: mount
priority pass, then form cancel.
2026-05-21 04:25:50 -05:00
shagu b849964dd1 autoshift: add esES turtle wow mount translations 2025-06-01 23:42:32 +02:00
shagu 9edac14df2 autoshift: update chinese texts for turtle wow 2025-05-27 08:41:05 +02:00
shagu e496ecd077 autoshift: reduce required actions to switch stances 2025-03-18 19:27:44 +01:00
shagu 9f0dafee73 autoshift: add turtle mount for zhCN gameclients 2023-08-08 15:57:42 +02:00
shagu cfbea5eea8 autoshift: disable autoshifting in some cases
Don't cancel druid form when clicking on npcs while in combat.
The "Can't speak while shapeshifted" will no longer put you out
of your druid forms while being in combat. This is especially
for bear tanks who better not lose their form while friendly NPCs
are nearby.
2023-05-18 14:10:28 +02:00
shagu d315d3f669 autoshift: use tooltip based mount detection 2022-08-11 14:13:25 +02:00
GrenderG 76d96a7491 autoshift: add gryphon and chromatic drake mounts 2020-06-08 22:06:27 +02:00
shagu 2545ef43d4 autoshift: add turtle mount 2019-12-29 11:48:42 +01:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
shagu 7bc60e723d core: whitelist a bunch of modules for tbc 2019-04-07 14:48:58 +02:00
Road-block e50fabfff9 core: global environment cleanup 2019-03-31 14:59:21 +02:00
shagu 7ecac458ac api: use dynamic shortcut for string.gfind 2018-09-28 22:53:16 +02:00
shagu fa053a5f78 autoshift: only remove moonkin buff if skilled 2017-06-19 22:35:05 +02:00
shagu d631626662 autoshift: use locale independent checks 2017-04-23 14:06:11 +02:00
shagu 6402e29b1b api: rename to hooksecurefunc 2017-03-01 19:48:48 +01:00
shagu 6e26336d36 api: rework of locale system 2017-02-26 21:29:27 +01:00
shagu 6f7a665ffe api: merge api calls into environment 2017-02-26 20:55:22 +01:00
shagu 2007278a99 autoshift: use new hook mechanisms 2017-02-26 17:49:57 +01:00
shagu 879cba9034 autoshift: search in up to 32 buffs 2017-02-03 18:47:28 +01:00
shagu cc0c086ca2 cleanup: use plain string.find where possible 2017-01-02 00:41:47 +01:00
shagu ebc9f3cafa autoshift: stand up when using ability 2016-12-19 11:04:53 +01:00
shagu ba72fc39da codestyle: remove trailing semicolons 2016-11-09 23:20:26 +01:00
shagu c9d723a968 performance update 2016-09-29 22:29:53 +02:00
shagu fec2d375ca fix shadowform in autoshift 2016-08-15 21:04:07 +02:00
shagu f55eb8b9be multi-locale support for autoshift 2016-08-15 20:41:24 +02:00
Eric Mauser d4a8ef0a90 introducing the "module-loader" 2016-05-16 01:17:55 +02:00
Eric Mauser 2fd3a08ea3 moved to github, reset trashy history 2016-05-02 20:47:00 +02:00