4 Commits
Author SHA1 Message Date
Brues d4931b1ba7 defeats the purpose of the addon and confuses users 2026-07-20 15:37:53 -05:00
Brues 73fd6803ab Replace Babble-Spell library with Nampower GetSpellRecField
Drop the bundled Babble-Spell-2.2 localization library and resolve spell
names from their IDs via Nampower's GetSpellRecField(id, "name"). Adds a
shared MikSBT.SpellName(id, fallback) helper that returns the client's
localized name when Nampower is present and falls back to the English name
otherwise, so DEFAULT_CONFIG still builds without a Lua error when Nampower
is absent.

Also removes the now-redundant BS:GetSpellIcon fallback in the icon
resolver (the Nampower spellIconID path already covers it) and drops the
lib from the .toc.
2026-07-19 02:46:43 -05:00
Brues 496979f486 Add BigWigs packager config to bundle both addons in one zip
Add .pkgmeta (package-as MikScrollingBattleText, move-folders pulling both addon folders to top-level siblings) and a tag-triggered GitHub Actions workflow using BigWigsMods/packager that attaches the single zip to an auto-created GitHub release. Switch both TOCs' Version to the @project-version@ substitution token so the packager stamps the git tag version.
2026-06-23 13:26:13 -05:00
Brues a5e46a62b8 Change nampower school table to sequential index keys
nampowerSchoolToType now uses sequential keys (0=Physical, then implicit 1-6 for Holy/Fire/Nature/Frost/Shadow/Arcane) instead of the previous power-of-two bitmask keys (0,1,2,4,8,16,32).
2026-06-23 13:25:13 -05:00
8 changed files with 71 additions and 10363 deletions
+23
View File
@@ -0,0 +1,23 @@
name: Package and release
on:
push:
tags:
- '**'
permissions:
contents: write
jobs:
package:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Package and create GitHub release
uses: BigWigsMods/packager@v2
env:
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }}
+10
View File
@@ -0,0 +1,10 @@
package-as: MikScrollingBattleText
enable-nolib-creation: no
move-folders:
MikScrollingBattleText/MikScrollingBattleText: MikScrollingBattleText
MikScrollingBattleText/MikScrollingBattleTextOptions: MikScrollingBattleTextOptions
ignore:
- README.md
File diff suppressed because it is too large Load Diff
@@ -705,15 +705,17 @@ end
-- Nampower / SuperWoW / UnitXP Infrastructure.
-------------------------------------------------------------------------------------
-- Spell school bitmask (Nampower) to MikCEH damage type mapping.
-- Spell school index (Nampower) to MikCEH damage type mapping.
-- Nampower reports the school as a sequential index (0 = Physical, 1 = Holy,
-- 2 = Fire, ...), not the power-of-two bitmask the comment previously assumed.
local nampowerSchoolToType = {
[0] = MikCEH.DAMAGETYPE_PHYSICAL, -- Physical
[1] = MikCEH.DAMAGETYPE_HOLY, -- Holy
[2] = MikCEH.DAMAGETYPE_FIRE, -- Fire
[4] = MikCEH.DAMAGETYPE_NATURE, -- Nature
[8] = MikCEH.DAMAGETYPE_FROST, -- Frost
[16] = MikCEH.DAMAGETYPE_SHADOW, -- Shadow
[32] = MikCEH.DAMAGETYPE_ARCANE, -- Arcane
[0] = MikCEH.DAMAGETYPE_PHYSICAL,
MikCEH.DAMAGETYPE_HOLY,
MikCEH.DAMAGETYPE_FIRE,
MikCEH.DAMAGETYPE_NATURE,
MikCEH.DAMAGETYPE_FROST,
MikCEH.DAMAGETYPE_SHADOW,
MikCEH.DAMAGETYPE_ARCANE,
}
-- Nampower SpellMissInfo to MikCEH action type mapping.
@@ -802,7 +804,7 @@ end
-- **********************************************************************************
-- Converts a Nampower spell school bitmask to a MikCEH damage type.
-- Converts a Nampower spell school index to a MikCEH damage type.
-- **********************************************************************************
local function SchoolToDamageType(school)
if not school then return MikCEH.DAMAGETYPE_PHYSICAL end
@@ -133,9 +133,6 @@ NO_ICON_CACHE = {}
-- Cache for spellId-based icon lookups (bypasses Babble-Spell and tooltip scanning).
local spellIdIconCache = {}
-- Babble-Spell pour les icones des spells de classe
local BS = AceLibrary("Babble-Spell-2.2")
-- Damage type → color prefix lookup (lazily initialized after globals are available).
local damageTypeColors
local function GetDamageTypeColor(dt)
@@ -1343,7 +1340,7 @@ function MikSBT.UpdateProfiles()
if (profile.CreationVersion < 4.1) then
if profile.Triggers.MSBT_TRIGGER_WINDFURY then -- Fix Windfury Trigger
profile.Triggers.MSBT_TRIGGER_WINDFURY.TriggerSettings.SearchPatterns[1] = string.format(AURAADDEDSELFHELPFUL, string_gsub(BS["Windfury Totem"], "-", "%%-"))
profile.Triggers.MSBT_TRIGGER_WINDFURY.TriggerSettings.SearchPatterns[1] = string.format(AURAADDEDSELFHELPFUL, string_gsub(MikSBT.SpellName(8512, "Windfury Totem"), "-", "%%-"))
end
if profile.Triggers.MSBT_TRIGGER_HAND_OF_JUSTICE then -- Delete Hand of Justice Trigger
@@ -1870,7 +1867,6 @@ function MikSBT.AddAnimation(animationEvent)
local name = string_gsub(animationEvent.EffectName, " %(%d+%)", "")
-- DEFAULT_CHAT_FRAME:AddMessage(animationEvent.EffectName)
-- DEFAULT_CHAT_FRAME:AddMessage(name)
-- texture = BS:GetSpellIcon(name)
if ICON_CACHE[strlower(name)] then
texture = ICON_CACHE[strlower(name)]
elseif not texture and MikSBT.FindBuff(name) then
@@ -1897,8 +1893,6 @@ function MikSBT.AddAnimation(animationEvent)
if ok3 and tex then texture = tex; ICON_CACHE[strlower(name)] = tex end
end
end
elseif not texture and BS and BS.GetSpellIcon and BS:GetSpellIcon(name) then
texture = BS:GetSpellIcon(name)
elseif not texture and MikSBT.FindItemIcon(name) then
texture = MikSBT.FindItemIcon(name)
ICON_CACHE[strlower(name)] = MikSBT.FindItemIcon(name)
@@ -1,5 +1,5 @@
## Interface: 11200
## Version: 4.43
## Version: @project-version@
## Title: Mik's Scrolling Battle Text
## Notes: Scrolls battle information around the character model.
## Notes-ruRU: Прокрутка информации боя вокруг модели персонажа.
@@ -8,7 +8,6 @@
Libs\AceLibrary\AceLibrary.lua
Libs\AceLocale-2.2\AceLocale-2.2.lua
Libs\BabbleSpell-2.2\Babble-Spell-2.2.lua
MikScrollingBattleText-enUS.lua
MikScrollingBattleText-frFR.lua
+24 -13
View File
@@ -18,9 +18,20 @@ MikSBT.WINDOW_TITLE = "Mik's Scrolling Battle Text " .. MikSBT.VERSION_STRING ..
MikSBT.COMMAND = "/msbt";
local BS = AceLibrary("Babble-Spell-2.2")
local L = AceLibrary("AceLocale-2.2"):new(MikSBT.MOD_NAME)
-- Resolves a spell's localized name from its ID via Nampower's GetSpellRecField,
-- replacing the old Babble-Spell library. Falls back to the given English name when
-- Nampower is absent (vanilla has no built-in spellId->name lookup). Shared across
-- files via the MikSBT namespace; localization.lua loads first per the .toc.
function MikSBT.SpellName(id, fallback)
if GetSpellRecField then
local ok, n = pcall(GetSpellRecField, id, "name")
if ok and n and n ~= "" then return n end
end
return fallback
end
-------------------------------------------------------------------------------
-- English (Default)
-------------------------------------------------------------------------------
@@ -205,7 +216,7 @@ MikSBT.DEFAULT_CONFIG = {
CreationVersion = MikSBT.VERSION_NUMBER,
ShowPartialEffects = true,
ShowOverheals = true,
ShowGameDamage = true,
ShowGameDamage = false,
UseStickyCrits = true,
ShowAllManaGains = false,
LowHealthSound = true,
@@ -1134,7 +1145,7 @@ MikSBT.DEFAULT_CONFIG = {
MSBT_TRIGGER_EXECUTE = {
EventSettings = {
Show = true,
Message = BS["Execute"].."!",
Message = MikSBT.SpellName(5308, "Execute").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1151,7 +1162,7 @@ MikSBT.DEFAULT_CONFIG = {
MSBT_TRIGGER_HAMMER_OF_WRATH = {
EventSettings = {
Show = true,
Message = BS["Hammer of Wrath"].."!",
Message = MikSBT.SpellName(24275, "Hammer of Wrath").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1168,7 +1179,7 @@ MikSBT.DEFAULT_CONFIG = {
MSBT_TRIGGER_COUNTER_ATTACK = {
EventSettings = {
Show = true,
Message = BS["Counterattack"].."!",
Message = MikSBT.SpellName(19306, "Counterattack").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1187,7 +1198,7 @@ MikSBT.DEFAULT_CONFIG = {
MSBT_TRIGGER_MONGOOSE_BITE = {
EventSettings = {
Show = true,
Message = BS["Mongoose Bite"].."!",
Message = MikSBT.SpellName(1495, "Mongoose Bite").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1206,7 +1217,7 @@ MikSBT.DEFAULT_CONFIG = {
MSBT_TRIGGER_CLEARCAST = {
EventSettings = {
Show = true,
Message = BS["Clearcasting"].."!",
Message = MikSBT.SpellName(16246, "Clearcasting").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1217,14 +1228,14 @@ MikSBT.DEFAULT_CONFIG = {
Classes = {MAGE=true,SHAMAN=true},
TriggerType = 6,
TriggerEvents = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"},
SearchPatterns = {string.format(AURAADDEDSELFHELPFUL, BS["Clearcasting"])},
SearchPatterns = {string.format(AURAADDEDSELFHELPFUL, MikSBT.SpellName(16246, "Clearcasting"))},
},
Texture = "Interface\\Icons\\spell_shadow_manaburn"
},
MSBT_TRIGGER_RIPOSTE = {
EventSettings = {
Show = true,
Message = BS["Riposte"].."!",
Message = MikSBT.SpellName(14251, "Riposte").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1253,14 +1264,14 @@ MikSBT.DEFAULT_CONFIG = {
TriggerSettings = {
TriggerType = 6,
TriggerEvents = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"},
SearchPatterns = {string.format(AURAADDEDSELFHELPFUL, string.gsub(BS["Windfury Totem"], "-", "%%-"))}, --"Vous gagnez Totem Furie-des-vents" -- escape char !
SearchPatterns = {string.format(AURAADDEDSELFHELPFUL, string.gsub(MikSBT.SpellName(8512, "Windfury Totem"), "-", "%%-"))}, --"Vous gagnez Totem Furie-des-vents" -- escape char !
},
Texture = "Interface\\Icons\\spell_nature_cyclone"
},
MSBT_TRIGGER_NIGHTFALL = {
EventSettings = {
Show = true,
Message = BS["Nightfall"].."!",
Message = MikSBT.SpellName(18094, "Nightfall").."!",
IsSticky = true,
FontSettings = {
Color = {r=0.709, g=0, b=0.709},
@@ -1271,14 +1282,14 @@ MikSBT.DEFAULT_CONFIG = {
Classes = {WARLOCK=true},
TriggerType = 6,
TriggerEvents = {"CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS"},
SearchPatterns = {string.format(AURAADDEDSELFHELPFUL, BS["Shadow Trance"])},
SearchPatterns = {string.format(AURAADDEDSELFHELPFUL, MikSBT.SpellName(17941, "Shadow Trance"))},
},
Texture = "Interface\\Icons\\spell_shadow_twilight"
},
MSBT_TRIGGER_OVERPOWER = {
EventSettings = {
Show = true,
Message = BS["Overpower"].."!",
Message = MikSBT.SpellName(7384, "Overpower").."!",
IsSticky = true,
FontSettings = {
Color = {r=1, g=1, b=0},
@@ -1,5 +1,5 @@
## Interface: 11200
## Version: 4.43
## Version: @project-version@
## Title: Mik's Scrolling Battle Text Options
## Notes: Load on demand options for Mik's Scrolling Battle Text
## Notes-ruRU: Настройки для Mik's Scrolling Battle Text