From 1f289de84df27f41adf51218cca15696d1eea817 Mon Sep 17 00:00:00 2001 From: NoM0Re Date: Fri, 25 Apr 2025 19:28:09 +0200 Subject: [PATCH] 5.19.9 --- WeakAuras/DiscordList.lua | 4 +- WeakAuras/GenericTrigger.lua | 8 +- WeakAuras/Init.lua | 4 +- WeakAuras/Locales/zLocales.lua | 620 +++++++++++++++++++- WeakAuras/Prototypes.lua | 38 ++ WeakAuras/TSUHelpers.lua | 22 +- WeakAuras/Types.lua | 124 ++++ WeakAuras/WeakAuras.toc | 2 +- WeakAurasModelPaths/WeakAurasModelPaths.toc | 2 +- WeakAurasOptions/Changelog.lua | 59 +- WeakAurasOptions/VersionCheck.lua | 2 +- WeakAurasOptions/WeakAurasOptions.toc | 2 +- 12 files changed, 827 insertions(+), 60 deletions(-) diff --git a/WeakAuras/DiscordList.lua b/WeakAuras/DiscordList.lua index dca5926..2ca194b 100644 --- a/WeakAuras/DiscordList.lua +++ b/WeakAuras/DiscordList.lua @@ -24,6 +24,7 @@ Private.DiscordList = { [=[Fatpala]=], [=[Fels]=], [=[Fenchurch]=], + [=[Fliyin]=], [=[Fx]=], [=[Guffin]=], [=[Ifor]=], @@ -33,7 +34,6 @@ Private.DiscordList = { [=[kanegasi]=], [=[Koxy]=], [=[Krazyito]=], - [=[Leezy]=], [=[Listefano]=], [=[Luckyone]=], [=[Luxthos]=], @@ -46,7 +46,6 @@ Private.DiscordList = { [=[NostraDumAzz]=], [=[Oi]=], [=[Ora]=], - [=[ParkSaeRoyi]=], [=[phoenix7700]=], [=[pit]=], [=[Putro]=], @@ -54,7 +53,6 @@ Private.DiscordList = { [=[Reloe]=], [=[Spaten]=], [=[Tel]=], - [=[Tollo]=], [=[Translit]=], [=[update]=], [=[vozochris]=], diff --git a/WeakAuras/GenericTrigger.lua b/WeakAuras/GenericTrigger.lua index 7872633..3dfbab3 100644 --- a/WeakAuras/GenericTrigger.lua +++ b/WeakAuras/GenericTrigger.lua @@ -663,12 +663,12 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2 else ok, returnValue = pcall(data.triggerFunc, allStates, event, arg1, arg2, ...); end - if (ok and (returnValue or (returnValue ~= false and allStates.__changed))) then + if (ok and (returnValue or (returnValue ~= false and allStates:IsChanged()))) then updateTriggerState = true; elseif not ok then errorHandler(returnValue) end - allStates.__changed = nil + allStates:SetChanged() for key, state in pairs(allStates) do if (type(state) ~= "table") then errorHandler(string.format(L["All States table contains a non table at key: '%s'."], key)) @@ -683,7 +683,7 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2 else ok, returnValue = pcall(data.triggerFunc, allStates, event, arg1, arg2, ...); end - if (ok and returnValue) or optionsEvent then + if( (ok and returnValue) or optionsEvent) then for id, state in pairs(allStates) do if (state.changed) then if (Private.ActivateEvent(id, triggernum, data, state)) then @@ -773,7 +773,7 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2 if (data.statesParameter == "all") then if data.untriggerFunc then local ok, returnValue = pcall(data.untriggerFunc, allStates, event, arg1, arg2, ...); - if (ok and returnValue) or optionsEvent then + if ok and returnValue then for id, state in pairs(allStates) do if (state.changed) then if (Private.EndEvent(state)) then diff --git a/WeakAuras/Init.lua b/WeakAuras/Init.lua index c4428af..958b11d 100644 --- a/WeakAuras/Init.lua +++ b/WeakAuras/Init.lua @@ -9,8 +9,8 @@ WeakAuras.halfWidth = WeakAuras.normalWidth / 2 WeakAuras.doubleWidth = WeakAuras.normalWidth * 2 local versionStringFromToc = GetAddOnMetadata("WeakAuras", "Version") -local versionString = "5.19.8 Beta" -local buildTime = "2025041316000" +local versionString = "5.19.9 Beta" +local buildTime = "20250425191700" local isAwesomeEnabled = C_NamePlate and C_NamePlate.GetNamePlateForUnit and true or false WeakAuras.versionString = versionString diff --git a/WeakAuras/Locales/zLocales.lua b/WeakAuras/Locales/zLocales.lua index 21ff547..f7d35e0 100644 --- a/WeakAuras/Locales/zLocales.lua +++ b/WeakAuras/Locales/zLocales.lua @@ -3,7 +3,7 @@ local L = WeakAuras.L local locale = GAME_LOCALE or GetLocale() -- This File adds Custom Localization for --- Specializations Reputation and Time formats +-- Specializations, Reputation, Creature Types, Creature Families, and Time Formats if (locale == "enUS" or locale == "enGB") then L["Requires syncing the specialization via LibGroupTalents."] = "Requires syncing the specialization via LibGroupTalents." L["Affliction"] = "Affliction" @@ -121,6 +121,62 @@ if (locale == "enUS" or locale == "enGB") then L["Wintersaber Trainers"] = "Wintersaber Trainers" L["Zandalar Tribe"] = "Zandalar Tribe" + L["Beast"] = "Beast" + L["Critter"] = "Critter" + L["Demon"] = "Demon" + L["Dragonkin"] = "Dragonkin" + L["Elemental"] = "Elemental" + L["Gas Cloud"] = "Gas Cloud" + L["Giant"] = "Giant" + L["Humanoid"] = "Humanoid" + L["Mechanical"] = "Mechanical" + L["Non-combat Pet"] = "Non-combat Pet" + L["Not specified"] = "Not specified" + L["Totem"] = "Totem" + L["Undead"] = "Undead" + + L["Wolf"] = "Wolf" + L["Cat"] = "Cat" + L["Spider"] = "Spider" + L["Bear"] = "Bear" + L["Boar"] = "Boar" + L["Crocolisk"] = "Crocolisk" + L["Carrion Bird"] = "Carrion Bird" + L["Crab"] = "Crab" + L["Gorilla"] = "Gorilla" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Tallstrider" + L["Felhunter"] = "Felhunter" + L["Voidwalker"] = "Voidwalker" + L["Succubus"] = "Succubus" + L["Doomguard"] = "Doomguard" + L["Scorpid"] = "Scorpid" + L["Turtle"] = "Turtle" + L["Imp"] = "Imp" + L["Bat"] = "Bat" + L["Hyena"] = "Hyena" + L["Bird of Prey"] = "Bird of Prey" + L["Wind Serpent"] = "Wind Serpent" + L["Remote Control"] = "Remote Control" + L["Felguard"] = "Felguard" + L["Dragonhawk"] = "Dragonhawk" + L["Ravager"] = "Ravager" + L["Warp Stalker"] = "Warp Stalker" + L["Sporebat"] = "Sporebat" + L["Nether Ray"] = "Nether Ray" + L["Serpent"] = "Serpent" + L["Moth"] = "Moth" + L["Chimaera"] = "Chimaera" + L["Devilsaur"] = "Devilsaur" + L["Ghoul"] = "Ghoul" + L["Silithid"] = "Silithid" + L["Worm"] = "Worm" + L["Rhino"] = "Rhino" + L["Wasp"] = "Wasp" + L["Core Hound"] = "Core Hound" + L["Spirit Beast"] = "Spirit Beast" + L["Incubus"] = "Incubus" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d |4Second:Seconds;" L["SECONDS_ABBR"] = "%d |4Sec:Sec;" @@ -278,6 +334,62 @@ elseif (locale == "deDE") then L["Wintersaber Trainers"] = "Wintersäblerausbilder" L["Zandalar Tribe"] = "Stamm der Zandalari" + L["Beast"] = "Wildtier" + L["Critter"] = "Tier" + L["Demon"] = "Dämon" + L["Dragonkin"] = "Drachkin" + L["Elemental"] = "Elementar" + L["Gas Cloud"] = "Gaswolke" + L["Giant"] = "Riese" + L["Humanoid"] = "Humanoid" + L["Mechanical"] = "Mechanisch" + L["Non-combat Pet"] = "Haustier" + L["Not specified"] = "Nicht spezifiziert" + L["Totem"] = "Totem" + L["Undead"] = "Untoter" + + L["Wolf"] = "Wolf" + L["Cat"] = "Katze" + L["Spider"] = "Spinne" + L["Bear"] = "Bär" + L["Boar"] = "Eber" + L["Crocolisk"] = "Krokilisk" + L["Carrion Bird"] = "Aasvogel" + L["Crab"] = "Krebs" + L["Gorilla"] = "Gorilla" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Weitschreiter" + L["Felhunter"] = "Teufelsjäger" + L["Voidwalker"] = "Leerwandler" + L["Succubus"] = "Sukkubus" + L["Doomguard"] = "Verdammniswache" + L["Scorpid"] = "Skorpid" + L["Turtle"] = "Schildkröte" + L["Imp"] = "Wichtel" + L["Bat"] = "Fledermaus" + L["Hyena"] = "Hyäne" + L["Bird of Prey"] = "Raubvogel" + L["Wind Serpent"] = "Windnatter" + L["Remote Control"] = "Ferngesteuert" + L["Felguard"] = "Teufelswache" + L["Dragonhawk"] = "Drachenfalke" + L["Ravager"] = "Felshetzer" + L["Warp Stalker"] = "Sphärenjäger" + L["Sporebat"] = "Sporensegler" + L["Nether Ray"] = "Netherrochen" + L["Serpent"] = "Schlange" + L["Moth"] = "Motte" + L["Chimaera"] = "Schimäre" + L["Devilsaur"] = "Teufelssaurier" + L["Ghoul"] = "Ghul" + L["Silithid"] = "Silithid" + L["Worm"] = "Wurm" + L["Rhino"] = "Rhinozeros" + L["Wasp"] = "Wespe" + L["Core Hound"] = "Kernhund" + L["Spirit Beast"] = "Geisterbestie" + L["Incubus"] = "Inkubus" + L["SHORTDATE_EU"] = "%1$d.%2$d.%3$02d" L["D_SECONDS"] = "%d |4Sekunde:Sekunden;" L["SECONDS_ABBR"] = "%d |4Sek.:Sek.;" @@ -434,6 +546,62 @@ elseif (locale == "esES") then L["Wintersaber Trainers"] = "Instructores de Sableinvernales" L["Zandalar Tribe"] = "Tribu Zandalar" + L["Beast"] = "Bestia" + L["Critter"] = "Alma" + L["Demon"] = "Demonio" + L["Dragonkin"] = "Dragón" + L["Elemental"] = "Elemental" + L["Gas Cloud"] = "Nube de Gas" + L["Giant"] = "Gigante" + L["Humanoid"] = "Humanoide" + L["Mechanical"] = "Mecánico" + L["Non-combat Pet"] = "Mascota no combatiente" + L["Not specified"] = "No especificado" + L["Totem"] = "Tótem" + L["Undead"] = "No-muerto" + + L["Wolf"] = "Lobo" + L["Cat"] = "Felino" + L["Spider"] = "Araña" + L["Bear"] = "Oso" + L["Boar"] = "Jabalí" + L["Crocolisk"] = "Crocolisco" + L["Carrion Bird"] = "Carroñero" + L["Crab"] = "Cangrejo" + L["Gorilla"] = "Gorila" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Zancaalta" + L["Felhunter"] = "Manáfago" + L["Voidwalker"] = "Abisario" + L["Succubus"] = "Súcubo" + L["Doomguard"] = "Guardia apocalíptico" + L["Scorpid"] = "Escórpido" + L["Turtle"] = "Tortuga" + L["Imp"] = "Diablillo" + L["Bat"] = "Murciélago" + L["Hyena"] = "Hiena" + L["Bird of Prey"] = "Ave rapaz" + L["Wind Serpent"] = "Serpiente alada" + L["Remote Control"] = "Control remoto" + L["Felguard"] = "Guardia vil" + L["Dragonhawk"] = "Dracohalcón" + L["Ravager"] = "Devastador" + L["Warp Stalker"] = "Acechador deformado" + L["Sporebat"] = "Esporiélago" + L["Nether Ray"] = "Raya abisal" + L["Serpent"] = "Serpiente" + L["Moth"] = "Palomilla" + L["Chimaera"] = "Quimera" + L["Devilsaur"] = "Demosaurio" + L["Ghoul"] = "Necrófago" + L["Silithid"] = "Silítido" + L["Worm"] = "Gusano" + L["Rhino"] = "Rinoceronte" + L["Wasp"] = "Avispa" + L["Core Hound"] = "Can del Núcleo" + L["Spirit Beast"] = "Bestia espíritu" + L["Incubus"] = "Íncubos" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d |4segundo:segundos;" L["SECONDS_ABBR"] = "%d |4s:s;" @@ -591,6 +759,62 @@ elseif (locale == "esMX") then L["Wintersaber Trainers"] = "Instructores de Sableinvernales" L["Zandalar Tribe"] = "Tribu Zandalar" + L["Beast"] = "Bestia" + L["Critter"] = "Alma" + L["Demon"] = "Demonio" + L["Dragonkin"] = "Dragon" + L["Elemental"] = "Elemental" + L["Gas Cloud"] = "Nube de Gas" + L["Giant"] = "Gigante" + L["Humanoid"] = "Humanoide" + L["Mechanical"] = "Mecánico" + L["Non-combat Pet"] = "Mascota mansa" + L["Not specified"] = "Sin especificar" + L["Totem"] = "Totém" + L["Undead"] = "No-muerto" + + L["Wolf"] = "Lobo" + L["Cat"] = "Felino" + L["Spider"] = "Araña" + L["Bear"] = "Oso" + L["Boar"] = "Jabalí" + L["Crocolisk"] = "Crocolisco" + L["Carrion Bird"] = "Carroñero" + L["Crab"] = "Cangrejo" + L["Gorilla"] = "Gorila" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Zancaalta" + L["Felhunter"] = "Manáfago" + L["Voidwalker"] = "Abisario" + L["Succubus"] = "Súcubo" + L["Doomguard"] = "Guardia apocalíptico" + L["Scorpid"] = "Escórpido" + L["Turtle"] = "Tortuga" + L["Imp"] = "Diablillo" + L["Bat"] = "Murciélago" + L["Hyena"] = "Hiena" + L["Bird of Prey"] = "Ave rapaz" + L["Wind Serpent"] = "Serpiente alada" + L["Remote Control"] = "Control remoto" + L["Felguard"] = "Guardia vil" + L["Dragonhawk"] = "Dracohalcón" + L["Ravager"] = "Devastador" + L["Warp Stalker"] = "Acechador deformado" + L["Sporebat"] = "Esporiélago" + L["Nether Ray"] = "Raya abisal" + L["Serpent"] = "Serpiente" + L["Moth"] = "Palomilla" + L["Chimaera"] = "Quimera" + L["Devilsaur"] = "Demosaurio" + L["Ghoul"] = "Necrófago" + L["Silithid"] = "Silítido" + L["Worm"] = "Gusano" + L["Rhino"] = "Rinoceronte" + L["Wasp"] = "Avispa" + L["Core Hound"] = "Can del Núcleo" + L["Spirit Beast"] = "Bestia espíritu" + L["Incubus"] = "Íncubo" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d |4segundo:segundos;" L["SECONDS_ABBR"] = "%d |4s:s;" @@ -748,6 +972,62 @@ elseif (locale == "frFR") then L["Wintersaber Trainers"] = "Éleveurs de sabres-d'hiver" L["Zandalar Tribe"] = "Tribu Zandalar" + L["Beast"] = "Bête" + L["Critter"] = "Bestiole" + L["Demon"] = "Démon" + L["Dragonkin"] = "Draconien" + L["Elemental"] = "Elémentaire" + L["Gas Cloud"] = "Nuage de gaz" + L["Giant"] = "Géant" + L["Humanoid"] = "Humanoïde" + L["Mechanical"] = "Mécanique" + L["Non-combat Pet"] = "Familier pacifique" + L["Not specified"] = "Non spécifié" + L["Totem"] = "Totem" + L["Undead"] = "Mort-vivant" + + L["Wolf"] = "Loup" + L["Cat"] = "Félin" + L["Spider"] = "Araignée" + L["Bear"] = "Ours" + L["Boar"] = "Sanglier" + L["Crocolisk"] = "Crocilisque" + L["Carrion Bird"] = "Charognard" + L["Crab"] = "Crabe" + L["Gorilla"] = "Gorille" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Haut-trotteur" + L["Felhunter"] = "Chasseur corrompu" + L["Voidwalker"] = "Marcheur du Vide" + L["Succubus"] = "Succube" + L["Doomguard"] = "Garde funeste" + L["Scorpid"] = "Scorpide" + L["Turtle"] = "Tortue" + L["Imp"] = "Diablotin" + L["Bat"] = "Chauve-souris" + L["Hyena"] = "Hyène" + L["Bird of Prey"] = "Oiseau de proie" + L["Wind Serpent"] = "Serpent des vents" + L["Remote Control"] = "Télécommande" + L["Felguard"] = "Gangregarde" + L["Dragonhawk"] = "Faucon-dragon" + L["Ravager"] = "Ravageur" + L["Warp Stalker"] = "Traqueur dim." + L["Sporebat"] = "Sporoptère" + L["Nether Ray"] = "Raie du Néant" + L["Serpent"] = "Serpent" + L["Moth"] = "Phalène" + L["Chimaera"] = "Chimère" + L["Devilsaur"] = "Diablosaure" + L["Ghoul"] = "Goule" + L["Silithid"] = "Silithide" + L["Worm"] = "Ver" + L["Rhino"] = "Rhinocéros" + L["Wasp"] = "Guêpe" + L["Core Hound"] = "Chien du Magma" + L["Spirit Beast"] = "Esprit de bête" + L["Incubus"] = "Incube" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d |4seconde:secondes;" L["SECONDS_ABBR"] = "%d s" @@ -896,6 +1176,64 @@ elseif (locale == "itIT") then L["Wintersaber Trainers"] = "Wintersaber Trainers" L["Zandalar Tribe"] = "Zandalar Tribe" + --[[Translation missing --]] + L["Beast"] = "Beast" + L["Critter"] = "Critter" + L["Demon"] = "Demon" + L["Dragonkin"] = "Dragonkin" + L["Elemental"] = "Elemental" + L["Gas Cloud"] = "Gas Cloud" + L["Giant"] = "Giant" + L["Humanoid"] = "Humanoid" + L["Mechanical"] = "Mechanical" + L["Non-combat Pet"] = "Non-combat Pet" + L["Not specified"] = "Not specified" + L["Totem"] = "Totem" + L["Undead"] = "Undead" + + --[[Translation missing --]] + L["Wolf"] = "Wolf" + L["Cat"] = "Cat" + L["Spider"] = "Spider" + L["Bear"] = "Bear" + L["Boar"] = "Boar" + L["Crocolisk"] = "Crocolisk" + L["Carrion Bird"] = "Carrion Bird" + L["Crab"] = "Crab" + L["Gorilla"] = "Gorilla" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Tallstrider" + L["Felhunter"] = "Felhunter" + L["Voidwalker"] = "Voidwalker" + L["Succubus"] = "Succubus" + L["Doomguard"] = "Doomguard" + L["Scorpid"] = "Scorpid" + L["Turtle"] = "Turtle" + L["Imp"] = "Imp" + L["Bat"] = "Bat" + L["Hyena"] = "Hyena" + L["Bird of Prey"] = "Bird of Prey" + L["Wind Serpent"] = "Wind Serpent" + L["Remote Control"] = "Remote Control" + L["Felguard"] = "Felguard" + L["Dragonhawk"] = "Dragonhawk" + L["Ravager"] = "Ravager" + L["Warp Stalker"] = "Warp Stalker" + L["Sporebat"] = "Sporebat" + L["Nether Ray"] = "Nether Ray" + L["Serpent"] = "Serpent" + L["Moth"] = "Moth" + L["Chimaera"] = "Chimaera" + L["Devilsaur"] = "Devilsaur" + L["Ghoul"] = "Ghoul" + L["Silithid"] = "Silithid" + L["Worm"] = "Worm" + L["Rhino"] = "Rhino" + L["Wasp"] = "Wasp" + L["Core Hound"] = "Core Hound" + L["Spirit Beast"] = "Spirit Beast" + L["Incubus"] = "Incubus" + L["SHORTDATE_EU"] = "%1$02d/%2$02d/%3$02d" L["D_SECONDS"] = "%d s" L["SECONDS_ABBR"] = "%d s" @@ -1052,6 +1390,62 @@ elseif (locale == "koKR") then L["Wintersaber Trainers"] = "눈호랑이 조련사" L["Zandalar Tribe"] = "잔달라 부족" + L["Beast"] = "야수" + L["Critter"] = "동물" + L["Demon"] = "악마" + L["Dragonkin"] = "용족" + L["Elemental"] = "정령" + L["Gas Cloud"] = "가스" + L["Giant"] = "거인" + L["Humanoid"] = "인간형" + L["Mechanical"] = "기계" + L["Non-combat Pet"] = "애완동물" + L["Not specified"] = "기타" + L["Totem"] = "토템" + L["Undead"] = "언데드" + + L["Wolf"] = "늑대" + L["Cat"] = "살쾡이" + L["Spider"] = "거미" + L["Bear"] = "곰" + L["Boar"] = "멧돼지" + L["Crocolisk"] = "악어" + L["Carrion Bird"] = "독수리" + L["Crab"] = "게" + L["Gorilla"] = "고릴라" + L["Raptor"] = "랩터" + L["Tallstrider"] = "타조" + L["Felhunter"] = "지옥사냥개" + L["Voidwalker"] = "보이드워커" + L["Succubus"] = "서큐버스" + L["Doomguard"] = "파멸의 수호병" + L["Scorpid"] = "전갈" + L["Turtle"] = "거북" + L["Imp"] = "임프" + L["Bat"] = "박쥐" + L["Hyena"] = "하이에나" + L["Bird of Prey"] = "맹금" + L["Wind Serpent"] = "천둥매" + L["Remote Control"] = "무선조종 장난감" + L["Felguard"] = "지옥수호병" + L["Dragonhawk"] = "용매" + L["Ravager"] = "칼날발톱" + L["Warp Stalker"] = "차원의 추적자" + L["Sporebat"] = "포자날개" + L["Nether Ray"] = "황천의 가오리" + L["Serpent"] = "뱀" + L["Moth"] = "나방" + L["Chimaera"] = "키메라" + L["Devilsaur"] = "데빌사우루스" + L["Ghoul"] = "구울" + L["Silithid"] = "실리시드" + L["Worm"] = "벌레" + L["Rhino"] = "코뿔소" + L["Wasp"] = "말벌" + L["Core Hound"] = "심장부 사냥개" + L["Spirit Beast"] = "야수 정령" + L["Incubus"] = "인큐버스" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d초" L["SECONDS_ABBR"] = "%d초" @@ -1200,6 +1594,62 @@ elseif (locale == "ptBR") then L["Wintersaber Trainers"] = "Wintersaber Trainers" L["Zandalar Tribe"] = "Zandalar Tribe" + L["Beast"] = "Fera" + L["Critter"] = "Bicho" + L["Demon"] = "Demônio" + L["Dragonkin"] = "Draconiano" + L["Elemental"] = "Elemental" + L["Gas Cloud"] = "Nuvem de Gás" + L["Giant"] = "Gigante" + L["Humanoid"] = "Humanoide" + L["Mechanical"] = "Mecânico" + L["Non-combat Pet"] = "Mascote" + L["Not specified"] = "Não Especificado" + L["Totem"] = "Totem" + L["Undead"] = "Morto-vivo" + + L["Wolf"] = "Lobo" + L["Cat"] = "Gato" + L["Spider"] = "Aranha" + L["Bear"] = "Urso" + L["Boar"] = "Javali" + L["Crocolisk"] = "Crocolisco" + L["Carrion Bird"] = "Ave Carniceira" + L["Crab"] = "Caranguejo" + L["Gorilla"] = "Gorila" + L["Raptor"] = "Raptor" + L["Tallstrider"] = "Moa" + L["Felhunter"] = "Caçador Vil" + L["Voidwalker"] = "Emissário do Caos" + L["Succubus"] = "Súcubo" + L["Doomguard"] = "Demonarca" + L["Scorpid"] = "Escorpídeo" + L["Turtle"] = "Tartaruga" + L["Imp"] = "Diabrete" + L["Bat"] = "Morcego" + L["Hyena"] = "Hiena" + L["Bird of Prey"] = "Ave de Rapina" + L["Wind Serpent"] = "Serpente Alada" + L["Remote Control"] = "Controle Remoto" + L["Felguard"] = "Guarda Vil" + L["Dragonhawk"] = "Falcodrago" + L["Ravager"] = "Assolador" + L["Warp Stalker"] = "Espreitador Dimens." + L["Sporebat"] = "Quirósporo" + L["Nether Ray"] = "Arraia Etérea" + L["Serpent"] = "Serpente" + L["Moth"] = "Mariposa" + L["Chimaera"] = "Quimera" + L["Devilsaur"] = "Demossauro" + L["Ghoul"] = "Carniçal" + L["Silithid"] = "Silitídeo" + L["Worm"] = "Verme" + L["Rhino"] = "Rinoceronte" + L["Wasp"] = "Vespa" + L["Core Hound"] = "Cão-magma" + L["Spirit Beast"] = "Fera Espiritual" + L["Incubus"] = "Íncubo" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d |4segundo:segundos;" L["SECONDS_ABBR"] = "%d |4s:s;" @@ -1356,6 +1806,62 @@ elseif (locale == "ruRU") then L["Wintersaber Trainers"] = "Укротители ледопардов" L["Zandalar Tribe"] = "Племя Зандалар" + L["Beast"] = "Животное" + L["Critter"] = "Существо" + L["Demon"] = "Демон" + L["Dragonkin"] = "Дракон" + L["Elemental"] = "Элементаль" + L["Gas Cloud"] = "Газовое облако" + L["Giant"] = "Великан" + L["Humanoid"] = "Гуманоид" + L["Mechanical"] = "Механизм" + L["Non-combat Pet"] = "Спутник" + L["Not specified"] = "Не указано" + L["Totem"] = "Тотем" + L["Undead"] = "Нежить" + + L["Wolf"] = "Волк" + L["Cat"] = "Кошка" + L["Spider"] = "Паук" + L["Bear"] = "Медведь" + L["Boar"] = "Вепрь" + L["Crocolisk"] = "Кроколиск" + L["Carrion Bird"] = "Падальщик" + L["Crab"] = "Краб" + L["Gorilla"] = "Горилла" + L["Raptor"] = "Ящер" + L["Tallstrider"] = "Долгоног" + L["Felhunter"] = "Охотник Скверны" + L["Voidwalker"] = "Демон Бездны" + L["Succubus"] = "Суккуб" + L["Doomguard"] = "Стражник ужаса" + L["Scorpid"] = "Скорпид" + L["Turtle"] = "Черепаха" + L["Imp"] = "Бес" + L["Bat"] = "Летучая мышь" + L["Hyena"] = "Гиена" + L["Bird of Prey"] = "Сова" + L["Wind Serpent"] = "Крылатый змей" + L["Remote Control"] = "Управление" + L["Felguard"] = "Страж Скверны" + L["Dragonhawk"] = "Дракондор" + L["Ravager"] = "Опустошитель" + L["Warp Stalker"] = "Прыгуана" + L["Sporebat"] = "Спороскат" + L["Nether Ray"] = "Скат Пустоты" + L["Serpent"] = "Змей" + L["Moth"] = "моо" + L["Chimaera"] = "Химера" + L["Devilsaur"] = "Дьявозавр" + L["Ghoul"] = "Вурдалак" + L["Silithid"] = "Силитид" + L["Worm"] = "Червь" + L["Rhino"] = "Люторог" + L["Wasp"] = "Оса" + L["Core Hound"] = "Гончая Недр" + L["Spirit Beast"] = "Дух зверя" + L["Incubus"] = "Инкуб" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d c" L["SECONDS_ABBR"] = "%d с." @@ -1512,6 +2018,62 @@ elseif (locale == "zhCN") then L["Wintersaber Trainers"] = "冬刃豹训练师" L["Zandalar Tribe"] = "赞达拉部族" + L["Beast"] = "野兽" + L["Critter"] = "小动物" + L["Demon"] = "恶魔" + L["Dragonkin"] = "龙类" + L["Elemental"] = "元素生物" + L["Gas Cloud"] = "气体云雾" + L["Giant"] = "巨人" + L["Humanoid"] = "人型生物" + L["Mechanical"] = "机械" + L["Non-combat Pet"] = "非战斗宠物" + L["Not specified"] = "未指定" + L["Totem"] = "图腾" + L["Undead"] = "亡灵" + + L["Wolf"] = "狼" + L["Cat"] = "豹" + L["Spider"] = "蜘蛛" + L["Bear"] = "熊" + L["Boar"] = "野猪" + L["Crocolisk"] = "鳄鱼" + L["Carrion Bird"] = "食腐鸟" + L["Crab"] = "螃蟹" + L["Gorilla"] = "猩猩" + L["Raptor"] = "迅猛龙" + L["Tallstrider"] = "陆行鸟" + L["Felhunter"] = "地狱猎犬" + L["Voidwalker"] = "虚空行者" + L["Succubus"] = "魅魔" + L["Doomguard"] = "末日守卫" + L["Scorpid"] = "蝎子" + L["Turtle"] = "海龟" + L["Imp"] = "小鬼" + L["Bat"] = "蝙蝠" + L["Hyena"] = "土狼" + L["Bird of Prey"] = "猛禽" + L["Wind Serpent"] = "风蛇" + L["Remote Control"] = "远程控制" + L["Felguard"] = "恶魔卫士" + L["Dragonhawk"] = "龙鹰" + L["Ravager"] = "掠食者" + L["Warp Stalker"] = "迁跃捕猎者" + L["Sporebat"] = "孢子蝠" + L["Nether Ray"] = "虚空鳐" + L["Serpent"] = "蛇" + L["Moth"] = "蛾子" + L["Chimaera"] = "奇美拉" + L["Devilsaur"] = "魔暴龙" + L["Ghoul"] = "食尸鬼" + L["Silithid"] = "异种虫" + L["Worm"] = "蠕虫" + L["Rhino"] = "犀牛" + L["Wasp"] = "巨蜂" + L["Core Hound"] = "熔岩犬" + L["Spirit Beast"] = "灵魂兽" + L["Incubus"] = "夜魔" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d|4秒:秒;" L["SECONDS_ABBR"] = "%d|4秒:秒;" @@ -1668,6 +2230,62 @@ elseif (locale == "zhTW") then L["Wintersaber Trainers"] = "冬刃豹訓練師" L["Zandalar Tribe"] = "贊達拉部族" + L["Beast"] = "野獸" + L["Critter"] = "小動物" + L["Demon"] = "惡魔" + L["Dragonkin"] = "龍類" + L["Elemental"] = "元素生物" + L["Gas Cloud"] = "氣體雲" + L["Giant"] = "巨人" + L["Humanoid"] = "人型生物" + L["Mechanical"] = "機械" + L["Non-combat Pet"] = "非戰鬥寵物" + L["Not specified"] = "不明" + L["Totem"] = "圖騰" + L["Undead"] = "不死族" + + L["Wolf"] = "狼" + L["Cat"] = "豹" + L["Spider"] = "蜘蛛" + L["Bear"] = "熊" + L["Boar"] = "野豬" + L["Crocolisk"] = "鱷魚" + L["Carrion Bird"] = "食腐鳥" + L["Crab"] = "螃蟹" + L["Gorilla"] = "猩猩" + L["Raptor"] = "迅猛龍" + L["Tallstrider"] = "陸行鳥" + L["Felhunter"] = "惡魔獵犬" + L["Voidwalker"] = "虛無行者" + L["Succubus"] = "魅魔" + L["Doomguard"] = "末日守衛" + L["Scorpid"] = "蠍子" + L["Turtle"] = "海龜" + L["Imp"] = "小鬼" + L["Bat"] = "蝙蝠" + L["Hyena"] = "土狼" + L["Bird of Prey"] = "猛禽" + L["Wind Serpent"] = "風蛇" + L["Remote Control"] = "遙控" + L["Felguard"] = "惡魔守衛" + L["Dragonhawk"] = "龍鷹" + L["Ravager"] = "劫毀者" + L["Warp Stalker"] = "扭曲巡者" + L["Sporebat"] = "孢子蝙蝠" + L["Nether Ray"] = "虛空鰭刺" + L["Serpent"] = "毒蛇" + L["Moth"] = "蛾" + L["Chimaera"] = "奇美拉" + L["Devilsaur"] = "魔暴龍" + L["Ghoul"] = "食屍鬼" + L["Silithid"] = "異種蟲族" + L["Worm"] = "蟲" + L["Rhino"] = "犀牛" + L["Wasp"] = "黃蜂" + L["Core Hound"] = "熔核犬" + L["Spirit Beast"] = "靈獸" + L["Incubus"] = "夢魔" + L["SHORTDATE_EU"] = "%1$d/%2$d/%3$02d" L["D_SECONDS"] = "%d秒" L["SECONDS_ABBR"] = "%d秒" diff --git a/WeakAuras/Prototypes.lua b/WeakAuras/Prototypes.lua index 88a7ee1..9b9ad78 100644 --- a/WeakAuras/Prototypes.lua +++ b/WeakAuras/Prototypes.lua @@ -1705,6 +1705,42 @@ Private.event_prototypes = { store = true, conditionType = "select" }, + { + name = "creatureTypeIndex", + display = L["Creature Type"], + type = "multiselect", + init = "Private.ExecEnv.creature_type_name_to_id[UnitCreatureType(unit or '') or 0]", + values = "creature_type_types", + store = true, + sorted = true, + conditionType = "select", + }, + { + name = "creatureType", + display = L["Creature Type Name"], + init = "UnitCreatureType(unit)", + store = true, + test = "true", + hidden = true, + }, + { + name = "creatureFamilyIndex", + display = L["Creature Family"], + type = "multiselect", + init = "Private.ExecEnv.creature_family_name_to_id[UnitCreatureFamily(unit or '') or 0]", + values = "creature_family_types", + store = true, + sorted = true, + conditionType = "select", + }, + { + name = "creatureFamily", + display = L["Creature Family Name"], + init = "UnitCreatureFamily(unit)", + store = true, + test = "true", + hidden = true, + }, { name = "role", display = L["Spec Role"], @@ -8108,6 +8144,8 @@ Private.event_prototypes = { force_events = "CURRENCY_DISPLAY_UPDATE", name = WeakAuras.newFeatureString..L["Currency"], init = function(trigger) + if type(trigger.value) ~= "string" then trigger.value = "" end + if type(trigger.value_operator) ~= "string" then trigger.value_operator = "" end local ret = [=[ local currencyID = %d local discoveredTbl = Private.ExecEnv.GetDiscoveredCurrencies() or {} diff --git a/WeakAuras/TSUHelpers.lua b/WeakAuras/TSUHelpers.lua index 0a899dc..b514ead 100644 --- a/WeakAuras/TSUHelpers.lua +++ b/WeakAuras/TSUHelpers.lua @@ -17,7 +17,7 @@ local remove = function(states, key) if state then state.show = false state.changed = true - states.__changed = true + states:SetChanged(true) changed = true end return changed @@ -31,7 +31,7 @@ local removeAll = function(states) changed = true end if changed then - states.__changed = true + states:SetChanged(true) end return changed end @@ -83,7 +83,7 @@ local replaceOrUpdate = function(states, key, newState, replace) changed = recurseReplaceOrUpdate(state, newState, true, replace) if changed then state.changed = true - states.__changed = true + states:SetChanged(true) end end return changed @@ -92,7 +92,7 @@ end local create = function(states, key, newState) states[key] = newState states[key].changed = true - states.__changed = true + states:SetChanged(true) fixMissingFields(states[key]) return true end @@ -127,12 +127,24 @@ local createOrReplace = function(states, key, newState) end end +local changedStates = {} + +local isChanged = function(states) + return changedStates[states] == true +end + +local setChanged = function(states, changed) + changedStates[states] = changed +end + Private.allstatesMetatable = { __index = { Update = createOrUpdate, Replace = createOrReplace, Remove = remove, RemoveAll = removeAll, - Get = get + Get = get, + IsChanged = isChanged, + SetChanged = setChanged, } } \ No newline at end of file diff --git a/WeakAuras/Types.lua b/WeakAuras/Types.lua index 4f52017..b474b65 100644 --- a/WeakAuras/Types.lua +++ b/WeakAuras/Types.lua @@ -2639,6 +2639,130 @@ if WeakAuras.isAwesomeEnabled() then Private.classification_types.minus = L["Minus (Small Nameplate)"] end +Private.creature_type_types = { + [1] = L["Beast"], + [2] = L["Dragonkin"], + [3] = L["Demon"], + [4] = L["Elemental"], + [5] = L["Giant"], + [6] = L["Undead"], + [7] = L["Humanoid"], + [8] = L["Critter"], + [9] = L["Mechanical"], + [10] = L["Not specified"], + [11] = L["Totem"], + [12] = L["Non-combat Pet"], + [13] = L["Gas Cloud"], + [14] = L["Wild Pet"], + [15] = L["Aberration"], +} + +Private.ExecEnv.creature_type_name_to_id = { + [L["Beast"]] = 1, + [L["Dragonkin"]] = 2, + [L["Demon"]] = 3, + [L["Elemental"]] = 4, + [L["Giant"]] = 5, + [L["Undead"]] = 6, + [L["Humanoid"]] = 7, + [L["Critter"]] = 8, + [L["Mechanical"]] = 9, + [L["Not specified"]] = 10, + [L["Totem"]] = 11, + [L["Non-combat Pet"]] = 12, + [L["Gas Cloud"]] = 13, + [L["Wild Pet"]] = 14, + [L["Aberration"]] = 15, +} + +Private.creature_family_types = { + [1] = L["Wolf"], + [2] = L["Cat"], + [3] = L["Spider"], + [4] = L["Bear"], + [5] = L["Boar"], + [6] = L["Crocolisk"], + [7] = L["Carrion Bird"], + [8] = L["Crab"], + [9] = L["Gorilla"], + [11] = L["Raptor"], + [12] = L["Tallstrider"], + [15] = L["Felhunter"], + [16] = L["Voidwalker"], + [17] = L["Succubus"], + [19] = L["Doomguard"], + [20] = L["Scorpid"], + [21] = L["Turtle"], + [23] = L["Imp"], + [24] = L["Bat"], + [25] = L["Hyena"], + [26] = L["Bird of Prey"], + [27] = L["Wind Serpent"], + [28] = L["Remote Control"], + [29] = L["Felguard"], + [30] = L["Dragonhawk"], + [31] = L["Ravager"], + [32] = L["Warp Stalker"], + [33] = L["Sporebat"], + [34] = L["Nether Ray"], + [35] = L["Serpent"], + [37] = L["Moth"], + [38] = L["Chimaera"], + [39] = L["Devilsaur"], + [40] = L["Ghoul"], + [41] = L["Silithid"], + [42] = L["Worm"], + [43] = L["Rhino"], + [44] = L["Wasp"], + [45] = L["Core Hound"], + [46] = L["Spirit Beast"], + [302] = L["Incubus"], +} + +Private.ExecEnv.creature_family_name_to_id = { + [L["Wolf"]] = 1, + [L["Cat"]] = 2, + [L["Spider"]] = 3, + [L["Bear"]] = 4, + [L["Boar"]] = 5, + [L["Crocolisk"]] = 6, + [L["Carrion Bird"]] = 7, + [L["Crab"]] = 8, + [L["Gorilla"]] = 9, + [L["Raptor"]] = 11, + [L["Tallstrider"]] = 12, + [L["Felhunter"]] = 15, + [L["Voidwalker"]] = 16, + [L["Succubus"]] = 17, + [L["Doomguard"]] = 19, + [L["Scorpid"]] = 20, + [L["Turtle"]] = 21, + [L["Imp"]] = 23, + [L["Bat"]] = 24, + [L["Hyena"]] = 25, + [L["Bird of Prey"]] = 26, + [L["Wind Serpent"]] = 27, + [L["Remote Control"]] = 28, + [L["Felguard"]] = 29, + [L["Dragonhawk"]] = 30, + [L["Ravager"]] = 31, + [L["Warp Stalker"]] = 32, + [L["Sporebat"]] = 33, + [L["Nether Ray"]] = 34, + [L["Serpent"]] = 35, + [L["Moth"]] = 37, + [L["Chimaera"]] = 38, + [L["Devilsaur"]] = 39, + [L["Ghoul"]] = 40, + [L["Silithid"]] = 41, + [L["Worm"]] = 42, + [L["Rhino"]] = 43, + [L["Wasp"]] = 44, + [L["Core Hound"]] = 45, + [L["Spirit Beast"]] = 46, + [L["Incubus"]] = 302, +} + Private.anim_start_preset_types = { slidetop = L["Slide from Top"], slideleft = L["Slide from Left"], diff --git a/WeakAuras/WeakAuras.toc b/WeakAuras/WeakAuras.toc index 3c16c6b..f03e9c3 100644 --- a/WeakAuras/WeakAuras.toc +++ b/WeakAuras/WeakAuras.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras ## Author: The WeakAuras Team -## Version: 5.19.8 +## Version: 5.19.9 ## X-Flavor: 3.3.5 ## Notes: A powerful, comprehensive utility for displaying graphics and information based on buffs, debuffs, and other triggers. ## Notes-esES: Potente y completa aplicación que te permitirá mostrar por pantalla múltiples diseños, basados en beneficios, perjuicios y otros activadores. diff --git a/WeakAurasModelPaths/WeakAurasModelPaths.toc b/WeakAurasModelPaths/WeakAurasModelPaths.toc index f181849..3d80be0 100644 --- a/WeakAurasModelPaths/WeakAurasModelPaths.toc +++ b/WeakAurasModelPaths/WeakAurasModelPaths.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras Model Paths ## Author: The WeakAuras Team -## Version: 5.19.8 +## Version: 5.19.9 ## Notes: Model paths for WeakAuras ## Notes-esES: Las rutas de modelos para WeakAuras ## Notes-esMX: Las rutas de modelos para WeakAuras diff --git a/WeakAurasOptions/Changelog.lua b/WeakAurasOptions/Changelog.lua index 86f8c1d..a46c7f4 100644 --- a/WeakAurasOptions/Changelog.lua +++ b/WeakAurasOptions/Changelog.lua @@ -4,54 +4,31 @@ local AddonName = ... local OptionsPrivate = select(2, ...) OptionsPrivate.changelog = { - versionString = '5.19.8', - dateString = '2025-04-11', - fullChangeLogUrl = 'https://github.com/WeakAuras/WeakAuras2/compare/5.19.7...5.19.8', + versionString = '5.19.9', + dateString = '2025-04-25', + fullChangeLogUrl = 'https://github.com/WeakAuras/WeakAuras2/compare/5.19.8...5.19.9', highlightText = [==[ -TOC update for SoD phase 8 +- Currency trigger: Add type checking to guard against unexpected data +- Unit Characteristics trigger: add creature type & family +- TSUHelper: hide __changed from pairs()]==], commitText = [==[InfusOnWoW (4): -New Features: - -- states:Replace(id, newstate) & states:Get(id, key) are now available in TSU custom triggers -- subtext & condition change text learned to support UI escape sequences, like the text region type already does -- Spell Activation Overlay events are available in Cata classic, so the related trigger has been re-enabled for that game flavor -- Scarlet Enclave encounter IDs added for SoD - -Fixes: - -- Item Equipped load/trigger forces exact match now, to deal with e.g. normal/heroic versions of the same item -- unit formatters produces empty string "" instead of "nil" when the underlying unit token is invalid -- various fixes to options panel & thanks list so they don't look terrible (thanks @pewtro!) -- Fixed some templates which were invalidated in 11.1 -- Reminded chat msg - emote trigger to pay attention to CHAT_MSG_TEXT_EMOTE again]==], commitText = [==[InfusOnWoW (8): - -- Item Equipped: Force "exact match" mode -- Make SubText + Conditions also use IndentionLib.encode/decode for text -- Make Unit formatting not return "nil" -- Tweak bottom buttons until they all fit -- Enable Spell Activation Overlay Glow trigger in Cata -- Chat: Fix Emote filter for /commands -- Templates: Update to 11.1 patch changes +- Bump .toc files +- Icon: If OmniCC or ElvUI are installed hide blizzard cooldown numbers +- Currency trigger: Add type checking to guard against unexpected data +- Unit Characteristics trigger: add creature type & family +- TSUHelper: hide __changed from pairs() - Update Discord List -Pewtro (1): - -- Fix an issue with word wrapping in the Discord thanks list - -Stanzilla (1): +Stanzilla (2): +- Update WeakAurasModelPaths from wago.tools - Update WeakAurasModelPaths from wago.tools -dependabot[bot] (1): +mrbuds (3): -- Bump cbrgm/mastodon-github-action from 2.1.13 to 2.1.14 - -mrbuds (4): - -- TSUHelpers: add states:Replace() and states:Get() functions, + bug fixes -- Add Encounter IDs for Scarlet Enclave -- Update Atlas File List from wago.tools -- SoD P8 toc update +- Unit Characteristics trigger: add creature type & family (Retail only) +- Textute Atlas Picker: use C_Texture.GetAtlasElements on Retail +- TSUHelper: hide __changed from pairs() ]==] -} \ No newline at end of file +} diff --git a/WeakAurasOptions/VersionCheck.lua b/WeakAurasOptions/VersionCheck.lua index a0fdee4..e9e4dd4 100644 --- a/WeakAurasOptions/VersionCheck.lua +++ b/WeakAurasOptions/VersionCheck.lua @@ -3,7 +3,7 @@ local Private = select(2, ...) local L = WeakAuras.L -local optionsVersion = "5.19.8" +local optionsVersion = "5.19.9" if optionsVersion .. " Beta" ~= WeakAuras.versionString then local message = string.format(L["The WeakAuras Options Addon version %s doesn't match the WeakAuras version %s. If you updated the addon while the game was running, try restarting World of Warcraft. Otherwise try reinstalling WeakAuras"], diff --git a/WeakAurasOptions/WeakAurasOptions.toc b/WeakAurasOptions/WeakAurasOptions.toc index d737465..75f052a 100644 --- a/WeakAurasOptions/WeakAurasOptions.toc +++ b/WeakAurasOptions/WeakAurasOptions.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras Options ## Author: The WeakAuras Team -## Version: 5.19.8 +## Version: 5.19.9 ## Notes: Options for WeakAuras ## Notes-esES: Opciones para WeakAuras ## Notes-esMX: Opciones para WeakAuras