diff --git a/SmartBuff.buffs.lua b/SmartBuff.buffs.lua index 228a46d..4041f91 100644 --- a/SmartBuff.buffs.lua +++ b/SmartBuff.buffs.lua @@ -441,6 +441,8 @@ function SMARTBUFF_InitSpellIDs() SMARTBUFF_DRUID_DIREBEAR = GetSpellInfo(9634); --"Dire Bear Form" -- track humanoids SMARTBUFF_DRUID_TRACK = GetSpellInfo(5225); --"Track Humanoids" + -- other + SMARTBUFF_OMENOFCLARITY = GetSpellInfo(16864) --"Omen of Clarity" S.ChainDruidBuffs = { SMARTBUFF_MOTW, SMARTBUFF_GOTW }; @@ -898,8 +900,11 @@ function SMARTBUFF_InitSpellList() {SSMARTBUFF_DRUID_BEAR, -1, SMARTBUFF_CONST_SELF}, {SMARTBUFF_DRUID_DIREBEAR, -1, SMARTBUFF_CONST_SELF}, -- tracking. - {SMARTBUFF_DRUID_TRACK, -1, SMARTBUFF_CONST_SELF, nil, SMARTBUFF_DRUID_CAT} + {SMARTBUFF_DRUID_TRACK, -1, SMARTBUFF_CONST_SELF, nil, SMARTBUFF_DRUID_CAT}, + -- other + {SMARTBUFF_OMENOFCLARITY, 10, SMARTBUFF_CONST_SELF}, }; + end -- Priest diff --git a/SmartBuff.lua b/SmartBuff.lua index 69d9ddf..2fd835f 100644 --- a/SmartBuff.lua +++ b/SmartBuff.lua @@ -7,9 +7,9 @@ -- Cast the most important buffs on you, tanks or party/raid members/pets. ------------------------------------------------------------------------------- -SMARTBUFF_DATE = "141023"; +SMARTBUFF_DATE = "171023"; -SMARTBUFF_VERSION = "r54."..SMARTBUFF_DATE; +SMARTBUFF_VERSION = "r57."..SMARTBUFF_DATE; SMARTBUFF_VERSIONNR = 30403; SMARTBUFF_VERWOTLK = false; SMARTBUFF_TITLE = "SmartBuff"; @@ -26,7 +26,7 @@ local SmartbuffCommands = { "SBCVER", "SBCCMD", "SBCSYC" } local SmartbuffSession = true; local SmartbuffVerCheck = false; -- for my use when checking guild users/testers versions :) local buildInfo = select(4, GetBuildInfo()) -local SmartbuffRevision = 54; +local SmartbuffRevision = 57; local SmartbuffVerNotifyList = {} -- Using LibRangeCheck-2.0 by Mitchnull @@ -136,7 +136,7 @@ local currentSpell = nil; local currentTemplate = nil; local currentSpec = nil; -local imgSB = "Interface\\Icons\\WoW_Token01"; +local imgSB = "Interface\\Icons\\inv_gizmo_goblinboombox_01"; local imgIconOn = "Interface\\AddOns\\SmartBuff\\Icons\\MiniMapButtonEnabled"; local imgIconOff = "Interface\\AddOns\\SmartBuff\\Icons\\MiniMapButtonDisabled"; @@ -1383,7 +1383,14 @@ function SMARTBUFF_PreCheck(mode, force) SMARTBUFF_ShowSAButton(); end - SMARTBUFF_SetButtonTexture(SmartBuff_KeyButton, imgSB); + -- if we have nothing to do and the option is set then just hide the action button. + if O.HideSAButtonNoAction and not InCombatLockdown() then + SmartBuff_KeyButton:Hide() + end + + if not O.HideSAButtonNoAction and not O.HideSAButton then + SMARTBUFF_SetButtonTexture(SmartBuff_KeyButton, imgSB); + end if (SmartBuffOptionsFrame:IsVisible()) then return false; end -- check for mount-spells @@ -1925,6 +1932,10 @@ function SMARTBUFF_BuffUnit(unit, subgroup, mode, spell) if (bUsable and cBuff.Params == SG.CheckPet and UnitExists("pet")) then bUsable = false end if (bUsable and cBuff.Params == SG.CheckPetNeeded and not UnitExists("pet")) then bUsable = false end + if O.HideSAButtonNoAction and not O.HideSAButton and not InCombatLockdown() then + SmartBuff_KeyButton:Show(); + end + -- Check for mount auras if (bUsable and (sPlayerClass == "PALADIN" or sPlayerClass == "DEATHKNIGHT")) then isMounted = false; @@ -1967,14 +1978,18 @@ function SMARTBUFF_BuffUnit(unit, subgroup, mode, spell) elseif lookupData and isPlayerMoving then bUsable = false; end - else - if not isPlayerMoving then + else + -- is this food or water and im moving, if so just ignore it. + if (buffnS == SMARTBUFF_CONJFOOD or buffnS == SMARTBUFF_CONJWATER) and isPlayerMoving then + bUsable = false; + else + -- im not moving. local lookupData if (buffnS == SMARTBUFF_CONJFOOD) then - lookupData = ConjuredMageFood + lookupData = ConjuredMageFood elseif (buffnS == SMARTBUFF_CONJWATER) then - lookupData = ConjuredMageWater - end + lookupData = ConjuredMageWater + end if lookupData then for count, value in next, lookupData do if value then @@ -1985,14 +2000,18 @@ function SMARTBUFF_BuffUnit(unit, subgroup, mode, spell) end end end + end + -- is it a mana gem while im moving? + if (buffnS == SMARTBUFF_CREATEMGEM_AGATE or buffnS == SMARTBUFF_CREATEMGEM_CITRINE or buffnS == SMARTBUFF_CREATEMGEM_JADE + or buffnS == SMARTBUFF_CREATEMGEM_RUBY) and isPlayerMoving then + bUsable = false; + else if (buffnS == SMARTBUFF_CREATEMGEM_AGATE and SMARTBUFF_CheckBagItem(SMARTBUFF_MANAAGATE)) or (buffnS == SMARTBUFF_CREATEMGEM_CITRINE and SMARTBUFF_CheckBagItem(SMARTBUFF_MANACITRINE)) or (buffnS == SMARTBUFF_CREATEMGEM_JADE and SMARTBUFF_CheckBagItem(SMARTBUFF_MANAJADE)) or (buffnS == SMARTBUFF_CREATEMGEM_RUBY and SMARTBUFF_CheckBagItem(SMARTBUFF_MANARUBY)) then bUsable = false; end - elseif (buffnS == SMARTBUFF_CONJFOOD or buffnS == SMARTBUFF_CONJWATER) and isPlayerMoving then - bUsable = false; end end end @@ -2521,6 +2540,9 @@ function SMARTBUFF_BuffUnit(unit, subgroup, mode, spell) end end -- for buff end + if O.HideSAButtonNoAction and not O.HideSAButton and not InCombatLockdown() then + SmartBuff_KeyButton:Hide(); + end isPrompting = false return 3; end @@ -3216,6 +3238,7 @@ function SMARTBUFF_Options_Init(self) if (O.ToggleMsgError == nil) then O.ToggleMsgError = false; end if (O.HideMmButton == nil) then O.HideMmButton = false; end if (O.HideSAButton == nil) then O.HideSAButton = true; end + if (O.HideSAButtonNoAction == nil) then O.HideSAButtonNoAction = true; end -- tracking switcher, only works for herbs and minerals if (O.TrackSwitchActive == nil) then O.TrackSwitchActive = false; end if (O.TrackSwitchFish == nil) then O.TrackSwitchFish = false; end @@ -3645,6 +3668,12 @@ function SMARTBUFF_OTrackDisableGrp() cDisableTrackSwitch = false; end end +function SMARTBUFF_OHideSAButtonNoAction() + O.HideSAButtonNoAction = not O.HideSAButtonNoAction; + if not O.HideSAButtonNoAction and not O.HideSAButtonNoAction then + SMARTBUFF_ShowSAButton(); + end +end function SMARTBUFF_OToggleBuff(s, i) local bs = GetBuffSettings(cBuffs[i].BuffS); @@ -3967,6 +3996,7 @@ function SMARTBUFF_Options_OnShow() SmartBuffOptionsFrame_cbMsgError:SetChecked(O.ToggleMsgError); SmartBuffOptionsFrame_cbHideMmButton:SetChecked(O.HideMmButton); SmartBuffOptionsFrame_cbHideSAButton:SetChecked(O.HideSAButton); + SmartBuffOptionsFrame_cbHideSAButtonNoAction:SetChecked(O.HideSAButtonNoAction); SmartBuffOptionsFrame_cbGatherAutoSwitch:SetChecked(O.TrackSwitchActive); SmartBuffOptionsFrame_cbGatherAutoSwitchFish:SetChecked(O.TrackSwitchFish); @@ -4501,7 +4531,9 @@ function SMARTBUFF_OnPostClick(self, button, down) self:SetAttribute("macrotext", nil); self:SetAttribute("action", nil); - SMARTBUFF_SetButtonTexture(SmartBuff_KeyButton, imgSB); + if not O.HideSAButtonNoAction and not O.HideSAButton then + SMARTBUFF_SetButtonTexture(SmartBuff_KeyButton, imgSB); + end -- ensure we reset the cvar back to the original players setting -- if it was previously changed due to casting issues. diff --git a/SmartBuff.toc b/SmartBuff.toc index 868e997..ed5bc86 100644 --- a/SmartBuff.toc +++ b/SmartBuff.toc @@ -1,6 +1,6 @@ ## Interface: 30403 ## Title: |TInterface\Addons\Smartbuff\Icons\IconEnabled:0|t SmartBuff |cffffffff(WOTLK)|r -## Version: 54.30403 +## Version: 57.30403 ## 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. diff --git a/SmartBuff.xml b/SmartBuff.xml index d54da84..5b1f49b 100644 --- a/SmartBuff.xml +++ b/SmartBuff.xml @@ -419,7 +419,7 @@ @@ -875,9 +875,7 @@ - - - + @@ -969,7 +967,7 @@ - + @@ -1030,9 +1028,7 @@ - - - + @@ -1092,9 +1088,7 @@ - - - + @@ -1152,7 +1146,7 @@ - + @@ -1533,11 +1527,11 @@ - + - + @@ -1593,7 +1587,7 @@ - + @@ -1738,7 +1732,7 @@ - + @@ -1761,6 +1755,35 @@ + + + + + + + + + + + + + + + GameTooltip:SetOwner(self, "ANCHOR_RIGHT"); + GameTooltip:SetText(SMARTBUFF_OFTT_HIDEABNOACTION, SMARTBUFF_TTC_R, SMARTBUFF_TTC_G, SMARTBUFF_TTC_B, SMARTBUFF_TTC_A); + + + SMARTBUFF_OHideSAButtonNoAction(); + + + getglobal(self:GetName().."Text"):SetText(SMARTBUFF_OFT_HIDEABNOACTION); + getglobal(self:GetName().."Text"):SetFontObject(GameFontNormalSmall); + + + GameTooltip:Hide(); + + + diff --git a/SmartBuff_Vanilla.toc b/SmartBuff_Vanilla.toc index 1d0d831..9cc91fe 100644 --- a/SmartBuff_Vanilla.toc +++ b/SmartBuff_Vanilla.toc @@ -1,6 +1,6 @@ ## Interface: 11404 ## Title: |TInterface\Addons\Smartbuff\Icons\IconEnabled:0|t SmartBuff |cffffffff(ERA, HC)|r -## Version: 52.11404 +## Version: 57.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. diff --git a/localization.cn.lua b/localization.cn.lua index 7561e94..2911408 100644 --- a/localization.cn.lua +++ b/localization.cn.lua @@ -312,6 +312,10 @@ BINDING_NAME_SMARTBUFF_BIND_RESETBUFFTIMERS = "重新设定BUFF定时器"; -- 设置窗口 +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "仅在需要时显示"; +SMARTBUFF_OFTT_HIDEABNOACTION = "当您自己、队伍成员、团队或宠物没有丢失增益时,隐藏操作按钮。 请注意,必须启用\n操作按钮才能使此选项发挥作用。"; + -- experimental feature - for testing. SMARTBUFF_OFT_FIXBUFF = "修复 铸造" SMARTBUFF_OFTT_FIXBUFF = "如果施放 buff 失败,请勾选此选项。" diff --git a/localization.de.lua b/localization.de.lua index c8e3b6c..443fcbd 100644 --- a/localization.de.lua +++ b/localization.de.lua @@ -83,6 +83,10 @@ SMARTBUFF_NOTINTENDEDCLIENT = "Diese Version von Smartbuff ist nicht für diese -- Options Frame Text +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "Nur bei Bedarf anzeigen"; +SMARTBUFF_OFTT_HIDEABNOACTION = "Blenden Sie die Aktionsschaltfläche aus, wenn keine Buffs für Sie selbst, Gruppenmitglieder, Raids oder Haustiere fehlen. Beachten Sie, dass die\nAktionsschaltfläche aktiviert sein muss, damit diese Option funktioniert."; + -- experimental feature - for testing. SMARTBUFF_OFT_FIXBUFF = "Gießen reparieren" SMARTBUFF_OFTT_FIXBUFF = "Ankreuzen, wenn Smartbuff keine Buffs wirkt." diff --git a/localization.en.lua b/localization.en.lua index 2c2d476..773da2d 100644 --- a/localization.en.lua +++ b/localization.en.lua @@ -6,14 +6,8 @@ SMARTBUFF_WHATSNEW = "\n\n" .." |cff00e0ffClassic & Retail versions by Codermik with additional\n" .." retail coding by Speedwaystar.\n\n" - .." |cffffffffChanges in r54.141023 (Classic):\n\n" - .." * Fixed Well Fed SpellId - Thanks EmmaLee \n\n" - .." * Reverted back 'Buff Target' setting to off.\n\n" - .." * Changed the default action button graphic\n" - .." that shows when no action is needed to a\n" - .." World of Warcraft logo.\n\n" - .." * Fixed bug under Classic ERA preventing buffs \n" - .." when running with your character. \n" + .." |cffffffffChanges in r57.171023 (Classic):\n\n" + .." * Fixed a LUA error caused while in combat.\n\n" .."\n\n" .." |cffffff00I currently play on the Mirage Raceway EU classic\n" .." WOTLK server as Alliance, I play on Mik, Gabella,\n" @@ -94,6 +88,10 @@ SMARTBUFF_OFTT_AUTOGATHOFF = "Automatically switch this feature OFF when in a p SMARTBUFF_OFT_MOUNTEDWARN = "Prompt while mounted"; SMARTBUFF_OFTT_MOUNTEDWARN = "Continue to remind me of missing buffs or abilities while I am mounted and automatically dismount to buff."; +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "Show only when needed"; +SMARTBUFF_OFTT_HIDEABNOACTION = "Hide the action button when there are no missing buffs\non yourself, party members, raid or pets. Note that the\nAction Button must be enabled for this option to work."; + SMARTBUFF_OFT = "SmartBuff On/Off"; SMARTBUFF_OFT_MENU = "Show/hide options menu"; SMARTBUFF_OFT_AUTO = "Reminder"; @@ -132,7 +130,7 @@ SMARTBUFF_OFT_RBT = "Reset BT"; SMARTBUFF_OFT_BUFFINCITIES = "Buff in cities"; SMARTBUFF_OFT_BLDURATION = "Blacklisted"; SMARTBUFF_OFT_ANTIDAZE = "Anti daze"; -SMARTBUFF_OFT_HIDESABUTTON = "Hide action button"; +SMARTBUFF_OFT_HIDESABUTTON = "Disable Action Button"; SMARTBUFF_OFT_INCOMBAT = "in combat"; SMARTBUFF_OFT_SMARTDEBUFF = "SmartDebuff"; SMARTBUFF_OFT_INSHAPESHIFT = "Shapeshift"; diff --git a/localization.es.lua b/localization.es.lua index 6083e17..92ebe13 100644 --- a/localization.es.lua +++ b/localization.es.lua @@ -81,6 +81,11 @@ SMARTBUFF_NOTINTENDEDCLIENT = "Esta versi -- Options Frame Text +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "Mostrar solo cuando sea necesario"; +SMARTBUFF_OFTT_HIDEABNOACTION = "Oculta el botn de accin cuando no falten beneficios\n para ti, los miembros del grupo, la banda o las mascotas. Tenga en cuenta que el botn\nAccin debe estar habilitado para que esta opcin funcione."; + + -- experimental feature - for testing. SMARTBUFF_OFT_FIXBUFF = "Corregir fundicin" SMARTBUFF_OFTT_FIXBUFF = "Marque si Smartbuff falla al lanzar beneficios." diff --git a/localization.fr.lua b/localization.fr.lua index 35f0a8f..f3492fd 100644 --- a/localization.fr.lua +++ b/localization.fr.lua @@ -81,6 +81,10 @@ SMARTBUFF_NOTINTENDEDCLIENT = "Cette version de Smartbuff n'est pas destinée -- Options Frame Text +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "Afficher uniquement en cas de besoin"; +SMARTBUFF_OFTT_HIDEABNOACTION = "Masquez le bouton d'action lorsqu'il ne manque aucun buff\non vous-même, les membres du groupe, le raid ou les animaux de compagnie. Notez que le\nbouton d'action doit être activé pour que cette option fonctionne."; + -- experimental feature - for testing. SMARTBUFF_OFT_FIXBUFF = "buff Correctif " SMARTBUFF_OFTT_FIXBUFF = "Cochez si Smartbuff ne parvient pas à lancer des buffs." diff --git a/localization.ru.lua b/localization.ru.lua index 64069bf..480d89f 100644 --- a/localization.ru.lua +++ b/localization.ru.lua @@ -79,6 +79,10 @@ SMARTBUFF_OFTT_MOUNTEDWARN = "Продолжайте напоминать мн -- Options Frame Text +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "Показывать только при необходимости"; +SMARTBUFF_OFTT_HIDEABNOACTION = "Скройте кнопку действия, если нет недостающих баффов, кроме вас, членов группы, рейда или питомцев. Обратите внимание, что для работы этой опции кнопка\nДействие должна быть включена."; + -- experimental feature - for testing. SMARTBUFF_OFT_FIXBUFF = "Исправить кастинг" SMARTBUFF_OFTT_FIXBUFF = "Отметьте, если применение баффа не удается." diff --git a/localization.tw.lua b/localization.tw.lua index 6d3bae5..049e58d 100644 --- a/localization.tw.lua +++ b/localization.tw.lua @@ -85,6 +85,10 @@ SMARTBUFF_NOTINTENDEDCLIENT = "此版本的 Smartbuff 不適用於此客戶端 -- Options Frame Text +-- show action button only when pending actions exist. +SMARTBUFF_OFT_HIDEABNOACTION = "僅在需要時顯示"; +SMARTBUFF_OFTT_HIDEABNOACTION = "當您自己、團隊成員、團隊或寵物沒有失去增益時,請隱藏操作按鈕。 請注意,必須啟用\n操作按鈕才能使此選項發揮作用。"; + -- experimental feature - for testing. SMARTBUFF_OFT_FIXBUFF = "修復演員表" SMARTBUFF_OFTT_FIXBUFF = "如果施放增益失败,请勾选。"