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 = "如果施放增益失败,请勾选。"