mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-13 08:50:50 +00:00
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.
This commit is contained in:
+3
-5
@@ -959,8 +959,6 @@ hooksecurefunc("CastSpellByName", function(effect, target)
|
||||
if not libpredict.sender.enabled then return end
|
||||
local effect, rank = libspell.GetSpellInfo(effect)
|
||||
if not effect then return end
|
||||
local mouseover = pfUI and pfUI.uf and pfUI.uf.mouseover and pfUI.uf.mouseover.unit
|
||||
mouseover = mouseover and UnitCanAssist("player", mouseover) and UnitName(mouseover)
|
||||
|
||||
local default = UnitName("target") and UnitCanAssist("player", "target") and UnitName("target") or UnitName("player")
|
||||
|
||||
@@ -979,13 +977,13 @@ hooksecurefunc("CastSpellByName", function(effect, target)
|
||||
if not libpredict.sender.current_cast then
|
||||
spell_queue[1] = effect
|
||||
spell_queue[2] = effect.. ( rank or "" )
|
||||
spell_queue[3] = target or mouseover or default
|
||||
spell_queue[3] = target or default
|
||||
end
|
||||
|
||||
-- Instant HoTs: libdebuff/Nampower via GetHotDuration, hook method as fallback
|
||||
|
||||
if effect == REJUVENATION then
|
||||
local hotTarget = target or mouseover or default
|
||||
local hotTarget = target or default
|
||||
local now = pfUI.uf.now or GetTime()
|
||||
local key = "Reju" .. hotTarget
|
||||
|
||||
@@ -1002,7 +1000,7 @@ hooksecurefunc("CastSpellByName", function(effect, target)
|
||||
local rankStr = rankNum and tostring(rankNum) or "0"
|
||||
libpredict.sender:SendHealCommMsg("Reju/"..hotTarget.."/"..rejuvDuration.."/"..rankStr.."/")
|
||||
elseif effect == RENEW then
|
||||
local hotTarget = target or mouseover or default
|
||||
local hotTarget = target or default
|
||||
local now = pfUI.uf.now or GetTime()
|
||||
local key = "Renew" .. hotTarget
|
||||
|
||||
|
||||
Reference in New Issue
Block a user