20 Commits

Author SHA1 Message Date
Brues 73b409fb88 Route slash registration through pfUI.api.RegisterSlashCommand
The RegisterSlashCommand helper in api/api.lua was effectively unused
(only macrotweak called it); every other command hand-rolled the
SLASH_*/SlashCmdList pair. Convert the existing manual registrations to
the helper with force=true, preserving the current always-bind behavior
while centralizing the pattern behind one code path (and its _G. and
conflict-check handling).

Left as-is: pfUI.lua's /rl, /pfui, /gm (registered before api.lua
defines the helper) and the vendored libs' debug commands.
2026-07-13 00:06:20 -05:00
Brues 62a99ac410 mouseover/libpredict: drop legacy spell-target plumbing
With Nampower as a hard dep, /pfcast for spell names always takes the
early CastSpellByName(msg, unit) path. The fallback branch that did the
SpellTargetUnit dance (resolve a friendly unit token, disable AutoSelf
Cast, call SpellTargetUnit) hasn't been reachable in a while, and it
dragged a pile of supporting infrastructure with it.

modules/mouseover.lua:
- Drop the st_units token list, GetUnitString helper, and the
  UnitTokenFromGUID rewrite of GetUnitString — all only used by the
  dead fallback.
- Drop the NoSelfCast helper (only the dead fallback called it).
- Drop the pfMouseOver frame; its only purpose was to hold a .unit
  field the dead fallback wrote and libpredict's hook read.
- The macro path collapses to: if not the current target, swap target,
  run the loadstring'd func, restore the previous target.
- 99 lines → 34.

libs/libpredict.lua:
- Drop the dead `local mouseover = pfUI.uf.mouseover.unit` plumbing in
  the CastSpellByName hook — pfUI.uf.mouseover is gone and the field
  was permanently nil anyway. The three `target or mouseover or default`
  fallback chains collapse to `target or default`.

Modern mouseover/click-to-cast detection in libpredict goes through
pfUI.libpredict_pending_cast (populated by libdebuff from Nampower's
SPELL_CAST_EVENT) — that path is GUID-based, server-authoritative, and
untouched.
2026-06-27 18:41:11 -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
Meow c99a35eb82 castspellbyname unit
castspellbyname unit
2026-02-17 16:59:30 +01:00
Meow a2d449cd59 fixed /pfcast to use mouseover properly again
fixed /pfcast to use mouseover properly again
2026-02-17 16:55:18 +01:00
Meow 221f015677 Changed Spellinfo into GetSpellRec for nampower only support
Changed Spellinfo into GetSpellRec for nampower only support
2026-02-17 01:29:27 +01:00
Meow def000a7c4 Refactoring: Nampower Integration & SuperWoW Cleanup
* Replaced SuperWoW GUID with native Turtle WoW GUID in focus system
* Added memoization API for `/pfcast` and `/castfocus` performance boost
* Moved Druid mana bar from superwow.lua to nampower.lua
* Cleaned up superwow.lua - removed duplicate/migrated code
* Updated GUI: "Druid Settings" replaces "SuperWoW Settings" header
* Focus system now standalone - no SuperWoW dependency required
2026-02-16 14:20:31 +01:00
shagu 44bce4e3e9 prediction: check assist to identify valid unit 2023-03-10 22:02:52 +01:00
shagu ad08c69ec5 mouseover: show prediction on correct spell target 2023-03-10 18:39:22 +01:00
shagu d542ec65d6 mouseover: use spell target on all valid units
With this change, the SpellTargetUnit() function is preferred
over the TargetUnit(). However this only works if a non-friendly
target is currently selected and the mouseover is a friendly one.
2023-02-05 15:39:39 +01:00
shagu 961b186491 mouseover: detect self cast to avoid target switch
If a self cast is detected, the SpellTargetUnit() function will
be used to avoid a target change. Auto-attacks now continue on
self casts because the target has no longer to be changed.
2023-02-05 14:05:38 +01:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
shagu 876c3c6ced mouseover: fix typo in slashcmd 2018-06-09 18:42:37 +02:00
shagu 0d0f4d6039 mouseover: allow to use functions 2018-05-01 12:18:19 +02:00
shagu 65b18a5125 mouseover: set slashcmd in global space 2017-02-27 20:28:06 +01:00
shagu 0003ef3761 mouseover: fix logic for target cast 2016-12-21 19:51:53 +01:00
shagu 4f6f2fce88 mouseover: fallback to target if existing 2016-12-21 14:13:39 +01:00
shagu b40ba83717 mouseover: use selfcast if set in config 2016-12-20 10:01:10 +01:00
shagu 62b16aab37 mouseover: skip targets healthbar animation 2016-12-18 20:24:40 +01:00
shagu 2972cc8eab mouseover: introducing mouseover casts 2016-12-18 20:19:29 +01:00