Commit fc332c5b authored by Darth Predator's avatar Darth Predator
Browse files

Prevent dots fucking up conditions. Mentioined in #483

parent 15e0fe9a
......@@ -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:
......
......@@ -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:
......
......@@ -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"] = "ИК"
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment