mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-05 13:10:00 +00:00
api: unify pattern conversion for gfind
This commit is contained in:
+20
@@ -85,6 +85,26 @@ function pfUI.api.round(input, places)
|
||||
end
|
||||
end
|
||||
|
||||
-- [ SanitizePattern ]
|
||||
-- Sanitizes and convert patterns into gfind compatible ones.
|
||||
-- 'pattern' [string] unformatted pattern
|
||||
-- returns: [string] simplified gfind compatible pattern
|
||||
function SanitizePattern(pattern)
|
||||
-- escape brackets
|
||||
pattern = gsub(pattern, "%(", "%%(")
|
||||
pattern = gsub(pattern, "%)", "%%)")
|
||||
|
||||
-- remove bad capture indexes
|
||||
pattern = gsub(pattern, "%d%$s","s") -- %1$s to %s
|
||||
pattern = gsub(pattern, "%ds","s") -- %2s to %s
|
||||
|
||||
-- add capture to all findings
|
||||
pattern = gsub(pattern, "%%s", "(.+)")
|
||||
pattern = gsub(pattern, "%%d", "(%%d+)")
|
||||
|
||||
return pattern
|
||||
end
|
||||
|
||||
-- [ GetItemLinkByName ]
|
||||
-- Returns an itemLink for the given itemname
|
||||
-- 'name' [string] name of the item
|
||||
|
||||
+14
-14
@@ -406,16 +406,16 @@ pfUI:RegisterModule("castbar", function ()
|
||||
end
|
||||
end)
|
||||
|
||||
pfUI.castbar.target.SPELL_CAST = string.gsub(string.gsub(SPELLCASTOTHERSTART,"%d%$",""), "%%s", "(.+)")
|
||||
pfUI.castbar.target.SPELL_PERFORM = string.gsub(string.gsub(SPELLPERFORMOTHERSTART,"%d%$",""), "%%s", "(.+)")
|
||||
pfUI.castbar.target.SPELL_GAINS = string.gsub(string.gsub(AURAADDEDOTHERHELPFUL,"%d%$",""), "%%s", "(.+)")
|
||||
pfUI.castbar.target.SPELL_AFFLICTED = string.gsub(string.gsub(AURAADDEDOTHERHARMFUL,"%d%$",""), "%%s", "(.+)")
|
||||
pfUI.castbar.target.SPELL_HIT = string.gsub(string.gsub(string.gsub(SPELLLOGSELFOTHER,"%d%$",""),"%%d","%%d+"),"%%s","(.+)")
|
||||
pfUI.castbar.target.SPELL_CRIT = string.gsub(string.gsub(string.gsub(SPELLLOGCRITSELFOTHER,"%d%$",""),"%%d","%%d+"),"%%s","(.+)")
|
||||
pfUI.castbar.target.OTHER_SPELL_HIT = string.gsub(string.gsub(string.gsub(SPELLLOGOTHEROTHER,"%d%$",""), "%%s", "(.+)"), "%%d", "%%d+")
|
||||
pfUI.castbar.target.OTHER_SPELL_CRIT = string.gsub(string.gsub(string.gsub(SPELLLOGOTHEROTHER,"%d%$",""), "%%s", "(.+)"), "%%d", "%%d+")
|
||||
pfUI.castbar.target.SPELL_INTERRUPT = string.gsub(string.gsub(SPELLINTERRUPTSELFOTHER, "%d%$",""),"%%s","(.+)")
|
||||
pfUI.castbar.target.OTHER_SPELL_INTERRUPT = string.gsub(string.gsub(SPELLINTERRUPTOTHEROTHER,"%d%$",""),"%%s", "(.+)")
|
||||
pfUI.castbar.target.SPELL_CAST = SanitizePattern(SPELLCASTOTHERSTART)
|
||||
pfUI.castbar.target.SPELL_PERFORM = SanitizePattern(SPELLPERFORMOTHERSTART)
|
||||
pfUI.castbar.target.SPELL_GAINS = SanitizePattern(AURAADDEDOTHERHELPFUL)
|
||||
pfUI.castbar.target.SPELL_AFFLICTED = SanitizePattern(AURAADDEDOTHERHARMFUL)
|
||||
pfUI.castbar.target.SPELL_HIT = SanitizePattern(SPELLLOGSELFOTHER)
|
||||
pfUI.castbar.target.SPELL_CRIT = SanitizePattern(SPELLLOGCRITSELFOTHER)
|
||||
pfUI.castbar.target.OTHER_SPELL_HIT = SanitizePattern(SPELLLOGOTHEROTHER)
|
||||
pfUI.castbar.target.OTHER_SPELL_CRIT = SanitizePattern(SPELLLOGOTHEROTHER)
|
||||
pfUI.castbar.target.SPELL_INTERRUPT = SanitizePattern(SPELLINTERRUPTSELFOTHER)
|
||||
pfUI.castbar.target.OTHER_SPELL_INTERRUPT = SanitizePattern(SPELLINTERRUPTOTHEROTHER)
|
||||
|
||||
pfUI.castbar.target:RegisterEvent("CHAT_MSG_SPELL_SELF_DAMAGE")
|
||||
pfUI.castbar.target:RegisterEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE")
|
||||
@@ -478,25 +478,25 @@ pfUI:RegisterModule("castbar", function ()
|
||||
return
|
||||
end
|
||||
|
||||
-- Your (.+) hits (.+) for %d+.
|
||||
-- Your (.+) hits (.+) for (%d+).
|
||||
for spell, mob in string.gfind(arg1, pfUI.castbar.target.SPELL_HIT) do
|
||||
pfUI.castbar.target:StopAction(mob, spell)
|
||||
return
|
||||
end
|
||||
|
||||
-- Your (.+) crits (.+) for %d+.
|
||||
-- Your (.+) crits (.+) for (%d+).
|
||||
for spell, mob in string.gfind(arg1, pfUI.castbar.target.SPELL_CRIT) do
|
||||
pfUI.castbar.target:StopAction(mob, spell)
|
||||
return
|
||||
end
|
||||
|
||||
-- (.+)'s (.+) %a hits (.+) for %d+.
|
||||
-- (.+)'s (.+) %a hits (.+) for (%d+).
|
||||
for _, spell, mob in string.gfind(arg1, pfUI.castbar.target.OTHER_SPELL_HIT) do
|
||||
pfUI.castbar.target:StopAction(mob, spell)
|
||||
return
|
||||
end
|
||||
|
||||
-- (.+)'s (.+) %a crits (.+) for %d+.
|
||||
-- (.+)'s (.+) %a crits (.+) for (%d+).
|
||||
for _, spell, mob in string.gfind(arg1, pfUI.castbar.target.OTHER_SPELL_CRIT) do
|
||||
pfUI.castbar.target:StopAction(mob, spell)
|
||||
return
|
||||
|
||||
+13
-14
@@ -14,23 +14,23 @@ pfUI:RegisterModule("debuffs", function ()
|
||||
pfUI.debuffs.active = true
|
||||
|
||||
-- CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE // CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE
|
||||
pfUI.debuffs.AURAADDEDOTHERHARMFUL = gsub(gsub(gsub(gsub(gsub(AURAADDEDOTHERHARMFUL, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.AURAADDEDOTHERHARMFUL = SanitizePattern(AURAADDEDOTHERHARMFUL)
|
||||
|
||||
-- CHAT_MSG_SPELL_FAILED_LOCALPLAYER
|
||||
pfUI.debuffs.SPELLFAILCASTSELF = gsub(gsub(gsub(gsub(gsub(SPELLFAILCASTSELF, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLFAILPERFORMSELF = gsub(gsub(gsub(gsub(gsub(SPELLFAILPERFORMSELF, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLIMMUNESELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLIMMUNESELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLFAILCASTSELF = SanitizePattern(SPELLFAILCASTSELF)
|
||||
pfUI.debuffs.SPELLFAILPERFORMSELF = SanitizePattern(SPELLFAILPERFORMSELF)
|
||||
pfUI.debuffs.SPELLIMMUNESELFOTHER = SanitizePattern(SPELLIMMUNESELFOTHER)
|
||||
|
||||
-- CHAT_MSG_SPELL_SELF_DAMAGE
|
||||
pfUI.debuffs.IMMUNEDAMAGECLASSSELFOTHER = gsub(gsub(gsub(gsub(gsub(IMMUNEDAMAGECLASSSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLMISSSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLMISSSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLRESISTSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLRESISTSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLEVADEDSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLEVADEDSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLDODGEDSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLDODGEDSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLDEFLECTEDSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLDEFLECTEDSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLREFLECTSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLREFLECTSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLPARRIEDSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLPARRIEDSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.SPELLLOGABSORBSELFOTHER = gsub(gsub(gsub(gsub(gsub(SPELLLOGABSORBSELFOTHER, "%(", "%%("), "%)", "%%)"), "%d%$",""), "%%s", "(.+)"), "%%d", "(%%d+)")
|
||||
pfUI.debuffs.IMMUNEDAMAGECLASSSELFOTHER = SanitizePattern(IMMUNEDAMAGECLASSSELFOTHER)
|
||||
pfUI.debuffs.SPELLMISSSELFOTHER = SanitizePattern(SPELLMISSSELFOTHER)
|
||||
pfUI.debuffs.SPELLRESISTSELFOTHER = SanitizePattern(SPELLRESISTSELFOTHER)
|
||||
pfUI.debuffs.SPELLEVADEDSELFOTHER = SanitizePattern(SPELLEVADEDSELFOTHER)
|
||||
pfUI.debuffs.SPELLDODGEDSELFOTHER = SanitizePattern(SPELLDODGEDSELFOTHER)
|
||||
pfUI.debuffs.SPELLDEFLECTEDSELFOTHER = SanitizePattern(SPELLDEFLECTEDSELFOTHER)
|
||||
pfUI.debuffs.SPELLREFLECTSELFOTHER = SanitizePattern(SPELLREFLECTSELFOTHER)
|
||||
pfUI.debuffs.SPELLPARRIEDSELFOTHER = SanitizePattern(SPELLPARRIEDSELFOTHER)
|
||||
pfUI.debuffs.SPELLLOGABSORBSELFOTHER = SanitizePattern(SPELLLOGABSORBSELFOTHER)
|
||||
|
||||
pfUI.debuffs.objects = {}
|
||||
|
||||
@@ -198,7 +198,6 @@ pfUI:RegisterModule("debuffs", function ()
|
||||
function pfUI.debuffs:AddEffect(unit, unitlevel, effect)
|
||||
if not unit or not effect then return end
|
||||
unitlevel = unitlevel or 0
|
||||
--message("add effect " .. unit .. "(" .. unitlevel .. ") - " .. effect)
|
||||
if not pfUI.debuffs.objects[unit] then pfUI.debuffs.objects[unit] = {} end
|
||||
if not pfUI.debuffs.objects[unit][unitlevel] then pfUI.debuffs.objects[unit][unitlevel] = {} end
|
||||
if not pfUI.debuffs.objects[unit][unitlevel][effect] then pfUI.debuffs.objects[unit][unitlevel][effect] = {} end
|
||||
|
||||
Reference in New Issue
Block a user