Quantcast

Prevent dots fucking up conditions. Mentioined in #483

Darth Predator [06-24-17 - 08:57]
Prevent dots fucking up conditions. Mentioined in #483
Filename
ElvUI_SLE/locales/english.lua
ElvUI_SLE/locales/german.lua
ElvUI_SLE/locales/russian.lua
ElvUI_SLE/modules/equipmanager.lua
diff --git a/ElvUI_SLE/locales/english.lua b/ElvUI_SLE/locales/english.lua
index cece38d..cc24fbe 100644
--- a/ElvUI_SLE/locales/english.lua
+++ b/ElvUI_SLE/locales/english.lua
@@ -470,6 +470,7 @@ L["SLE_EM_SET_NOT_EXIST"] = "Equipment set |cff9482c9%s|r doesn't exist!"
 L["SLE_EM_TAG_INVALID"] = "Invalid tag: %s"
 L["SLE_EM_TAG_INVALID_TALENT_TIER"] = "Invalid argument for talent tag. Tier is |cff9482c9%s|r, should be from 1 to 7."
 L["SLE_EM_TAG_INVALID_TALENT_COLUMN"] = "Invalid argument for talent tag. Column is |cff9482c9%s|r, should be from 1 to 3."
+L["SLE_EM_TAG_DOT_WARNING"] = "Wrong separator for conditions detected. You need to use commas instead of dots."
 L["SLE_EM_CONDITIONS_DESC"] = [[Determines conditions under which specified sets are equipeed.
 This works as macros and controlled by a set of tags as seen below.]]
 L["SLE_EM_TAGS_HELP"] = [[Following tags and parameters are eligible for setting equip condition:
diff --git a/ElvUI_SLE/locales/german.lua b/ElvUI_SLE/locales/german.lua
index f5a8440..4c3b258 100644
--- a/ElvUI_SLE/locales/german.lua
+++ b/ElvUI_SLE/locales/german.lua
@@ -461,6 +461,7 @@ L["SLE_EM_SET_NOT_EXIST"] = "Equipment set |cff9482c9%s|r doesn't exist!"
 L["SLE_EM_TAG_INVALID"] = "Invalid tag: %s"
 L["SLE_EM_TAG_INVALID_TALENT_TIER"] = "Invalid argument for talent tag. Tier is |cff9482c9%s|r, should be from 1 to 7."
 L["SLE_EM_TAG_INVALID_TALENT_COLUMN"] = "Invalid argument for talent tag. Column is |cff9482c9%s|r, should be from 1 to 3."
+L["SLE_EM_TAG_DOT_WARNING"] = "Wrong separator for conditions detected. You need to use commas instead of dots."
 L["SLE_EM_CONDITIONS_DESC"] = [[Determines conditions under which specified sets are equipeed.
 This works as macros and controlled by a set of tags as seen below.]]
 L["SLE_EM_TAGS_HELP"] = [[Following tags and parameters are eligible for setting equip condition:
diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua
index f125a10..b43b8a6 100644
--- a/ElvUI_SLE/locales/russian.lua
+++ b/ElvUI_SLE/locales/russian.lua
@@ -460,6 +460,7 @@ L["SLE_EM_SET_NOT_EXIST"] = "Комплекта |cff9482c9%s|r не сущест
 L["SLE_EM_TAG_INVALID"] = "Неверный тэг: %s"
 L["SLE_EM_TAG_INVALID_TALENT_TIER"] = "Неверный параметр для тэга talent. Указан ряд |cff9482c9%s|r, должен быть от 1 до 7."
 L["SLE_EM_TAG_INVALID_TALENT_COLUMN"] = "Неверный параметр для тэга talent. Указан столбец |cff9482c9%s|r, должен быть от 1 до 3."
+L["SLE_EM_TAG_DOT_WARNING"] = "Обнаружен неверный разделитель. Необходимо использовать запятые, а не точки."
 L["SLE_EM_CONDITIONS_DESC"] = [[Определяет условия, при которых будут надеваться указанные сеты.
 Работает по принципу макросов и контроллируется набором тэгов, представленным ниже.]]
 L["SLE_EM_TAGS_HELP"] = [[Следующие тэги и параметры могут использоваться для условий экипировки:
@@ -784,7 +785,7 @@ L["Tooltip X-offset"] = "Смещение подсказки по X"
 L["Offset the tooltip on the X-axis."] = "Смещает подсказку по оси X относительно выбранной точки крепления."
 L["Tooltip Y-offset"] = "Смещение подсказки по Y"
 L["Offset the tooltip on the Y-axis."] = "Смещает подсказку по оси Y относительно выбранной точки крепления."
-L["RAID_TOS"] = "ToS"
+L["RAID_TOS"] = "ГС"
 L["RAID_NH"] = "ЦН"
 L["RAID_TOV"] = "ИД"
 L["RAID_EN"] = "ИК"
diff --git a/ElvUI_SLE/modules/equipmanager.lua b/ElvUI_SLE/modules/equipmanager.lua
index 54d79bb..281f3f9 100644
--- a/ElvUI_SLE/modules/equipmanager.lua
+++ b/ElvUI_SLE/modules/equipmanager.lua
@@ -64,8 +64,7 @@ EM.TagsTable = {
 	end,
 	["talent"] = function(tier, column)
 		if not (tier or column) then return false end
-		tier = T.tonumber(tier)
-		column = T.tonumber(column)
+		if not (T.tonumber(tier) or T.tonumber(column)) then return false end
 		if tier < 0 or tier > 7 then SLE:ErrorPrint(T.format(L["SLE_EM_TAG_INVALID_TALENT_TIER"], tier)) return false end
 		if column < 0 or column > 3 then SLE:ErrorPrint(T.format(L["SLE_EM_TAG_INVALID_TALENT_COLUMN"], column)) return false end
 		local index = T.GetSpecialization()
@@ -152,23 +151,27 @@ function EM:TagsProcess(msg)
 				if cnd then
 					local command, argument = (":"):split(cnd)
 					local argTable = {}
-					if ("/"):split(argument) then
-						local put
-						while argument and ("/"):split(argument) do
-							put, argument = ("/"):split(argument)
-							T.tinsert(argTable, put)
-						end
-					else
-						T.tinsert(argTable, argument)
-					end
-
-					local tag = command:match("^%s*(.+)%s*$")
-					if EM.TagsTable[tag] then
-						T.tinsert(parsed_cmds, { cmd = command:match("^%s*(.+)%s*$"), arg = argTable })
+					if T.find(argument, ".") then
+						SLE:ErrorPrint(L["SLE_EM_TAG_DOT_WARNING"])
 					else
-						SLE:ErrorPrint(T.format(L["SLE_EM_TAG_INVALID"], tag))
-						T.twipe(EM.SetData)
-						return
+						if ("/"):split(argument) then
+							local put
+							while argument and ("/"):split(argument) do
+								put, argument = ("/"):split(argument)
+								T.tinsert(argTable, put)
+							end
+						else
+							T.tinsert(argTable, argument)
+						end
+
+						local tag = command:match("^%s*(.+)%s*$")
+						if EM.TagsTable[tag] then
+							T.tinsert(parsed_cmds, { cmd = command:match("^%s*(.+)%s*$"), arg = argTable })
+						else
+							SLE:ErrorPrint(T.format(L["SLE_EM_TAG_INVALID"], tag))
+							T.twipe(EM.SetData)
+							return
+						end
 					end
 				end
 			end