diff --git a/README.md b/README.md index df8ea1f..a870bdb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# SmartBuff Wrath of the Lich King CLassic +# SmartBuff Wrath of the Lich King CLassic / Classic ERA and Classic Hardcore -For clarity, this repository is ONLY for the WOTLK Classic version of the client as listed above, and it is not the Retail or Classic Era. +For clarity, this repository is ONLY for the Classic version of the client as listed above, and it is not the Retail. SmartBuff is a buff addon to monitor you, your party or raids buffs easily and quickly allowing you to cast those that are missing - all classes are supported. diff --git a/SmartBuff.buffs.lua b/SmartBuff.buffs.lua index 18d6c44..f6333fe 100644 --- a/SmartBuff.buffs.lua +++ b/SmartBuff.buffs.lua @@ -11,6 +11,7 @@ SMARTBUFF_CONST_GROUPALL = "GROUPALL"; SMARTBUFF_CONST_SELF = "SELF"; SMARTBUFF_CONST_FORCESELF = "FORCESELF"; SMARTBUFF_CONST_TRACK = "TRACK"; +SMARTBUFF_CONST_GATHERING = "GATHERING"; SMARTBUFF_CONST_WEAPON = "WEAPON"; SMARTBUFF_CONST_INV = "INVENTORY"; SMARTBUFF_CONST_FOOD = "FOOD"; @@ -27,6 +28,8 @@ S.CheckFishingPole = "CHECKFISHINGPOLE"; S.NIL = "x"; S.Toybox = { }; +SBClassicGatherers = { 2580, 2383, 2481 } -- classic era & hardcore only. + local function GetItems(items) local t = { }; for _, id in pairs(items) do @@ -577,6 +580,7 @@ function SMARTBUFF_InitSpellIDs() -- Tracking SMARTBUFF_FINDMINERALS = GetSpellInfo(2580); --"Find Minerals" SMARTBUFF_FINDHERBS = GetSpellInfo(2383); --"Find Herbs" + SMARTBUFF_FINDTREASURE = GetSpellInfo(2481); --"Find Treasure" SMARTBUFF_FINDFISH = GetSpellInfo(43308); --"Find Fish" SMARTBUFF_FINDTREASURE = GetSpellInfo(2481); --"Find Treasure" SMARTBUFF_TRACKHUMANOIDS = GetSpellInfo(19883); --"Track Humanoids" @@ -1111,8 +1115,12 @@ function SMARTBUFF_InitSpellList() {SMARTBUFF_TRACKELEMENTALS, -1, SMARTBUFF_CONST_TRACK}, {SMARTBUFF_TRACKDEMONS, -1, SMARTBUFF_CONST_TRACK}, {SMARTBUFF_TRACKGIANTS, -1, SMARTBUFF_CONST_TRACK}, - {SMARTBUFF_TRACKDRAGONKIN, -1, SMARTBUFF_CONST_TRACK} - }; + {SMARTBUFF_TRACKDRAGONKIN, -1, SMARTBUFF_CONST_TRACK}, + -- these are used under era and hardcore only. + {SMARTBUFF_FINDMINERALS, -1, SMARTBUFF_CONST_GATHERING}, + {SMARTBUFF_FINDHERBS, -1, SMARTBUFF_CONST_GATHERING}, + {SMARTBUFF_FINDTREASURE, -1, SMARTBUFF_CONST_GATHERING}, +}; -- Racial SMARTBUFF_RACIAL = { diff --git a/SmartBuff.lua b/SmartBuff.lua index a828816..1d04bf4 100644 --- a/SmartBuff.lua +++ b/SmartBuff.lua @@ -7,15 +7,16 @@ -- Cast the most important buffs on you, tanks or party/raid members/pets. ------------------------------------------------------------------------------- -SMARTBUFF_DATE = "071023"; +SMARTBUFF_DATE = "091023"; -SMARTBUFF_VERSION = "r51."..SMARTBUFF_DATE; +SMARTBUFF_VERSION = "r52."..SMARTBUFF_DATE; SMARTBUFF_VERSIONNR = 30402; +SMARTBUFF_VERWOTLK = false; SMARTBUFF_TITLE = "SmartBuff"; SMARTBUFF_SUBTITLE = "Supports you in casting buffs"; SMARTBUFF_DESC = "Cast the most important buffs on you, your tanks, party/raid members/pets"; SMARTBUFF_VERS_TITLE = SMARTBUFF_TITLE .. " " .. SMARTBUFF_VERSION; -SMARTBUFF_OPTIONS_TITLE = SMARTBUFF_VERS_TITLE.." WOTLK "; +SMARTBUFF_OPTIONS_TITLE = SMARTBUFF_VERS_TITLE.." Classic "; -- addon name local addonName = ... @@ -111,8 +112,22 @@ local cPlayerTrackers = { }; local cDisableTrackSwitch = false; local cLootOpenedDisable = false; -local cClasses = {"DRUID", "HUNTER", "MAGE", "PALADIN", "PRIEST", "ROGUE", "SHAMAN", "WARLOCK", "WARRIOR", "DEATHKNIGHT", "MONK", "DEMONHUNTER", "EVOKER", "HPET", "WPET", "DKPET", "TANK", "HEALER", "DAMAGER"}; -local cIgnoreClasses = { 11, 12, 13, 19 }; +local cClasses; +local cIgnoreClasses; + +-- client version check +if buildInfo < SMARTBUFF_VERSIONNR then + -- assume we are classic era/hardcore. + cClasses = {"DRUID", "HUNTER", "MAGE", "PALADIN", "PRIEST", "ROGUE", "SHAMAN", "WARLOCK", "WARRIOR", "DEATHKNIGHT", "MONK", "DEMONHUNTER", "EVOKER", "HPET", "WPET", "DKPET", "TANK", "HEALER", "DAMAGER"}; + cIgnoreClasses = { 10, 11, 12, 13, 16, 19 }; + SMARTBUFF_VERWOTLK = false +else + -- wrath of the lich king. + cClasses = {"DRUID", "HUNTER", "MAGE", "PALADIN", "PRIEST", "ROGUE", "SHAMAN", "WARLOCK", "WARRIOR", "DEATHKNIGHT", "MONK", "DEMONHUNTER", "EVOKER", "HPET", "WPET", "DKPET", "TANK", "HEALER", "DAMAGER"}; + cIgnoreClasses = { 11, 12, 13, 19 }; + SMARTBUFF_VERWOTLK = true +end + local cOrderGrp = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; local cFonts = {"NumberFontNormal", "NumberFontNormalLarge", "NumberFontNormalHuge", "GameFontNormal", "GameFontNormalLarge", "GameFontNormalHuge", "ChatFontNormal", "QuestFont", "MailTextFontNormal", "QuestTitleFont"}; @@ -152,10 +167,35 @@ local Icons = { ["NONE"] = { IconPaths.Roles, 20/64, 39/64, 22/64, 41/64 }, }; --- available sounds (34) -local Sounds = { 1141, 3784, 4574, 17318, 15262, 13830, 15273, 10042, 10720, 17316, 3337, 15263, 13267, 8698, 3660, - 15712, 9203, 12279, 3273, 13179, 13327, 9632, 10590, 3322, 718, 149, 15686, 6189, 7095, 6341, 6267, - 7894, 7914, 10033 } +local tracker = "" + +-- available sounds (20) +local soundPath = "Interface\\AddOns\\SmartBuff\\Sounds\\"; +local Sounds = { + "igPlayerBind.ogg", + "Aggro_Enter_Warning_State.ogg", + "Aggro_Pulled_Aggro.ogg", + "LFG_DungeonReady.ogg", + "LFG_Rewards.ogg", + "FX_SONIC_SPHEREPULSE_01.ogg", + "EyeOfKilroggDeath.ogg", + "GM_ChatWarning.ogg", + "gruntling_horn_bb.ogg", + "WispPissed3.ogg", + "UR_Kologarn_Slay02.ogg", + "UI_PetBattle_Victory02.ogg", + "PVPWarning.ogg", + "PVPFlagTakenHordeMono.ogg", + "YouAreWeak.ogg", + "PeasantPissed5.ogg", + "HumanFemaleSigh01.ogg", + "HumanMaleSigh01.ogg", + "GnomeMaleLaugh01.ogg", + "Emote_Whistle_01.ogg", + "VO_701_IMage_OF_Millhouse_Manastorm_05.ogg", + "VO_703_Millhouse_Manastorm_29_M.ogg", + "VO_901_Millificent_Manastorm_193617.ogg", +}; local DebugChatFrame = DEFAULT_CHAT_FRAME; @@ -217,7 +257,7 @@ local CY = BCC(0.5, 1, 1); -- function to preview selected warning sound in options screen function SMARTBUFF_PlaySpashSound() - PlaySound(Sounds[O.AutoSoundSelection]); + PlaySoundFile(soundPath..Sounds[O.AutoSoundSelection]); end function SMARTBUFF_ChooseSplashSound() @@ -425,7 +465,7 @@ end -- toggle the auto gathering switcher. function ToggleAutoGatherer() - if (not isInit) then return end + if (not isInit or not SMARTBUFF_VERWOTLK) then return end O.TrackSwitchActive = not O.TrackSwitchActive; if not SmartBuffOptionsFrame:IsShown() then -- quiet while in options if O.TrackSwitchActive then @@ -439,7 +479,7 @@ end -- Read number of tracking abilities function ScanPlayerTrackers() - if (not isInit) then return end + if (not isInit or not SMARTBUFF_VERWOTLK) then return end local count = C_Minimap.GetNumTrackingTypes(); local spellcount = 0; cPlayerTrackers = { }; @@ -459,7 +499,7 @@ end -- toggle trackers local lastFire = GetTime() function ToggleGatheringTrackers() - if (not isInit) then return end + if (not isInit or not SMARTBUFF_VERWOTLK) then return end local tmptable if O.TrackSwitchActive and not cDisableTrackSwitch and not cLootOpenedDisable then local currentTime = GetTime() @@ -520,6 +560,8 @@ function SMARTBUFF_OnLoad(self) self:RegisterEvent("UPDATE_MOUSEOVER_UNIT"); self:RegisterEvent("UNIT_SPELLCAST_FAILED"); self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED"); + self:RegisterEvent("MINIMAP_UPDATE_TRACKING") + --auto template events self:RegisterEvent("ZONE_CHANGED_NEW_AREA") self:RegisterEvent("GROUP_ROSTER_UPDATE") @@ -559,6 +601,12 @@ function SMARTBUFF_OnEvent(self, event, ...) tStartZone = GetTime(); end + elseif event == "MINIMAP_UPDATE_TRACKING" and not SMARTBUFF_VERWOTLK then + if not GetTrackingTexture() then + -- we dont have a tracker so force a reset. + tracker = ""; + end + elseif(event == "ADDON_LOADED" and arg1 == SMARTBUFF_TITLE) then isLoaded = true; end @@ -1165,7 +1213,7 @@ function SMARTBUFF_SetBuff(buff, i, ia) cBuffs[i].IDS, cBuffs[i].BookID = SMARTBUFF_GetSpellID(cBuffs[i].BuffS); end - if (cBuffs[i].IDS == nil and not(SMARTBUFF_IsItem(cBuffs[i].Type) or cBuffs[i].Type == SMARTBUFF_CONST_TRACK)) then + if (cBuffs[i].IDS == nil and not(SMARTBUFF_IsItem(cBuffs[i].Type) or cBuffs[i].Type == SMARTBUFF_CONST_TRACK or (cBuffs[i].Type == SMARTBUFF_CONST_GATHERING and not SMARTBUFF_VERWOTLK))) then cBuffs[i] = nil; return i; end @@ -1178,7 +1226,25 @@ function SMARTBUFF_SetBuff(buff, i, ia) if (cBuffs[i].IDS ~= nil) then cBuffs[i].IconS = GetSpellTexture(cBuffs[i].BuffS); else - if (cBuffs[i].Type == SMARTBUFF_CONST_TRACK) then + + if (cBuffs[i].Type == SMARTBUFF_CONST_GATHERING) and not SMARTBUFF_VERWOTLK then + local b = false; + for key, spellId in ipairs(SBClassicGatherers) do + spellName = GetSpellInfo(spellId) + if spellName ~= nil then + if IsPlayerSpell(spellId) and spellName == cBuffs[i].BuffS then + b = true; + cBuffs[i].IDS = spellId; + cBuffs[i].IconS = GetSpellTexture(spellId); + end + end + end + if (not b) then + cBuffs[i] = nil; + return i; + end + + elseif (cBuffs[i].Type == SMARTBUFF_CONST_TRACK) and SMARTBUFF_VERWOTLK then local b = false; for n = 1, C_Minimap.GetNumTrackingTypes() do local trackN, trackT, trackA, trackC = C_Minimap.GetTrackingInfo(n); @@ -1834,7 +1900,7 @@ function SMARTBUFF_BuffUnit(unit, subgroup, mode, spell) SMARTBUFF_AddMsgD("Exclusive check on " .. spell .. ", current spell = " .. buffnS); end if (bUsable and cBuff.Type == SMARTBUFF_CONST_SELF and not SMARTBUFF_IsPlayer(unit)) then bUsable = false end - if (bUsable and not cBuff.Type == SMARTBUFF_CONST_TRACK and not SMARTBUFF_IsItem(cBuff.Type) and not IsUsableSpell(buffnS)) then bUsable = false end + if ((bUsable and not cBuff.Type == SMARTBUFF_CONST_TRACK) and not SMARTBUFF_IsItem(cBuff.Type) and not IsUsableSpell(buffnS)) then bUsable = false end if (bUsable and bs.SelfNot and SMARTBUFF_IsPlayer(unit)) then bUsable = false end if (bUsable and cBuff.Params == SG.CheckFishingPole and SMARTBUFF_IsFishingPoleEquiped()) then bUsable = false end @@ -1992,8 +2058,24 @@ function SMARTBUFF_BuffUnit(unit, subgroup, mode, spell) or SMARTBUFF_IsInList(unit, un, bs.AddList))) then buff = nil; + -- Gathering ability ------------------------------------------------------------------------ + if (cBuff.Type == SMARTBUFF_CONST_GATHERING and not SMARTBUFF_VERWOTLK) then + local b = false; + for key, spellId in ipairs(SBClassicGatherers) do + spellName = GetSpellInfo(spellId) + if spellName ~= nil and spellName ~= tracker then + if IsPlayerSpell(spellId) and spellName == buffnS then + CastSpellByName(spellName) + tracker = spellName + SMARTBUFF_AddMsgD(spellName.." applied."); + end + else + isPrompting = false + end + end + -- Tracking ability ------------------------------------------------------------------------ - if (cBuff.Type == SMARTBUFF_CONST_TRACK) then + elseif (cBuff.Type == SMARTBUFF_CONST_TRACK) then local count = C_Minimap.GetNumTrackingTypes(); for n = 1, C_Minimap.GetNumTrackingTypes() do local trackN, trackT, trackA, trackC = C_Minimap.GetTrackingInfo(n); @@ -2468,7 +2550,7 @@ function SMARTBUFF_SetMissingBuffMessage(target, buff, icon, bCanCharge, nCharge -- play sound if (O.ToggleAutoSound) then - PlaySound(Sounds[O.AutoSoundSelection]); + PlaySoundFile(soundPath..Sounds[O.AutoSoundSelection]); end end @@ -3023,7 +3105,7 @@ function SMARTBUFF_Options_Init(self) if (isInit) then return; end -- test if this is the intended client - if (buildInfo < SMARTBUFF_VERSIONNR) or (buildInfo > 100000) then + if buildInfo > 100000 then if smVerWarn then DEFAULT_CHAT_FRAME:AddMessage("|cff00e0ffSmartbuff Build "..SMARTBUFF_VERSION.." (Client: "..buildInfo..")|cffffffff "..SMARTBUFF_NOTINTENDEDCLIENT) end @@ -3064,7 +3146,7 @@ function SMARTBUFF_Options_Init(self) if (O.RebuffTimer == nil) then O.RebuffTimer = 20; end if (O.SplashDuration == nil) then O.SplashDuration = 2; end if (O.SplashIconSize == nil) then O.SplashIconSize = 16; end - if (O.BuffTarget == nil) then O.BuffTarget = false; end + if (O.BuffTarget == nil) then O.BuffTarget = true; end if (O.BuffPvP == nil) then O.BuffPvP = false; end if (O.BuffInCities == nil) then O.BuffInCities = true; end if (O.LinkSelfBuffCheck == nil) then O.LinkSelfBuffCheck = true; end @@ -3249,6 +3331,10 @@ function SMARTBUFF_Options_Init(self) -- regardless of the option in settings, grab info on gathering trackers ScanPlayerTrackers(); + if not SMARTBUFF_VERWOTLK then + O.TrackSwitchActive = false; + end + isSyncReq = true; end @@ -3545,7 +3631,6 @@ end function SMARTBUFF_OptionsFrame_Toggle() if (not isInit) then return; end - if(SmartBuffOptionsFrame:IsVisible()) then if(iLastBuffSetup > 0) then SmartBuff_BuffSetup:Hide(); @@ -3851,6 +3936,16 @@ function SMARTBUFF_Options_OnShow() SMARTBUFF_Splash_Show(); + -- if we are classic era or hardcore, hide some + -- stuff we dont need or can't use. + if not SMARTBUFF_VERWOTLK then + SmartBuffOptionsFrame_cbGatherAutoSwitch:Disable(); + SmartBuffOptionsFrame_cbGatherAutoSwitchFish:Disable(); + SmartBuffOptionsFrame_cbGatherAutoDisableTracker:Disable(); + SmartBuffOptionsFrame_cbFixBuffIssue:Disable(); + end + + SMARTBUFF_AddMsgD("Option frame updated: " .. currentTemplate); end diff --git a/SmartBuff.toc b/SmartBuff.toc index a8974d1..98eac9b 100644 --- a/SmartBuff.toc +++ b/SmartBuff.toc @@ -1,9 +1,9 @@ ## Interface: 30402 -## Title: |TInterface\Addons\Smartbuff\Icons\IconEnabled:0|t SmartBuff |cffffffff(WOTLK)|r by |cff00ff00Codermik & Aeldra|r +## Title: |TInterface\Addons\Smartbuff\Icons\IconEnabled:0|t SmartBuff |cffffffff(WOTLK)|r ## Version: 52.30402 ## Author: |cff20d2ffCodermik & Aeldra|r (EU-Proudmoore) ## Contributing Author: |cff20d2ffSpeedwaystar -## Notes: Cast the most important buffs on you or party/raid members/pets. Use /sbm for options menu. +## Notes: Automatically cast buffs on yourself, your party or raid members and their pets. Use /sbm for the options menu. ## DefaultState: Enabled ## LoadOnDemand: 0 ## SavedVariables: SMARTBUFF_OptionsGlobal diff --git a/SmartBuff.xml b/SmartBuff.xml index 4dc20b6..f8414ac 100644 --- a/SmartBuff.xml +++ b/SmartBuff.xml @@ -465,7 +465,7 @@ - + @@ -1578,7 +1578,7 @@ end - SmartBuffOptionsFrameSlider_OnLoad(self, 1, 34, 1); + SmartBuffOptionsFrameSlider_OnLoad(self, 1, 23, 1); BackdropTemplateMixin.OnBackdropLoaded(self); diff --git a/SmartBuff_Vanilla.toc b/SmartBuff_Vanilla.toc new file mode 100644 index 0000000..1d0d831 --- /dev/null +++ b/SmartBuff_Vanilla.toc @@ -0,0 +1,19 @@ +## Interface: 11404 +## Title: |TInterface\Addons\Smartbuff\Icons\IconEnabled:0|t SmartBuff |cffffffff(ERA, HC)|r +## Version: 52.11404 +## Author: |cff20d2ffCodermik & Aeldra|r (EU-Proudmoore) +## Contributing Author: |cff20d2ffSpeedwaystar +## Notes: Automatically cast buffs on yourself, your party or raid members and their pets. Use /sbm for the options menu. +## DefaultState: Enabled +## LoadOnDemand: 0 +## SavedVariables: SMARTBUFF_OptionsGlobal +## SavedVariablesPerCharacter: SMARTBUFF_Options, SMARTBUFF_Buffs + +Libs\LibStub\LibStub.lua +Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua +Libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua +SmartBuff.globals.lua +SmartBuff.xml + +Libs\Broker_SmartBuff\LibDataBroker-1.1.lua +Libs\Broker_SmartBuff\Broker_SmartBuff.lua diff --git a/Sounds/Aggro_Enter_Warning_State.ogg b/Sounds/Aggro_Enter_Warning_State.ogg new file mode 100644 index 0000000..43c7164 Binary files /dev/null and b/Sounds/Aggro_Enter_Warning_State.ogg differ diff --git a/Sounds/Aggro_Pulled_Aggro.ogg b/Sounds/Aggro_Pulled_Aggro.ogg new file mode 100644 index 0000000..494d095 Binary files /dev/null and b/Sounds/Aggro_Pulled_Aggro.ogg differ diff --git a/Sounds/Emote_Whistle_01.ogg b/Sounds/Emote_Whistle_01.ogg new file mode 100644 index 0000000..3ae5313 Binary files /dev/null and b/Sounds/Emote_Whistle_01.ogg differ diff --git a/Sounds/EyeOfKilroggDeath.ogg b/Sounds/EyeOfKilroggDeath.ogg new file mode 100644 index 0000000..9514b4a Binary files /dev/null and b/Sounds/EyeOfKilroggDeath.ogg differ diff --git a/Sounds/FX_SONIC_SPHEREPULSE_01.ogg b/Sounds/FX_SONIC_SPHEREPULSE_01.ogg new file mode 100644 index 0000000..89a0576 Binary files /dev/null and b/Sounds/FX_SONIC_SPHEREPULSE_01.ogg differ diff --git a/Sounds/GM_ChatWarning.ogg b/Sounds/GM_ChatWarning.ogg new file mode 100644 index 0000000..549dde2 Binary files /dev/null and b/Sounds/GM_ChatWarning.ogg differ diff --git a/Sounds/GnomeMaleLaugh01.ogg b/Sounds/GnomeMaleLaugh01.ogg new file mode 100644 index 0000000..e2a4176 Binary files /dev/null and b/Sounds/GnomeMaleLaugh01.ogg differ diff --git a/Sounds/HumanFemaleSigh01.ogg b/Sounds/HumanFemaleSigh01.ogg new file mode 100644 index 0000000..6ff74bd Binary files /dev/null and b/Sounds/HumanFemaleSigh01.ogg differ diff --git a/Sounds/HumanMaleSigh01.ogg b/Sounds/HumanMaleSigh01.ogg new file mode 100644 index 0000000..912d4ab Binary files /dev/null and b/Sounds/HumanMaleSigh01.ogg differ diff --git a/Sounds/LFG_DungeonReady.ogg b/Sounds/LFG_DungeonReady.ogg new file mode 100644 index 0000000..f98299c Binary files /dev/null and b/Sounds/LFG_DungeonReady.ogg differ diff --git a/Sounds/LFG_Rewards.ogg b/Sounds/LFG_Rewards.ogg new file mode 100644 index 0000000..3c684bc Binary files /dev/null and b/Sounds/LFG_Rewards.ogg differ diff --git a/Sounds/PVPFlagTakenHordeMono.ogg b/Sounds/PVPFlagTakenHordeMono.ogg new file mode 100644 index 0000000..a5b2e35 Binary files /dev/null and b/Sounds/PVPFlagTakenHordeMono.ogg differ diff --git a/Sounds/PVPWarning.ogg b/Sounds/PVPWarning.ogg new file mode 100644 index 0000000..855c8a7 Binary files /dev/null and b/Sounds/PVPWarning.ogg differ diff --git a/Sounds/PeasantPissed5.ogg b/Sounds/PeasantPissed5.ogg new file mode 100644 index 0000000..a0df6b5 Binary files /dev/null and b/Sounds/PeasantPissed5.ogg differ diff --git a/Sounds/UI_PetBattle_Victory02.ogg b/Sounds/UI_PetBattle_Victory02.ogg new file mode 100644 index 0000000..6488048 Binary files /dev/null and b/Sounds/UI_PetBattle_Victory02.ogg differ diff --git a/Sounds/UR_Kologarn_Slay02.ogg b/Sounds/UR_Kologarn_Slay02.ogg new file mode 100644 index 0000000..be356cf Binary files /dev/null and b/Sounds/UR_Kologarn_Slay02.ogg differ diff --git a/Sounds/VO_701_IMage_OF_Millhouse_Manastorm_05.ogg b/Sounds/VO_701_IMage_OF_Millhouse_Manastorm_05.ogg new file mode 100644 index 0000000..5b7854d Binary files /dev/null and b/Sounds/VO_701_IMage_OF_Millhouse_Manastorm_05.ogg differ diff --git a/Sounds/VO_703_Millhouse_Manastorm_29_M.ogg b/Sounds/VO_703_Millhouse_Manastorm_29_M.ogg new file mode 100644 index 0000000..e249592 Binary files /dev/null and b/Sounds/VO_703_Millhouse_Manastorm_29_M.ogg differ diff --git a/Sounds/VO_901_Millificent_Manastorm_193617.ogg b/Sounds/VO_901_Millificent_Manastorm_193617.ogg new file mode 100644 index 0000000..418e424 Binary files /dev/null and b/Sounds/VO_901_Millificent_Manastorm_193617.ogg differ diff --git a/Sounds/WispPissed3.ogg b/Sounds/WispPissed3.ogg new file mode 100644 index 0000000..2e6f9a0 Binary files /dev/null and b/Sounds/WispPissed3.ogg differ diff --git a/Sounds/YouAreWeak.ogg b/Sounds/YouAreWeak.ogg new file mode 100644 index 0000000..4a61566 Binary files /dev/null and b/Sounds/YouAreWeak.ogg differ diff --git a/Sounds/gruntling_horn_bb.ogg b/Sounds/gruntling_horn_bb.ogg new file mode 100644 index 0000000..5b47809 Binary files /dev/null and b/Sounds/gruntling_horn_bb.ogg differ diff --git a/Sounds/igPlayerBind.ogg b/Sounds/igPlayerBind.ogg new file mode 100644 index 0000000..f386393 Binary files /dev/null and b/Sounds/igPlayerBind.ogg differ diff --git a/localization.en.lua b/localization.en.lua index 5e80831..2dacf73 100644 --- a/localization.en.lua +++ b/localization.en.lua @@ -6,8 +6,12 @@ SMARTBUFF_WHATSNEW = "\n\n" .." |cff00e0ffClassic & Retail versions by Codermik with additional\n" .." retail coding by Speedwaystar.\n\n" - .." |cffffffffChanges in r52.091023 (WOTLK Classic):\n\n" - .." * Fixed lua error on new installs (when config empty).\n" + .." |cffffffffChanges in r52.091023 (Classic):\n\n" + .." * Classic Era, Hardcore and WOTLK now share \n" + .." the same codebase, this will make my life\n" + .." so much easier moving forward :)\n" + .." * Sounds are now local, this allows me to provide \n" + .." retail or custom sounds for splash prompts.\n" .."\n\n" .." |cffffff00I currently play on the Mirage Raceway EU classic\n" .." WOTLK server as Alliance, I play on Mik, Gabella,\n"