add zhCN locale

This commit is contained in:
jilinge2
2024-09-27 14:12:07 +08:00
parent 883d3459be
commit 803fccb9f7
12 changed files with 610 additions and 318 deletions
+2 -1
View File
@@ -1,5 +1,5 @@
## Interface: 11200
## Title: Cursive
## Title: [|CFF33AAFFSUPERWOW|R] Cursive
## Author: Pepopo
## Notes: Uses SuperWoW GUIDs to show units in combat and track curses
## Version: 1.0
@@ -21,6 +21,7 @@ Libs\Dewdrop\Dewdrop-2.0.lua
Libs\Tablet\Tablet-2.0.lua
Libs\FuBarPlugin\FuBarPlugin-2.0.lua
Localization.lua
global.lua
utils.lua
settings.lua
+272
View File
@@ -0,0 +1,272 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
L:RegisterTranslations("enUS", function() return {
["|cffffcc00Cursive:|cffffaaaa Commands:"] = true,
["|cffffcc00Priority choices:"] = true,
["|cffffcc00Options (separate with ,):"] = true,
["Display text warnings when a curse fails to cast."] = true,
["Play a sound when a curse is resisted."] = true,
["Play a sound when a curse is about to expire."] = true,
["Allow out of combat targets to be multicursed. Would only consider using this solo to avoid potentially griefing raids/dungeons by pulling unintended mobs."] = true,
["Minimum HP for a target to be considered. Example usage minhp=10000. "] = true,
["Time threshold at which to allow refreshing a curse. Default is 0 seconds."] = true,
["/cursive curse <spellName:str>|<guid?:str>|<options?:List<str>>: Casts spell if not already on target/guid"] = true,
["/cursive multicurse <spellName:str>|<priority?:str>|<options?:List<str>>: Picks target based on priority and casts spell if not already on target"] = true,
["Target with the highest HP."] = true,
["Target with the highest raid mark."] = true,
["Target with the highest raid mark with Cross set to -1 and Skull set to -2 (Square highest prio at 6)."] = true,
["Target with the lowest raid mark."] = true,
["Target with the highest HP and raid mark."] = true,
["Same as HIGHEST_HP_RAID_MARK but with RAID_MARK_SQUARE mark prio."] = true,
["Same as HIGHEST_HP_RAID_MARK but with INVERSE_RAID_MARK mark prio."] = true,
["|cffffcc00Cursive:|cffffaaaa Couldn't find a target to curse."] = true,
-- global
["|cffffcc00Cursive:|cffffaaaa Couldn't detect SuperWoW."] = true,
["|cffffcc00Cursive:|cffffaaaa Loaded. /cursive for commands and minimap icon for options."] = true,
-- settings
["Cursive"] = true,
["Health Bar Width"] = true,
["Health Bar Height"] = true,
["Raid Icon Size"] = true,
["Curse Icon Size"] = true,
["Spacing"] = true,
["Text Size"] = true,
["Scale"] = true,
["In Combat"] = true,
["Hostile"] = true,
["Attackable"] = true,
["Within 28 Range"] = true,
["Has Raid Mark"] = true,
["Has Curse"] = true,
["Only show units you have cursed"] = true,
["Enabled"] = true,
["Enable/Disable Cursive"] = true,
["Show Title"] = true,
["Show the title of the frame"] = true,
["Allow clickthrough"] = true,
["This will allow you to click through the frame to target mobs behind it, but prevents dragging the frame."] = true,
["Show Frame Background"] = true,
["Toggle the frame background to help with positioning"] = true,
["Reset Frame"] = true,
["Move the frame back to the default position"] = true,
["Bar Display Settings"] = true,
["Mob filters"] = true,
["Target and Raid Marks always shown"] = true,
["Max Curses"] = true,
["Max Rows"] = true,
["Max Columns"] = true,
-- spells
["Rank 1"] = true,
["Rank 2"] = true,
["Rank 3"] = true,
["Rank 4"] = true,
-- druid
["Entangling Roots"] = true,
["Sleep"] = true,
["Faerie Fire"] = true,
["Faerie Fire (Bear)"] = true,
["Faerie Fire (Feral)"] = true,
["Hibernate"] = true,
["Insect Swarm"] = true,
["Moonfire"] = true,
["Rake"] = true,
["Rip"] = true,
["Soothe Animal"] = true,
["Bash"] = true,
["Maim"] = true,
["Demoralizing Roar"] = true,
["Challenging Roar"] = true,
-- hunter
["Scorpid Sting"] = true,
["Serpent Sting"] = true,
["Viper Sting"] = true,
["Wing Clip"] = true,
["Concussive Shot"] = true,
["Wyvern Sting"] = true,
["Counterattack"] = true,
["Hunter\'s Mark"] = true,
["Freezing Trap"] = true,
-- mage
["Polymorph"] = true,
["Polymorph: Cow"] = true,
["Polymorph: Turtle"] = true,
["Polymorph: Pig"] = true,
-- priest
["Shackle Undead"] = true,
["Mind Soothe"] = true,
["Mind Control"] = true,
["Devouring Plague"] = true,
["Hex of Weakness"] = true,
["Shadow Word: Pain"] = true,
["Vampiric Embrace"] = true,
["Holy Fire"] = true,
-- Paladin
["Turn Undead"] = true,
-- rogue
["Blind"] = true,
["Sap"] = true,
["Gouge"] = true,
-- warlock
["Corruption"] = true,
["Curse of Agony"] = true,
["Curse of Doom"] = true,
["Curse of Recklessness"] = true,
["Curse of Shadow"] = true,
["Curse of the Elements"] = true,
["Curse of Tongues"] = true,
["Curse of Weakness"] = true,
["Curse of Exhaustion"] = true,
["Immolate"] = true,
["Death Coil"] = true,
["Banish"] = true,
["Siphon Life"] = true,
["Fear"] = true,
}
end)
L:RegisterTranslations("zhCN", function() return {
["|cffffcc00Cursive:|cffffaaaa Commands:"] = "|cffffcc00Cursive:|cffffaaaa 命令:",
["|cffffcc00Priority choices:"] = "|cffffcc00优先级选择:",
["|cffffcc00Options (separate with ,):"] = "|cffffcc00选项 (用半角逗号分隔):",
["Display text warnings when a curse fails to cast."] = "当诅咒施放失败时显示文本警告.",
["Play a sound when a curse is resisted."] = "当诅咒被抵抗时播放声音.",
["Play a sound when a curse is about to expire."] = "当诅咒即将到期时播放声音.\n 详细使用说明及示例请查看readme文件",
["Allow out of combat targets to be multicursed. Would only consider using this solo to avoid potentially griefing raids/dungeons by pulling unintended mobs."] = "允许战斗外目标被多重诅咒。只有在单人游戏中才会考虑使用这个选项,以避免在副本中意外拉到怪物而造成困扰.",
["Minimum HP for a target to be considered. Example usage minhp=10000. "] = "目标考虑的最小生命值。例如:minhp=10000.",
["Time threshold at which to allow refreshing a curse. Default is 0 seconds."] = "允许刷新诅咒的时间阈值。默认是0秒.例如:refreshtime=2",
["/cursive curse <spellName:str>|<guid?:str>|<options?:List<str>>: Casts spell if not already on target/guid"] = "/cursive curse <法术名称>|<目标ID>|<选项列表,用半角逗号分隔>: 如果目标/ID身上没有此法术,目标ID可以是以下内容(mouseover), (player), (pet), (party)(%d), (partypet)(%d), (raid)(%d+), (raidpet)(%d+), (target), (targettarget)",
["/cursive multicurse <spellName:str>|<priority?:str>|<options?:List<str>>: Picks target based on priority and casts spell if not already on target"] = "/cursive multicurse <法术名称>|<优先级>|<选项列表,用半角逗号分隔>: 根据优先级选择目标并施放法术,如果目标上没有",
["Target with the highest HP."] = "选择生命值最高的目标.",
["Target with the highest raid mark."] = "选择团队标记最高的目标.",
["Target with the highest raid mark with Cross set to -1 and Skull set to -2 (Square highest prio at 6)."] = "选择团队标记最高的目标,但是将红叉设为-1,骷髅设为-2(方块标记最高优先级为6).",
["Target with the lowest raid mark."] = "选择团队标记优先级最低的目标.(与RAID_MARK顺序相反)",
["Target with the highest HP and raid mark."] = "选择生命值和团队标记最高的目标.",
["Same as HIGHEST_HP_RAID_MARK but with RAID_MARK_SQUARE mark prio."] = "与HIGHEST_HP_RAID_MARK相同,但是RAID_MARK_SQUARE标记优先.",
["Same as HIGHEST_HP_RAID_MARK but with INVERSE_RAID_MARK mark prio."] = "与HIGHEST_HP_RAID_MARK相同,但是INVERSE_RAID_MARK标记优先.",
["|cffffcc00Cursive:|cffffaaaa Couldn't find a target to curse."] = "|cffffcc00Cursive:|cffffaaaa 找不到要诅咒的目标.",
-- global
["|cffffcc00Cursive:|cffffaaaa Couldn't detect SuperWoW."] = "|cffffcc00Cursive:|cffffaaaa 无法检测到SuperWoW.",
["|cffffcc00Cursive:|cffffaaaa Loaded. /cursive for commands and minimap icon for options."] = "|cffffcc00Cursive:|cffffaaaa 已加载。/cursive 用于查看帮助命令,小地图图标打开设置选项.",
-- settings
["Cursive"] = "Cursive",
["Health Bar Width"] = "生命条宽度",
["Health Bar Height"] = "生命条高度",
["Raid Icon Size"] = "团队标记大小",
["Curse Icon Size"] = "诅咒图标大小",
["Spacing"] = "间距",
["Text Size"] = "文本大小",
["Scale"] = "缩放",
["In Combat"] = "战斗中",
["Hostile"] = "敌对",
["Attackable"] = "可攻击",
["Within 28 Range"] = "在28范围内",
["Has Raid Mark"] = "有团队标记",
["Has Curse"] = "有诅咒",
["Only show units you have cursed"] = "只显示你诅咒过的单位",
["Enabled"] = "启用",
["Enable/Disable Cursive"] = "启用/禁用 Cursive",
["Show Title"] = "显示标题",
["Show the title of the frame"] = "显示框架的标题",
["Allow clickthrough"] = "允许点击穿透",
["This will allow you to click through the frame to target mobs behind it, but prevents dragging the frame."] = "这将允许你点击穿透框架选中其背后的怪物,但会禁用拖动框架.",
["Show Frame Background"] = "显示框架背景",
["Toggle the frame background to help with positioning"] = "切换框架背景以帮助定位",
["Reset Frame"] = "重置框架",
["Move the frame back to the default position"] = "将框架移回默认位置",
["Bar Display Settings"] = "条形显示设置",
["Mob filters"] = "怪物过滤器",
["Target and Raid Marks always shown"] = "目标和团队标记始终显示",
["Max Curses"] = "最大诅咒数",
["Max Rows"] = "最大行数",
["Max Columns"] = "最大列数",
-- spells
["Rank 1"] = "等级 1",
["Rank 2"] = "等级 2",
["Rank 3"] = "等级 3",
["Rank 4"] = "等级 4",
-- druid
["Entangling Roots"] = "纠缠根须",
["Sleep"] = "沉睡",
["Faerie Fire"] = "精灵之火",
["Faerie Fire (Bear)"] = "精灵之火(熊形态)",
["Faerie Fire (Feral)"] = "精灵之火(野性形态)",
["Hibernate"] = "休眠",
["Insect Swarm"] = "虫群",
["Moonfire"] = "月火术",
["Rake"] = "扫击",
["Rip"] = "撕扯",
["Soothe Animal"] = "安抚动物",
["Bash"] = "重击",
["Maim"] = "致残",
["Demoralizing Roar"] = "挫志咆哮",
["Challenging Roar"] = "挑战咆哮",
-- hunter
["Scorpid Sting"] = "毒蝎钉刺",
["Serpent Sting"] = "毒蛇钉刺",
["Viper Sting"] = "蝰蛇钉刺",
["Wing Clip"] = "摔绊",
["Concussive Shot"] = "震荡射击",
["Wyvern Sting"] = "翼龙钉刺",
["Counterattack"] = "反击",
["Hunter's Mark"] = "猎人印记",
["Freezing Trap"] = "冰冻陷阱",
-- mage
["Polymorph"] = "变形术",
["Polymorph: Cow"] = "变形术:奶牛",
["Polymorph: Turtle"] = "变形术:龟",
["Polymorph: Pig"] = "变形术:猪",
-- priest
["Shackle Undead"] = "束缚亡灵",
["Mind Soothe"] = "安抚心灵",
["Mind Control"] = "心灵控制",
["Devouring Plague"] = "吞噬瘟疫",
["Hex of Weakness"] = "虚弱妖术",
["Shadow Word: Pain"] = "暗言术:痛",
["Vampiric Embrace"] = "吸血鬼的拥抱",
["Holy Fire"] = "神圣之火",
-- Paladin
["Turn Undead"] = "超度亡灵",
-- rogue
["Blind"] = "致盲",
["Sap"] = "闷棍",
["Gouge"] = "凿击",
-- warlock
["Corruption"] = "腐蚀术",
["Curse of Agony"] = "痛苦诅咒",
["Curse of Doom"] = "末日诅咒",
["Curse of Recklessness"] = "鲁莽诅咒",
["Curse of Shadow"] = "暗影诅咒",
["Curse of the Elements"] = "元素诅咒",
["Curse of Tongues"] = "语言诅咒",
["Curse of Weakness"] = "虚弱诅咒",
["Curse of Exhaustion"] = "疲劳诅咒",
["Immolate"] = "献祭",
["Death Coil"] = "死亡缠绕",
["Banish"] = "放逐",
["Siphon Life"] = "生命虹吸",
["Fear"] = "恐惧",
}
end)
+63 -62
View File
@@ -1,19 +1,20 @@
local curseCommands = "|cffffcc00Cursive:|cffffaaaa Commands:"
local priorityChoices = "Priority choices:"
local curseOptions = "Options (separate with ,):"
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
local curseCommands = L["|cffffcc00Cursive:|cffffaaaa Commands:"]
local priorityChoices = L["|cffffcc00Priority choices:"]
local curseOptions = L["|cffffcc00Options (separate with ,):"]
local commandOptions = {
warnings = "Display text warnings when a curse fails to cast.",
resistsound = "Play a sound when a curse is resisted.",
expiringsound = "Play a sound when a curse is about to expire.",
allowooc = "Allow out of combat targets to be multicursed. Would only consider using this solo to avoid potentially griefing raids/dungeons by pulling unintended mobs.",
minhp = "Minimum HP for a target to be considered. Example usage minhp=10000. ",
refreshtime = "Time threshold at which to allow refreshing a curse. Default is 0 seconds."
warnings = L["Display text warnings when a curse fails to cast."],
resistsound = L["Play a sound when a curse is resisted."],
expiringsound = L["Play a sound when a curse is about to expire."],
allowooc = L["Allow out of combat targets to be multicursed. Would only consider using this solo to avoid potentially griefing raids/dungeons by pulling unintended mobs."],
minhp = L["Minimum HP for a target to be considered. Example usage minhp=10000. "],
refreshtime = L["Time threshold at which to allow refreshing a curse. Default is 0 seconds."]
}
local commands = {
["curse"] = "/cursive curse <spellName:str>|<guid?:str>|<options?:List<str>>: Casts spell if not already on target/guid",
["multicurse"] = "/cursive multicurse <spellName:str>|<priority?:str>|<options?:List<str>>: Picks target based on priority and casts spell if not already on target",
["curse"] = L["/cursive curse <spellName:str>|<guid?:str>|<options?:List<str>>: Casts spell if not already on target/guid"],
["multicurse"] = L["/cursive multicurse <spellName:str>|<priority?:str>|<options?:List<str>>: Picks target based on priority and casts spell if not already on target"],
}
local PRIORITY_HIGHEST_HP = "HIGHEST_HP"
@@ -25,16 +26,16 @@ local PRIORITY_HIGHEST_HP_RAID_MARK_SQUARE = "HIGHEST_HP_RAID_MARK_SQUARE"
local PRIORITY_HIGHEST_HP_INVERSE_RAID_MARK = "HIGHEST_HP_INVERSE_RAID_MARK"
local priorities = {
[PRIORITY_HIGHEST_HP] = "Target with the highest HP.",
[PRIORITY_RAID_MARK] = "Target with the highest raid mark.",
[PRIORITY_RAID_MARK_SQUARE] = "Target with the highest raid mark with Cross set to -1 and Skull set to -2 (Square highest prio at 6).",
[PRIORITY_INVERSE_RAID_MARK] = "Target with the lowest raid mark.",
[PRIORITY_HIGHEST_HP_RAID_MARK] = "Target with the highest HP and raid mark.",
[PRIORITY_HIGHEST_HP_RAID_MARK_SQUARE] = "Same as HIGHEST_HP_RAID_MARK but with RAID_MARK_SQUARE mark prio.",
[PRIORITY_HIGHEST_HP_INVERSE_RAID_MARK] = "Same as HIGHEST_HP_RAID_MARK but with INVERSE_RAID_MARK mark prio."
[PRIORITY_HIGHEST_HP] = L["Target with the highest HP."],
[PRIORITY_RAID_MARK] = L["Target with the highest raid mark."],
[PRIORITY_RAID_MARK_SQUARE] = L["Target with the highest raid mark with Cross set to -1 and Skull set to -2 (Square highest prio at 6)."],
[PRIORITY_INVERSE_RAID_MARK] = L["Target with the lowest raid mark."],
[PRIORITY_HIGHEST_HP_RAID_MARK] = L["Target with the highest HP and raid mark."],
[PRIORITY_HIGHEST_HP_RAID_MARK_SQUARE] = L["Same as HIGHEST_HP_RAID_MARK but with RAID_MARK_SQUARE mark prio."],
[PRIORITY_HIGHEST_HP_INVERSE_RAID_MARK] = L["Same as HIGHEST_HP_RAID_MARK but with INVERSE_RAID_MARK mark prio."]
}
local curseNoTarget = "|cffffcc00Cursive:|cffffaaaa Couldn't find a target to curse."
local curseNoTarget = L["|cffffcc00Cursive:|cffffaaaa Couldn't find a target to curse."]
local function parseOptions(optionsStr)
local options = { }
@@ -69,12 +70,12 @@ local function handleSlashCommands(msg, editbox)
end
DEFAULT_CHAT_FRAME:AddMessage(priorityChoices)
for priority, description in pairs(priorities) do
DEFAULT_CHAT_FRAME:AddMessage(priority .. ": " .. description)
DEFAULT_CHAT_FRAME:AddMessage("|CFFFFFF00"..priority .. "|R: " .. description)
end
DEFAULT_CHAT_FRAME:AddMessage(curseOptions)
for option, description in pairs(commandOptions) do
DEFAULT_CHAT_FRAME:AddMessage(option .. ": " .. description)
DEFAULT_CHAT_FRAME:AddMessage("|CFFFFFF00"..option .. "|R: " .. description)
end
return
end
@@ -92,58 +93,58 @@ local function handleSlashCommands(msg, editbox)
end
local crowdControlledSpellIds = {
[700] = { name = "Sleep", rank = 1, duration = 20 },
[1090] = { name = "Sleep", rank = 2, duration = 30 },
[2937] = { name = "Sleep", rank = 3, duration = 40 },
[700] = { name = L["Sleep"], rank = 1, duration = 20 },
[1090] = { name = L["Sleep"], rank = 2, duration = 30 },
[2937] = { name = L["Sleep"], rank = 3, duration = 40 },
[339] = { name = "Entangling Roots", rank = 1, duration = 12 },
[1062] = { name = "Entangling Roots", rank = 2, duration = 15 },
[5195] = { name = "Entangling Roots", rank = 3, duration = 18 },
[5196] = { name = "Entangling Roots", rank = 4, duration = 21 },
[9852] = { name = "Entangling Roots", rank = 5, duration = 24 },
[9853] = { name = "Entangling Roots", rank = 6, duration = 27 },
[339] = { name = L["Entangling Roots"], rank = 1, duration = 12 },
[1062] = { name = L["Entangling Roots"], rank = 2, duration = 15 },
[5195] = { name = L["Entangling Roots"], rank = 3, duration = 18 },
[5196] = { name = L["Entangling Roots"], rank = 4, duration = 21 },
[9852] = { name = L["Entangling Roots"], rank = 5, duration = 24 },
[9853] = { name = L["Entangling Roots"], rank = 6, duration = 27 },
[2637] = { name = "Hibernate", rank = 1, duration = 20 },
[18657] = { name = "Hibernate", rank = 2, duration = 30 },
[18658] = { name = "Hibernate", rank = 3, duration = 40 },
[2637] = { name = L["Hibernate"], rank = 1, duration = 20 },
[18657] = { name = L["Hibernate"], rank = 2, duration = 30 },
[18658] = { name = L["Hibernate"], rank = 3, duration = 40 },
[1425] = { name = "Shackle Undead", rank = 1, duration = 30 },
[9486] = { name = "Shackle Undead", rank = 2, duration = 40 },
[10956] = { name = "Shackle Undead", rank = 3, duration = 50 },
[1425] = { name = L["Shackle Undead"], rank = 1, duration = 30 },
[9486] = { name = L["Shackle Undead"], rank = 2, duration = 40 },
[10956] = { name = L["Shackle Undead"], rank = 3, duration = 50 },
-- polymorph
[118] = { name = "Polymorph", rank = "Rank 1", duration = 20 },
[12824] = { name = "Polymorph", rank = "Rank 2", duration = 30 },
[12825] = { name = "Polymorph", rank = "Rank 3", duration = 40 },
[12826] = { name = "Polymorph", rank = "Rank 4", duration = 50 },
[118] = { name = L["Polymorph"], rank = L["Rank 1"], duration = 20 },
[12824] = { name = L["Polymorph"], rank = L["Rank 2"], duration = 30 },
[12825] = { name = L["Polymorph"], rank = L["Rank 3"], duration = 40 },
[12826] = { name = L["Polymorph"], rank = L["Rank 4"], duration = 50 },
[28270] = { name = "Polymorph: Cow", rank = "Rank 1", duration = 50 },
[28271] = { name = "Polymorph: Turtle", rank = "Rank 1", duration = 50 },
[28272] = { name = "Polymorph: Pig", rank = "Rank 1", duration = 50 },
[28270] = { name = L["Polymorph: Cow"], rank = L["Rank 1"], duration = 50 },
[28271] = { name = L["Polymorph: Turtle"], rank = L["Rank 1"], duration = 50 },
[28272] = { name = L["Polymorph: Pig"], rank = L["Rank 1"], duration = 50 },
[2878] = { name = "Turn Undead", rank = 1, duration = 10 },
[5627] = { name = "Turn Undead", rank = 2, duration = 15 },
[10326] = { name = "Turn Undead", rank = 3, duration = 20 },
[2878] = { name = L["Turn Undead"], rank = 1, duration = 10 },
[5627] = { name = L["Turn Undead"], rank = 2, duration = 15 },
[10326] = { name = L["Turn Undead"], rank = 3, duration = 20 },
[2094] = { name = "Blind", rank = 1, duration = 10 },
[21060] = { name = "Blind", rank = 1, duration = 10 },
[2094] = { name = L["Blind"], rank = 1, duration = 10 },
[21060] = { name = L["Blind"], rank = 1, duration = 10 },
[6770] = { name = "Sap", rank = 1, duration = 25 },
[2070] = { name = "Sap", rank = 2, duration = 35 },
[11297] = { name = "Sap", rank = 3, duration = 45 },
[6770] = { name = L["Sap"], rank = 1, duration = 25 },
[2070] = { name = L["Sap"], rank = 2, duration = 35 },
[11297] = { name = L["Sap"], rank = 3, duration = 45 },
[1776] = { name = "Gouge", rank = 1, duration = 4 },
[1777] = { name = "Gouge", rank = 2, duration = 4 },
[8629] = { name = "Gouge", rank = 3, duration = 4 },
[11285] = { name = "Gouge", rank = 4, duration = 4 },
[11286] = { name = "Gouge", rank = 5, duration = 4 },
[1776] = { name = L["Gouge"], rank = 1, duration = 4 },
[1777] = { name = L["Gouge"], rank = 2, duration = 4 },
[8629] = { name = L["Gouge"], rank = 3, duration = 4 },
[11285] = { name = L["Gouge"], rank = 4, duration = 4 },
[11286] = { name = L["Gouge"], rank = 5, duration = 4 },
[3355] = { name = "Freezing Trap", rank = 1, duration = 10 },
[14308] = { name = "Freezing Trap", rank = 2, duration = 15 },
[14309] = { name = "Freezing Trap", rank = 3, duration = 20 },
[3355] = { name = L["Freezing Trap"], rank = 1, duration = 10 },
[14308] = { name = L["Freezing Trap"], rank = 2, duration = 15 },
[14309] = { name = L["Freezing Trap"], rank = 3, duration = 20 },
[710] = { name = "Banish", rank = 1, duration = 30 },
[18647] = { name = "Banish", rank = 2, duration = 30 },
[710] = { name = L["Banish"], rank = 1, duration = 30 },
[18647] = { name = L["Banish"], rank = 2, duration = 30 },
}
local function isMobCrowdControlled(guid)
@@ -317,7 +318,7 @@ function Cursive:Multicurse(spellName, priority, options)
if priority and not priorities[priority] then
DEFAULT_CHAT_FRAME:AddMessage(priorityChoices)
for choice, description in pairs(priorities) do
DEFAULT_CHAT_FRAME:AddMessage(choice .. ": " .. description)
DEFAULT_CHAT_FRAME:AddMessage("|CFFFFFF00"..choice .. "|R: " .. description)
end
return
end
+3 -2
View File
@@ -1,10 +1,11 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
Cursive = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0", "AceDebug-2.0", "AceModuleCore-2.0", "AceConsole-2.0", "AceDB-2.0", "AceHook-2.1")
Cursive.superwow = true
if not GetPlayerBuffID or not CombatLogAdd or not SpellInfo then
local notify = CreateFrame("Frame", nil, UIParent)
notify:SetScript("OnUpdate", function()
DEFAULT_CHAT_FRAME:AddMessage("|cffffcc00Cursive:|cffffaaaa Couldn't detect SuperWoW.")
DEFAULT_CHAT_FRAME:AddMessage(L["|cffffcc00Cursive:|cffffaaaa Couldn't detect SuperWoW."])
this:Hide()
end)
@@ -12,7 +13,7 @@ if not GetPlayerBuffID or not CombatLogAdd or not SpellInfo then
end
function Cursive:OnEnable()
DEFAULT_CHAT_FRAME:AddMessage("|cffffcc00Cursive:|cffffaaaa Loaded. /cursive for commands and minimap icon for options.")
DEFAULT_CHAT_FRAME:AddMessage(L["|cffffcc00Cursive:|cffffaaaa Loaded. /cursive for commands and minimap icon for options."])
Cursive.curses:LoadCurses()
if Cursive.db.profile.enabled then
+48 -47
View File
@@ -2,9 +2,10 @@ if not Cursive.superwow then
return
end
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
Cursive:RegisterDB("CursiveDB")
Cursive:RegisterDefaults("profile", {
caption = "Cursive",
caption = L["Cursive"],
anchor = "CENTER",
x = -240,
y = 120,
@@ -37,8 +38,8 @@ Cursive:RegisterDefaults("profile", {
local barOptions = {
["barwidth"] = {
type = "range",
name = "Health Bar Width",
desc = "Health Bar Width",
name = L["Health Bar Width"],
desc = L["Health Bar Width"],
order = 10,
min = 30,
max = 150,
@@ -55,8 +56,8 @@ local barOptions = {
},
["barheight"] = {
type = "range",
name = "Health Bar Height",
desc = "Health Bar Height",
name = L["Health Bar Height"],
desc = L["Health Bar Height"],
order = 20,
min = 10,
max = 30,
@@ -73,8 +74,8 @@ local barOptions = {
},
["raidiconsize"] = {
type = "range",
name = "Raid Icon Size",
desc = "Raid Icon Size",
name = L["Raid Icon Size"],
desc = L["Raid Icon Size"],
order = 30,
min = 10,
max = 30,
@@ -91,8 +92,8 @@ local barOptions = {
},
["curseiconsize"] = {
type = "range",
name = "Curse Icon Size",
desc = "Curse Icon Size",
name = L["Curse Icon Size"],
desc = L["Curse Icon Size"],
order = 40,
min = 10,
max = 30,
@@ -109,8 +110,8 @@ local barOptions = {
},
["spacing"] = {
type = "range",
name = "Spacing",
desc = "Spacing",
name = L["Spacing"],
desc = L["Spacing"],
order = 50,
min = 0,
max = 10,
@@ -127,8 +128,8 @@ local barOptions = {
},
["textsize"] = {
type = "range",
name = "Text Size",
desc = "Text Size",
name = L["Text Size"],
desc = L["Text Size"],
order = 60,
min = 8,
max = 20,
@@ -145,8 +146,8 @@ local barOptions = {
},
["scale"] = {
type = "range",
name = "Scale",
desc = "Scale",
name = L["Scale"],
desc = L["Scale"],
order = 70,
min = 0.5,
max = 2,
@@ -166,8 +167,8 @@ local barOptions = {
local mobFilters = {
["incombat"] = {
type = "toggle",
name = "In Combat",
desc = "In Combat",
name = L["In Combat"],
desc = L["In Combat"],
order = 1,
get = function()
return Cursive.db.profile.filterincombat
@@ -178,8 +179,8 @@ local mobFilters = {
},
["hostile"] = {
type = "toggle",
name = "Hostile",
desc = "Hostile",
name = L["Hostile"],
desc = L["Hostile"],
order = 2,
get = function()
return Cursive.db.profile.filterhostile
@@ -190,8 +191,8 @@ local mobFilters = {
},
["attackable"] = {
type = "toggle",
name = "Attackable",
desc = "Attackable",
name = L["Attackable"],
desc = L["Attackable"],
order = 3,
get = function()
return Cursive.db.profile.filterattackable
@@ -202,8 +203,8 @@ local mobFilters = {
},
["range"] = {
type = "toggle",
name = "Within 28 Range",
desc = "Within 28 Range",
name = L["Within 28 Range"],
desc = L["Within 28 Range"],
order = 4,
get = function()
return Cursive.db.profile.filterrange
@@ -214,8 +215,8 @@ local mobFilters = {
},
["raidmark"] = {
type = "toggle",
name = "Has Raid Mark",
desc = "Has Raid Mark",
name = L["Has Raid Mark"],
desc = L["Has Raid Mark"],
order = 5,
get = function()
return Cursive.db.profile.filterraidmark
@@ -226,8 +227,8 @@ local mobFilters = {
},
["hascurse"] = {
type = "toggle",
name = "Has Curse",
desc = "Only show units you have cursed",
name = L["Has Curse"],
desc = L["Only show units you have cursed"],
order = 6,
get = function()
return Cursive.db.profile.filterhascurse
@@ -244,8 +245,8 @@ Cursive.cmdtable = {
args = {
["enabled"] = {
type = "toggle",
name = "Enabled",
desc = "Enable/Disable Cursive",
name = L["Enabled"],
desc = L["Enable/Disable Cursive"],
order = 1,
get = function()
return Cursive.db.profile.enabled
@@ -261,8 +262,8 @@ Cursive.cmdtable = {
},
["showtitle"] = {
type = "toggle",
name = "Show Title",
desc = "Show the title of the frame",
name = L["Show Title"],
desc = L["Show the title of the frame"],
order = 3,
get = function()
return Cursive.db.profile.showtitle
@@ -274,8 +275,8 @@ Cursive.cmdtable = {
},
["clickthrough"] = {
type = "toggle",
name = "Allow clickthrough",
desc = "This will allow you to click through the frame to target mobs behind it, but prevents dragging the frame.",
name = L["Allow clickthrough"],
desc = L["This will allow you to click through the frame to target mobs behind it, but prevents dragging the frame."],
order = 5,
get = function()
return Cursive.db.profile.clickthrough
@@ -287,8 +288,8 @@ Cursive.cmdtable = {
},
["showbackdrop"] = {
type = "toggle",
name = "Show Frame Background",
desc = "Toggle the frame background to help with positioning",
name = L["Show Frame Background"],
desc = L["Toggle the frame background to help with positioning"],
order = 7,
get = function()
return Cursive.db.profile.showbackdrop
@@ -300,8 +301,8 @@ Cursive.cmdtable = {
},
["resetframe"] = {
type = "execute",
name = "Reset Frame",
desc = "Move the frame back to the default position",
name = L["Reset Frame"],
desc = L["Move the frame back to the default position"],
order = 9,
func = function()
Cursive.db.profile.anchor = "CENTER"
@@ -317,15 +318,15 @@ Cursive.cmdtable = {
},
["bardisplay"] = {
type = "group",
name = "Bar Display Settings",
desc = "Bar Display Settings",
name = L["Bar Display Settings"],
desc = L["Bar Display Settings"],
order = 13,
args = barOptions
},
["filters"] = {
type = "group",
name = "Mob filters",
desc = "Target and Raid Marks always shown",
name = L["Mob filters"],
desc = L["Target and Raid Marks always shown"],
order = 20,
args = mobFilters
},
@@ -336,8 +337,8 @@ Cursive.cmdtable = {
},
["maxcurses"] = {
type = "range",
name = "Max Curses",
desc = "Max Curses",
name = L["Max Curses"],
desc = L["Max Curses"],
order = 22,
min = 1,
max = 8,
@@ -354,8 +355,8 @@ Cursive.cmdtable = {
},
["maxrow"] = {
type = "range",
name = "Max Rows",
desc = "Max Rows",
name = L["Max Rows"],
desc = L["Max Rows"],
order = 30,
min = 1,
max = 20,
@@ -372,8 +373,8 @@ Cursive.cmdtable = {
},
["maxcol"] = {
type = "range",
name = "Max Columns",
desc = "Max Columns",
name = L["Max Columns"],
desc = L["Max Columns"],
order = 40,
min = 1,
max = 20,
+65 -64
View File
@@ -1,82 +1,83 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getDruidSpells()
return {
[339] = { name = "Entangling Roots", rank = 1, duration = 12 },
[1062] = { name = "Entangling Roots", rank = 2, duration = 15 },
[5195] = { name = "Entangling Roots", rank = 3, duration = 18 },
[5196] = { name = "Entangling Roots", rank = 4, duration = 21 },
[9852] = { name = "Entangling Roots", rank = 5, duration = 24 },
[9853] = { name = "Entangling Roots", rank = 6, duration = 27 },
[339] = { name = L["Entangling Roots"], rank = 1, duration = 12 },
[1062] = { name = L["Entangling Roots"], rank = 2, duration = 15 },
[5195] = { name = L["Entangling Roots"], rank = 3, duration = 18 },
[5196] = { name = L["Entangling Roots"], rank = 4, duration = 21 },
[9852] = { name = L["Entangling Roots"], rank = 5, duration = 24 },
[9853] = { name = L["Entangling Roots"], rank = 6, duration = 27 },
[700] = { name = "Sleep", rank = 1, duration = 20 },
[1090] = { name = "Sleep", rank = 2, duration = 30 },
[2937] = { name = "Sleep", rank = 3, duration = 40 },
[700] = { name = L["Sleep"], rank = 1, duration = 20 },
[1090] = { name = L["Sleep"], rank = 2, duration = 30 },
[2937] = { name = L["Sleep"], rank = 3, duration = 40 },
[770] = { name = "Faerie Fire", rank = 1, duration = 40 },
[778] = { name = "Faerie Fire", rank = 2, duration = 40 },
[9749] = { name = "Faerie Fire", rank = 3, duration = 40 },
[9907] = { name = "Faerie Fire", rank = 4, duration = 40 },
[770] = { name = L["Faerie Fire"], rank = 1, duration = 40 },
[778] = { name = L["Faerie Fire"], rank = 2, duration = 40 },
[9749] = { name = L["Faerie Fire"], rank = 3, duration = 40 },
[9907] = { name = L["Faerie Fire"], rank = 4, duration = 40 },
[16855] = { name = "Faerie Fire (Bear)", rank = 1, duration = 40 },
[17387] = { name = "Faerie Fire (Bear)", rank = 2, duration = 40 },
[17388] = { name = "Faerie Fire (Bear)", rank = 3, duration = 40 },
[17389] = { name = "Faerie Fire (Bear)", rank = 4, duration = 40 },
[16855] = { name = L["Faerie Fire (Bear)"], rank = 1, duration = 40 },
[17387] = { name = L["Faerie Fire (Bear)"], rank = 2, duration = 40 },
[17388] = { name = L["Faerie Fire (Bear)"], rank = 3, duration = 40 },
[17389] = { name = L["Faerie Fire (Bear)"], rank = 4, duration = 40 },
[16857] = { name = "Faerie Fire (Feral)", rank = 1, duration = 40 },
[17390] = { name = "Faerie Fire (Feral)", rank = 2, duration = 40 },
[17391] = { name = "Faerie Fire (Feral)", rank = 3, duration = 40 },
[17392] = { name = "Faerie Fire (Feral)", rank = 4, duration = 40 },
[16857] = { name = L["Faerie Fire (Feral)"], rank = 1, duration = 40 },
[17390] = { name = L["Faerie Fire (Feral)"], rank = 2, duration = 40 },
[17391] = { name = L["Faerie Fire (Feral)"], rank = 3, duration = 40 },
[17392] = { name = L["Faerie Fire (Feral)"], rank = 4, duration = 40 },
[2637] = { name = "Hibernate", rank = 1, duration = 20 },
[18657] = { name = "Hibernate", rank = 2, duration = 30 },
[18658] = { name = "Hibernate", rank = 3, duration = 40 },
[2637] = { name = L["Hibernate"], rank = 1, duration = 20 },
[18657] = { name = L["Hibernate"], rank = 2, duration = 30 },
[18658] = { name = L["Hibernate"], rank = 3, duration = 40 },
[5570] = { name = "Insect Swarm", rank = 1, duration = 12 },
[24974] = { name = "Insect Swarm", rank = 2, duration = 12 },
[24975] = { name = "Insect Swarm", rank = 3, duration = 12 },
[24976] = { name = "Insect Swarm", rank = 4, duration = 12 },
[24977] = { name = "Insect Swarm", rank = 5, duration = 12 },
[5570] = { name = L["Insect Swarm"], rank = 1, duration = 12 },
[24974] = { name = L["Insect Swarm"], rank = 2, duration = 12 },
[24975] = { name = L["Insect Swarm"], rank = 3, duration = 12 },
[24976] = { name = L["Insect Swarm"], rank = 4, duration = 12 },
[24977] = { name = L["Insect Swarm"], rank = 5, duration = 12 },
[8921] = { name = "Moonfire", rank = 1, duration = 9 },
[8924] = { name = "Moonfire", rank = 2, duration = 12 },
[8925] = { name = "Moonfire", rank = 3, duration = 12 },
[8926] = { name = "Moonfire", rank = 4, duration = 12 },
[8927] = { name = "Moonfire", rank = 5, duration = 12 },
[8928] = { name = "Moonfire", rank = 6, duration = 12 },
[8929] = { name = "Moonfire", rank = 7, duration = 12 },
[9833] = { name = "Moonfire", rank = 8, duration = 12 },
[9834] = { name = "Moonfire", rank = 9, duration = 12 },
[9835] = { name = "Moonfire", rank = 10, duration = 12 },
[8921] = { name = L["Moonfire"], rank = 1, duration = 9 },
[8924] = { name = L["Moonfire"], rank = 2, duration = 12 },
[8925] = { name = L["Moonfire"], rank = 3, duration = 12 },
[8926] = { name = L["Moonfire"], rank = 4, duration = 12 },
[8927] = { name = L["Moonfire"], rank = 5, duration = 12 },
[8928] = { name = L["Moonfire"], rank = 6, duration = 12 },
[8929] = { name = L["Moonfire"], rank = 7, duration = 12 },
[9833] = { name = L["Moonfire"], rank = 8, duration = 12 },
[9834] = { name = L["Moonfire"], rank = 9, duration = 12 },
[9835] = { name = L["Moonfire"], rank = 10, duration = 12 },
[1822] = { name = "Rake", rank = 1, duration = 9 },
[1823] = { name = "Rake", rank = 2, duration = 9 },
[1824] = { name = "Rake", rank = 3, duration = 9 },
[9904] = { name = "Rake", rank = 4, duration = 9 },
[1822] = { name = L["Rake"], rank = 1, duration = 9 },
[1823] = { name = L["Rake"], rank = 2, duration = 9 },
[1824] = { name = L["Rake"], rank = 3, duration = 9 },
[9904] = { name = L["Rake"], rank = 4, duration = 9 },
[1079] = { name = "Rip", rank = 1, duration = 12 },
[9492] = { name = "Rip", rank = 2, duration = 12 },
[9493] = { name = "Rip", rank = 3, duration = 12 },
[9752] = { name = "Rip", rank = 4, duration = 12 },
[9894] = { name = "Rip", rank = 5, duration = 12 },
[9896] = { name = "Rip", rank = 6, duration = 12 },
[1079] = { name = L["Rip"], rank = 1, duration = 12 },
[9492] = { name = L["Rip"], rank = 2, duration = 12 },
[9493] = { name = L["Rip"], rank = 3, duration = 12 },
[9752] = { name = L["Rip"], rank = 4, duration = 12 },
[9894] = { name = L["Rip"], rank = 5, duration = 12 },
[9896] = { name = L["Rip"], rank = 6, duration = 12 },
[2908] = { name = "Soothe Animal", rank = 1, duration = 15 },
[8955] = { name = "Soothe Animal", rank = 2, duration = 15 },
[9901] = { name = "Soothe Animal", rank = 3, duration = 15 },
[2908] = { name = L["Soothe Animal"], rank = 1, duration = 15 },
[8955] = { name = L["Soothe Animal"], rank = 2, duration = 15 },
[9901] = { name = L["Soothe Animal"], rank = 3, duration = 15 },
[5211] = { name = "Bash", rank = 1, duration = 2 },
[6798] = { name = "Bash", rank = 2, duration = 3 },
[8983] = { name = "Bash", rank = 3, duration = 4 },
[5211] = { name = L["Bash"], rank = 1, duration = 2 },
[6798] = { name = L["Bash"], rank = 2, duration = 3 },
[8983] = { name = L["Bash"], rank = 3, duration = 4 },
[22570] = { name = "Maim", rank = 1, duration = 5 },
[49802] = { name = "Maim", rank = 2, duration = 5 },
[49803] = { name = "Maim", rank = 3, duration = 5 },
[22570] = { name = L["Maim"], rank = 1, duration = 5 },
[49802] = { name = L["Maim"], rank = 2, duration = 5 },
[49803] = { name = L["Maim"], rank = 3, duration = 5 },
[99] = { name = "Demoralizing Roar", rank = 1, duration = 30 },
[1735] = { name = "Demoralizing Roar", rank = 2, duration = 30 },
[9490] = { name = "Demoralizing Roar", rank = 3, duration = 30 },
[9747] = { name = "Demoralizing Roar", rank = 4, duration = 30 },
[9898] = { name = "Demoralizing Roar", rank = 5, duration = 30 },
[99] = { name = L["Demoralizing Roar"], rank = 1, duration = 30 },
[1735] = { name = L["Demoralizing Roar"], rank = 2, duration = 30 },
[9490] = { name = L["Demoralizing Roar"], rank = 3, duration = 30 },
[9747] = { name = L["Demoralizing Roar"], rank = 4, duration = 30 },
[9898] = { name = L["Demoralizing Roar"], rank = 5, duration = 30 },
[5209] = { name = "Challenging Roar", rank = 1, duration = 6 },
[5209] = { name = L["Challenging Roar"], rank = 1, duration = 6 },
}
end
+31 -30
View File
@@ -1,41 +1,42 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getHunterSpells()
return {
[3043] = { name = "Scorpid Sting", rank = 1, duration = 20 },
[14275] = { name = "Scorpid Sting", rank = 2, duration = 20 },
[14276] = { name = "Scorpid Sting", rank = 3, duration = 20 },
[14277] = { name = "Scorpid Sting", rank = 4, duration = 20 },
[3043] = { name = L["Scorpid Sting"], rank = 1, duration = 20 },
[14275] = { name = L["Scorpid Sting"], rank = 2, duration = 20 },
[14276] = { name = L["Scorpid Sting"], rank = 3, duration = 20 },
[14277] = { name = L["Scorpid Sting"], rank = 4, duration = 20 },
[1978] = { name = "Serpent Sting", rank = 1, duration = 15 },
[13549] = { name = "Serpent Sting", rank = 2, duration = 15 },
[13550] = { name = "Serpent Sting", rank = 3, duration = 15 },
[13551] = { name = "Serpent Sting", rank = 4, duration = 15 },
[13552] = { name = "Serpent Sting", rank = 5, duration = 15 },
[13553] = { name = "Serpent Sting", rank = 6, duration = 15 },
[13554] = { name = "Serpent Sting", rank = 7, duration = 15 },
[13555] = { name = "Serpent Sting", rank = 8, duration = 15 },
[25295] = { name = "Serpent Sting", rank = 9, duration = 15 },
[1978] = { name = L["Serpent Sting"], rank = 1, duration = 15 },
[13549] = { name = L["Serpent Sting"], rank = 2, duration = 15 },
[13550] = { name = L["Serpent Sting"], rank = 3, duration = 15 },
[13551] = { name = L["Serpent Sting"], rank = 4, duration = 15 },
[13552] = { name = L["Serpent Sting"], rank = 5, duration = 15 },
[13553] = { name = L["Serpent Sting"], rank = 6, duration = 15 },
[13554] = { name = L["Serpent Sting"], rank = 7, duration = 15 },
[13555] = { name = L["Serpent Sting"], rank = 8, duration = 15 },
[25295] = { name = L["Serpent Sting"], rank = 9, duration = 15 },
[3034] = { name = "Viper Sting", rank = 1, duration = 8 },
[14279] = { name = "Viper Sting", rank = 2, duration = 8 },
[14280] = { name = "Viper Sting", rank = 3, duration = 8 },
[3034] = { name = L["Viper Sting"], rank = 1, duration = 8 },
[14279] = { name = L["Viper Sting"], rank = 2, duration = 8 },
[14280] = { name = L["Viper Sting"], rank = 3, duration = 8 },
[2974] = { name = "Wing Clip", rank = 1, duration = 10 },
[14267] = { name = "Wing Clip", rank = 2, duration = 10 },
[14268] = { name = "Wing Clip", rank = 3, duration = 10 },
[2974] = { name = L["Wing Clip"], rank = 1, duration = 10 },
[14267] = { name = L["Wing Clip"], rank = 2, duration = 10 },
[14268] = { name = L["Wing Clip"], rank = 3, duration = 10 },
[5116] = { name = "Concussive Shot", rank = 1, duration = 4 },
[5116] = { name = L["Concussive Shot"], rank = 1, duration = 4 },
[19386] = { name = "Wyvern Sting", rank = 1, duration = 12 },
[24132] = { name = "Wyvern Sting", rank = 2, duration = 12 },
[24133] = { name = "Wyvern Sting", rank = 3, duration = 12 },
[19386] = { name = L["Wyvern Sting"], rank = 1, duration = 12 },
[24132] = { name = L["Wyvern Sting"], rank = 2, duration = 12 },
[24133] = { name = L["Wyvern Sting"], rank = 3, duration = 12 },
[19306] = { name = "Counterattack", rank = 1, duration = 5 },
[20909] = { name = "Counterattack", rank = 2, duration = 5 },
[20910] = { name = "Counterattack", rank = 3, duration = 5 },
[19306] = { name = L["Counterattack"], rank = 1, duration = 5 },
[20909] = { name = L["Counterattack"], rank = 2, duration = 5 },
[20910] = { name = L["Counterattack"], rank = 3, duration = 5 },
[1130] = { name = "Hunter\'s Mark", rank = 1, duration = 120 },
[14323] = { name = "Hunter\'s Mark", rank = 2, duration = 120 },
[14324] = { name = "Hunter\'s Mark", rank = 3, duration = 120 },
[14325] = { name = "Hunter\'s Mark", rank = 4, duration = 120 },
[1130] = { name = L["Hunter\'s Mark"], rank = 1, duration = 120 },
[14323] = { name = L["Hunter\'s Mark"], rank = 2, duration = 120 },
[14324] = { name = L["Hunter\'s Mark"], rank = 3, duration = 120 },
[14325] = { name = L["Hunter\'s Mark"], rank = 4, duration = 120 },
}
end
+8 -7
View File
@@ -1,12 +1,13 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getMageSpells()
return {
[118] = { name = "Polymorph", rank = "Rank 1", duration = 20 },
[12824] = { name = "Polymorph", rank = "Rank 2", duration = 30 },
[12825] = { name = "Polymorph", rank = "Rank 3", duration = 40 },
[12826] = { name = "Polymorph", rank = "Rank 4", duration = 50 },
[118] = { name = L["Polymorph"], rank = L["Rank 1"], duration = 20 },
[12824] = { name = L["Polymorph"], rank = L["Rank 2"], duration = 30 },
[12825] = { name = L["Polymorph"], rank = L["Rank 3"], duration = 40 },
[12826] = { name = L["Polymorph"], rank = L["Rank 4"], duration = 50 },
[28270] = { name = "Polymorph: Cow", rank = "Rank 1", duration = 50 },
[28271] = { name = "Polymorph: Turtle", rank = "Rank 1", duration = 50 },
[28272] = { name = "Polymorph: Pig", rank = "Rank 1", duration = 50 },
[28270] = { name = L["Polymorph: Cow"], rank = L["Rank 1"], duration = 50 },
[28271] = { name = L["Polymorph: Turtle"], rank = L["Rank 1"], duration = 50 },
[28272] = { name = L["Polymorph: Pig"], rank = L["Rank 1"], duration = 50 },
}
end
+39 -38
View File
@@ -1,49 +1,50 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getPriestSpells()
return {
[1425] = { name = "Shackle Undead", rank = 1, duration = 30 },
[9486] = { name = "Shackle Undead", rank = 2, duration = 40 },
[10956] = { name = "Shackle Undead", rank = 3, duration = 50 },
[1425] = { name = L["Shackle Undead"], rank = 1, duration = 30 },
[9486] = { name = L["Shackle Undead"], rank = 2, duration = 40 },
[10956] = { name = L["Shackle Undead"], rank = 3, duration = 50 },
[453] = { name = "Mind Soothe", rank = 1, duration = 15 },
[8192] = { name = "Mind Soothe", rank = 2, duration = 15 },
[10953] = { name = "Mind Soothe", rank = 3, duration = 15 },
[453] = { name = L["Mind Soothe"], rank = 1, duration = 15 },
[8192] = { name = L["Mind Soothe"], rank = 2, duration = 15 },
[10953] = { name = L["Mind Soothe"], rank = 3, duration = 15 },
[605] = { name = "Mind Control", rank = 1, duration = 60 },
[10911] = { name = "Mind Control", rank = 2, duration = 30 },
[10912] = { name = "Mind Control", rank = 3, duration = 30 },
[605] = { name = L["Mind Control"], rank = 1, duration = 60 },
[10911] = { name = L["Mind Control"], rank = 2, duration = 30 },
[10912] = { name = L["Mind Control"], rank = 3, duration = 30 },
[2944] = { name = "Devouring Plague", rank = 1, duration = 24 },
[19276] = { name = "Devouring Plague", rank = 2, duration = 24 },
[19277] = { name = "Devouring Plague", rank = 3, duration = 24 },
[19278] = { name = "Devouring Plague", rank = 4, duration = 24 },
[19279] = { name = "Devouring Plague", rank = 5, duration = 24 },
[19280] = { name = "Devouring Plague", rank = 6, duration = 24 },
[2944] = { name = L["Devouring Plague"], rank = 1, duration = 24 },
[19276] = { name = L["Devouring Plague"], rank = 2, duration = 24 },
[19277] = { name = L["Devouring Plague"], rank = 3, duration = 24 },
[19278] = { name = L["Devouring Plague"], rank = 4, duration = 24 },
[19279] = { name = L["Devouring Plague"], rank = 5, duration = 24 },
[19280] = { name = L["Devouring Plague"], rank = 6, duration = 24 },
[9035] = { name = "Hex of Weakness", rank = 1, duration = 120 },
[19281] = { name = "Hex of Weakness", rank = 2, duration = 120 },
[19282] = { name = "Hex of Weakness", rank = 3, duration = 120 },
[19283] = { name = "Hex of Weakness", rank = 4, duration = 120 },
[19284] = { name = "Hex of Weakness", rank = 5, duration = 120 },
[19285] = { name = "Hex of Weakness", rank = 6, duration = 120 },
[9035] = { name = L["Hex of Weakness"], rank = 1, duration = 120 },
[19281] = { name = L["Hex of Weakness"], rank = 2, duration = 120 },
[19282] = { name = L["Hex of Weakness"], rank = 3, duration = 120 },
[19283] = { name = L["Hex of Weakness"], rank = 4, duration = 120 },
[19284] = { name = L["Hex of Weakness"], rank = 5, duration = 120 },
[19285] = { name = L["Hex of Weakness"], rank = 6, duration = 120 },
[589] = { name = "Shadow Word: Pain", rank = 1, duration = 24 }, -- assume they have talent
[594] = { name = "Shadow Word: Pain", rank = 2, duration = 24 },
[970] = { name = "Shadow Word: Pain", rank = 3, duration = 24 },
[992] = { name = "Shadow Word: Pain", rank = 4, duration = 24 },
[2767] = { name = "Shadow Word: Pain", rank = 5, duration = 24 },
[10892] = { name = "Shadow Word: Pain", rank = 6, duration = 24 },
[10893] = { name = "Shadow Word: Pain", rank = 7, duration = 24 },
[10894] = { name = "Shadow Word: Pain", rank = 8, duration = 24 },
[589] = { name = L["Shadow Word: Pain"], rank = 1, duration = 24 }, -- assume they have talent
[594] = { name = L["Shadow Word: Pain"], rank = 2, duration = 24 },
[970] = { name = L["Shadow Word: Pain"], rank = 3, duration = 24 },
[992] = { name = L["Shadow Word: Pain"], rank = 4, duration = 24 },
[2767] = { name = L["Shadow Word: Pain"], rank = 5, duration = 24 },
[10892] = { name = L["Shadow Word: Pain"], rank = 6, duration = 24 },
[10893] = { name = L["Shadow Word: Pain"], rank = 7, duration = 24 },
[10894] = { name = L["Shadow Word: Pain"], rank = 8, duration = 24 },
[15286] = { name = "Vampiric Embrace", rank = 1, duration = 60 },
[15286] = { name = L["Vampiric Embrace"], rank = 1, duration = 60 },
[14914] = { name = "Holy Fire", rank = 1, duration = 10 },
[15262] = { name = "Holy Fire", rank = 2, duration = 10 },
[15263] = { name = "Holy Fire", rank = 3, duration = 10 },
[15264] = { name = "Holy Fire", rank = 4, duration = 10 },
[15265] = { name = "Holy Fire", rank = 5, duration = 10 },
[15266] = { name = "Holy Fire", rank = 6, duration = 10 },
[15267] = { name = "Holy Fire", rank = 7, duration = 10 },
[15261] = { name = "Holy Fire", rank = 8, duration = 10 },
[14914] = { name = L["Holy Fire"], rank = 1, duration = 10 },
[15262] = { name = L["Holy Fire"], rank = 2, duration = 10 },
[15263] = { name = L["Holy Fire"], rank = 3, duration = 10 },
[15264] = { name = L["Holy Fire"], rank = 4, duration = 10 },
[15265] = { name = L["Holy Fire"], rank = 5, duration = 10 },
[15266] = { name = L["Holy Fire"], rank = 6, duration = 10 },
[15267] = { name = L["Holy Fire"], rank = 7, duration = 10 },
[15261] = { name = L["Holy Fire"], rank = 8, duration = 10 },
}
end
+11 -10
View File
@@ -1,16 +1,17 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getRogueSpells()
return {
[2094] = { name = "Blind", rank = 1, duration = 10 },
[21060] = { name = "Blind", rank = 1, duration = 10 },
[2094] = { name = L["Blind"], rank = 1, duration = 10 },
[21060] = { name = L["Blind"], rank = 1, duration = 10 },
[6770] = { name = "Sap", rank = 1, duration = 25 },
[2070] = { name = "Sap", rank = 2, duration = 35 },
[11297] = { name = "Sap", rank = 3, duration = 45 },
[6770] = { name = L["Sap"], rank = 1, duration = 25 },
[2070] = { name = L["Sap"], rank = 2, duration = 35 },
[11297] = { name = L["Sap"], rank = 3, duration = 45 },
[1776] = { name = "Gouge", rank = 1, duration = 4 },
[1777] = { name = "Gouge", rank = 2, duration = 4 },
[8629] = { name = "Gouge", rank = 3, duration = 4 },
[11285] = { name = "Gouge", rank = 4, duration = 4 },
[11286] = { name = "Gouge", rank = 5, duration = 4 },
[1776] = { name = L["Gouge"], rank = 1, duration = 4 },
[1777] = { name = L["Gouge"], rank = 2, duration = 4 },
[8629] = { name = L["Gouge"], rank = 3, duration = 4 },
[11285] = { name = L["Gouge"], rank = 4, duration = 4 },
[11286] = { name = L["Gouge"], rank = 5, duration = 4 },
}
end
+53 -52
View File
@@ -1,69 +1,70 @@
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getWarlockSpells()
return {
[172] = { name = "Corruption", rank = 1, duration = 12 },
[6222] = { name = "Corruption", rank = 2, duration = 15 },
[6223] = { name = "Corruption", rank = 3, duration = 18 },
[7648] = { name = "Corruption", rank = 4, duration = 18 },
[11671] = { name = "Corruption", rank = 5, duration = 18 },
[11672] = { name = "Corruption", rank = 6, duration = 18 },
[25311] = { name = "Corruption", rank = 7, duration = 18 },
[172] = { name = L["Corruption"], rank = 1, duration = 12 },
[6222] = { name = L["Corruption"], rank = 2, duration = 15 },
[6223] = { name = L["Corruption"], rank = 3, duration = 18 },
[7648] = { name = L["Corruption"], rank = 4, duration = 18 },
[11671] = { name = L["Corruption"], rank = 5, duration = 18 },
[11672] = { name = L["Corruption"], rank = 6, duration = 18 },
[25311] = { name = L["Corruption"], rank = 7, duration = 18 },
[980] = { name = "Curse of Agony", rank = 1, duration = 24 },
[1014] = { name = "Curse of Agony", rank = 2, duration = 24 },
[6217] = { name = "Curse of Agony", rank = 3, duration = 24 },
[11711] = { name = "Curse of Agony", rank = 4, duration = 24 },
[11712] = { name = "Curse of Agony", rank = 5, duration = 24 },
[11713] = { name = "Curse of Agony", rank = 6, duration = 24 },
[980] = { name = L["Curse of Agony"], rank = 1, duration = 24 },
[1014] = { name = L["Curse of Agony"], rank = 2, duration = 24 },
[6217] = { name = L["Curse of Agony"], rank = 3, duration = 24 },
[11711] = { name = L["Curse of Agony"], rank = 4, duration = 24 },
[11712] = { name = L["Curse of Agony"], rank = 5, duration = 24 },
[11713] = { name = L["Curse of Agony"], rank = 6, duration = 24 },
[603] = { name = "Curse of Doom", rank = 1, duration = 60 },
[603] = { name = L["Curse of Doom"], rank = 1, duration = 60 },
[704] = { name = "Curse of Recklessness", rank = 1, duration = 120 },
[7658] = { name = "Curse of Recklessness", rank = 2, duration = 120 },
[7659] = { name = "Curse of Recklessness", rank = 3, duration = 120 },
[11717] = { name = "Curse of Recklessness", rank = 4, duration = 120 },
[704] = { name = L["Curse of Recklessness"], rank = 1, duration = 120 },
[7658] = { name = L["Curse of Recklessness"], rank = 2, duration = 120 },
[7659] = { name = L["Curse of Recklessness"], rank = 3, duration = 120 },
[11717] = { name = L["Curse of Recklessness"], rank = 4, duration = 120 },
[17862] = { name = "Curse of Shadow", rank = 1, duration = 300 },
[17937] = { name = "Curse of Shadow", rank = 2, duration = 300 },
[17862] = { name = L["Curse of Shadow"], rank = 1, duration = 300 },
[17937] = { name = L["Curse of Shadow"], rank = 2, duration = 300 },
[1490] = { name = "Curse of the Elements", rank = 1, duration = 300 },
[11721] = { name = "Curse of the Elements", rank = 2, duration = 300 },
[11722] = { name = "Curse of the Elements", rank = 3, duration = 300 },
[1490] = { name = L["Curse of the Elements"], rank = 1, duration = 300 },
[11721] = { name = L["Curse of the Elements"], rank = 2, duration = 300 },
[11722] = { name = L["Curse of the Elements"], rank = 3, duration = 300 },
[1714] = { name = "Curse of Tongues", rank = 1, duration = 30 },
[11719] = { name = "Curse of Tongues", rank = 2, duration = 30 },
[1714] = { name = L["Curse of Tongues"], rank = 1, duration = 30 },
[11719] = { name = L["Curse of Tongues"], rank = 2, duration = 30 },
[702] = { name = "Curse of Weakness", rank = 1, duration = 120 },
[1108] = { name = "Curse of Weakness", rank = 2, duration = 120 },
[6205] = { name = "Curse of Weakness", rank = 3, duration = 120 },
[7646] = { name = "Curse of Weakness", rank = 4, duration = 120 },
[11707] = { name = "Curse of Weakness", rank = 5, duration = 120 },
[11708] = { name = "Curse of Weakness", rank = 6, duration = 120 },
[702] = { name = L["Curse of Weakness"], rank = 1, duration = 120 },
[1108] = { name = L["Curse of Weakness"], rank = 2, duration = 120 },
[6205] = { name = L["Curse of Weakness"], rank = 3, duration = 120 },
[7646] = { name = L["Curse of Weakness"], rank = 4, duration = 120 },
[11707] = { name = L["Curse of Weakness"], rank = 5, duration = 120 },
[11708] = { name = L["Curse of Weakness"], rank = 6, duration = 120 },
[18223] = { name = "Curse of Exhaustion", rank = 1, duration = 12 },
[18223] = { name = L["Curse of Exhaustion"], rank = 1, duration = 12 },
[348] = { name = "Immolate", rank = 1, duration = 15 },
[707] = { name = "Immolate", rank = 2, duration = 15 },
[1094] = { name = "Immolate", rank = 3, duration = 15 },
[2941] = { name = "Immolate", rank = 4, duration = 15 },
[11665] = { name = "Immolate", rank = 5, duration = 15 },
[11667] = { name = "Immolate", rank = 6, duration = 15 },
[11668] = { name = "Immolate", rank = 7, duration = 15 },
[25309] = { name = "Immolate", rank = 8, duration = 15 },
[348] = { name = L["Immolate"], rank = 1, duration = 15 },
[707] = { name = L["Immolate"], rank = 2, duration = 15 },
[1094] = { name = L["Immolate"], rank = 3, duration = 15 },
[2941] = { name = L["Immolate"], rank = 4, duration = 15 },
[11665] = { name = L["Immolate"], rank = 5, duration = 15 },
[11667] = { name = L["Immolate"], rank = 6, duration = 15 },
[11668] = { name = L["Immolate"], rank = 7, duration = 15 },
[25309] = { name = L["Immolate"], rank = 8, duration = 15 },
[6789] = { name = "Death Coil", rank = 1, duration = 3 },
[17925] = { name = "Death Coil", rank = 2, duration = 3 },
[17926] = { name = "Death Coil", rank = 3, duration = 3 },
[6789] = { name = L["Death Coil"], rank = 1, duration = 3 },
[17925] = { name = L["Death Coil"], rank = 2, duration = 3 },
[17926] = { name = L["Death Coil"], rank = 3, duration = 3 },
[710] = { name = "Banish", rank = 1, duration = 20 },
[18647] = { name = "Banish", rank = 2, duration = 30 },
[710] = { name = L["Banish"], rank = 1, duration = 20 },
[18647] = { name = L["Banish"], rank = 2, duration = 30 },
[18265] = { name = "Siphon Life", rank = 1, duration = 30 },
[18879] = { name = "Siphon Life", rank = 2, duration = 30 },
[18880] = { name = "Siphon Life", rank = 3, duration = 30 },
[18881] = { name = "Siphon Life", rank = 4, duration = 30 },
[18265] = { name = L["Siphon Life"], rank = 1, duration = 30 },
[18879] = { name = L["Siphon Life"], rank = 2, duration = 30 },
[18880] = { name = L["Siphon Life"], rank = 3, duration = 30 },
[18881] = { name = L["Siphon Life"], rank = 4, duration = 30 },
[5782] = { name = "Fear", rank = 1, duration = 10 },
[6213] = { name = "Fear", rank = 2, duration = 15 },
[6215] = { name = "Fear", rank = 3, duration = 20 },
[5782] = { name = L["Fear"], rank = 1, duration = 10 },
[6213] = { name = L["Fear"], rank = 2, duration = 15 },
[6215] = { name = L["Fear"], rank = 3, duration = 20 },
}
end
+15 -5
View File
@@ -149,12 +149,22 @@ ui.BarUpdate = function()
-- update caption text
local name = UnitName(this.guid)
local hp = UnitHealth(this.guid)
if GetLocale() == "zhCN" then
if hp then
if hp >= 10000 then
hp = math.floor(hp / 1000) / 10 .. "万"
-- elseif hp >= 1000 then
-- hp = math.floor(hp / 100) / 10 .. "k"
end
end
else
-- convert hp to k if > 1000
if hp then
if hp >= 1000000 then
hp = math.floor(hp / 100000) / 10 .. "m"
elseif hp >= 1000 then
hp = math.floor(hp / 100) / 10 .. "k"
if hp then
if hp >= 1000000 then
hp = math.floor(hp / 100000) / 10 .. "m"
elseif hp >= 1000 then
hp = math.floor(hp / 100) / 10 .. "k"
end
end
end