PlaterDB = { ["captured_spells"] = { [386176] = { ["type"] = "BUFF", ["source"] = "Unknown", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 17252, }, [181089] = { ["encounterName"] = "Raszageth the Storm-Eater", ["type"] = "BUFF", ["source"] = "Raszageth", ["encounterID"] = 2607, ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 189492, }, [327942] = { ["encounterName"] = "Raszageth the Storm-Eater", ["source"] = "Windfury Totem", ["encounterID"] = 2607, ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 6112, }, [381615] = { ["encounterName"] = "Raszageth the Storm-Eater", ["source"] = "Raszageth", ["encounterID"] = 2607, ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 189492, }, [377658] = { ["encounterName"] = "Raszageth the Storm-Eater", ["source"] = "Raszageth", ["encounterID"] = 2607, ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 189492, }, [90328] = { ["type"] = "BUFF", ["source"] = "Unknown", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 165189, }, [381249] = { ["encounterName"] = "Raszageth the Storm-Eater", ["type"] = "BUFF", ["source"] = "Raszageth", ["encounterID"] = 2607, ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 189492, }, [381251] = { ["encounterName"] = "Raszageth the Storm-Eater", ["type"] = "DEBUFF", ["source"] = "Raszageth", ["encounterID"] = 2607, ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 189492, }, [108446] = { ["type"] = "BUFF", ["source"] = "Unknown", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 17252, }, }, ["profiles"] = { ["MyNewProfile"] = { ["aura_breakline_space"] = 3, ["script_data"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Hide()\n \nend", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Show()\n \nend", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1601339866, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self)\n \nend", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Hide()\n \nend", ["Revision"] = 425, ["Options"] = { }, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Show()\n \nend", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Name"] = "Aura - Buff Alert [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Add the buff name in the trigger box.", ["SpellIds"] = { 275826, -- [1] 272888, -- [2] 272659, -- [3] 267901, -- [4] 267830, -- [5] 265393, -- [6] }, ["Prio"] = 99, ["Enabled"] = false, }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.debuffIconGlow = envTable.debuffIconGlow or Plater.CreateIconGlow (self)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Hide()\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Show()\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1601339866, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.debuffIconGlow = envTable.debuffIconGlow or Plater.CreateIconGlow (self)\n \nend\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Hide()\n \nend\n\n\n", ["Revision"] = 265, ["Options"] = { }, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Show()\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Aura - Debuff Alert [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Add the debuff name in the trigger box.", ["SpellIds"] = { }, ["Prio"] = 99, ["Enabled"] = false, }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"gray\"\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --only change the nameplate color in combat\n if (InCombatLockdown()) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n\n\n", ["Time"] = 1601339863, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"gray\"\n \nend\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_invalid", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Revision"] = 169, ["Options"] = { }, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --only change the nameplate color in combat\n if (InCombatLockdown()) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n\n\n", ["Name"] = "Aura - Invalidate Unit [Plater]", ["PlaterCore"] = 1, ["Desc"] = "When an aura makes the unit invulnarable and you don't want to attack it. Add spell in the Add Trigger field.", ["SpellIds"] = { 261265, -- [1] 261266, -- [2] 271590, -- [3] }, ["Prio"] = 99, ["Enabled"] = true, }, -- [3] { ["ConstructorCode"] = "--gray lines are comments and doesn't affect the code\n\n--1) add the aura you want by typing its name or spellID into the \"Add Trigger\" and click the \"Add\" button.\n--2) the border will use the default color set below, to a custom color type aura name and the color you want in the BorderColorByAura table.\n\nfunction (self, unitId, unitFrame, envTable)\n \n --default color if the aura name isn't found in the Color By Aura table below\n envTable.DefaultBorderColor = \"orange\"\n \n --transparency, affect all borders\n envTable.BorderAlpha = 1.0\n \n --add the aura name and the color, \n envTable.BorderColorByAura = {\n \n --examples:\n --[\"Aura Name\"] = \"yellow\", --using regular aura name | using the name of the color\n --[\"aura name\"] = \"#FFFF00\", --using lower case in the aura name |using html #hex for the color\n --[54214] = {1, 1, 0}, --using the spellID instead of the name | using rgb table (0 to 1) for the color\n --color table uses zero to one values: 255 = 1.0, 127 = 0.5, orange color = {1, 0.7, 0}\n \n --add your custom border colors below:\n \n [\"Aura Name\"] = {1, .5, 0}, --example to copy/paste\n \n }\n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the border color\n self:SetBackdropBorderColor (0, 0, 0, 0)\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the aura name in lower case\n local auraLowerName = string.lower (envTable._SpellName)\n \n --attempt to get a custom color added by the user in the constructor script\n local hasCustomBorderColor = envTable.BorderColorByAura [auraLowerName] or envTable.BorderColorByAura [envTable._SpellName] or envTable.BorderColorByAura [envTable._SpellID]\n \n --save the custom color\n envTable.CustomBorderColor = hasCustomBorderColor\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the custom color added by the user or the default color\n local color = envTable.CustomBorderColor or envTable.DefaultBorderColor\n --parse the color since it can be a color name, hex or color table\n local r, g, b = DetailsFramework:ParseColors (color)\n \n --set the border color\n self:SetBackdropBorderColor (r, g, b, envTable.BorderAlpha)\n \nend\n\n\n\n\n", ["Time"] = 1601339867, ["Temp_ConstructorCode"] = "--gray lines are comments and doesn't affect the code\n\n--1) add the aura you want by typing its name or spellID into the \"Add Trigger\" and click the \"Add\" button.\n--2) the border will use the default color set below, to a custom color type aura name and the color you want in the BorderColorByAura table.\n\nfunction (self, unitId, unitFrame, envTable)\n \n --default color if the aura name isn't found in the Color By Aura table below\n envTable.DefaultBorderColor = \"orange\"\n \n --transparency, affect all borders\n envTable.BorderAlpha = 1.0\n \n --add the aura name and the color, \n envTable.BorderColorByAura = {\n \n --examples:\n --[\"Aura Name\"] = \"yellow\", --using regular aura name | using the name of the color\n --[\"aura name\"] = \"#FFFF00\", --using lower case in the aura name |using html #hex for the color\n --[54214] = {1, 1, 0}, --using the spellID instead of the name | using rgb table (0 to 1) for the color\n --color table uses zero to one values: 255 = 1.0, 127 = 0.5, orange color = {1, 0.7, 0}\n \n --add your custom border colors below:\n \n [\"Aura Name\"] = {1, .5, 0}, --example to copy/paste\n \n }\n \n \nend\n\n\n\n\n", ["Icon"] = 133006, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the border color\n self:SetBackdropBorderColor (0, 0, 0, 0)\n \nend\n\n\n", ["Revision"] = 106, ["Options"] = { }, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the aura name in lower case\n local auraLowerName = string.lower (envTable._SpellName)\n \n --attempt to get a custom color added by the user in the constructor script\n local hasCustomBorderColor = envTable.BorderColorByAura [auraLowerName] or envTable.BorderColorByAura [envTable._SpellName] or envTable.BorderColorByAura [envTable._SpellID]\n \n --save the custom color\n envTable.CustomBorderColor = hasCustomBorderColor\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the custom color added by the user or the default color\n local color = envTable.CustomBorderColor or envTable.DefaultBorderColor\n --parse the color since it can be a color name, hex or color table\n local r, g, b = DetailsFramework:ParseColors (color)\n \n --set the border color\n self:SetBackdropBorderColor (r, g, b, envTable.BorderAlpha)\n \nend\n\n\n\n\n", ["Name"] = "Aura - Border Color [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Add a border to an aura icon. Add the aura into the Add Trigger entry. You can customize the icon color at the constructor script.", ["SpellIds"] = { }, ["Prio"] = 99, ["Enabled"] = false, }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = true --set to 'false' to disable blinks\n envTable.BlinkSpeed = 0.5; --time to complete a blink loop\n envTable.BlinkColor = \"white\"; --color of the blink\n envTable.BlinkMaxAlpha = 0.8; --max transparency in the animation loop (1.0 is full opaque)\n envTable.GlowEnabled = true --set to 'false' to disable glows\n \n envTable.ChangeNameplateColor = false; --set to 'true' to enable nameplate color change\n envTable.NameplateColor = \"darkred\"; --nameplate color if ChangeNameplateColor is true --envTable.TimeLeftToBlink = 0.3; --in seconds, affects the blink effect only\n \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n envTable.remainingTime = { -- this group using fixed time not pandemic\n [12] = true, --use a simple comma here\n } \n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n local Duration = envTable._Duration\n local perc = timeLeft/Duration\n local fixed = (envTable.remainingTime [envTable._SpellID] ~= nil and true) or false\n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (not fixed and perc <= 0.3) or \n (fixed and timeLeft <= envTable.remainingTime [envTable._SpellID]) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\nend\n\n\n\n\n\n\n\n", ["Time"] = 1601339866, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = true --set to 'false' to disable blinks\n envTable.BlinkSpeed = 0.5; --time to complete a blink loop\n envTable.BlinkColor = \"white\"; --color of the blink\n envTable.BlinkMaxAlpha = 0.8; --max transparency in the animation loop (1.0 is full opaque)\n envTable.GlowEnabled = true --set to 'false' to disable glows\n \n envTable.ChangeNameplateColor = false; --set to 'true' to enable nameplate color change\n envTable.NameplateColor = \"darkred\"; --nameplate color if ChangeNameplateColor is true --envTable.TimeLeftToBlink = 0.3; --in seconds, affects the blink effect only\n \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n envTable.remainingTime = { -- this group using fixed time not pandemic\n [12] = true, --use a simple comma here\n } \n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["Revision"] = 612, ["Options"] = { }, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n local Duration = envTable._Duration\n local perc = timeLeft/Duration\n local fixed = (envTable.remainingTime [envTable._SpellID] ~= nil and true) or false\n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (not fixed and perc <= 0.3) or \n (fixed and timeLeft <= envTable.remainingTime [envTable._SpellID]) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\nend\n\n\n\n\n\n\n\n", ["Name"] = "Aura - Blink by Time Left [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["SpellIds"] = { 980, -- [1] 265412, -- [2] 157736, -- [3] }, ["Prio"] = 99, ["Enabled"] = true, }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.auraWidth = 22\n envTable.auraHeight = 22\n \n local profile = Plater.db.profile\n envTable.fontsize = profile.aura_timer_text_size\n envTable.ratio = envTable.auraWidth/profile.aura_width\n \n envTable.updateIcon = function(self)\n self:SetSize (envTable.auraWidth, envTable.auraHeight)\n self.Icon:SetSize (envTable.auraWidth-2, envTable.auraHeight-2)\n Plater:SetFontSize (self.TimerText, math.ceil(envTable.fontsize*envTable.ratio))\n end\n \n envTable.resetIcon = function(self)\n local auraWidth, auraHeight = Plater.db.profile.aura_width, Plater.db.profile.aura_height\n self:SetSize (auraWidth, auraHeight)\n self.Icon:SetSize (auraWidth-2, auraHeight-2)\n Plater:SetFontSize (self.TimerText, envTable.fontsize)\n end\n \n envTable.glowSpellID = {--these spell icons will glow\n [80240] = true, \n [48181] = true,\n [204021] = true,\n [210824] = true,\n }\n \n envTable.glowType = \"Ants\" -- \"Ants\", \"Button\", \"Pixel\"\n \n envTable.button = {\n color = {0.95, 0.95, 0.32}, -- all plater color types accepted, from lib: {r,g,b,a}, color of lines and opacity, from 0 to 1. Defaul value is {0.95, 0.95, 0.32, 1}\n frequency = 0.125, -- frequency, set to negative to inverse direction of rotation. Default value is 0.125;\n }\n \n envTable.pixel = {\n color = \"yellow\", -- all plater color types accepted, from lib: {r,g,b,a}, color of lines and opacity, from 0 to 1.\n N = 8, -- number of lines. Defaul value is 8;\n frequency = 0.25, -- frequency, set to negative to inverse direction of rotation. Default value is 0.25;\n length = 4, -- length of lines. Default value depends on region size and number of lines;\n th = 2, -- thickness of lines. Default value is 2;\n xOffset = 1.2,\n yOffset = 1.2, -- offset of glow relative to region border;\n border = false, -- set to true to create border under lines;\n }\n \n envTable.ants = {\n color = \"ROGUE\",\n N = 4, -- number of particle groups. Each group contains 4 particles. Defaul value is 4;\n frequency = 0.25, -- frequency, set to negative to inverse direction of rotation. Default value is 0.125;\n scale = 0.8, -- scale of particles\n xOffset = 1,\n yOffset = 1, -- offset of glow relative to region border;\n }\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.resetIcon(self)\n Plater.StopGlow(self.Cooldown)\n self.glowStarted = false\nend\n\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.updateIcon(self)\nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.updateIcon(self)\n \n if envTable.glowSpellID [envTable._SpellID] then\n if envTable.glowType == \"Button\" then\n if not self.glowStarted then\n self.glowStarted = true\n Plater.StartButtonGlow(self.Cooldown, nil, envTable.button)\n end\n elseif envTable.glowType == \"Ants\" then\n if not self.glowStarted then\n self.glowStarted = true\n Plater.StartAntsGlow(self.Cooldown, nil, envTable.ants)\n end\n elseif envTable.glowType == \"Pixel\" then\n if not self.glowStarted then\n self.glowStarted = true\n Plater.StartPixelGlow(self.Cooldown, nil, envTable.pixel)\n end\n else\n if self.glowStarted then\n self.glowStarted = false\n Plater.StopGlow(self.Cooldown)\n end\n end\n else\n if self.glowStarted then\n self.glowStarted = false\n Plater.StopGlow(self.Cooldown)\n end\n end\n \nend", ["Time"] = 1601339861, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.auraWidth = 22\n envTable.auraHeight = 22\n \n local profile = Plater.db.profile\n envTable.fontsize = profile.aura_timer_text_size\n envTable.ratio = envTable.auraWidth/profile.aura_width\n -- local auraHeight = profile.aura_height\n \n envTable.updateIcon = function(self)\n self:SetSize (envTable.auraWidth, envTable.auraHeight)\n self.Icon:SetSize (envTable.auraWidth-2, envTable.auraHeight-2)\n Plater:SetFontSize (self.TimerText, envTable.fontsize*envTable.ratio)\n end\n \n envTable.resetIcon = function(self)\n local auraWidth, auraHeight = Plater.db.profile.aura_width, Plater.db.profile.aura_height\n self:SetSize (auraWidth, auraHeight)\n self.Icon:SetSize (auraWidth-2, auraHeight-2)\n Plater:SetFontSize (self.TimerText, envTable.fontsize)\n end\n \n envTable.glowSpellID = {--these spell icons will glow\n [80240] = true, \n [48181] = true,\n }\n \n envTable.glowType = \"Ants\" -- \"Ants\", \"Button\", \"Pixel\"\n \n envTable.button = {\n color = {0.95, 0.95, 0.32}, -- all plater color types accepted, from lib: {r,g,b,a}, color of lines and opacity, from 0 to 1. Defaul value is {0.95, 0.95, 0.32, 1}\n frequency = 0.125, -- frequency, set to negative to inverse direction of rotation. Default value is 0.125;\n }\n \n envTable.pixel = {\n color = \"yellow\", -- all plater color types accepted, from lib: {r,g,b,a}, color of lines and opacity, from 0 to 1.\n N = 8, -- number of lines. Defaul value is 8;\n frequency = 0.25, -- frequency, set to negative to inverse direction of rotation. Default value is 0.25;\n length = 4, -- length of lines. Default value depends on region size and number of lines;\n th = 2, -- thickness of lines. Default value is 2;\n xOffset = 1.2,\n yOffset = 1.2, -- offset of glow relative to region border;\n border = false, -- set to true to create border under lines;\n }\n \n envTable.ants = {\n color = \"yellow\",\n N = 4, -- number of particle groups. Each group contains 4 particles. Defaul value is 4;\n frequency = 0.3, -- frequency, set to negative to inverse direction of rotation. Default value is 0.125;\n scale = 1, -- scale of particles\n xOffset = 1.2,\n yOffset = 1.2, -- offset of glow relative to region border;\n }\nend", ["Icon"] = 413591, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.resetIcon(self)\n Plater.StopGlow(self.Cooldown)\n self.glowStarted = false\nend\n\n\n\n", ["Revision"] = 231, ["Options"] = { }, ["Author"] = "Ariani-Antonidas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.updateIcon(self)\nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.updateIcon(self)\n \n if envTable.glowSpellID [envTable._SpellID] then\n if envTable.glowType == \"Button\" then\n if not self.glowStarted then\n self.glowStarted = true\n Plater.StartButtonGlow(self.Cooldown, nil, envTable.button)\n end\n elseif envTable.glowType == \"Ants\" then\n if not self.glowStarted then\n self.glowStarted = true\n Plater.StartAntsGlow(self.Cooldown, nil, envTable.ants)\n end\n elseif envTable.glowType == \"Pixel\" then\n if not self.glowStarted then\n self.glowStarted = true\n Plater.StartPixelGlow(self.Cooldown, nil, envTable.pixel)\n end\n else\n if self.glowStarted then\n self.glowStarted = false\n Plater.StopGlow(self.Cooldown)\n end\n end\n else\n if self.glowStarted then\n self.glowStarted = false\n Plater.StopGlow(self.Cooldown)\n end\n end\n \nend", ["Name"] = "Resize/Glow Aura Icon", ["PlaterCore"] = 1, ["Desc"] = "Resizes the Aura Icon for the triggering spell if \"envTable.conditionCheck\" is set to true. This variable can be used to check for selected talents / spec. As exaplle setup for Affli-Lock + Absolute Corruption", ["SpellIds"] = { 80240, -- [1] 48181, -- [2] 205179, -- [3] 204021, -- [4] 210824, -- [5] }, ["Prio"] = 99, ["Enabled"] = true, }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.NameplateSizeOffset = 1.5\n envTable.GlowAlpha = .7\n envTable.ShowArrow = true\n envTable.ArrowAlpha = 1 \n --envTable.HealthBarColor = \"gold\"\n \n --custom frames\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n local hsize = 1\n local wsize = 1\n \n if envTable.UnitType == \"minus\" then\n hsize =Plater.db.profile.minor_height_scale\n wsize = Plater.db.profile.minor_width_scale\n elseif envTable.UnitType == \"pet\" then\n hsize = Plater.db.profile.pet_height_scale\n wsize = Plater.db.profile.pet_width_scale\n end\n \n envTable.glowEffect:SetOffset (-26*wsize, 25*wsize, 10*hsize, -13*hsize)\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 32\n envTable.overlaySpark.alpha = 1\n envTable.overlaySpark.texture = [[Interface\\CastingBar\\UI-CastingBar-Spark]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = 15\n envTable.topArrow.height = 15\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --decrease the nameplate size\n Plater.SetNameplateSize (unitFrame, envTable.OriginalWidth, envTable.OriginalHeight)\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n --increase the cast bar size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n envTable.OriginalHeight = nameplateHeight\n local nameplateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat [1]\n envTable.OriginalWidth = nameplateWidth\n Plater.SetNameplateSize (unitFrame, envTable.OriginalWidth, envTable.OriginalHeight*envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = envTable.OriginalHeight + 60\n \n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --update the health bar color coloring from yellow to red\n -- Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n --Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-8, -2)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-6, 2)\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n \nend\n\n\n", ["Time"] = 1601398759, ["Url"] = "", ["Icon"] = 2065634, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --decrease the nameplate size\n Plater.SetNameplateSize (unitFrame, envTable.OriginalWidth, envTable.OriginalHeight)\n \nend\n\n\n", ["Revision"] = 1121, ["Options"] = { }, ["NpcNames"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n --increase the cast bar size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n envTable.OriginalHeight = nameplateHeight\n local nameplateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat [1]\n envTable.OriginalWidth = nameplateWidth\n Plater.SetNameplateSize (unitFrame, envTable.OriginalWidth, envTable.OriginalHeight*envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = envTable.OriginalHeight + 60\n \n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["Name"] = "M+ Explosive [Plater]", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --update the health bar color coloring from yellow to red\n -- Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n --Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-8, -2)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-6, 2)\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n \nend\n\n\n", ["SpellIds"] = { 240446, -- [1] 296080, -- [2] 296522, -- [3] 291613, -- [4] 293861, -- [5] 300129, -- [6] 314467, -- [7] 310766, -- [8] 314309, -- [9] 286907, -- [10] 264757, -- [11] 319643, -- [12] 304101, -- [13] 259711, -- [14] 276292, -- [15] 273995, -- [16] 294324, -- [17] 318532, -- [18] 308018, -- [19] 301177, -- [20] 315932, -- [21] 268027, -- [22] 269313, -- [23] 265511, -- [24] 294349, -- [25] 258199, -- [26] }, ["PlaterCore"] = 1, ["Temp_Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Prio"] = 99, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.NameplateSizeOffset = 1.5\n envTable.GlowAlpha = .7\n envTable.ShowArrow = true\n envTable.ArrowAlpha = 1 \n --envTable.HealthBarColor = \"gold\"\n \n --custom frames\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n local hsize = 1\n local wsize = 1\n \n if envTable.UnitType == \"minus\" then\n hsize =Plater.db.profile.minor_height_scale\n wsize = Plater.db.profile.minor_width_scale\n elseif envTable.UnitType == \"pet\" then\n hsize = Plater.db.profile.pet_height_scale\n wsize = Plater.db.profile.pet_width_scale\n end\n \n envTable.glowEffect:SetOffset (-26*wsize, 25*wsize, 10*hsize, -13*hsize)\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 32\n envTable.overlaySpark.alpha = 1\n envTable.overlaySpark.texture = [[Interface\\CastingBar\\UI-CastingBar-Spark]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = 15\n envTable.topArrow.height = 15\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend", ["Enabled"] = true, }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.ChangeColor = true\n envTable.CastbarColor = \"orangered\"\n \n envTable.GlowOptions = {\n glowType = \"ants\",\n N = 7, -- number of lines. Defaul value is 8;\n frequency = 0.25, -- frequency, set to negative to inverse direction of rotation. Default value is 0.125;\n scale = 0.85, -- scale of particles\n xOffset = 0,\n yOffset = 0, -- offset of glow relative to region border;\n key = \"\", -- key of glow, allows for multiple glows on one frame;\n }\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n envTable.CastBarHeightAdd = 1.25\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+30, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\",0, 0)\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n end\n \n --stop the camera shake\n envTable.glowEffect:Hide()\n Plater.StopGlow(self, \"ants\")\n envTable.BackgroundFlash:Stop()\n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt and envTable.ChangeColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n self.Spark:SetHeight(envTable.OriginalSpark) \n Plater:SetFontSize (self.Text, envTable.OriginalText)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n self:SetHeight (height * envTable.CastBarHeightAdd)\n \n --play flash animations\n Plater.StartGlow(self, \"white\", envTable.GlowOptions)\n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n \nend\n\n\n\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1601398765, ["NpcNames"] = { }, ["url"] = "", ["Icon"] = "INTERFACE\\ICONS\\Ability_Racial_OrbitalStrike", ["Options"] = { }, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n end\n \n --stop the camera shake\n envTable.glowEffect:Hide()\n Plater.StopGlow(self, \"ants\")\n envTable.BackgroundFlash:Stop()\n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n\n\n\n", ["Revision"] = 2394, ["semver"] = "", ["Desc"] = "Flash, Bounce when an important cast is happening. Add spell in the Add Trigger field.", ["version"] = -1, ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt and envTable.ChangeColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n self.Spark:SetHeight(envTable.OriginalSpark) \n Plater:SetFontSize (self.Text, envTable.OriginalText)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n self:SetHeight (height * envTable.CastBarHeightAdd)\n \n --play flash animations\n Plater.StartGlow(self, \"white\", envTable.GlowOptions)\n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n \nend\n\n\n\n\n\n\n\n\n", ["Name"] = "M+ Important Spells [Plater]", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { 258153, -- [1] 258313, -- [2] 274569, -- [3] 278020, -- [4] 261635, -- [5] 272700, -- [6] 268030, -- [7] 265368, -- [8] 264520, -- [9] 265407, -- [10] 278567, -- [11] 278602, -- [12] 258128, -- [13] 257791, -- [14] 258938, -- [15] 265089, -- [16] 272183, -- [17] 256060, -- [18] 257397, -- [19] 269972, -- [20] 270901, -- [21] 270492, -- [22] 263215, -- [23] 268797, -- [24] 262554, -- [25] 253517, -- [26] 255041, -- [27] 252781, -- [28] 250368, -- [29] 258777, -- [30] 278504, -- [31] 266106, -- [32] 257732, -- [33] 268309, -- [34] 269302, -- [35] 263202, -- [36] 257784, -- [37] 278755, -- [38] 272180, -- [39] 263066, -- [40] 267273, -- [41] 265912, -- [42] 274438, -- [43] 268317, -- [44] 268375, -- [45] 276767, -- [46] 264105, -- [47] 265876, -- [48] 270464, -- [49] 278961, -- [50] 265468, -- [51] 256897, -- [52] 280604, -- [53] 268702, -- [54] 255824, -- [55] 253583, -- [56] 250096, -- [57] 278456, -- [58] 262092, -- [59] 257270, -- [60] 267818, -- [61] 265091, -- [62] 262540, -- [63] 263318, -- [64] 263959, -- [65] 257069, -- [66] 256849, -- [67] 267459, -- [68] 253544, -- [69] 268008, -- [70] 267981, -- [71] 272659, -- [72] 264396, -- [73] 257736, -- [74] 264390, -- [75] 255952, -- [76] 257426, -- [77] 274400, -- [78] 272609, -- [79] 269843, -- [80] 269029, -- [81] 272827, -- [82] 269266, -- [83] 263912, -- [84] 264923, -- [85] 258864, -- [86] 256955, -- [87] 265540, -- [88] 260793, -- [89] 270003, -- [90] 270507, -- [91] 257337, -- [92] 268415, -- [93] 275907, -- [94] 268865, -- [95] 260669, -- [96] 260280, -- [97] 253239, -- [98] 265541, -- [99] 250258, -- [100] 256709, -- [101] 277596, -- [102] 276268, -- [103] 265372, -- [104] 263905, -- [105] 265781, -- [106] 257170, -- [107] 268846, -- [108] 270514, -- [109] 258622, -- [110] 256627, -- [111] 257870, -- [112] 258917, -- [113] 263891, -- [114] 268348, -- [115] 272711, -- [116] 271174, -- [117] 268260, -- [118] 269399, -- [119] 268239, -- [120] 264574, -- [121] 261563, -- [122] 257288, -- [123] 257757, -- [124] 267899, -- [125] 255741, -- [126] 260894, -- [127] 263365, -- [128] 260292, -- [129] 263583, -- [130] 272874, -- [131] 264101, -- [132] 264407, -- [133] 271456, -- [134] 262515, -- [135] 275192, -- [136] 256405, -- [137] 270084, -- [138] 257785, -- [139] 267237, -- [140] 266951, -- [141] 267433, -- [142] 255577, -- [143] 255371, -- [144] 270891, -- [145] 267357, -- [146] 258338, -- [147] 257169, -- [148] 270927, -- [149] 260926, -- [150] 264027, -- [151] 267257, -- [152] 253721, -- [153] 265019, -- [154] 260924, -- [155] 263309, -- [156] 266206, -- [157] 260067, -- [158] 274507, -- [159] 276068, -- [160] 263278, -- [161] 258317, -- [162] 256594, -- [163] 268391, -- [164] 268230, -- [165] 260852, -- [166] 267763, -- [167] 268706, -- [168] 264734, -- [169] 270590, -- [170] 290787, -- [171] 275922, -- [172] 269282, -- [173] 274389, -- [174] 258054, -- [175] 259165, -- [176] 269090, -- [177] 277805, -- [178] 282699, -- [179] 278711, -- [180] 268184, -- [181] 268212, -- [182] 257741, -- [183] 266209, -- [184] 270289, -- [185] 267639, -- [186] 268278, -- [187] 258628, -- [188] 266512, -- [189] 260773, -- [190] 269926, -- [191] 268203, -- [192] 256044, -- [193] 257458, -- [194] 300650, -- [195] 300777, -- [196] 300171, -- [197] 299588, -- [198] 299475, -- [199] 299164, -- [200] 298669, -- [201] 300436, -- [202] 297254, -- [203] 301629, -- [204] 284219, -- [205] 285020, -- [206] 283421, -- [207] 294290, -- [208] 291946, -- [209] 291973, -- [210] 297128, -- [211] 293986, -- [212] 295169, -- [213] 293729, -- [214] 298940, -- [215] 296331, -- [216] 298718, -- [217] 295299, -- [218] 300188, -- [219] 265001, -- [220] 294890, -- [221] 314411, -- [222] 314406, -- [223] 298033, -- [224] 305378, -- [225] 320759, -- [226] 300426, -- [227] 297746, -- [228] 315980, -- [229] 304251, -- [230] 308575, -- [231] 309671, -- [232] 308366, -- [233] 306930, -- [234] 309648, -- [235] 309373, -- [236] 301088, -- [237] 297315, -- [238] 306199, -- [239] 256079, -- [240] 311400, -- [241] 311456, -- [242] 308375, -- [243] 308508, -- [244] 305892, -- [245] 303589, -- [246] 306646, -- [247] 306726, -- [248] 296674, -- [249] 299111, -- [250] 302718, -- [251] }, ["PlaterCore"] = 1, ["Prio"] = 99, ["Temp_Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Enabled"] = true, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.ChangeColor = true\n envTable.CastbarColor = \"orangered\"\n \n envTable.GlowOptions = {\n glowType = \"ants\",\n N = 7, -- number of lines. Defaul value is 8;\n frequency = 0.25, -- frequency, set to negative to inverse direction of rotation. Default value is 0.125;\n scale = 0.85, -- scale of particles\n xOffset = 0,\n yOffset = 0, -- offset of glow relative to region border;\n key = \"\", -- key of glow, allows for multiple glows on one frame;\n }\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n envTable.CastBarHeightAdd = 1.25\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+30, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\",0, 0)\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.NameplateSizeOffset = 8 --increase the nameplate height by this value\n envTable.GlowAlpha = 0.7 --amount of alpha in the outside glow effect\n envTable.UnitType = Plater.GetUnitType (unitFrame)\n \n --create a glow effect around the nameplate\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar, envTable.NameplateColor)\n \n local hsize = 1\n local wsize = 1\n \n if envTable.UnitType == \"minus\" then\n hsize =Plater.db.profile.minor_height_scale\n wsize = Plater.db.profile.minor_width_scale\n elseif envTable.UnitType == \"pet\" then\n hsize = Plater.db.profile.pet_height_scale\n wsize = Plater.db.profile.pet_width_scale\n end\n \n envTable.glowEffect:SetOffset (-26*wsize, 25*wsize, 10*hsize, -13*hsize)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() --\n \n --set the glow effect alpha\n envTable.glowEffect:SetAlpha (envTable.GlowAlpha)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n local nameplateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat [1]\n Plater.SetNameplateSize (unitFrame, nameplateWidth, nameplateHeight)\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n envTable.glowEffect:Show()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n local nameplateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat [1]\n Plater.SetNameplateSize (unitFrame, nameplateWidth, nameplateHeight+envTable.NameplateSizeOffset)\n \n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1601398753, ["Url"] = "", ["Icon"] = "INTERFACE\\ICONS\\Achievement_Dungeon_Drak'Tharon", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n local nameplateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat [1]\n Plater.SetNameplateSize (unitFrame, nameplateWidth, nameplateHeight)\n \nend\n\n\n", ["Revision"] = 785, ["Options"] = { }, ["NpcNames"] = { "135029", -- [1] "134388", -- [2] "134612", -- [3] "133361", -- [4] "136330", -- [5] "130896", -- [6] "129758", -- [7] "131009", -- [8] "137591", -- [9] "137627", -- [10] "135903", -- [11] "151166", -- [12] "152549", -- [13] "154685", -- [14] "150834", -- [15] "153377", -- [16] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n envTable.glowEffect:Show()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n local nameplateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat [1]\n Plater.SetNameplateSize (unitFrame, nameplateWidth, nameplateHeight+envTable.NameplateSizeOffset)\n \n \nend\n\n\n", ["Author"] = "Izimode-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["Name"] = "M+ Important Units [Plater]", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Temp_Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Prio"] = 99, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.NameplateSizeOffset = 8 --increase the nameplate height by this value\n envTable.GlowAlpha = 0.7 --amount of alpha in the outside glow effect\n envTable.UnitType = Plater.GetUnitType (unitFrame)\n \n --create a glow effect around the nameplate\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar, envTable.NameplateColor)\n \n local hsize = 1\n local wsize = 1\n \n if envTable.UnitType == \"minus\" then\n hsize =Plater.db.profile.minor_height_scale\n wsize = Plater.db.profile.minor_width_scale\n elseif envTable.UnitType == \"pet\" then\n hsize = Plater.db.profile.pet_height_scale\n wsize = Plater.db.profile.pet_width_scale\n end\n \n envTable.glowEffect:SetOffset (-26*wsize, 25*wsize, 10*hsize, -13*hsize)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() --\n \n --set the glow effect alpha\n envTable.glowEffect:SetAlpha (envTable.GlowAlpha)\n \nend", ["Enabled"] = true, }, -- [9] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if not scriptTable.unitTimes[envTable._UnitGUID] then\n scriptTable.unitTimes[envTable._UnitGUID] = GetTime()\n end\nend", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local current = 20 - (GetTime() - (scriptTable.unitTimes[envTable._UnitGUID] or (GetTime() - 20)))\n \n unitFrame.healthBar:SetMinMaxValues(0, 20)\n unitFrame.healthBar:SetValue(current)\n \n unitFrame.healthBar.lifePercent:SetText(DetailsFramework.FormatNumber (current > 0 and current or 0))\nend", ["Time"] = 1601339868, ["Url"] = "", ["Icon"] = 252184, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Revision"] = 71, ["Options"] = { }, ["NpcNames"] = { "151579", -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if not scriptTable.unitTimes[envTable._UnitGUID] then\n scriptTable.unitTimes[envTable._UnitGUID] = GetTime()\n end\nend", ["Author"] = "Luthisha-Antonidas", ["Initialization"] = "function (scriptTable)\n scriptTable.unitTimes = {}\nend\n\n\n", ["Desc"] = "Changes the health bar of the Shield Generators in Mechagon to time remaining.", ["Name"] = "Shield Generator Time Bar", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local current = 20 - (GetTime() - (scriptTable.unitTimes[envTable._UnitGUID] or (GetTime() - 20)))\n \n unitFrame.healthBar:SetMinMaxValues(0, 20)\n unitFrame.healthBar:SetValue(current)\n \n unitFrame.healthBar.lifePercent:SetText(DetailsFramework.FormatNumber (current > 0 and current or 0))\nend", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Temp_Initialization"] = "function (scriptTable)\n scriptTable.unitTimes = {}\nend\n\n\n", ["Prio"] = 99, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["Enabled"] = true, }, -- [10] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n \n --create a glow \n envTable.GlowEffect = envTable.GlowEffect or Plater.CreateNameplateGlow (healthBar)\n envTable.GlowAlpha = .7\n \n local hsize = 1\n local wsize = 1\n \n if envTable.UnitType == \"minus\" then\n hsize =Plater.db.profile.minor_height_scale\n wsize = Plater.db.profile.minor_width_scale\n elseif envTable.UnitType == \"pet\" then\n hsize = Plater.db.profile.pet_height_scale\n wsize = Plater.db.profile.pet_width_scale\n end\n \n envTable.GlowEffect:SetOffset (-26*wsize, 25*wsize, 10*hsize, -13*hsize)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.GlowEffect:Hide() \n unitFrame.castBar:Hide()\nend", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.FlashNameplateBody (unitFrame , \"-RUN-\" , 0.35)\n envTable.GlowEffect:Show() \n envTable.GlowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --forces the script to update on a 100Hz base\n unitFrame.PlateFrame.OnTickFrame.ThrottleUpdate = 0.01\n \n for debuffId = 1, 40 do\n local name, icon, _, _, duration, expirationTime, caster, _,_, spellId = UnitDebuff(\"player\", debuffId)\n \n \n --cancel the loop if there's no more debuffs on the player\n if (not spellId) then \n break \n end\n --check if the owner of the debuff is this unit\n if (spellId == 319695 and caster and UnitIsUnit (caster, unitId)) then\n \n unitFrame.healthBar.unitName:Hide()\n local current = expirationTime - GetTime()\n local castBar = unitFrame.castBar\n castBar:Show()\n castBar.Text:SetText(name)\n --castBar.percentText:Show()\n --castBar.percentText:SetText(DetailsFramework.FormatNumber(current))\n castBar.Icon:SetTexture(icon)\n castBar.canInterrupt = false\n castBar:SetStatusBarColor(210/255, 210/255, 210/255)\n castBar.FrameOverlay.TargetName:Hide()\n castBar:SetMinMaxValues(0, duration-0.6)\n castBar:SetValue(current-0.6)\n end\n end\n envTable.GlowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend\n\n\n", ["Time"] = 1601339867, ["Url"] = "", ["Icon"] = 575534, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.GlowEffect:Hide() \n unitFrame.castBar:Hide()\nend", ["Revision"] = 224, ["Options"] = { }, ["NpcNames"] = { "161895", -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.FlashNameplateBody (unitFrame , \"-RUN-\" , 0.35)\n envTable.GlowEffect:Show() \n envTable.GlowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend", ["Author"] = "Fragilé-燃烧之刃", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Shows the castbar of the nameplate of the Thing from Beyond as a timer for how long it will keep chasing you.", ["Name"] = "Thing from Beyond Timer", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --forces the script to update on a 100Hz base\n unitFrame.PlateFrame.OnTickFrame.ThrottleUpdate = 0.01\n \n for debuffId = 1, 40 do\n local name, icon, _, _, duration, expirationTime, caster, _,_, spellId = UnitDebuff(\"player\", debuffId)\n \n \n --cancel the loop if there's no more debuffs on the player\n if (not spellId) then \n break \n end\n --check if the owner of the debuff is this unit\n if (spellId == 319695 and caster and UnitIsUnit (caster, unitId)) then\n \n unitFrame.healthBar.unitName:Hide()\n local current = expirationTime - GetTime()\n local castBar = unitFrame.castBar\n castBar:Show()\n castBar.Text:SetText(name)\n --castBar.percentText:Show()\n --castBar.percentText:SetText(DetailsFramework.FormatNumber(current))\n castBar.Icon:SetTexture(icon)\n castBar.canInterrupt = false\n castBar:SetStatusBarColor(210/255, 210/255, 210/255)\n castBar.FrameOverlay.TargetName:Hide()\n castBar:SetMinMaxValues(0, duration-0.6)\n castBar:SetValue(current-0.6)\n end\n end\n envTable.GlowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Temp_Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Prio"] = 99, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n \n --create a glow \n envTable.GlowEffect = envTable.GlowEffect or Plater.CreateNameplateGlow (healthBar)\n envTable.GlowAlpha = .7\n \n local hsize = 1\n local wsize = 1\n \n if envTable.UnitType == \"minus\" then\n hsize =Plater.db.profile.minor_height_scale\n wsize = Plater.db.profile.minor_width_scale\n elseif envTable.UnitType == \"pet\" then\n hsize = Plater.db.profile.pet_height_scale\n wsize = Plater.db.profile.pet_width_scale\n end\n \n envTable.GlowEffect:SetOffset (-26*wsize, 25*wsize, 10*hsize, -13*hsize)\n \nend", ["Enabled"] = true, }, -- [11] }, ["url"] = "https://wago.io/H9o_0mYN8/228", ["aura_stack_anchor"] = { ["y"] = -2.5, ["x"] = 8.5, ["side"] = 13, }, ["cast_statusbar_fadein_time"] = 0.0099999997764826, ["indicator_raidmark_scale"] = 0.99999994039536, ["cast_statusbar_spark_alpha"] = 0.84999996423721, ["aura2_y_offset"] = 0, ["aura_timer_text_anchor"] = { ["x"] = 0.5, }, ["buffs_on_aura2"] = true, ["plate_config"] = { ["player"] = { ["spellname_text_font"] = "[WoW] 기본 글꼴", ["spellpercent_text_font"] = "[WoW] 기본 글꼴", ["power_percent_text_color"] = { 0.90196078431373, -- [1] 0.90196078431373, -- [2] 0.90196078431373, -- [3] }, ["percent_text_enabled"] = false, ["cast"] = { 104, -- [1] }, ["spellpercent_text_size"] = 8, ["power_percent_text_font"] = "[WoW] 기본 글꼴", ["mana_incombat"] = { 104, -- [1] 7, -- [2] }, ["spellpercent_text_anchor"] = { ["y"] = 5.5, ["x"] = 0, ["side"] = 5, }, ["percent_text_size"] = 8, ["percent_text_show_decimals"] = false, ["healthbar_color"] = { 0, -- [1] 1, -- [2] 0, -- [3] }, ["power_percent_text_enabled"] = false, ["percent_show_percent"] = false, ["cast_incombat"] = { 104, -- [1] }, ["spellpercent_text_enabled"] = false, ["percent_text_font"] = "[WoW] 기본 글꼴", ["percent_text_outline"] = "NONE", ["health_incombat"] = { 104, -- [1] 5, -- [2] }, ["health"] = { 104, -- [1] 5, -- [2] }, ["spellname_text_anchor"] = { ["y"] = 5.5, ["side"] = 3, }, ["mana"] = { 104, -- [1] 7, -- [2] }, ["percent_text_anchor"] = { ["y"] = 2, }, ["power_percent_text_shadow_color"] = { nil, -- [1] nil, -- [2] nil, -- [3] 0.75, -- [4] }, ["percent_text_color"] = { 0.90196078431373, -- [1] 0.90196078431373, -- [2] 0.90196078431373, -- [3] }, }, ["friendlyplayer"] = { ["big_actorname_text_size"] = 13, ["spellpercent_text_font"] = "[WoW] 기본 글꼴", ["actorname_friend_color"] = { 0.72941176470588, -- [1] 0.91764705882353, -- [2] }, ["level_text_size"] = 8, ["actorname_use_class_color"] = true, ["big_actortitle_text_font"] = "[WoW] 데미지 글꼴", ["cast"] = { 86, -- [1] 12, -- [2] }, ["percent_text_ooc"] = true, ["big_actortitle_text_size"] = 13, ["fixed_class_color"] = { 1, -- [1] 0.4, -- [2] 0.10196078431373, -- [3] 1, -- [4] }, ["big_actorname_text_color"] = { 0.5, -- [1] 1, -- [2] 0.5, -- [3] }, ["big_actortitle_text_shadow_color_offset"] = { 1, -- [1] -1, -- [2] }, ["cast_incombat"] = { 106, -- [1] 14, -- [2] }, ["spellname_text_outline"] = "OUTLINE", ["spellpercent_text_size"] = 11, ["big_actorname_text_shadow_color"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.75, -- [4] }, ["mana"] = { 85, -- [1] }, ["big_actortitle_text_shadow_color"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["mana_incombat"] = { 105, -- [1] }, ["level_text_font"] = "[WoW] 기본 글꼴", ["percent_text_color"] = { 1, -- [1] 1, -- [2] 1, -- [3] 0.90000000596046, -- [4] }, ["actorname_text_font"] = "데미지 글꼴", ["quest_color"] = { 0.5, -- [1] 1, -- [2] 0, -- [3] }, ["big_actorname_text_shadow_color_offset"] = { 1, -- [1] -1, -- [2] }, ["big_actorname_text_font"] = "[WoW] 데미지 글꼴", ["quest_color_neutral"] = { 1, -- [1] 0.65, -- [2] 0, -- [3] }, ["actorname_text_size"] = 13, ["health_incombat"] = { 106, -- [1] 16, -- [2] }, ["percent_text_enabled"] = true, ["percent_show_health"] = true, ["all_names"] = true, ["use_playerclass_color"] = true, ["relevance_state"] = 3, ["percent_text_font"] = "[WoW] 기본 글꼴", ["actorname_text_outline"] = "NONE", ["big_actortitle_text_color"] = { 1, -- [1] 0.8, -- [2] 0, -- [3] }, ["percent_show_percent"] = false, ["big_actortitle_text_outline"] = "OUTLINE", ["actorname_text_spacing"] = 12, ["only_damaged"] = false, ["buff_frame_y_offset"] = 0, ["actorname_guild_color"] = { 0.36470588235294, -- [1] [3] = 0, }, ["quest_enabled"] = true, ["percent_text_size"] = 10, ["level_text_alpha"] = 0.29999998211861, ["actorname_text_anchor"] = { ["y"] = 2, }, ["spellname_text_size"] = 11, ["health"] = { 86, -- [1] }, ["only_names"] = true, ["spellname_text_font"] = "[WoW] 기본 글꼴", ["big_actorname_text_outline"] = "NONE", ["only_thename"] = true, ["quest_color_enemy"] = { 1, -- [1] 0.369, -- [2] 0, -- [3] }, }, ["friendlynpc"] = { ["big_actorname_text_size"] = 13, ["spellpercent_text_font"] = "[WoW] 기본 글꼴", ["show_guild_name"] = false, ["level_text_size"] = 8, ["big_actortitle_text_font"] = "[WoW] 데미지 글꼴", ["cast"] = { 86, -- [1] 12, -- [2] }, ["spellpercent_text_size"] = 11, ["fixed_class_color"] = { 1, -- [1] 0.4, -- [2] 0.1, -- [3] }, ["big_actorname_text_color"] = { 0, -- [1] nil, -- [2] 0, -- [3] 1, -- [4] }, ["cast_incombat"] = { 106, -- [1] 14, -- [2] }, ["spellname_text_outline"] = "OUTLINE", ["level_text_font"] = "[WoW] 기본 글꼴", ["percent_text_color"] = { 1, -- [1] 1, -- [2] 1, -- [3] }, ["actorname_text_font"] = "데미지 글꼴", ["quest_color"] = { 0, -- [1] nil, -- [2] 0.49019607843137, -- [3] 1, -- [4] }, ["quest_color_neutral"] = { 1, -- [1] 0.65, -- [2] 0, -- [3] }, ["mana_incombat"] = { 105, -- [1] 3, -- [2] }, ["percent_text_enabled"] = true, ["use_playerclass_color"] = true, ["big_actortitle_text_color"] = { nil, -- [1] nil, -- [2] nil, -- [3] 1, -- [4] }, ["level_text_alpha"] = 0.29999998211861, ["actorname_text_anchor"] = { ["y"] = 2, }, ["big_actortitle_text_outline"] = "NONE", ["actorname_text_spacing"] = 12, ["percent_text_font"] = "[WoW] 기본 글꼴", ["big_actorname_text_font"] = "[WoW] 데미지 글꼴", ["percent_show_health"] = true, ["percent_show_percent"] = false, ["percent_text_ooc"] = true, ["percent_text_size"] = 10, ["health_incombat"] = { 106, -- [1] }, ["spellname_text_size"] = 11, ["health"] = { 86, -- [1] 2, -- [2] }, ["actorname_text_size"] = 13, ["big_actorname_text_outline"] = "NONE", ["spellname_text_font"] = "[WoW] 기본 글꼴", ["mana"] = { 85, -- [1] 3, -- [2] }, ["quest_color_enemy"] = { 1, -- [1] 0.369, -- [2] 0, -- [3] }, }, ["enemyplayer"] = { ["quest_color_enemy"] = { 1, -- [1] 0.369, -- [2] 0, -- [3] }, ["spellpercent_text_font"] = "[WoW] 기본 글꼴", ["level_text_size"] = 8, ["big_actortitle_text_font"] = "[WoW] 데미지 글꼴", ["cast"] = { 86, -- [1] 12, -- [2] }, ["spellpercent_text_size"] = 11, ["big_actortitle_text_size"] = 13, ["fixed_class_color"] = { nil, -- [1] nil, -- [2] 0.10196078431373, -- [3] 1, -- [4] }, ["cast_incombat"] = { 106, -- [1] 14, -- [2] }, ["spellname_text_outline"] = "OUTLINE", ["big_actorname_text_shadow_color"] = { nil, -- [1] nil, -- [2] nil, -- [3] 0.75, -- [4] }, ["level_text_font"] = "[WoW] 기본 글꼴", ["percent_text_color"] = { 1, -- [1] 1, -- [2] 1, -- [3] }, ["actorname_text_font"] = "데미지 글꼴", ["big_actorname_text_outline"] = "NONE", ["quest_color_neutral"] = { 1, -- [1] 0.65, -- [2] 0, -- [3] }, ["mana_incombat"] = { 105, -- [1] 3, -- [2] }, ["big_actorname_text_font"] = "[WoW] 데미지 글꼴", ["all_names"] = true, ["actorname_text_anchor"] = { ["y"] = 2, ["side"] = 8, }, ["spellpercent_text_enabled"] = false, ["percent_text_font"] = "[WoW] 기본 글꼴", ["spellname_text_font"] = "[WoW] 기본 글꼴", ["percent_show_percent"] = false, ["mana"] = { 85, -- [1] 3, -- [2] }, ["quest_enabled"] = true, ["health_incombat"] = { 106, -- [1] }, ["spellname_text_size"] = 11, ["health"] = { 86, -- [1] 2, -- [2] }, ["percent_text_size"] = 10, ["level_text_alpha"] = 0.29999998211861, ["big_actorname_text_size"] = 13, ["actorname_text_size"] = 13, ["level_text_enabled"] = false, }, ["enemynpc"] = { ["big_actorname_text_size"] = 13, ["spellpercent_text_font"] = "[WoW] 기본 글꼴", ["show_guild_name"] = false, ["big_actortitle_text_font"] = "[WoW] 데미지 글꼴", ["cast"] = { 86, -- [1] 14, -- [2] }, ["big_actortitle_text_size"] = 11, ["fixed_class_color"] = { 1, -- [1] 0.4, -- [2] 0.1, -- [3] }, ["big_actorname_text_color"] = { 0.5, -- [1] 1, -- [2] 0.5, -- [3] }, ["cast_incombat"] = { 106, -- [1] }, ["level_text_font"] = "[WoW] 기본 글꼴", ["percent_text_color"] = { 1, -- [1] 1, -- [2] 1, -- [3] }, ["actorname_text_font"] = "데미지 글꼴", ["big_actorname_text_outline"] = "NONE", ["quest_color_neutral"] = { nil, -- [1] 0.62745098039216, -- [2] nil, -- [3] 1, -- [4] }, ["mana_incombat"] = { 106, -- [1] 3, -- [2] }, ["big_actorname_text_font"] = "[WoW] 데미지 글꼴", ["use_playerclass_color"] = true, ["big_actortitle_text_color"] = { 1, -- [1] 0.8, -- [2] 0, -- [3] }, ["big_actortitle_text_outline"] = "NONE", ["actorname_text_spacing"] = 12, ["percent_text_font"] = "[WoW] 기본 글꼴", ["quest_color_enemy"] = { nil, -- [1] 0.36470588235294, -- [2] nil, -- [3] 1, -- [4] }, ["mana"] = { 86, -- [1] 3, -- [2] }, ["percent_show_percent"] = false, ["spellpercent_text_enabled"] = false, ["actorname_text_anchor"] = { ["y"] = 2, ["side"] = 8, }, ["health_incombat"] = { 106, -- [1] }, ["spellname_text_size"] = 11, ["health"] = { 86, -- [1] 2, -- [2] }, ["percent_text_size"] = 10, ["level_text_alpha"] = 0.29999998211861, ["actorname_text_size"] = 13, ["spellname_text_font"] = "[WoW] 기본 글꼴", ["level_text_enabled"] = false, }, }, ["health_selection_overlay"] = "Solid", ["aura_y_offset"] = 18, ["cast_statusbar_color_nointerrupt"] = { 0.82352941176471, -- [1] 0.82352941176471, -- [2] 0.82352941176471, -- [3] 1, -- [4] }, ["first_run2"] = true, ["aura_width_personal"] = 21, ["hide_blizzard_castbar"] = true, ["aura_show_tooltip"] = true, ["health_animation_time_dilatation"] = 2.6499998569489, ["npc_cache"] = { ["71152"] = { "피 추적자 스키르", -- [1] "오그리마 공성전", -- [2] }, ["81114"] = { "그론링 노동자", -- [1] "검은바위 용광로", -- [2] }, ["129527"] = { "항만의 시궁쥐단 해적단원", -- [1] "자유지대", -- [2] }, ["56862"] = { "술 취한 호젠 싸움꾼", -- [1] "스톰스타우트 양조장", -- [2] }, ["139677"] = { "심연소환사", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["134593"] = { "종결자 미스락스", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["136208"] = { "스트롬가드 석궁병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138471"] = { "흑요석 고룡수호병", -- [1] "", -- [2] }, ["136804"] = { "자갈척추", -- [1] "", -- [2] }, ["114329"] = { "루미노르", -- [1] "다시 찾은 카라잔", -- [2] }, ["127882"] = { "수집가 빅스", -- [1] "삼두정의 권좌", -- [2] }, ["146320"] = { "정무관 잘란", -- [1] "다자알로 전투", -- [2] }, ["138623"] = { "아마셋 궁수", -- [1] "", -- [2] }, ["126642"] = { "모래등 게", -- [1] "보랄러스 공성전", -- [2] }, ["134174"] = { "어둠태생 의술사", -- [1] "왕들의 안식처", -- [2] }, ["135240"] = { "영혼의 정수", -- [1] "웨이크레스트 저택", -- [2] }, ["155768"] = { "돌풍술사 말러르", -- [1] "영원한 궁전", -- [2] }, ["137969"] = { "매장된 피조물", -- [1] "왕들의 안식처", -- [2] }, ["138444"] = { "장군 베스파라크", -- [1] "사라스 섬", -- [2] }, ["102392"] = { "공명 토템", -- [1] "다자알로 전투", -- [2] }, ["72408"] = { "대공포", -- [1] "오그리마 공성전", -- [2] }, ["26796"] = { "사령관 스타우트비어드", -- [1] "마력의 탑", -- [2] }, ["151325"] = { "경보로봇", -- [1] "작전명: 메카곤", -- [2] }, ["138559"] = { "잊혀진 자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["44261"] = { "뾰족발톱독수리", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["67235"] = { "어둠의 마귀", -- [1] "폭풍의 사원", -- [2] }, ["135002"] = { "악마 폭군", -- [1] "울디르", -- [2] }, ["120463"] = { "깊은바다 관리인", -- [1] "살게라스의 무덤", -- [2] }, ["153335"] = { "신비한 전기불꽃", -- [1] "영원한 궁전", -- [2] }, ["33527"] = { "자연의 검사", -- [1] "울두아르", -- [2] }, ["137882"] = { "북부습곡 석궁병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["148623"] = { "공크의 환영", -- [1] "다자알로 전투", -- [2] }, ["146365"] = { "타오르는 화염수호정령", -- [1] "다자알로 전투", -- [2] }, ["140798"] = { "바위까악", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138442"] = { "파도돌격병", -- [1] "사라스 섬", -- [2] }, ["131013"] = { "다자리안 집게발", -- [1] "다자알로 전투", -- [2] }, ["138557"] = { "실체화된 타락", -- [1] "사라스 섬", -- [2] }, ["138837"] = { "자라티크 호박석마술사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["26918"] = { "혼돈의 균열", -- [1] "마력의 탑", -- [2] }, ["17952"] = { "검은물 악어", -- [1] "어둠의 문 열기", -- [2] }, ["151833"] = { "방랑하는 영혼", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["148624"] = { "파쿠의 환영", -- [1] "다자알로 전투", -- [2] }, ["16593"] = { "으스러진 손 투사", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["129369"] = { "무쇠파도 약탈단", -- [1] "보랄러스 공성전", -- [2] }, ["140447"] = { "파괴의 공포", -- [1] "보랄러스 공성전", -- [2] }, ["26928"] = { "대학자 텔레스트라", -- [1] "마력의 탑", -- [2] }, ["138830"] = { "별의 인도를 받는 트로바스트", -- [1] "조룬달 (섬 7)", -- [2] }, ["141264"] = { "무엇인가", -- [1] "울디르", -- [2] }, ["122410"] = { "하늘지느러미", -- [1] "삼두정의 권좌", -- [2] }, ["144300"] = { "메카곤 시민", -- [1] "작전명: 메카곤", -- [2] }, ["139411"] = { "우글송곳니", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["155813"] = { "궁정 수행원", -- [1] "영원한 궁전", -- [2] }, ["138843"] = { "날개지도자 스라키크", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["135048"] = { "피투성이 새끼 멧돼지", -- [1] "웨이크레스트 저택", -- [2] }, ["146890"] = { "썩은살점 룬마술사", -- [1] "조룬달 (섬 7)", -- [2] }, ["151680"] = { "주홍이빨", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138571"] = { "성전의 빛의 수호자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["152311"] = { "잔지르 미르미돈", -- [1] "영원한 궁전", -- [2] }, ["148569"] = { "물가름 정령", -- [1] "다자알로 전투", -- [2] }, ["155767"] = { "그룰타즈", -- [1] "영원한 궁전", -- [2] }, ["138624"] = { "아마셋 용사", -- [1] "", -- [2] }, ["139015"] = { "야생 달빛야수", -- [1] "", -- [2] }, ["138436"] = { "군주 갈퀴지느러미", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["108359"] = { "불안정한 전갈", -- [1] "밤의 요새", -- [2] }, ["138511"] = { "청금비늘", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["132410"] = { "날개 달린 독사", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["138300"] = { "축복받은 깃발", -- [1] "격전지 아라시 - 호드", -- [2] }, ["114526"] = { "유령 대역", -- [1] "다시 찾은 카라잔", -- [2] }, ["136807"] = { "조약돌 정찰병", -- [1] "", -- [2] }, ["132918"] = { "원한지느러미 약탈자", -- [1] "사라스 섬", -- [2] }, ["131574"] = { "흐린빛지느러미", -- [1] "영원한 궁전", -- [2] }, ["140106"] = { "죽음침 무리감시자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["106321"] = { "순풍 토템", -- [1] "다자알로 전투", -- [2] }, ["157255"] = { "아퀴르 일벌레", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["136890"] = { "무쇠 오르카스", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["122266"] = { "가시갑옷 거북", -- [1] "", -- [2] }, ["139472"] = { "바위군주 킨쇼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135924"] = { "타오르는 격노", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["94239"] = { "옴너스", -- [1] "지옥불 성채", -- [2] }, ["129015"] = { "남쪽바다 삼등 항해사", -- [1] "", -- [2] }, ["69791"] = { "겨털정리", -- [1] "다자알로 전투", -- [2] }, ["155686"] = { "아즈샤리 맹독감시자", -- [1] "영원한 궁전", -- [2] }, ["151755"] = { "그늘사냥개", -- [1] "에메랄드의 꿈 - 아제로스의 심장 시나리오", -- [2] }, ["78801"] = { "어둠파편 산성등딱지", -- [1] "검은바위 용광로", -- [2] }, ["139813"] = { "선임 생산자 직시", -- [1] "조룬달 (섬 7)", -- [2] }, ["75829"] = { "날리쉬", -- [1] "어둠달 지하묘지", -- [2] }, ["28585"] = { "화산바위", -- [1] "번개의 전당", -- [2] }, ["148673"] = { "브원삼디의 매개체", -- [1] "다자알로 전투", -- [2] }, ["139438"] = { "영혼인도자 토간", -- [1] "사라스 섬", -- [2] }, ["140152"] = { "썩은발톱 투사", -- [1] "", -- [2] }, ["54552"] = { "뒤틀린 시간의 파괴자", -- [1] "시간의 끝", -- [2] }, ["136713"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["111047"] = { "기생충 어둠 악마", -- [1] "밤의 요새", -- [2] }, ["140377"] = { "모래껍질 수확자", -- [1] "", -- [2] }, ["139429"] = { "바위속박 전사", -- [1] "사라스 섬", -- [2] }, ["17447"] = { "심장부 사냥개", -- [1] "다자알로 전투", -- [2] }, ["132919"] = { "원한지느러미 괴수", -- [1] "사라스 섬", -- [2] }, ["59519"] = { "쌉쌀한 맥주 주령", -- [1] "스톰스타우트 양조장", -- [2] }, ["126919"] = { "무쇠파도 폭풍소환사", -- [1] "자유지대", -- [2] }, ["144611"] = { "산호등 딸깍이", -- [1] "영원한 궁전", -- [2] }, ["139765"] = { "배 없는 지미", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["138446"] = { "심해소환사 젤리사", -- [1] "사라스 섬", -- [2] }, ["138827"] = { "강한 보달프", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["130299"] = { "물방울", -- [1] "", -- [2] }, ["73152"] = { "창고지기", -- [1] "오그리마 공성전", -- [2] }, ["150139"] = { "공허 사냥꾼 크스즈", -- [1] "울디르 시나리오", -- [2] }, ["138831"] = { "홀벌드 오션사이드", -- [1] "", -- [2] }, ["20870"] = { "속박 풀린 제레케스", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["145026"] = { "날렵꼬리 청소부", -- [1] "", -- [2] }, ["135720"] = { "달빛 깃든 암사냥호랑이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["157366"] = { "공허 사냥꾼", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["138818"] = { "핏빛각성 전쟁인도자", -- [1] "조룬달 (섬 7)", -- [2] }, ["136330"] = { "영혼 가시", -- [1] "웨이크레스트 저택", -- [2] }, ["138985"] = { "늙은 굶그옳", -- [1] "사라스 섬", -- [2] }, ["138529"] = { "암흑의 부산물", -- [1] "울디르", -- [2] }, ["140456"] = { "나무털 머스켄", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["132893"] = { "불의 정령", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136049"] = { "알게논", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["26690"] = { "이미야르 전사", -- [1] "우트가드 첨탑", -- [2] }, ["145242"] = { "비늘마귀", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["33838"] = { "사로잡힌 불의 정령", -- [1] "울두아르", -- [2] }, ["72784"] = { "코르크론 사수", -- [1] "오그리마 공성전", -- [2] }, ["131089"] = { "그림자칼날 추적자", -- [1] "아탈다자르", -- [2] }, ["137059"] = { "머리사냥꾼 가하", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["32867"] = { "강철파괴자", -- [1] "울두아르", -- [2] }, ["150396"] = { "비행체 R-21/X", -- [1] "작전명: 메카곤", -- [2] }, ["140988"] = { "강철파쇄", -- [1] "", -- [2] }, ["26692"] = { "이미야르 작살병", -- [1] "우트가드 첨탑", -- [2] }, ["130639"] = { "무쇠턱 강철이빨", -- [1] "사라스 섬", -- [2] }, ["113694"] = { "시월이", -- [1] "다자알로 전투", -- [2] }, ["117123"] = { "물결비늘 용사", -- [1] "살게라스의 무덤", -- [2] }, ["128455"] = { "트론자", -- [1] "아탈다자르", -- [2] }, ["145976"] = { "수컷 돌껍질 순록", -- [1] "", -- [2] }, ["126205"] = { "수익대박포", -- [1] "", -- [2] }, ["152538"] = { "무엇인가", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["30276"] = { "안카하르 거미줄 그물거미", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["21467"] = { "선구자 스키리스", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["134173"] = { "움직이는 방울", -- [1] "폭풍의 사원", -- [2] }, ["136821"] = { "굴란 뾰족뿔투사", -- [1] "", -- [2] }, ["39626"] = { "진홍살이 장군", -- [1] "그림 바톨", -- [2] }, ["138560"] = { "얼굴 없는 공포", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["129047"] = { "스트롬가드 명사수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["130653"] = { "통제불가 공병", -- [1] "왕노다지 광산!!", -- [2] }, ["146889"] = { "썩은살점 죽음방랑자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["43614"] = { "톱니아귀", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["133666"] = { "디지의 미끼", -- [1] "", -- [2] }, ["136050"] = { "핏빛기류", -- [1] "", -- [2] }, ["56927"] = { "흥청망청 호젠", -- [1] "스톰스타우트 양조장", -- [2] }, ["140561"] = { "새끼 유황견", -- [1] "", -- [2] }, ["140069"] = { "녹슨가죽 늑대", -- [1] "", -- [2] }, ["148582"] = { "폭풍결속 수호자", -- [1] "다자알로 전투", -- [2] }, ["140113"] = { "맹독채찍", -- [1] "Havenswood (Islands 2)", -- [2] }, ["145932"] = { "셀레스트라 브라이트문", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138986"] = { "수색자 보글", -- [1] "사라스 섬", -- [2] }, ["144949"] = { "큰날개 추적자", -- [1] "", -- [2] }, ["146186"] = { "불길의 전투벌", -- [1] "", -- [2] }, ["140384"] = { "보석 박힌 무리감시자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["106319"] = { "불씨 토템", -- [1] "다자알로 전투", -- [2] }, ["141935"] = { "요동치는 크로그", -- [1] "울디르", -- [2] }, ["136964"] = { "높은 감시대 석궁병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["132773"] = { "돌주먹 집행자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["129598"] = { "자유지대 짐노새", -- [1] "자유지대", -- [2] }, ["135736"] = { "혈뱀", -- [1] "사라스 섬", -- [2] }, ["155845"] = { "분쇄의 심연", -- [1] "영원한 궁전", -- [2] }, ["133836"] = { "되살아난 수호자", -- [1] "썩은굴", -- [2] }, ["140986"] = { "산성 땅굴벌레", -- [1] "", -- [2] }, ["111166"] = { "굳건한 궁정병사", -- [1] "밤의 요새", -- [2] }, ["139189"] = { "고대의 벌목발톱", -- [1] "", -- [2] }, ["149302"] = { "무엇인가", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["135932"] = { "볼카나르", -- [1] "사라스 섬", -- [2] }, ["116407"] = { "하르자탄", -- [1] "살게라스의 무덤", -- [2] }, ["139430"] = { "영원한 사냥개 잘리즈", -- [1] "사라스 섬", -- [2] }, ["16808"] = { "대족장 카르가스 블레이드피스트", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["139460"] = { "바위속박 대지마술사", -- [1] "사라스 섬", -- [2] }, ["80411"] = { "강철 명사수", -- [1] "검은바위 용광로", -- [2] }, ["135234"] = { "병 걸린 파수견", -- [1] "웨이크레스트 저택", -- [2] }, ["57384"] = { "암청색 핏방울", -- [1] "용의 영혼", -- [2] }, ["140453"] = { "나무털 무리지도자", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["155917"] = { "아즈샤리 폭풍소환사", -- [1] "영원한 궁전", -- [2] }, ["106643"] = { "엘리산드", -- [1] "밤의 요새", -- [2] }, ["73530"] = { "용아귀 그런트", -- [1] "오그리마 공성전", -- [2] }, ["76518"] = { "뼈의 의식", -- [1] "어둠달 지하묘지", -- [2] }, ["133944"] = { "아스픽스", -- [1] "세스랄리스 사원", -- [2] }, ["71515"] = { "장군 나즈그림", -- [1] "오그리마 공성전", -- [2] }, ["142243"] = { "전쟁어미 반지", -- [1] "울디르", -- [2] }, ["150168"] = { "독성 흉물", -- [1] "작전명: 메카곤", -- [2] }, ["151978"] = { "소금쟁이", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["132835"] = { "공포의 송곳니 뱀", -- [1] "", -- [2] }, ["151839"] = { "잠 못 드는 영혼", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["138992"] = { "흙지느러미 보초", -- [1] "사라스 섬", -- [2] }, ["122086"] = { "뱀갈퀴 무쇠비늘", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140299"] = { "유령송곳니", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["29768"] = { "불굴의 뱀", -- [1] "군드락", -- [2] }, ["131431"] = { "안전 점검 로봇", -- [1] "조룬달 (섬 7)", -- [2] }, ["140334"] = { "밤비늘 똬리송곳니", -- [1] "조룬달 (섬 7)", -- [2] }, ["136889"] = { "칼날소환사 투크", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["134507"] = { "공성 괴룡", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["135235"] = { "야수조련사 유령", -- [1] "왕들의 안식처", -- [2] }, ["94724"] = { "브리안다", -- [1] "지옥불 성채", -- [2] }, ["43537"] = { "바위심장부 대지창조자", -- [1] "바위심장부", -- [2] }, ["143985"] = { "흡수로봇", -- [1] "폭풍의 용광로", -- [2] }, ["140114"] = { "챙강발톱", -- [1] "", -- [2] }, ["123146"] = { "찢긴 영혼", -- [1] "사라스 섬", -- [2] }, ["139406"] = { "핏빛비늘 하산", -- [1] "", -- [2] }, ["19668"] = { "어둠의 마귀", -- [1] "폭풍의 용광로", -- [2] }, ["134949"] = { "점판땅거미", -- [1] "", -- [2] }, ["140694"] = { "탐욕의 우걱턱", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["140058"] = { "우두머리 회색털", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["143306"] = { "귀족 펭귄", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["77504"] = { "잿가루 거수", -- [1] "검은바위 용광로", -- [2] }, ["72787"] = { "백 걸음의 칼날", -- [1] "오그리마 공성전", -- [2] }, ["59464"] = { "깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["75857"] = { "불안정한 마그마 정령", -- [1] "피망치 잿가루 광산", -- [2] }, ["132713"] = { "모굴 라즈덩크", -- [1] "왕노다지 광산!!", -- [2] }, ["17940"] = { "갈퀴송곳니 기술병", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["138569"] = { "선구자 보르직스", -- [1] "조룬달 (섬 7)", -- [2] }, ["144246"] = { "쿠.조.", -- [1] "작전명: 메카곤", -- [2] }, ["32927"] = { "룬술사 몰가임", -- [1] "울두아르", -- [2] }, ["75193"] = { "피망치 감독관", -- [1] "피망치 잿가루 광산", -- [2] }, ["80423"] = { "천둥군주 야수치유사", -- [1] "검은바위 용광로", -- [2] }, ["72927"] = { "코보크", -- [1] "오그리마 공성전", -- [2] }, ["152835"] = { "결정화된 아제라이트", -- [1] "소용돌이 - 아제로스의 심장", -- [2] }, ["131729"] = { "라이코", -- [1] "사라스 섬", -- [2] }, ["20867"] = { "죽음의 감시자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["145801"] = { "비행선 기술자", -- [1] "아탈다자르", -- [2] }, ["140854"] = { "흐름물", -- [1] "", -- [2] }, ["144942"] = { "불꽃봇", -- [1] "다자알로 전투", -- [2] }, ["130521"] = { "자유지대 갑판원", -- [1] "자유지대", -- [2] }, ["40633"] = { "나즈자르 근위병", -- [1] "파도의 왕좌", -- [2] }, ["112675"] = { "황혼감시대 파수꾼", -- [1] "밤의 요새", -- [2] }, ["134899"] = { "맹독송곳니 배회거미", -- [1] "", -- [2] }, ["147202"] = { "살아 움직이는 아제라이트 파편", -- [1] "", -- [2] }, ["59458"] = { "새끼 깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["135706"] = { "항만의 시궁쥐단 노략꾼", -- [1] "톨 다고르", -- [2] }, ["18341"] = { "팬더모니우스", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["140826"] = { "가시수풀 요마", -- [1] "", -- [2] }, ["147218"] = { "황금 영혼", -- [1] "다자알로 전투", -- [2] }, ["73185"] = { "성난 무샨 야수", -- [1] "오그리마 공성전", -- [2] }, ["33528"] = { "생명의 수호비룡", -- [1] "울두아르", -- [2] }, ["72350"] = { "용아귀 정예 그런트", -- [1] "오그리마 공성전", -- [2] }, ["45928"] = { "통치자의 집행관", -- [1] "소용돌이 누각", -- [2] }, ["146880"] = { "수수께끼의 골브란", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["23795"] = { "검은무쇠 불한당", -- [1] "검은바위 나락", -- [2] }, ["140269"] = { "울루테일", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["146104"] = { "살아있는 폭탄", -- [1] "다자알로 전투", -- [2] }, ["138839"] = { "자라티크 죽음부름이", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["125213"] = { "새끼 턱파괴자", -- [1] "웨이크레스트 저택", -- [2] }, ["138998"] = { "두껍가죽", -- [1] "", -- [2] }, ["139398"] = { "진창매복 암살자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["134916"] = { "들창 사냥거미", -- [1] "", -- [2] }, ["137626"] = { "파괴의 공포", -- [1] "보랄러스 공성전", -- [2] }, ["145865"] = { "늑대인간 총병", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["138434"] = { "원한지느러미 폭풍우 마녀", -- [1] "사라스 섬", -- [2] }, ["152498"] = { "어둠 순찰자", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["136880"] = { "뻣뻣갈기 가시멧돼지", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["144776"] = { "에어린 스위프트피트", -- [1] "", -- [2] }, ["133557"] = { "라자크 아이언사이즈", -- [1] "", -- [2] }, ["139384"] = { "뱀갈퀴 공격병", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["154347"] = { "공허에 물든 타락비룡", -- [1] "동부 왕국 - 주홍빛 보루 - 아제로스의 심장 시나리오", -- [2] }, ["153059"] = { "애타넬", -- [1] "영원한 궁전", -- [2] }, ["132797"] = { "새끼 솔먹이", -- [1] "사라스 섬", -- [2] }, ["76146"] = { "대형 수호 피조물", -- [1] "하늘탑", -- [2] }, ["149344"] = { "광란이 주입된 아제라이트", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["54338"] = { "기레기", -- [1] "울디르", -- [2] }, ["114671"] = { "조각난 시간 입자", -- [1] "밤의 요새", -- [2] }, ["139213"] = { "열매쿵", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["81171"] = { "서리심연 동굴살이", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["138507"] = { "전쟁군주 울트리스", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["128434"] = { "탐식의 하늘공포", -- [1] "아탈다자르", -- [2] }, ["140361"] = { "흉조의 검은그림자", -- [1] "조룬달 (섬 7)", -- [2] }, ["32666"] = { "훈련용 허수아비", -- [1] "오그리마 공성전", -- [2] }, ["155090"] = { "양극산화 코일지기", -- [1] "작전명: 메카곤", -- [2] }, ["123286"] = { "남쪽바다 도박사", -- [1] "", -- [2] }, ["124947"] = { "공허 절단자", -- [1] "삼두정의 권좌", -- [2] }, ["122322"] = { "굶주린 뒤틀린 자", -- [1] "삼두정의 권좌", -- [2] }, ["80422"] = { "강철 명사수", -- [1] "검은바위 용광로", -- [2] }, ["150712"] = { "트릭시 테이저", -- [1] "작전명: 메카곤", -- [2] }, ["129601"] = { "바다가름 작살사수", -- [1] "자유지대", -- [2] }, ["76102"] = { "공기 전령", -- [1] "하늘탑", -- [2] }, ["79462"] = { "무엇인가", -- [1] "하늘탑", -- [2] }, ["29834"] = { "드라카리 광포어", -- [1] "군드락", -- [2] }, ["137246"] = { "얼라이언스 공성 전차", -- [1] "격전지 아라시 - 호드", -- [2] }, ["122968"] = { "야즈마", -- [1] "아탈다자르", -- [2] }, ["134942"] = { "새끼 뻣뻣가시 거미", -- [1] "", -- [2] }, ["139661"] = { "안개비늘 채집꾼", -- [1] "사라스 섬", -- [2] }, ["140829"] = { "가을바람", -- [1] "", -- [2] }, ["111022"] = { "내면의 악마", -- [1] "밤의 요새", -- [2] }, ["25865"] = { "얼어붙은 핵", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["140362"] = { "반짝날개", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["54431"] = { "바인의 환영", -- [1] "시간의 끝", -- [2] }, ["21148"] = { "무엇인가", -- [1] "어둠의 문 열기", -- [2] }, ["140843"] = { "바람의 영혼", -- [1] "조룬달 (섬 7)", -- [2] }, ["155433"] = { "공허에 물든 사절", -- [1] "썩은굴", -- [2] }, ["117596"] = { "칼날턱 검투사", -- [1] "살게라스의 무덤", -- [2] }, ["31228"] = { "숲지기 나무정령", -- [1] "바위심장부", -- [2] }, ["131677"] = { "심장파멸 룬마술사", -- [1] "웨이크레스트 저택", -- [2] }, ["146862"] = { "안개경멸 정복자", -- [1] "조룬달 (섬 7)", -- [2] }, ["131356"] = { "밀림 추적자", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["89652"] = { "보신탕", -- [1] "폭풍의 용광로", -- [2] }, ["138636"] = { "왕자 아바리", -- [1] "조룬달 (섬 7)", -- [2] }, ["32904"] = { "암흑룬 하급병사", -- [1] "울두아르", -- [2] }, ["134902"] = { "그림자술사 거미", -- [1] "", -- [2] }, ["26782"] = { "수정 수호자", -- [1] "마력의 탑", -- [2] }, ["71542"] = { "피", -- [1] "오그리마 공성전", -- [2] }, ["114633"] = { "유령 종업원", -- [1] "다시 찾은 카라잔", -- [2] }, ["20902"] = { "살게론 지옥소환사", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["45062"] = { "굳은서약 전갈 사육사", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["33431"] = { "새끼 덩굴손", -- [1] "울두아르", -- [2] }, ["140975"] = { "어린위장", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["139002"] = { "바람의 땅 토템술사", -- [1] "", -- [2] }, ["140660"] = { "거대뿔", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["29713"] = { "슬라드란의 뱀", -- [1] "군드락", -- [2] }, ["75966"] = { "더럽혀진 영혼", -- [1] "어둠달 지하묘지", -- [2] }, ["140684"] = { "분쇄쿵쿵", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["136862"] = { "올고", -- [1] "사라스 섬", -- [2] }, ["71504"] = { "공성기술자 블랙퓨즈", -- [1] "오그리마 공성전", -- [2] }, ["139222"] = { "신록의 수호자", -- [1] "", -- [2] }, ["76154"] = { "하늘탑 까마귀 전령", -- [1] "하늘탑", -- [2] }, ["33819"] = { "황혼의 서리마법사", -- [1] "울두아르", -- [2] }, ["34199"] = { "번개충전 무쇠 드워프", -- [1] "울두아르", -- [2] }, ["139225"] = { "영원의 숲지기", -- [1] "", -- [2] }, ["32930"] = { "콜로간", -- [1] "울두아르", -- [2] }, ["140902"] = { "승천자 보그리쉬", -- [1] "왕노다지 광산!!", -- [2] }, ["136848"] = { "모래두피 예언자", -- [1] "사라스 섬", -- [2] }, ["75426"] = { "피망치 감독관", -- [1] "피망치 잿가루 광산", -- [2] }, ["45063"] = { "뼈절단전갈", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["33453"] = { "암흑룬 순찰대원", -- [1] "울두아르", -- [2] }, ["145261"] = { "금은보화", -- [1] "다자알로 전투", -- [2] }, ["140336"] = { "밤비늘 천둥매", -- [1] "조룬달 (섬 7)", -- [2] }, ["29832"] = { "드라카리 골렘", -- [1] "군드락", -- [2] }, ["16151"] = { "천둥이", -- [1] "카라잔", -- [2] }, ["131018"] = { "장군 카라나", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["137395"] = { "정예 보병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["135721"] = { "아샤네", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["140085"] = { "솔먹이 큰사슴", -- [1] "사라스 섬", -- [2] }, ["151686"] = { "도둑 약삭발이", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["144948"] = { "가죽날개 사냥꾼", -- [1] "", -- [2] }, ["16523"] = { "으스러진 손 야만전사", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["135496"] = { "카미 코그위즐", -- [1] "격전지 아라시 - 호드", -- [2] }, ["17957"] = { "갈퀴송곳니 용사", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["80400"] = { "강철 설비 시설 감시자", -- [1] "검은바위 용광로", -- [2] }, ["34197"] = { "대기실 감시자", -- [1] "울두아르", -- [2] }, ["139284"] = { "역병 의사", -- [1] "세스랄리스 사원", -- [2] }, ["119103"] = { "칠흑의 집행자", -- [1] "", -- [2] }, ["144840"] = { "점박이 새끼 사슴", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["135263"] = { "애쉬베인 관측병", -- [1] "보랄러스 공성전", -- [2] }, ["138648"] = { "수의작공 시그리드", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136989"] = { "뉴스테드 민병대원", -- [1] "격전지 아라시 - 호드", -- [2] }, ["57387"] = { "눈부신 핏방울", -- [1] "용의 영혼", -- [2] }, ["92554"] = { "멕바라쉬", -- [1] "지옥불 성채", -- [2] }, ["76865"] = { "야수군주 다르마크", -- [1] "검은바위 용광로", -- [2] }, ["138531"] = { "외눈박이 공포", -- [1] "울디르", -- [2] }, ["20904"] = { "교도관 멜리차르", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["134390"] = { "모래범벅 독사", -- [1] "세스랄리스 사원", -- [2] }, ["45001"] = { "사로잡힌 무법자", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["140096"] = { "진흙주둥이 멧돼지", -- [1] "", -- [2] }, ["135935"] = { "군주 마그마르", -- [1] "조룬달 (섬 7)", -- [2] }, ["73904"] = { "코르크론 강철파수병", -- [1] "오그리마 공성전", -- [2] }, ["45122"] = { "굳은서약 대장", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["134948"] = { "수풀 추적거미", -- [1] "", -- [2] }, ["131115"] = { "쐐기덩굴 요술쟁이", -- [1] "", -- [2] }, ["133912"] = { "혈서약 파멸자", -- [1] "썩은굴", -- [2] }, ["33717"] = { "하늘빛 용 배우자", -- [1] "울두아르", -- [2] }, ["136295"] = { "가라앉은 토착영혼", -- [1] "폭풍의 사원", -- [2] }, ["57388"] = { "그늘진 핏방울", -- [1] "용의 영혼", -- [2] }, ["17835"] = { "무한의 암살자", -- [1] "어둠의 문 열기", -- [2] }, ["134063"] = { "수사 아이언헐", -- [1] "폭풍의 사원", -- [2] }, ["40290"] = { "진홍살이 예언자", -- [1] "그림 바톨", -- [2] }, ["106317"] = { "폭풍 토템", -- [1] "다자알로 전투", -- [2] }, ["28546"] = { "아이오나", -- [1] "번개의 전당", -- [2] }, ["123289"] = { "소금껍질 죽음발톱", -- [1] "사라스 섬", -- [2] }, ["28836"] = { "폭풍벼림 룬세공사", -- [1] "번개의 전당", -- [2] }, ["155691"] = { "잔지르 사냥꾼", -- [1] "영원한 궁전", -- [2] }, ["152479"] = { "공허에 물든 새끼용", -- [1] "동부 왕국 - 주홍빛 보루 - 아제로스의 심장 시나리오", -- [2] }, ["112804"] = { "길들여진 그늘비늘", -- [1] "밤의 요새", -- [2] }, ["152287"] = { "전자거미", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["136799"] = { "절벽파괴자", -- [1] "", -- [2] }, ["139675"] = { "심연수색자", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["57259"] = { "황혼의 공성 파괴자", -- [1] "용의 영혼", -- [2] }, ["44819"] = { "시아마트", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["1817"] = { "개새", -- [1] "폭풍의 용광로", -- [2] }, ["18317"] = { "에테리얼 사제", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["146910"] = { "썩은살점 역병갈퀴발톱", -- [1] "조룬달 (섬 7)", -- [2] }, ["126451"] = { "아작집게", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["123290"] = { "소금껍질 딸깍이", -- [1] "사라스 섬", -- [2] }, ["76812"] = { "보안 경비병", -- [1] "검은바위 용광로", -- [2] }, ["117154"] = { "칼날턱 수행사제", -- [1] "살게라스의 무덤", -- [2] }, ["146885"] = { "구린절규", -- [1] "조룬달 (섬 7)", -- [2] }, ["71734"] = { "교만의 샤", -- [1] "오그리마 공성전", -- [2] }, ["122076"] = { "눈의 보주", -- [1] "", -- [2] }, ["135996"] = { "군주 콜슬레이트", -- [1] "", -- [2] }, ["136858"] = { "잔리", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["140180"] = { "난폭핏물", -- [1] "", -- [2] }, ["28067"] = { "검은무쇠 양조장이", -- [1] "검은바위 나락", -- [2] }, ["59460"] = { "새끼 깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["140426"] = { "달수염", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["75713"] = { "어둠달 뼛조각치유사", -- [1] "어둠달 지하묘지", -- [2] }, ["138338"] = { "되살아난 수호자", -- [1] "썩은굴", -- [2] }, ["57333"] = { "산성 핏방울", -- [1] "용의 영혼", -- [2] }, ["140424"] = { "낫뿔이", -- [1] "조룬달 (섬 7)", -- [2] }, ["21395"] = { "돌연변이괴물 유충", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["104881"] = { "마법검사 알루리엘", -- [1] "밤의 요새", -- [2] }, ["139758"] = { "총알둘 애니", -- [1] "", -- [2] }, ["133588"] = { "자동 폭탄 사출기", -- [1] "", -- [2] }, ["129470"] = { "심해 게", -- [1] "사라스 섬", -- [2] }, ["95813"] = { "무기군주 멜키오르", -- [1] "지옥불 성채", -- [2] }, ["79463"] = { "빛나는 초신성", -- [1] "하늘탑", -- [2] }, ["126190"] = { "지안 티 야만전사", -- [1] "사라스 섬", -- [2] }, ["140838"] = { "짖궂은 홍수의 정령", -- [1] "", -- [2] }, ["32914"] = { "장로 돌나무껍질", -- [1] "울두아르", -- [2] }, ["148610"] = { "가지의 드루이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["139809"] = { "투자회사 인수 전문가", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["132754"] = { "줄무늬 고원랩터", -- [1] "격전지 아라시 - 호드", -- [2] }, ["31233"] = { "튼튼한 늑대", -- [1] "바위심장부", -- [2] }, ["29637"] = { "약삭빠른 뱀", -- [1] "군드락", -- [2] }, ["57280"] = { "황혼의 공성대장", -- [1] "용의 영혼", -- [2] }, ["155156"] = { "제이나 프라우드무어", -- [1] "영원한 궁전", -- [2] }, ["34164"] = { "기계노움 전투전차", -- [1] "울두아르", -- [2] }, ["144876"] = { "우끼끼찌릿봇 3000", -- [1] "다자알로 전투", -- [2] }, ["140983"] = { "서리천공 파열자", -- [1] "", -- [2] }, ["140338"] = { "군집 경비병 진칼로", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["132745"] = { "서리미늘 방랑자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139748"] = { "난파당한 밀수업자", -- [1] "", -- [2] }, ["26722"] = { "하늘빛 학자", -- [1] "마력의 탑", -- [2] }, ["28835"] = { "폭풍벼림 피조물", -- [1] "번개의 전당", -- [2] }, ["135819"] = { "살아있는 회오리바람", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["72954"] = { "코르티크 근위병", -- [1] "오그리마 공성전", -- [2] }, ["136643"] = { "아제라이트 추출기", -- [1] "왕노다지 광산!!", -- [2] }, ["138100"] = { "스트롬가드 보병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140262"] = { "룬발굽 암사슴", -- [1] "", -- [2] }, ["131261"] = { "두르키스", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["134802"] = { "칼날등껍질 거북", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["120182"] = { "고통받는 여사제", -- [1] "살게라스의 무덤", -- [2] }, ["146367"] = { "차르골름", -- [1] "다자알로 전투", -- [2] }, ["136043"] = { "염수정령", -- [1] "", -- [2] }, ["16507"] = { "으스러진 손 보초병", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["95268"] = { "순록", -- [1] "다자알로 전투", -- [2] }, ["134338"] = { "파도현자 집행자", -- [1] "폭풍의 사원", -- [2] }, ["26536"] = { "넋 나간 하인", -- [1] "우트가드 첨탑", -- [2] }, ["149335"] = { "격동의 아제라이트", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["45268"] = { "시아마트의 하수인", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["135722"] = { "황혼 배회자", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["139412"] = { "가샤스즈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138493"] = { "줄의 수하", -- [1] "왕들의 안식처", -- [2] }, ["133379"] = { "애더리스", -- [1] "세스랄리스 사원", -- [2] }, ["141354"] = { "스톰송 징집병", -- [1] "폭풍의 사원", -- [2] }, ["155873"] = { "암흑술사 파멸자", -- [1] "영원한 궁전", -- [2] }, ["139020"] = { "난폭한 으르렁심연", -- [1] "", -- [2] }, ["151917"] = { "타르알 본스피터", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["122984"] = { "다자르아이 거수", -- [1] "아탈다자르", -- [2] }, ["144829"] = { "천둥꺼비", -- [1] "", -- [2] }, ["139811"] = { "투자회사 부선임", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["139207"] = { "고대 나무정령", -- [1] "", -- [2] }, ["26929"] = { "무엇인가", -- [1] "마력의 탑", -- [2] }, ["143011"] = { "모래투성이 감시대", -- [1] "사라스 섬", -- [2] }, ["54690"] = { "뒤틀린 시간의 사제", -- [1] "시간의 끝", -- [2] }, ["132005"] = { "그레이슨 벨", -- [1] "격전지 아라시 - 호드", -- [2] }, ["132743"] = { "화염비늘 파도돌격병", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["146251"] = { "수녀 캐서린", -- [1] "다자알로 전투", -- [2] }, ["135971"] = { "부정한 징집병", -- [1] "세스랄리스 사원", -- [2] }, ["140250"] = { "솔먹이 사슴", -- [1] "사라스 섬", -- [2] }, ["71482"] = { "구체화된 서러움", -- [1] "오그리마 공성전", -- [2] }, ["130011"] = { "무쇠파도 해적단원", -- [1] "자유지대", -- [2] }, ["111295"] = { "길들인 마나호랑이", -- [1] "밤의 요새", -- [2] }, ["136047"] = { "얼음심장", -- [1] "사라스 섬", -- [2] }, ["101398"] = { "영혼의 마귀", -- [1] "은빛수정 광산", -- [2] }, ["137061"] = { "바람조련사 술루즈", -- [1] "", -- [2] }, ["136203"] = { "다나스 트롤베인", -- [1] "격전지 아라시 - 호드", -- [2] }, ["114328"] = { "코글스톤", -- [1] "다시 찾은 카라잔", -- [2] }, ["137838"] = { "격분한 올빼미야수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["134828"] = { "아쿠아링", -- [1] "폭풍의 사원", -- [2] }, ["33846"] = { "암흑룬 파수병", -- [1] "울두아르", -- [2] }, ["146870"] = { "역술사 오나재", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["73349"] = { "고통받는 수련생", -- [1] "오그리마 공성전", -- [2] }, ["20882"] = { "어둠의 마녀", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["139691"] = { "바닷물비늘 돌풍술사", -- [1] "사라스 섬", -- [2] }, ["114312"] = { "모로스", -- [1] "다시 찾은 카라잔", -- [2] }, ["140060"] = { "회색털 곰", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["416"] = { "파그파드", -- [1] "살게라스의 무덤", -- [2] }, ["140679"] = { "서리수염 웬디고", -- [1] "", -- [2] }, ["137820"] = { "떠도는 바위 정령", -- [1] "격전지 아라시 - 호드", -- [2] }, ["26792"] = { "수정 수호정령", -- [1] "마력의 탑", -- [2] }, ["134616"] = { "어린 크롤러스크", -- [1] "세스랄리스 사원", -- [2] }, ["122407"] = { "차원의 추적자", -- [1] "삼두정의 권좌", -- [2] }, ["121003"] = { "무덤감시자 레즈", -- [1] "살게라스의 무덤", -- [2] }, ["40446"] = { "소환사 스카디스", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["140072"] = { "약탈자 공포걸음", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["141282"] = { "쿨 티란 보병", -- [1] "보랄러스 공성전", -- [2] }, ["56867"] = { "불타는 요술쟁이", -- [1] "스톰스타우트 양조장", -- [2] }, ["139769"] = { "이등항해사 바나비", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["61146"] = { "흑우 조각상", -- [1] "영원한 궁전", -- [2] }, ["136846"] = { "모래두피 흡혈전사", -- [1] "사라스 섬", -- [2] }, ["149098"] = { "마이에브 섀도송", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["39870"] = { "황혼의 화염잡이", -- [1] "그림 바톨", -- [2] }, ["32885"] = { "사로잡힌 용병 병사", -- [1] "울두아르", -- [2] }, ["135647"] = { "이투아키", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["145067"] = { "새끼 그늘깃털", -- [1] "", -- [2] }, ["148120"] = { "쿨 티란 해병", -- [1] "다자알로 전투", -- [2] }, ["152033"] = { "눈에 띄지 않는 식물", -- [1] "작전명: 메카곤", -- [2] }, ["111225"] = { "혼란술사 벨레론", -- [1] "밤의 요새", -- [2] }, ["140091"] = { "눈송이발굽", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["40291"] = { "하늘살이 예언자", -- [1] "그림 바톨", -- [2] }, ["57749"] = { "얼굴 없는 타락자", -- [1] "용의 영혼", -- [2] }, ["42691"] = { "바위심장부 균열술사", -- [1] "바위심장부", -- [2] }, ["140663"] = { "산의 제왕 그럼", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["140970"] = { "바위파열자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["114803"] = { "유령 마구간지기", -- [1] "다시 찾은 카라잔", -- [2] }, ["140980"] = { "비취비늘 벌레", -- [1] "", -- [2] }, ["151630"] = { "공허 수액", -- [1] "폭풍의 용광로", -- [2] }, ["135770"] = { "정예 하사관 슬레이드", -- [1] "격전지 아라시 - 호드", -- [2] }, ["56863"] = { "잠꾸러기 호젠 싸움꾼", -- [1] "스톰스타우트 양조장", -- [2] }, ["130435"] = { "띨띨한 불량배", -- [1] "왕노다지 광산!!", -- [2] }, ["29931"] = { "드라카리 코뿔소", -- [1] "군드락", -- [2] }, ["144757"] = { "에드가드 셰이드클로", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["129373"] = { "부두사냥개 무리주인", -- [1] "보랄러스 공성전", -- [2] }, ["18431"] = { "에테리얼 봉화", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["134798"] = { "심연 엉금게", -- [1] "사라스 섬", -- [2] }, ["40167"] = { "황혼의 현혹술사", -- [1] "그림 바톨", -- [2] }, ["139418"] = { "부패한 자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139051"] = { "나즈마니 분쇄자", -- [1] "울디르", -- [2] }, ["138085"] = { "아이언포지 사제", -- [1] "격전지 아라시 - 호드", -- [2] }, ["29774"] = { "독액 코브라", -- [1] "군드락", -- [2] }, ["128649"] = { "하사관 베인브릿지", -- [1] "보랄러스 공성전", -- [2] }, ["151098"] = { "암흑의 촉수", -- [1] "폭풍의 용광로", -- [2] }, ["78116"] = { "물의 정령", -- [1] "살게라스의 무덤", -- [2] }, ["130437"] = { "광산 쥐", -- [1] "왕노다지 광산!!", -- [2] }, ["139219"] = { "나시라 모닝프로스트", -- [1] "", -- [2] }, ["81197"] = { "강철 약탈자", -- [1] "검은바위 용광로", -- [2] }, ["55863"] = { "그늘진 핏방울", -- [1] "용의 영혼", -- [2] }, ["28965"] = { "티타늄 천둥병", -- [1] "번개의 전당", -- [2] }, ["144680"] = { "프리다 아이언벨로우즈", -- [1] "다자알로 전투", -- [2] }, ["141495"] = { "쿨 티란 보병", -- [1] "보랄러스 공성전", -- [2] }, ["20885"] = { "파멸의 예언자 달리아", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["131858"] = { "가시방어병", -- [1] "웨이크레스트 저택", -- [2] }, ["126832"] = { "하늘선장 크라그", -- [1] "자유지대", -- [2] }, ["83620"] = { "피망치 대지파괴자", -- [1] "피망치 잿가루 광산", -- [2] }, ["136076"] = { "흥분한 빛구름", -- [1] "세스랄리스 사원", -- [2] }, ["140559"] = { "화산개", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["135960"] = { "군주 자그러크", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["73775"] = { "대장군 크래그", -- [1] "오그리마 공성전", -- [2] }, ["133463"] = { "투자개발회사 전쟁 기계", -- [1] "왕노다지 광산!!", -- [2] }, ["133007"] = { "풀려난 흉물", -- [1] "썩은굴", -- [2] }, ["132855"] = { "강철그물 땅거미", -- [1] "", -- [2] }, ["141284"] = { "쿨 티란 파도지기", -- [1] "보랄러스 공성전", -- [2] }, ["141285"] = { "쿨 티란 명사수", -- [1] "보랄러스 공성전", -- [2] }, ["146894"] = { "썩은살점 밀사", -- [1] "사라스 섬", -- [2] }, ["155162"] = { "로르테마르 테론", -- [1] "영원한 궁전", -- [2] }, ["149556"] = { "영원의 집행자", -- [1] "다자알로 전투", -- [2] }, ["39954"] = { "황혼의 흑마술사", -- [1] "그림 바톨", -- [2] }, ["136856"] = { "잿불뿔", -- [1] "", -- [2] }, ["73012"] = { "클락시 척후병", -- [1] "오그리마 공성전", -- [2] }, ["146756"] = { "강화된 폭풍", -- [1] "다자알로 전투", -- [2] }, ["49999"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140828"] = { "아침이슬", -- [1] "사라스 섬", -- [2] }, ["36494"] = { "제련장인 가프로스트", -- [1] "사론의 구덩이", -- [2] }, ["52019"] = { "하늘붕괴 별", -- [1] "소용돌이 누각", -- [2] }, ["135931"] = { "잿빛돌", -- [1] "사라스 섬", -- [2] }, ["151041"] = { "종속된 이트루비스", -- [1] "폭풍의 용광로", -- [2] }, ["135839"] = { "늪가스", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["78233"] = { "어둠파편 수정등딱지", -- [1] "검은바위 용광로", -- [2] }, ["146485"] = { "네바라 나이트셰이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["137097"] = { "밸러콜 주문술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["126928"] = { "무쇠파도 해적", -- [1] "자유지대", -- [2] }, ["20873"] = { "음전자 초공간 지배자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["136735"] = { "애쉬베인 해병", -- [1] "톨 다고르", -- [2] }, ["130404"] = { "야생 덫사냥꾼", -- [1] "자유지대", -- [2] }, ["21137"] = { "무엇인가", -- [1] "어둠의 문 열기", -- [2] }, ["140435"] = { "희끗털", -- [1] "", -- [2] }, ["134903"] = { "흡혈 공포 거미", -- [1] "", -- [2] }, ["140563"] = { "유황 추적자", -- [1] "", -- [2] }, ["155158"] = { "첫 번째 비전술사 탈리스라", -- [1] "영원한 궁전", -- [2] }, ["20909"] = { "설퍼론 용암투척병", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["73197"] = { "하급 샤 웅덩이", -- [1] "오그리마 공성전", -- [2] }, ["69792"] = { "겨털정리", -- [1] "다자알로 전투", -- [2] }, ["9545"] = { "험상궂은 손님", -- [1] "검은바위 나락", -- [2] }, ["155645"] = { "워키 충격기 X2", -- [1] "작전명: 메카곤", -- [2] }, ["138823"] = { "핏빛각성 길잡이", -- [1] "조룬달 (섬 7)", -- [2] }, ["45620"] = { "나즈자르 병사", -- [1] "파도의 왕좌", -- [2] }, ["140981"] = { "이빨 가는 공포", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["40484"] = { "에루닥스", -- [1] "그림 바톨", -- [2] }, ["128967"] = { "애쉬베인 저격수", -- [1] "보랄러스 공성전", -- [2] }, ["123502"] = { "데빌사우루스", -- [1] "영원한 궁전", -- [2] }, ["134389"] = { "맹독 뱀", -- [1] "세스랄리스 사원", -- [2] }, ["40579"] = { "심해 멀록 사냥꾼", -- [1] "파도의 왕좌", -- [2] }, ["140683"] = { "부수는 자 어둠털", -- [1] "", -- [2] }, ["136855"] = { "녹아내린 보르도", -- [1] "", -- [2] }, ["151881"] = { "심연 사령관 사이바라", -- [1] "영원한 궁전", -- [2] }, ["45935"] = { "사원 숙련사제", -- [1] "소용돌이 누각", -- [2] }, ["151689"] = { "도약꾼 할퀴발톱", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["140359"] = { "천둥매 포식자", -- [1] "", -- [2] }, ["136805"] = { "바위댕강", -- [1] "", -- [2] }, ["26555"] = { "스컬지 괴물", -- [1] "우트가드 첨탑", -- [2] }, ["132923"] = { "시린빛 멀록", -- [1] "사라스 섬", -- [2] }, ["142801"] = { "나즈마니 혈매듭꾼", -- [1] "울디르", -- [2] }, ["146766"] = { "상급 독사 토템", -- [1] "다자알로 전투", -- [2] }, ["17962"] = { "갈퀴송곳니 공모자", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["140341"] = { "구름박박이", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135719"] = { "그늘길잡이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["118518"] = { "여사제 루나스파이어", -- [1] "살게라스의 무덤", -- [2] }, ["57807"] = { "황혼의 서리 기원사", -- [1] "용의 영혼", -- [2] }, ["157365"] = { "파지직거리는 추적자", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["137949"] = { "무엇인가", -- [1] "", -- [2] }, ["139536"] = { "자라티크 일꾼", -- [1] "", -- [2] }, ["72427"] = { "오그리마 일꾼", -- [1] "오그리마 공성전", -- [2] }, ["149516"] = { "깜장발", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["146813"] = { "회색빛의 군터", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["132892"] = { "방정나뭇잎", -- [1] "", -- [2] }, ["155273"] = { "제압자 가르발", -- [1] "영원한 궁전", -- [2] }, ["28231"] = { "수정 뜰지기", -- [1] "마력의 탑", -- [2] }, ["98770"] = { "격노수호병 지옥검사", -- [1] "비전로", -- [2] }, ["138981"] = { "흙지느러미 점쟁이", -- [1] "사라스 섬", -- [2] }, ["151029"] = { "가시예언자 타베리", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["71772"] = { "코르크론 암살자", -- [1] "오그리마 공성전", -- [2] }, ["120777"] = { "수호의 감시자", -- [1] "살게라스의 무덤", -- [2] }, ["151149"] = { "하티", -- [1] "다자알로 전투", -- [2] }, ["145185"] = { "무자. B. 노움전차", -- [1] "작전명: 메카곤", -- [2] }, ["57231"] = { "황혼의 차원문", -- [1] "용의 영혼", -- [2] }, ["40923"] = { "불안정한 타락정령", -- [1] "파도의 왕좌", -- [2] }, ["136860"] = { "추적자 부카", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["138105"] = { "스트롬가드의 정예병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["146238"] = { "검은쐐기", -- [1] "", -- [2] }, ["137627"] = { "조이는 공포", -- [1] "보랄러스 공성전", -- [2] }, ["129124"] = { "아롱이", -- [1] "폭풍의 용광로", -- [2] }, ["135329"] = { "대모 브린들", -- [1] "웨이크레스트 저택", -- [2] }, ["139475"] = { "비취형성 뼈다귀싸움꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["73452"] = { "이샤라즈의 선구자", -- [1] "오그리마 공성전", -- [2] }, ["18309"] = { "에테리얼 도굴꾼", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["71770"] = { "코르크론 무쇠칼날", -- [1] "오그리마 공성전", -- [2] }, ["127497"] = { "애쉬베인 감독관", -- [1] "톨 다고르", -- [2] }, ["76266"] = { "대현자 비릭스", -- [1] "하늘탑", -- [2] }, ["95072"] = { "상급 대지의 정령", -- [1] "폭풍의 용광로", -- [2] }, ["39962"] = { "황혼의 폭풍파괴자", -- [1] "그림 바톨", -- [2] }, ["55659"] = { "날뛰는 임프", -- [1] "울디르", -- [2] }, ["147614"] = { "검은무쇠 원시술사", -- [1] "다자알로 전투", -- [2] }, ["138563"] = { "부닥스", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["146140"] = { "가시도저", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["144249"] = { "오메가 섬멸로봇", -- [1] "작전명: 메카곤", -- [2] }, ["131527"] = { "군주 웨이크레스트", -- [1] "웨이크레스트 저택", -- [2] }, ["34135"] = { "겨울 우레정령", -- [1] "울두아르", -- [2] }, ["138429"] = { "원한지느러미 해일결속꾼", -- [1] "사라스 섬", -- [2] }, ["134429"] = { "마름모뱀 전쟁인도자", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["33772"] = { "얼굴 없는 공포", -- [1] "울두아르", -- [2] }, ["146855"] = { "아키나", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["129826"] = { "바닷물비늘 절단발톱", -- [1] "사라스 섬", -- [2] }, ["36841"] = { "죽은 전사", -- [1] "사론의 구덩이", -- [2] }, ["72770"] = { "코르크론 암흑선견자", -- [1] "오그리마 공성전", -- [2] }, ["77182"] = { "광물먹보", -- [1] "검은바위 용광로", -- [2] }, ["138485"] = { "실험가 누조리악", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["120191"] = { "영원의 영혼경비병", -- [1] "살게라스의 무덤", -- [2] }, ["158327"] = { "찌릿찌릿한 조각", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["75198"] = { "피망치 흙점쟁이", -- [1] "피망치 잿가루 광산", -- [2] }, ["132532"] = { "쿨 티란 명사수", -- [1] "보랄러스 공성전", -- [2] }, ["129471"] = { "심해 모래게", -- [1] "사라스 섬", -- [2] }, ["132126"] = { "호화로운 여사제", -- [1] "아탈다자르", -- [2] }, ["126353"] = { "박쥐", -- [1] "폭풍의 용광로", -- [2] }, ["17879"] = { "시간의 군주 데자", -- [1] "어둠의 문 열기", -- [2] }, ["140092"] = { "긴걸음사슴", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["147440"] = { "타오르는 화염수호정령", -- [1] "다자알로 전투", -- [2] }, ["130655"] = { "바비 하울리스", -- [1] "톨 다고르", -- [2] }, ["81117"] = { "잔인한 카르놀", -- [1] "검은바위 용광로", -- [2] }, ["74579"] = { "녹아내린 정령", -- [1] "피망치 잿가루 광산", -- [2] }, ["76309"] = { "대형 수호 피조물", -- [1] "하늘탑", -- [2] }, ["145033"] = { "북극 사냥여우", -- [1] "", -- [2] }, ["139389"] = { "강철비늘 볼샤시스", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["34192"] = { "폭약로봇 XP-500", -- [1] "울두아르", -- [2] }, ["139347"] = { "광전사 골라", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["139471"] = { "육체파괴자 부간", -- [1] "조룬달 (섬 7)", -- [2] }, ["129830"] = { "거수 딸각발톱", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["121567"] = { "구구", -- [1] "정복의 섬", -- [2] }, ["150292"] = { "메카곤 기병", -- [1] "작전명: 메카곤", -- [2] }, ["146678"] = { "고대 수호정령", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["138513"] = { "바이란티온", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["132913"] = { "군도 거인", -- [1] "", -- [2] }, ["33134"] = { "사라", -- [1] "울두아르", -- [2] }, ["132746"] = { "서리미늘 무리어미", -- [1] "", -- [2] }, ["28297"] = { "살쾡이", -- [1] "폭풍의 용광로", -- [2] }, ["114264"] = { "천둥이", -- [1] "다시 찾은 카라잔", -- [2] }, ["29309"] = { "장로 나독스", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["135763"] = { "공허괴물", -- [1] "", -- [2] }, ["139008"] = { "원시 곰", -- [1] "", -- [2] }, ["139003"] = { "바람의 땅 전사", -- [1] "", -- [2] }, ["147376"] = { "보호막", -- [1] "다자알로 전투", -- [2] }, ["135818"] = { "돌풍 병사", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["138646"] = { "무엇인가", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136044"] = { "맹독팽창", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["140094"] = { "진흙주둥이 가시등", -- [1] "", -- [2] }, ["21127"] = { "갈퀴송곳니 폭풍우전사", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["125205"] = { "해안 턱파괴자", -- [1] "웨이크레스트 저택", -- [2] }, ["134214"] = { "균열칼날 켈레인", -- [1] "", -- [2] }, ["127049"] = { "마른수염 측량사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["134478"] = { "킴불", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["152135"] = { "공허에 물든 주문술사", -- [1] "동부 왕국 - 주홍빛 보루 - 아제로스의 심장 시나리오", -- [2] }, ["129550"] = { "항만의 시궁쥐단 평발여우", -- [1] "자유지대", -- [2] }, ["139889"] = { "보러스아라크", -- [1] "", -- [2] }, ["138063"] = { "호화로운 행락객", -- [1] "왕노다지 광산!!", -- [2] }, ["119000"] = { "공포수염", -- [1] "", -- [2] }, ["87411"] = { "작업장 수호병", -- [1] "검은바위 용광로", -- [2] }, ["18430"] = { "에테리얼 수습생", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["140542"] = { "화염그물 거미", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["71923"] = { "핏빛발톱", -- [1] "오그리마 공성전", -- [2] }, ["39956"] = { "황혼의 집행자", -- [1] "그림 바톨", -- [2] }, ["125981"] = { "조각난 공허괴물", -- [1] "삼두정의 권좌", -- [2] }, ["139474"] = { "대지소환사 코르신", -- [1] "", -- [2] }, ["135930"] = { "라바로크", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["144231"] = { "난폭한 구경꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["129529"] = { "검은이빨 싸움꾼", -- [1] "자유지대", -- [2] }, ["36879"] = { "역병살이 괴물", -- [1] "사론의 구덩이", -- [2] }, ["153031"] = { "정예 전투마법사", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["151581"] = { "공포의 환영", -- [1] "영원한 궁전", -- [2] }, ["138098"] = { "아이언포지의 정예병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["40269"] = { "사로잡힌 천둥 정령", -- [1] "그림 바톨", -- [2] }, ["131486"] = { "대총독 투랄리온", -- [1] "격전지 아라시 - 호드", -- [2] }, ["134950"] = { "공포의 송곳니", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["26696"] = { "이미야르 광전사", -- [1] "우트가드 첨탑", -- [2] }, ["129827"] = { "바닷물비늘 분쇄자", -- [1] "사라스 섬", -- [2] }, ["153196"] = { "고철뼈 게걸쟁이", -- [1] "작전명: 메카곤", -- [2] }, ["58964"] = { "케르에스", -- [1] "폭풍의 용광로", -- [2] }, ["87761"] = { "던전 사용자의 허수아비", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["30277"] = { "안카하르 갈퀴거미", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["140794"] = { "흉터갈퀴", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135834"] = { "썩은구름", -- [1] "", -- [2] }, ["139673"] = { "이빨많록", -- [1] "사라스 섬", -- [2] }, ["139869"] = { "보루카르 그물거미", -- [1] "", -- [2] }, ["129640"] = { "으르렁거리는 부두사냥개", -- [1] "보랄러스 공성전", -- [2] }, ["140619"] = { "해안 심연턱", -- [1] "사라스 섬", -- [2] }, ["135643"] = { "렌키리", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["140292"] = { "우두머리 눈송이털", -- [1] "", -- [2] }, ["97285"] = { "바람 질주 토템", -- [1] "폭풍의 용광로", -- [2] }, ["103217"] = { "수정 전갈", -- [1] "밤의 요새", -- [2] }, ["135050"] = { "공포의 선장 밴드그림", -- [1] "자유지대", -- [2] }, ["151898"] = { "군내털 새끼", -- [1] "Skittering Hollow (Islands 5)", -- [2] }, ["144833"] = { "찰싹혀", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["34134"] = { "겨울 망령", -- [1] "울두아르", -- [2] }, ["152159"] = { "조아트로이드", -- [1] "영원한 궁전", -- [2] }, ["153060"] = { "시라누스", -- [1] "영원한 궁전", -- [2] }, ["76884"] = { "잔혹송곳니", -- [1] "검은바위 용광로", -- [2] }, ["134058"] = { "강풍술사 파예", -- [1] "폭풍의 사원", -- [2] }, ["136181"] = { "화산", -- [1] "사라스 섬", -- [2] }, ["135562"] = { "맹독 뱀", -- [1] "세스랄리스 사원", -- [2] }, ["152833"] = { "아제라이트 거인", -- [1] "소용돌이 - 아제로스의 심장", -- [2] }, ["26734"] = { "하늘빛 집행자", -- [1] "마력의 탑", -- [2] }, ["139360"] = { "되살아난 얼음엄니 투사", -- [1] "", -- [2] }, ["114316"] = { "남작부인 도로시아 밀스타이프", -- [1] "다시 찾은 카라잔", -- [2] }, ["140168"] = { "늙은 가슴쾅", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["152539"] = { "어둠 순찰자 샌델", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["136499"] = { "나즈마니 승천자", -- [1] "울디르", -- [2] }, ["138842"] = { "공명생성자 타킬", -- [1] "사라스 섬", -- [2] }, ["137786"] = { "아라소르 석궁병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["136160"] = { "왕 다자르", -- [1] "왕들의 안식처", -- [2] }, ["47720"] = { "낙타", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["150195"] = { "노움 먹는 수액괴물", -- [1] "작전명: 메카곤", -- [2] }, ["17695"] = { "으스러진 손 암살자", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["29830"] = { "살아있는 모조", -- [1] "군드락", -- [2] }, ["32517"] = { "로크나하크", -- [1] "울디르", -- [2] }, ["88818"] = { "보안 경비병", -- [1] "검은바위 용광로", -- [2] }, ["126181"] = { "어둠의 라무트", -- [1] "", -- [2] }, ["140443"] = { "사향몸통 돌진자", -- [1] "", -- [2] }, ["73415"] = { "이샤라즈의 수액", -- [1] "오그리마 공성전", -- [2] }, ["112678"] = { "샬도레이 박물학자", -- [1] "밤의 요새", -- [2] }, ["140431"] = { "산악발굽 염소", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["135963"] = { "대지의 정령", -- [1] "사라스 섬", -- [2] }, ["16807"] = { "대흑마법사 네더쿠르스", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["139352"] = { "죽음소환사 마줄리", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["77687"] = { "그롬카르 무장병", -- [1] "검은바위 용광로", -- [2] }, ["146244"] = { "찌르는 마귀", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["145064"] = { "화염 갈기", -- [1] "", -- [2] }, ["139431"] = { "무덤 수호자", -- [1] "사라스 섬", -- [2] }, ["140264"] = { "새끼 룬발굽", -- [1] "", -- [2] }, ["150276"] = { "중형 고철로봇", -- [1] "작전명: 메카곤", -- [2] }, ["139393"] = { "진창매복 손아귀병", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["137405"] = { "옭아매는 공포", -- [1] "보랄러스 공성전", -- [2] }, ["59764"] = { "치유의 해일 토템", -- [1] "폭풍의 용광로", -- [2] }, ["139110"] = { "불꽃 역술사", -- [1] "세스랄리스 사원", -- [2] }, ["136865"] = { "모래약탈자 우잔", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["29680"] = { "슬라드란 독사", -- [1] "군드락", -- [2] }, ["26930"] = { "무엇인가", -- [1] "마력의 탑", -- [2] }, ["144951"] = { "창백털 포식자", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["133436"] = { "투자개발회사 하늘방화꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["72191"] = { "대군주 룬탁", -- [1] "오그리마 공성전", -- [2] }, ["19306"] = { "마나 거머리", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["150547"] = { "고철뼈 게걸쟁이", -- [1] "작전명: 메카곤", -- [2] }, ["139014"] = { "야생의 달수색자", -- [1] "", -- [2] }, ["40935"] = { "아가미고블린 사냥꾼", -- [1] "파도의 왕좌", -- [2] }, ["134150"] = { "룬조각사 소른", -- [1] "폭풍의 사원", -- [2] }, ["135043"] = { "흉포한 톱니이빨", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["148262"] = { "밀물 정령", -- [1] "다자알로 전투", -- [2] }, ["139348"] = { "무엇인가", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["130638"] = { "무쇠턱악어", -- [1] "사라스 섬", -- [2] }, ["136254"] = { "스트롬가드 기사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["84978"] = { "피망치 집행자", -- [1] "피망치 잿가루 광산", -- [2] }, ["135894"] = { "불의 정령", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["136010"] = { "바위얼굴 대지파괴자", -- [1] "사라스 섬", -- [2] }, ["141058"] = { "파도 군주 스주니스", -- [1] "사라스 섬", -- [2] }, ["124316"] = { "돼지", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140760"] = { "대지생명 거인", -- [1] "", -- [2] }, ["59479"] = { "담기지 않는 옌주", -- [1] "스톰스타우트 양조장", -- [2] }, ["108934"] = { "오염된 피", -- [1] "밤의 요새", -- [2] }, ["45930"] = { "바람의 대신", -- [1] "소용돌이 누각", -- [2] }, ["131728"] = { "집요한 라울", -- [1] "사라스 섬", -- [2] }, ["122412"] = { "구속된 공허군주", -- [1] "삼두정의 권좌", -- [2] }, ["78933"] = { "해돋이의 전령", -- [1] "하늘탑", -- [2] }, ["54687"] = { "뒤틀린 시간의 보병", -- [1] "시간의 끝", -- [2] }, ["134627"] = { "혈트롤 전쟁어미", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["134388"] = { "뱀들의 똬리", -- [1] "세스랄리스 사원", -- [2] }, ["87515"] = { "강철 화염전사", -- [1] "검은바위 용광로", -- [2] }, ["136866"] = { "우움굿 부족민", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["136083"] = { "잊혀진 토착영혼", -- [1] "폭풍의 사원", -- [2] }, ["43214"] = { "돌거죽", -- [1] "바위심장부", -- [2] }, ["140839"] = { "물의 영혼", -- [1] "조룬달 (섬 7)", -- [2] }, ["126848"] = { "선장 유도라", -- [1] "자유지대", -- [2] }, ["138187"] = { "괴기한 공포", -- [1] "썩은굴", -- [2] }, ["154612"] = { "방출된 악몽", -- [1] "영원한 궁전", -- [2] }, ["151649"] = { "방어 로봇 마크 I", -- [1] "작전명: 메카곤", -- [2] }, ["140670"] = { "덩치 큰 바위갈기", -- [1] "조룬달 (섬 7)", -- [2] }, ["72198"] = { "강화된 황폐한 무기", -- [1] "오그리마 공성전", -- [2] }, ["79093"] = { "하늘탑 태양갈퀴", -- [1] "하늘탑", -- [2] }, ["146845"] = { "톱니의 자레드", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["135322"] = { "황금 날뱀", -- [1] "왕들의 안식처", -- [2] }, ["21901"] = { "블러드는술사님이", -- [1] "폭풍의 용광로", -- [2] }, ["135246"] = { "\"사나운\" 로티", -- [1] "사라스 섬", -- [2] }, ["116562"] = { "불꽃꼬리 백인대장", -- [1] "다시 찾은 카라잔", -- [2] }, ["111210"] = { "불타는 지옥불정령", -- [1] "밤의 요새", -- [2] }, ["113321"] = { "휘청이는 굶주린 자", -- [1] "밤의 요새", -- [2] }, ["33720"] = { "흑요석 용 배우자", -- [1] "울두아르", -- [2] }, ["138626"] = { "아마셋 광신도", -- [1] "조룬달 (섬 7)", -- [2] }, ["138982"] = { "흙지느러미 멀록", -- [1] "사라스 섬", -- [2] }, ["142419"] = { "우레의 거수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139416"] = { "볼샤스", -- [1] "조룬달 (섬 7)", -- [2] }, ["137449"] = { "무엇인가", -- [1] "", -- [2] }, ["56162"] = { "타락체", -- [1] "용의 영혼", -- [2] }, ["20901"] = { "살게론 궁수", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["151133"] = { "하티", -- [1] "폭풍의 용광로", -- [2] }, ["140845"] = { "장난꾸러기 돌풍", -- [1] "조룬달 (섬 7)", -- [2] }, ["136845"] = { "모래두피 도끼 투척병", -- [1] "사라스 섬", -- [2] }, ["32908"] = { "사로잡힌 용병 대장", -- [1] "울두아르", -- [2] }, ["71155"] = { "시초자 코르벤", -- [1] "오그리마 공성전", -- [2] }, ["130012"] = { "무쇠파도 약탈자", -- [1] "자유지대", -- [2] }, ["122423"] = { "대흑마술사", -- [1] "삼두정의 권좌", -- [2] }, ["131825"] = { "자매 브라이어", -- [1] "웨이크레스트 저택", -- [2] }, ["72986"] = { "샤나 스파크피즈", -- [1] "오그리마 공성전", -- [2] }, ["140097"] = { "거대 먼지배", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["140849"] = { "역병의 돌 족속", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138845"] = { "사령관 조바크", -- [1] "", -- [2] }, ["133870"] = { "감염된 덩굴손", -- [1] "썩은굴", -- [2] }, ["141749"] = { "살아있는 감염", -- [1] "울디르", -- [2] }, ["155859"] = { "비즈자라", -- [1] "영원한 궁전", -- [2] }, ["136510"] = { "얼굴 없는 포식자", -- [1] "울디르", -- [2] }, ["146848"] = { "으스스한 융합체", -- [1] "", -- [2] }, ["149352"] = { "영롱한 아제라이트보석 수정등", -- [1] "", -- [2] }, ["129469"] = { "심해 엉금게", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138967"] = { "줄", -- [1] "울디르", -- [2] }, ["28578"] = { "강화된 강철 파괴자", -- [1] "번개의 전당", -- [2] }, ["78978"] = { "어둠파편 갈갈이", -- [1] "검은바위 용광로", -- [2] }, ["129526"] = { "항만의 시궁쥐단 선원", -- [1] "자유지대", -- [2] }, ["146650"] = { "최정예 파수꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["56923"] = { "황혼의 폭파병", -- [1] "용의 영혼", -- [2] }, ["147745"] = { "불굴호", -- [1] "다자알로 전투", -- [2] }, ["30285"] = { "탈다람의 눈", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["135052"] = { "역병 두꺼비", -- [1] "웨이크레스트 저택", -- [2] }, ["77942"] = { "원시 폭풍의 정령", -- [1] "웨이크레스트 저택", -- [2] }, ["146247"] = { "백색죽음", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["139381"] = { "느라키 파괴자", -- [1] "울디르", -- [2] }, ["103758"] = { "별 점술가 에트레우스", -- [1] "밤의 요새", -- [2] }, ["138369"] = { "축구탄 난동꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["140271"] = { "절단뿔", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["30283"] = { "떠돌아다니는 역병괴물", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["139469"] = { "천둥의 주산", -- [1] "조룬달 (섬 7)", -- [2] }, ["139457"] = { "바위속박 기렌", -- [1] "조룬달 (섬 7)", -- [2] }, ["151658"] = { "타조 통통 로봇", -- [1] "작전명: 메카곤", -- [2] }, ["21128"] = { "갈퀴송곳니 가오리", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["34133"] = { "호디르의 용사", -- [1] "울두아르", -- [2] }, ["139269"] = { "어두운 공포", -- [1] "웨이크레스트 저택", -- [2] }, ["134432"] = { "혈사술사", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["28586"] = { "장군 비야른그림", -- [1] "번개의 전당", -- [2] }, ["127479"] = { "모래 여왕", -- [1] "톨 다고르", -- [2] }, ["135649"] = { "질풍발톱", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["148667"] = { "라스타리 응징자", -- [1] "다자알로 전투", -- [2] }, ["28695"] = { "용암 골렘", -- [1] "번개의 전당", -- [2] }, ["139342"] = { "얼음엄니 전사", -- [1] "", -- [2] }, ["20866"] = { "영혼 포식자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["139799"] = { "아이언헐 수습생", -- [1] "폭풍의 사원", -- [2] }, ["17816"] = { "수렁마크루라", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["88288"] = { "던전 사용자의 허수아비", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["132877"] = { "축축비늘", -- [1] "사라스 섬", -- [2] }, ["75451"] = { "더럽혀진 영혼", -- [1] "어둠달 지하묘지", -- [2] }, ["144796"] = { "땜장이왕 멕카토크", -- [1] "다자알로 전투", -- [2] }, ["160249"] = { "쐐기의 촉수", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["139386"] = { "뱀혓바닥", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["131864"] = { "고라크 툴", -- [1] "웨이크레스트 저택", -- [2] }, ["131670"] = { "심장파멸 덩굴왜곡사", -- [1] "웨이크레스트 저택", -- [2] }, ["148443"] = { "방어봇", -- [1] "다자알로 전투", -- [2] }, ["144830"] = { "포식자 야자", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["153755"] = { "네노 메가크래쉬", -- [1] "작전명: 메카곤", -- [2] }, ["142800"] = { "나즈마니 혈관분리자", -- [1] "울디르", -- [2] }, ["36788"] = { "죽음속삭임 강령사", -- [1] "사론의 구덩이", -- [2] }, ["139868"] = { "보루카르 네루비안", -- [1] "", -- [2] }, ["56731"] = { "매운고추 맥주", -- [1] "스톰스타우트 양조장", -- [2] }, ["26731"] = { "대학자 텔레스트라", -- [1] "마력의 탑", -- [2] }, ["114330"] = { "배블릿", -- [1] "다시 찾은 카라잔", -- [2] }, ["39625"] = { "장군 움브리스", -- [1] "그림 바톨", -- [2] }, ["145298"] = { "굶주린 야생의 존재", -- [1] "사라스 섬", -- [2] }, ["17941"] = { "배반자 멘누", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["26735"] = { "하늘빛 비늘결속사", -- [1] "마력의 탑", -- [2] }, ["127490"] = { "기사대장 발리리", -- [1] "톨 다고르", -- [2] }, ["94185"] = { "선봉장 아켈리온", -- [1] "지옥불 성채", -- [2] }, ["140070"] = { "추적자 핏내음", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138443"] = { "비늘경비병 불레스", -- [1] "사라스 섬", -- [2] }, ["135130"] = { "공성 탑", -- [1] "격전지 아라시 - 호드", -- [2] }, ["71388"] = { "호박석에 갇힌 쿤총", -- [1] "오그리마 공성전", -- [2] }, ["80526"] = { "완강한 강철발굽", -- [1] "검은바위 용광로", -- [2] }, ["42696"] = { "바위심장부 전쟁인도자", -- [1] "바위심장부", -- [2] }, ["39415"] = { "상급 화염추적자", -- [1] "그림 바톨", -- [2] }, ["127799"] = { "다자르아이 근위병", -- [1] "아탈다자르", -- [2] }, ["140677"] = { "덩치 큰 서리수염", -- [1] "", -- [2] }, ["87780"] = { "잿가루작업장 투사", -- [1] "검은바위 용광로", -- [2] }, ["72353"] = { "용아귀 화염 궁수", -- [1] "오그리마 공성전", -- [2] }, ["122022"] = { "무엇인가", -- [1] "폭풍의 용광로", -- [2] }, ["114261"] = { "토우니", -- [1] "다시 찾은 카라잔", -- [2] }, ["112671"] = { "황혼감시대 전투마법사", -- [1] "밤의 요새", -- [2] }, ["30414"] = { "잊혀진 자", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["131824"] = { "자매 솔레나", -- [1] "웨이크레스트 저택", -- [2] }, ["126845"] = { "선장 졸리", -- [1] "자유지대", -- [2] }, ["134990"] = { "충전된 먼지 악마", -- [1] "세스랄리스 사원", -- [2] }, ["32665"] = { "수정 올가미 덩굴손", -- [1] "마력의 탑", -- [2] }, ["145649"] = { "비행선 대원", -- [1] "아탈다자르", -- [2] }, ["131545"] = { "부인 웨이크레스트", -- [1] "웨이크레스트 저택", -- [2] }, ["134433"] = { "혈크로그", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["134144"] = { "살아있는 급류", -- [1] "폭풍의 사원", -- [2] }, ["116691"] = { "벨라크", -- [1] "살게라스의 무덤", -- [2] }, ["151685"] = { "군내털 굴어미", -- [1] "Skittering Hollow (Islands 5)", -- [2] }, ["148617"] = { "독실한 아쿤다", -- [1] "다자알로 전투", -- [2] }, ["140800"] = { "살해약탈 구름날개", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139202"] = { "신록의 뜰지기", -- [1] "", -- [2] }, ["152852"] = { "광신도 파쉬마", -- [1] "영원한 궁전", -- [2] }, ["132491"] = { "쿨 티란 명사수", -- [1] "보랄러스 공성전", -- [2] }, ["127111"] = { "무쇠파도 노꾼", -- [1] "자유지대", -- [2] }, ["71408"] = { "쿤다", -- [1] "오그리마 공성전", -- [2] }, ["150169"] = { "맹독 잠복꾼", -- [1] "작전명: 메카곤", -- [2] }, ["155810"] = { "얼어붙은 보초병", -- [1] "영원한 궁전", -- [2] }, ["93068"] = { "줄호락", -- [1] "지옥불 성채", -- [2] }, ["137817"] = { "떠도는 물의 정령", -- [1] "격전지 아라시 - 호드", -- [2] }, ["137091"] = { "높은 감시대 수습생", -- [1] "격전지 아라시 - 호드", -- [2] }, ["36830"] = { "성난해골 일꾼", -- [1] "사론의 구덩이", -- [2] }, ["18313"] = { "에테리얼 마술사", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["131821"] = { "얼굴 없는 여인", -- [1] "웨이크레스트 저택", -- [2] }, ["140429"] = { "재빠른 급류폴짝이", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["72421"] = { "코르크론 감시자", -- [1] "오그리마 공성전", -- [2] }, ["139529"] = { "무클라이", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["140358"] = { "비탄부름", -- [1] "", -- [2] }, ["136684"] = { "와일드해머 불꽃술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["146131"] = { "잠복자 바르토크", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138068"] = { "호화로운 행락객", -- [1] "왕노다지 광산!!", -- [2] }, ["30419"] = { "속박된 물의 정령", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["138512"] = { "토리시오나", -- [1] "", -- [2] }, ["71712"] = { "절망의 피조물", -- [1] "오그리마 공성전", -- [2] }, ["132530"] = { "쿨 티란 선봉대원", -- [1] "보랄러스 공성전", -- [2] }, ["112676"] = { "귀족혈통 왜곡술사", -- [1] "밤의 요새", -- [2] }, ["152790"] = { "진흙 민달팽이", -- [1] "Skittering Hollow (Islands 5)", -- [2] }, ["33388"] = { "암흑룬 수호병", -- [1] "울두아르", -- [2] }, ["138997"] = { "광기의 그르렁채찍", -- [1] "", -- [2] }, ["147936"] = { "아제라이트보석 파편등", -- [1] "", -- [2] }, ["120720"] = { "달의 수호병", -- [1] "살게라스의 무덤", -- [2] }, ["146871"] = { "여군주 나스나야", -- [1] "사라스 섬", -- [2] }, ["63508"] = { "쉬엔", -- [1] "다자알로 전투", -- [2] }, ["156130"] = { "하급 조아트로이드", -- [1] "영원한 궁전", -- [2] }, ["135925"] = { "화염불꽃", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["112251"] = { "비전 수액괴물", -- [1] "밤의 요새", -- [2] }, ["155616"] = { "잔지르 투사", -- [1] "영원한 궁전", -- [2] }, ["40634"] = { "나즈자르 폭풍우 마녀", -- [1] "파도의 왕좌", -- [2] }, ["140827"] = { "낄낄걸는 가시수풀 요마", -- [1] "", -- [2] }, ["44926"] = { "굳은서약 방랑자", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["131818"] = { "징표 찍힌 자매", -- [1] "웨이크레스트 저택", -- [2] }, ["112955"] = { "그늘비늘 고룡", -- [1] "밤의 요새", -- [2] }, ["138972"] = { "지안 티 구름파괴자", -- [1] "사라스 섬", -- [2] }, ["155860"] = { "쉬라케스 공허수확자", -- [1] "영원한 궁전", -- [2] }, ["138628"] = { "아마셋 사제", -- [1] "", -- [2] }, ["135245"] = { "항만의 시궁쥐단 파괴자", -- [1] "보랄러스 공성전", -- [2] }, ["159578"] = { "노출된 신경", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["139023"] = { "야생의 피아귀", -- [1] "", -- [2] }, ["41166"] = { "심장부 사냥개", -- [1] "폭풍의 용광로", -- [2] }, ["76306"] = { "대형 수호 피조물", -- [1] "하늘탑", -- [2] }, ["140842"] = { "엡", -- [1] "", -- [2] }, ["140620"] = { "남쪽 바다 독침해파리", -- [1] "사라스 섬", -- [2] }, ["119990"] = { "무엇인가", -- [1] "폭풍의 용광로", -- [2] }, ["146835"] = { "구울", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["160291"] = { "잿빛걸음 암살자", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["139747"] = { "난파당한 해적", -- [1] "", -- [2] }, ["134789"] = { "괴물 가시집게", -- [1] "사라스 섬", -- [2] }, ["134939"] = { "뻣뻣가시 식인거미", -- [1] "", -- [2] }, ["138447"] = { "여전사 살라리아", -- [1] "", -- [2] }, ["57875"] = { "고라스의 눈", -- [1] "용의 영혼", -- [2] }, ["151690"] = { "그슬이빨", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["144842"] = { "파도게", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["136871"] = { "우움굿 주술사", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["152364"] = { "아즈샤라의 광채", -- [1] "영원한 궁전", -- [2] }, ["138496"] = { "황혼의 드라코나르", -- [1] "사라스 섬", -- [2] }, ["131585"] = { "마법에 걸린 경비병", -- [1] "웨이크레스트 저택", -- [2] }, ["33824"] = { "황혼의 그림자칼날", -- [1] "울두아르", -- [2] }, ["140425"] = { "매운발", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["71773"] = { "코르크론 전투주술사", -- [1] "오그리마 공성전", -- [2] }, ["72451"] = { "코르크론 암흑주술사", -- [1] "오그리마 공성전", -- [2] }, ["45926"] = { "아사드의 하수인", -- [1] "소용돌이 누각", -- [2] }, ["34086"] = { "용암 광전사", -- [1] "울두아르", -- [2] }, ["76815"] = { "원시의 정령술사", -- [1] "검은바위 용광로", -- [2] }, ["140075"] = { "카누스", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["154744"] = { "독성 흉물", -- [1] "작전명: 메카곤", -- [2] }, ["112068"] = { "야수 정령", -- [1] "폭풍의 사원", -- [2] }, ["18429"] = { "비전 마귀", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["139658"] = { "시린빛 땅꾼", -- [1] "사라스 섬", -- [2] }, ["136509"] = { "살아 움직이는 부패점액", -- [1] "울디르", -- [2] }, ["135760"] = { "7군단 해병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["123287"] = { "남쪽바다 칼잡이", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["44982"] = { "네페르세트 암흑술사", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["33822"] = { "황혼의 수호병", -- [1] "울두아르", -- [2] }, ["140267"] = { "거대뿔 우와누", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["136721"] = { "의회 주문술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["104676"] = { "이지러지는 시간 입자", -- [1] "밤의 요새", -- [2] }, ["2442"] = { "소", -- [1] "격전지 아라시 - 호드", -- [2] }, ["136502"] = { "나즈마니 전쟁어미", -- [1] "울디르", -- [2] }, ["33776"] = { "또치세끼", -- [1] "폭풍의 용광로", -- [2] }, ["151886"] = { "분리된 망상", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["120851"] = { "히포그리프 군주 바라", -- [1] "살게라스의 무덤", -- [2] }, ["122398"] = { "약화된 공허군주", -- [1] "삼두정의 권좌", -- [2] }, ["88821"] = { "풀무 조작기사", -- [1] "검은바위 용광로", -- [2] }, ["87771"] = { "잿가루작업장 일꾼", -- [1] "검은바위 용광로", -- [2] }, ["58963"] = { "쉬바", -- [1] "은빛수정 광산", -- [2] }, ["140452"] = { "잠자는 창뿔", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["140982"] = { "얼음파괴자", -- [1] "", -- [2] }, ["20897"] = { "에테리움 파동술사", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["92523"] = { "바질파자그", -- [1] "지옥불 성채", -- [2] }, ["137060"] = { "모래술사 무나", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["71466"] = { "강철의 거대괴수", -- [1] "오그리마 공성전", -- [2] }, ["140374"] = { "둥지 수호자 익스닐", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["121473"] = { "압제자 닉사", -- [1] "살게라스의 무덤", -- [2] }, ["144944"] = { "갈증 난 흡혈박쥐", -- [1] "", -- [2] }, ["145898"] = { "부름을 받은 사도", -- [1] "다자알로 전투", -- [2] }, ["146370"] = { "검은무쇠 선봉대", -- [1] "다자알로 전투", -- [2] }, ["134769"] = { "톱니 발톱", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["156131"] = { "잔지르 미르미돈", -- [1] "영원한 궁전", -- [2] }, ["44648"] = { "불굴의 거수", -- [1] "파도의 왕좌", -- [2] }, ["140337"] = { "새끼 밤비늘", -- [1] "조룬달 (섬 7)", -- [2] }, ["138888"] = { "핏빛각성 예언자", -- [1] "조룬달 (섬 7)", -- [2] }, ["146553"] = { "쿨 티란 주먹꾼", -- [1] "다자알로 전투", -- [2] }, ["121004"] = { "칼날턱 미르미돈", -- [1] "살게라스의 무덤", -- [2] }, ["76292"] = { "하늘탑 보호 피조물", -- [1] "하늘탑", -- [2] }, ["140248"] = { "재빠른 달추적자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136353"] = { "거대한 촉수", -- [1] "폭풍의 사원", -- [2] }, ["26822"] = { "울슐라 다이어브루", -- [1] "검은바위 나락", -- [2] }, ["139654"] = { "안개비늘 진흙발이", -- [1] "사라스 섬", -- [2] }, ["20923"] = { "혈투사 포룽", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["130485"] = { "기계화 평화감시단", -- [1] "왕노다지 광산!!", -- [2] }, ["9547"] = { "술 취한 손님", -- [1] "검은바위 나락", -- [2] }, ["157451"] = { "결의의 집행자", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["136315"] = { "타락의 잔재", -- [1] "울디르", -- [2] }, ["17963"] = { "거친황야 노예", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["139005"] = { "바람의 땅 추적자", -- [1] "", -- [2] }, ["16407"] = { "유령 하인", -- [1] "카라잔", -- [2] }, ["133461"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["76407"] = { "넬쥴", -- [1] "어둠달 지하묘지", -- [2] }, ["120194"] = { "유령 수행사제", -- [1] "살게라스의 무덤", -- [2] }, ["21466"] = { "선구자 스키리스", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["114626"] = { "외로운 영혼", -- [1] "다시 찾은 카라잔", -- [2] }, ["145616"] = { "왕 라스타칸", -- [1] "다자알로 전투", -- [2] }, ["137007"] = { "높은 감시대 수호병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["134284"] = { "타락한 죽음예언자", -- [1] "썩은굴", -- [2] }, ["140857"] = { "비취섬광", -- [1] "사라스 섬", -- [2] }, ["138103"] = { "스트롬가드 석궁병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["76811"] = { "풀무 조작기사", -- [1] "검은바위 용광로", -- [2] }, ["89"] = { "지옥불정령", -- [1] "폭풍의 용광로", -- [2] }, ["16809"] = { "전쟁인도자 오므로그", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["56854"] = { "황혼의 정예 냉혈검사", -- [1] "용의 영혼", -- [2] }, ["140375"] = { "모래껍질 무리벌레", -- [1] "Skittering Hollow (Islands 5)", -- [2] }, ["124927"] = { "준티", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["75360"] = { "불타는 잿불", -- [1] "피망치 잿가루 광산", -- [2] }, ["138840"] = { "자라티크 관통자", -- [1] "", -- [2] }, ["76809"] = { "현장감독 펠드스파", -- [1] "검은바위 용광로", -- [2] }, ["61029"] = { "원시 불의 정령", -- [1] "은빛수정 광산", -- [2] }, ["134417"] = { "깊은바다 의식술사", -- [1] "폭풍의 사원", -- [2] }, ["76094"] = { "태양의 장신구", -- [1] "하늘탑", -- [2] }, ["54700"] = { "뒤틀린 시간의 밤호랑이", -- [1] "시간의 끝", -- [2] }, ["138645"] = { "크발디르 영혼약탈자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140672"] = { "지저분한 먼지가죽", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["87760"] = { "훈련용 허수아비", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["134895"] = { "강철그물 고치거미", -- [1] "", -- [2] }, ["135717"] = { "야생 밤호랑이", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["130765"] = { "새끼 밀림 추적자", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["147439"] = { "심장부 사냥개", -- [1] "다자알로 전투", -- [2] }, ["44841"] = { "역병 야수", -- [1] "파도의 왕좌", -- [2] }, ["140101"] = { "늪뒹굴이", -- [1] "", -- [2] }, ["122405"] = { "어둠수호병 창조술사", -- [1] "삼두정의 권좌", -- [2] }, ["138887"] = { "핏빛각성 비술사", -- [1] "조룬달 (섬 7)", -- [2] }, ["118730"] = { "영혼 잔류물", -- [1] "살게라스의 무덤", -- [2] }, ["122088"] = { "뱀갈퀴 잠복꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140977"] = { "비취비늘 이갈이", -- [1] "", -- [2] }, ["140691"] = { "거대한 공포의 송곳니", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135923"] = { "가즈란의 사냥개", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["140301"] = { "흉터발", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["33699"] = { "폭풍으로 빚은 문지기", -- [1] "울두아르", -- [2] }, ["71409"] = { "사령관 작타르", -- [1] "오그리마 공성전", -- [2] }, ["139397"] = { "진창매복 잠복꾼", -- [1] "", -- [2] }, ["138849"] = { "둥지군주 빅스익크", -- [1] "조룬달 (섬 7)", -- [2] }, ["135247"] = { "바리그", -- [1] "사라스 섬", -- [2] }, ["71380"] = { "살아 움직이는 바위 모구", -- [1] "오그리마 공성전", -- [2] }, ["114317"] = { "여군주 카트리오나 본인디", -- [1] "다시 찾은 카라잔", -- [2] }, ["118374"] = { "대장 야타이 문스트라이크", -- [1] "살게라스의 무덤", -- [2] }, ["139670"] = { "모옳곡", -- [1] "사라스 섬", -- [2] }, ["137614"] = { "파괴의 공포", -- [1] "보랄러스 공성전", -- [2] }, ["139858"] = { "보루카르 독거미", -- [1] "", -- [2] }, ["122408"] = { "그림자 추적자", -- [1] "삼두정의 권좌", -- [2] }, ["73725"] = { "시앙린", -- [1] "오그리마 공성전", -- [2] }, ["58965"] = { "크힐고로드", -- [1] "울디르", -- [2] }, ["126095"] = { "빌리스", -- [1] "", -- [2] }, ["140768"] = { "태산파괴자 구우루", -- [1] "", -- [2] }, ["122963"] = { "레잔", -- [1] "아탈다자르", -- [2] }, ["149360"] = { "덩치 큰 아제라이트", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["29306"] = { "갈다라", -- [1] "군드락", -- [2] }, ["87841"] = { "그롬카르 화염치유사", -- [1] "검은바위 용광로", -- [2] }, ["135204"] = { "사술 사제 유령", -- [1] "왕들의 안식처", -- [2] }, ["30338"] = { "안카하르 무리거미", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["138564"] = { "크슈운", -- [1] "사라스 섬", -- [2] }, ["150293"] = { "메카곤 호랑이", -- [1] "작전명: 메카곤", -- [2] }, ["138558"] = { "얼굴 없는 자", -- [1] "사라스 섬", -- [2] }, ["139013"] = { "광적인 달빛야수", -- [1] "", -- [2] }, ["137485"] = { "혈서약 요원", -- [1] "왕들의 안식처", -- [2] }, ["132879"] = { "수정 거인", -- [1] "", -- [2] }, ["115905"] = { "지옥 영혼", -- [1] "밤의 요새", -- [2] }, ["114284"] = { "엘피라", -- [1] "다시 찾은 카라잔", -- [2] }, ["149555"] = { "흉물", -- [1] "쌍둥이 봉우리", -- [2] }, ["155272"] = { "검은바다 점쟁이", -- [1] "영원한 궁전", -- [2] }, ["145903"] = { "어둠벼림 성전사", -- [1] "다자알로 전투", -- [2] }, ["17942"] = { "쿠아그미란", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["61245"] = { "축전 토템", -- [1] "웨이크레스트 저택", -- [2] }, ["146884"] = { "전쟁군주 혤슈카르트", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["147933"] = { "대지활성 아제라이트 파편", -- [1] "", -- [2] }, ["71156"] = { "배후자 카즈티크", -- [1] "오그리마 공성전", -- [2] }, ["21140"] = { "무엇인가", -- [1] "어둠의 문 열기", -- [2] }, ["144824"] = { "점액피부 두꺼비", -- [1] "사라스 섬", -- [2] }, ["134629"] = { "비늘 크롤러스크 기수", -- [1] "세스랄리스 사원", -- [2] }, ["140260"] = { "룬발굽 순록", -- [1] "", -- [2] }, ["130582"] = { "실의에 빠진 말썽꾼", -- [1] "톨 다고르", -- [2] }, ["129000"] = { "남쪽바다 싸움꾼", -- [1] "", -- [2] }, ["137521"] = { "무쇠파도 화약사수", -- [1] "보랄러스 공성전", -- [2] }, ["9499"] = { "플러거 스패즈링", -- [1] "검은바위 나락", -- [2] }, ["151613"] = { "대인 다람쥐", -- [1] "작전명: 메카곤", -- [2] }, ["29308"] = { "공작 탈다람", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["100943"] = { "대지의 벽 토템", -- [1] "웨이크레스트 저택", -- [2] }, ["138465"] = { "애쉬베인 포병", -- [1] "보랄러스 공성전", -- [2] }, ["140071"] = { "늙은 외송곳니", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["139870"] = { "보루카르 무리경비병", -- [1] "", -- [2] }, ["17669"] = { "광포한 전투사냥개", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["136838"] = { "야만전사 즈고르도", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["122971"] = { "다자르아이 돌격전사", -- [1] "아탈다자르", -- [2] }, ["144839"] = { "흰꼬리암사슴", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["140295"] = { "새끼 눈송이털", -- [1] "", -- [2] }, ["155900"] = { "잘리스", -- [1] "영원한 궁전", -- [2] }, ["133556"] = { "라자크 아이언사이즈", -- [1] "", -- [2] }, ["45919"] = { "어린 폭풍 용", -- [1] "소용돌이 누각", -- [2] }, ["145934"] = { "미치광이 아이반", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["45007"] = { "사로잡힌 무법자", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["154565"] = { "충성스러운 미르미돈", -- [1] "영원한 궁전", -- [2] }, ["152523"] = { "무쿠타", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["148619"] = { "아쿤다의 환영", -- [1] "다자알로 전투", -- [2] }, ["135903"] = { "심연의 현신", -- [1] "폭풍의 사원", -- [2] }, ["126983"] = { "할란 스위트", -- [1] "자유지대", -- [2] }, ["39854"] = { "하늘살이 수호자", -- [1] "그림 바톨", -- [2] }, ["140249"] = { "점판가죽", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["155763"] = { "흑마술사 카드레스", -- [1] "영원한 궁전", -- [2] }, ["43430"] = { "바위심장부 광전사", -- [1] "바위심장부", -- [2] }, ["33430"] = { "어미 덩굴손", -- [1] "울두아르", -- [2] }, ["72943"] = { "용아귀 원시비룡", -- [1] "오그리마 공성전", -- [2] }, ["135368"] = { "아이언포지 포수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["136042"] = { "군주 아쿠아노스", -- [1] "", -- [2] }, ["18394"] = { "에테리얼 망령", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["138993"] = { "걸락", -- [1] "", -- [2] }, ["45379"] = { "오우", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["145058"] = { "그늘깃털 까마귀", -- [1] "", -- [2] }, ["139345"] = { "죽음전령 쿨루", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["155275"] = { "파도구체자 코르베스", -- [1] "영원한 궁전", -- [2] }, ["140432"] = { "산악발굽 도약꾼", -- [1] "", -- [2] }, ["134602"] = { "가려진 송곳니", -- [1] "세스랄리스 사원", -- [2] }, ["135964"] = { "발굴림 대지정령", -- [1] "사라스 섬", -- [2] }, ["135765"] = { "격류의 토템", -- [1] "왕들의 안식처", -- [2] }, ["134800"] = { "강화된 무쇠턱거북", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140657"] = { "바위뿔 거수", -- [1] "", -- [2] }, ["138432"] = { "해일여제 네사", -- [1] "사라스 섬", -- [2] }, ["33722"] = { "폭풍으로 빚은 문지기", -- [1] "울두아르", -- [2] }, ["139007"] = { "야생 추적자", -- [1] "", -- [2] }, ["26669"] = { "이미야르 야만전사", -- [1] "우트가드 첨탑", -- [2] }, ["136934"] = { "무기 시험자", -- [1] "왕노다지 광산!!", -- [2] }, ["72744"] = { "코르크론 해골파쇄자", -- [1] "오그리마 공성전", -- [2] }, ["140428"] = { "협곡도약자", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["140632"] = { "비늘등 무쇠턱거북", -- [1] "사라스 섬", -- [2] }, ["135846"] = { "모래범벅 독사", -- [1] "세스랄리스 사원", -- [2] }, ["146401"] = { "어둠비늘 발굴노예", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["140858"] = { "화염족속", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["69161"] = { "데빌사우루스", -- [1] "폭풍의 용광로", -- [2] }, ["140861"] = { "흙떨이", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["150297"] = { "메카곤 재규격 설계사", -- [1] "작전명: 메카곤", -- [2] }, ["32886"] = { "암흑룬 수행사제", -- [1] "울두아르", -- [2] }, ["72484"] = { "자조", -- [1] "오그리마 공성전", -- [2] }, ["139403"] = { "침략자 아라사즈", -- [1] "Havenswood (Islands 2)", -- [2] }, ["15551"] = { "유령 마구간지기", -- [1] "카라잔", -- [2] }, ["31146"] = { "공격대원의 훈련용 허수아비", -- [1] "군드락", -- [2] }, ["146869"] = { "맹독의 자이룸", -- [1] "", -- [2] }, ["139433"] = { "고뇌의 자매", -- [1] "사라스 섬", -- [2] }, ["112803"] = { "점성술사 자린", -- [1] "밤의 요새", -- [2] }, ["18331"] = { "에테리얼 암흑술사", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["138570"] = { "전령 라자퀴", -- [1] "조룬달 (섬 7)", -- [2] }, ["138995"] = { "씨앗지기 운간", -- [1] "", -- [2] }, ["77700"] = { "어둠달 도굴꾼", -- [1] "어둠달 지하묘지", -- [2] }, ["137764"] = { "정예 마술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139223"] = { "신록의 드리아드", -- [1] "", -- [2] }, ["144912"] = { "딱총가지", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["139346"] = { "영혼예언자 갈라니", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["149591"] = { "라스타리 명사수", -- [1] "다자알로 전투", -- [2] }, ["147938"] = { "아제라이트보석 수정등", -- [1] "조룬달 (섬 7)", -- [2] }, ["39900"] = { "사로잡힌 바위 정령", -- [1] "그림 바톨", -- [2] }, ["143755"] = { "핏지 기어워블", -- [1] "", -- [2] }, ["139539"] = { "여제의 망치 타보크", -- [1] "", -- [2] }, ["141929"] = { "지혜로운 투아카", -- [1] "왕들의 안식처", -- [2] }, ["141283"] = { "쿨 티란 미늘창", -- [1] "보랄러스 공성전", -- [2] }, ["33237"] = { "울두아르 거대괴수", -- [1] "울두아르", -- [2] }, ["40177"] = { "제련장인 트롱구스", -- [1] "그림 바톨", -- [2] }, ["123001"] = { "암흑의 물 정령", -- [1] "", -- [2] }, ["56427"] = { "전투대장 블랙혼", -- [1] "용의 영혼", -- [2] }, ["138484"] = { "흑요석 예언자", -- [1] "", -- [2] }, ["139203"] = { "신록의 나무정령", -- [1] "", -- [2] }, ["26794"] = { "정원사 오르모로크", -- [1] "마력의 탑", -- [2] }, ["16152"] = { "사냥꾼 어튜멘", -- [1] "카라잔", -- [2] }, ["147370"] = { "칼날경비병 카자", -- [1] "다자알로 전투", -- [2] }, ["146847"] = { "소환사 라니엘라", -- [1] "", -- [2] }, ["73250"] = { "코르크론 불꽃사수", -- [1] "오그리마 공성전", -- [2] }, ["150142"] = { "고철뼈 쓰레기투척꾼", -- [1] "작전명: 메카곤", -- [2] }, ["130338"] = { "먼지송곳니", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["127879"] = { "줄의 방패병", -- [1] "아탈다자르", -- [2] }, ["113043"] = { "심연 감시자", -- [1] "밤의 요새", -- [2] }, ["134139"] = { "사원 기사단원", -- [1] "폭풍의 사원", -- [2] }, ["72810"] = { "공명하는 물의 지팡이", -- [1] "오그리마 공성전", -- [2] }, ["140669"] = { "바위갈기 울음웬디고", -- [1] "조룬달 (섬 7)", -- [2] }, ["54691"] = { "뒤틀린 시간의 여마법사", -- [1] "시간의 끝", -- [2] }, ["44976"] = { "네페르세트 역병인도자", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["136884"] = { "뻣뻣가시 전투호위병", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["134423"] = { "심연 서식자", -- [1] "폭풍의 사원", -- [2] }, ["148607"] = { "칼이아 파쿠아야", -- [1] "다자알로 전투", -- [2] }, ["124159"] = { "육중한 레오", -- [1] "격전지 아라시 - 호드", -- [2] }, ["73098"] = { "코르크론 감시자", -- [1] "오그리마 공성전", -- [2] }, ["136051"] = { "파도머스", -- [1] "사라스 섬", -- [2] }, ["132807"] = { "지안 티 기렌", -- [1] "사라스 섬", -- [2] }, ["126429"] = { "딱딱한 산호등", -- [1] "사라스 섬", -- [2] }, ["71454"] = { "말코록", -- [1] "오그리마 공성전", -- [2] }, ["138101"] = { "스트롬가드 마술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["136892"] = { "야만주둥이", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["42810"] = { "수정생성 거인", -- [1] "바위심장부", -- [2] }, ["141566"] = { "뼈새김 도살자", -- [1] "보랄러스 공성전", -- [2] }, ["142207"] = { "전령 오바라", -- [1] "울디르", -- [2] }, ["130589"] = { "떠도는 야금이", -- [1] "사라스 섬", -- [2] }, ["131318"] = { "장로 리악사", -- [1] "썩은굴", -- [2] }, ["132644"] = { "새끼 늑대", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139200"] = { "신록의 파리지옥풀", -- [1] "", -- [2] }, ["144955"] = { "피폭식자 잘지", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["134796"] = { "가시집게 왕게", -- [1] "사라스 섬", -- [2] }, ["139191"] = { "덤불랑이", -- [1] "", -- [2] }, ["20886"] = { "격노의 점술사 소코드라테스", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["140089"] = { "늙은 황혼발굽", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["139390"] = { "비늘경비병 사리스즈", -- [1] "", -- [2] }, ["138824"] = { "할피드 아이언아이", -- [1] "조룬달 (섬 7)", -- [2] }, ["126094"] = { "뱀갈퀴 파도술사", -- [1] "사라스 섬", -- [2] }, ["134900"] = { "맹독송곳니 거미", -- [1] "", -- [2] }, ["144293"] = { "폐기물 처리 유닛", -- [1] "작전명: 메카곤", -- [2] }, ["144996"] = { "저편의 환영", -- [1] "폭풍의 용광로", -- [2] }, ["126093"] = { "뱀갈퀴 사우록", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140990"] = { "뼈비늘 독벌레", -- [1] "사라스 섬", -- [2] }, ["139807"] = { "투자회사 측량사", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["139439"] = { "황혼결속자 주운", -- [1] "사라스 섬", -- [2] }, ["137442"] = { "고위마술사 마랄라", -- [1] "격전지 아라시 - 호드", -- [2] }, ["151850"] = { "사령관 딜리크", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["57817"] = { "폭풍살이 충복", -- [1] "용의 영혼", -- [2] }, ["118176"] = { "천둥충격", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["140974"] = { "왕꿀꺽이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["75976"] = { "무엇인가", -- [1] "하늘탑", -- [2] }, ["146838"] = { "부서질 듯한 해골", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["131578"] = { "떠도는 불의 정령", -- [1] "격전지 아라시 - 호드", -- [2] }, ["56136"] = { "얼어붙은 속박의 수정", -- [1] "용의 영혼", -- [2] }, ["147098"] = { "쉬엔의 영혼", -- [1] "다자알로 전투", -- [2] }, ["92514"] = { "샤오군", -- [1] "지옥불 성채", -- [2] }, ["140978"] = { "파멸땅굴", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["135716"] = { "포식자 밤호랑이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["138495"] = { "황혼의 지휘관", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["132921"] = { "해일여제 세르아", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["146110"] = { "차오름달", -- [1] "", -- [2] }, ["151679"] = { "군내털 발차기꾼", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["146245"] = { "파닥날개", -- [1] "", -- [2] }, ["129119"] = { "얼라이언스 기사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["126847"] = { "선장 라울", -- [1] "자유지대", -- [2] }, ["126215"] = { "지안 티 흑마술사", -- [1] "사라스 섬", -- [2] }, ["36893"] = { "이미야르 화염지기", -- [1] "사론의 구덩이", -- [2] }, ["17817"] = { "상급 수렁마크루라", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["138838"] = { "자라티크 사마귀", -- [1] "", -- [2] }, ["140171"] = { "안개털", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["127757"] = { "되살아난 근위병", -- [1] "아탈다자르", -- [2] }, ["130620"] = { "냉기검사 세라피", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["35189"] = { "특치야정", -- [1] "폭풍의 용광로", -- [2] }, ["135961"] = { "심해석 분쇄자", -- [1] "사라스 섬", -- [2] }, ["138567"] = { "응징자 샤스호스", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["104154"] = { "굴단", -- [1] "밤의 요새", -- [2] }, ["144954"] = { "피의 탐식자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146872"] = { "추방당한 카초타", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["122413"] = { "어둠수호병 균열추적자", -- [1] "삼두정의 권좌", -- [2] }, ["129758"] = { "무쇠파도 폭탄병", -- [1] "자유지대", -- [2] }, ["136496"] = { "선택된 나즈마니", -- [1] "울디르", -- [2] }, ["139210"] = { "맹독대두", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["137098"] = { "리스코라스", -- [1] "톨 다고르", -- [2] }, ["150250"] = { "기계머리 사수", -- [1] "작전명: 메카곤", -- [2] }, ["138503"] = { "황혼의 감독관", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["133482"] = { "거미 지뢰", -- [1] "왕노다지 광산!!", -- [2] }, ["138828"] = { "용맹한 베르힐드", -- [1] "조룬달 (섬 7)", -- [2] }, ["145223"] = { "어린 천둥비늘", -- [1] "조룬달 (섬 7)", -- [2] }, ["80677"] = { "강철 장인", -- [1] "검은바위 용광로", -- [2] }, ["89890"] = { "지옥 군주 자쿠운", -- [1] "지옥불 성채", -- [2] }, ["79467"] = { "여명의 숙련사제", -- [1] "하늘탑", -- [2] }, ["135241"] = { "항만의 시궁쥐단 강탈자", -- [1] "보랄러스 공성전", -- [2] }, ["39890"] = { "황혼의 대지창조자", -- [1] "그림 바톨", -- [2] }, ["75715"] = { "되살린 의식 해골", -- [1] "어둠달 지하묘지", -- [2] }, ["159514"] = { "나이알로사의 피", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["138627"] = { "아마셋 제사장", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["136905"] = { "전방 망꾼", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139224"] = { "드리아드 숲지기", -- [1] "", -- [2] }, ["28582"] = { "폭풍벼림 치유사", -- [1] "번개의 전당", -- [2] }, ["146366"] = { "심장부 사냥개", -- [1] "다자알로 전투", -- [2] }, ["72942"] = { "용아귀 전쟁기수", -- [1] "오그리마 공성전", -- [2] }, ["111170"] = { "별의 선견자", -- [1] "밤의 요새", -- [2] }, ["145644"] = { "브원삼디", -- [1] "다자알로 전투", -- [2] }, ["140834"] = { "웃는 불길", -- [1] "사라스 섬", -- [2] }, ["17960"] = { "갈퀴송곳니 예언자", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["73223"] = { "테러닥스", -- [1] "오그리마 공성전", -- [2] }, ["42808"] = { "바위심장부 바위갈퀴", -- [1] "바위심장부", -- [2] }, ["76132"] = { "솟구치는 차크람 달인", -- [1] "하늘탑", -- [2] }, ["144971"] = { "가지의 드루이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["80409"] = { "말코그 아바디르", -- [1] "검은바위 용광로", -- [2] }, ["136836"] = { "암흑파괴자 우르줄라", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["146409"] = { "여군주 제이나 프라우드무어", -- [1] "다자알로 전투", -- [2] }, ["148618"] = { "대드루이드 안드레니우스", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["34137"] = { "겨울 요르문가르", -- [1] "울두아르", -- [2] }, ["417"] = { "푸우눔", -- [1] "폭풍의 사원", -- [2] }, ["37713"] = { "죽음속삭임 고문관", -- [1] "사론의 구덩이", -- [2] }, ["139044"] = { "물결치유사 아샤", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["34196"] = { "룬각인 파수병", -- [1] "울두아르", -- [2] }, ["128435"] = { "독성 사우리드", -- [1] "아탈다자르", -- [2] }, ["138487"] = { "흑요석 날개 분리병", -- [1] "", -- [2] }, ["136688"] = { "광신적인 천공병", -- [1] "왕노다지 광산!!", -- [2] }, ["135231"] = { "투사 유령", -- [1] "왕들의 안식처", -- [2] }, ["155899"] = { "사크자", -- [1] "영원한 궁전", -- [2] }, ["151901"] = { "잠 못 드는 영혼", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["9554"] = { "소란스러운 손님", -- [1] "검은바위 나락", -- [2] }, ["154758"] = { "독성 흉물", -- [1] "작전명: 메카곤", -- [2] }, ["76307"] = { "대형 수호 피조물", -- [1] "하늘탑", -- [2] }, ["138978"] = { "덩치 흙지느러미", -- [1] "사라스 섬", -- [2] }, ["36881"] = { "해골 노예", -- [1] "사론의 구덩이", -- [2] }, ["138659"] = { "되살아난 사냥개", -- [1] "사라스 섬", -- [2] }, ["131410"] = { "거대 맹독비늘", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["120188"] = { "울부짖는 영혼", -- [1] "살게라스의 무덤", -- [2] }, ["132819"] = { "새끼 녹슨모피", -- [1] "", -- [2] }, ["145040"] = { "영리한 로린", -- [1] "사라스 섬", -- [2] }, ["136006"] = { "난폭한 구경꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["140553"] = { "여왕거미 슈자스즈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["157256"] = { "아퀴르 화살벌레", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["124583"] = { "혈류등 벌레", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["55334"] = { "철폐의 공허", -- [1] "용의 영혼", -- [2] }, ["139697"] = { "고위주술사 클락시카르", -- [1] "사라스 섬", -- [2] }, ["140108"] = { "죽음침 전갈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136869"] = { "우움굿 복병", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["156818"] = { "래시온", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["134216"] = { "암흑술사 자라", -- [1] "", -- [2] }, ["140067"] = { "녹슨가죽 우두머리", -- [1] "", -- [2] }, ["148488"] = { "죽지 못하는 점쟁이", -- [1] "다자알로 전투", -- [2] }, ["137486"] = { "여왕 파틀라아", -- [1] "왕들의 안식처", -- [2] }, ["131383"] = { "포자소환사 잔차", -- [1] "썩은굴", -- [2] }, ["129553"] = { "공룡술사 키쉬오", -- [1] "아탈다자르", -- [2] }, ["149611"] = { "우끼끼찌릿봇 3000", -- [1] "다자알로 전투", -- [2] }, ["37711"] = { "굶주린 구울", -- [1] "사론의 구덩이", -- [2] }, ["110340"] = { "천공", -- [1] "다자알로 전투", -- [2] }, ["127488"] = { "애쉬베인 화염술사", -- [1] "톨 다고르", -- [2] }, ["135169"] = { "영혼 흡수의 토템", -- [1] "썩은굴", -- [2] }, ["146859"] = { "사로잡힌 바위 정령", -- [1] "조룬달 (섬 7)", -- [2] }, ["71385"] = { "스라티크 폭격수", -- [1] "오그리마 공성전", -- [2] }, ["147935"] = { "아제라이트보석 엉금이", -- [1] "", -- [2] }, ["138642"] = { "크발디르 돌격병", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138516"] = { "황혼의 진화론자", -- [1] "", -- [2] }, ["130307"] = { "불안정한 태풍", -- [1] "", -- [2] }, ["140968"] = { "혈류등 습격자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["17670"] = { "으스러진 손 사냥개조련사", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["155278"] = { "번득껍질 복어", -- [1] "영원한 궁전", -- [2] }, ["147955"] = { "대지보주", -- [1] "사라스 섬", -- [2] }, ["114262"] = { "사냥꾼 어튜멘", -- [1] "다시 찾은 카라잔", -- [2] }, ["146895"] = { "썩은살점 난동꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["148614"] = { "쿨 티란 포병", -- [1] "다자알로 전투", -- [2] }, ["139006"] = { "바람의 땅 펄볼그", -- [1] "", -- [2] }, ["32882"] = { "요르문가르 거수", -- [1] "울두아르", -- [2] }, ["136186"] = { "파도현자 심령술사", -- [1] "폭풍의 사원", -- [2] }, ["140675"] = { "무리어미 무고", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["135046"] = { "엉금악어", -- [1] "", -- [2] }, ["98035"] = { "공포사냥개", -- [1] "울디르", -- [2] }, ["137784"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["114266"] = { "해변가 파도예언자", -- [1] "다시 찾은 카라잔", -- [2] }, ["17671"] = { "으스러진 손 용사", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["132849"] = { "새끼 회색털", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["78932"] = { "휘몰아치는 강풍술사", -- [1] "하늘탑", -- [2] }, ["148631"] = { "불발탄", -- [1] "다자알로 전투", -- [2] }, ["127486"] = { "애쉬베인 장교", -- [1] "톨 다고르", -- [2] }, ["155354"] = { "아즈샤라의 불굴의 병사", -- [1] "영원한 궁전", -- [2] }, ["139766"] = { "전직 항해사 더블린", -- [1] "", -- [2] }, ["119941"] = { "영혼 잔류물", -- [1] "살게라스의 무덤", -- [2] }, ["29829"] = { "드라카리 지진술사", -- [1] "군드락", -- [2] }, ["138515"] = { "엔달리온", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["137785"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["71474"] = { "구체화된 절망", -- [1] "오그리마 공성전", -- [2] }, ["134947"] = { "뻣뻣가시 무리여왕", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["126918"] = { "무쇠파도 명사수", -- [1] "자유지대", -- [2] }, ["154174"] = { "공포의 소환사", -- [1] "영원한 궁전", -- [2] }, ["122571"] = { "균열 감시자", -- [1] "삼두정의 권좌", -- [2] }, ["146436"] = { "유혹적인 세이렌", -- [1] "다자알로 전투", -- [2] }, ["138990"] = { "눈먼 우르글", -- [1] "사라스 섬", -- [2] }, ["138470"] = { "흑요석 비룡", -- [1] "", -- [2] }, ["139808"] = { "투자회사 미련퉁이", -- [1] "조룬달 (섬 7)", -- [2] }, ["32876"] = { "암흑룬 용사", -- [1] "울두아르", -- [2] }, ["133389"] = { "갈바즈트", -- [1] "세스랄리스 사원", -- [2] }, ["134821"] = { "썩은응시 돌바실리스크", -- [1] "사라스 섬", -- [2] }, ["140693"] = { "쉬익카라스", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138889"] = { "선견자 우불드", -- [1] "조룬달 (섬 7)", -- [2] }, ["99541"] = { "되살아난 잠복꾼", -- [1] "웨이크레스트 저택", -- [2] }, ["138971"] = { "지안 티 독사", -- [1] "", -- [2] }, ["17427"] = { "으스러진 손 궁수", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["75272"] = { "피망치 오우거마법사", -- [1] "피망치 잿가루 광산", -- [2] }, ["146843"] = { "가시 돋친 구울", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["121400"] = { "비난자 그나즈", -- [1] "살게라스의 무덤", -- [2] }, ["138825"] = { "인가토라 블러드드링커", -- [1] "사라스 섬", -- [2] }, ["74349"] = { "피망치 용암결속사", -- [1] "피망치 잿가루 광산", -- [2] }, ["135997"] = { "군주 지르콘", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["76810"] = { "가열로 기술자", -- [1] "검은바위 용광로", -- [2] }, ["140692"] = { "피구렁이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["138631"] = { "길잡이 콰딤", -- [1] "", -- [2] }, ["138847"] = { "전투 치유사 카바즈", -- [1] "", -- [2] }, ["151676"] = { "군내털 난동꾼", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["20864"] = { "악몽의 돌연변이괴물", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["139480"] = { "바위속박 보호자", -- [1] "", -- [2] }, ["124581"] = { "가시갑옷 무쇠턱거북", -- [1] "", -- [2] }, ["145769"] = { "7군단 전투마법사", -- [1] "아탈다자르", -- [2] }, ["133345"] = { "경솔한 조수", -- [1] "왕노다지 광산!!", -- [2] }, ["155693"] = { "고분고분해진 투사", -- [1] "영원한 궁전", -- [2] }, ["139651"] = { "무엇인가", -- [1] "사라스 섬", -- [2] }, ["125828"] = { "다크나이소", -- [1] "아탈다자르", -- [2] }, ["139750"] = { "뒤처진 투사", -- [1] "", -- [2] }, ["140294"] = { "눈송이털 늑대", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["71383"] = { "코르티크 전쟁인도자", -- [1] "오그리마 공성전", -- [2] }, ["144807"] = { "걸신들린 추적자", -- [1] "다자알로 전투", -- [2] }, ["150154"] = { "뼈드득 사우로리스크", -- [1] "작전명: 메카곤", -- [2] }, ["148665"] = { "라스타리 왕실근위병", -- [1] "다자알로 전투", -- [2] }, ["146653"] = { "최정예 사냥꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["152540"] = { "라이아니 쉐이드스토커", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["130319"] = { "뱀갈퀴 결사단원", -- [1] "", -- [2] }, ["152486"] = { "지하요새 정예 경비병", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["26672"] = { "피에 굶주린 동토 늑대", -- [1] "우트가드 첨탑", -- [2] }, ["34193"] = { "태엽돌이 공병", -- [1] "울두아르", -- [2] }, ["26861"] = { "왕 이미론", -- [1] "우트가드 첨탑", -- [2] }, ["123285"] = { "남쪽바다 병사", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["134764"] = { "따닥이껍질", -- [1] "사라스 섬", -- [2] }, ["44752"] = { "얼굴 없는 흡입술사", -- [1] "파도의 왕좌", -- [2] }, ["114584"] = { "유령 인부", -- [1] "다시 찾은 카라잔", -- [2] }, ["146831"] = { "쿨 티란 폭풍인도자", -- [1] "다자알로 전투", -- [2] }, ["71433"] = { "생명의 불꽃", -- [1] "오그리마 공성전", -- [2] }, ["137511"] = { "항만의 시궁쥐단 자객", -- [1] "보랄러스 공성전", -- [2] }, ["69943"] = { "폭풍과", -- [1] "영원한 궁전", -- [2] }, ["36892"] = { "이미야르 죽음의 사자", -- [1] "사론의 구덩이", -- [2] }, ["145059"] = { "교활한 밤날개", -- [1] "", -- [2] }, ["75452"] = { "해골아귀", -- [1] "어둠달 지하묘지", -- [2] }, ["138576"] = { "정체불명 촉수", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139755"] = { "일등항해사 맥넬리", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["72661"] = { "열정", -- [1] "오그리마 공성전", -- [2] }, ["139045"] = { "예언자 주치", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["137328"] = { "빛벼림 용사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["137057"] = { "장로 구르타니", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["140454"] = { "늙은 땋은머리", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["140585"] = { "적갈색 잠복꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["91349"] = { "만노로스", -- [1] "지옥불 성채", -- [2] }, ["36907"] = { "성난해골 공성대장장이", -- [1] "사론의 구덩이", -- [2] }, ["134807"] = { "고대 가시갑옷", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["127906"] = { "황혼전령 타루울", -- [1] "삼두정의 권좌", -- [2] }, ["146492"] = { "분노의 유령", -- [1] "다자알로 전투", -- [2] }, ["138467"] = { "흑요석 용족", -- [1] "", -- [2] }, ["155432"] = { "마력에 빠진 사절", -- [1] "썩은굴", -- [2] }, ["140084"] = { "박살주먹", -- [1] "", -- [2] }, ["136470"] = { "원기 회복 음식 상인", -- [1] "왕노다지 광산!!", -- [2] }, ["18312"] = { "에테리얼 역술사", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["139035"] = { "칼지느러미 수병", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["76141"] = { "아라크나스", -- [1] "하늘탑", -- [2] }, ["75979"] = { "도굴된 영혼", -- [1] "어둠달 지하묘지", -- [2] }, ["130644"] = { "칼니악어", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["140436"] = { "킁킁발굽", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["149336"] = { "현무암 아제라이트", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135366"] = { "검은이빨 방화범", -- [1] "톨 다고르", -- [2] }, ["139097"] = { "모래받이 명사수", -- [1] "세스랄리스 사원", -- [2] }, ["129367"] = { "항만의 시궁쥐단 폭풍우소환사", -- [1] "보랄러스 공성전", -- [2] }, ["118523"] = { "여사냥꾼 카스파리안", -- [1] "살게라스의 무덤", -- [2] }, ["137092"] = { "밸러콜 신봉자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["73195"] = { "코르크론 교도관", -- [1] "오그리마 공성전", -- [2] }, ["132740"] = { "맹독비늘 히드라", -- [1] "", -- [2] }, ["144311"] = { "보주 수호자", -- [1] "세스랄리스 사원", -- [2] }, ["146119"] = { "가시등 투사", -- [1] "", -- [2] }, ["138468"] = { "흑요석 불꽃소환사", -- [1] "", -- [2] }, ["135958"] = { "공작석", -- [1] "", -- [2] }, ["151028"] = { "가시추적자 나이도라", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["146827"] = { "야생 개", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139357"] = { "얼음엄니 비틀괴물", -- [1] "", -- [2] }, ["76116"] = { "몰아치는 차크람 춤꾼", -- [1] "하늘탑", -- [2] }, ["139692"] = { "늙은 바닷물비늘", -- [1] "사라스 섬", -- [2] }, ["139818"] = { "보안 장교 더크", -- [1] "조룬달 (섬 7)", -- [2] }, ["145771"] = { "바닐 블랙배럴", -- [1] "아탈다자르", -- [2] }, ["33670"] = { "공중 지휘기", -- [1] "울두아르", -- [2] }, ["140696"] = { "공포의 나주", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138980"] = { "무엇인가", -- [1] "사라스 섬", -- [2] }, ["127021"] = { "무라딘 브론즈비어드", -- [1] "격전지 아라시 - 호드", -- [2] }, ["108361"] = { "수정 전갈", -- [1] "밤의 요새", -- [2] }, ["129231"] = { "릭사 플럭스플레임", -- [1] "왕노다지 광산!!", -- [2] }, ["72276"] = { "타락의 결정체", -- [1] "오그리마 공성전", -- [2] }, ["135472"] = { "현자 자나잘", -- [1] "왕들의 안식처", -- [2] }, ["26691"] = { "이미야르 의술사", -- [1] "우트가드 첨탑", -- [2] }, ["116561"] = { "속박 풀린 불꽃군주", -- [1] "다시 찾은 카라잔", -- [2] }, ["131601"] = { "총주방장 다니엘", -- [1] "웨이크레스트 저택", -- [2] }, ["133935"] = { "살아 움직이는 수호자", -- [1] "왕들의 안식처", -- [2] }, ["39960"] = { "심해 멀록 일꾼", -- [1] "파도의 왕좌", -- [2] }, ["130436"] = { "비번 노동자", -- [1] "왕노다지 광산!!", -- [2] }, ["29264"] = { "늑대 정령", -- [1] "영원한 궁전", -- [2] }, ["151836"] = { "공허의 공포", -- [1] "에메랄드의 꿈 - 아제로스의 심장 시나리오", -- [2] }, ["135044"] = { "게걸스러운 분쇄아귀 악어", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["145337"] = { "모래집게 꽃게", -- [1] "영원한 궁전", -- [2] }, ["146371"] = { "검은무쇠 원시술사", -- [1] "다자알로 전투", -- [2] }, ["34802"] = { "수리검 투척기", -- [1] "정복의 섬", -- [2] }, ["129366"] = { "항만의 시궁쥐단 해적단원", -- [1] "보랄러스 공성전", -- [2] }, ["135646"] = { "분쇄의 피얼룩 호랑이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["155791"] = { "공포의 비명술사", -- [1] "영원한 궁전", -- [2] }, ["117264"] = { "용맹의 여신", -- [1] "살게라스의 무덤", -- [2] }, ["134431"] = { "혈트롤", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["114320"] = { "군주 로빈 다리스", -- [1] "다시 찾은 카라잔", -- [2] }, ["162718"] = { "결의의 집행자", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["72455"] = { "감독관 코마크", -- [1] "오그리마 공성전", -- [2] }, ["17991"] = { "딱딱이 로크마르", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["53006"] = { "정신의 고리 토템", -- [1] "폭풍의 용광로", -- [2] }, ["135353"] = { "노련한 해파리", -- [1] "자유지대", -- [2] }, ["34793"] = { "투석기", -- [1] "정복의 섬", -- [2] }, ["121399"] = { "심문관 세빌루스", -- [1] "살게라스의 무덤", -- [2] }, ["20906"] = { "위상 사냥꾼", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["122847"] = { "암영의 여사제", -- [1] "살게라스의 무덤", -- [2] }, ["129788"] = { "무쇠파도 해골톱날", -- [1] "자유지대", -- [2] }, ["138440"] = { "여군주 아사나", -- [1] "", -- [2] }, ["131727"] = { "교활한 펜레이", -- [1] "사라스 섬", -- [2] }, ["137478"] = { "여왕 와시", -- [1] "왕들의 안식처", -- [2] }, ["155869"] = { "쉬라케스 흑마술사", -- [1] "영원한 궁전", -- [2] }, ["131040"] = { "카오티엔 분쇄자", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["144941"] = { "아쿤다의 위상", -- [1] "다자알로 전투", -- [2] }, ["139464"] = { "울부짖는 지안 티 기렌", -- [1] "", -- [2] }, ["116563"] = { "고대의 심장부 사냥개", -- [1] "다시 찾은 카라잔", -- [2] }, ["136831"] = { "마른가지 의술사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["144637"] = { "그롱", -- [1] "다자알로 전투", -- [2] }, ["41040"] = { "뒤틀린 환영", -- [1] "그림 바톨", -- [2] }, ["139678"] = { "여울방랑자", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["144963"] = { "킴불의 위상", -- [1] "다자알로 전투", -- [2] }, ["42845"] = { "돌구멍거미", -- [1] "바위심장부", -- [2] }, ["138102"] = { "스트롬가드 사제", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138556"] = { "부패한 수액괴물", -- [1] "사라스 섬", -- [2] }, ["130909"] = { "악취 나는 구더기", -- [1] "썩은굴", -- [2] }, ["29573"] = { "드라카리 정령", -- [1] "군드락", -- [2] }, ["32845"] = { "호디르", -- [1] "울두아르", -- [2] }, ["45672"] = { "나즈자르 병사", -- [1] "파도의 왕좌", -- [2] }, ["128921"] = { "황혼거죽 호랑이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["147928"] = { "대지파편", -- [1] "", -- [2] }, ["127477"] = { "바닷물 무쇠턱거북", -- [1] "톨 다고르", -- [2] }, ["139486"] = { "하늘틈새", -- [1] "사라스 섬", -- [2] }, ["17464"] = { "으스러진 손 검투사", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["83623"] = { "피망치 교도관", -- [1] "피망치 잿가루 광산", -- [2] }, ["139218"] = { "생명지기 올바리우스", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["36886"] = { "외눈깨비 복병", -- [1] "사론의 구덩이", -- [2] }, ["145305"] = { "야생의 거한", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["105419"] = { "흉포한 바실리스크", -- [1] "정복의 섬", -- [2] }, ["155760"] = { "전차 타격기 마크2", -- [1] "작전명: 메카곤", -- [2] }, ["114634"] = { "죽지 못하는 하인", -- [1] "다시 찾은 카라잔", -- [2] }, ["149569"] = { "다자리 숭배자", -- [1] "다자알로 전투", -- [2] }, ["145224"] = { "천둥비늘 비룡", -- [1] "조룬달 (섬 7)", -- [2] }, ["148622"] = { "킴불의 환영", -- [1] "다자알로 전투", -- [2] }, ["134823"] = { "깨지지 않는 수정가시", -- [1] "", -- [2] }, ["73414"] = { "코르크론 사신", -- [1] "오그리마 공성전", -- [2] }, ["57158"] = { "대지 파괴자", -- [1] "용의 영혼", -- [2] }, ["28579"] = { "강화된 강철 광전사", -- [1] "번개의 전당", -- [2] }, ["131863"] = { "식탐귀 라알", -- [1] "웨이크레스트 저택", -- [2] }, ["140659"] = { "분노쿵쿵", -- [1] "", -- [2] }, ["140355"] = { "밝은비늘 비명독사", -- [1] "", -- [2] }, ["139226"] = { "자매 아나나", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["34184"] = { "태엽돌이 정비병", -- [1] "울두아르", -- [2] }, ["137244"] = { "최정예 사제", -- [1] "격전지 아라시 - 호드", -- [2] }, ["91270"] = { "공포의 지옥불정령", -- [1] "지옥불 성채", -- [2] }, ["138466"] = { "흑요석 새끼용", -- [1] "", -- [2] }, ["26554"] = { "용약탈 현자", -- [1] "우트가드 첨탑", -- [2] }, ["120651"] = { "폭발물", -- [1] "", -- [2] }, ["26727"] = { "마법사 사냥꾼 상급자", -- [1] "마력의 탑", -- [2] }, ["139037"] = { "칼지느러미 진위", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["116550"] = { "유령 후원자", -- [1] "다시 찾은 카라잔", -- [2] }, ["122560"] = { "그림자 추적자", -- [1] "삼두정의 권좌", -- [2] }, ["138019"] = { "쿨 티란 선봉대원", -- [1] "보랄러스 공성전", -- [2] }, ["153091"] = { "세레나 스카스케일", -- [1] "영원한 궁전", -- [2] }, ["54795"] = { "빛의 샘", -- [1] "시간의 끝", -- [2] }, ["139211"] = { "영원만개", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["138431"] = { "해일여제 나줄라", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["91305"] = { "강철의 지옥소환사", -- [1] "지옥불 성채", -- [2] }, ["71160"] = { "또렷한 의식의 이요쿠크", -- [1] "오그리마 공성전", -- [2] }, ["138996"] = { "대지예언자 주와", -- [1] "", -- [2] }, ["29304"] = { "슬라드란", -- [1] "군드락", -- [2] }, ["147621"] = { "검은무쇠 선봉대", -- [1] "다자알로 전투", -- [2] }, ["32871"] = { "관찰자 알갈론", -- [1] "울두아르", -- [2] }, ["26802"] = { "얼라이언스 순찰자", -- [1] "마력의 탑", -- [2] }, ["72490"] = { "감독관 모즈카", -- [1] "오그리마 공성전", -- [2] }, ["147957"] = { "아제크리살리스", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["140973"] = { "천공 땅꾼", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["132299"] = { "성난 나무정령", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["134546"] = { "종결자 미스락스", -- [1] "울디르", -- [2] }, ["73184"] = { "굶주린 설인", -- [1] "오그리마 공성전", -- [2] }, ["134994"] = { "인간사냥꾼 망령", -- [1] "왕들의 안식처", -- [2] }, ["136398"] = { "일리다리 사티로스", -- [1] "폭풍의 용광로", -- [2] }, ["140689"] = { "공포의 송곳니 비단뱀", -- [1] "사라스 섬", -- [2] }, ["73541"] = { "코르크론 새끼 늑대", -- [1] "오그리마 공성전", -- [2] }, ["134941"] = { "뻣뻣가시 거미", -- [1] "", -- [2] }, ["28587"] = { "볼칸", -- [1] "번개의 전당", -- [2] }, ["114541"] = { "유령 후원자", -- [1] "다시 찾은 카라잔", -- [2] }, ["62005"] = { "야수", -- [1] "폭풍의 용광로", -- [2] }, ["80782"] = { "얼음등뼈 쐐기 칼날발톱", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["136885"] = { "뻣뻣갈기 가시덤불술사", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["135470"] = { "정복자 아카알리", -- [1] "왕들의 안식처", -- [2] }, ["134904"] = { "밤배회거미", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139388"] = { "제스에즈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["129232"] = { "모굴 라즈덩크", -- [1] "왕노다지 광산!!", -- [2] }, ["133660"] = { "폭파로봇 9000", -- [1] "", -- [2] }, ["81315"] = { "강철 폭격병", -- [1] "검은바위 용광로", -- [2] }, ["147787"] = { "7군단 전투마법사", -- [1] "다자알로 전투", -- [2] }, ["19307"] = { "공포의 결정체", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["29307"] = { "드라카리 거대골렘", -- [1] "군드락", -- [2] }, ["83622"] = { "피망치 오우거마법사", -- [1] "피망치 잿가루 광산", -- [2] }, ["142324"] = { "파랑지느러미 돌고래", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139351"] = { "어둠예언자 안고로", -- [1] "사라스 섬", -- [2] }, ["57890"] = { "고라스의 발톱", -- [1] "용의 영혼", -- [2] }, ["15550"] = { "사냥꾼 어튜멘", -- [1] "카라잔", -- [2] }, ["43878"] = { "대장로 에르탄", -- [1] "소용돌이 누각", -- [2] }, ["121138"] = { "고통받는 파편", -- [1] "살게라스의 무덤", -- [2] }, ["72941"] = { "용아귀 그런트", -- [1] "오그리마 공성전", -- [2] }, ["139009"] = { "야생 사냥꾼", -- [1] "", -- [2] }, ["20900"] = { "풀려난 파멸인도자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["71158"] = { "해부자 리크칼", -- [1] "오그리마 공성전", -- [2] }, ["138508"] = { "불굴의 소용돌이", -- [1] "", -- [2] }, ["130635"] = { "분노석", -- [1] "왕노다지 광산!!", -- [2] }, ["54435"] = { "귀요미애", -- [1] "시간의 끝", -- [2] }, ["118728"] = { "섬뜩한 뼈감시자", -- [1] "살게라스의 무덤", -- [2] }, ["140643"] = { "사나운 바위뿔", -- [1] "", -- [2] }, ["138987"] = { "흙지느러미 대점쟁이", -- [1] "사라스 섬", -- [2] }, ["140438"] = { "늙은 긴이빨", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["37587"] = { "타락한 용사", -- [1] "사론의 구덩이", -- [2] }, ["137026"] = { "뉴스테드 사냥개", -- [1] "격전지 아라시 - 호드", -- [2] }, ["37712"] = { "죽음속삭임 흑마술사", -- [1] "사론의 구덩이", -- [2] }, ["138841"] = { "자라티크 전투소리꾼", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["138064"] = { "호화로운 행락객", -- [1] "왕노다지 광산!!", -- [2] }, ["139231"] = { "짓밟는 마이어우드", -- [1] "", -- [2] }, ["76829"] = { "잿가루 정령", -- [1] "검은바위 용광로", -- [2] }, ["54318"] = { "아롱이", -- [1] "영원한 궁전", -- [2] }, ["104415"] = { "시간 변형체", -- [1] "밤의 요새", -- [2] }, ["131819"] = { "서약단 예언자", -- [1] "웨이크레스트 저택", -- [2] }, ["155634"] = { "속박된 폭풍의 정령", -- [1] "영원한 궁전", -- [2] }, ["139422"] = { "비늘 크롤러스크 조련사", -- [1] "세스랄리스 사원", -- [2] }, ["28583"] = { "기포나는 분노의 증기", -- [1] "번개의 전당", -- [2] }, ["144850"] = { "어둠비늘 세이렌", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["45932"] = { "하늘붕괴 별", -- [1] "소용돌이 누각", -- [2] }, ["149341"] = { "유리화된 아제라이트", -- [1] "조룬달 (섬 7)", -- [2] }, ["139674"] = { "심연비늘", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["150397"] = { "왕 메카곤", -- [1] "작전명: 메카곤", -- [2] }, ["130832"] = { "소금눈 칼부리", -- [1] "다자알로 전투", -- [2] }, ["74158"] = { "코르크론 사수", -- [1] "오그리마 공성전", -- [2] }, ["135699"] = { "애쉬베인 간수", -- [1] "톨 다고르", -- [2] }, ["151752"] = { "무리공허", -- [1] "에메랄드의 꿈 - 아제로스의 심장 시나리오", -- [2] }, ["57159"] = { "대지 병사", -- [1] "용의 영혼", -- [2] }, ["134232"] = { "고용된 암살자", -- [1] "왕노다지 광산!!", -- [2] }, ["20880"] = { "에레다르 죽음의 인도자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["145927"] = { "별비명꾼 엘라나", -- [1] "조룬달 (섬 7)", -- [2] }, ["146246"] = { "독벌 오빅스", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["133957"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["148716"] = { "되살아난 영혼", -- [1] "썩은굴", -- [2] }, ["149338"] = { "불안정한 아제라이트", -- [1] "조룬달 (섬 7)", -- [2] }, ["33768"] = { "무엇인가", -- [1] "울두아르", -- [2] }, ["56587"] = { "황혼의 강습 비룡", -- [1] "용의 영혼", -- [2] }, ["126893"] = { "모래 딱정벌레", -- [1] "우트가드 첨탑", -- [2] }, ["116939"] = { "몰락한 화신", -- [1] "살게라스의 무덤", -- [2] }, ["138509"] = { "역술사 울루라", -- [1] "", -- [2] }, ["155094"] = { "메카곤 부대원", -- [1] "작전명: 메카곤", -- [2] }, ["77006"] = { "새끼 시체거미", -- [1] "어둠달 지하묘지", -- [2] }, ["138979"] = { "흙지느러미 파도술사", -- [1] "사라스 섬", -- [2] }, ["134112"] = { "대모 크리스티안", -- [1] "웨이크레스트 저택", -- [2] }, ["40270"] = { "황혼의 천둥술사", -- [1] "그림 바톨", -- [2] }, ["140296"] = { "사향 축축털", -- [1] "", -- [2] }, ["134617"] = { "새끼 크롤러스크", -- [1] "세스랄리스 사원", -- [2] }, ["141890"] = { "군주 아지", -- [1] "왕들의 안식처", -- [2] }, ["2630"] = { "속박의 토템", -- [1] "정복의 섬", -- [2] }, ["18344"] = { "연합왕자 샤파르", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["124580"] = { "동굴 거북", -- [1] "", -- [2] }, ["136391"] = { "심장부 수호자", -- [1] "세스랄리스 사원", -- [2] }, ["139405"] = { "파도인도자 세제스안", -- [1] "사라스 섬", -- [2] }, ["139341"] = { "얼음엄니 흑마술사", -- [1] "사라스 섬", -- [2] }, ["151674"] = { "군내털 새끼", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["145053"] = { "기괴한 흉물", -- [1] "폭풍의 용광로", -- [2] }, ["138428"] = { "원한지느러미 미르미돈", -- [1] "사라스 섬", -- [2] }, ["152623"] = { "지하요새 그런트", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["135552"] = { "죽음에 물든 노예사냥꾼", -- [1] "웨이크레스트 저택", -- [2] }, ["136826"] = { "굴란 불예언자", -- [1] "", -- [2] }, ["128631"] = { "해일 딸깍소라게", -- [1] "다자알로 전투", -- [2] }, ["150773"] = { "번득껍질 복어", -- [1] "영원한 궁전", -- [2] }, ["72498"] = { "테라모어 시민", -- [1] "오그리마 공성전", -- [2] }, ["122972"] = { "다자르아이 점술가", -- [1] "아탈다자르", -- [2] }, ["136825"] = { "굴란 서약수호자", -- [1] "", -- [2] }, ["113012"] = { "지옥서약 혼돈마법사", -- [1] "밤의 요새", -- [2] }, ["118289"] = { "경계의 여신", -- [1] "살게라스의 무덤", -- [2] }, ["140344"] = { "하늘 독사", -- [1] "", -- [2] }, ["131099"] = { "낄낄거리는 쐐기덩굴 요마", -- [1] "", -- [2] }, ["139413"] = { "진창매복 오아시스예언자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135989"] = { "줄의 방패병", -- [1] "아탈다자르", -- [2] }, ["73091"] = { "블랙퓨즈 용병", -- [1] "오그리마 공성전", -- [2] }, ["147967"] = { "7군단 해병", -- [1] "다자알로 전투", -- [2] }, ["125460"] = { "성난모래 폭력단원", -- [1] "다자알로 전투", -- [2] }, ["139001"] = { "바람의 땅 우르사", -- [1] "", -- [2] }, ["140825"] = { "가시수풀 요술쟁이", -- [1] "", -- [2] }, ["137012"] = { "뉴스테드 수렵꾼", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140841"] = { "키득거리는 파장", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139680"] = { "어두컴컴 사냥꾼", -- [1] "사라스 섬", -- [2] }, ["144952"] = { "고리송곳니", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["132051"] = { "흡혈 진드기", -- [1] "썩은굴", -- [2] }, ["146326"] = { "인간사냥꾼 갈와나", -- [1] "다자알로 전투", -- [2] }, ["87719"] = { "오그론 운반자", -- [1] "검은바위 용광로", -- [2] }, ["148243"] = { "쓰러진 사도", -- [1] "다자알로 전투", -- [2] }, ["139419"] = { "대점쟁이 아사이자", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["28584"] = { "속박 풀린 화염폭풍", -- [1] "번개의 전당", -- [2] }, ["149351"] = { "망간광", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["45704"] = { "숨어있는 폭풍우", -- [1] "소용돌이 누각", -- [2] }, ["135016"] = { "역병 융합체", -- [1] "울디르", -- [2] }, ["147932"] = { "흥분한 아제라이트 파편", -- [1] "", -- [2] }, ["136822"] = { "굴란 창 투척자", -- [1] "", -- [2] }, ["150653"] = { "검은바다 거수", -- [1] "영원한 궁전", -- [2] }, ["134283"] = { "수도자 라나", -- [1] "", -- [2] }, ["5828"] = { "후마르", -- [1] "폭풍의 용광로", -- [2] }, ["59461"] = { "새끼 깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["132837"] = { "해변거인", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["130622"] = { "돌풍술사 아우란", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["139059"] = { "피에 굶주린 크로그", -- [1] "울디르", -- [2] }, ["152910"] = { "여왕 아즈샤라", -- [1] "영원한 궁전", -- [2] }, ["17839"] = { "균열의 군주", -- [1] "어둠의 문 열기", -- [2] }, ["139343"] = { "얼음엄니 노역꾼", -- [1] "", -- [2] }, ["30286"] = { "서리인도자", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["139344"] = { "드라카니 죽음부패자", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["135724"] = { "수풀추적자", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["132885"] = { "바람의 정령", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["44658"] = { "심해 멀록 침략자", -- [1] "파도의 왕좌", -- [2] }, ["145977"] = { "거대한 돌껍질 순록", -- [1] "", -- [2] }, ["71715"] = { "오그리마 신봉자", -- [1] "오그리마 공성전", -- [2] }, ["139459"] = { "바위속박 병사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["112603"] = { "정원 숲지기", -- [1] "밤의 요새", -- [2] }, ["124259"] = { "밀림 호랑이", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["17961"] = { "갈퀴송곳니 요술사", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["72983"] = { "타락한 해골파쇄자", -- [1] "오그리마 공성전", -- [2] }, ["44704"] = { "시아마트의 부하", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["120721"] = { "달의 궁수", -- [1] "살게라스의 무덤", -- [2] }, ["134060"] = { "군주 스톰송", -- [1] "폭풍의 사원", -- [2] }, ["122986"] = { "야생 비명익룡", -- [1] "아탈다자르", -- [2] }, ["133384"] = { "메레크타", -- [1] "세스랄리스 사원", -- [2] }, ["33820"] = { "황혼의 화염술사", -- [1] "울두아르", -- [2] }, ["5913"] = { "진동의 토템", -- [1] "웨이크레스트 저택", -- [2] }, ["29836"] = { "드라카리 전투 기수", -- [1] "군드락", -- [2] }, ["151027"] = { "가시방어병 버튼", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["155871"] = { "공허결속 공포", -- [1] "영원한 궁전", -- [2] }, ["71481"] = { "구체화된 슬픔", -- [1] "오그리마 공성전", -- [2] }, ["72456"] = { "음험한 콜그라", -- [1] "오그리마 공성전", -- [2] }, ["33216"] = { "기계노움 조종사", -- [1] "울두아르", -- [2] }, ["50138"] = { "무엇인가", -- [1] "폭풍의 용광로", -- [2] }, ["133510"] = { "얼라이언스 성기사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["133852"] = { "살아있는 부패물", -- [1] "썩은굴", -- [2] }, ["130489"] = { "다자리안 추적자", -- [1] "다자알로 전투", -- [2] }, ["139626"] = { "건져 올린 선원", -- [1] "폭풍의 사원", -- [2] }, ["21126"] = { "갈퀴송곳니 치유사", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["33823"] = { "황혼의 학살자", -- [1] "울두아르", -- [2] }, ["71921"] = { "검은송곳니", -- [1] "오그리마 공성전", -- [2] }, ["44715"] = { "흉포한 정신해체자", -- [1] "파도의 왕좌", -- [2] }, ["138439"] = { "뱀여왕 발라", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["146116"] = { "가시등 채집꾼", -- [1] "", -- [2] }, ["26737"] = { "광기 어린 마나 정령", -- [1] "마력의 탑", -- [2] }, ["115226"] = { "라베니안", -- [1] "조룬달 (섬 7)", -- [2] }, ["140441"] = { "새끼 사향몸통", -- [1] "", -- [2] }, ["149311"] = { "무엇인가", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["144825"] = { "맹독뱃살 개구리", -- [1] "사라스 섬", -- [2] }, ["138498"] = { "황혼의 비룡", -- [1] "", -- [2] }, ["112709"] = { "대정원 경비병", -- [1] "밤의 요새", -- [2] }, ["151059"] = { "영원의 수호자", -- [1] "폭풍의 용광로", -- [2] }, ["5925"] = { "마법흡수 토템", -- [1] "쌍둥이 봉우리", -- [2] }, ["152703"] = { "워키 충격기 X1", -- [1] "작전명: 메카곤", -- [2] }, ["59459"] = { "새끼 깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["26550"] = { "용약탈 죽음의수색꾼", -- [1] "우트가드 첨탑", -- [2] }, ["42188"] = { "오즈룩", -- [1] "바위심장부", -- [2] }, ["134786"] = { "가시집게 모래게", -- [1] "사라스 섬", -- [2] }, ["150160"] = { "고철뼈 협박꾼", -- [1] "작전명: 메카곤", -- [2] }, ["146111"] = { "20 점짜리", -- [1] "조룬달 (섬 7)", -- [2] }, ["132910"] = { "뻣뻣갈기 꽥꽥이", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["39414"] = { "상급 바람술사", -- [1] "그림 바톨", -- [2] }, ["139034"] = { "칼지느러미 관통자", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["134797"] = { "해변 그늘게", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["140773"] = { "깊은바다 파도잡이", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["126099"] = { "황혼거죽 무리 어미", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["145001"] = { "라나라 문셰이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["21138"] = { "무엇인가", -- [1] "어둠의 문 열기", -- [2] }, ["137881"] = { "북부습곡 기사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["151798"] = { "벡시오나", -- [1] "동부 왕국 - 주홍빛 보루 - 아제로스의 심장 시나리오", -- [2] }, ["144299"] = { "작업실 방어병", -- [1] "작전명: 메카곤", -- [2] }, ["138500"] = { "황혼의 비늘자매", -- [1] "", -- [2] }, ["135160"] = { "아이언포지 보병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["134795"] = { "장막의 은둔자 게", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["134894"] = { "강철그물 실거미", -- [1] "", -- [2] }, ["54543"] = { "뒤틀린 시간의 비룡", -- [1] "시간의 끝", -- [2] }, ["136887"] = { "바늘갈기", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["133627"] = { "탤리 잽내버", -- [1] "", -- [2] }, ["144822"] = { "황금 불꽃혓바닥", -- [1] "사라스 섬", -- [2] }, ["139036"] = { "칼지느러미 투창병", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["139760"] = { "선임 항해사 프랭클린", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["125977"] = { "되살리기 토템", -- [1] "아탈다자르", -- [2] }, ["45917"] = { "구름 왕자", -- [1] "소용돌이 누각", -- [2] }, ["133079"] = { "뉴스테드 농장 일꾼", -- [1] "격전지 아라시 - 호드", -- [2] }, ["135759"] = { "대지 방벽 토템", -- [1] "왕들의 안식처", -- [2] }, ["144755"] = { "대변자 작사아즈", -- [1] "폭풍의 용광로", -- [2] }, ["140564"] = { "유황 용암아귀", -- [1] "", -- [2] }, ["146834"] = { "강령술의 대가", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["40765"] = { "사령관 울톡", -- [1] "파도의 왕좌", -- [2] }, ["59551"] = { "퍽퍽이", -- [1] "스톰스타우트 양조장", -- [2] }, ["133685"] = { "더럽혀진 영혼", -- [1] "썩은굴", -- [2] }, ["45912"] = { "거친 소용돌이", -- [1] "소용돌이 누각", -- [2] }, ["127480"] = { "독침 기생충", -- [1] "톨 다고르", -- [2] }, ["140846"] = { "임프의 바람", -- [1] "", -- [2] }, ["140678"] = { "울부짖는 서리수염 웬디고", -- [1] "", -- [2] }, ["138848"] = { "칼춤꾼 졸라크", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["53891"] = { "타락체", -- [1] "용의 영혼", -- [2] }, ["137819"] = { "떠도는 천둥 정령", -- [1] "격전지 아라시 - 호드", -- [2] }, ["144782"] = { "형제 브루엔", -- [1] "", -- [2] }, ["18179"] = { "타락의 회오리 토템", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["144759"] = { "수호자 다그다", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["114637"] = { "유령 보초", -- [1] "다시 찾은 카라잔", -- [2] }, ["149144"] = { "제이나의 파도 정령", -- [1] "다자알로 전투", -- [2] }, ["72728"] = { "코르크론 핏빛도끼병", -- [1] "오그리마 공성전", -- [2] }, ["145975"] = { "돌껍질 순록", -- [1] "", -- [2] }, ["76267"] = { "태양광신도", -- [1] "하늘탑", -- [2] }, ["135248"] = { "피에 굶주린 브리오나", -- [1] "사라스 섬", -- [2] }, ["114544"] = { "해골 안내인", -- [1] "다시 찾은 카라잔", -- [2] }, ["122967"] = { "여사제 알룬자", -- [1] "아탈다자르", -- [2] }, ["139394"] = { "진창매복 늪지 사제", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["129699"] = { "루드비히 폰 토르톨란", -- [1] "자유지대", -- [2] }, ["139759"] = { "반란자 잘리아", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["18995"] = { "무엇인가", -- [1] "어둠의 문 열기", -- [2] }, ["113512"] = { "비전 수액괴물", -- [1] "밤의 요새", -- [2] }, ["155619"] = { "잔지르 근위병", -- [1] "영원한 궁전", -- [2] }, ["137443"] = { "프라이어 파샤이어", -- [1] "격전지 아라시 - 호드", -- [2] }, ["75191"] = { "피망치 노예사냥꾼", -- [1] "피망치 잿가루 광산", -- [2] }, ["132920"] = { "그림자 뱀", -- [1] "사라스 섬", -- [2] }, ["122403"] = { "어둠수호병 용사", -- [1] "삼두정의 권좌", -- [2] }, ["140293"] = { "눈송이털 늑대", -- [1] "", -- [2] }, ["146881"] = { "예언자 브린불프", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["149588"] = { "야수", -- [1] "폭풍의 사원", -- [2] }, ["137375"] = { "빛벼림 기갑전투복", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140658"] = { "뾰족털", -- [1] "", -- [2] }, ["151840"] = { "타락한 영혼", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["138836"] = { "무엇인가", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["40600"] = { "얼굴 없는 타락자", -- [1] "그림 바톨", -- [2] }, ["148615"] = { "디브예인", -- [1] "다자알로 전투", -- [2] }, ["144693"] = { "불꽃주먹 맨스로이", -- [1] "다자알로 전투", -- [2] }, ["132922"] = { "사로잡힌 멀록", -- [1] "사라스 섬", -- [2] }, ["134157"] = { "어둠태생 전사", -- [1] "왕들의 안식처", -- [2] }, ["140038"] = { "심연 장어", -- [1] "폭풍의 사원", -- [2] }, ["26805"] = { "얼라이언스 성직자", -- [1] "마력의 탑", -- [2] }, ["138649"] = { "벌프 스톰쇼어", -- [1] "", -- [2] }, ["144849"] = { "어둠비늘 정찰병", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["123853"] = { "얼라이언스 마술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["151902"] = { "사악한 영혼", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["138479"] = { "흑요석 대군주", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["124489"] = { "고원 벌목꾼", -- [1] "격전지 아라시 - 호드", -- [2] }, ["152312"] = { "아즈샤리 마녀", -- [1] "영원한 궁전", -- [2] }, ["36877"] = { "성난해골 병사", -- [1] "사론의 구덩이", -- [2] }, ["75194"] = { "뾰족니", -- [1] "피망치 잿가루 광산", -- [2] }, ["138506"] = { "진홍비늘", -- [1] "", -- [2] }, ["139690"] = { "바닷물비늘 바다소환사", -- [1] "사라스 섬", -- [2] }, ["146109"] = { "밤빛깔 돌진엘크", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["119724"] = { "굽이치는 파도 정령", -- [1] "", -- [2] }, ["111226"] = { "소환사 시브", -- [1] "밤의 요새", -- [2] }, ["33716"] = { "루비 용 배우자", -- [1] "울두아르", -- [2] }, ["26729"] = { "청지기", -- [1] "마력의 탑", -- [2] }, ["76877"] = { "그룰", -- [1] "검은바위 용광로", -- [2] }, ["136828"] = { "마른가지 전사", -- [1] "사라스 섬", -- [2] }, ["139425"] = { "광포한 부화자", -- [1] "세스랄리스 사원", -- [2] }, ["114265"] = { "조직 깡패", -- [1] "다시 찾은 카라잔", -- [2] }, ["130896"] = { "의식상실 통", -- [1] "자유지대", -- [2] }, ["135816"] = { "썩은마귀", -- [1] "폭풍의 용광로", -- [2] }, ["17420"] = { "으스러진 손 이교도", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["146887"] = { "썩은 자 게른", -- [1] "조룬달 (섬 7)", -- [2] }, ["145061"] = { "비명 지르는 밤날개", -- [1] "", -- [2] }, ["44566"] = { "오주마트", -- [1] "파도의 왕좌", -- [2] }, ["18982"] = { "검은 재규어", -- [1] "어둠의 문 열기", -- [2] }, ["149334"] = { "지층 아제라이트", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["20883"] = { "원한의 요녀", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["138999"] = { "늙은 오르돌", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["72236"] = { "구체화된 의심", -- [1] "오그리마 공성전", -- [2] }, ["119205"] = { "달갈퀴", -- [1] "살게라스의 무덤", -- [2] }, ["127496"] = { "모래 집게발", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["71771"] = { "코르크론 대마술사", -- [1] "오그리마 공성전", -- [2] }, ["136834"] = { "무두장이 바주울루", -- [1] "사라스 섬", -- [2] }, ["139011"] = { "야생 보호자", -- [1] "", -- [2] }, ["29240"] = { "폭풍벼림 부관", -- [1] "번개의 전당", -- [2] }, ["145402"] = { "광포한 거친심장", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["37729"] = { "성난해골 약탈자", -- [1] "사론의 구덩이", -- [2] }, ["152834"] = { "아제라이트 땅거미", -- [1] "소용돌이 - 아제로스의 심장", -- [2] }, ["152390"] = { "제멋대로인 실험체", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["118172"] = { "군주 히드로니쿠스", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["32933"] = { "왼팔", -- [1] "울두아르", -- [2] }, ["146770"] = { "발톱의 드루이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["120473"] = { "물결비늘 전투원", -- [1] "살게라스의 무덤", -- [2] }, ["135830"] = { "강풍분노", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["33186"] = { "칼날비늘", -- [1] "울두아르", -- [2] }, ["87521"] = { "강철 잿가루세공사", -- [1] "검은바위 용광로", -- [2] }, ["136833"] = { "마른가지 맹독 사제", -- [1] "사라스 섬", -- [2] }, ["140074"] = { "뾰족니", -- [1] "", -- [2] }, ["146828"] = { "야생 강아지", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146866"] = { "사로잡힌 서리 정령", -- [1] "조룬달 (섬 7)", -- [2] }, ["139768"] = { "해적단원 단", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["139701"] = { "바닷물비늘 수련 점쟁이", -- [1] "사라스 섬", -- [2] }, ["157254"] = { "테크리스", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["1553"] = { "박쥐", -- [1] "다자알로 전투", -- [2] }, ["139197"] = { "신록의 덩굴손", -- [1] "", -- [2] }, ["139212"] = { "포도채찍", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["34183"] = { "파괴자 거미로봇", -- [1] "울두아르", -- [2] }, ["140076"] = { "주먹쿵 은빛등", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["57746"] = { "얼굴 없는 파괴자", -- [1] "용의 영혼", -- [2] }, ["135959"] = { "우레정령 진동발", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["66187"] = { "살쾡이", -- [1] "다자알로 전투", -- [2] }, ["76778"] = { "생명으로 결속된 마귀", -- [1] "하늘탑", -- [2] }, ["73949"] = { "사령관 나카즈", -- [1] "오그리마 공성전", -- [2] }, ["140984"] = { "서리천공 벌레", -- [1] "", -- [2] }, ["72493"] = { "트락겐", -- [1] "오그리마 공성전", -- [2] }, ["33113"] = { "거대 화염전차", -- [1] "울두아르", -- [2] }, ["73806"] = { "코르크론 기계공", -- [1] "오그리마 공성전", -- [2] }, ["54688"] = { "뒤틀린 시간의 밤호랑이", -- [1] "시간의 끝", -- [2] }, ["139339"] = { "얼음엄니 방어병", -- [1] "", -- [2] }, ["151659"] = { "로켓 통통 로봇", -- [1] "작전명: 메카곤", -- [2] }, ["140681"] = { "게걸스러운 구루두", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["114804"] = { "유령 준마", -- [1] "다시 찾은 카라잔", -- [2] }, ["138475"] = { "타이런티온", -- [1] "", -- [2] }, ["145211"] = { "새끼 천둥비늘", -- [1] "조룬달 (섬 7)", -- [2] }, ["136811"] = { "조약돌 돌팔매병", -- [1] "", -- [2] }, ["43934"] = { "영혼의 파편", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["150859"] = { "자쿨", -- [1] "영원한 궁전", -- [2] }, ["75210"] = { "피망치 교도관", -- [1] "피망치 잿가루 광산", -- [2] }, ["142312"] = { "두개골절단자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["131402"] = { "썩은굴 진드기", -- [1] "썩은굴", -- [2] }, ["26728"] = { "마법사 사냥꾼 수습생", -- [1] "마력의 탑", -- [2] }, ["94231"] = { "광기의 불장난꾼", -- [1] "지옥불 성채", -- [2] }, ["146854"] = { "스텔라 다크포우", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["43658"] = { "광포한 악어", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["55294"] = { "울트락시온", -- [1] "용의 영혼", -- [2] }, ["136495"] = { "나즈마니 학살자", -- [1] "울디르", -- [2] }, ["17694"] = { "어둠달 암흑술사", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["150136"] = { "얼굴 없는 분쇄자", -- [1] "울디르 시나리오", -- [2] }, ["139444"] = { "강령군주 지안", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["72194"] = { "헬스크림 파괴전차", -- [1] "오그리마 공성전", -- [2] }, ["140996"] = { "심연천공", -- [1] "", -- [2] }, ["139695"] = { "잽잽집게", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["155628"] = { "아즈샤리 점쟁이", -- [1] "영원한 궁전", -- [2] }, ["88820"] = { "가열로 기술자", -- [1] "검은바위 용광로", -- [2] }, ["39405"] = { "진홍살이 예언자", -- [1] "그림 바톨", -- [2] }, ["71397"] = { "자르티크 호박석 사제", -- [1] "오그리마 공성전", -- [2] }, ["140442"] = { "사향몸통 야크", -- [1] "", -- [2] }, ["126422"] = { "산호등 딸깍이", -- [1] "사라스 섬", -- [2] }, ["142765"] = { "마마 렌칼라", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["149339"] = { "스며든 아제라이트", -- [1] "조룬달 (섬 7)", -- [2] }, ["137835"] = { "흉포한 검은곰", -- [1] "격전지 아라시 - 호드", -- [2] }, ["132802"] = { "바위뿔 설인", -- [1] "", -- [2] }, ["40584"] = { "나즈자르 침략자", -- [1] "파도의 왕좌", -- [2] }, ["155276"] = { "폭발하는 바위가리", -- [1] "영원한 궁전", -- [2] }, ["146850"] = { "거장 울리치", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146876"] = { "야만적인 마치투", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["104534"] = { "결박의 드조리크스", -- [1] "밤의 요새", -- [2] }, ["144690"] = { "메스트라", -- [1] "다자알로 전투", -- [2] }, ["72358"] = { "코르크론 대포", -- [1] "오그리마 공성전", -- [2] }, ["140383"] = { "보석 박힌 딱정벌레", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["72351"] = { "용아귀 전쟁기수", -- [1] "오그리마 공성전", -- [2] }, ["72354"] = { "용아귀 해골분쇄자", -- [1] "오그리마 공성전", -- [2] }, ["37728"] = { "성난해골 마술사", -- [1] "사론의 구덩이", -- [2] }, ["56922"] = { "황혼의 침투자", -- [1] "용의 영혼", -- [2] }, ["132741"] = { "화염비늘 히드라", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["139041"] = { "정령사 루슈", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["161895"] = { "저 너머의 존재", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["139862"] = { "보루카르 날거미", -- [1] "", -- [2] }, ["26694"] = { "이미야르 황혼의 주술사", -- [1] "우트가드 첨탑", -- [2] }, ["138968"] = { "지안 티 강철아귀", -- [1] "사라스 섬", -- [2] }, ["73723"] = { "준웨이", -- [1] "오그리마 공성전", -- [2] }, ["134442"] = { "벡티스", -- [1] "울디르", -- [2] }, ["61056"] = { "원시 대지의 정령", -- [1] "폭풍의 용광로", -- [2] }, ["145753"] = { "선장 그레인저", -- [1] "아탈다자르", -- [2] }, ["140266"] = { "고대의 부서진뿔", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["73742"] = { "포탑", -- [1] "오그리마 공성전", -- [2] }, ["32934"] = { "오른팔", -- [1] "울두아르", -- [2] }, ["76143"] = { "루크란", -- [1] "하늘탑", -- [2] }, ["134804"] = { "영겁의 룬껍질거북", -- [1] "조룬달 (섬 7)", -- [2] }, ["33236"] = { "강철로 벼려낸 수호병", -- [1] "울두아르", -- [2] }, ["36477"] = { "크리크", -- [1] "사론의 구덩이", -- [2] }, ["32857"] = { "폭풍소환사 브룬디르", -- [1] "울두아르", -- [2] }, ["140979"] = { "큰송곳니", -- [1] "", -- [2] }, ["138276"] = { "아이언포지 공성파괴자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["136867"] = { "우움굿 사수", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["104818"] = { "선조의 보호 토템", -- [1] "폭풍의 용광로", -- [2] }, ["142802"] = { "나즈마니 통솔자", -- [1] "울디르", -- [2] }, ["136876"] = { "공포의 어윽", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["144245"] = { "남쪽 바다 가오리", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["148921"] = { "칼도레이 수리검 투척기", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["26730"] = { "마법사 사냥개", -- [1] "마력의 탑", -- [2] }, ["105301"] = { "가속화의 정령", -- [1] "밤의 요새", -- [2] }, ["15548"] = { "유령 백마", -- [1] "카라잔", -- [2] }, ["133430"] = { "투자개발회사 배후조종자", -- [1] "왕노다지 광산!!", -- [2] }, ["45922"] = { "창공의 암살자", -- [1] "소용돌이 누각", -- [2] }, ["57751"] = { "파멸 촉수", -- [1] "용의 영혼", -- [2] }, ["142148"] = { "전쟁어미 라칼리", -- [1] "울디르", -- [2] }, ["53890"] = { "흉측한 융합체", -- [1] "용의 영혼", -- [2] }, ["130025"] = { "무쇠파도 폭력단원", -- [1] "톨 다고르", -- [2] }, ["140273"] = { "룬발굽 소굴지기", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["72365"] = { "용아귀 포병", -- [1] "오그리마 공성전", -- [2] }, ["129548"] = { "검은이빨 투사", -- [1] "자유지대", -- [2] }, ["145274"] = { "얄랏의 보루", -- [1] "다자알로 전투", -- [2] }, ["146493"] = { "살육의 유령", -- [1] "다자알로 전투", -- [2] }, ["138565"] = { "미리스", -- [1] "", -- [2] }, ["130400"] = { "무쇠파도 분쇄자", -- [1] "자유지대", -- [2] }, ["123398"] = { "가로시 파멸자", -- [1] "안토러스 - 불타는 왕좌", -- [2] }, ["146114"] = { "쇄도의 바람", -- [1] "", -- [2] }, ["146886"] = { "악취나는 흐롤슈칼트", -- [1] "사라스 섬", -- [2] }, ["111554"] = { "지옥화염 마귀", -- [1] "밤의 요새", -- [2] }, ["141938"] = { "애쉬베인 저격수", -- [1] "보랄러스 공성전", -- [2] }, ["40306"] = { "황혼의 무기전문가", -- [1] "그림 바톨", -- [2] }, ["146596"] = { "어둠비늘 미르미돈", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["141896"] = { "여군주 하티", -- [1] "왕들의 안식처", -- [2] }, ["139395"] = { "진창매복 늪지기", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136714"] = { "무엇인가", -- [1] "격전지 아라시 - 호드", -- [2] }, ["152512"] = { "폭풍망령", -- [1] "영원한 궁전", -- [2] }, ["139217"] = { "늙은 막핀나무", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["76806"] = { "산의 정수", -- [1] "검은바위 용광로", -- [2] }, ["16700"] = { "으스러진 손 군단병", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["139679"] = { "앓그를", -- [1] "사라스 섬", -- [2] }, ["139470"] = { "용 조련사 시쇼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["114522"] = { "가마솥 부인", -- [1] "다시 찾은 카라잔", -- [2] }, ["26716"] = { "하늘빛 수호병", -- [1] "마력의 탑", -- [2] }, ["136810"] = { "조약돌 대지전복자", -- [1] "", -- [2] }, ["146911"] = { "썩은살점 황폐사냥개", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139805"] = { "기계 경비견", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["124279"] = { "아이유", -- [1] "폭풍의 용광로", -- [2] }, ["151687"] = { "비명쟁이", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["147225"] = { "아제라이트 추출기", -- [1] "사라스 섬", -- [2] }, ["44922"] = { "굳은서약 도끼잡이", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["73342"] = { "타락한 웅덩이지기", -- [1] "오그리마 공성전", -- [2] }, ["43612"] = { "고위 사제 바림", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["136045"] = { "분쇄파도", -- [1] "", -- [2] }, ["140078"] = { "주먹쿵 고릴라", -- [1] "사라스 섬", -- [2] }, ["152521"] = { "거나즈", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["136493"] = { "타락한 감시자", -- [1] "울디르", -- [2] }, ["31104"] = { "안카하르 감시자", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["21104"] = { "균열의 문지기", -- [1] "어둠의 문 열기", -- [2] }, ["139467"] = { "화강암주먹 킨수", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["142587"] = { "탐욕스러운 구더기", -- [1] "웨이크레스트 저택", -- [2] }, ["80534"] = { "고집 센 강철발굽", -- [1] "검은바위 용광로", -- [2] }, ["111151"] = { "야밤의 착취자", -- [1] "밤의 요새", -- [2] }, ["60208"] = { "무엇인가", -- [1] "스톰스타우트 양조장", -- [2] }, ["135975"] = { "비번 노동자", -- [1] "왕노다지 광산!!", -- [2] }, ["150165"] = { "수액 정령", -- [1] "작전명: 메카곤", -- [2] }, ["139669"] = { "주술사 가르믈", -- [1] "사라스 섬", -- [2] }, ["20208"] = { "멘누의 치유의 수호물", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["140449"] = { "뭉툭몸통", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["135999"] = { "헬리오도르", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["139860"] = { "보루카르 땅거미", -- [1] "", -- [2] }, ["87520"] = { "살아 움직이는 용암수액", -- [1] "검은바위 용광로", -- [2] }, ["130661"] = { "투자개발회사 대지창조자", -- [1] "왕노다지 광산!!", -- [2] }, ["139000"] = { "늙은 유르", -- [1] "", -- [2] }, ["136793"] = { "의회 수습생", -- [1] "격전지 아라시 - 호드", -- [2] }, ["40586"] = { "여군주 나즈자르", -- [1] "파도의 왕좌", -- [2] }, ["131669"] = { "삐죽사냥개", -- [1] "웨이크레스트 저택", -- [2] }, ["139861"] = { "보루카르 날벌레", -- [1] "", -- [2] }, ["126424"] = { "산호등 파도발", -- [1] "사라스 섬", -- [2] }, ["20912"] = { "선구자 스키리스", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["103224"] = { "불안정한 전갈", -- [1] "밤의 요새", -- [2] }, ["72357"] = { "부관 크루그럭", -- [1] "오그리마 공성전", -- [2] }, ["30179"] = { "황혼의 사도", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["129599"] = { "바다가름 칼부림꾼", -- [1] "자유지대", -- [2] }, ["71476"] = { "구체화된 고통", -- [1] "오그리마 공성전", -- [2] }, ["36661"] = { "서릿발송곳니", -- [1] "사론의 구덩이", -- [2] }, ["139038"] = { "카이후", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["134893"] = { "강철그물 거미", -- [1] "", -- [2] }, ["28826"] = { "폭풍격노 망령", -- [1] "번개의 전당", -- [2] }, ["71480"] = { "쑨 텐더하트", -- [1] "오그리마 공성전", -- [2] }, ["114802"] = { "유령 장인", -- [1] "다시 찾은 카라잔", -- [2] }, ["123293"] = { "제왕 모래 게", -- [1] "사라스 섬", -- [2] }, ["72903"] = { "코르크론 공성전문가", -- [1] "오그리마 공성전", -- [2] }, ["139445"] = { "투마트", -- [1] "사라스 섬", -- [2] }, ["139421"] = { "이끼비늘 게카즈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146844"] = { "계악자 올프크리그", -- [1] "", -- [2] }, ["140068"] = { "녹슨가죽 빗송곳니 늑대", -- [1] "", -- [2] }, ["134935"] = { "어미 비쉬스", -- [1] "", -- [2] }, ["154470"] = { "샨드리스 페더문", -- [1] "영원한 궁전", -- [2] }, ["127484"] = { "제스 하울리스", -- [1] "톨 다고르", -- [2] }, ["132903"] = { "마른가지 주민", -- [1] "", -- [2] }, ["21139"] = { "무한의 제압자", -- [1] "어둠의 문 열기", -- [2] }, ["132170"] = { "줄무늬 파쿠", -- [1] "영원한 궁전", -- [2] }, ["140661"] = { "골짜기천둥", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["136875"] = { "무역상 우두", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["127315"] = { "되살리기 토템", -- [1] "아탈다자르", -- [2] }, ["134799"] = { "심연집게", -- [1] "사라스 섬", -- [2] }, ["140112"] = { "바위채찍", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146832"] = { "강령술사 사도", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140263"] = { "수컷 룬발굽", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146864"] = { "안개경멸 대지결속사", -- [1] "조룬달 (섬 7)", -- [2] }, ["134005"] = { "혈암깨물이", -- [1] "왕노다지 광산!!", -- [2] }, ["136207"] = { "스트롬가드 수호병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138224"] = { "성전의 빛의 수호자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["155629"] = { "아즈샤리 폭풍술사", -- [1] "영원한 궁전", -- [2] }, ["146840"] = { "해골 수호자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["30418"] = { "속박된 바람의 정령", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["17357"] = { "끈적거리는 수액", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["139810"] = { "투자회사 중간 관리자", -- [1] "", -- [2] }, ["149358"] = { "거대한 아제라이트보석 수정등", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["137940"] = { "보안 상어", -- [1] "왕노다지 광산!!", -- [2] }, ["144765"] = { "아시스라 다이어송", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["126432"] = { "요동치는 거수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["76057"] = { "청소부 벌레", -- [1] "어둠달 지하묘지", -- [2] }, ["144232"] = { "난폭한 구경꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["133943"] = { "줄의 수하", -- [1] "왕들의 안식처", -- [2] }, ["134932"] = { "썩은그물 무리여왕", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138482"] = { "연금술사 칼루리악", -- [1] "", -- [2] }, ["136844"] = { "무엇인가", -- [1] "사라스 섬", -- [2] }, ["136801"] = { "측량사 꼬질소금", -- [1] "", -- [2] }, ["144837"] = { "어둠해안 순록", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["140343"] = { "칼날날개", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["137484"] = { "왕 아아쿨", -- [1] "왕들의 안식처", -- [2] }, ["150253"] = { "무장한 거미전차", -- [1] "작전명: 메카곤", -- [2] }, ["129828"] = { "바닷물비늘 딸깍이", -- [1] "사라스 섬", -- [2] }, ["146875"] = { "흉포한 발리모크", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["73745"] = { "코르크론 강철파수병", -- [1] "오그리마 공성전", -- [2] }, ["129600"] = { "항만의 시궁쥐단 소금비늘", -- [1] "자유지대", -- [2] }, ["131974"] = { "부관 발렌", -- [1] "격전지 아라시 - 호드", -- [2] }, ["122716"] = { "응결된 공허", -- [1] "삼두정의 권좌", -- [2] }, ["131009"] = { "황금 영혼", -- [1] "아탈다자르", -- [2] }, ["136864"] = { "공포의 우구우", -- [1] "", -- [2] }, ["140100"] = { "전쟁주둥이", -- [1] "", -- [2] }, ["30287"] = { "약탈자 외눈깨비", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["145039"] = { "눈추적자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139399"] = { "진창매복 전사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139032"] = { "칼지느러미 너울경비병", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["129016"] = { "남쪽바다 장총병", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["144972"] = { "칼도레이 사냥꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["138247"] = { "무쇠파도 약탈자", -- [1] "보랄러스 공성전", -- [2] }, ["17622"] = { "명사수 경비병", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["140850"] = { "즐겁게 뛰노는 흙 족속", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["71157"] = { "독한 마음의 자릴", -- [1] "오그리마 공성전", -- [2] }, ["151657"] = { "폭탄 통통 로봇", -- [1] "작전명: 메카곤", -- [2] }, ["147965"] = { "불안정한 아제라이트", -- [1] "조룬달 (섬 7)", -- [2] }, ["136840"] = { "조가", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140090"] = { "아나타쉬", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["115844"] = { "고로스", -- [1] "살게라스의 무덤", -- [2] }, ["149343"] = { "광란이 주입된 아제라이트", -- [1] "", -- [2] }, ["149356"] = { "격노한 아제라이트보석 수정등", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["45259"] = { "시아마트의 하수인", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["137103"] = { "피의 환영", -- [1] "썩은굴", -- [2] }, ["134915"] = { "들창 잠복거미", -- [1] "", -- [2] }, ["133605"] = { "탈출한 범죄자", -- [1] "톨 다고르", -- [2] }, ["30278"] = { "안카하르 주문술사", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["145372"] = { "야생 달비명꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["149349"] = { "석회화된 아제라이트", -- [1] "조룬달 (섬 7)", -- [2] }, ["144772"] = { "여군주 타마킨", -- [1] "", -- [2] }, ["28961"] = { "티타늄 공성파괴자", -- [1] "번개의 전당", -- [2] }, ["145060"] = { "무시무시한 그늘깃털", -- [1] "", -- [2] }, ["138433"] = { "해일여제 베사나", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["140541"] = { "화염그물 불거미", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["135895"] = { "타오르는 불꽃", -- [1] "", -- [2] }, ["141057"] = { "파도 군주 보르샤스즈", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["71395"] = { "변형된 령 골렘", -- [1] "오그리마 공성전", -- [2] }, ["153090"] = { "여군주 베놈텅", -- [1] "영원한 궁전", -- [2] }, ["144973"] = { "칼도레이 파수꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["129032"] = { "뒤처진 선원", -- [1] "", -- [2] }, ["151476"] = { "작렬로봇 X-80", -- [1] "작전명: 메카곤", -- [2] }, ["146253"] = { "수사 조셉", -- [1] "다자알로 전투", -- [2] }, ["26793"] = { "수정 껍질덩굴손", -- [1] "마력의 탑", -- [2] }, ["134898"] = { "맹독송곳니 그늘거미", -- [1] "", -- [2] }, ["31260"] = { "이미야르 하늘소환사", -- [1] "사론의 구덩이", -- [2] }, ["111463"] = { "야수 정령", -- [1] "다자알로 전투", -- [2] }, ["55312"] = { "잠들지 않는 요르사지", -- [1] "용의 영혼", -- [2] }, ["138641"] = { "무엇인가", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["95061"] = { "상급 불의 정령", -- [1] "폭풍의 사원", -- [2] }, ["139656"] = { "시린빛 점쟁이", -- [1] "사라스 섬", -- [2] }, ["112255"] = { "슬러지락스", -- [1] "밤의 요새", -- [2] }, ["134791"] = { "영롱한 엉금게", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["29311"] = { "사자 볼라즈", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["139476"] = { "바위속박 흉물", -- [1] "사라스 섬", -- [2] }, ["140427"] = { "산악발굽 무리아비", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["139663"] = { "안개비늘 갈대엮이", -- [1] "사라스 섬", -- [2] }, ["144747"] = { "파쿠의 위상", -- [1] "다자알로 전투", -- [2] }, ["55689"] = { "폭풍술사 하가라", -- [1] "용의 영혼", -- [2] }, ["72893"] = { "오그리마 일꾼", -- [1] "오그리마 공성전", -- [2] }, ["139349"] = { "무덤소환사 무자", -- [1] "", -- [2] }, ["20868"] = { "혼돈의 눈", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["116689"] = { "아트리간", -- [1] "살게라스의 무덤", -- [2] }, ["131847"] = { "웨이크레스트 난봉꾼", -- [1] "웨이크레스트 저택", -- [2] }, ["112718"] = { "별의 창조물", -- [1] "밤의 요새", -- [2] }, ["140382"] = { "보석 박힌 수확자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140086"] = { "솔먹이 순록", -- [1] "사라스 섬", -- [2] }, ["75209"] = { "녹아내린 대지의 정령", -- [1] "피망치 잿가루 광산", -- [2] }, ["59521"] = { "부글거리는 맥주 주령", -- [1] "스톰스타우트 양조장", -- [2] }, ["154682"] = { "공포의 메아리", -- [1] "영원한 궁전", -- [2] }, ["114251"] = { "갈린더", -- [1] "다시 찾은 카라잔", -- [2] }, ["146491"] = { "응징의 유령", -- [1] "다자알로 전투", -- [2] }, ["119969"] = { "황천의 가오리", -- [1] "웨이크레스트 저택", -- [2] }, ["140562"] = { "유황 사냥개", -- [1] "", -- [2] }, ["30621"] = { "고치냠냠", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["136347"] = { "파도현자 수습생", -- [1] "폭풍의 사원", -- [2] }, ["71420"] = { "굶주린 쿤총", -- [1] "오그리마 공성전", -- [2] }, ["153092"] = { "베나 씨스톰", -- [1] "영원한 궁전", -- [2] }, ["139946"] = { "심장부 수호자", -- [1] "세스랄리스 사원", -- [2] }, ["32938"] = { "순간 빙결 얼음", -- [1] "울두아르", -- [2] }, ["144993"] = { "광기 어린 가시곰", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["76253"] = { "새끼 공포의 까마귀", -- [1] "하늘탑", -- [2] }, ["139033"] = { "칼지느러미 물마술사", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["140439"] = { "사향몸통 무리지도자", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["142336"] = { "난쟁이 문어", -- [1] "사라스 섬", -- [2] }, ["151900"] = { "공포의 소환사", -- [1] "영원한 궁전", -- [2] }, ["140182"] = { "밀림지진 나뭇잎납작이", -- [1] "", -- [2] }, ["145303"] = { "칼도레이 수리검 투척기", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["140430"] = { "산악발굽 펄쩍이", -- [1] "", -- [2] }, ["122850"] = { "암영의 경비병", -- [1] "살게라스의 무덤", -- [2] }, ["139355"] = { "서리검사 구란", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["146829"] = { "불멸의 수호자", -- [1] "폭풍의 용광로", -- [2] }, ["152202"] = { "로와 블러드스트라이크", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["40577"] = { "나즈자르 파수꾼", -- [1] "파도의 왕좌", -- [2] }, ["138644"] = { "크발디르 저주방랑자", -- [1] "", -- [2] }, ["159510"] = { "심연의 눈", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["148432"] = { "썬더란의 질풍의 토템", -- [1] "정복의 섬", -- [2] }, ["25757"] = { "아후나이트 서리바람", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["103822"] = { "나무정령", -- [1] "폭풍의 용광로", -- [2] }, ["129786"] = { "바닷물비늘 마크루라", -- [1] "사라스 섬", -- [2] }, ["102263"] = { "스코르파이론", -- [1] "밤의 요새", -- [2] }, ["135838"] = { "오염바람", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["132056"] = { "투자개발회사 하늘방화꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["145399"] = { "야생 별비명꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["119950"] = { "유황 지옥불정령", -- [1] "살게라스의 무덤", -- [2] }, ["122089"] = { "뱀갈퀴 점쟁이", -- [1] "사라스 섬", -- [2] }, ["120153"] = { "영겁의 방어병", -- [1] "살게라스의 무덤", -- [2] }, ["26670"] = { "이미야르 인간사냥꾼", -- [1] "우트가드 첨탑", -- [2] }, ["130918"] = { "아르켈리온 거대거북", -- [1] "사라스 섬", -- [2] }, ["136868"] = { "우움굿 난동꾼", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["54920"] = { "무한의 억압자", -- [1] "시간의 끝", -- [2] }, ["140490"] = { "피멍울 유충", -- [1] "울디르", -- [2] }, ["34234"] = { "룬으로 벼려낸 파수병", -- [1] "울두아르", -- [2] }, ["126100"] = { "황혼거죽 배회자", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["75975"] = { "무엇인가", -- [1] "하늘탑", -- [2] }, ["33288"] = { "요그사론", -- [1] "울두아르", -- [2] }, ["139676"] = { "파도예언자 옮르그", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["135165"] = { "아이언포지 흑마술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["78832"] = { "그롬카르 무장병", -- [1] "검은바위 용광로", -- [2] }, ["131577"] = { "불의 정령", -- [1] "격전지 아라시 - 호드", -- [2] }, ["136829"] = { "마른가지 도끼 투척병", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138473"] = { "스티지아", -- [1] "", -- [2] }, ["36476"] = { "이크", -- [1] "사론의 구덩이", -- [2] }, ["73104"] = { "불안정한 불꽃", -- [1] "오그리마 공성전", -- [2] }, ["128551"] = { "무쇠파도 파수견", -- [1] "자유지대", -- [2] }, ["140335"] = { "밤비늘 비명독사", -- [1] "조룬달 (섬 7)", -- [2] }, ["140434"] = { "산악발굽 바위뿔", -- [1] "", -- [2] }, ["132911"] = { "조약돌 트로그", -- [1] "", -- [2] }, ["140063"] = { "식인 박살아귀", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["130318"] = { "뱀갈퀴 예언자", -- [1] "사라스 섬", -- [2] }, ["126023"] = { "항만 사우리드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["53889"] = { "무엇인가", -- [1] "용의 영혼", -- [2] }, ["22181"] = { "똥탱즈그즈그", -- [1] "폭풍의 용광로", -- [2] }, ["139004"] = { "바람의 땅 주슬사", -- [1] "", -- [2] }, ["56717"] = { "홉탈루스", -- [1] "스톰스타우트 양조장", -- [2] }, ["136881"] = { "뻣뻣갈기 길잡이", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["137880"] = { "북부습곡 수호병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["150818"] = { "성난 핏방울", -- [1] "울디르 시나리오", -- [2] }, ["154240"] = { "아즈샤라의 심복", -- [1] "영원한 궁전", -- [2] }, ["150190"] = { "HK-8 공중 압박 유닛", -- [1] "작전명: 메카곤", -- [2] }, ["18311"] = { "에테리얼 납골당 침입자", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["145041"] = { "날렵꼬리 추적자", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["140993"] = { "어둠땅굴 복병", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["136100"] = { "가라앉은 토착영혼", -- [1] "폭풍의 사원", -- [2] }, ["148194"] = { "얼음 방벽", -- [1] "다자알로 전투", -- [2] }, ["120482"] = { "물결비늘 바다소환사", -- [1] "살게라스의 무덤", -- [2] }, ["128928"] = { "게 알", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["140157"] = { "새끼포식자 썩은발톱", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["140695"] = { "백색 공포의 송곳니", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["147948"] = { "응고된 아제라이트", -- [1] "사라스 섬", -- [2] }, ["140440"] = { "뿔난 핏빛털", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["146860"] = { "안개경멸 약탈자", -- [1] "조룬달 (섬 7)", -- [2] }, ["140799"] = { "급류추적자", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["132803"] = { "바위갈기 웬디고", -- [1] "조룬달 (섬 7)", -- [2] }, ["140151"] = { "새끼 썩은발톱", -- [1] "", -- [2] }, ["151742"] = { "공허에 물든 침략자", -- [1] "동부 왕국 - 주홍빛 보루 - 아제로스의 심장 시나리오", -- [2] }, ["72249"] = { "갈라크라스", -- [1] "오그리마 공성전", -- [2] }, ["73948"] = { "사령관 이크탈", -- [1] "오그리마 공성전", -- [2] }, ["72150"] = { "코르크론 어둠마법사", -- [1] "오그리마 공성전", -- [2] }, ["72367"] = { "용아귀 파도주술사", -- [1] "오그리마 공성전", -- [2] }, ["132868"] = { "응결된 아제라이트", -- [1] "", -- [2] }, ["68476"] = { "공포뿔", -- [1] "정복의 섬", -- [2] }, ["45477"] = { "돌풍 병사", -- [1] "소용돌이 누각", -- [2] }, ["140158"] = { "담즙에 젖은 썩은발톱", -- [1] "", -- [2] }, ["120516"] = { "칼날턱 날쌘비늘", -- [1] "살게라스의 무덤", -- [2] }, ["71865"] = { "가로쉬 헬스크림", -- [1] "오그리마 공성전", -- [2] }, ["121011"] = { "물결비늘 마녀", -- [1] "살게라스의 무덤", -- [2] }, ["103225"] = { "산성아귀 전갈", -- [1] "밤의 요새", -- [2] }, ["134428"] = { "마름모뱀 칼날서약병", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["136798"] = { "조약돌 뼈다귀싸움꾼", -- [1] "", -- [2] }, ["121071"] = { "장로 거먹눈 멀록", -- [1] "살게라스의 무덤", -- [2] }, ["119742"] = { "지옥수호병 침략자", -- [1] "살게라스의 무덤", -- [2] }, ["140153"] = { "썩은발톱 곰", -- [1] "", -- [2] }, ["140682"] = { "빙하주먹", -- [1] "", -- [2] }, ["139407"] = { "송곳니공포", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["134364"] = { "부정한 관리인", -- [1] "세스랄리스 사원", -- [2] }, ["36658"] = { "스컬지군주 티라누스", -- [1] "사론의 구덩이", -- [2] }, ["31236"] = { "얼룩 사슴", -- [1] "바위심장부", -- [2] }, ["131492"] = { "기원의 혈사제", -- [1] "썩은굴", -- [2] }, ["135007"] = { "보주 수호자", -- [1] "세스랄리스 사원", -- [2] }, ["78001"] = { "폭우의 토템", -- [1] "다자알로 전투", -- [2] }, ["151056"] = { "위대한 바랑크울", -- [1] "폭풍의 용광로", -- [2] }, ["75406"] = { "슬라그나", -- [1] "피망치 잿가루 광산", -- [2] }, ["140989"] = { "뼈비늘 벌레", -- [1] "사라스 섬", -- [2] }, ["136824"] = { "굴란 불꽃소환사", -- [1] "", -- [2] }, ["122401"] = { "어둠수호병 요술쟁이", -- [1] "삼두정의 권좌", -- [2] }, ["111227"] = { "펠위버 파라미어", -- [1] "밤의 요새", -- [2] }, ["149355"] = { "변종 아제라이트보석 수정등", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["56848"] = { "황혼의 정예 학살자", -- [1] "용의 영혼", -- [2] }, ["139662"] = { "안개비늘 비소환사", -- [1] "사라스 섬", -- [2] }, ["136882"] = { "뻣뻣갈기 수호병", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["145304"] = { "야생의 교살자", -- [1] "사라스 섬", -- [2] }, ["17356"] = { "끈적거리는 수액괴물", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["39873"] = { "황혼의 용소환사", -- [1] "그림 바톨", -- [2] }, ["133972"] = { "대형포", -- [1] "톨 다고르", -- [2] }, ["25756"] = { "아후나이트 한파", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["126969"] = { "트로삭", -- [1] "자유지대", -- [2] }, ["137320"] = { "최정예 방어병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140345"] = { "폭풍비명", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["134787"] = { "가시집게 꽃게", -- [1] "사라스 섬", -- [2] }, ["141634"] = { "올슨 브라이트실드", -- [1] "보랄러스 공성전", -- [2] }, ["111081"] = { "전격폭풍", -- [1] "밤의 요새", -- [2] }, ["130028"] = { "애쉬베인 사제", -- [1] "톨 다고르", -- [2] }, ["146112"] = { "검은털 거수", -- [1] "", -- [2] }, ["146945"] = { "들끓는 공허의 피조물", -- [1] "폭풍의 용광로", -- [2] }, ["142219"] = { "기이한 사자", -- [1] "울디르", -- [2] }, ["144767"] = { "공크의 위상", -- [1] "다자알로 전투", -- [2] }, ["136806"] = { "돌마법사 바르그", -- [1] "", -- [2] }, ["131607"] = { "소스요리사 사무엘", -- [1] "웨이크레스트 저택", -- [2] }, ["122313"] = { "승천자 주라알", -- [1] "삼두정의 권좌", -- [2] }, ["17959"] = { "갈퀴송곳니 노예감독", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["136592"] = { "플린 페어윈드", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["134801"] = { "깨진 껍질 거북", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["17621"] = { "이교도 경비병", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["146256"] = { "라미나리아", -- [1] "다자알로 전투", -- [2] }, ["112973"] = { "황혼감시대 역술사", -- [1] "밤의 요새", -- [2] }, ["77559"] = { "태양 확대경", -- [1] "하늘탑", -- [2] }, ["15547"] = { "유령 준마", -- [1] "카라잔", -- [2] }, ["136549"] = { "애쉬베인 포병", -- [1] "보랄러스 공성전", -- [2] }, ["58959"] = { "윅실린", -- [1] "폭풍의 용광로", -- [2] }, ["140083"] = { "천둥발 쿨라", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["138562"] = { "공허 구더기", -- [1] "사라스 섬", -- [2] }, ["87762"] = { "공격대원의 훈련용 허수아비", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["26764"] = { "일사 다이어브루", -- [1] "검은바위 나락", -- [2] }, ["134331"] = { "왕 라후아이", -- [1] "왕들의 안식처", -- [2] }, ["30111"] = { "황혼의 숭배자", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["137458"] = { "썩어가는 포자", -- [1] "썩은굴", -- [2] }, ["25755"] = { "아후나이트 우박", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["139804"] = { "투자회사 조사관", -- [1] "", -- [2] }, ["129208"] = { "공포의 선장 록우드", -- [1] "보랄러스 공성전", -- [2] }, ["55308"] = { "장군 존오즈", -- [1] "용의 영혼", -- [2] }, ["149508"] = { "얼음에 갇힌 나타노스", -- [1] "다자알로 전투", -- [2] }, ["134686"] = { "다 자란 크롤러스크", -- [1] "세스랄리스 사원", -- [2] }, ["71529"] = { "피에 굶주린 토크", -- [1] "오그리마 공성전", -- [2] }, ["33988"] = { "불멸의 수호병", -- [1] "울두아르", -- [2] }, ["129227"] = { "아제로크", -- [1] "왕노다지 광산!!", -- [2] }, ["54693"] = { "뒤틀린 시간의 소총병", -- [1] "시간의 끝", -- [2] }, ["131812"] = { "심장파멸 영혼매혹사", -- [1] "웨이크레스트 저택", -- [2] }, ["135327"] = { "드워프 박격포", -- [1] "격전지 아라시 - 호드", -- [2] }, ["151058"] = { "부글거리는 피", -- [1] "폭풍의 용광로", -- [2] }, ["141988"] = { "절벽지기 땅거미", -- [1] "폭풍의 용광로", -- [2] }, ["30284"] = { "해골분쇄자", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["140457"] = { "나무털 뿔소", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["27984"] = { "암흑룬 폭풍소환사", -- [1] "돌의 전당", -- [2] }, ["71543"] = { "잿빛너울", -- [1] "오그리마 공성전", -- [2] }, ["130584"] = { "가시박이", -- [1] "사라스 섬", -- [2] }, ["122973"] = { "다자르아이 고해사제", -- [1] "아탈다자르", -- [2] }, ["139537"] = { "자라티크 쿤총", -- [1] "", -- [2] }, ["146769"] = { "발톱의 드루이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["135837"] = { "소용돌이 부관", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["151918"] = { "북녘의 라즈카", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["29819"] = { "드라카리 창기병", -- [1] "군드락", -- [2] }, ["33572"] = { "강철로 벼려낸 수호병", -- [1] "울두아르", -- [2] }, ["93913"] = { "지옥불사냥개", -- [1] "지옥불 성채", -- [2] }, ["75459"] = { "역병에 걸린 박쥐", -- [1] "어둠달 지하묘지", -- [2] }, ["138486"] = { "알루리악", -- [1] "", -- [2] }, ["65522"] = { "거품 보호막", -- [1] "스톰스타우트 양조장", -- [2] }, ["40448"] = { "황혼의 집행자", -- [1] "그림 바톨", -- [2] }, ["112956"] = { "빛나는 마나돌기거북", -- [1] "밤의 요새", -- [2] }, ["139681"] = { "싸늘지느러미", -- [1] "", -- [2] }, ["139208"] = { "고대 수호병", -- [1] "", -- [2] }, ["43873"] = { "알타이루스", -- [1] "소용돌이 누각", -- [2] }, ["74475"] = { "용암주먹", -- [1] "피망치 잿가루 광산", -- [2] }, ["139671"] = { "상어학살자 머글룩", -- [1] "사라스 섬", -- [2] }, ["145269"] = { "반짝가시", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["136874"] = { "봉크", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["139227"] = { "간수 운다리우스", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["17252"] = { "지옥수호병", -- [1] "울디르", -- [2] }, ["136005"] = { "난폭한 구경꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["140609"] = { "탐욕의 마코", -- [1] "사라스 섬", -- [2] }, ["139659"] = { "안개비늘 점쟁이", -- [1] "사라스 섬", -- [2] }, ["150254"] = { "고철사냥개", -- [1] "작전명: 메카곤", -- [2] }, ["151862"] = { "영혼방랑자 페살", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["140662"] = { "늙은 거대털", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["118729"] = { "타락한 여사제", -- [1] "살게라스의 무덤", -- [2] }, ["135474"] = { "엉겅퀴 수행사제", -- [1] "웨이크레스트 저택", -- [2] }, ["103326"] = { "야수 정령", -- [1] "폭풍의 용광로", -- [2] }, ["140616"] = { "부패 깃든 나즈마니", -- [1] "울디르", -- [2] }, ["130335"] = { "돌장갑 수정눈바실리스크", -- [1] "", -- [2] }, ["140339"] = { "계곡의 공포", -- [1] "사라스 섬", -- [2] }, ["138504"] = { "장군 다카리온", -- [1] "사라스 섬", -- [2] }, ["54432"] = { "무르도즈노", -- [1] "시간의 끝", -- [2] }, ["140357"] = { "맹독절단자", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["152009"] = { "고장난 고철로봇", -- [1] "작전명: 메카곤", -- [2] }, ["130298"] = { "물의 정령", -- [1] "", -- [2] }, ["44897"] = { "소인족 정찰병", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["48756"] = { "갈고리 그물", -- [1] "그림 바톨", -- [2] }, ["131311"] = { "방출된 아제라이트", -- [1] "", -- [2] }, ["138846"] = { "호박석날개 정신노래꾼", -- [1] "", -- [2] }, ["152313"] = { "공포똬리 괴수", -- [1] "영원한 궁전", -- [2] }, ["146103"] = { "살아있는 폭탄", -- [1] "다자알로 전투", -- [2] }, ["43875"] = { "아사드", -- [1] "소용돌이 누각", -- [2] }, ["114801"] = { "유령 수습생", -- [1] "다시 찾은 카라잔", -- [2] }, ["155738"] = { "집결 깃발", -- [1] "영원한 궁전", -- [2] }, ["128651"] = { "하달 다크패덤", -- [1] "보랄러스 공성전", -- [2] }, ["151812"] = { "탐지로봇", -- [1] "작전명: 메카곤", -- [2] }, ["146874"] = { "바람소환사 마리아", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["86000"] = { "점잖은 갈래발굽", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["73188"] = { "사로잡힌 동굴 박쥐", -- [1] "오그리마 공성전", -- [2] }, ["73191"] = { "물의 수호병", -- [1] "오그리마 공성전", -- [2] }, ["130581"] = { "모래눈이", -- [1] "조룬달 (섬 7)", -- [2] }, ["134913"] = { "새끼 들창 거미", -- [1] "", -- [2] }, ["131817"] = { "감염된 돌쩌귀", -- [1] "썩은굴", -- [2] }, ["139462"] = { "바위속박 혈암예언자", -- [1] "사라스 섬", -- [2] }, ["139442"] = { "척추파쇄자 주칸", -- [1] "사라스 섬", -- [2] }, ["57819"] = { "타락한 파편", -- [1] "용의 영혼", -- [2] }, ["113128"] = { "메마른 잠복자", -- [1] "밤의 요새", -- [2] }, ["148962"] = { "걸신들린 추적자", -- [1] "다자알로 전투", -- [2] }, ["42333"] = { "대여사제 아질", -- [1] "바위심장부", -- [2] }, ["45572"] = { "울부짖는 강풍", -- [1] "소용돌이 누각", -- [2] }, ["138441"] = { "심연의 여가수", -- [1] "사라스 섬", -- [2] }, ["28547"] = { "폭풍의 소용돌이", -- [1] "번개의 전당", -- [2] }, ["45065"] = { "톨비르 상인", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["72485"] = { "고마", -- [1] "오그리마 공성전", -- [2] }, ["45378"] = { "오우", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["140298"] = { "흉포한 골쿤", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["137713"] = { "돈벼락 게", -- [1] "왕노다지 광산!!", -- [2] }, ["111112"] = { "원기", -- [1] "밤의 요새", -- [2] }, ["134908"] = { "붉은송곳니", -- [1] "", -- [2] }, ["153377"] = { "끈적이", -- [1] "작전명: 메카곤", -- [2] }, ["33432"] = { "거대 전차 마크 II", -- [1] "울두아르", -- [2] }, ["126963"] = { "그윈드라 와일드해머", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138561"] = { "얼굴 없는 정신해체자", -- [1] "사라스 섬", -- [2] }, ["134137"] = { "사원 수행원", -- [1] "폭풍의 사원", -- [2] }, ["135192"] = { "명예로운 랩터", -- [1] "왕들의 안식처", -- [2] }, ["42428"] = { "독실한 추종자", -- [1] "바위심장부", -- [2] }, ["151916"] = { "제그라 샤프액스", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["136854"] = { "바룬 플린트후프", -- [1] "", -- [2] }, ["152282"] = { "지하요새 정예 경비병", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["73538"] = { "코르크론 전투늑대", -- [1] "오그리마 공성전", -- [2] }, ["138651"] = { "실베리아 리프콜러", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["136835"] = { "킨토가 비스트베인", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["136893"] = { "지면진동자 아간", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["145787"] = { "강철고조 포병", -- [1] "아탈다자르", -- [2] }, ["140987"] = { "탐욕의 살점융해자", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["74009"] = { "거미 지뢰", -- [1] "오그리마 공성전", -- [2] }, ["72929"] = { "스라티크 호박석 전문가", -- [1] "오그리마 공성전", -- [2] }, ["72496"] = { "감독관 타퉁", -- [1] "오그리마 공성전", -- [2] }, ["122450"] = { "가로시 세계파괴자", -- [1] "안토러스 - 불타는 왕좌", -- [2] }, ["138630"] = { "성직자 이자드", -- [1] "조룬달 (섬 7)", -- [2] }, ["138438"] = { "파도약탈자 강철송곳니", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["75652"] = { "공허의 피조물", -- [1] "어둠달 지하묘지", -- [2] }, ["140378"] = { "모래껍질 무리감시자", -- [1] "", -- [2] }, ["147827"] = { "7군단 해병", -- [1] "다자알로 전투", -- [2] }, ["75509"] = { "새다나 블러드퓨리", -- [1] "어둠달 지하묘지", -- [2] }, ["139018"] = { "잠든 산", -- [1] "", -- [2] }, ["140560"] = { "불꽃추적자", -- [1] "", -- [2] }, ["145645"] = { "7군단 해병", -- [1] "아탈다자르", -- [2] }, ["138483"] = { "흑요석 괴물", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["121571"] = { "아이유", -- [1] "폭풍의 용광로", -- [2] }, ["135258"] = { "무쇠파도 약탈자", -- [1] "보랄러스 공성전", -- [2] }, ["151841"] = { "전령 버그톡", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["155277"] = { "분쇄자 고르제쉬", -- [1] "영원한 궁전", -- [2] }, ["134940"] = { "뻣뻣가시 관통거미", -- [1] "", -- [2] }, ["134514"] = { "심연의 이교도", -- [1] "폭풍의 사원", -- [2] }, ["127106"] = { "무쇠파도 장교", -- [1] "자유지대", -- [2] }, ["72483"] = { "사로크", -- [1] "오그리마 공성전", -- [2] }, ["883"] = { "사슴", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139753"] = { "난파당한 주먹꾼", -- [1] "", -- [2] }, ["111303"] = { "나이트본 현자", -- [1] "밤의 요새", -- [2] }, ["146882"] = { "거대한 황폐사냥개", -- [1] "조룬달 (섬 7)", -- [2] }, ["131667"] = { "영혼결속 거한", -- [1] "웨이크레스트 저택", -- [2] }, ["135475"] = { "도살자 쿨라", -- [1] "왕들의 안식처", -- [2] }, ["140835"] = { "교활한 화염", -- [1] "사라스 섬", -- [2] }, ["71475"] = { "루크 스톤토", -- [1] "오그리마 공성전", -- [2] }, ["139415"] = { "뱀비늘", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["37588"] = { "타락한 용사", -- [1] "사론의 구덩이", -- [2] }, ["17958"] = { "갈퀴송곳니 파수병", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["154083"] = { "훈련받은 늑대", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["144286"] = { "자산 관리자", -- [1] "왕노다지 광산!!", -- [2] }, ["34085"] = { "용광로 피조물", -- [1] "울두아르", -- [2] }, ["20896"] = { "에테리움 학살자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["116574"] = { "은제 포크", -- [1] "다시 찾은 카라잔", -- [2] }, ["130788"] = { "타기라", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["135406"] = { "살아 움직이는 황금", -- [1] "왕들의 안식처", -- [2] }, ["146940"] = { "태초의 환각술사", -- [1] "폭풍의 용광로", -- [2] }, ["130621"] = { "돌풍술사 브라이슨", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["144754"] = { "공포의 파두울", -- [1] "폭풍의 용광로", -- [2] }, ["151147"] = { "하티", -- [1] "폭풍의 용광로", -- [2] }, ["148483"] = { "선조의 복수자", -- [1] "다자알로 전투", -- [2] }, ["137029"] = { "포격 전문가", -- [1] "왕노다지 광산!!", -- [2] }, ["130334"] = { "돌장갑 큰눈바실리스크", -- [1] "", -- [2] }, ["132760"] = { "평원타란툴라", -- [1] "격전지 아라시 - 호드", -- [2] }, ["133438"] = { "스트롬가드 여마술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["17693"] = { "으스러진 손 척후병", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["71478"] = { "구체화된 고뇌", -- [1] "오그리마 공성전", -- [2] }, ["156000"] = { "라이아니 쉐이드스토커", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["118460"] = { "영혼의 기계", -- [1] "살게라스의 무덤", -- [2] }, ["137487"] = { "해골 사냥 랩터", -- [1] "왕들의 안식처", -- [2] }, ["155618"] = { "잔지르 여사냥꾼", -- [1] "영원한 궁전", -- [2] }, ["105617"] = { "에레다르 혼돈인도자", -- [1] "비전로", -- [2] }, ["144294"] = { "메카곤 땜장이", -- [1] "작전명: 메카곤", -- [2] }, ["133963"] = { "피험 대상", -- [1] "왕노다지 광산!!", -- [2] }, ["44981"] = { "굳은서약 무두장이", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["88967"] = { "훈련용 허수아비", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["134251"] = { "사무장 음바라", -- [1] "왕들의 안식처", -- [2] }, ["20875"] = { "음전자 비명술사", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["133585"] = { "디지 디나", -- [1] "", -- [2] }, ["139867"] = { "보루카르 맹독술사", -- [1] "", -- [2] }, ["141639"] = { "라일라 선워커", -- [1] "보랄러스 공성전", -- [2] }, ["140360"] = { "태양등", -- [1] "", -- [2] }, ["112665"] = { "밤의 요새 수호자", -- [1] "밤의 요새", -- [2] }, ["138989"] = { "짭짤지느러미", -- [1] "사라스 섬", -- [2] }, ["150159"] = { "왕 고바막", -- [1] "작전명: 메카곤", -- [2] }, ["39909"] = { "하늘살이 장군", -- [1] "그림 바톨", -- [2] }, ["73226"] = { "하급 샤 웅덩이", -- [1] "오그리마 공성전", -- [2] }, ["81318"] = { "강철 선임 포병", -- [1] "검은바위 용광로", -- [2] }, ["134024"] = { "탐욕스러운 구더기", -- [1] "웨이크레스트 저택", -- [2] }, ["140991"] = { "골수천공", -- [1] "사라스 섬", -- [2] }, ["139762"] = { "청소부 페이스", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["156132"] = { "아즈샤리 마녀", -- [1] "영원한 궁전", -- [2] }, ["132998"] = { "그훈", -- [1] "울디르", -- [2] }, ["139040"] = { "심연 점쟁이 우나니", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["132755"] = { "딱부리 청소부", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["56161"] = { "타락체", -- [1] "용의 영혼", -- [2] }, ["130522"] = { "자유지대 선박원", -- [1] "자유지대", -- [2] }, ["126092"] = { "뱀갈퀴 검투사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138281"] = { "얼굴 없는 타락자", -- [1] "썩은굴", -- [2] }, ["145851"] = { "칼도레이 히포그리프 기수", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["74366"] = { "제련장인 고그더", -- [1] "피망치 잿가루 광산", -- [2] }, ["75211"] = { "마그마 군주", -- [1] "피망치 잿가루 광산", -- [2] }, ["32878"] = { "암흑룬 기원사", -- [1] "울두아르", -- [2] }, ["24207"] = { "사자의 군대", -- [1] "폭풍의 용광로", -- [2] }, ["139010"] = { "사나운 뾰족발톱", -- [1] "", -- [2] }, ["137830"] = { "창백한 탐식자", -- [1] "웨이크레스트 저택", -- [2] }, ["136976"] = { "트잘라", -- [1] "왕들의 안식처", -- [2] }, ["111164"] = { "황혼의 별무용수", -- [1] "밤의 요새", -- [2] }, ["131726"] = { "사나운 거놀프", -- [1] "사라스 섬", -- [2] }, ["136888"] = { "흙예언자 바룰", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["134437"] = { "의무병 로봇", -- [1] "", -- [2] }, ["119072"] = { "황폐의 숙주", -- [1] "살게라스의 무덤", -- [2] }, ["55864"] = { "눈부신 핏방울", -- [1] "용의 영혼", -- [2] }, ["39450"] = { "트로그 주민", -- [1] "그림 바톨", -- [2] }, ["139466"] = { "코발트 바위경비병", -- [1] "사라스 섬", -- [2] }, ["71378"] = { "기렌 수호자", -- [1] "오그리마 공성전", -- [2] }, ["18994"] = { "무한의 집행자", -- [1] "어둠의 문 열기", -- [2] }, ["138254"] = { "무쇠파도 화약사수", -- [1] "보랄러스 공성전", -- [2] }, ["138660"] = { "안개 사냥개", -- [1] "사라스 섬", -- [2] }, ["136863"] = { "무엇인가", -- [1] "사라스 섬", -- [2] }, ["138472"] = { "흑요석 대장룡", -- [1] "", -- [2] }, ["36840"] = { "이미야르 분노의 사자", -- [1] "사론의 구덩이", -- [2] }, ["146143"] = { "칼가시", -- [1] "", -- [2] }, ["124171"] = { "어둠수호병 정복자", -- [1] "삼두정의 권좌", -- [2] }, ["157486"] = { "끔찍한 출혈체", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["134991"] = { "성난모래 돌주먹", -- [1] "세스랄리스 사원", -- [2] }, ["71153"] = { "무리지기 히세크", -- [1] "오그리마 공성전", -- [2] }, ["26693"] = { "학살자 스카디", -- [1] "우트가드 첨탑", -- [2] }, ["152199"] = { "마법학자 하소렐", -- [1] "오그리마 공성전 - 쿠데타 시나리오", -- [2] }, ["26723"] = { "케리스트라자", -- [1] "마력의 탑", -- [2] }, ["73951"] = { "사령관 티크", -- [1] "오그리마 공성전", -- [2] }, ["120477"] = { "심해 추적자", -- [1] "살게라스의 무덤", -- [2] }, ["137067"] = { "밸러콜 수호자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["122970"] = { "그림자칼날 추적자", -- [1] "아탈다자르", -- [2] }, ["76104"] = { "기괴한 시체 거미", -- [1] "어둠달 지하묘지", -- [2] }, ["138437"] = { "침략자 스제리스", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["133439"] = { "스트롬가드 그리핀 기수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["137716"] = { "밑바닥 포식자", -- [1] "왕노다지 광산!!", -- [2] }, ["122969"] = { "잔추리 의술사", -- [1] "아탈다자르", -- [2] }, ["136859"] = { "붉은머리", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138566"] = { "닐소즈", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["146657"] = { "정예 파수꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["129547"] = { "검은이빨 주먹잡이", -- [1] "자유지대", -- [2] }, ["71479"] = { "허 소프트풋", -- [1] "오그리마 공성전", -- [2] }, ["140272"] = { "숲성큼걸이", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["137516"] = { "애쉬베인 침략자", -- [1] "보랄러스 공성전", -- [2] }, ["138890"] = { "영혼수색자 다르걸프", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["33525"] = { "홍수림 나무정령", -- [1] "울두아르", -- [2] }, ["21702"] = { "에테리움 생명술사", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["103673"] = { "암흑시선", -- [1] "폭풍의 사원", -- [2] }, ["133361"] = { "쓸모없는 시종", -- [1] "웨이크레스트 저택", -- [2] }, ["109038"] = { "태양학자 텔아른", -- [1] "밤의 요새", -- [2] }, ["138489"] = { "줄의 그림자", -- [1] "왕들의 안식처", -- [2] }, ["140458"] = { "수컷 나무털", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["128652"] = { "비크고스", -- [1] "보랄러스 공성전", -- [2] }, ["28838"] = { "티타늄 선봉대원", -- [1] "번개의 전당", -- [2] }, ["72945"] = { "용아귀 해골분쇄자", -- [1] "오그리마 공성전", -- [2] }, ["135161"] = { "아이언포지 산악경비대", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140099"] = { "시끄러운 천둥주둥이", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["129559"] = { "바다가름 결투사", -- [1] "자유지대", -- [2] }, ["29982"] = { "드라카리 약탈자", -- [1] "군드락", -- [2] }, ["131785"] = { "윙윙대는 바퀴", -- [1] "톨 다고르", -- [2] }, ["148621"] = { "제크와", -- [1] "다자알로 전투", -- [2] }, ["155919"] = { "폭풍소환수", -- [1] "영원한 궁전", -- [2] }, ["141939"] = { "애쉬베인 관측병", -- [1] "보랄러스 공성전", -- [2] }, ["140836"] = { "밝은불길", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140297"] = { "노크아라크", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["28926"] = { "아이오나의 불꽃", -- [1] "번개의 전당", -- [2] }, ["140863"] = { "루비바람 악동", -- [1] "조룬달 (섬 7)", -- [2] }, ["77605"] = { "소용돌이치는 춤꾼", -- [1] "하늘탑", -- [2] }, ["114632"] = { "수행원 유령", -- [1] "다시 찾은 카라잔", -- [2] }, ["146863"] = { "안개경멸 노략꾼", -- [1] "조룬달 (섬 7)", -- [2] }, ["131436"] = { "선택받은 혈어미", -- [1] "썩은굴", -- [2] }, ["139667"] = { "예언자 그를글록", -- [1] "사라스 섬", -- [2] }, ["135049"] = { "공포날개 까마귀", -- [1] "웨이크레스트 저택", -- [2] }, ["139694"] = { "냉혹껍질", -- [1] "사라스 섬", -- [2] }, ["72947"] = { "코르크론 파괴전차", -- [1] "오그리마 공성전", -- [2] }, ["38487"] = { "죽은 전사", -- [1] "사론의 구덩이", -- [2] }, ["145065"] = { "어린 밤날개", -- [1] "", -- [2] }, ["136812"] = { "조약돌 흙점쟁이", -- [1] "", -- [2] }, ["38453"] = { "야수 정령", -- [1] "폭풍의 용광로", -- [2] }, ["83624"] = { "피망치 집행자", -- [1] "피망치 잿가루 광산", -- [2] }, ["151639"] = { "광기 어린 소용돌이벌레", -- [1] "넬타리온의 둥지 - 아제로스의 심장 시나리오", -- [2] }, ["134056"] = { "아쿠시르", -- [1] "폭풍의 사원", -- [2] }, ["127019"] = { "훈련용 허수아비", -- [1] "자유지대", -- [2] }, ["140107"] = { "죽음침 채찍전갈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["20859"] = { "알카트라즈 보초병", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["138497"] = { "황혼의 비늘신도", -- [1] "", -- [2] }, ["29838"] = { "드라카리 코뿔소", -- [1] "군드락", -- [2] }, ["34161"] = { "기계전투기 54-A", -- [1] "울두아르", -- [2] }, ["17083"] = { "타락한 오크 변절자", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["71859"] = { "대지파괴자 하로옴", -- [1] "오그리마 공성전", -- [2] }, ["134010"] = { "웅얼거리는 괴물", -- [1] "울디르", -- [2] }, ["139757"] = { "확인사살 존슨", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["138844"] = { "황제의 칼날 야비크", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["28581"] = { "폭풍벼림 전술가", -- [1] "번개의 전당", -- [2] }, ["132864"] = { "어린 주먹쿵", -- [1] "조룬달 (섬 7)", -- [2] }, ["39390"] = { "황혼의 비룡", -- [1] "그림 바톨", -- [2] }, ["139764"] = { "커틀라스꾼 제임", -- [1] "", -- [2] }, ["123236"] = { "종종걸음 게", -- [1] "사라스 섬", -- [2] }, ["126449"] = { "무엇인가", -- [1] "사라스 섬", -- [2] }, ["138643"] = { "크발디르 광전사", -- [1] "사라스 섬", -- [2] }, ["139761"] = { "부두주임 오루어크", -- [1] "조룬달 (섬 7)", -- [2] }, ["40272"] = { "상급 바위파괴자", -- [1] "그림 바톨", -- [2] }, ["88708"] = { "야수 정령", -- [1] "폭풍의 용광로", -- [2] }, ["146774"] = { "상륙정", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["144970"] = { "칼도레이 궁수", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["139751"] = { "뒤처진 봉쇄자", -- [1] "", -- [2] }, ["126291"] = { "얼라이언스 보병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["71161"] = { "칼날바람 킬루크", -- [1] "오그리마 공성전", -- [2] }, ["120158"] = { "급성 타락", -- [1] "살게라스의 무덤", -- [2] }, ["139754"] = { "난파당한 항해사", -- [1] "", -- [2] }, ["134012"] = { "작업반장 아스카리", -- [1] "왕노다지 광산!!", -- [2] }, ["139698"] = { "점쟁이 클래터크로", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["139655"] = { "시린빛 예언자", -- [1] "사라스 섬", -- [2] }, ["134767"] = { "죽음발톱 알어미", -- [1] "사라스 섬", -- [2] }, ["140376"] = { "모래껍질 딱정벌레", -- [1] "조룬달 (섬 7)", -- [2] }, ["139468"] = { "척추절단자 쿠콘", -- [1] "", -- [2] }, ["137947"] = { "무엇인가", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["59684"] = { "흥청망청 호젠", -- [1] "스톰스타우트 양조장", -- [2] }, ["130087"] = { "무쇠파도 약탈단", -- [1] "톨 다고르", -- [2] }, ["132074"] = { "감독관 크릭스", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138650"] = { "파도잠식 용사", -- [1] "Whispering Reef (Islands 10)", -- [2] }, ["146187"] = { "불길의 통솔자", -- [1] "", -- [2] }, ["113013"] = { "지옥서약 그림자칼날", -- [1] "밤의 요새", -- [2] }, ["151148"] = { "하티", -- [1] "다자알로 전투", -- [2] }, ["150251"] = { "기계머리 정비공", -- [1] "작전명: 메카곤", -- [2] }, ["29826"] = { "드라카리 약사", -- [1] "군드락", -- [2] }, ["101002"] = { "크로서스", -- [1] "밤의 요새", -- [2] }, ["138469"] = { "흑요석 파멸비늘", -- [1] "", -- [2] }, ["44404"] = { "나즈자르 폭풍우 마녀", -- [1] "파도의 왕좌", -- [2] }, ["138499"] = { "황혼의 용족", -- [1] "", -- [2] }, ["138510"] = { "황혼의 파멸소환사", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["146893"] = { "썩은살점 비술사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["72655"] = { "교만의 조각", -- [1] "오그리마 공성전", -- [2] }, ["87448"] = { "강철일꾼", -- [1] "검은바위 용광로", -- [2] }, ["59487"] = { "거품 보호막", -- [1] "스톰스타우트 양조장", -- [2] }, ["130026"] = { "항만의 시궁쥐단 바다예언자", -- [1] "톨 다고르", -- [2] }, ["138991"] = { "겔겔이", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["122263"] = { "가시갑옷 칼날턱거북", -- [1] "", -- [2] }, ["131611"] = { "구이요리사 론다", -- [1] "웨이크레스트 저택", -- [2] }, ["42692"] = { "바위심장부 투사", -- [1] "바위심장부", -- [2] }, ["146178"] = { "하늘가시", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["155434"] = { "파도의 사절", -- [1] "썩은굴", -- [2] }, ["134739"] = { "정화 피조물", -- [1] "왕들의 안식처", -- [2] }, ["135365"] = { "대모 알마", -- [1] "웨이크레스트 저택", -- [2] }, ["137064"] = { "밸러콜 명사수", -- [1] "격전지 아라시 - 호드", -- [2] }, ["109040"] = { "비전술사 텔아른", -- [1] "밤의 요새", -- [2] }, ["135817"] = { "미풍 정령", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["142150"] = { "나즈마니 파멸자", -- [1] "울디르", -- [2] }, ["148441"] = { "노움 자이로콥터 기술자", -- [1] "다자알로 전투", -- [2] }, ["139530"] = { "대지세공 공성파괴자", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["148254"] = { "냉기 파편", -- [1] "다자알로 전투", -- [2] }, ["47238"] = { "무엇인가", -- [1] "소용돌이 누각", -- [2] }, ["136214"] = { "바람예언자 헬디스", -- [1] "폭풍의 사원", -- [2] }, ["155612"] = { "아즈샤리 역술사", -- [1] "영원한 궁전", -- [2] }, ["134793"] = { "반짝가시", -- [1] "사라스 섬", -- [2] }, ["134805"] = { "떠도는 거대 거북", -- [1] "조룬달 (섬 7)", -- [2] }, ["143774"] = { "활력을 찾은 부두 토템", -- [1] "폭풍의 용광로", -- [2] }, ["136246"] = { "스트롬가드 신봉자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["18314"] = { "연합 추적자", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["139700"] = { "바닷물비늘 바다 주술사", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["136000"] = { "베릴러스", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["71603"] = { "샤 웅덩이", -- [1] "오그리마 공성전", -- [2] }, ["136190"] = { "어둠의 균열", -- [1] "", -- [2] }, ["105299"] = { "재귀의 정령", -- [1] "밤의 요새", -- [2] }, ["131823"] = { "자매 말라디", -- [1] "웨이크레스트 저택", -- [2] }, ["20898"] = { "거대한 심연", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["41073"] = { "황혼의 무기전문가", -- [1] "그림 바톨", -- [2] }, ["146883"] = { "사냥개조련사 앵그볼드", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["3824"] = { "개고기", -- [1] "폭풍의 용광로", -- [2] }, ["122478"] = { "공허 점액", -- [1] "삼두정의 권좌", -- [2] }, ["146833"] = { "강령술 창조술사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["144160"] = { "난도질꾼 레드후크", -- [1] "보랄러스 공성전", -- [2] }, ["146892"] = { "썩은살점 약탈자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["144244"] = { "백금 난타로봇", -- [1] "작전명: 메카곤", -- [2] }, ["137474"] = { "왕 티말지", -- [1] "왕들의 안식처", -- [2] }, ["56855"] = { "황혼의 강습 비룡", -- [1] "용의 영혼", -- [2] }, ["28837"] = { "폭풍벼림 파수병", -- [1] "번개의 전당", -- [2] }, ["138477"] = { "갈퀴수호병 브리키스", -- [1] "", -- [2] }, ["139410"] = { "조용한 칼날의 비스즈", -- [1] "", -- [2] }, ["140451"] = { "애정어린 새끼어미", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["91259"] = { "지옥 임프", -- [1] "지옥불 성채", -- [2] }, ["71154"] = { "메뚜기왕 카로즈", -- [1] "오그리마 공성전", -- [2] }, ["72412"] = { "코르크론 그런트", -- [1] "오그리마 공성전", -- [2] }, ["72981"] = { "아그론", -- [1] "오그리마 공성전", -- [2] }, ["133835"] = { "야수 혈공포거미", -- [1] "썩은굴", -- [2] }, ["39616"] = { "나즈자르 침략자", -- [1] "파도의 왕좌", -- [2] }, ["152866"] = { "강화된 아제라이트", -- [1] "소용돌이 - 아제로스의 심장", -- [2] }, ["137517"] = { "애쉬베인 파괴자", -- [1] "보랄러스 공성전", -- [2] }, ["144071"] = { "무쇠파도 물결구체자", -- [1] "보랄러스 공성전", -- [2] }, ["57877"] = { "고라스의 수족", -- [1] "용의 영혼", -- [2] }, ["20865"] = { "돌연변이괴물", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["134865"] = { "번개의 첨탑", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["154469"] = { "첫 번째 비전술사 탈리스라", -- [1] "영원한 궁전", -- [2] }, ["136852"] = { "가마솥지기 오도", -- [1] "", -- [2] }, ["145030"] = { "북극 밀렵여우", -- [1] "", -- [2] }, ["140976"] = { "구멍 벌레", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["132742"] = { "화염비늘 성큼걸이", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["138821"] = { "핏빛각성 여전사", -- [1] "사라스 섬", -- [2] }, ["139354"] = { "뼈절단자 부툰", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["33966"] = { "분쇄의 촉수", -- [1] "울두아르", -- [2] }, ["136883"] = { "뻣뻣갈기 가시소환사", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["44260"] = { "독니악어", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["118244"] = { "여우", -- [1] "은빛수정 광산", -- [2] }, ["151144"] = { "하티", -- [1] "다자알로 전투", -- [2] }, ["71392"] = { "어둠 의식술사의 성물함", -- [1] "오그리마 공성전", -- [2] }, ["26776"] = { "다이어브루 앞잡이", -- [1] "검은바위 나락", -- [2] }, ["114260"] = { "아옳리아", -- [1] "다시 찾은 카라잔", -- [2] }, ["41095"] = { "황혼의 비룡", -- [1] "그림 바톨", -- [2] }, ["40925"] = { "타락한 파수병", -- [1] "파도의 왕좌", -- [2] }, ["137068"] = { "밸러콜 기병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140354"] = { "밝은비늘 천둥매", -- [1] "", -- [2] }, ["43438"] = { "코보루스", -- [1] "바위심장부", -- [2] }, ["147825"] = { "7군단 의무병", -- [1] "다자알로 전투", -- [2] }, ["137625"] = { "파괴의 공포", -- [1] "보랄러스 공성전", -- [2] }, ["141635"] = { "피즈 실버코그", -- [1] "보랄러스 공성전", -- [2] }, ["138255"] = { "애쉬베인 관측병", -- [1] "보랄러스 공성전", -- [2] }, ["142313"] = { "사원 방어병", -- [1] "우트가드 첨탑", -- [2] }, ["79466"] = { "떠오르는 태양의 수습생", -- [1] "하늘탑", -- [2] }, ["140792"] = { "딱부리 뼈다귀청소부", -- [1] "", -- [2] }, ["150143"] = { "고철뼈 고기갈이꾼", -- [1] "작전명: 메카곤", -- [2] }, ["126423"] = { "산호등 게", -- [1] "사라스 섬", -- [2] }, ["45269"] = { "시아마트의 하수인", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["151854"] = { "죽음의수색꾼 로소크", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["55866"] = { "암청색 핏방울", -- [1] "용의 영혼", -- [2] }, ["109041"] = { "박물학자 텔아른", -- [1] "밤의 요새", -- [2] }, ["152128"] = { "올고조아", -- [1] "영원한 궁전", -- [2] }, ["146852"] = { "노예사냥꾼 콘라드", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["27983"] = { "암흑룬 파수병", -- [1] "돌의 전당", -- [2] }, ["33293"] = { "XT-002 해체자", -- [1] "울두아르", -- [2] }, ["139396"] = { "진창매복 수호자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["129552"] = { "몬주미", -- [1] "아탈다자르", -- [2] }, ["136823"] = { "굴란 투사", -- [1] "", -- [2] }, ["137473"] = { "경비대장 아투", -- [1] "왕들의 안식처", -- [2] }, ["139473"] = { "바위 기계공 누신", -- [1] "조룬달 (섬 7)", -- [2] }, ["147495"] = { "라스타리 집행자", -- [1] "다자알로 전투", -- [2] }, ["129371"] = { "성난파도 파쇄꾼", -- [1] "보랄러스 공성전", -- [2] }, ["20879"] = { "에레다르 영혼사냥꾼", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["152836"] = { "아제라이트 톱니벌레", -- [1] "소용돌이 - 아제로스의 심장", -- [2] }, ["139057"] = { "나즈마니 혈사술사", -- [1] "울디르", -- [2] }, ["76444"] = { "구속된 영혼", -- [1] "어둠달 지하묘지", -- [2] }, ["132481"] = { "쿨 티란 선봉대원", -- [1] "보랄러스 공성전", -- [2] }, ["150146"] = { "고철뼈 주술사", -- [1] "작전명: 메카곤", -- [2] }, ["136832"] = { "마른가지 광전사", -- [1] "", -- [2] }, ["44895"] = { "오우", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["134286"] = { "대마법사 타무우라", -- [1] "", -- [2] }, ["112638"] = { "별의 수호병", -- [1] "밤의 요새", -- [2] }, ["120201"] = { "유령 수호자", -- [1] "살게라스의 무덤", -- [2] }, ["116549"] = { "보조 가수", -- [1] "다시 찾은 카라잔", -- [2] }, ["155161"] = { "샨드리스 페더문", -- [1] "영원한 궁전", -- [2] }, ["136483"] = { "애쉬베인 갑판원", -- [1] "보랄러스 공성전", -- [2] }, ["33754"] = { "암흑룬 천둥병", -- [1] "울두아르", -- [2] }, ["43014"] = { "임프", -- [1] "바위심장부", -- [2] }, ["32877"] = { "암흑룬 전쟁인도자", -- [1] "울두아르", -- [2] }, ["139021"] = { "피추적꾼", -- [1] "", -- [2] }, ["131685"] = { "룬 신도", -- [1] "웨이크레스트 저택", -- [2] }, ["139432"] = { "루시", -- [1] "사라스 섬", -- [2] }, ["137062"] = { "혈사냥꾼 아칼", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["20910"] = { "황혼의 드라코나르", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["72492"] = { "쉼라", -- [1] "오그리마 공성전", -- [2] }, ["29742"] = { "뱀 올가미", -- [1] "군드락", -- [2] }, ["138464"] = { "애쉬베인 갑판원", -- [1] "보랄러스 공성전", -- [2] }, ["111071"] = { "펄사우론", -- [1] "밤의 요새", -- [2] }, ["130325"] = { "심해 야물집게발", -- [1] "사라스 섬", -- [2] }, ["127381"] = { "진흙 게", -- [1] "톨 다고르", -- [2] }, ["139350"] = { "아나하 위더브레스", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["122851"] = { "암영의 궁수", -- [1] "살게라스의 무덤", -- [2] }, ["76145"] = { "대형 수호 피조물", -- [1] "하늘탑", -- [2] }, ["113201"] = { "매콤장아찌김밥", -- [1] "폭풍의 용광로", -- [2] }, ["134993"] = { "장의사 음침바", -- [1] "왕들의 안식처", -- [2] }, ["151872"] = { "참혹의 손아귀", -- [1] "에메랄드의 꿈 - 아제로스의 심장 시나리오", -- [2] }, ["17881"] = { "아에누스", -- [1] "어둠의 문 열기", -- [2] }, ["139949"] = { "역병 의사", -- [1] "세스랄리스 사원", -- [2] }, ["145371"] = { "우우나트", -- [1] "폭풍의 용광로", -- [2] }, ["48906"] = { "천상의 불꽃", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["135893"] = { "불타는 잿불수호자", -- [1] "", -- [2] }, ["133298"] = { "악취나는 포식자", -- [1] "울디르", -- [2] }, ["29630"] = { "송곳니 구덩이독사", -- [1] "군드락", -- [2] }, ["73095"] = { "블랙퓨즈 기술자", -- [1] "오그리마 공성전", -- [2] }, ["18315"] = { "에테리얼 사술사", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["41139"] = { "나즈자르 정신치유사", -- [1] "파도의 왕좌", -- [2] }, ["39381"] = { "진홍살이 수호자", -- [1] "그림 바톨", -- [2] }, ["139814"] = { "합병 전문가 허즐", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["155689"] = { "잔지르 검투사", -- [1] "영원한 궁전", -- [2] }, ["155814"] = { "으스스한 수습병", -- [1] "영원한 궁전", -- [2] }, ["75506"] = { "어둠달 충성주의자", -- [1] "어둠달 지하묘지", -- [2] }, ["72352"] = { "용아귀 칠흑추적자", -- [1] "오그리마 공성전", -- [2] }, ["138505"] = { "진화한 무리감독관", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["17465"] = { "으스러진 손 백인대장", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["151681"] = { "투척꾼 짤딸꼬리", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["33818"] = { "황혼의 신봉자", -- [1] "울두아르", -- [2] }, ["140059"] = { "회색털 싸움꾼", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["76205"] = { "피에 젖은 칼날깃털", -- [1] "하늘탑", -- [2] }, ["134115"] = { "제물용 수행사제", -- [1] "웨이크레스트 저택", -- [2] }, ["71979"] = { "코르크론 전쟁인도자", -- [1] "오그리마 공성전", -- [2] }, ["139806"] = { "투자회사 폭파 전문가", -- [1] "조룬달 (섬 7)", -- [2] }, ["132820"] = { "새끼 진흙주둥이", -- [1] "", -- [2] }, ["25740"] = { "아훈", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["120719"] = { "달의 여사제", -- [1] "살게라스의 무덤", -- [2] }, ["33271"] = { "장군 베작스", -- [1] "울두아르", -- [2] }, ["140690"] = { "공포의 송곳니 독사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["131445"] = { "독방 간수", -- [1] "톨 다고르", -- [2] }, ["17880"] = { "템퍼루스", -- [1] "어둠의 문 열기", -- [2] }, ["72658"] = { "융합된 오만", -- [1] "오그리마 공성전", -- [2] }, ["69947"] = { "레이드", -- [1] "다자알로 전투", -- [2] }, ["135642"] = { "새끼 황혼거죽 호랑이", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["134215"] = { "그늘길잡이 로리나스", -- [1] "", -- [2] }, ["49045"] = { "오우", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["17462"] = { "으스러진 손 광신도", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["140795"] = { "싸늘한 모래빙빙", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["57160"] = { "고대 물 군주", -- [1] "용의 영혼", -- [2] }, ["43286"] = { "수정 조각", -- [1] "바위심장부", -- [2] }, ["148442"] = { "노움 특공대원", -- [1] "다자알로 전투", -- [2] }, ["151068"] = { "촉수 달린 공허사제", -- [1] "폭풍의 용광로", -- [2] }, ["136984"] = { "레반", -- [1] "왕들의 안식처", -- [2] }, ["33890"] = { "요그사론의 뇌", -- [1] "울두아르", -- [2] }, ["146188"] = { "불길의 통솔자", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["131408"] = { "투자사 근육덩어리", -- [1] "사라스 섬", -- [2] }, ["76906"] = { "기관사 토가르", -- [1] "검은바위 용광로", -- [2] }, ["151638"] = { "광기 어린 대지전복자", -- [1] "넬타리온의 둥지 - 아제로스의 심장 시나리오", -- [2] }, ["139461"] = { "바위속박 돌아귀", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["151579"] = { "보호막 생성기", -- [1] "작전명: 메카곤", -- [2] }, ["138819"] = { "핏빛각성 약탈자", -- [1] "사라스 섬", -- [2] }, ["138575"] = { "장군 슐아콸", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["18983"] = { "검은송곳니 타란툴라", -- [1] "어둠의 문 열기", -- [2] }, ["36891"] = { "얼음살이 원시비룡", -- [1] "사론의 구덩이", -- [2] }, ["136878"] = { "머리상모", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["132887"] = { "새끼 죽음침", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["140270"] = { "야생사슴", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["136830"] = { "마른가지 인간사냥꾼", -- [1] "사라스 섬", -- [2] }, ["156133"] = { "공포똬리 괴수", -- [1] "영원한 궁전", -- [2] }, ["118175"] = { "폭풍의 정령", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["140073"] = { "광기아귀", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["149635"] = { "피어나는 수호정령", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["39961"] = { "사로잡힌 물의 정령", -- [1] "그림 바톨", -- [2] }, ["29820"] = { "드라카리 신 사냥꾼", -- [1] "군드락", -- [2] }, ["1860"] = { "헬나크", -- [1] "폭풍의 용광로", -- [2] }, ["56631"] = { "새끼 깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["135962"] = { "바위산 원령", -- [1] "", -- [2] }, ["139812"] = { "투자회사 생산자", -- [1] "사라스 섬", -- [2] }, ["129372"] = { "검은타르 폭탄마", -- [1] "보랄러스 공성전", -- [2] }, ["72828"] = { "불타는 분노의 발톱", -- [1] "오그리마 공성전", -- [2] }, ["135892"] = { "풀려난 지옥불정령", -- [1] "조룬달 (섬 7)", -- [2] }, ["130333"] = { "돌장갑 바실리스크", -- [1] "", -- [2] }, ["141636"] = { "알라리아 나이트윈드", -- [1] "보랄러스 공성전", -- [2] }, ["72849"] = { "설원방랑자 라일라크", -- [1] "FW 호드 주둔지 3단계", -- [2] }, ["134691"] = { "정전기 충전된 광신자", -- [1] "세스랄리스 사원", -- [2] }, ["140444"] = { "수컷 사향몸통", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["146867"] = { "안개경멸 뾰족뿔투사", -- [1] "조룬달 (섬 7)", -- [2] }, ["54512"] = { "뒤틀린 시간의 파수꾼", -- [1] "시간의 끝", -- [2] }, ["71477"] = { "구체화된 우울", -- [1] "오그리마 공성전", -- [2] }, ["56924"] = { "격앙된 호젠 싸움꾼", -- [1] "스톰스타우트 양조장", -- [2] }, ["138579"] = { "거대한 발톱 촉수", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["130027"] = { "애쉬베인 해병", -- [1] "톨 다고르", -- [2] }, ["140437"] = { "느린 올로", -- [1] "", -- [2] }, ["21818"] = { "무엇인가", -- [1] "어둠의 문 열기", -- [2] }, ["140095"] = { "진흙주둥이 돌진자", -- [1] "", -- [2] }, ["76376"] = { "무엇인가", -- [1] "하늘탑", -- [2] }, ["76310"] = { "대형 수호 피조물", -- [1] "하늘탑", -- [2] }, ["136849"] = { "모래두피 광전사", -- [1] "", -- [2] }, ["26763"] = { "아노말루스", -- [1] "마력의 탑", -- [2] }, ["134822"] = { "우두머리 돌장갑", -- [1] "", -- [2] }, ["149312"] = { "흉포한 날쌘발톱", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["144295"] = { "메카곤 기술자", -- [1] "작전명: 메카곤", -- [2] }, ["150295"] = { "전차 타격기 마크1", -- [1] "작전명: 메카곤", -- [2] }, ["20881"] = { "속박 풀린 파멸자", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["44980"] = { "네페르세트 사술사", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["72452"] = { "광포한 코르크론 늑대", -- [1] "오그리마 공성전", -- [2] }, ["146816"] = { "바튼 브릭햄 경", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138822"] = { "핏빛각성 작살사수", -- [1] "사라스 섬", -- [2] }, ["72662"] = { "허영", -- [1] "오그리마 공성전", -- [2] }, ["155586"] = { "아라소르 선조", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138634"] = { "예언자 라피사", -- [1] "", -- [2] }, ["132744"] = { "서리미늘 히드라", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["150137"] = { "얼굴 없는 정복자", -- [1] "울디르 시나리오", -- [2] }, ["122404"] = { "어둠수호병 공허술사", -- [1] "삼두정의 권좌", -- [2] }, ["17964"] = { "거친황야 일꾼", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["139660"] = { "안개비늘 멀록", -- [1] "사라스 섬", -- [2] }, ["153194"] = { "염수 물방울", -- [1] "영원한 궁전", -- [2] }, ["151653"] = { "공허의 촉수", -- [1] "울디르 시나리오", -- [2] }, ["65310"] = { "훈련용 순무", -- [1] "보랄러스 공성전", -- [2] }, ["139652"] = { "시린빛 해안 길잡이", -- [1] "사라스 섬", -- [2] }, ["138652"] = { "파도저주 여군주", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139767"] = { "\"망원경\" 마리", -- [1] "The Rotting Mire (Islands 9)", -- [2] }, ["26746"] = { "광기 어린 마나 망령", -- [1] "마력의 탑", -- [2] }, ["45924"] = { "휘몰아치는 돌풍", -- [1] "소용돌이 누각", -- [2] }, ["139417"] = { "저주박은 부패나무", -- [1] "", -- [2] }, ["133432"] = { "투자개발회사 연금술사", -- [1] "왕노다지 광산!!", -- [2] }, ["135045"] = { "척추똑딱", -- [1] "", -- [2] }, ["137989"] = { "불변의 액체", -- [1] "왕들의 안식처", -- [2] }, ["146853"] = { "파헤쳐진 케폴키스", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["75820"] = { "복수심에 불타는 용암 정령", -- [1] "피망치 잿가루 광산", -- [2] }, ["40953"] = { "카폼", -- [1] "그림 바톨", -- [2] }, ["56637"] = { "우끼우끼", -- [1] "스톰스타우트 양조장", -- [2] }, ["18177"] = { "타락한 돌가죽 토템", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["153064"] = { "초광신도 괴수", -- [1] "영원한 궁전", -- [2] }, ["146849"] = { "영혼의 대가 로웨나", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["112655"] = { "천공의 수행사제", -- [1] "밤의 요새", -- [2] }, ["54320"] = { "야수 정령", -- [1] "다자알로 전투", -- [2] }, ["18880"] = { "황천의 가오리", -- [1] "폭풍의 용광로", -- [2] }, ["136873"] = { "타액사수", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["136250"] = { "어둠마법 사술사", -- [1] "세스랄리스 사원", -- [2] }, ["151876"] = { "떠도는 영혼", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["139392"] = { "진창매복 사우록", -- [1] "", -- [2] }, ["139340"] = { "얼음엄니 강령술사", -- [1] "", -- [2] }, ["45096"] = { "길들인 톨비르 호랑이", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["43662"] = { "속박 풀린 대지전복자", -- [1] "바위심장부", -- [2] }, ["76446"] = { "어둠달 구속자", -- [1] "어둠달 지하묘지", -- [2] }, ["26125"] = { "땅벌레탐욕자", -- [1] "울디르", -- [2] }, ["140671"] = { "난폭한 야생발톱", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["28825"] = { "소용돌이", -- [1] "번개의 전당", -- [2] }, ["140061"] = { "회색털 소굴어미", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["139443"] = { "척추술사 쿤타이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["151754"] = { "공허 유령", -- [1] "에메랄드의 꿈 - 아제로스의 심장 시나리오", -- [2] }, ["139338"] = { "얼음엄니 예언자", -- [1] "", -- [2] }, ["76087"] = { "수호 피조물", -- [1] "하늘탑", -- [2] }, ["44924"] = { "굳은서약 수호병", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["54701"] = { "뒤틀린 시간의 여사냥꾼", -- [1] "시간의 끝", -- [2] }, ["136270"] = { "부대장 나이얼스", -- [1] "격전지 아라시 - 호드", -- [2] }, ["140102"] = { "칼니멧돼지", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["132904"] = { "모래두피 주민", -- [1] "사라스 섬", -- [2] }, ["130488"] = { "로봇 조종사", -- [1] "왕노다지 광산!!", -- [2] }, ["71858"] = { "파도결속사 칼드리스", -- [1] "오그리마 공성전", -- [2] }, ["37584"] = { "타락한 용사", -- [1] "사론의 구덩이", -- [2] }, ["73194"] = { "코르크론 강철 전갈", -- [1] "오그리마 공성전", -- [2] }, ["137160"] = { "밸러콜 기계공학자", -- [1] "격전지 아라시 - 호드", -- [2] }, ["28368"] = { "이미야르 강령술사", -- [1] "우트가드 첨탑", -- [2] }, ["118022"] = { "지옥불 혼돈인도자", -- [1] "살게라스의 무덤", -- [2] }, ["79505"] = { "태양의 섬광", -- [1] "하늘탑", -- [2] }, ["140259"] = { "룬발굽 큰사슴", -- [1] "", -- [2] }, ["140062"] = { "공포철퇴", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["146113"] = { "천둥발굽", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["59426"] = { "퍽퍽이", -- [1] "스톰스타우트 양조장", -- [2] }, ["138349"] = { "보복의 유령", -- [1] "격전지 아라시 - 호드", -- [2] }, ["152853"] = { "열광의 실리바즈", -- [1] "영원한 궁전", -- [2] }, ["40268"] = { "황혼의 전쟁마법사", -- [1] "그림 바톨", -- [2] }, ["16704"] = { "으스러진 손 명사수", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["56718"] = { "깡충이", -- [1] "스톰스타우트 양조장", -- [2] }, ["134806"] = { "피절단거북", -- [1] "조룬달 (섬 7)", -- [2] }, ["137233"] = { "역병 두꺼비", -- [1] "세스랄리스 사원", -- [2] }, ["139763"] = { "대포전문가 아를린", -- [1] "", -- [2] }, ["43927"] = { "무엇인가", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["83621"] = { "피망치 용암결속사", -- [1] "피망치 잿가루 광산", -- [2] }, ["136224"] = { "스트롬가드 주문술사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["30622"] = { "오크젼사님", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["33985"] = { "부패의 촉수", -- [1] "울두아르", -- [2] }, ["134794"] = { "어둠잠복", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["136011"] = { "피바위", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["138061"] = { "투자개발회사 부두일꾼", -- [1] "왕노다지 광산!!", -- [2] }, ["138502"] = { "나로비악 고룡술사", -- [1] "", -- [2] }, ["140985"] = { "산성 벌레", -- [1] "", -- [2] }, ["79303"] = { "화려한 칼날갈퀴", -- [1] "하늘탑", -- [2] }, ["155271"] = { "심연 창잡이", -- [1] "영원한 궁전", -- [2] }, ["33983"] = { "압착의 촉수", -- [1] "울두아르", -- [2] }, ["144248"] = { "수석 기계공 스파크플럭스", -- [1] "작전명: 메카곤", -- [2] }, ["140324"] = { "돌엄니 수확자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["148584"] = { "대마법사 모든트 이븐셰이드", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["32906"] = { "프레이야", -- [1] "울두아르", -- [2] }, ["140154"] = { "우두머리 썩은발톱", -- [1] "", -- [2] }, ["44896"] = { "소인족 투사", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["135164"] = { "와일드해머 약탈병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["34198"] = { "무쇠 치유사", -- [1] "울두아르", -- [2] }, ["139387"] = { "냉혈한 나사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["16594"] = { "어둠달 수행사제", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["72131"] = { "눈먼 검귀", -- [1] "오그리마 공성전", -- [2] }, ["137805"] = { "검은 피", -- [1] "폭풍의 사원", -- [2] }, ["129832"] = { "따개비게", -- [1] "사라스 섬", -- [2] }, ["127048"] = { "마른수염 채굴꾼", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139391"] = { "암흑파도 암살자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["45097"] = { "굳은서약 조련사", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["131411"] = { "맹독비늘 감시자", -- [1] "", -- [2] }, ["152236"] = { "여군주 애쉬베인", -- [1] "영원한 궁전", -- [2] }, ["142149"] = { "변변찮은 매개체", -- [1] "울디르", -- [2] }, ["144301"] = { "살아 있는 폐기물", -- [1] "작전명: 메카곤", -- [2] }, ["139668"] = { "파도결속사 고르글", -- [1] "", -- [2] }, ["33136"] = { "요그사론의 수호병", -- [1] "울두아르", -- [2] }, ["132901"] = { "굴란 야운골", -- [1] "", -- [2] }, ["140093"] = { "솔먹이 새끼어미", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["135254"] = { "무쇠파도 약탈단", -- [1] "톨 다고르", -- [2] }, ["146134"] = { "날쌘돌이", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["140855"] = { "낙수령", -- [1] "", -- [2] }, ["151739"] = { "불굴의 마하트", -- [1] "넬타리온의 둥지 - 아제로스의 심장 시나리오", -- [2] }, ["140353"] = { "밝은비늘 똬리송곳니", -- [1] "", -- [2] }, ["138635"] = { "사령관 후산", -- [1] "조룬달 (섬 7)", -- [2] }, ["138633"] = { "수사 마트", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["112595"] = { "샬도레이 대마법사", -- [1] "밤의 요새", -- [2] }, ["123288"] = { "남쪽바다 포병", -- [1] "", -- [2] }, ["137204"] = { "어둠마법 사술사", -- [1] "세스랄리스 사원", -- [2] }, ["33719"] = { "에메랄드 용 배우자", -- [1] "울두아르", -- [2] }, ["59520"] = { "톡 쏘는 맥주 주령", -- [1] "스톰스타우트 양조장", -- [2] }, ["54544"] = { "티란데의 환영", -- [1] "시간의 끝", -- [2] }, ["140087"] = { "솔먹이 암사슴", -- [1] "사라스 섬", -- [2] }, ["17938"] = { "갈퀴송곳니 감시자", -- [1] "갈퀴송곳니 저수지: 강제 노역소", -- [2] }, ["44932"] = { "굳은서약 길잡이", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["72768"] = { "코르크론 전투늑대", -- [1] "오그리마 공성전", -- [2] }, ["146873"] = { "흉악한 폭풍우 정령", -- [1] "조룬달 (섬 7)", -- [2] }, ["129370"] = { "무쇠파도 물결구체자", -- [1] "보랄러스 공성전", -- [2] }, ["28920"] = { "폭풍벼림 거인", -- [1] "번개의 전당", -- [2] }, ["141637"] = { "크로울 다크메인", -- [1] "보랄러스 공성전", -- [2] }, ["138066"] = { "호화로운 행락객", -- [1] "왕노다지 광산!!", -- [2] }, ["57823"] = { "숙련 폭풍술사", -- [1] "용의 영혼", -- [2] }, ["140148"] = { "광란의 회색털", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["114319"] = { "여군주 케이라 베리벅", -- [1] "다시 찾은 카라잔", -- [2] }, ["71405"] = { "세트티크 바람지배자", -- [1] "오그리마 공성전", -- [2] }, ["142413"] = { "위습", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["131587"] = { "혼이 빠져나간 대장", -- [1] "웨이크레스트 저택", -- [2] }, ["138514"] = { "아티오나", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["94802"] = { "공허각인사 에이탈로스", -- [1] "지옥불 성채", -- [2] }, ["57386"] = { "진홍색 핏방울", -- [1] "용의 영혼", -- [2] }, ["75964"] = { "란지트", -- [1] "하늘탑", -- [2] }, ["139420"] = { "늪 수호자 바스자쉬", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["14465"] = { "얼라이언스 전투 깃발", -- [1] "정복의 섬", -- [2] }, ["145850"] = { "길니아스 폭사꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["76097"] = { "태양의 창조물", -- [1] "하늘탑", -- [2] }, ["138629"] = { "성직자 드조사", -- [1] "", -- [2] }, ["145273"] = { "인자쉬의 손", -- [1] "다자알로 전투", -- [2] }, ["150222"] = { "진창오물", -- [1] "작전명: 메카곤", -- [2] }, ["28580"] = { "강화된 강철 하늘소환사", -- [1] "번개의 전당", -- [2] }, ["122090"] = { "약탈자 사라샤스", -- [1] "", -- [2] }, ["138568"] = { "정복사 슈크슈군", -- [1] "", -- [2] }, ["118715"] = { "되살아난 기사단원", -- [1] "살게라스의 무덤", -- [2] }, ["142000"] = { "음산한 촉수", -- [1] "사라스 섬", -- [2] }, ["45915"] = { "무장한 광풍", -- [1] "소용돌이 누각", -- [2] }, ["136507"] = { "응고된 피", -- [1] "울디르", -- [2] }, ["73539"] = { "코르크론 무리 어미", -- [1] "오그리마 공성전", -- [2] }, ["140373"] = { "여왕 모래껍질", -- [1] "Skittering Hollow (Islands 5)", -- [2] }, ["41096"] = { "나즈자르 정신치유사", -- [1] "파도의 왕좌", -- [2] }, ["139817"] = { "선임기술자 제지", -- [1] "사라스 섬", -- [2] }, ["138501"] = { "황혼의 새끼용", -- [1] "", -- [2] }, ["111075"] = { "카오토이드", -- [1] "밤의 요새", -- [2] }, ["134069"] = { "속삭임의 볼지스", -- [1] "폭풍의 사원", -- [2] }, ["29305"] = { "무라비", -- [1] "군드락", -- [2] }, ["138829"] = { "교활한 잉겔", -- [1] "조룬달 (섬 7)", -- [2] }, ["140777"] = { "보석파편 거인", -- [1] "사라스 섬", -- [2] }, ["72434"] = { "금고 경비병", -- [1] "오그리마 공성전", -- [2] }, ["72411"] = { "코르크론 배급원", -- [1] "오그리마 공성전", -- [2] }, ["3527"] = { "치유의 토템", -- [1] "웨이크레스트 저택", -- [2] }, ["152816"] = { "폭풍소환수", -- [1] "영원한 궁전", -- [2] }, ["143754"] = { "포거스 앤빌레이지", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["33526"] = { "무쇠뿌리덩굴손", -- [1] "울두아르", -- [2] }, ["108360"] = { "산성아귀 전갈", -- [1] "밤의 요새", -- [2] }, ["151096"] = { "하티", -- [1] "왕들의 안식처", -- [2] }, ["139199"] = { "신록의 항아리덩굴", -- [1] "", -- [2] }, ["155764"] = { "재빠른 라크샤", -- [1] "영원한 궁전", -- [2] }, ["140268"] = { "숲지기 아노", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["139025"] = { "달빛노래", -- [1] "", -- [2] }, ["42789"] = { "바위심장부 용암군주", -- [1] "바위심장부", -- [2] }, ["155688"] = { "아즈샤리 서리결속사", -- [1] "영원한 궁전", -- [2] }, ["148137"] = { "월광 바다사냥꾼", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["138632"] = { "수호자 아수다", -- [1] "사라스 섬", -- [2] }, ["131112"] = { "바다가름 공격병", -- [1] "톨 다고르", -- [2] }, ["138445"] = { "공작 스줄", -- [1] "사라스 섬", -- [2] }, ["137765"] = { "정예 사제", -- [1] "격전지 아라시 - 호드", -- [2] }, ["129337"] = { "칼엄니", -- [1] "", -- [2] }, ["148894"] = { "길 잃은 영혼", -- [1] "썩은굴", -- [2] }, ["138969"] = { "지안 티 영혼", -- [1] "사라스 섬", -- [2] }, ["138826"] = { "용감한 레이크니르", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["136991"] = { "혈사냥꾼 다잘아이", -- [1] "", -- [2] }, ["130937"] = { "무엇인가", -- [1] "폭풍의 용광로", -- [2] }, ["139657"] = { "시린빛 바다약탈자", -- [1] "사라스 섬", -- [2] }, ["140082"] = { "기브", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["148522"] = { "얼음 덩어리", -- [1] "다자알로 전투", -- [2] }, ["56865"] = { "물의 춤꾼", -- [1] "스톰스타우트 양조장", -- [2] }, ["140847"] = { "대지의 정령", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["131666"] = { "서약단 가시장이", -- [1] "웨이크레스트 저택", -- [2] }, ["69946"] = { "야수 정령", -- [1] "다자알로 전투", -- [2] }, ["72958"] = { "용아귀 파도주술사", -- [1] "오그리마 공성전", -- [2] }, ["144296"] = { "거미 전차", -- [1] "작전명: 메카곤", -- [2] }, ["71382"] = { "유골 단지", -- [1] "오그리마 공성전", -- [2] }, ["146322"] = { "공성파괴자 로카", -- [1] "다자알로 전투", -- [2] }, ["138654"] = { "누더기 돛의 베스타르", -- [1] "", -- [2] }, ["36842"] = { "성난해골 서리 망령", -- [1] "사론의 구덩이", -- [2] }, ["18343"] = { "타바로크", -- [1] "아킨둔: 마나 무덤", -- [2] }, ["137238"] = { "얼라이언스 석궁병", -- [1] "격전지 아라시 - 호드", -- [2] }, ["29822"] = { "드라카리 불마술사", -- [1] "군드락", -- [2] }, ["125620"] = { "사령관 아탈라아", -- [1] "삼두정의 권좌", -- [2] }, ["134766"] = { "파도뱉기게", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["1933"] = { "양", -- [1] "격전지 아라시 - 호드", -- [2] }, ["139756"] = { "자객 쉴라", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["33118"] = { "용광로 군주 이그니스", -- [1] "울두아르", -- [2] }, ["132050"] = { "사냥지배자 시어도어", -- [1] "격전지 아라시 - 호드", -- [2] }, ["138314"] = { "패치스", -- [1] "자유지대", -- [2] }, ["140077"] = { "주먹쿵 성큼이", -- [1] "사라스 섬", -- [2] }, ["154663"] = { "노움 먹는 방울", -- [1] "작전명: 메카곤", -- [2] }, ["139337"] = { "얼음엄니 흡혈전사", -- [1] "", -- [2] }, ["140088"] = { "돌진사슴 돌뿔", -- [1] "사라스 섬", -- [2] }, ["113052"] = { "공포근위병", -- [1] "밤의 요새", -- [2] }, ["127124"] = { "자유지대 술집 종업원", -- [1] "자유지대", -- [2] }, ["153285"] = { "훈련용 허수아비", -- [1] "군드락", -- [2] }, ["136955"] = { "잔추리 배반자", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["136249"] = { "수호정령", -- [1] "폭풍의 사원", -- [2] }, ["127119"] = { "자유지대 갑판원", -- [1] "자유지대", -- [2] }, ["134427"] = { "세스락 하늘소환사", -- [1] "잔달라 대륙 마지막 장", -- [2] }, ["134034"] = { "무정형 혹덩어리", -- [1] "울디르", -- [2] }, ["154175"] = { "공포의 소환사", -- [1] "영원한 궁전", -- [2] }, ["39892"] = { "사로잡힌 타오르는 불씨", -- [1] "그림 바톨", -- [2] }, ["147924"] = { "대지조각", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["147968"] = { "흥분한 아제라이트", -- [1] "", -- [2] }, ["140455"] = { "새끼 나무털", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["144956"] = { "섬뜩이빨", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["134612"] = { "갈고리 촉수", -- [1] "폭풍의 사원", -- [2] }, ["122605"] = { "석화된 대상", -- [1] "", -- [2] }, ["145123"] = { "마이아라 나이트송", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["16389"] = { "유령 수습생", -- [1] "카라잔", -- [2] }, ["139220"] = { "바이야 크리스탈블룸", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["80242"] = { "스미마셍", -- [1] "폭풍의 용광로", -- [2] }, ["148625"] = { "크라그와의 환영", -- [1] "다자알로 전투", -- [2] }, ["36874"] = { "성난 빙하 망령", -- [1] "사론의 구덩이", -- [2] }, ["138647"] = { "히아나 포그브링어", -- [1] "", -- [2] }, ["135764"] = { "폭발의 토템", -- [1] "왕들의 안식처", -- [2] }, ["151845"] = { "부관 느오트", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["139400"] = { "진창매복 강물소환사", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139538"] = { "벽파괴자 하비크", -- [1] "", -- [2] }, ["140631"] = { "남쪽 바다 가오리", -- [1] "사라스 섬", -- [2] }, ["114542"] = { "유령 자선가", -- [1] "다시 찾은 카라잔", -- [2] }, ["30416"] = { "속박된 불의 정령", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["134599"] = { "마력 깃든 폭풍소환사", -- [1] "세스랄리스 사원", -- [2] }, ["122601"] = { "쐐기덩굴 요마", -- [1] "", -- [2] }, ["74787"] = { "노예감시자 크러쉬토", -- [1] "피망치 잿가루 광산", -- [2] }, ["127482"] = { "하수관 톱니이빨", -- [1] "톨 다고르", -- [2] }, ["122284"] = { "거대한 밀림 추적자", -- [1] "Molten Cay (Islands 6)", -- [2] }, ["134280"] = { "구원자 바아툴", -- [1] "", -- [2] }, ["143215"] = { "범고래", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["154685"] = { "착란의 메아리", -- [1] "영원한 궁전", -- [2] }, ["137579"] = { "속박 풀린 아제라이트", -- [1] "사라스 섬", -- [2] }, ["55265"] = { "모르초크", -- [1] "용의 영혼", -- [2] }, ["136264"] = { "반쯤 완성된 미라", -- [1] "왕들의 안식처", -- [2] }, ["130024"] = { "축축한 배쥐", -- [1] "자유지대", -- [2] }, ["136665"] = { "애쉬베인 관측병", -- [1] "톨 다고르", -- [2] }, ["54923"] = { "무한의 감독관", -- [1] "시간의 끝", -- [2] }, ["20869"] = { "알카트라즈 파수병", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["54699"] = { "뒤틀린 시간의 밤호랑이", -- [1] "시간의 끝", -- [2] }, ["57382"] = { "검은 핏방울", -- [1] "용의 영혼", -- [2] }, ["134701"] = { "피의 입상", -- [1] "썩은굴", -- [2] }, ["136870"] = { "우움굿 용사", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["132917"] = { "우움굿 정찰병", -- [1] "Un'gol Ruins (Islands 1)", -- [2] }, ["151688"] = { "멜론파괴꾼", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["129214"] = { "동전 투입식 군중 난타기", -- [1] "왕노다지 광산!!", -- [2] }, ["28923"] = { "로켄", -- [1] "번개의 전당", -- [2] }, ["140676"] = { "거대한 돌부리", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["73724"] = { "쭈 인", -- [1] "오그리마 공성전", -- [2] }, ["138625"] = { "아마셋 집행자", -- [1] "조룬달 (섬 7)", -- [2] }, ["113307"] = { "시간격노", -- [1] "밤의 요새", -- [2] }, ["26800"] = { "얼라이언스 광전사", -- [1] "마력의 탑", -- [2] }, ["20857"] = { "알카트라즈 수호병", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["140674"] = { "깊은울음", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["34069"] = { "거대한 용암거인", -- [1] "울두아르", -- [2] }, ["136847"] = { "모래두피 어둠사냥꾼", -- [1] "사라스 섬", -- [2] }, ["149331"] = { "영롱한 아제라이트", -- [1] "조룬달 (섬 7)", -- [2] }, ["135929"] = { "화염남작 블레이즈할로우", -- [1] "", -- [2] }, ["134768"] = { "냉혹한 모래집게", -- [1] "사라스 섬", -- [2] }, ["39392"] = { "얼굴 없는 타락자", -- [1] "그림 바톨", -- [2] }, ["128969"] = { "애쉬베인 지휘관", -- [1] "보랄러스 공성전", -- [2] }, ["34190"] = { "강화된 무쇠 골렘", -- [1] "울두아르", -- [2] }, ["131407"] = { "투자사 깡패", -- [1] "", -- [2] }, ["127485"] = { "항만의 시궁쥐단 노략꾼", -- [1] "톨 다고르", -- [2] }, ["123291"] = { "소금껍질 게", -- [1] "사라스 섬", -- [2] }, ["135761"] = { "천둥치는 토템", -- [1] "왕들의 안식처", -- [2] }, ["133593"] = { "전문 기술병", -- [1] "왕노다지 광산!!", -- [2] }, ["136003"] = { "그레블러스", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["140098"] = { "흉포한 흉터가죽", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["151773"] = { "고철장 개", -- [1] "작전명: 메카곤", -- [2] }, ["138983"] = { "흙지느러미 바다사냥꾼", -- [1] "사라스 섬", -- [2] }, ["122264"] = { "늙은 가시갑옷", -- [1] "", -- [2] }, ["17892"] = { "무한의 시간술사", -- [1] "어둠의 문 열기", -- [2] }, ["122421"] = { "암영 전투 숙련가", -- [1] "삼두정의 권좌", -- [2] }, ["103685"] = { "티콘드리우스", -- [1] "밤의 요새", -- [2] }, ["130640"] = { "무쇠턱 톱이빨", -- [1] "", -- [2] }, ["138970"] = { "복수심에 불타는 영혼", -- [1] "사라스 섬", -- [2] }, ["137585"] = { "구속의 토템", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["138427"] = { "원한지느러미 작살사수", -- [1] "사라스 섬", -- [2] }, ["135829"] = { "먼지바람", -- [1] "", -- [2] }, ["140992"] = { "시체파열자", -- [1] "조룬달 (섬 7)", -- [2] }, ["136797"] = { "조약돌 뼈망치잡이", -- [1] "", -- [2] }, ["130575"] = { "떠도는 칼부리", -- [1] "", -- [2] }, ["21136"] = { "무한의 시간술사", -- [1] "어둠의 문 열기", -- [2] }, ["135239"] = { "유령 의술사", -- [1] "왕들의 안식처", -- [2] }, ["129802"] = { "대지전복자", -- [1] "왕노다지 광산!!", -- [2] }, ["40166"] = { "사로잡힌 그론 투사", -- [1] "그림 바톨", -- [2] }, ["139012"] = { "야생 수호자", -- [1] "", -- [2] }, ["100820"] = { "영혼 늑대", -- [1] "울디르", -- [2] }, ["71393"] = { "모구 어둠 의식술사", -- [1] "오그리마 공성전", -- [2] }, ["138653"] = { "부패하는 선체의 호스비르", -- [1] "크레스트폴 (군도 11)", -- [2] }, ["146118"] = { "영토 가시등", -- [1] "", -- [2] }, ["144303"] = { "경.비.견.", -- [1] "작전명: 메카곤", -- [2] }, ["16699"] = { "으스러진 손 학살자", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["145928"] = { "스카비스 나이트스토커", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["162331"] = { "타락한 신경줄", -- [1] "깨어난 도시 나이알로사", -- [2] }, ["139463"] = { "바위속박 파멸자", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139800"] = { "강풍술사 수습생", -- [1] "폭풍의 사원", -- [2] }, ["148907"] = { "다색의 환영", -- [1] "다자알로 전투", -- [2] }, ["141565"] = { "쿨 티란 보병", -- [1] "보랄러스 공성전", -- [2] }, ["134634"] = { "외눈박이 공포", -- [1] "울디르", -- [2] }, ["131849"] = { "광기 어린 명사수", -- [1] "웨이크레스트 저택", -- [2] }, ["144957"] = { "샬라이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["136541"] = { "담즙 수액덩어리", -- [1] "웨이크레스트 저택", -- [2] }, ["145035"] = { "날렵꼬리 사냥여우", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["138820"] = { "핏빛각성 브리쿨", -- [1] "사라스 섬", -- [2] }, ["30279"] = { "깊은굴거미", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["135452"] = { "마더", -- [1] "울디르", -- [2] }, ["21346"] = { "보이지 않는 눈", -- [1] "폭풍우 요새: 알카트라즈", -- [2] }, ["150249"] = { "기계머리 싸움꾼", -- [1] "작전명: 메카곤", -- [2] }, ["54553"] = { "뒤틀린 시간의 예언자", -- [1] "시간의 끝", -- [2] }, ["134041"] = { "감염된 인부", -- [1] "웨이크레스트 저택", -- [2] }, ["155920"] = { "아즈샤리 돌풍칼날", -- [1] "영원한 궁전", -- [2] }, ["105427"] = { "하늘격노 토템", -- [1] "은빛수정 광산", -- [2] }, ["139664"] = { "안개비늘 공포지느러미", -- [1] "사라스 섬", -- [2] }, ["135167"] = { "광전사 망령", -- [1] "왕들의 안식처", -- [2] }, ["34191"] = { "고물로봇", -- [1] "울두아르", -- [2] }, ["146753"] = { "쿨 티란 해병", -- [1] "다자알로 전투", -- [2] }, ["114636"] = { "유령 경비병", -- [1] "다시 찾은 카라잔", -- [2] }, ["112596"] = { "황혼감시대 교도관", -- [1] "밤의 요새", -- [2] }, ["29874"] = { "드라카리 선동자", -- [1] "군드락", -- [2] }, ["136891"] = { "흉터 입은 엄니분쇄자", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["148613"] = { "사령관 브로드사이드", -- [1] "다자알로 전투", -- [2] }, ["30329"] = { "야만의 동굴 야수", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["33651"] = { "VX-001", -- [1] "울두아르", -- [2] }, ["148611"] = { "요루차", -- [1] "다자알로 전투", -- [2] }, ["136841"] = { "추악한 쑤준", -- [1] "사라스 섬", -- [2] }, ["137321"] = { "아라소르의 기사", -- [1] "격전지 아라시 - 호드", -- [2] }, ["104288"] = { "트릴리악스", -- [1] "밤의 요새", -- [2] }, ["146102"] = { "살아있는 폭탄", -- [1] "다자알로 전투", -- [2] }, ["126185"] = { "지안 티 흑마술사", -- [1] "사라스 섬", -- [2] }, ["114624"] = { "비전 감독관", -- [1] "다시 찾은 카라잔", -- [2] }, ["118462"] = { "영혼의 여왕 데자나", -- [1] "살게라스의 무덤", -- [2] }, ["135926"] = { "이글심장", -- [1] "Verdant Wilds (Islands 8)", -- [2] }, ["44577"] = { "장군 후삼", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["134418"] = { "익사한 심연인도자", -- [1] "폭풍의 사원", -- [2] }, ["134788"] = { "가시집게 돌껍질", -- [1] "사라스 섬", -- [2] }, ["54445"] = { "제이나의 환영", -- [1] "시간의 끝", -- [2] }, ["56781"] = { "고리오나", -- [1] "용의 영혼", -- [2] }, ["131850"] = { "광기의 생존주의자", -- [1] "웨이크레스트 저택", -- [2] }, ["140300"] = { "파쇄찢개", -- [1] "", -- [2] }, ["33350"] = { "미미론", -- [1] "울두아르", -- [2] }, ["127503"] = { "감독관 코르거스", -- [1] "톨 다고르", -- [2] }, ["123292"] = { "소금껍질 집게발", -- [1] "사라스 섬", -- [2] }, ["136139"] = { "기계화 평화감시단", -- [1] "왕노다지 광산!!", -- [2] }, ["134914"] = { "들창 거미", -- [1] "", -- [2] }, ["44898"] = { "소인족 불꽃마술사", -- [1] "톨비르의 잃어버린 도시", -- [2] }, ["148940"] = { "칼도레이 키메라", -- [1] "격전지 어둠해안 - 호드", -- [2] }, ["115767"] = { "여군주 사스즈인", -- [1] "살게라스의 무덤", -- [2] }, ["135718"] = { "새끼 밤호랑이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["147828"] = { "7군단 기마병", -- [1] "다자알로 전투", -- [2] }, ["140995"] = { "폐허추적자", -- [1] "", -- [2] }, ["113554"] = { "별의 변형체", -- [1] "밤의 요새", -- [2] }, ["144298"] = { "방어 로봇 마크 III", -- [1] "작전명: 메카곤", -- [2] }, ["126216"] = { "지안 티 파괴자", -- [1] "사라스 섬", -- [2] }, ["140183"] = { "늙은 똥가죽", -- [1] "", -- [2] }, ["129602"] = { "무쇠파도 집행자", -- [1] "자유지대", -- [2] }, ["130912"] = { "그림자칼날 라지", -- [1] "아탈다자르", -- [2] }, ["40273"] = { "상급 물채찍 정령", -- [1] "그림 바톨", -- [2] }, ["140769"] = { "황금광맥", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["129517"] = { "되살아난 랩터", -- [1] "아탈다자르", -- [2] }, ["138577"] = { "분쇄의 촉수", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["131586"] = { "연회 집사", -- [1] "웨이크레스트 저택", -- [2] }, ["43391"] = { "밀하우스 마나스톰", -- [1] "바위심장부", -- [2] }, ["72964"] = { "고로단", -- [1] "오그리마 공성전", -- [2] }, ["133663"] = { "광신적인 인간사냥꾼", -- [1] "썩은굴", -- [2] }, ["148797"] = { "죽은 자의 학자", -- [1] "폭풍의 용광로", -- [2] }, ["57821"] = { "부관 샤라", -- [1] "용의 영혼", -- [2] }, ["122965"] = { "볼카알", -- [1] "아탈다자르", -- [2] }, ["148893"] = { "고통받는 영혼", -- [1] "썩은굴", -- [2] }, ["146552"] = { "쿨 티란 파도술사", -- [1] "다자알로 전투", -- [2] }, ["17623"] = { "학살자 경비병", -- [1] "지옥불 성채: 으스러진 손의 전당", -- [2] }, ["71993"] = { "서러움의 피조물", -- [1] "오그리마 공성전", -- [2] }, ["140630"] = { "화려한 복어", -- [1] "사라스 섬", -- [2] }, ["114625"] = { "유령 손님", -- [1] "다시 찾은 카라잔", -- [2] }, ["26553"] = { "용약탈 광신자", -- [1] "우트가드 첨탑", -- [2] }, ["33755"] = { "암흑룬 약탈병", -- [1] "울두아르", -- [2] }, ["146139"] = { "금빛가시", -- [1] "Snowblossom Village (Islands 3)", -- [2] }, ["136839"] = { "므로건", -- [1] "사라스 섬", -- [2] }, ["152162"] = { "공허에 물든 창공전사", -- [1] "동부 왕국 - 주홍빛 보루 - 아제로스의 심장 시나리오", -- [2] }, ["114629"] = { "유령 당원", -- [1] "다시 찾은 카라잔", -- [2] }, ["137591"] = { "치유의 해일 토템", -- [1] "왕들의 안식처", -- [2] }, ["30319"] = { "황혼의 암흑술사", -- [1] "안카헤트: 고대 왕국", -- [2] }, ["40319"] = { "드라가 섀도버너", -- [1] "그림 바톨", -- [2] }, ["23872"] = { "코렌 다이어브루", -- [1] "검은바위 나락", -- [2] }, ["134600"] = { "모래받이 명사수", -- [1] "세스랄리스 사원", -- [2] }, ["42695"] = { "바위심장부 파수병", -- [1] "바위심장부", -- [2] }, ["135715"] = { "사나운 밤호랑이", -- [1] "The Dread Chain (Islands 4)", -- [2] }, ["79469"] = { "소용돌이치는 춤꾼", -- [1] "하늘탑", -- [2] }, ["34147"] = { "화재경보로봇", -- [1] "울두아르", -- [2] }, ["146731"] = { "좀비 가루 토템", -- [1] "다자알로 전투", -- [2] }, ["140673"] = { "분노으르렁", -- [1] "조룬달 (섬 7)", -- [2] }, ["140356"] = { "새끼 밝은비늘", -- [1] "", -- [2] }, ["149359"] = { "아제라이트 거수", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["139414"] = { "늪 사제 바스즈", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["72791"] = { "잔존하는 타락", -- [1] "오그리마 공성전", -- [2] }, ["146185"] = { "불길의 일벌", -- [1] "", -- [2] }, ["134635"] = { "암흑의 부산물", -- [1] "울디르", -- [2] }, ["136886"] = { "깃발운반자 코랄", -- [1] "운골 폐허 (섬 1)", -- [2] }, ["136297"] = { "잊혀진 토착영혼", -- [1] "폭풍의 사원", -- [2] }, ["124582"] = { "협곡사냥꾼", -- [1] "안식의 숲 (섬 2)", -- [2] }, ["134158"] = { "어둠태생 용사", -- [1] "왕들의 안식처", -- [2] }, }, ["border_color"] = { nil, -- [1] nil, -- [2] nil, -- [3] 1, -- [4] }, ["focus_color"] = { nil, -- [1] nil, -- [2] nil, -- [3] 0.75, -- [4] }, ["indicator_anchor"] = { ["y"] = 0.5, ["x"] = 0, ["side"] = 6, }, ["number_region"] = "eastasia", ["health_selection_overlay_alpha"] = 0.1499999910593, ["minor_height_scale"] = 0.99999994039536, ["extra_icon_show_enrage_border"] = { 0.98823529411765, -- [1] 0.68627450980392, -- [2] 0.24313725490196, -- [3] }, ["aura_padding"] = 3.5, ["hook_data"] = { { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.addHook(unitFrame)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.addHook(unitFrame)\n \nend\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.healthBar.customShieldHookNeedsUpdate = true\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local hb = unitFrame.healthBar\n if hb.customShieldHookNeedsUpdate and hb.displayedUnit then\n hb:UNIT_MAXHEALTH()\n hb.customShieldHookNeedsUpdate = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Initialization"] = "function (modTable)\n \n modTable.LibSharedMedia = LibStub:GetLibrary (\"LibSharedMedia-3.0\")\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --settings: (changing this requires a /reload)\n local shieldTexture = \"\"\n --local shieldTexture = \"Details Flat\"\n \n --init\n local hb = unitFrame.healthBar\n local unit = hb.displayedUnit\n if shieldTexture and shieldTexture ~= \"\" then\n local texture = modTable.LibSharedMedia:Fetch(\"statusbar\", shieldTexture)\n hb.Settings.ShieldIndicatorTexture = texture or [[Interface\\RaidFrame\\Shield-Fill]]\n hb.shieldAbsorbIndicator:SetTexture (hb.Settings.ShieldIndicatorTexture, true, true)\n else\n hb.Settings.ShieldIndicatorTexture = [[Interface\\RaidFrame\\Shield-Fill]]\n hb.shieldAbsorbIndicator:SetTexture (hb.Settings.ShieldIndicatorTexture, true, true)\n end\n \n -- ensure settings are up to date... workardound till fix in Plater core.\n unitFrame.healthBar.Settings.ShowShields = Plater.db.profile.show_shield_prediction\n \n -- overwrite UpdateHealPrediction on the healthBar\n function envTable.addHook(unitFrame)\n local hb = unitFrame.healthBar\n \n if not hb.isCustomShieldHook then\n --health and absorbs prediction from Plater core, reworked to integrate shields into the health bar\n hb.UpdateHealPrediction = function (self)\n local currentHealth = self.currentHealth\n local currentHealthMax = self.currentHealthMax\n local healthPercent = currentHealth / currentHealthMax\n \n if (not currentHealthMax or currentHealthMax <= 0) then\n return\n end\n \n --order is: the health of the unit > damage absorb > heal absorb > incoming heal\n local width = self:GetWidth()\n \n hb.shieldAbsorbIndicator:Hide()\n hb.shieldAbsorbGlow:Hide()\n \n if not self.displayedUnit then return end\n \n if (self.Settings.ShowHealingPrediction) then\n --incoming heal on the unit from all sources\n local unitHealIncoming = UnitGetIncomingHeals (self.displayedUnit) or 0\n --heal absorbs\n local unitHealAbsorb = UnitGetTotalHealAbsorbs (self.displayedUnit) or 0\n \n if (unitHealIncoming > 0) then\n --calculate what is the percent of health incoming based on the max health the player has\n local incomingPercent = unitHealIncoming / currentHealthMax\n self.incomingHealIndicator:Show()\n self.incomingHealIndicator:SetWidth (max (1, min (width * incomingPercent, abs (healthPercent - 1) * width)))\n self.incomingHealIndicator:SetPoint (\"topleft\", self, \"topleft\", width * healthPercent, 0)\n self.incomingHealIndicator:SetPoint (\"bottomleft\", self, \"bottomleft\", width * healthPercent, 0)\n else\n self.incomingHealIndicator:Hide()\n end\n \n if (unitHealAbsorb > 0) then\n local healAbsorbPercent = unitHealAbsorb / currentHealthMax\n self.healAbsorbIndicator:Show()\n self.healAbsorbIndicator:SetWidth (max (1, min (width * healAbsorbPercent, abs (healthPercent - 1) * width)))\n self.healAbsorbIndicator:SetPoint (\"topleft\", self, \"topleft\", width * healthPercent, 0)\n self.healAbsorbIndicator:SetPoint (\"bottomleft\", self, \"bottomleft\", width * healthPercent, 0)\n else\n self.healAbsorbIndicator:Hide()\n end\n end\n \n if (self.Settings.ShowShields) then\n --damage absorbs\n local unitDamageAbsorb = UnitGetTotalAbsorbs (self.displayedUnit) or 0\n self.currentAbsorb = unitDamageAbsorb\n \n if (unitDamageAbsorb > 0) then\n local curHealthTotal = unitDamageAbsorb + currentHealth\n local damageAbsorbPercent\n local healthPercentAbsorb\n if curHealthTotal > currentHealthMax then\n damageAbsorbPercent = unitDamageAbsorb / curHealthTotal\n healthPercentAbsorb = currentHealth / curHealthTotal\n self:SetMinMaxValues (0, curHealthTotal)\n else \n damageAbsorbPercent = unitDamageAbsorb / currentHealthMax\n healthPercentAbsorb = currentHealth / currentHealthMax\n self:SetMinMaxValues (0, currentHealthMax)\n end\n --print(healthPercentAbsorb, currentHealth, unitDamageAbsorb, damageAbsorbPercent)\n \n self.shieldAbsorbIndicator:Show()\n \n \n self.shieldAbsorbIndicator:SetWidth (width * damageAbsorbPercent)\n self.shieldAbsorbIndicator:SetPoint (\"topleft\", self, \"topleft\", width * healthPercentAbsorb, 0)\n self.shieldAbsorbIndicator:SetPoint (\"bottomleft\", self, \"bottomleft\", width * healthPercentAbsorb, 0)\n \n \n else\n self.shieldAbsorbIndicator:Hide()\n end\n end\n \n hb.isCustomShieldHook = true\n end\n \n if hb.displayedUnit then\n hb.shieldAbsorbIndicator:Hide()\n hb.shieldAbsorbGlow:Hide()\n hb:UNIT_MAXHEALTH()\n else\n hb.customShieldHookNeedsUpdate = true\n end\n \n end\n end\n \nend", }, ["Time"] = 1601143185, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\ICONS\\Spell_Holy_PowerWordShield", ["Enabled"] = true, ["Revision"] = 1192, ["semver"] = "", ["Author"] = "Elaiana-Proudmoore", ["Desc"] = "Adds absorbs to the health bar as full health value.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Absorb Shields in Healthbar", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [1] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n local options1 = {\n glowType = \"button\",\n frequency = modTable.config.SPglowfreq\n }\n \n local options2 = {\n glowType = \"pixel\",\n N = modTable.config.SPglowparticle,\n frequency = modTable.config.SPglowfreq,\n length = modTable.config.SPpixellength,\n th = modTable.config.SPpixelth,\n xOffset = modTable.config.SPglowxoff,\n yOffset = modTable.config.SPglowyoff,\n border = modTable.config.SPpixelborder\n }\n \n local options3 = {\n glowType = \"ants\",\n N = modTable.config.SPglowparticle,\n frequency = modTable.config.SPglowfreq,\n scale = modTable.config.SPantsscale,\n xOffset = modTable.config.SPglowxoff,\n yOffset = modTable.config.SPglowyoff,\n }\n \n modTable.options = (modTable.config.SPglownum == 1 and options1) or (modTable.config.SPglownum == 2 and options2) or (modTable.config.SPglownum == 3 and options3)\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local buffSpecialGlow = true\n local color = modTable.config.SPglowcolor\n \n -- functions --\n local auraContainers = {unitFrame.BuffFrame.PlaterBuffList}\n \n if (Plater.db.profile.buffs_on_aura2) then\n auraContainers [2] = unitFrame.BuffFrame2.PlaterBuffList\n end\n \n for containerID = 1, #auraContainers do\n \n local auraContainer = auraContainers [containerID]\n \n for index, auraIcon in ipairs (auraContainer) do\n if not Plater.StartGlow then\n auraIcon.purgeGlowEffect = auraIcon.purgeGlowEffect or Plater.CreateIconGlow (auraIcon)\n if (auraIcon:IsShown() and auraIcon.CanStealOrPurge) then\n auraIcon.purgeGlowEffect:SetColor(color, color)\n auraIcon.purgeGlowEffect:Show()\n else\n auraIcon.purgeGlowEffect:Hide()\n end\n else\n if (auraIcon:IsShown() and auraIcon.CanStealOrPurge) then\n Plater.StartGlow(auraIcon, color, modTable.options)\n else\n Plater.StopGlow(auraIcon)\n end \n end\n end\n \n end\n \n if buffSpecialGlow then\n for _, auraIcon in ipairs (unitFrame.ExtraIconFrame.IconPool) do\n if auraIcon:IsShown() then\n local canStealOrPurge = auraIcon.canStealOrPurge\n \n if not Plater.StartGlow then\n auraIcon.purgeGlowEffect = auraIcon.purgeGlowEffect or Plater.CreateIconGlow (auraIcon)\n if (auraIcon:IsShown() and canStealOrPurge) then\n auraIcon.purgeGlowEffect:SetColor(color, color)\n auraIcon.purgeGlowEffect:Show()\n else\n auraIcon.purgeGlowEffect:Hide()\n end\n else\n if (auraIcon:IsShown() and canStealOrPurge) then\n Plater.StartGlow(auraIcon, color, modTable.options)\n else\n Plater.StopGlow(auraIcon)\n end \n end\n end\n end\n end\n \nend", }, ["Time"] = 1601165257, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "INTERFACE\\ICONS\\Ability_Creature_Cursed_04", ["Enabled"] = true, ["Revision"] = 707, ["semver"] = "", ["Author"] = "Viashi-Antonidas", ["Desc"] = "Adds a glow to the aura if you can steal or purge the buff.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Steal/Purge Aura Glow", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Common Options", ["Name"] = "Common Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "1(Button) / 2(Pixel) / 3(Ants) ", ["Min"] = 1, ["Key"] = "SPglownum", ["Value"] = 2, ["Name"] = "Glow Type", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "Set to negative to inverse direction of rotation", ["Min"] = -2, ["Key"] = "SPglowfreq", ["Value"] = 0.5, ["Name"] = "Glow Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [3] { ["Type"] = 1, ["Key"] = "SPglowcolor", ["Value"] = { 1, -- [1] 1, -- [2] 0.45490196078431, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set glow color", }, -- [4] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Options for Pixel & Ants Glow", ["Name"] = "Options for Pixel & Ants Glow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Set number of lines", ["Min"] = 1, ["Key"] = "SPglowparticle", ["Value"] = 6, ["Name"] = "Number of Particles", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Offset of glow relative to region border", ["Min"] = -10, ["Key"] = "SPglowxoff", ["Value"] = 1.2, ["Name"] = "X-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Offset of glow relative to region border", ["Min"] = -10, ["Key"] = "SPglowyoff", ["Value"] = 1.2, ["Name"] = "Y-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [9] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Options for Pixel Glow", ["Name"] = "Options for Pixel Glow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Key"] = "SPpixelborder", ["Value"] = false, ["Name"] = "Pixel Add Border", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Enable to true to create border under lines", }, -- [12] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set pixel line length", ["Min"] = 0.01, ["Key"] = "SPpixellength", ["Value"] = 6, ["Name"] = "Pixel Line Length", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Set pixel line thickness", ["Min"] = 0.01, ["Key"] = "SPpixelth", ["Value"] = 2, ["Name"] = "Pixel Line Thickness", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [15] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Options for Ants Glow", ["Name"] = "Options for Ants Glow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [16] { ["Type"] = 2, ["Max"] = 2.5, ["Desc"] = "Set ants glow scale", ["Min"] = 0.01, ["Key"] = "SPantsscale", ["Value"] = 0.8, ["Name"] = "Ants Glow Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [17] }, }, -- [2] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Player Logon"] = "function()\n \n -- /RELOAD AFTER IMPORTING OR CHANGING THE SCRIPT\n -- SELECT THE INDICATOR AT THE TARGET TAB\n local profile = Plater.db.profile\n \n Plater.TargetIndicators [\"Thin Arrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_thin_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 16,\n height = 16,\n x = 22,\n y = 0,\n blend = \"ADD\",\n color = profile.target_highlight_color, --\"white\",\n } \n \n Plater.TargetIndicators [\"Single Arrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_single_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 16,\n height = 16,\n x = 22,\n y = 0,\n blend = \"ADD\",\n color = profile.target_highlight_color, --\"white\",\n } \n \n Plater.TargetIndicators [\"Simple Arrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_simple_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 16,\n height = 16,\n x = 22,\n y = 0,\n blend = \"ADD\",\n color = profile.target_highlight_color, --\"white\",\n } \n \n Plater.TargetIndicators [\"Double Arrows\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_double_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 16,\n height = 16,\n x = 22,\n y = 0,\n blend = \"ADD\",\n color = profile.target_highlight_color, --\"white\",\n } \n \n Plater.TargetIndicators [\"Big Arrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 18,\n height = 16,\n x = 30,\n y = 0,\n blend = \"ADD\",\n color = profile.target_highlight_color, --\"white\",\n }\n \nend", }, ["Time"] = 1601165258, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\arrow_thin_right_64", ["Enabled"] = true, ["Revision"] = 216, ["semver"] = "", ["Author"] = "Xitobel-Saurfang", ["Desc"] = "Adds 4 types of arrow to target indicator options.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Target Arrows", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [3] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateLevelText (unitFrame)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateLevelText (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateLevelText = function(unitFrame)\n \n if not Plater.db.profile.plate_config[unitFrame.actorType].level_text_enabled then\n return \n end\n \n local unit = unitFrame.namePlateUnitToken\n local unitClassification = UnitClassification(unit)\n local level = UnitLevel(unit)\n \n if (unitClassification == \"worldboss\" or UnitLevel (unit) == -1) then\n return unitFrame.healthBar.actorLevel:SetText(\"BOSS\")\n elseif unitClassification == \"rareelite\" or unitClassification == \"elite\" then \n return unitFrame.healthBar.actorLevel:SetText(level..\"+\")\n elseif unitClassification == \"minus\" then\n return unitFrame.healthBar.actorLevel:SetText(level..\"-\") \n else\n return unitFrame.healthBar.actorLevel:SetText(level) \n end\n end\n \nend", }, ["Time"] = 1600785294, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1033987, ["Enabled"] = false, ["Revision"] = 2032, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Change Unit Level Text", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Unit Level Text", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [4] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.updatePowtext(unitFrame)\n \nend\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.updatePowtext(unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n --insert code here\n if (unitFrame.powerBarExtra) then\n unitFrame.powerBarExtra:Hide();\n end\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.updatePowtext(unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local config = Plater.db.profile.plate_config.player\n --insert code here\n do\n if not unitFrame.powerBarExtra then\n unitFrame.powerBarExtra = CreateFrame(\"Frame\", nil, unitFrame);\n unitFrame.powerBarExtra:SetWidth(16);\n unitFrame.powerBarExtra:SetHeight(16);\n unitFrame.powerBarExtra:SetPoint(\"CENTER\",unitFrame.powerBar,\"CENTER\", 0, 0);\n unitFrame.powerBarExtra:SetFrameStrata(\"DIALOG\");\n unitFrame.powerBarExtra:SetFrameLevel(10000);\n if not unitFrame.powerBarExtra.Text then\n unitFrame.powerBarExtra.Text = unitFrame.powerBarExtra:CreateFontString(nil, \"OVERLAY\");\n --config.power_percent_text_font);\n --change the font you want to use here \n unitFrame.powerBarExtra.Text:SetFont(unitFrame.powerBar.percentText:GetFont(), config.power_percent_text_size, config.power_percent_text_outline);\n unitFrame.powerBarExtra.Text:SetPoint(\"CENTER\", 0, 0);\n end\n unitFrame.powerBarExtra:Hide();\n end\n \n function envTable.updatePowtext(unitFrame) \n local isSelf = unitFrame.IsSelf;\n local powerBar = unitFrame.powerBar\n local cast =unitFrame.castBar\n local power = UnitPower(\"player\")\n local powertype = UnitPowerType(\"player\")\n \n if not isSelf then\n unitFrame.powerBarExtra:Hide()\n return\n end \n \n if powerBar.percentText then\n if (modTable.config.PBThidemana and powertype == 0) then\n powerBar.percentText:Show()\n else\n powerBar.percentText:Hide()\n end \n end\n \n if isSelf then\n if (modTable.config.PBThidecast and cast:IsShown()) or \n (modTable.config.PBThidemana and powertype == 0) then\n unitFrame.powerBarExtra:Hide()\n unitFrame.powerBarExtra.Text:SetText(\"\");\n else \n unitFrame.powerBarExtra:Show()\n unitFrame.powerBarExtra.Text:SetText(format(\"%d\", power)..\"\");\n end \n end\n end \n end\n \nend\n\n\n\n\n\n\n\n", }, ["Time"] = 1600785291, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 136222, ["Enabled"] = false, ["Revision"] = 1192, ["semver"] = "", ["Author"] = "Fragile-烈焰峰", ["Desc"] = "Replace the default pecent power text for personal power bar.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Power Bar Text", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 4, ["Key"] = "PBThidecast", ["Value"] = true, ["Name"] = "Hide when Casting", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Hide Powerbar Text when Casting", }, -- [1] { ["Type"] = 4, ["Key"] = "PBThidemana", ["Value"] = true, ["Name"] = "Only Show Mana by %", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show mana only with %", }, -- [2] }, }, -- [5] { ["OptionsValues"] = { ["autoMode"] = true, ["aurasPerRow"] = 50, }, ["HooksTemp"] = { }, ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n if modTable.config.autoMode then\n Plater.MaxAurasPerRowOverride = floor (Plater.db.profile.plate_config.enemynpc.health_incombat[1] / (Plater.db.profile.aura_width + Plater.db.profile.aura_padding))\n else\n Plater.MaxAurasPerRowOverride = modTable.config.aurasPerRow or 1\n end\n \n if not Plater.MaxAurasPerRowHooked then\n hooksecurefunc(Plater, \"RefreshAuraCache\", function() Plater.MaxAurasPerRow = Plater.MaxAurasPerRowOverride end)\n Plater.MaxAurasPerRowHooked = true\n end\n Plater.RefreshAuraCache()\n \nend\n\n\n\n\n\n\n\n\n", }, ["Time"] = 1601164592, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 413591, ["Enabled"] = true, ["Revision"] = 376, ["semver"] = "", ["Author"] = "Ariani-Antonidas", ["Desc"] = "Lets you configure the amount of Auras per icon row in Buff Frames.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Auras per Row Config", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "Max Auras per Row", ["Min"] = 1, ["Key"] = "aurasPerRow", ["Value"] = 10, ["Name"] = "Auras per Row", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] { ["Type"] = 4, ["Key"] = "autoMode", ["Value"] = false, ["Name"] = "Use Auto-Mode (default)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Adjust automatically to healthbar width.", }, -- [2] }, }, -- [6] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n --which auras goes first, assign a value (any number), bigger value goes first\n modTable.AuraPriority = {\n [\"유령 출몰\"] = 25,\n [\"대혼란\"] = 25,\n [\"부패의 씨앗\"] = 24,\n [\"제물\"] = 22,\n [\"부패\"] = 22,\n [\"고통\"] = 21,\n [\"생명력 착취\"] = 20,\n [\"불안정한 고통\"] = 19,\n [\"유령 특이점\"] = 23,\n [\"사악한 타락\"] = 23,\n [\"영혼 흡수\"] = 18,\n [\"생명력 흡수\"] = 18,\n } \n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local auraContainers = {unitFrame.BuffFrame.PlaterBuffList}\n local profile = Plater.db.profile\n if (profile.buffs_on_aura2) then\n auraContainers [2] = unitFrame.BuffFrame2.PlaterBuffList\n end\n \n for containerID = 1, #auraContainers do\n \n local auraContainer = auraContainers [containerID]\n local aurasShown = {}\n local aurasDuplicated = {}\n \n --build the list of auras shown in the buff frame and check for each aura priority\n --also check if the consolidate (stack) auras with the same name is enabled\n for index, auraIcon in ipairs (auraContainer) do\n if (auraIcon:IsShown()) then\n if (envTable.consolidadeRepeatedAuras) then\n --is this aura already shown?\n local iconShownIndex = aurasDuplicated [auraIcon.SpellName]\n if (iconShownIndex) then\n --get the table with information about the shown icon\n local auraShownTable = aurasShown [iconShownIndex]\n --get the icon already in the table\n local icon = auraShownTable[1]\n --increase the amount of stacks\n auraShownTable[3] = auraShownTable[3] + 1\n \n --check if the remaining time of the icon already added in the table is lower than the current\n if (auraIcon.RemainingTime > icon.RemainingTime) then\n --replace the icon for the icon with bigger duration\n auraShownTable[1] = auraIcon\n icon:Hide()\n else\n auraIcon:Hide()\n end\n else \n local priority = modTable.AuraPriority[auraIcon.SpellName] or modTable.AuraPriority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority, 1}) --icon frame, priority, stack amount\n aurasDuplicated [auraIcon.SpellName] = #aurasShown\n end\n else\n --not stacking similar auras\n local priority = modTable.AuraPriority[auraIcon.SpellName] or modTable.AuraPriority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority})\n end \n end\n end\n \n --sort auras by priority\n table.sort (aurasShown, DetailsFramework.SortOrder2)\n \n local growDirection, height, width\n if (containerID == 1) then --debuff container\n growDirection = profile.aura_grow_direction -- \"Left\", \"Center\", \"Right\" - 1 2 3\n height = profile.aura_height\n width = profile.aura_width\n elseif (containerID == 2) then --buff container\n growDirection = profile.aura2_grow_direction\n if (unitFrame.IsSelf) then\n height = profile.aura_height_personal\n width = profile.aura_width_personal\n else\n height = profile.aura_height2\n width = profile.aura_width2\n end\n end\n \n local padding = profile.aura_padding\n local auraoff = 0\n if unitFrame.ActorType then\n auraoff = Plater.db.profile.plate_config[unitFrame.ActorType].buff_frame_y_offset\n end\n \n \n --first icon is where the row starts\n local firstIcon = aurasShown[1] and aurasShown[1][1]\n \n if (firstIcon) then\n local anchorPoint = firstIcon:GetParent() --anchor point is the BuffFrame\n anchorPoint:SetSize (1, 1)\n \n if (growDirection ~= 2) then --it's growing to left or right\n local framersPerRow = modTable.config.ARmaxauras + 1\n local rowpadding = profile.aura_breakline_space\n local horizontalLength = (padding or 0)\n firstIcon:ClearAllPoints()\n \n if (growDirection == 3) then --> left to right\n \n if unitFrame.IsSelf then\n firstIcon:SetPoint (\"center\", anchorPoint, \"center\", (width / 2), -(height / 2) + auraoff)\n else\n firstIcon:SetPoint (\"topleft\", anchorPoint, \"bottomleft\", 0, (height / 2) + auraoff)\n end\n \n --> iterate among all aura icons\n for i = 2, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == 1) then\n auraIcon:SetPoint (\"bottomleft\", anchorPoint, \"bottomleft\", 0, 0)\n elseif (i % framersPerRow == 0) then\n local row = ceil(framersPerRow / (modTable.config.ARmaxauras + 1) - 0.5)\n if unitFrame.IsSelf then \n auraIcon:SetPoint (\"bottomright\", firstIcon, \"bottomright\", 0, -((height + rowpadding) * row) or 0)\n else \n auraIcon:SetPoint (\"bottomleft\", firstIcon, \"bottomleft\", 0, ((height + rowpadding) * row) or 0)\n end \n framersPerRow = framersPerRow + modTable.config.ARmaxauras\n else\n auraIcon:SetPoint (\"topleft\", aurasShown [i-1][1], \"topright\", padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n \n horizontalLength = horizontalLength + auraIcon:GetWidth() + padding\n end \n \n elseif (growDirection == 1) then --> right to left\n \n if unitFrame.IsSelf then \n firstIcon:SetPoint (\"center\", anchorPoint, \"center\", -(width / 2), auraoff)\n else\n firstIcon:SetPoint (\"topright\", anchorPoint, \"bottomright\", 0, (height/2) + auraoff)\n end\n \n --> iterate among all aura icons\n for i = 2, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == 1) then\n auraIcon:SetPoint (\"bottomleft\", firstIcon, \"bottomright\", 0, 0)\n elseif (i % framersPerRow == 0) then\n local row = ceil(framersPerRow / (modTable.config.ARmaxauras + 1) - 0.5)\n if unitFrame.IsSelf then \n auraIcon:SetPoint (\"bottomleft\", firstIcon, \"bottomleft\", 0, -((height + rowpadding) * row) or 0)\n else \n auraIcon:SetPoint (\"bottomright\", firstIcon, \"bottomright\", 0, ((height + rowpadding) * row) or 0)\n end \n framersPerRow = framersPerRow + modTable.config.ARmaxauras\n else\n auraIcon:SetPoint (\"topright\", aurasShown [i-1][1], \"topleft\", -padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n \n horizontalLength = horizontalLength + auraIcon:GetWidth() + padding\n end \n end\n else\n local iconAmount = 0\n local horizontalLength = 0\n local firstIcon\n local previousIcon\n local anchorPoint\n \n for i = 1, #aurasShown do\n local auraIcon = aurasShown [i][1]\n if (auraIcon:IsShown()) then\n iconAmount = iconAmount + 1\n horizontalLength = horizontalLength + auraIcon:GetWidth() + padding\n auraIcon:ClearAllPoints()\n \n if (not firstIcon) then\n firstIcon = auraIcon\n anchorPoint = firstIcon:GetParent()\n firstIcon:SetPoint (\"bottomleft\", anchorPoint, \"bottomleft\", 2, auraoff)\n previousIcon = firstIcon\n else\n auraIcon:SetPoint (\"bottomleft\", previousIcon, \"bottomright\", padding, 0)\n previousIcon = auraIcon\n end\n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n end\n end\n \n --set the size of the buff frame\n anchorPoint:SetWidth (horizontalLength)\n anchorPoint:SetHeight (firstIcon:GetHeight()) \n end\n end \n end\n \nend", }, ["Time"] = 1600874112, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_reorder", ["Enabled"] = false, ["Revision"] = 707, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Reorder buffs and debuffs following the settings set in the constructor.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Aura Reorder [Fixed]", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can set Aura sort priority by editing modTable.AuraPriority at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "Amount of icons in the row, It'll breakline and start a new row after reach the threshold. Will not be applied to center aligned aura frame. Disable Auras per Row Config mod before using this feature", ["Min"] = 1, ["Key"] = "ARmaxauras", ["Value"] = 5, ["Name"] = "Max Auras Per Row", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] }, }, -- [7] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n if unitFrame.IsSelf then return end\n \n unitFrame.healthBar.unitTarget :SetText (\"\")\n \n if (modTable.TargetedByUnit[unitFrame.namePlateNpcId] or modTable.TargetedByUnit[unitFrame.namePlateUnitNameLower] or modTable.TargetedByUnit[unitFrame.namePlateUnitName]) then\n local unit = unitFrame.targetUnitID\n if UnitExists(unit) and not Plater.IsUnitTank(unit) then \n envTable.Anchoring(unit)\n end\n end\n \nend \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Initialization"] = "function (modTable)\n \n --Unitname or NPCId\n modTable.TargetedByUnit = {\n [134600] = true, \n [133835] = true, \n [122963] = true, \n [138493] = true, \n [133943] = true, \n [129802] = true, \n [133482] = true, \n [129758] = true, \n }\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local healthBar = unitFrame.healthBar\n local profile = Plater.db.profile\n local xoffset = modTable.config.UTUtextxoff\n local anchor = {\n side = modTable.config.UTUtextanchor, \n x = xoffset, \n y = modTable.config.UTUtextyoff\n }\n \n envTable.DecimalToHex = function(r,g,b)\n return string.format(\"|cff%02x%02x%02x\", r*255, g*255, b*255)\n end\n \n envTable.Color = function(unit)\n \n if not unit then return \"\" end\n \n if select(1, strsplit(\"-\",UnitGUID(unit))) and select(1, strsplit(\"-\",UnitGUID(unit))) == \"Player\" then\n local str = select(1, UnitName(unit))\n local playerclass,PLAYERCLASS = UnitClass(unit)\n if not PLAYERCLASS then return unit end\n local classcolor = RAID_CLASS_COLORS[PLAYERCLASS]\n if not classcolor then return unit end\n local r,g,b = classcolor.r,classcolor.g,classcolor.b\n \n local icon = \"\"\n \n if UnitIsUnit(unit, \"player\") then\n r, g, b = 1, 0, 0 \n if _G.LOCALE_koKR then\n str = \"당신!\"\n else\n str = \"YOU!\"\n end\n else\n local role = UnitGroupRolesAssigned(unit)\n \n if role and (role == \"HEALER\" or role == \"TANK\") then\n icon = CreateTextureMarkup([[Interface\\LFGFrame\\UI-LFG-ICON-ROLES]], 256, 256, 0, 0, GetTexCoordsForRole(role))\n end\n end \n \n local classcolorhex = envTable.DecimalToHex(r,g,b)\n \n return classcolorhex..str..\"|r\"..icon\n else\n if UnitIsEnemy(unit, \"player\") then\n r, g, b = 1, 0, 0 \n else\n r, g, b = 0, 1, 0 \n end\n local classcolorhex = envTable.DecimalToHex(r,g,b)\n \n return classcolorhex..UnitName(unit)..\"|r\"\n end\n end\n \n healthBar.unitTarget = healthBar.unitTarget or Plater:CreateLabel(healthBar)\n local unitTarget = healthBar.unitTarget \n \n envTable.Anchoring = function(unit)\n local profile = Plater.db.profile\n if (profile.buffs_on_aura2) and (profile.aura_frame2_anchor.side == anchor.side) then\n if anchor.side == 6 then \n anchor.x = xoffset + (profile.aura_width2 + profile.aura_padding) * unitFrame.BuffFrame2.amountAurasShown\n elseif anchor.side == 2 then\n anchor.x = xoffset - (profile.aura_width2 + profile.aura_padding) * unitFrame.BuffFrame2.amountAurasShown\n end\n end\n Plater.SetAnchor (healthBar.unitTarget, anchor, healthBar)\n DetailsFramework:SetFontSize (unitTarget, modTable.config.UTUtextsize)\n DetailsFramework:SetFontOutline (unitTarget, profile.castbar_target_shadow)\n Plater.SetFontOutlineAndShadow (unitTarget, profile.castbar_target_outline, profile.castbar_target_shadow_color, profile.castbar_target_shadow_color_offset[1], profile.castbar_target_shadow_color_offset[2])\n DetailsFramework:SetFontFace (unitTarget, profile.castbar_target_font) \n unitTarget:SetText (envTable.Color(unit))\n end\n \nend", }, ["Time"] = 1600959550, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 132212, ["Enabled"] = true, ["Revision"] = 1592, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Emphasize specific unit's target name", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Unit Target Name [Unit]", ["LastHookEdited"] = "Constructor", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can add specific NPC to Whitelist by editing modTable.TargetedByUnit at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text Size", ["Min"] = 1, ["Key"] = "UTUtextsize", ["Value"] = 19, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "UTUtextanchor", ["Value"] = 6, ["Name"] = "Text Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [3] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text x-offset", ["Min"] = -100, ["Key"] = "UTUtextxoff", ["Value"] = 3, ["Name"] = "Text X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text y-offset", ["Min"] = -100, ["Key"] = "UTUtextyoff", ["Value"] = 0, ["Name"] = "Text Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [5] }, }, -- [8] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n --Spellname or SpellId\n modTable.TargetedBySpell = {\n [263318] = true, \n [272820] = true, \n [274642] = true, \n [263309] = true, \n [268061] = true, \n [265019] = true, \n [265377] = true, \n [260879] = true, \n [265568] = true, \n [265625] = true, \n [278961] = true, \n [253239] = true, \n [256138] = true, \n [254959] = true, \n [252781] = true, \n [273185] = true, \n [256846] = true, \n [265541] = true, \n [250096] = true, \n [265773] = true, \n [270927] = true, \n [270920] = true, \n [270865] = true, \n [270502] = true, \n [269231] = true, \n [271555] = true, \n [267702] = true, \n [267618] = true, \n [270506] = true, \n [270487] = true, \n [270492] = true, \n [270507] = true, \n [266231] = true, \n [266951] = true, \n [268403] = true, \n [268932] = true, \n [280604] = true, \n [263202] = true, \n [268797] = true, \n [262794] = true, \n [260669] = true, \n [271456] = true, \n [257036] = true, \n [256897] = true, \n [272662] = true, \n [256639] = true, \n [272542] = true, \n [260954] = true, \n [261428] = true, \n [272571] = true, \n [257777] = true, \n [258313] = true, \n [257028] = true, \n [256039] = true, \n [257739] = true, \n [258338] = true, \n [256106] = true, \n [256979] = true, \n [257478] = true, \n [257784] = true, \n [264166] = true, \n [264560] = true, \n [268050] = true, \n [268050] = true, \n [268233] = true, \n [268322] = true, \n [264390] = true, \n [264105] = true, \n [263891] = true, \n [264038] = true, \n [264456] = true, \n [260741] = true, \n [266225] = true, \n [261440] = true, \n [268202] = true, \n [265346] = true, \n [264695] = true, \n [264923] = true, \n [299460] = true, \n [284219] = true, \n [301629] = true, \n [300764] = true, \n [300650] = true, \n [293827] = true, \n [294195] = true, \n [202682] = true, \n [292264] = true, \n [291928] = true, \n [300188] = true, \n [302274] = true, \n [303885] = true, \n [259832] = true, \n [314411] = true,\n [314406] = true,\n }\n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n if (modTable.TargetedBySpell [self.SpellID] or modTable.TargetedBySpell [self.SpellName]) then\n if not UnitExists(unitFrame.targetUnitID) then return end\n envTable.Anchoring(unitFrame)\n end\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local xoffset = modTable.config.UTStextxoff\n local anchor = {\n side = modTable.config.UTStextanchor, \n x = xoffset, \n y = modTable.config.UTStextyoff\n }\n \n envTable.Anchoring = function(unitFrame)\n if unitFrame then \n local profile = Plater.db.profile\n if (profile.buffs_on_aura2) and (profile.aura_frame2_anchor.side == anchor.side) then\n if anchor.side == 6 then \n anchor.x = xoffset + (profile.aura_width2 + profile.aura_padding) * unitFrame.BuffFrame2.amountAurasShown\n elseif anchor.side == 2 then\n anchor.x = xoffset - (profile.aura_width2 + profile.aura_padding) * unitFrame.BuffFrame2.amountAurasShown\n end\n end\n Plater.SetAnchor (unitFrame.castBar.TargetName, anchor, unitFrame.healthBar)\n Plater:SetFontSize (unitFrame.castBar.TargetName, modTable.config.UTStextsize)\n end\n end\n \nend", }, ["Time"] = 1600959551, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 132173, ["Enabled"] = true, ["Revision"] = 1595, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Emphasize specific spell's target name", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Unit Target Name [Spell]", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can add specific Spell to Whitelist by editing modTable.TargetedBySpell at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text Size", ["Min"] = 1, ["Key"] = "UTStextsize", ["Value"] = 19, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "UTStextanchor", ["Value"] = 6, ["Name"] = "Text Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [3] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text x-offset", ["Min"] = -100, ["Key"] = "UTStextxoff", ["Value"] = 3, ["Name"] = "Text X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text y-offset", ["Min"] = -100, ["Key"] = "UTStextyoff", ["Value"] = 0, ["Name"] = "Text Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [5] }, }, -- [9] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.healthBar.TargetBorder) then\n unitFrame.healthBar.TargetBorder:Hide()\n end\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateBorder (unitFrame)\n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateBorder (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local profile = Plater.db.profile\n local borderSize = modTable.config.targetborderSize\n local borderColor = profile.target_highlight_color\n \n if (not unitFrame.healthBar.TargetBorder) then\n unitFrame.healthBar.TargetBorder = CreateFrame (\"frame\", nil, unitFrame.healthBar, \"NamePlateFullBorderTemplate\")\n end\n \n function envTable.UpdateBorder (unitFrame)\n if (UnitIsUnit (\"target\", unitFrame.unit)) then \n local r, g, b, a = DetailsFramework:ParseColors (borderColor)\n unitFrame.healthBar.TargetBorder:SetVertexColor (r, g, b, a)\n \n unitFrame.healthBar.TargetBorder:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n unitFrame.healthBar.TargetBorder:UpdateSizes() \n \n unitFrame.healthBar.TargetBorder:Show()\n else\n unitFrame.healthBar.TargetBorder:Hide()\n end\n end\nend", }, ["Time"] = 1600959553, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\CHATFRAME\\UI-ChatInputBorder", ["Enabled"] = true, ["Revision"] = 444, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Add a border around the current target.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Target Border", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Set target border size", ["Min"] = 0, ["Key"] = "targetborderSize", ["Value"] = 1, ["Name"] = "Border Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [1] }, }, -- [10] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CanShowPowerBarForUnit (unitFrame) \n \nend", ["Initialization"] = "function (modTable)\n \n --specific npcs, can be the npc name or npcId\n --this list work even if the Show For Enemy Npcs is false\n modTable.PowerBarList = {\n [129208] = true, -- 록우드\n [128651] = true, -- 다크패덤\n [133379] = true, -- 애더리스\n [133944] = true, -- 아스픽스\n [133389] = true, -- 갈바즈트\n [131817] = true, -- 돌쩌귀\n [131383] = true, -- 잔차\n [133007] = true, -- 흉물\n [122967] = true, -- 알룬자\n [122968] = true, -- 야즈마\n [131823] = true, -- 말라디\n [131824] = true, -- 솔레나\n [131825] = true, -- 브라이어\n [131864] = true, -- 고라크 툴\n [129214] = true, -- 난타기\n [129227] = true, -- 아제로크\n [129231] = true, -- 릭사\n [134063] = true, -- 아이언헐\n [134058] = true, -- 파예\n [134069] = true, -- 볼지스\n [150222] = true, -- 진창오물\n [152703] = true, -- 워키 충격기\n [155645] = true, \n [163746] = true, \n \n --4시즌\n [159320] = true, \n [159321] = true, \n [161745] = true, \n [161746] = true, \n [156523] = true, -- 마우트\n [156650] = true, -- 어둠의 실체\n [154524] = true, \n [157609] = true, \n }\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --anchor the power bar to\n local Anchor = {\n side = modTable.config.PBanchor,\n x = modTable.config.PBxoff, \n y = modTable.config.PByoff\n }\n \n local PercentTextAnchor = {\n side = modTable.config.PBtextanchor,\n x = modTable.config.PBtextxoff, \n y = modTable.config.PBtextyoff\n }\n \n --private\n unitFrame.powerBar.UpdatePower = function (self)\n DF_CalcCpuUsage (\"Powerbar-UpdatePower\")\n self.currentPower = UnitPower (self.displayedUnit, self.powerType)\n local PixelUtil = PixelUtil or DFPixelUtil\n PixelUtil.SetStatusBarValue (self, self.currentPower)\n \n if (self.Settings.ShowPercentText) then\n self.percentText:SetText (floor (self.currentPower / self.currentPowerMax * 100) .. \"%\")\n --self.percentText:SetText(Plater.FormatNumber(self.currentPower or 0))\n end\n DF_CalcCpuUsage (\"Powerbar-UpdatePower\")\n end\n \n function envTable.ShowPowerbar (unitFrame)\n unitFrame.powerBar:SetUnit (unitFrame.unit)\n envTable.UpdatePowerbar (unitFrame)\n end\n \n function envTable.UpdatePowerbar (unitFrame)\n local powerBar = unitFrame.powerBar\n powerBar:UpdatePowerInfo()\n Plater.SetAnchor (powerBar, Anchor, unitFrame.healthBar)\n powerBar:SetSize (unitFrame.healthBar:GetWidth(), modTable.config.PBheight)\n \n envTable.SavePowerBarSize (unitFrame, modTable.config.PBheight)\n \n local powerType, powerToken, altR, altG, altB = UnitPowerType(unitFrame.namePlateUnitToken)\n local info = PowerBarColor[powerToken];\n \n if (info) then\n r, g, b = info.r, info.g, info.b;\n else\n if (not altR) then\n info = PowerBarColor[powerType] or PowerBarColor[\"MANA\"];\n r, g, b = info.r, info.g, info.b;\n else\n r, g, b = altR, altG, altB;\n end \n end\n \n powerBar:SetColor(r,g,b,1)\n \n if (modTable.config.PBtexton) then\n powerBar.percentText:Show()\n --copy the font from the health percent\n Plater:SetFontFace (powerBar.percentText, Plater.GetConfig (unitFrame).percent_text_font)\n Plater:SetFontSize (powerBar.percentText, modTable.config.PBtextsize)\n Plater:SetFontColor (powerBar.percentText, \"gold\" )\n Plater.SetAnchor (powerBar.percentText, PercentTextAnchor)\n else\n powerBar.percentText:Hide()\n end\n \n end\n \n function envTable.CanShowPowerBarForUnit (unitFrame)\n --check if the is in the special list to force show\n local forceShowPowerBar = modTable.PowerBarList [unitFrame.namePlateNpcId] or modTable.PowerBarList [unitFrame.namePlateUnitName] or modTable.PowerBarList [unitFrame.namePlateUnitNameLower]\n if (forceShowPowerBar) then\n envTable.ShowPowerbar (unitFrame)\n return\n \n --check if the unit is a enemy player\n elseif (unitFrame.ActorType == \"enemyplayer\") then\n if (modTable.config.PBshowep) then\n envTable.ShowPowerbar (unitFrame)\n return\n end\n \n --check if the unit is a enemy npc\n elseif (unitFrame.ActorType == \"enemynpc\") then\n if (modTable.config.PBshowenpc) then\n envTable.ShowPowerbar (unitFrame)\n return\n end\n \n --check if the unit is a enemy player\n elseif (unitFrame.ActorType == \"friendlyplayer\") then\n if (modTable.config.PBshowfp) then\n envTable.ShowPowerbar (unitFrame)\n return\n end\n \n --check if the unit is a enemy npc\n elseif (unitFrame.ActorType == \"friendlynpc\") then\n if (modTable.config.PBshowfnpc) then\n envTable.ShowPowerbar (unitFrame)\n return\n end\n end\n end\n \n function envTable.SavePowerBarSize (unitFrame, height)\n local plateConfigs = Plater.db.profile.plate_config [unitFrame.ActorType]\n plateConfigs.mana[1] = plateConfigs.health[1]\n plateConfigs.mana[2] = height\n plateConfigs.mana_incombat[1] = plateConfigs.health_incombat[1]\n plateConfigs.mana_incombat[2] = height\n end\n \nend", }, ["Time"] = 1601165257, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, ["scenario"] = true, ["raid"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface/Addons/Plater/Media/fire_64", ["Enabled"] = true, ["Revision"] = 1726, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Show Altpower bar for some units.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Power Bar", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can add specific NPC to Whitelist by editing modTable.PowerBarList at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Basic options", ["Name"] = "Basic options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "PBshowep", ["Value"] = false, ["Name"] = "Show For Enemy Players", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Always Show Power Bar For Enemy Players", }, -- [4] { ["Type"] = 4, ["Key"] = "PBshowenpc", ["Value"] = false, ["Name"] = "Show For Enemy NPC", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Always Show Power Bar For Enemy NPC", }, -- [5] { ["Type"] = 4, ["Key"] = "PBshowfp", ["Value"] = false, ["Name"] = "Show For Friendly Players", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Always Show Power Bar For Friendly Players", }, -- [6] { ["Type"] = 4, ["Key"] = "PBshowfnpc", ["Value"] = false, ["Name"] = "Show For Friendly NPC", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Always Show Power Bar For Friendly NPC", }, -- [7] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Bar options", ["Name"] = "Bar options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [8] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Bar Height", ["Min"] = 0, ["Key"] = "PBheight", ["Value"] = 3, ["Name"] = "Bar Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [9] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "PBanchor", ["Value"] = 4, ["Name"] = "Bar Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Bar x-offset", ["Min"] = -100, ["Key"] = "PBxoff", ["Value"] = 0, ["Name"] = "Bar X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Bar y-offset", ["Min"] = -100, ["Key"] = "PByoff", ["Value"] = 0, ["Name"] = "Bar Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Power Text options", ["Name"] = "Power Text options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 4, ["Key"] = "PBtexton", ["Value"] = true, ["Name"] = "Enable Power Text", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Enable Power Text", }, -- [15] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Power % text size", ["Min"] = 1, ["Key"] = "PBtextsize", ["Value"] = 7, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "PBtextanchor", ["Value"] = 4, ["Name"] = "Text Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Power Text x-offset", ["Min"] = -100, ["Key"] = "PBtextxoff", ["Value"] = 0, ["Name"] = "Text X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [18] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Power Text y-offset", ["Min"] = -100, ["Key"] = "PBtextyoff", ["Value"] = 5, ["Name"] = "Text Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [19] }, }, -- [11] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateRaidMark (unitId)\n \nend\n\n\n", ["Raid Target"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateRaidMark (unitId)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local Size = modTable.config.NOrmsize\n local Anchor = {\n side = modTable.config.NOrmanchor,\n x = modTable.config.NOrmxoff, \n y = modTable.config.NOrmyoff\n }\n \n function envTable.UpdateRaidMark (unitId)\n local plateFrame = C_NamePlate.GetNamePlateForUnit (unitId)\n local unitFrame = plateFrame.unitFrame\n local marker = unitFrame.PlaterRaidTargetFrame\n \n if (plateFrame.IsFriendlyPlayerWithoutHealthBar or \n plateFrame.IsNpcWithoutHealthBar) then\n marker:SetSize (Size, Size)\n Plater.SetAnchor (marker, Anchor, unitFrame.ActorNameSpecial)\n end\n end\n \nend", }, ["Time"] = 1601257505, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 878222, ["Enabled"] = true, ["Revision"] = 1246, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Set size and anchor of raidmark in name-only plates", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Name-Only Raidmark", ["LastHookEdited"] = "Constructor", ["Options"] = { { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Name-Only Raidmark Size", ["Min"] = 1, ["Key"] = "NOrmsize", ["Value"] = 22, ["Name"] = "Raidmark Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "NOrmanchor", ["Value"] = 8, ["Name"] = "Raidmark Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Name-Only Raidmark x-offset", ["Min"] = -100, ["Key"] = "NOrmxoff", ["Value"] = -2, ["Name"] = "Raidmark X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [3] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Name-Only Raidmark y-offset", ["Min"] = -100, ["Key"] = "NOrmyoff", ["Value"] = 2, ["Name"] = "Raidmark Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] }, }, -- [12] { ["OptionsValues"] = { ["MDTtextyoff"] = -2, ["MDTtextanchor"] = 3, ["MDTtextxoff"] = -2, }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateMobPercentage(unitFrame, true)\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateMobPercentage(unitFrame)\n \nend", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local anchor = {\n side = modTable.config.MDTtextanchor,\n x = modTable.config.MDTtextxoff,\n y = modTable.config.MDTtextyoff,\n };\n \n ---------------------------------------------------------------------------------------------------------------------------------------------\n --frames:\n --create the text frame that will show the %\n if (not unitFrame.healthBar.mobPercentageTextFrame) then\n envTable.mobPercentageTextFrame = Plater:CreateLabel (unitFrame.healthBar, \"\", modTable.config.MDTtextsize, modTable.config.MDTtextcolor);\n Plater.SetAnchor (envTable.mobPercentageTextFrame, anchor);\n unitFrame.healthBar.mobPercentageTextFrame = envTable.mobPercentageTextFrame\n envTable.mobPercentageTextFrame:SetText(\"\")\n end\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --functions\n envTable.isTeeming = function()\n local _, affixes = C_ChallengeMode.GetActiveKeystoneInfo()\n for _, affixID in ipairs(affixes) do\n if affixID == 5 then\n return true\n end\n end\n return false\n end\n \n --update the target percentage\n function envTable.UpdateMobPercentage(unitFrame, clearText)\n if (not unitFrame or not unitFrame.healthBar or not unitFrame.healthBar.mobPercentageTextFrame) then return end\n \n -- update the anchor for better configuration\n Plater.SetAnchor (unitFrame.healthBar.mobPercentageTextFrame, anchor);\n \n if (clearText) then\n unitFrame.healthBar.mobPercentageTextFrame:SetText(\"\")\n return\n end\n \n local _, _, difficultyID= GetInstanceInfo()\n local _, _, _, isChallengeMode = GetDifficultyInfo(difficultyID)\n \n --isChallengeMode = true\n if (not isChallengeMode) then\n unitFrame.healthBar.mobPercentageTextFrame:SetText(\"\")\n return\n end\n \n if MDT ~= nil and MDT.GetEnemyForces ~= nil then\n local mobPercentageString = \"\"\n local weight = nil;\n local isTeeming = envTable.isTeeming()\n local npcId = unitFrame.namePlateNpcId\n local count, max, maxTeeming, teemingCount = MDT:GetEnemyForces(npcId)\n if teemingCount then\n count = teemingCount\n end\n if (count ~= nil and max ~= nil and maxTeeming ~= nil) then\n if (isTeeming) then\n weight = count / maxTeeming\n else\n weight = count / max\n end\n weight = weight * 100\n end\n \n if (weight and weight > 0) then\n if modTable.config.MDTpercent then\n mobPercentageString = string.format(\"%.2f%%\", weight)\n end\n if modTable.config.MDTcount then\n if mobPercentageString ~= \"\" then\n mobPercentageString = mobPercentageString .. \" | \"\n end\n mobPercentageString = mobPercentageString .. count\n if modTable.config.MDTtotal then\n if (isTeeming) then\n mobPercentageString = mobPercentageString .. \"/\" .. maxTeeming\n else\n mobPercentageString = mobPercentageString .. \"/\" .. max\n end\n end\n end\n \n unitFrame.healthBar.mobPercentageTextFrame:SetText(mobPercentageString)\n end\n end\n end\n \nend", }, ["Time"] = 1601221332, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { ["9"] = true, ["Enabled"] = true, ["10"] = true, }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 254292, ["Enabled"] = true, ["Revision"] = 364, ["semver"] = "", ["Author"] = "Viashi-Antonidas", ["Desc"] = "Shows the m+ mob percentage on the nameplate. REQUIRES MDT \"Method Dungeon Tools\" TO WORK!", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "M+ MDT MobPercentage", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Text to Show", ["Name"] = "Text to Show", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "MDTpercent", ["Value"] = true, ["Name"] = "Show MDT Percent", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show MDT Percent", }, -- [2] { ["Type"] = 4, ["Key"] = "MDTcount", ["Value"] = false, ["Name"] = "Show MDT Count", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show MDT Count", }, -- [3] { ["Type"] = 4, ["Key"] = "MDTtotal", ["Value"] = false, ["Name"] = "Show MDT Total", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show MDT Total", }, -- [4] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Text Settings", ["Name"] = "Text Settings", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text Size", ["Min"] = 1, ["Key"] = "MDTtextsize", ["Value"] = 8, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [7] { ["Type"] = 1, ["Key"] = "MDTtextcolor", ["Value"] = { 1, -- [1] 0.74117647058824, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set Text Color", }, -- [8] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "MDTtextanchor", ["Value"] = 3, ["Name"] = "Text Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text X-offset", ["Min"] = -100, ["Key"] = "MDTtextxoff", ["Value"] = -2, ["Name"] = "Text X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Text Y-offset", ["Min"] = -100, ["Key"] = "MDTtextyoff", ["Value"] = -2, ["Name"] = "Text Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] }, }, -- [13] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateName(unitFrame, false)\n \nend\n\n\n", ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateName(unitFrame, true) \n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateName(unitFrame, true) \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n function envTable.UpdateName(unitFrame, casting)\n if not unitFrame or not unitFrame.castBar then\n return\n end\n \n local castBar = unitFrame.castBar\n \n if casting then\n if modTable.config.DChidehealth then\n unitFrame.healthBar.lifePercent:Hide()\n end\n if not unitFrame.IsSelf and modTable.config.DChidename then\n unitFrame.unitName:Hide()\n end\n if unitFrame.IsSelf and modTable.config.DChidepower then\n unitFrame.powerBar.percentText:Hide()\n end\n \n else\n local plateConfigs = Plater.GetConfig (unitFrame)\n unitFrame.unitName:Show()\n if (plateConfigs.percent_text_enabled) then\n unitFrame.healthBar.lifePercent:Show()\n end\n if unitFrame.IsSelf and (plateConfigs.power_percent_text_enabled) then\n unitFrame.powerBar.percentText:Show()\n end\n end\n \n end\n \n if not unitFrame.castBar.hideNameModHooked then\n hooksecurefunc(unitFrame.castBar, \"Hide\", function() envTable.UpdateName(unitFrame, false) end)\n unitFrame.castBar.hideNameModHooked = true\n end\n \nend", }, ["Time"] = 1600785291, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 413591, ["Enabled"] = false, ["Revision"] = 409, ["semver"] = "", ["Author"] = "Ariani-Antonidas", ["Desc"] = "Hides the name text and/or health text if the unit is casting.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Hide Name during Casts", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 4, ["Key"] = "DChidename", ["Value"] = false, ["Name"] = "Hide Name", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Hide unit name during casting", }, -- [1] { ["Type"] = 4, ["Key"] = "DChidehealth", ["Value"] = false, ["Name"] = "Hide Health Text", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Hide health text during casting(except player frame)", }, -- [2] { ["Type"] = 4, ["Key"] = "DChidepower", ["Value"] = true, ["Name"] = "Hide Power Text", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Hide power text during casting(only player frame)", }, -- [3] }, }, -- [14] { ["OptionsValues"] = { ["HTooc"] = false, }, ["HooksTemp"] = { }, ["Hooks"] = { ["Health Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateHealth (unitFrame) \n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateHealth (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n function envTable.UpdateHealth (unitFrame)\n local healthBar = unitFrame.healthBar\n --get the health and health max current values\n local currentHealth = unitFrame.healthBar.CurrentHealth or 0\n local currentHealthMax = unitFrame.healthBar.CurrentHealthMax or 0\n --build the string text with current health\n local healthString = \"\"\n \n --if is showing max health, add it in the health string text\n if (unitFrame.ActorType and Plater.db.profile.plate_config[unitFrame.ActorType].percent_show_health) then\n healthString = healthString .. Plater.FormatNumber (currentHealth)\n end\n \n if (modTable.config.ShowMaxHealth) then\n healthString = healthString .. modTable.config.healthSeparator .. Plater.FormatNumber (currentHealthMax)\n end\n \n --if is showing the percent text, add it into the string text\n if (unitFrame.ActorType and Plater.db.profile.plate_config[unitFrame.ActorType].percent_show_percent) then\n local percent = currentHealth / currentHealthMax * 100\n local fraction = \"%.1f\"\n \n if (percent == 100) then\n fraction = \"%.0f\"\n elseif (percent < 10) then\n fraction = \"%.2f\"\n end\n \n if (modTable.config.ShowMaxHealth) then\n healthString = healthString .. \" (\" .. format (fraction, percent) .. \"%)\"\n else\n if (unitFrame.ActorType and Plater.db.profile.plate_config[unitFrame.ActorType].percent_show_health) then\n healthString = healthString .. modTable.config.healthSeparator .. format (fraction, percent) .. \"%\" \n else\n healthString = healthString .. format (fraction, percent) .. \"%\"\n end\n end\n end\n \n \n if (modTable.config.ShowAbsorb) and unitFrame.namePlateUnitToken and \n UnitGetTotalAbsorbs(unitFrame.namePlateUnitToken) > 0 then\n local absorb = UnitGetTotalAbsorbs(unitFrame.namePlateUnitToken) or 0\n healthString = healthString ..\"|cffb8d8ff +\".. Plater.FormatNumber (absorb)\n end\n \n if modTable.config.HTooc then\n if unitFrame.IsSelf or not unitFrame.ActorType then return end\n \n local Anchor = {\n side = modTable.config.HToocanchor, \n x = modTable.config.HToocxoff, \n y = modTable.config.HToocyoff,\n }\n \n if Plater.IsInCombat() then\n DetailsFramework:SetFontSize (healthBar.lifePercent,Plater.db.profile.plate_config[unitFrame.ActorType].percent_text_size)\n healthBar.lifePercent:ClearAllPoints()\n Plater.SetAnchor (healthBar.lifePercent, Plater.db.profile.plate_config[unitFrame.ActorType].percent_text_anchor)\n else\n DetailsFramework:SetFontSize (healthBar.lifePercent, modTable.config.HToocsize)\n healthBar.lifePercent:ClearAllPoints()\n Plater.SetAnchor (healthBar.lifePercent, Anchor)\n end\n end\n \n --set the string text\n healthBar.lifePercent:SetText (healthString)\n end\n \nend", }, ["Time"] = 1601165243, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 237031, ["Enabled"] = true, ["Revision"] = 871, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Show the total health and percent in the health amount text. See the constructor code to change options.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Health Text Customization", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Basic Options", ["Name"] = "Basic Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "ShowMaxHealth", ["Value"] = false, ["Name"] = "Show Max Health", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Max Health", }, -- [2] { ["Type"] = 4, ["Key"] = "ShowAbsorb", ["Value"] = true, ["Name"] = "Show Absorption value", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Absorption value on Healthbar", }, -- [3] { ["Type"] = 3, ["Key"] = "healthSeparator", ["Value"] = " / ", ["Name"] = "Health Separator", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "Health Separator", }, -- [4] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Out of Combat Options", ["Name"] = "Out of Combat Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "HTooc", ["Value"] = false, ["Name"] = "OOC Settings", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Modify health text anchor when out of combat", }, -- [7] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set OOC health text size", ["Min"] = 1, ["Key"] = "HToocsize", ["Value"] = 13, ["Name"] = "OOC Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "HToocanchor", ["Value"] = 7, ["Name"] = "OOC Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set OOC X-Offset", ["Min"] = -100, ["Key"] = "HToocxoff", ["Value"] = 0, ["Name"] = "OOC X-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set OOC Y-Offset", ["Min"] = -100, ["Key"] = "HToocyoff", ["Value"] = -1.5, ["Name"] = "OOC Y-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [11] }, }, -- [15] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.Texture = [[Interface\\AddOns\\Plater\\media\\cross_64]]\n \n local Anchor = {\n side = modTable.config.HIanchor, \n x = modTable.config.HIwidth / 2, --x offset\n y = -modTable.config.HIheight / 2, --y offset\n }\n \n --private\n envTable.HealerSpecs = {\n [105] = true, --> druid resto\n [270] = true, --> monk mw\n [65] = true, --> paladin holy\n [256] = true, --> priest disc\n [257] = true, --> priest holy\n [264] = true, --> shaman resto\n }\n \n unitFrame.HealerTexture = unitFrame.HealerTexture or Plater:CreateImage (unitFrame.healthBar.FrameOverlay, texture, envTable.Width, envTable.Height, \"overlay\")\n \n unitFrame.HealerTexture.width = modTable.config.HIwidth\n unitFrame.HealerTexture.height = modTable.config.HIheight\n unitFrame.HealerTexture.texture = envTable.Texture\n Plater.SetAnchor (unitFrame.HealerTexture, Anchor)\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local Details = Details\n unitFrame.HealerTexture:Hide()\n \n if (Details and Details.realversion >= 134) then\n local spec = Details:GetSpecByGUID (unitFrame.namePlateUnitGUID)\n if (spec and envTable.HealerSpecs [spec]) then\n \n --custom icon indicator\n if (modTable.config.HIcustom) then\n unitFrame.HealerTexture:Show() \n if (modTable.config.HIclasscolor) then\n unitFrame.HealerTexture.vertexcolor = select (2, UnitClass (unitId))\n else\n unitFrame.HealerTexture.vertexcolor = modTable.config.HIcolor\n end\n end\n \n --regular indicator from plater\n if (modTable.config.HIregular) then\n Plater.ShowIndicator (unitFrame, envTable.Texture, modTable.config.HIwidth, modTable.config.HIheight) \n end\n \n end\n end\n \nend", }, ["Time"] = 1600785290, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\cross_64", ["Enabled"] = false, ["Revision"] = 211, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Add a cross icon into the nameplate of healers. Must have Details! Damage Meter installed.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Healer Indicator", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Basic Options", ["Name"] = "Basic Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "HIcustom", ["Value"] = true, ["Name"] = "Show Custom Indicator", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Custom Indicator", }, -- [2] { ["Type"] = 4, ["Key"] = "HIregular", ["Value"] = false, ["Name"] = "Show Regular Indicator", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Regular Indicator", }, -- [3] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Indicator Options", ["Name"] = "Indicator Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "HIanchor", ["Value"] = 7, ["Name"] = "Indicator Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [6] { ["Type"] = 4, ["Key"] = "HIclasscolor", ["Value"] = false, ["Name"] = "Use Class Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Color Indicator to Class color", }, -- [7] { ["Type"] = 1, ["Key"] = "HIcolor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Indicator Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator Color", }, -- [8] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Indicator Width", ["Min"] = 1, ["Key"] = "HIwidth", ["Value"] = 8, ["Name"] = "Indicator Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Indicator Height", ["Min"] = 1, ["Key"] = "HIheight", ["Value"] = 8, ["Name"] = "Indicator Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] }, }, -- [16] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateColor(unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateColor(unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Initialization"] = "function (modTable)\n \n modTable.ColoredNPCs = {\n -- 타락: 원대한 망상\n [161895] = \"indigo\", -- 저 너머의 존재\n \n -- 레이드\n [153335] = \"deepskyblue\", -- 신비한 전기불꽃\n [154685] = \"fuchsia\", -- 착란의 메아리\n [159510] = \"fuchsia\", -- 심연의 눈\n [157255] = \"darkgray\", -- 아퀴르 일벌레\n [157256] = \"fuchsia\", -- 아퀴르 화살벌레\n [157254] = \"gold\", -- 테크리스\n [162718] = \"fuchsia\", -- 결의의 집행자\n [157451] = \"fuchsia\", \n [157366] = \"fuchsia\", -- 공허 사냥꾼\n [157365] = \"deepskyblue\", -- 파지직거리는 추적자\n [159514] = \"red\", -- 나이알로사의 피\n [157486] = \"fuchsia\", -- 끔찍한 출혈체\n [157439] = \"red\", -- 느조스의 진노\n [162331] = \"fuchsia\", -- 타락한 신경줄\n [159578] = \"fuchsia\", -- 노출된 신경\n [160249] = \"red\", -- 쐐기의 촉수\n \n -- 쐐기\n [120651] = \"gold\", -- 폭발물\n [163746] = \"dodgerblue\", -- 워키 충격기 X1\n [152703] = \"dodgerblue\", -- 워키 충격기 X1\n [155645] = \"dodgerblue\", -- 워키 충격기 X1\n [134612] = \"fuchsia\", -- 갈고리 촉수\n [153377] = \"fuchsia\", -- 끈적이\n [150195] = \"fuchsia\", -- 노움 먹는 수액괴물\n [151613] = \"deepskyblue\", -- 대인 다람쥐\n [135846] = \"fuchsia\", -- 모래범벅 독사\n [129758] = \"fuchsia\", -- 무쇠파도 폭탄병\n [134388] = \"fuchsia\", -- 뱀들의 똬리\n [144311] = \"fuchsia\", -- 보주 수호자\n [135007] = \"fuchsia\", \n [151579] = \"fuchsia\", -- 보호막 생성기\n [133361] = \"fuchsia\", -- 쓸모없는 시종\n [136549] = \"fuchsia\", -- 애쉬베인 포병\n [138465] = \"fuchsia\", \n [136330] = \"fuchsia\", -- 영혼 가시\n [135169] = \"fuchsia\", -- 영혼 흡수의 토템\n [130869] = \"fuchsia\", -- 의식상실 통\n [137627] = \"fuchsia\", -- 조이는 공포\n [137591] = \"fuchsia\", -- 치유의 해일 토템\n [137103] = \"fuchsia\", -- 피의 환영\n [131009] = \"fuchsia\", -- 황금 영혼\n [150547] = \"yellow\", -- 고철뼈 게걸쟁이\n [153196] = \"yellow\",\n [134389] = \"yellow\", -- 맹독 뱀\n [134390] = \"yellow\", -- 모래범벅 독사\n --왕의 안식처 토템:\n [135765] = \"blue\", -- 격류의 토템\n [135761] = \"deepskyblue\", -- 천둥치는 토템\n [135764] = \"gold\", -- 폭발의 토템\n [135759] = \"lightsalmon\", -- 대지 방벽 토템\n \n -- 느조스의 환영\n [153527] = \"fuchsia\", -- 아퀴르 무리 우두머리\n }\n \n modTable.AggroTracked = {\n -- 쐐기\n [135007] = true, -- 보주 수호자\n [144311] = true, \n [136549] = true, -- 애쉬베인 포병\n [138465] = true,\n [137103] = true, -- 피의 환영\n [151613] = true, -- 대인 다람쥐\n [163746] = true, -- 워키 충격기 X1\n [152703] = true, -- 워키 충격기 X1\n [155645] = true, -- 워키 충격기 X2\n [150195] = true, -- 노움 먹는 수액괴물\n [135846] = true, -- 모래범벅 독사\n [150547] = true, -- 고철뼈 게걸쟁이\n [153196] = true,\n [134390] = true, -- 모래범벅 독사\n [134389] = true, -- 맹독 뱀\n \n -- 레이드\n [157255] = true, -- 아퀴르 일벌레\n [157254] = true, -- 테크리스\n [157365] = true, -- 파지직거리는 추적자\n [157366] = true, -- 공허 사냥꾼\n [157451] = true, -- 결의의 집행자\n [162718] = true,\n [157439] = true, -- 느조스의 진노\n } \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --unitFrame.namePlateThreatIsTanking\n envTable.UpdateColor = function(unitFrame)\n if not unitFrame then return end\n local Color = modTable.ColoredNPCs [unitFrame.namePlateNpcId] or modTable.ColoredNPCs [unitFrame.namePlateUnitName] or modTable.ColoredNPCs [unitFrame.namePlateUnitNameLower]\n local forceAggroColor = modTable.AggroTracked [unitFrame.namePlateNpcId] or modTable.AggroTracked [unitFrame.namePlateUnitName] or modTable.AggroTracked [unitFrame.namePlateUnitNameLower]\n \n if not (Color or forceAggroColor) then return end\n \n if Color then\n Plater.SetNameplateColor (unitFrame, Color)\n end\n \n if forceAggroColor then\n local unit = unitFrame.targetUnitID\n if not UnitExists(unit) then return end\n \n local function role (unit)\n if not unit then return end\n return UnitGroupRolesAssigned(unit)\n end\n \n if role(unit) == \"TANK\" then\n if UnitIsUnit(unit, \"player\") then \n Plater.SetNameplateColor (unitFrame, Plater.db.profile.tank.colors.aggro)\n else\n if role(\"player\") == \"TANK\" then\n Plater.SetNameplateColor (unitFrame, Plater.db.profile.tank.colors.anothertank)\n end\n end\n else\n if UnitIsUnit(unit, \"player\") then\n Plater.SetNameplateColor (unitFrame, Plater.db.profile.dps.colors.aggro)\n end\n end\n end\n end \n \nend", }, ["Time"] = 1601257522, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, ["scenario"] = true, ["raid"] = true, ["none"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\color_bar", ["Enabled"] = true, ["Revision"] = 960, ["semver"] = "", ["Author"] = "Viashi-Antonidas", ["Desc"] = "NPC Color overwrites Threat Color. Exception list with envTable", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Force Npc Color", ["LastHookEdited"] = "Constructor", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can add specific NPC to Whitelist by editing modTable.ColoredNPCs/AggroTracked at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] }, }, -- [17] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local profile = Plater.db.profile\n --local plateFrame = unitFrame:GetParent()\n local plateFrame = C_NamePlate.GetNamePlateForUnit (unitId)\n local actorType = plateFrame.actorType \n \n --unit reaction\n local UNITREACTION_HOSTILE = 3\n local UNITREACTION_NEUTRAL = 4\n local UNITREACTION_FRIENDLY = 5\n \n local ACTORTYPE_FRIENDLY_PLAYER = \"friendlyplayer\"\n local ACTORTYPE_FRIENDLY_NPC = \"friendlynpc\"\n local ACTORTYPE_ENEMY_PLAYER = \"enemyplayer\"\n local ACTORTYPE_ENEMY_NPC = \"enemynpc\"\n local ACTORTYPE_PLAYER = \"player\" \n \n local MEMBER_UNITID = \"namePlateUnitToken\"\n local MEMBER_GUID = \"namePlateUnitGUID\"\n local MEMBER_NPCID = \"namePlateNpcId\"\n local MEMBER_QUEST = \"namePlateIsQuestObjective\"\n local MEMBER_REACTION = \"namePlateUnitReaction\"\n local MEMBER_ALPHA = \"namePlateAlpha\"\n local MEMBER_RANGE = \"namePlateInRange\"\n local MEMBER_NOCOMBAT = \"namePlateNoCombat\"\n local MEMBER_NAME = \"namePlateUnitName\"\n local MEMBER_NAMELOWER = \"namePlateUnitNameLower\"\n local MEMBER_TARGET = \"namePlateIsTarget\"\n local MEMBER_CLASSIFICATION = \"namePlateClassification\"\n \n -- ~indicators\n function Plater.UpdateChangeIndicators (plateFrame, actorType)\n local actorType = plateFrame.actorType \n --print(\"1\",actortype)\n --limpa os indicadores\n Plater.ClearChangeIndicators (plateFrame)\n local config = Plater.db.profile\n \n if (actorType == ACTORTYPE_ENEMY_PLAYER) then\n if (config.indicator_faction) then\n --Plater.AddChangeIndicator (plateFrame, UnitFactionGroup (plateFrame [MEMBER_UNITID]))\n Plater.AddChangeIndicator (plateFrame, UnitFactionGroup (unitId)) \n end\n if (config.indicator_enemyclass) then\n Plater.AddChangeIndicator (plateFrame, \"classicon\")\n end\n if (config.indicator_spec) then \n --> check if the user is using details\n if (Details and Details.realversion >= 134) then\n local spec = Details:GetSpecByGUID (plateFrame [MEMBER_GUID])\n --local spec = Details:GetSpecByGUID (unitId)\n if (spec) then\n local texture, L, R, T, B = Details:GetSpecIcon (spec)\n Plater.AddChangeIndicator (plateFrame, \"specicon\", texture, L, R, T, B)\n end\n end\n end\n \n elseif (actorType == ACTORTYPE_ENEMY_NPC) then\n \n --is a pet\n local unitType = Plater.GetUnitType (plateFrame)\n \n --if (PET_CACHE [plateFrame [MEMBER_GUID]]) then\n if (unitType == \"pet\" and config.indicator_pet) then\n Plater.AddChangeIndicator (plateFrame, \"pet\")\n else\n --classification\n local unitClassification = UnitClassification (plateFrame.namePlateUnitToken) --elite minus normal rare rareelite worldboss\n if ((unitClassification == \"worldboss\" or (UnitLevel (unitId) == -1)) and modTable.config.INDshowwb) then\n Plater.AddChangeIndicator (plateFrame, \"worldboss\")\n if (unitClassification == \"rareelite\" and (config.indicator_rare or config.indicator_elite)) and (not modTable.config.INDshowwb) then\n if modTable.config.INDshowboth then\n Plater.AddChangeIndicator (plateFrame, \"elite\")\n end\n Plater.AddChangeIndicator (plateFrame, \"rare\")\n else\n if (unitClassification == \"elite\" and config.indicator_elite) and (not modTable.config.INDwbonly) then\n Plater.AddChangeIndicator (plateFrame, \"elite\")\n end\n if (unitClassification == \"rare\" and config.indicator_rare) and (not modTable.config.INDwbonly) then\n Plater.AddChangeIndicator (plateFrame, \"rare\")\n end\n end\n elseif (unitClassification == \"rareelite\" and (config.indicator_rare or config.indicator_elite)) then\n if modTable.config.INDshowboth then\n Plater.AddChangeIndicator (plateFrame, \"elite\")\n end\n Plater.AddChangeIndicator (plateFrame, \"rare\")\n else\n if (unitClassification == \"elite\" and config.indicator_elite) then\n Plater.AddChangeIndicator (plateFrame, \"elite\")\n end\n if (unitClassification == \"rare\" and config.indicator_rare) then\n Plater.AddChangeIndicator (plateFrame, \"rare\")\n end\n end\n \n --quest boss\n local isQuestBoss = UnitIsQuestBoss (plateFrame.unitFrame.namePlateUnitToken) --true false\n if (isQuestBoss and config.indicator_quest) then\n Plater.AddChangeIndicator (plateFrame, \"quest\")\n end\n \n end\n \n elseif (actorType == ACTORTYPE_FRIENDLY_NPC) then\n if (plateFrame [MEMBER_QUEST] and modTable.config.INDfnquest) then\n Plater.AddChangeIndicator (plateFrame, \"quest\")\n end\n end\n \n --custom indicators from scripts\n for i = 1, #plateFrame.unitFrame.CustomIndicators do\n Plater.AddChangeIndicator (plateFrame, \"custom\", unpack (plateFrame.unitFrame.CustomIndicators [i]))\n end\n end\n \n -- ~indicators--test mode:for ENEMY_NPC,show,quest,rare,elite,pet....\n function Plater.TestModeUpdateChangeIndicators (plateFrame, actorType)\n if not modTable.config.INDtest then\n return\n end\n local actorType = plateFrame.actorType \n Plater.ClearChangeIndicators (plateFrame)\n if (actorType == ACTORTYPE_ENEMY_NPC) then\n Plater.AddChangeIndicator (plateFrame, \"pet\")\n Plater.AddChangeIndicator (plateFrame, \"worldboss\")\n Plater.AddChangeIndicator (plateFrame, \"elite\")\n Plater.AddChangeIndicator (plateFrame, \"rare\")\n Plater.AddChangeIndicator (plateFrame, \"quest\")\n end\n end\n \n function Plater.AddChangeIndicator (plateFrame, indicator, ...)\n \n local thisIndicator = plateFrame.IconIndicators [plateFrame.IconIndicators.Next]\n \n if (not thisIndicator) then\n local newIndicator = plateFrame.unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n newIndicator:SetSize (modTable.config.INDsize, modTable.config.INDsize)\n tinsert (plateFrame.IconIndicators, newIndicator)\n thisIndicator = newIndicator\n end\n \n thisIndicator:Show()\n thisIndicator:SetTexCoord (0, 1, 0, 1)\n thisIndicator:SetVertexColor (1, 1, 1)\n thisIndicator:SetDesaturated (false)\n thisIndicator:SetSize (modTable.config.INDsize, modTable.config.INDsize)\n \n -- ~icons\n if (indicator == \"pet\") then\n thisIndicator:SetTexture ([[Interface\\AddOns\\Plater\\images\\peticon]])\n thisIndicator:SetTexCoord (0, 28/32, 3/32, 1)\n \n elseif (indicator == \"Horde\") then\n thisIndicator:SetTexture ([[Interface\\PVPFrame\\PVP-Currency-Horde]])\n thisIndicator:SetSize (modTable.config.INDsize, modTable.config.INDsize)\n \n elseif (indicator == \"Alliance\") then\n thisIndicator:SetTexture ([[Interface\\PVPFrame\\PVP-Currency-Alliance]])\n thisIndicator:SetTexCoord (4/32, 29/32, 2/32, 30/32)\n thisIndicator:SetSize (modTable.config.INDsize, modTable.config.INDsize)\n \n elseif (indicator == \"elite\") then\n thisIndicator:SetTexture ([[Interface\\TargetingFrame\\Nameplates]])\n thisIndicator:SetTexCoord (0, 0.15, 0.24, 0.48)\n thisIndicator:SetSize (modTable.config.INDsize*1.05, modTable.config.INDsize)\n --print(\"elite\")\n \n elseif (indicator == \"rare\") then\n thisIndicator:SetTexture ([[Interface\\TargetingFrame\\Nameplates]])\n thisIndicator:SetTexCoord (0, 0.15, 0.5, 0.78)\n thisIndicator:SetSize (modTable.config.INDsize*1.1, modTable.config.INDsize*1.15)\n --print(\"rare\")\n \n elseif (indicator == \"quest\") then\n thisIndicator:SetTexture ([[Interface\\TARGETINGFRAME\\PortraitQuestBadge]])\n thisIndicator:SetTexCoord (1/32, 26/32, 1/32, 32/32)\n \n elseif (indicator == \"classicon\") then\n local _, class = UnitClass (plateFrame [MEMBER_UNITID])\n if (class) then\n thisIndicator:SetTexture ([[Interface\\GLUES\\CHARACTERCREATE\\UI-CharacterCreate-Classes]])\n thisIndicator:SetTexCoord (unpack (CLASS_ICON_TCOORDS [class]))\n end\n \n elseif (indicator == \"specicon\") then\n local texture, L, R, T, B = ...\n thisIndicator:SetTexture (texture)\n thisIndicator:SetTexCoord (L, R, T, B)\n \n elseif (indicator == \"worldboss\") then\n thisIndicator:SetTexture ([[Interface\\TARGETINGFRAME\\ui-targetingframe-skull]])\n thisIndicator:SetSize (modTable.config.INDsize*1.3, modTable.config.INDsize*1.1)\n thisIndicator:SetTexCoord (0, 1, 0.05, 0.88)\n elseif (indicator == \"custom\") then\n local texture, width, height, color, L, R, T, B = ...\n thisIndicator:SetTexture (texture)\n thisIndicator:SetSize (width, height)\n thisIndicator:SetTexCoord (L, R, T, B)\n local r, g, b = DF:ParseColors (color)\n thisIndicator:SetVertexColor (r, g, b)\n end\n \n if (plateFrame.IconIndicators.Next == 1) then\n Plater.SetAnchor (thisIndicator, Plater.db.profile.indicator_anchor)\n else\n local attachTo = plateFrame.IconIndicators [plateFrame.IconIndicators.Next - 1]\n --se for menor que 4 ele deve crescer para o lado da esquerda, nos outros casos vai para a direita\n if (Plater.db.profile.indicator_anchor.side < 4) then\n PixelUtil.SetPoint (thisIndicator, \"right\", attachTo, \"left\", -2, 0)\n else\n PixelUtil.SetPoint (thisIndicator, \"left\", attachTo, \"right\", 1, 0)\n end\n end\n \n plateFrame.IconIndicators.Next = plateFrame.IconIndicators.Next + 1\n end\n \n function Plater.ClearChangeIndicators (plateFrame)\n for _, indicator in ipairs (plateFrame.IconIndicators) do\n indicator:Hide()\n indicator:ClearAllPoints()\n end\n plateFrame.IconIndicators.Next = 1\n end\n \n --indictors\n if not modTable.config.INDtest then\n Plater.UpdateChangeIndicators (plateFrame, actorType)\n else\n Plater.TestModeUpdateChangeIndicators (plateFrame, actorType)\n end\n \n if modTable.config.INDraidmark then\n --RaidMark\n --Plater.UpdateRaidMarkersOnAllNameplates()\n envTable.size = 22\n envTable.side = Plater.db.profile.indicator_raidmark_anchor.side\n envTable.x = Plater.db.profile.indicator_raidmark_anchor.x\n envTable.y = Plater.db.profile.indicator_raidmark_anchor.y\n local anchor = {\n side = envTable.side, \n x = envTable.x,\n y = envTable.y,\n }; \n if (not unitFrame.healthBar.RaidMarkAdjustFrame) then\n envTable.RaidMarkAdjustFrame = Plater:CreateLabel (unitFrame.healthBar, \"\", Plater:GetTemplate (\"font\", \"OPTIONS_FONT_TEMPLATE\"));\n Plater.SetAnchor (envTable.RaidMarkAdjustFrame, anchor);\n unitFrame.healthBar.RaidMarkAdjustFrame = envTable.RaidMarkAdjustFrame\n end\n \n unitFrame.healthBar.RaidMarkAdjustFrame:SetScale (Plater.db.profile.indicator_raidmark_scale)\n local mark = GetRaidTargetIndex(unitId) \n if mark then\n unitFrame.healthBar.RaidMarkAdjustFrame:SetText (\"|TInterface\\\\TARGETINGFRAME\\\\UI-RaidTargetingIcon_\"..mark..\":\"..envTable.size..\":\"..envTable.size..\":3:1:|t\")\n else\n unitFrame.healthBar.RaidMarkAdjustFrame:SetText (\"\")\n end\n \n if modTable.config.INDrmposition then\n unitFrame.PlaterRaidTargetFrame:Hide()\n unitFrame.healthBar.RaidMarkAdjustFrame:Show()\n else\n unitFrame.PlaterRaidTargetFrame:Hide()\n unitFrame.healthBar.RaidMarkAdjustFrame:Hide()\n return\n end\n if not (Plater.db.profile.indicator_anchor.side == 2 and Plater.db.profile.indicator_raidmark_anchor.side == 2) then\n unitFrame.PlaterRaidTargetFrame:Show()\n unitFrame.healthBar.RaidMarkAdjustFrame:Hide()\n return\n else\n unitFrame.PlaterRaidTargetFrame:Hide()\n unitFrame.healthBar.RaidMarkAdjustFrame:Show()\n end\n \n local config = Plater.db.profile\n local index = GetRaidTargetIndex (plateFrame.namePlateUnitToken)\n local xoffset = 0\n \n local show_indicator_faction = (envTable.indicator_faction and (not config.indicator_faction)) or config.indicator_faction\n local show_indicator_enemyclass = (envTable.indicator_enemyclass and (not config.indicator_enemyclass)) or config.indicator_enemyclass\n local show_indicator_spec = (envTable.indicator_spec and (not config.indicator_spec)) or config.indicator_spec\n local show_indicator_elite = (envTable.indicator_elite and (not config.indicator_elite)) or config.indicator_elite\n local show_indicator_rare = (envTable.indicator_rare and (not config.indicator_rare)) or config.indicator_rare\n local show_indicator_quest = (envTable.indicator_quest and (not config.indicator_quest)) or config.indicator_quest\n --get the config for this actor type\n local plateConfigs = DB_PLATE_CONFIG [actorType]\n --get the config key based if the player is in combat\n local castBarConfigKey, healthBarConfigKey, manaConfigKey = Plater.GetHashKey (isInCombat)\n \n --get the width and height from what the user set in the options panel\n local healthBarWidth, healthBarHeight = unitFrame.customHealthBarWidth or plateConfigs [healthBarConfigKey][1], unitFrame.customHealthBarHeight or plateConfigs [healthBarConfigKey][2]\n local castBarWidth, castBarHeight = unitFrame.customCastBarWidth or plateConfigs [castBarConfigKey][1], unitFrame.customCastBarHeight or plateConfigs [castBarConfigKey][2]\n \n --calculate the size deviation for pets\n local unitType = Plater.GetUnitType (plateFrame)\n if (unitType == \"pet\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.pet_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.pet_width_scale\n \n elseif (unitType == \"minus\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.minor_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.minor_width_scale\n end\n \n envTable.w2 = healthBarWidth\n envTable.h2 = healthBarHeight\n envTable.cw2 = castBarWidth\n envTable.ch2 = castBarHeight\n \n if (UnitIsPlayer(unitId) and plateFrame [MEMBER_REACTION] < UNITREACTION_FRIENDLY) then\n if (show_indicator_faction) then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n if (show_indicator_enemyclass) then\n xoffset = xoffset + modTable.config.INDsize\n end\n if (show_indicator_spec) then \n --> check if the user is using details\n if (Details and Details.realversion >= 134) then\n local spec = Details:GetSpecByGUID (plateFrame [MEMBER_GUID])\n if (spec) then\n xoffset = xoffset + modTable.config.INDsize\n end\n end\n end\n \n elseif (plateFrame [MEMBER_REACTION] < UNITREACTION_FRIENDLY) then\n \n --is a pet\n if (unitType == \"pet\" and config.indicator_pet) then\n xoffset = xoffset + modTable.config.INDsize\n end\n \n --classification\n local unitClassification = UnitClassification (plateFrame.namePlateUnitToken) --elite minus normal rare rareelite worldboss\n if ((unitClassification == \"worldboss\" or (UnitLevel (unitId) == -1)) and modTable.config.INDshowwb) then\n xoffset = xoffset + modTable.config.INDsize + 2 + 2\n if (unitClassification == \"rareelite\" and (show_indicator_rare or show_indicator_elite)) and (not modTable.config.INDwbonly) then\n if modTable.config.INDshowboth then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n xoffset = xoffset + modTable.config.INDsize + 2\n else\n if (unitClassification == \"elite\" and show_indicator_elite) and (not modTable.config.INDwbonly) then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n if (unitClassification == \"rare\" and show_indicator_rare) and (not modTable.config.INDwbonly) then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n end\n elseif (unitClassification == \"rareelite\" and (show_indicator_rare or show_indicator_elite)) then\n if modTable.config.INDshowboth then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n xoffset = xoffset + modTable.config.INDsize + 2\n else\n if (unitClassification == \"elite\" and show_indicator_elite) then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n if (unitClassification == \"rare\" and show_indicator_rare) then\n xoffset = xoffset + modTable.config.INDsize + 2\n end\n end\n \n --quest boss\n local isQuestBoss = UnitIsQuestBoss (plateFrame.namePlateUnitToken) --true false\n if (isQuestBoss and show_indicator_quest) then\n xoffset = xoffset + modTable.config.INDsize\n end\n \n elseif (plateFrame [MEMBER_REACTION] >= UNITREACTION_FRIENDLY) then\n if (plateFrame [MEMBER_QUEST]) then\n xoffset = xoffset + modTable.config.INDsize\n end\n end\n \n if modTable.config.INDtest then\n xoffset = modTable.config.INDsize * 5 + 8\n end\n \n envTable.x = -1 - xoffset + Plater.db.profile.indicator_raidmark_anchor.x\n \n envTable.y = Plater.db.profile.indicator_raidmark_anchor.y\n envTable.side = Plater.db.profile.indicator_raidmark_anchor.side\n if (index and not plateFrame.isSelf) then\n Plater.SetAnchor (unitFrame.healthBar.RaidMarkAdjustFrame, envTable)\n end\n end\n \nend", ["Destructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n if modTable.config.INDraidmark and modTable.config.INDrmposition then\n unitFrame.PlaterRaidTargetFrame:Show()\n end\n \nend", }, ["Time"] = 1601165011, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "INTERFACE\\ICONS\\Ability_DeathKnight_NecroticStrike", ["Enabled"] = true, ["Revision"] = 1989, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Gold/Silvery Dragon,like blz original", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Extra X Gold/Silvery Dragon", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Options", ["Name"] = "Basic options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "INDtest", ["Value"] = false, ["Name"] = "Test mode", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Toggle test mode", }, -- [2] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Indicator Size", ["Min"] = 1, ["Key"] = "INDsize", ["Value"] = 18, ["Name"] = "Indicator Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [3] { ["Type"] = 4, ["Key"] = "INDfnquest", ["Value"] = false, ["Name"] = "Friendly Npc Quest Mark", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Friendly Npc Quest", }, -- [4] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Elite option", ["Name"] = "Elite Indicator options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Max"] = 100, ["Desc"] = "Show both Rare and Elite", ["Min"] = 1, ["Key"] = "INDshowboth", ["Value"] = false, ["Name"] = "Show both Rare and Elite", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Fraction"] = false, }, -- [7] { ["Type"] = 4, ["Max"] = 100, ["Desc"] = "Show Worldboss Icon", ["Min"] = 1, ["Key"] = "INDshowwb", ["Value"] = 18, ["Name"] = "Show Worldboss Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Fraction"] = false, }, -- [8] { ["Type"] = 4, ["Max"] = 100, ["Desc"] = "When Worldboss, only show worldboss indicator", ["Min"] = 1, ["Key"] = "INDwbonly", ["Value"] = 18, ["Name"] = "Show Worldboss Icon Only", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Fraction"] = false, }, -- [9] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Raidmark option", ["Name"] = "Raidmark options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Max"] = 100, ["Desc"] = "Transfer Raidmark to indicator", ["Min"] = 1, ["Key"] = "INDraidmark", ["Value"] = false, ["Name"] = "Raidmark to Indicator", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Fraction"] = false, }, -- [12] { ["Type"] = 4, ["Max"] = 100, ["Desc"] = "Make Raidmark not to overlap with indicators", ["Min"] = 1, ["Key"] = "INDrmposition", ["Value"] = false, ["Name"] = "Adjust Raidmark Position", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Fraction"] = false, }, -- [13] }, }, -- [18] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckForQuest (unitFrame)\n \nend\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.ExtraQuestMarker22154:Hide()\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckForQuest (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.ExtraQuestMarker22154) then\n unitFrame.ExtraQuestMarker22154:Hide()\n end \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local Texture = [[Interface\\OPTIONSFRAME\\UI-OptionsFrame-NewFeatureIcon]]\n local Size = modTable.config.QIsize\n local Anchor = {\n side = modTable.config.QIanchor,\n x = modTable.config.QIxoff,\n y = modTable.config.QIyoff\n }\n if (not unitFrame.ExtraQuestMarker22154) then\n unitFrame.ExtraQuestMarker22154 = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n local texture = unitFrame.ExtraQuestMarker22154\n \n texture:SetTexture (Texture)\n texture:SetSize (Size, Size)\n Plater.SetAnchor (texture, Anchor)\n end\n \n function envTable.CheckForQuest (unitFrame)\n if (unitFrame.namePlateIsQuestObjective) then\n unitFrame.ExtraQuestMarker22154:Show()\n else\n unitFrame.ExtraQuestMarker22154:Hide()\n end\n end\n \nend\n\n\n\n\n\n\n", }, ["Time"] = 1600785269, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, ["scenario"] = true, ["raid"] = true, ["none"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\OPTIONSFRAME\\UI-OptionsFrame-NewFeatureIcon", ["Enabled"] = true, ["Revision"] = 421, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Show an extra icon if the unit is a part of a quest you're current doing", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Extra Quest Icon", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Quest Icon Size", ["Min"] = 1, ["Key"] = "QIsize", ["Value"] = 14, ["Name"] = "Icon Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "QIanchor", ["Value"] = 6, ["Name"] = "Icon Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Icon's x-offset", ["Min"] = -100, ["Key"] = "QIxoff", ["Value"] = -2, ["Name"] = "Icon X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [3] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Icon's y-offset", ["Min"] = -100, ["Key"] = "QIyoff", ["Value"] = 0, ["Name"] = "Icon Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] }, }, -- [19] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n if not Plater.db.profile.castbar_target_show or \n unitFrame.namePlateNpcId == 161895 then return end\n \n if not (unitFrame.IsSelf or self.IsInterrupted or self.finished or self.failed) and UnitExists(unitFrame.targetUnitID) then\n self.TargetName:SetText(envTable.Color(unitFrame.targetUnitID))\n self.TargetName:Show()\n else\n self.TargetName:Hide() \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.DecimalToHex = function(r,g,b)\n return string.format(\"|cff%02x%02x%02x\", r*255, g*255, b*255)\n end\n \n envTable.Color = function(unit)\n \n if not unit then return \"\" end\n \n if select(1, strsplit(\"-\",UnitGUID(unit))) and select(1, strsplit(\"-\",UnitGUID(unit))) == \"Player\" then\n local str = select(1, UnitName(unit))\n local playerclass,PLAYERCLASS = UnitClass(unit)\n if not PLAYERCLASS then return unit end\n local classcolor = RAID_CLASS_COLORS[PLAYERCLASS]\n if not classcolor then return unit end\n local r,g,b = classcolor.r,classcolor.g,classcolor.b\n \n local icon = \"\"\n \n if UnitIsUnit(unit, \"player\") then\n r, g, b = 1, 0, 0 \n if _G.LOCALE_koKR then\n str = \"당신!\"\n else\n str = \"YOU!\"\n end\n else\n local role = UnitGroupRolesAssigned(unit)\n \n if role and (role == \"HEALER\" or role == \"TANK\") then\n icon = CreateTextureMarkup([[Interface\\LFGFrame\\UI-LFG-ICON-ROLES]], 256, 256, 0, 0, GetTexCoordsForRole(role))\n end \n end \n \n local classcolorhex = envTable.DecimalToHex(r,g,b)\n \n return classcolorhex..str..\"|r\"..icon\n else\n if UnitIsEnemy(unit, \"player\") then\n r, g, b = 1, 0.15, 0 \n else\n r, g, b = 0, 1, 0 \n end\n local classcolorhex = envTable.DecimalToHex(r,g,b)\n \n return classcolorhex..UnitName(unit)..\"|r\"\n end\n end\n \nend", }, ["Time"] = 1601257615, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1724002, ["Enabled"] = true, ["Revision"] = 2167, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Change Target Name Color", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Cast Target Text Format", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [20] { ["OptionsValues"] = { ["Descyoff"] = 2, ["Descanchor"] = 8, }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable, modTable)\n --ensure reload updates existing\n modTable.updateExisting(unitFrame)\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n if modTable.config.BShidefriendly and unitFrame.actorType == \"friendlyplayer\" then\n unitFrame.ExtraIconFrame:Hide()\n else\n unitFrame.ExtraIconFrame:Show()\n end \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Initialization"] = "function (modTable)\n \n local function BuffSepcialFormat ()\n local DF = _G [\"DetailsFramework\"]\n DF.IconRowFunctions.SetIcon = function (self, spellId, borderColor, startTime, duration, forceTexture, descText, count, debuffType, caster, canStealOrPurge)\n \n local spellName, _, spellIcon\n \n if (not forceTexture) then\n spellName, _, spellIcon = GetSpellInfo (spellId)\n else\n spellIcon = forceTexture\n end\n \n if (spellIcon) then\n local profile = Plater.db.profile\n local iconFrame = self:GetIcon()\n iconFrame.Texture:SetTexture (spellIcon)\n iconFrame.Texture:SetTexCoord (unpack (self.options.texcoord))\n \n local size = modTable.config.BSborderth\n \n if (not iconFrame.PixelPerfectBorder) then\n iconFrame.PixelPerfectBorder = CreateFrame (\"frame\", nil, iconFrame, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = iconFrame:GetBackdropBorderColor()\n iconFrame:SetBackdropBorderColor (0, 0, 0, 0)\n iconFrame.PixelPerfectBorder:SetVertexColor (Plater:ParseColors (borderColor))\n iconFrame.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n iconFrame.PixelPerfectBorder:UpdateSizes()\n \n iconFrame.Texture:SetSize(profile.extra_icon_width - size/2, profile.extra_icon_height - size/2)\n iconFrame.Texture:ClearAllPoints()\n iconFrame.Texture:SetAllPoints()\n iconFrame.Border:Hide() \n \n \n if (startTime) then\n CooldownFrame_Set (iconFrame.Cooldown, startTime, duration, true, true)\n \n if (self.options.show_text) then\n iconFrame.CountdownText:Show()\n \n local time = startTime + duration - GetTime()\n local formattedTime = Plater.FormatTime (time)\n \n iconFrame.CountdownText:SetPoint (self.options.text_anchor or \"center\", iconFrame, self.options.text_rel_anchor or \"center\", self.options.text_x_offset or 0, self.options.text_y_offset or 0)\n DF:SetFontSize (iconFrame.CountdownText, modTable.config.BStimer_size)\n Plater.SetFontOutlineAndShadow (iconFrame.CountdownText, profile.aura_timer_text_outline, profile.aura_timer_text_shadow_color, profile.aura_timer_text_shadow_color_offset[1], profile.aura_timer_text_shadow_color_offset[2])\n iconFrame.CountdownText:SetText (formattedTime)\n \n if modTable.config.BScbt then\n if (time < 5) then\n Plater:SetFontColor (iconFrame.CountdownText, \"red\")\n elseif (time < 10) then\n Plater:SetFontColor (iconFrame.CountdownText, \"darkorange\")\n else\n Plater:SetFontColor (iconFrame.CountdownText, modTable.config.BStimer_color)\n end \n else\n Plater:SetFontColor (iconFrame.CountdownText, modTable.config.BStimer_color)\n end\n iconFrame.Cooldown:SetHideCountdownNumbers (true) \n else\n iconFrame.CountdownText:Hide()\n iconFrame.Cooldown:SetHideCountdownNumbers (false)\n end\n \n iconFrame.Cooldown:SetEdgeTexture (profile.aura_cooldown_edge_texture)\n iconFrame.Cooldown:SetDrawSwipe (profile.aura_cooldown_show_swipe) \n \n if modTable.config.BScdreverse then\n iconFrame.Cooldown:SetReverse (profile.aura_cooldown_reverse)\n end\n else\n iconFrame.CountdownText:Hide()\n end\n \n if (descText and self.options.desc_text) then\n iconFrame.Desc:Show()\n iconFrame.Desc:SetText (descText.text)\n \n local Anchor = {\n side = modTable.config.Descanchor, \n x = modTable.config.Descxoff, \n y = modTable.config.Descyoff,\n } \n \n iconFrame.Desc:SetTextColor (DF:ParseColors (descText.text_color or self.options.desc_text_color))\n Plater.SetAnchor (iconFrame.Desc, Anchor)\n DF:SetFontSize (iconFrame.Desc, modTable.config.BSdesc_size)\n else\n iconFrame.Desc:Hide()\n end\n \n if (count and count > 1 and self.options.stack_text) then\n iconFrame.StackText:Show()\n iconFrame.StackText:SetText (count)\n iconFrame.StackText:SetTextColor (DF:ParseColors (self.options.desc_text_color))\n iconFrame.StackText:SetPoint (self.options.stack_text_anchor or \"center\", iconFrame, self.options.stack_text_rel_anchor or \"bottomright\", self.options.stack_text_x_offset or 0, self.options.stack_text_y_offset or 0)\n DF:SetFontSize (iconFrame.StackText, modTable.config.BSstack_size)\n else\n iconFrame.StackText:Hide()\n end\n \n if PixelUtil then\n PixelUtil.SetSize (iconFrame, self.options.icon_width, self.options.icon_height)\n else\n DFPixelUtil.SetSize (iconFrame, self.options.icon_width, self.options.icon_height)\n end\n iconFrame:SetFrameStrata(\"HIGH\")\n iconFrame:Show()\n \n --> update the size of the frame\n self:SetWidth ((self.options.left_padding * 2) + (self.options.icon_padding * (self.NextIcon-2)) + (self.options.icon_width * (self.NextIcon - 1)))\n self:SetHeight (self.options.icon_height + (self.options.top_padding * 2))\n \n --> make information available\n iconFrame.spellId = spellId\n iconFrame.startTime = startTime\n iconFrame.duration = duration\n iconFrame.count = count\n iconFrame.debuffType = debuffType\n iconFrame.caster = caster\n iconFrame.canStealOrPurge = canStealOrPurge\n \n --> show the frame\n self:Show()\n \n return iconFrame\n end\n end\n \n end\n \n -- exchange formatting:\n \n function modTable.hookTimeFormat()\n BuffSepcialFormat ()\n end\n \n function modTable.updateExisting(unitFrame)\n BuffSepcialFormat ()\n end\n \n modTable.hookTimeFormat()\n for _, plateFrame in ipairs (Plater.GetAllShownPlates()) do\n modTable.updateExisting(plateFrame.unitFrame)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Logon"] = "function(modTable)\n \n modTable.hookTimeFormat()\n \nend", }, ["Time"] = 1601165330, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 134328, ["Enabled"] = true, ["Revision"] = 560, ["semver"] = "", ["Author"] = "Driani-Antonidas", ["Desc"] = "", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Buff Special Options", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Basic Options", ["Name"] = "Basic Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "BShidefriendly", ["Value"] = true, ["Name"] = "Hide Buff Special at Friendly UnitFrame", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Hide Buff Special at Friendly UnitFrame", }, -- [2] { ["Type"] = 4, ["Key"] = "BScdreverse", ["Value"] = true, ["Name"] = "Swipe Closure Inverted", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, swipe closure inverted", }, -- [3] { ["Type"] = 4, ["Key"] = "BScbt", ["Value"] = true, ["Name"] = "Text Color By time", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, cooldown text color changed by time left. Below 10 is orange and below 5 is red.", }, -- [4] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Buff Special border thickness", ["Min"] = 0, ["Key"] = "BSborderth", ["Value"] = 1.2, ["Name"] = "Border Thickness", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [5] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Buff Special Text Options", ["Name"] = "Buff Special Text Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set timer text size", ["Min"] = 1, ["Key"] = "BStimer_size", ["Value"] = 14, ["Name"] = "Timer Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 1, ["Key"] = "BStimer_color", ["Value"] = { 1, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Timer Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set timer text color", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set stack text size", ["Min"] = 1, ["Key"] = "BSstack_size", ["Value"] = 10, ["Name"] = "Stack Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [11] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Buff Special Player Name Options", ["Name"] = "Buff Special Player Name Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [12] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set player name text size", ["Min"] = 1, ["Key"] = "BSdesc_size", ["Value"] = 10, ["Name"] = "Player Name Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [13] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "Descanchor", ["Value"] = 8, ["Name"] = "Player Name Text Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [14] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set player name text y-offset", ["Min"] = -100, ["Key"] = "Descyoff", ["Value"] = 2, ["Name"] = "Player Name Text Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set player name text x-offset", ["Min"] = -100, ["Key"] = "Descxoff", ["Value"] = 0, ["Name"] = "Player Name Text X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] }, }, -- [21] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.auramodifier(unitFrame)\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.auramodifier(unitFrame)\n \nend", ["Initialization"] = "function (modTable)\n \n Plater.OnEnterAura = function(iconFrame)\n local offset = -NamePlateTooltip:GetHeight()/4\n NamePlateTooltip:SetOwner (iconFrame, \"ANCHOR_RIGHT\", offset, offset)\n NamePlateTooltip:SetUnitAura (iconFrame:GetParent().unit, iconFrame:GetID(), iconFrame.filter)\n iconFrame.UpdateTooltip = Plater.OnEnterAura\n end\n \n Plater.FormatTime = function (s)\n if s < 3 then\n return (\"%.1f\"):format(s)\n elseif s < 60 then\n return (\"%.d\"):format(s)\n elseif s < 3600 then\n if _G.LOCALE_koKR then\n return (\"%d분\"):format(s/60%60)\n else\n return (\"%dm\"):format(s/60%60)\n end\n elseif s < 86400 then\n if _G.LOCALE_koKR then\n return (\"%d시간\"):format(s/(60*60))\n else \n return (\"%dh\"):format(s/(60*60))\n end\n else\n if _G.LOCALE_koKR then\n return (\"%d일\"):format(s/86400)\n else \n return (\"%dd\"):format(s/86400)\n end\n end\n end\nend\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n function envTable.auramodifier(unitFrame)\n local size = modTable.config.auraborderThickness\n local profile = Plater.db.profile\n \n for index, auraIcon in ipairs (unitFrame.BuffFrame.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n \n local width = ((auraIcon:GetWidth() > profile.aura_width) and auraIcon:GetWidth()) or profile.aura_width\n local height = ((auraIcon:GetHeight() > profile.aura_height) and auraIcon:GetHeight()) or profile.aura_height\n \n if (not auraIcon.PixelPerfectBorder) then\n auraIcon.PixelPerfectBorder = CreateFrame (\"frame\", nil, auraIcon, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = auraIcon:GetBackdropBorderColor()\n auraIcon:SetBackdropBorderColor (0, 0, 0, 0)\n auraIcon.Border:Hide()\n \n auraIcon.PixelPerfectBorder:SetVertexColor (r, g, b)\n auraIcon.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n auraIcon.PixelPerfectBorder:UpdateSizes()\n \n if unitFrame.IsSelf then\n if modTable.config.PAFCustom then\n local Anchor1 = {\n side = modTable.config.PAFanchor, \n x = modTable.config.PAFxoff, \n y = modTable.config.PAFyoff,\n }\n Plater.SetAnchor (unitFrame.BuffFrame, Anchor1, unitFrame.healthBar)\n end\n Plater:SetFontSize(auraIcon.TimerText, modTable.config.PAFTimerSize)\n Plater:SetFontSize(auraIcon.StackText, modTable.config.PAFStackSize)\n width = profile.aura_width_personal\n height = profile.aura_height_personal\n else\n if modTable.config.colorbytime then\n if (auraIcon.RemainingTime < modTable.config.auracrittime) then\n Plater:SetFontColor (auraIcon.TimerText, modTable.config.auracrit)\n elseif (auraIcon.RemainingTime < modTable.config.aurawrntime) then\n Plater:SetFontColor (auraIcon.TimerText, modTable.config.aurawrn)\n else\n Plater:SetFontColor (auraIcon.TimerText, modTable.config.auraok)\n end \n end\n end \n \n auraIcon:SetSize(width - (size / 2), height - (size / 2))\n auraIcon.PixelPerfectBorder:UpdateSizes() \n auraIcon.Icon:ClearAllPoints()\n auraIcon.Icon:SetAllPoints()\n end\n end\n \n for index, auraIcon in ipairs (unitFrame.BuffFrame2.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n \n local width = ((auraIcon:GetWidth() > profile.aura_width2) and auraIcon:GetWidth()) or profile.aura_width2\n local height = ((auraIcon:GetHeight() > profile.aura_height2) and auraIcon:GetHeight()) or profile.aura_height2\n \n if (not auraIcon.PixelPerfectBorder) then\n auraIcon.PixelPerfectBorder = CreateFrame (\"frame\", nil, auraIcon, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = auraIcon:GetBackdropBorderColor()\n auraIcon:SetBackdropBorderColor (0, 0, 0, 0)\n auraIcon.Border:Hide() \n \n auraIcon.PixelPerfectBorder:SetVertexColor (r, g, b)\n auraIcon.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n \n if unitFrame.IsSelf then\n if modTable.config.PAFCustom then\n local Anchor2 = {\n side = modTable.config.PAF2anchor, \n x = modTable.config.PAF2xoff, \n y = modTable.config.PAF2yoff,\n }\n Plater.SetAnchor (unitFrame.BuffFrame2, Anchor2, unitFrame.healthBar)\n end\n if g == 0 and b == 0 then\n auraIcon.PixelPerfectBorder:SetVertexColor (0, 1, 0)\n end\n Plater:SetFontSize(auraIcon.TimerText, modTable.config.PAFTimerSize)\n Plater:SetFontSize(auraIcon.StackText, modTable.config.PAFStackSize)\n width = profile.aura_width_personal\n height = profile.aura_height_personal\n end\n \n auraIcon:SetSize(width - (size / 2), height - (size / 2))\n auraIcon.PixelPerfectBorder:UpdateSizes() \n auraIcon.Icon:ClearAllPoints()\n auraIcon.Icon:SetAllPoints()\n end\n end \n \n end\n \nend", }, ["Time"] = 1600874085, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1723996, ["Enabled"] = true, ["Revision"] = 1426, ["semver"] = "", ["Author"] = "????????-Illidan", ["Desc"] = "Modify aura borders and change Timer Color by time", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Aura Options", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Basic Options", ["Name"] = "Basic Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set border thickness of aura icons", ["Min"] = 0, ["Key"] = "auraborderThickness", ["Value"] = 1.2, ["Name"] = "Border Thickness", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [2] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "colorbytime", ["Value"] = true, ["Name"] = "Color by Time", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Timer color will be changed by it's proportion of (remaining time / duration). Need OmniCC addon and disable Hide OmniCC timer at aura setting", }, -- [4] { ["Type"] = 1, ["Key"] = "auraok", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Aura Normal Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set normal color for aura text", }, -- [5] { ["Type"] = 2, ["Max"] = 60, ["Desc"] = "If aura's remaing time is less than this will be considered as Warning", ["Min"] = 1, ["Key"] = "aurawrntime", ["Value"] = 6, ["Name"] = "Aura Warning Time", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [6] { ["Type"] = 1, ["Key"] = "aurawrn", ["Value"] = { 1, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Aura Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set warning color for aura text", }, -- [7] { ["Type"] = 2, ["Max"] = 60, ["Desc"] = "If aura's remaing time is less than this will be considered as Critical", ["Min"] = 1, ["Key"] = "auracrittime", ["Value"] = 3, ["Name"] = "Aura Critical Time", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [8] { ["Type"] = 1, ["Key"] = "auracrit", ["Value"] = { 1, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Aura Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set critical color for aura text", }, -- [9] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [11] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [14] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [15] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [16] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [17] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Personal Aura Frames Options", ["Name"] = "Personal Aura Frames Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [21] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set timer text size at personal aura frame", ["Min"] = 1, ["Key"] = "PAFTimerSize", ["Value"] = 10, ["Name"] = "PAF Timer Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [22] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set stack text size at personal aura frame", ["Min"] = 1, ["Key"] = "PAFStackSize", ["Value"] = 9, ["Name"] = "PAF Stack Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [23] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "PAFCustom", ["Value"] = true, ["Name"] = "Custom Anchor For PAF", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, you can move aura frames at player resource bar by editing options below", }, -- [25] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "PAFanchor", ["Value"] = 6, ["Name"] = "PAF Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [26] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set personal aura frame x-offset", ["Min"] = -100, ["Key"] = "PAFxoff", ["Value"] = 3, ["Name"] = "PAF X-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [27] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set personal aura frame y-offset", ["Min"] = -100, ["Key"] = "PAFyoff", ["Value"] = 0, ["Name"] = "PAF Y-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [28] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [29] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "PAF2anchor", ["Value"] = 3, ["Name"] = "PAF2 Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [30] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set personal aura frame 2 x-offset", ["Min"] = -100, ["Key"] = "PAF2xoff", ["Value"] = 0, ["Name"] = "PAF2 X-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [31] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set personal aura frame 2 y-offset", ["Min"] = -100, ["Key"] = "PAF2yoff", ["Value"] = -14, ["Name"] = "PAF2 Y-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [32] }, }, -- [22] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n modTable.AttackedList= {\n [61146] = \"khaki\", --monk statue npcID\n [103822] = \"wheat\", --druid treant npcID\n [61056] = \"sienna\", --shamen elemental npcID\n [95072] = \"sienna\", \n }\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitFrame.targetUnitID) \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n --check if the npcID of this unit is in the npc list \n if (modTable.AttackedList [npcID]) then\n Plater.SetNameplateColor (unitFrame, modTable.AttackedList [npcID])\n \n else\n --check if the name of ths unit is in the list\n local unitName = UnitName (unitFrame.targetUnitID)\n if (modTable.AttackedList [unitName]) then\n Plater.SetNameplateColor (unitFrame, modTable.AttackedList [unitName])\n \n else\n --check if the name of the unit in lower case is in the npc list\n unitName = string.lower (unitName)\n if (modTable.AttackedList [unitName]) then\n Plater.SetNameplateColor (unitFrame, modTable.AttackedList [unitName]) \n end\n end\n end\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Time"] = 1600874725, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, ["raid"] = true, ["none"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_attacking_unit", ["Enabled"] = true, ["Revision"] = 680, ["semver"] = "", ["Author"] = "Kastfall-Azralon", ["Desc"] = "Change the nameplate color if the unit is attacking a specific unit like Monk's Ox Statue or Druid's Treants. You may edit which units it track in the constructor script.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Attacking Specific Unit [Plater]", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can add specific NPC to Whitelist by editing modTable.AttackedList at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] }, }, -- [23] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateAltpower(unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Initialization"] = "function (modTable)\n \n modTable.AltPowList = {\n [133389] = true, -- 갈바즈트\n [152236] = true, -- 여군주 애쉬베인\n } \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --anchor the power bar to\n local Anchor = {\n side = modTable.config.APanchor, \n x = modTable.config.APxoff, \n y = modTable.config.APyoff,\n }\n \n local textAnchor = {\n side = modTable.config.APtextanchor, \n x = modTable.config.APtextxoff, \n y = modTable.config.APtextyoff,\n }\n \n unitFrame.APbar = unitFrame.APbar or CreateFrame('StatusBar', nil, unitFrame.healthBar)\n local Bar = unitFrame.APbar\n \n \n envTable.UpdateAltpower = function(unitFrame)\n \n if not Bar then return end\n local forceShowAltPower = modTable.AltPowList [unitFrame.namePlateNpcId] or modTable.AltPowList [unitFrame.namePlateUnitName] or modTable.AltPowList [unitFrame.namePlateUnitNameLower]\n \n if forceShowAltPower then\n Bar:SetSize(unitFrame.healthBar:GetWidth(), modTable.config.APheight)\n Plater.SetAnchor (Bar, Anchor, unitFrame.healthBar)\n Bar:SetStatusBarTexture(unitFrame.healthBar:GetTexture())\n Bar:SetBackdrop ({bgFile = \"Interface\\\\Tooltips\\\\UI-Tooltip-Background\", tile = true, tileSize = 16})\n Bar:SetBackdropColor (0.2, 0.2, 0.2, 1) \n Bar:SetMinMaxValues(0, 100)\n Bar:SetFrameStrata(\"MEDIUM\")\n Bar:SetFrameLevel(4)\n \n Bar:SetValue(UnitPower(unitId, 10))\n \n Bar.border = Bar.border or CreateFrame ('frame', nil, Bar, \"NamePlateFullBorderTemplate\") \n Bar.border:SetBorderSizes (1, 1, 1, 1)\n Bar.border:UpdateSizes()\n Bar.border:SetVertexColor (0, 0, 0, 1)\n \n Bar:Show()\n \n if modTable.config.APtexton then\n Bar.text = Bar.text or Bar:CreateFontString(nil, 'OVERLAY')\n Bar.text:SetFont(unitFrame.powerBar.percentText:GetFont(),modTable.config.APtextsize,\"OUTLINE\")\n Plater:SetFontColor (Bar.text, \"gold\" )\n Plater.SetAnchor (Bar.text, textAnchor) \n Bar.text:SetText(UnitPower(unitId, 10)..\"%\") \n Bar.text:Show()\n else\n if Bar.text then Bar.text:Hide() end\n end\n else\n Bar:Hide()\n end\n end\n \nend", }, ["Time"] = 1600996867, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, ["raid"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 254885, ["Enabled"] = true, ["Revision"] = 1664, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Show Altpower bar for some units.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Alt-Power Bar", ["LastHookEdited"] = "Constructor", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "You can add specific NPC to Whitelist by editing modTable.AltPowList at Initialization Hooks", ["Name"] = "Note", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Bar options", ["Name"] = "Bar options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Bar Height", ["Min"] = 0, ["Key"] = "APheight", ["Value"] = 3, ["Name"] = "Bar Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "APanchor", ["Value"] = 4, ["Name"] = "Bar Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [5] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Bar x-offset", ["Min"] = -100, ["Key"] = "APxoff", ["Value"] = 0, ["Name"] = "Bar X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [6] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Bar y-offset", ["Min"] = -100, ["Key"] = "APyoff", ["Value"] = 0, ["Name"] = "Bar Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [7] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Power Text options", ["Name"] = "Power Text options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 4, ["Key"] = "APtexton", ["Value"] = true, ["Name"] = "Enable Power Text", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Enable Power Text", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Power % text size", ["Min"] = 1, ["Key"] = "APtextsize", ["Value"] = 9, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 8, ["Desc"] = "1(TOP-LEFT) / 2(LEFT) / 3(BOT-LEFT) / 4(BOT) / 5(BOT-RIGHT) / 6(RIGHT) / 7(TOP-RIGHT) / 8(TOP)", ["Min"] = 1, ["Key"] = "APtextanchor", ["Value"] = 7, ["Name"] = "Text Anchor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Power Text x-offset", ["Min"] = -100, ["Key"] = "APtextxoff", ["Value"] = 3, ["Name"] = "Text X-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [13] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set Power Text y-offset", ["Min"] = -100, ["Key"] = "APtextyoff", ["Value"] = 0, ["Name"] = "Text Y-offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [14] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [15] }, }, -- [24] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Player Logon"] = "function (modTable)\n \n --> show the tooltip in the aura icon\n function Plater.OnEnterAura (iconFrame) --private\n NamePlateTooltip:SetOwner (iconFrame, \"ANCHOR_LEFT\")\n NamePlateTooltip:SetUnitAura (iconFrame:GetParent().unit, iconFrame:GetID(), iconFrame.filter)\n --NamePlateTooltip:AddLine(\"\\n\")\n --NamePlateTooltip:AddDoubleLine(NORMAL_FONT_COLOR_CODE .. \"ID: \" .. FONT_COLOR_CODE_CLOSE, HIGHLIGHT_FONT_COLOR_CODE .. iconFrame.spellId .. FONT_COLOR_CODE_CLOSE)\n NamePlateTooltip:AddLine(NORMAL_FONT_COLOR_CODE .. \"ID: \" .. FONT_COLOR_CODE_CLOSE.. HIGHLIGHT_FONT_COLOR_CODE .. iconFrame.spellId .. FONT_COLOR_CODE_CLOSE)\n NamePlateTooltip:Show()\n iconFrame.UpdateTooltip = Plater.OnEnterAura\n end \n \nend\n\n\n", }, ["Time"] = 1600785290, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 134331, ["Enabled"] = false, ["Revision"] = 108, ["semver"] = "", ["Author"] = "Viashi-Antonidas", ["Desc"] = "Adds the aura ID to the tooltip. (Buff Settings -> Show Tooltip needs to be enabled.)", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Aura-ID in Tooltip", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [25] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Cast Update"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n if self.IsInterrupted then\n self.Text:SetText(self.Text:GetText():gsub(INTERRUPTED, modTable.interrupted))\n end\n \nend\n\n\n", ["Initialization"] = "function (modTable)\n \n if (not Plater.db.profile.show_interrupt_author) then return end\n \n modTable.interrupted = \"Interrupted\"\n if _G.LOCALE_koKR then\n modTable.interrupted = \"시전 방해됨\"\n end\n \n local function GroupMembers(reversed, forceParty)\n local unit = (not forceParty and IsInRaid()) and 'raid' or 'party'\n local numGroupMembers = forceParty and GetNumSubgroupMembers() or GetNumGroupMembers()\n local i = reversed and numGroupMembers or (unit == 'party' and 0 or 1)\n return function()\n local ret \n if i == 0 and unit == 'party' then \n ret = 'player'\n elseif i <= numGroupMembers and i > 0 then\n ret = unit .. i\n end\n i = i + (reversed and -1 or 1)\n return ret\n end\n end\n \n local function parseEvent(...)\n local _, subevent,_, sourceGUID, sourceName,_,_, destGUID = ...\n \n if subevent == \"SPELL_INTERRUPT\" then\n \n local type = strsplit(\"-\",sourceGUID)\n \n if type and type == \"Pet\" then \n if sourceGUID == UnitGUID(\"pet\") then\n sourceGUID = UnitGUID(\"player\") \n sourceName = UnitName(\"player\")\n else\n for unit in GroupMembers() do \n if UnitGUID(unit..\"pet\") == sourceGUID then\n sourceGUID = UnitGUID(unit) \n sourceName = UnitName(unit)\n sourceName = gsub(sourceName, \"%-[^|]+\", \"\")\n break\n end\n end\n end\n \n for _, plateFrame in ipairs (Plater.GetAllShownPlates()) do\n local unitFrame = plateFrame.unitFrame\n if (unitFrame.castBar:IsShown()) then\n if (plateFrame.namePlateUnitGUID == destGUID) then\n unitFrame.castBar.Text:SetText (modTable.interrupted .. \" [\" .. Plater.SetTextColorByClass (sourceName, sourceName) .. \"]\")\n end\n end\n end\n end\n end \n end\n \n CIFM = CIFM or CreateFrame(\"frame\", \"CIFM\", UIParent)\n local CIFM = CIFM\n CIFM:RegisterEvent(\"COMBAT_LOG_EVENT_UNFILTERED\")\n CIFM:SetScript(\"OnEvent\", function(self, event, ...) \n if event == \"COMBAT_LOG_EVENT_UNFILTERED\" then\n parseEvent(CombatLogGetCurrentEventInfo())\n end\n end)\n \nend", }, ["Time"] = 1601257864, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 135975, ["Enabled"] = true, ["Revision"] = 531, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Change Spell Interrupt Message Format", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Cast Interrupted Format", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [26] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n unitFrame.castBar.Settings.ShowTradeSkills = true\nend\n\n\n", }, ["Time"] = 1600785293, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "https://wago.io/ixw8y1lJz/2", ["Icon"] = 136243, ["Enabled"] = false, ["Revision"] = 22, ["semver"] = "1.0.1", ["Author"] = "Viashi-Antonidas", ["Desc"] = "Enables Tradeskill crafting to be seen on cast-bars.", ["Prio"] = 99, ["version"] = 2, ["PlaterCore"] = 1, ["Name"] = "Show Tradeskill Crafts", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [27] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n if (envTable.UseCustomExecutePercent) then --manual detection\n \n if UnitIsTapDenied (unitId) or unitFrame.IsSelf or unitFrame.PlayerCannotAttack then return end\n \n local healthBar = unitFrame.healthBar\n local percent = healthBar.CurrentHealth / healthBar.CurrentHealthMax\n local alert = envTable.ExecutePercent\n \n if (percent <= envTable.ExecutePercent) then\n envTable.InExecuteRange = true\n if (envTable.InExecuteAlertRange) then\n envTable.InExecuteAlertRange = false\n end\n elseif (percent < envTable.SecondRangeStart and percent >= envTable.SecondRangeEnd) then\n envTable.InExecuteRange = true\n alert = envTable.SecondRangeEnd\n if (envTable.InExecuteAlertRange) then\n envTable.InExecuteAlertRange = false\n end\n elseif (percent > envTable.ExecutePercent and percent <= envTable.ExecutePercent + envTable.ExcuteAlertPercent) then\n envTable.InExecuteAlertRange = true\n if (envTable.InExecuteRange) then\n envTable.InExecuteRange = false\n end\n else\n if (envTable.InExecuteRange) then\n envTable.InExecuteRange = false\n end\n \n if (envTable.InExecuteAlertRange) then\n envTable.InExecuteAlertRange = false\n end\n end\n \n if (envTable.InExecuteRange) then \n envTable.UnitInExecuteRange(unitFrame)\n envTable.UnitInExecuteAlertRange (unitFrame, alert)\n else\n if (envTable.InExecuteAlertRange) then\n envTable.UnitInExecuteAlertRange (unitFrame, alert)\n else\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n end\n Plater.RefreshNameplateColor (unitFrame)\n Plater.SetBorderColor (unitFrame) \n end\n else\n if (unitFrame.InExecuteRange) then --auto detection\n envTable.UnitInExecuteRange (unitFrame, 0)\n else \n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n Plater.SetBorderColor (unitFrame) \n end\n end\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n modTable.UpdateEXETalent()\nend\n\n\n", ["Initialization"] = "function (modTable)\n \n function modTable.UpdateEXETalent()\n modTable.EXEenabled = false\n modTable.EXEpercent = 0\n modTable.EAP = 0\n modTable.SRS = 1\n modTable.SRE = 1\n \n local _, class = UnitClass (\"player\")\n local spec = GetSpecialization()\n local specID = GetSpecializationInfo (spec)\n if not (spec or class or specID or specID == 0) then return end\n \n if (class == \"MAGE\") then\n if (specID == 62) then \n modTable.EXEenabled = true\n modTable.EXEpercent = 0.35\n modTable.EAP = 0.1\n elseif (specID == 63) then \n local _, _, _, using_Firestarter = GetTalentInfo (1, 1, 1)\n local _, _, _, using_Touch = GetTalentInfo (1, 3, 1)\n if (using_Firestarter) then\n modTable.EXEenabled = true\n modTable.SRS = 0.999\n modTable.SRE = 0.9\n elseif (using_Touch) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.3\n modTable.EAP = 0.1\n end\n end\n elseif (class == \"WARLOCK\") then\n if (specID == 265) then \n local _, _, _, using_Souldrain = GetTalentInfo (1, 2, 1)\n if (using_Souldrain) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.2\n modTable.EAP = 0.1\n end\n elseif (specID == 267) then \n modTable.EXEenabled = true\n modTable.SRS = 0.999\n modTable.SRE = 0.8\n end\n elseif (class == \"PRIEST\") then\n if (specID == 258) then --shadow\n local _, _, _, using_SWDeath = GetTalentInfo (5, 2, 1)\n local _, _, _, using_ToF = GetTalentInfo (3, 1, 1)\n if (using_Tof) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.35\n modTable.EAP = 0.1\n else\n if (using_SWDeath) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.2\n modTable.EAP = 0.1\n end\n end\n end\n elseif (class == \"WARRIOR\") then\n if (specID and specID ~= 0) then\n if (specID == 71 or specID == 72) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.2\n modTable.EAP = 0.1\n if (specID == 71) then\n local _, _, _, using_Massacre = GetTalentInfo (3, 1, 1)\n if (using_Massacre) then\n modTable.EXEpercent = 0.35\n end\n end\n end\n end\n elseif (class == \"HUNTER\") then\n if (specID == 253) then\n local _, _, _, using_KillerInstinct = GetTalentInfo (1, 1, 1)\n if (using_KillerInstinct) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.35\n modTable.EAP = 0.1\n end\n end\n elseif (class == \"PALADIN\") then\n if (specID == 70) then \n local _, _, _, using_HammerOfWrath = GetTalentInfo (2, 3, 1)\n if (using_HammerOfWrath) then\n modTable.EXEenabled = true\n modTable.EXEpercent = 0.2\n modTable.EAP = 0.1\n end\n end\n end\n end\n \nend", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local ADV = modTable.EXEenabled\n \n --execute detection, if true the script will handle the execute Percent\n --while false Plater will automatically trigger the execute range\n --you only want to set this to true in case of Plater not detecting the execute range correctly\n envTable.UseCustomExecutePercent = ADV or false\n --execute Percent, if not detecting automatic, this is the Percent to active the execute range\n --use from zero to one, 0.20 is equal to 20% of the unit life\n envTable.ExecutePercent = (ADV and modTable.EXEpercent) or 0\n envTable.ExcuteAlertPercent = (ADV and modTable.EAP) or 0\n --second execute range (UseCustomExecutePercent must be Enabled)\n envTable.SecondRangeStart = (ADV and modTable.SRS) or 1\n envTable.SecondRangeEnd = (ADV and modTable.SRE) or 0\n \n --private (internal functions)\n do\n function envTable.UnitInExecuteRange (unitFrame)\n if (modTable.config.EXEhbcon) then\n Plater.SetNameplateColor (unitFrame, modTable.config.EXEhbcolor)\n end\n \n if (modTable.config.EXEbdron) then\n Plater.SetBorderColor (unitFrame, modTable.config.EXEbdrcolor)\n end\n end\n \n function envTable.UnitInExecuteAlertRange (unitFrame, divisorPercent)\n if (modTable.config.EXEhdoff) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n else\n envTable.UpdateHealthDivisor (unitFrame, divisorPercent)\n end\n end\n \n function envTable.UpdateHealthDivisor (unitFrame, divisorPercent)\n local healthBar = unitFrame.healthBar\n \n healthBar.healthCutOff:Show()\n healthBar.healthCutOff:SetVertexColor (DetailsFramework:ParseColors (modTable.config.EXEhdcolor))\n \n healthBar.executeRange:Show()\n healthBar.executeRange:SetVertexColor (DetailsFramework:ParseColors (modTable.config.EXEhicolor))\n \n if (envTable.UseCustomExecutePercent) then\n healthBar.healthCutOff:ClearAllPoints()\n healthBar.executeRange:ClearAllPoints()\n \n healthBar.healthCutOff:SetSize (healthBar:GetHeight(), healthBar:GetHeight())\n healthBar.healthCutOff:SetPoint (\"center\", healthBar, \"left\", healthBar:GetWidth() * divisorPercent, 0)\n \n healthBar.executeRange:SetTexCoord (0, envTable.ExecutePercent, 0, 1)\n healthBar.executeRange:SetHeight (healthBar:GetHeight())\n if (divisorPercent == envTable.ExecutePercent) then\n healthBar.executeRange:SetPoint (\"left\", healthBar, \"left\", 0, 0)\n healthBar.executeRange:SetPoint (\"right\", healthBar.healthCutOff, \"center\")\n else\n healthBar.executeRange:SetPoint (\"right\", healthBar, \"right\", 0, 0)\n healthBar.executeRange:SetPoint (\"left\", healthBar.healthCutOff, \"center\")\n end\n end\n end\n end\n \n if not unitFrame.healthBar.ExecuteHooked then\n hooksecurefunc(\"TalentFrame_UpdateSpecInfoCache\", function() modTable.UpdateEXETalent() end)\n hooksecurefunc(\"TalentFrame_Update\", function() modTable.UpdateEXETalent() end)\n unitFrame.healthBar.ExecuteHooked = true\n end\n \nend", }, ["Time"] = 1601257512, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 135358, ["Enabled"] = true, ["Revision"] = 1359, ["semver"] = "", ["Author"] = "Ahwa-Azralon", ["Desc"] = "Adds extra effects to execute range and allow to setup two execute ranges for classes with execute when the unit has almost full healh. See the constructor script for options.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Advanced Execute Range [FIxed]", ["LastHookEdited"] = "Constructor", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Execute Color Options", ["Name"] = "Execute Color Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "EXEhbcon", ["Value"] = true, ["Name"] = "Enable Execute Healthbar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Enable Execute Healthbar Color", }, -- [2] { ["Type"] = 1, ["Key"] = "EXEhbcolor", ["Value"] = { 1, -- [1] 0, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Execute Healthbar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Execute Healthbar Color", }, -- [3] { ["Type"] = 4, ["Key"] = "EXEbdron", ["Value"] = false, ["Name"] = "Enable Execute Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Enable Execute Border Color", }, -- [4] { ["Type"] = 1, ["Key"] = "EXEbdrcolor", ["Value"] = { 1, -- [1] 0, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Execute Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Execute Border Color", }, -- [5] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Execute Divisor Options", ["Name"] = "Execute Divisor Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "EXEhdoff", ["Value"] = false, ["Name"] = "Disable Execute Health Divisor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Disable Execute Health Divisor", }, -- [8] { ["Type"] = 1, ["Key"] = "EXEhdcolor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 0.5, -- [4] }, ["Name"] = "Execute Health Divisor Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Execute Health Divisor Color", }, -- [9] { ["Type"] = 1, ["Key"] = "EXEhicolor", ["Value"] = { 0.6, -- [1] 0, -- [2] 0, -- [3] 0.25, -- [4] }, ["Name"] = "Execute Health Indicator Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Execute Health Indicator Color", }, -- [10] }, }, -- [28] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n modTable.cache = {}\n \n function parseEvent(...)\n local _, subevent, _,_,_,_,_,_,_,_,_, id, _, school = ...\n \n if (subevent == \"SPELL_CAST_START\" or subevent == \"SPELL_CAST_SUCCESS\") and\n school then \n modTable.cache[id] = school\n end\n end\n \n CLEU = CLEU or CreateFrame(\"frame\", \"CLEU\", UIParent)\n local CLEU = CLEU\n CLEU:RegisterEvent(\"COMBAT_LOG_EVENT_UNFILTERED\")\n CLEU:SetScript(\"OnEvent\", function(self, event, ...) \n if event == \"COMBAT_LOG_EVENT_UNFILTERED\" then\n parseEvent(CombatLogGetCurrentEventInfo())\n end\n end)\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.setCastColorFunction (unitFrame)\n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n unitFrame.castBar:UpdateCastColor()\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n function envTable.setCastColorFunction (unitFrame)\n -- overwrite the color function:\n unitFrame.castBar.GetCastColor = function (self)\n \n if (self.interrupted) then\n return self.Colors.Interrupted\n \n elseif (self.failed) then\n return self.Colors.Failed\n \n else\n if (not self.canInterrupt) then\n return self.Colors.NonInterruptible\n \n else\n if modTable.cache[unitFrame.castBar.SpellID] then\n local school = modTable.cache[unitFrame.castBar.SpellID]\n if modTable.config.felfire and unitFrame.IsSelf and IsSpellKnown(101508) and\n GetSpecializationInfo(GetSpecialization()) == 267 then\n if school == 4 then\n return modTable.config[\"school\"..127]\n end\n end\n return modTable.config[\"school\"..school]\n \n elseif (self.finished) then\n return self.Colors.Finished\n \n else \n return self.Colors.Casting\n end\n end\n end\n end\n end\n \n envTable.setCastColorFunction (unitFrame)\n \nend", }, ["Time"] = 1600785290, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 135741, ["Enabled"] = false, ["Revision"] = 2483, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Change castbar color by spell school.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Cast bar Color by Spell School", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Basic School", ["Name"] = "Basic School", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 1, ["Key"] = "school1", ["Value"] = { 1, -- [1] 0.70196078431373, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Physical", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for physical spells", }, -- [2] { ["Type"] = 1, ["Key"] = "school2", ["Value"] = { 1, -- [1] 0.90196078431373, -- [2] 0.50196078431373, -- [3] 1, -- [4] }, ["Name"] = "Holy", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for holy spells", }, -- [3] { ["Type"] = 1, ["Key"] = "school4", ["Value"] = { 1, -- [1] 0.34901960784314, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Fire", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for fire spells", }, -- [4] { ["Type"] = 1, ["Key"] = "school8", ["Value"] = { 0.30196078431373, -- [1] 1, -- [2] 0.30196078431373, -- [3] 1, -- [4] }, ["Name"] = "Nature", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for natur spells", }, -- [5] { ["Type"] = 1, ["Key"] = "school16", ["Value"] = { 0.50196078431373, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Frost", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for frost spells", }, -- [6] { ["Type"] = 1, ["Key"] = "school32", ["Value"] = { 0.50196078431373, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Shadow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for shadow spells", }, -- [7] { ["Type"] = 1, ["Key"] = "school64", ["Value"] = { 1, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Arcane", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane spells", }, -- [8] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Options", ["Name"] = "Options", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 4, ["Key"] = "felfire", ["Value"] = true, ["Name"] = "Fel-Fire", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "For only destro-lock's fel-fire spells. It replaces fire spell color to chaos spell color (by default it's fel-green).", }, -- [11] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [14] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [15] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [16] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [17] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Multi School", ["Name"] = "Multi School", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [21] { ["Type"] = 1, ["Key"] = "school5", ["Value"] = { 1, -- [1] 0.34901960784314, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "FlameStrike", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for fire + physical spells", }, -- [22] { ["Type"] = 1, ["Key"] = "school6", ["Value"] = { 1, -- [1] 0.90196078431373, -- [2] 0.50196078431373, -- [3] 1, -- [4] }, ["Name"] = "Radient", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for holy + fire spells", }, -- [23] { ["Type"] = 1, ["Key"] = "school12", ["Value"] = { 1, -- [1] 0.34901960784314, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "FireStorm", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for fire + naturel spells", }, -- [24] { ["Type"] = 1, ["Key"] = "school20", ["Value"] = { 0.76862745098039, -- [1] 0.84705882352941, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "FrostFire", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for frost + firel spells", }, -- [25] { ["Type"] = 1, ["Key"] = "school24", ["Value"] = { 0.41960784313725, -- [1] 0.66666666666667, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "FrostStorm", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for frost + nature spells", }, -- [26] { ["Type"] = 1, ["Key"] = "school28", ["Value"] = { 0.45490196078431, -- [1] 1, -- [2] 0.78039215686275, -- [3] 1, -- [4] }, ["Name"] = "Elemental", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for fire + frost + nature spells", }, -- [27] { ["Type"] = 1, ["Key"] = "school33", ["Value"] = { 0.50196078431373, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "ShadowStrike", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for shadow + physical spells", }, -- [28] { ["Type"] = 1, ["Key"] = "school34", ["Value"] = { 0.70196078431373, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Twilight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for shadow + holy spells", }, -- [29] { ["Type"] = 1, ["Key"] = "school36", ["Value"] = { 0.56862745098039, -- [1] 0.25098039215686, -- [2] 0.74117647058824, -- [3] 1, -- [4] }, ["Name"] = "ShadowFlame", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for shadow + fire spells", }, -- [30] { ["Type"] = 1, ["Key"] = "school40", ["Value"] = { 0.082352941176471, -- [1] 0.85882352941176, -- [2] 0.61176470588235, -- [3] 1, -- [4] }, ["Name"] = "Plague", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for shadow + nature spells", }, -- [31] { ["Type"] = 1, ["Key"] = "school48", ["Value"] = { 0.56078431372549, -- [1] 0.47058823529412, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "ShadowFrost", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for shadow + frost spells", }, -- [32] { ["Type"] = 1, ["Key"] = "school65", ["Value"] = { 1, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "SpellStrike", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane + physical spells", }, -- [33] { ["Type"] = 1, ["Key"] = "school72", ["Value"] = { 1, -- [1] 0.67058823529412, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Astral", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane + nature spells", }, -- [34] { ["Type"] = 1, ["Key"] = "school80", ["Value"] = { 1, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "SpellFrost", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane + frost spells", }, -- [35] { ["Type"] = 1, ["Key"] = "school124", ["Value"] = { 0.32941176470588, -- [1] 0, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Chromatic", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane + fire + frost + nature + shadow spells", }, -- [36] { ["Type"] = 1, ["Key"] = "school126", ["Value"] = { 1, -- [1] 0.50196078431373, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Magic", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane + fire + frost + nature + shadow + holy spells", }, -- [37] { ["Type"] = 1, ["Key"] = "school127", ["Value"] = { 0.61176470588235, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Chaos", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color for arcane + fire + frost + nature + shadow + holy + physical spells", }, -- [38] }, }, -- [29] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n self.Spark:SetHeight (self:GetHeight())\n envTable.UpdateCastBar (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.castBar.CastBarBorder) then\n unitFrame.castBar.CastBarBorder:Hide()\n end \n \n if (unitFrame.castBar.IconOverlayFrame) then\n unitFrame.castBar.IconOverlayFrame:Hide()\n end\n \nend\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n self.Spark:SetHeight (self:GetHeight())\n envTable.UpdateCastBar (unitFrame)\n self.ThrottleUpdate = -1\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local healthBar = unitFrame.healthBar\n local castBar = unitFrame.castBar\n local icon = castBar.Icon\n local shield = castBar.BorderShield\n \n local r, g, b, a = DetailsFramework:ParseColors (modTable.config.CBBorderColor)\n local size = modTable.config.CBBorderThickness\n \n --private\n function envTable.UpdateCastBar (unitFrame)\n local Cpadding = 0\n \n if unitFrame.ActorType then\n Cpadding = Plater.db.profile.plate_config[unitFrame.ActorType].castbar_offset\n end\n \n castBar.CastBarBorder:SetVertexColor (r, g, b, a)\n castBar.CastBarBorder:SetBorderSizes (size, size, size, size)\n castBar.CastBarBorder:UpdateSizes() \n castBar.CastBarBorder:Show()\n \n if unitFrame.IsSelf then\n if (modTable.config.ShowCBIcon and (modTable.config.CBIbig or (not modTable.config.CBIbig and (modTable.config.PRBbigmode or (not modTable.config.PRBbigmode and not modTable.config.CBIinside))))) or not modTable.config.ShowCBIcon then\n castBar:SetPoint (\"topleft\", healthBar, \"bottomleft\", 0, Cpadding)\n castBar:SetPoint (\"topright\", healthBar, \"bottomright\", 0, Cpadding)\n else \n if (modTable.config.CBIconAnchor and not modTable.config.PRBreverse) or (not modTable.config.CBIconAnchor and modTable.config.PRBreverse) then \n castBar:SetPoint (\"topleft\", healthBar, \"bottomleft\", size + castBar:GetHeight(), Cpadding)\n castBar:SetPoint (\"topright\", healthBar, \"bottomright\", 0, Cpadding)\n else\n castBar:SetPoint (\"topleft\", healthBar, \"bottomleft\", 0, Cpadding)\n castBar:SetPoint (\"topright\", healthBar, \"bottomright\", -(size + castBar:GetHeight()), Cpadding) \n end\n end\n else\n if (modTable.config.ShowCBIcon and (modTable.config.CBIbig or (not modTable.config.CBIbig and not modTable.config.CBIinside))) or not modTable.config.ShowCBIcon then\n castBar:SetPoint (\"topleft\", healthBar, \"bottomleft\", 0, Cpadding)\n castBar:SetPoint (\"topright\", healthBar, \"bottomright\", 0, Cpadding)\n else \n if modTable.config.CBIconAnchor then \n castBar:SetPoint (\"topleft\", healthBar, \"bottomleft\", size + castBar:GetHeight(), Cpadding)\n castBar:SetPoint (\"topright\", healthBar, \"bottomright\", 0, Cpadding) \n else \n castBar:SetPoint (\"topleft\", healthBar, \"bottomleft\", 0, Cpadding)\n castBar:SetPoint (\"topright\", healthBar, \"bottomright\", -(size + castBar:GetHeight()), Cpadding) \n end\n end\n end\n \n if modTable.config.ShowCBIcon and not (modTable.config.HideCBIooc and not (unitFrame.IsSelf or Plater.IsInCombat())) then\n envTable.UpdateCBIcon (unitFrame)\n else\n icon:Hide() \n if castBar.IconOverlayFrame then\n castBar.IconOverlayFrame:Hide() \n end\n end\n \n if modTable.config.ShowCBShield and not (castBar.canInterrupt or castBar.interrupted) then\n envTable.UpdateCBShield (unitFrame)\n else\n shield:Hide()\n end \n end\n \n function envTable.UpdateCBIcon (unitFrame)\n local Isize = modTable.config.CBIconSizeOffset \n local Ipadding = modTable.config.CBIPadding\n local frame = castBar\n \n if modTable.config.CBIbig or (not modTable.config.CBIbig and unitFrame.IsSelf and modTable.config.PRBbigmode) then\n frame = healthBar\n end\n \n icon:ClearAllPoints()\n \n if unitFrame.IsSelf then\n local Rvar = 1\n \n if modTable.config.PRBreverse then\n Rvar = -1\n end\n \n if (modTable.config.CBIconAnchor and not modTable.config.PRBreverse) or (not modTable.config.CBIconAnchor and modTable.config.PRBreverse) then\n icon:SetPoint (\"topright\", frame, \"topleft\", - Isize + Ipadding * Rvar, Isize)\n icon:SetPoint (\"bottomright\", castBar, \"bottomleft\", -Isize + Ipadding * Rvar, 0) \n else\n icon:SetPoint (\"topleft\", frame, \"topright\", Isize + Ipadding * Rvar, Isize)\n icon:SetPoint (\"bottomleft\", castBar, \"bottomright\", Isize + Ipadding * Rvar, 0)\n end\n else\n if modTable.config.CBIconAnchor then\n icon:SetPoint (\"topright\", frame, \"topleft\", -Isize + Ipadding, Isize)\n icon:SetPoint (\"bottomright\", castBar, \"bottomleft\", -Isize + Ipadding, 0) \n else\n icon:SetPoint (\"topleft\", frame, \"topright\", Isize + Ipadding, Isize)\n icon:SetPoint (\"bottomleft\", castBar, \"bottomright\", Isize + Ipadding, 0)\n end\n end\n \n icon:SetWidth (icon:GetHeight()) \n castBar.IconBorder:UpdateSizes()\n castBar.IconBorder:SetBorderSizes (size, size, size, size)\n castBar.IconBorder:SetVertexColor (r, g, b, a)\n icon:Show()\n castBar.IconOverlayFrame:Show()\n end\n \n \n function envTable.UpdateCBShield (unitFrame)\n shield:SetTexture ([[Interface\\TargetingFrame\\Nameplates]])\n shield:SetTexCoord (0.935, 0.98, 0.245, 0.359)\n shield:SetSize (modTable.config.CBShieldWidth, modTable.config.CBShieldHeight)\n shield:ClearAllPoints()\n \n if modTable.config.CBtextshield then\n local offset = {x = 0, y = 0, side = 9}\n if unitFrame.ActorType then\n offset = Plater.db.profile.plate_config[unitFrame.ActorType].spellname_text_anchor\n end\n if (modTable.config.CBShieldAnchor and (not unitFrame.IsSelf or (unitFrame.IsSelf and not modTable.config.PRBreverse))) then\n Plater.SetAnchor (castBar.Text, {x = offset.x + (modTable.config.CBShieldWidth/4), y = offset.y, side = offset.side})\n shield:SetPoint (\"RIGHT\", castBar.Text, \"LEFT\", 0, -0.5)\n else\n Plater.SetAnchor (castBar.Text, {x = offset.x - (modTable.config.CBShieldWidth/4), y = offset.y, side = offset.side})\n shield:SetPoint (\"LEFT\", castBar.Text, \"RIGHT\", 0, -0.5)\n end\n else\n if (modTable.config.CBShieldAnchor and (not unitFrame.IsSelf or (unitFrame.IsSelf and not modTable.config.PRBreverse))) then\n shield:SetPoint (\"RIGHT\", castBar, \"LEFT\", 4, -1)\n else\n shield:SetPoint (\"LEFT\", castBar, \"RIGHT\", -4, -1)\n end\n end\n \n shield:Show()\n end\n \n \n --create thee border\n if not unitFrame.castBar.CastBarBorder then\n unitFrame.castBar.CastBarBorder = CreateFrame (\"frame\", nil, unitFrame.castBar, \"NamePlateFullBorderTemplate\") \n end\n \n if not unitFrame.castBar.IconOverlayFrame and modTable.config.ShowCBIcon then\n --icon support frame\n unitFrame.castBar.IconOverlayFrame = CreateFrame (\"frame\", nil, unitFrame.castBar)\n unitFrame.castBar.IconOverlayFrame:SetPoint (\"topleft\", unitFrame.castBar.Icon, \"topleft\")\n unitFrame.castBar.IconOverlayFrame:SetPoint (\"bottomright\", unitFrame.castBar.Icon, \"bottomright\")\n if modTable.config.ShowCBIcon and modTable.config.CBIinside and not modTable.config.CBIbig then\n unitFrame.castBar.IconOverlayFrame:SetFrameStrata(\"MEDIUM\") \n else\n unitFrame.castBar.IconOverlayFrame:SetFrameStrata(\"LOW\") \n end\n unitFrame.castBar.IconBorder = CreateFrame (\"frame\", nil, unitFrame.castBar.IconOverlayFrame, \"NamePlateFullBorderTemplate\")\n end \n \nend", }, ["Time"] = 1601165329, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1723997, ["Enabled"] = true, ["Revision"] = 3042, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Adds a pixels perfect border around the cast bar spell icon.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Cast Bar & Icon Options", ["LastHookEdited"] = "Constructor", ["Options"] = { { ["Type"] = 5, ["Key"] = "", ["Value"] = "Border Settings", ["Name"] = "Border Settings", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set border thickness", ["Min"] = 0, ["Key"] = "CBBorderThickness", ["Value"] = 1, ["Name"] = "Border Thickness", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [2] { ["Type"] = 1, ["Key"] = "CBBorderColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Set border color", }, -- [3] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Icon Settings", ["Name"] = "Icon Settings", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 4, ["Key"] = "ShowCBIcon", ["Value"] = true, ["Name"] = "Show Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show icon if checked", }, -- [6] { ["Type"] = 4, ["Key"] = "HideCBIooc", ["Value"] = false, ["Name"] = "Hide Icon Out of Combat", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Hide Cast bar Icon Out of Combat", }, -- [7] { ["Type"] = 4, ["Key"] = "CBIbig", ["Value"] = true, ["Name"] = "Big Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Big Icon Mode", }, -- [8] { ["Type"] = 4, ["Key"] = "CBIinside", ["Value"] = false, ["Name"] = "Icon Inside bar", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Icon do not overlap castbar. Only work with small icon. So disable big Icon want to use it.", }, -- [9] { ["Type"] = 4, ["Key"] = "CBIconAnchor", ["Value"] = true, ["Name"] = "Icon Anchor to Left", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Icon Anchor will be RIGHT when unchecked", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set additional icon size", ["Min"] = -100, ["Key"] = "CBIconSizeOffset", ["Value"] = 0, ["Name"] = "Icon Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set castbar icon padding", ["Min"] = -100, ["Key"] = "CBIPadding", ["Value"] = -1, ["Name"] = "Icon Padding", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Shield Settings", ["Name"] = "Shield Settings", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 4, ["Key"] = "ShowCBShield", ["Value"] = true, ["Name"] = "Show Shield", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show shield when checked", }, -- [15] { ["Type"] = 4, ["Key"] = "CBShieldAnchor", ["Value"] = true, ["Name"] = "Shield Anchor to Left", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Shield Anchor will be RIGHT when unchecked", }, -- [16] { ["Type"] = 4, ["Key"] = "CBtextshield", ["Value"] = true, ["Name"] = "Shield at Spell Name Text", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show shield at right-side of spell name text", }, -- [17] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set shield width", ["Min"] = 1, ["Key"] = "CBShieldWidth", ["Value"] = 10, ["Name"] = "Shield Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [18] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "Set shield height", ["Min"] = 1, ["Key"] = "CBShieldHeight", ["Value"] = 12, ["Name"] = "Shield Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [19] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "Blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 5, ["Key"] = "", ["Value"] = "Player Resource Bar", ["Name"] = "Player Resource Bar", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [21] { ["Type"] = 4, ["Key"] = "PRBbigmode", ["Value"] = false, ["Name"] = "Force Player Cast Bar Big Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Force player cast bar big icon", }, -- [22] { ["Type"] = 4, ["Key"] = "PRBreverse", ["Value"] = true, ["Name"] = "Reverse Player Cast Bar Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Reverse Player Cast Bar Icon Anchor", }, -- [23] }, }, -- [30] { ["OptionsValues"] = { }, ["HooksTemp"] = { }, ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateResource(unitFrame)\n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateResource(unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n envTable.UpdateResource = function(unitFrame)\n local resourceFrame = NamePlateDriverFrame.classNamePlateMechanicFrame\n if resourceFrame and Plater.IsShowingResourcesOnTarget then\n if unitFrame.namePlateIsTarget then \n if not unitFrame.PlayerCannotAttack then\n resourceFrame:Show()\n else\n resourceFrame:Hide()\n end\n end\n end\n end\n \nend", }, ["Time"] = 1601165265, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 132331, ["Enabled"] = true, ["Revision"] = 978, ["semver"] = "", ["Author"] = "호불-아즈샤라", ["Desc"] = "Hide Resource on Name-Only nameplates", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Hide Resource on Name-Only", ["LastHookEdited"] = "", ["Options"] = { }, }, -- [31] { ["LastHookEdited"] = "Constructor", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n \n function envTable.RelocateRMBS (unitFrame)\n local marker = unitFrame.PlaterRaidTargetFrame\n local BuffSpecial = unitFrame.ExtraIconFrame\n local unitType = Plater.GetUnitType (unitFrame)\n local profile = Plater.db.profile\n local EIanchor = {\n side = profile.extra_icon_anchor.side,\n x = modTable.config.RMBSoocx,\n y = profile.extra_icon_anchor.y,\n }\n \n local RManchor = {\n side = profile.indicator_raidmark_anchor.side,\n x = modTable.config.RMBSoocx,\n y = profile.indicator_raidmark_anchor.y,\n } \n \n if Plater.IsInCombat() and not (unitType == \"pet\" or unitType == \"minus\") then\n Plater.SetAnchor (marker, profile.indicator_raidmark_anchor)\n Plater.SetAnchor (BuffSpecial, profile.extra_icon_anchor)\n else\n Plater.SetAnchor (marker, RManchor, unitFrame.healthBar)\n Plater.SetAnchor (BuffSpecial, EIanchor, unitFrame.healthBar)\n end\n end\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n local plateFrame = C_NamePlate.GetNamePlateForUnit (unitId)\n if (plateFrame.IsFriendlyPlayerWithoutHealthBar or plateFrame.IsNpcWithoutHealthBar) then return end\n \n envTable.RelocateRMBS (unitFrame)\n \nend\n\n\n", }, ["Time"] = 1601257509, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 3193420, ["Enabled"] = true, ["Revision"] = 1322, ["Options"] = { { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "X-offset of Raidmark and Buff Special Frame OOC", ["Min"] = -100, ["Key"] = "RMBSoocx", ["Value"] = -2, ["Name"] = "OOC X-Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] }, ["Author"] = "호불-아즈샤라", ["Desc"] = "Relocate Raidmark and Buff Special Frame OOC", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Name"] = "Relocate Frames OOC", ["semver"] = "", ["HooksTemp"] = { }, }, -- [32] }, ["last_news_time"] = 1564997989, ["cast_statusbar_fadeout_time"] = 0.15000000596046, ["aura_stack_size"] = 8, ["disable_omnicc_on_auras"] = true, ["aura_width"] = 20, ["aura_height2"] = 20, ["health_statusbar_bgcolor"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.5, -- [4] }, ["pet_width_scale"] = 0.89999997615814, ["aura_border_colors"] = { ["enrage"] = { 0.98823529411765, -- [1] 0.68627450980392, -- [2] 0.24313725490196, -- [3] }, ["steal_or_purge"] = { 0.2, -- [1] 0.6, -- [2] 1, -- [3] }, ["crowdcontrol"] = { 0.30196078431373, -- [1] }, ["is_show_all"] = { 0.93725490196078, -- [1] 0.16078431372549, -- [2] 0.16078431372549, -- [3] }, ["is_buff"] = { 0.54117647058824, -- [1] 0.88627450980392, -- [2] 0.20392156862745, -- [3] }, }, ["ui_parent_cast_strata"] = "LOW", ["script_auto_imported"] = { ["Cast - Small Alert"] = 4, ["Aura - Invalidate Unit"] = 1, ["Aura - Buff Alert"] = 4, ["Color Change"] = 1, ["Aura Border Color"] = 1, ["Cast - Very Important"] = 2, ["Explosion Affix M+"] = 3, ["Aura - Debuff Alert"] = 3, ["Unit Power"] = 1, ["Cast - Frontal Cone"] = 2, ["Fixate"] = 3, ["Aura - Blink Time Left"] = 1, ["Unit - Important"] = 5, ["Cast - Big Alert"] = 5, ["Fixate On You"] = 2, }, ["target_highlight_color"] = { 1, -- [1] 1, -- [2] 0.88235294117647, -- [3] }, ["extra_icon_anchor"] = { ["y"] = -6, ["x"] = 2, ["side"] = 2, }, ["extra_icon_wide_icon"] = false, ["ui_parent_buff2_strata"] = "LOW", ["resources"] = { ["y_offset_target_withauras"] = 0, ["y_offset"] = 52, ["y_offset_target"] = -36, ["scale"] = 0.64999997615814, }, ["click_space"] = { 116, -- [1] 32, -- [2] }, ["extra_icon_auras"] = { 81261, -- [1] "침묵의 인장", -- [2] }, ["aura2_grow_direction"] = 3, ["ui_parent_cast_level"] = 1, ["semver"] = "1.0.225", ["ui_parent_buff2_level"] = 1, ["aura_frame2_anchor"] = { ["y"] = 0, ["x"] = 3, ["side"] = 6, }, ["aura_alpha"] = 1, ["cast_statusbar_spark_texture"] = "Interface\\AddOns\\Plater\\images\\spark7", ["cast_statusbar_spark_color"] = { [3] = 0.7843137254902, }, ["aura_cooldown_edge_texture"] = "Interface\\Cooldown\\edge", ["extra_icon_height"] = 26, ["aura_x_offset"] = -12, ["first_run3"] = true, ["transparency_behavior"] = 3, ["debuff_show_cc_border"] = { 0, -- [1] 1, -- [2] 1, -- [3] }, ["ui_parent_buff_strata"] = "LOW", ["aura_stack_color"] = { [3] = 0, }, ["ui_parent_buff_level"] = 1, ["health_statusbar_bgtexture"] = "White", ["indicator_raidmark_anchor"] = { ["y"] = 1, ["x"] = 3, }, ["aura_show_enrage"] = true, ["health_statusbar_texture"] = "Reverso", ["hook_auto_imported"] = { ["Aura Reorder"] = 2, ["Targetting Alpha"] = 3, ["Dont Have Aura"] = 1, ["Players Targetting Amount"] = 4, ["Color Automation"] = 1, ["Bwonsamdi Reaping"] = 1, ["Attacking Specific Unit"] = 1, ["Jaina Encounter"] = 6, ["Blockade Encounter"] = 1, ["Cast Bar Icon Config"] = 2, ["Extra Border"] = 2, ["Combo Points"] = 3, ["Hide Neutral Units"] = 1, ["Target Color"] = 3, ["Execute Range"] = 1, ["Reorder Nameplate"] = 4, }, ["castbar_target_show"] = true, ["cast_statusbar_color"] = { nil, -- [1] 0.70196078431373, -- [2] nil, -- [3] 1, -- [4] }, ["update_throttle"] = 0.050000000745058, ["minor_width_scale"] = 0.79999995231628, ["color_override"] = false, ["castbar_target_text_size"] = 12, ["captured_spells"] = { [197277] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [306873] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Zan-Tien Raider", ["npcID"] = 153094, }, [93402] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [328136] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [269279] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [313663] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [227723] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [2580] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [268887] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [40120] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [203538] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [316814] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Heru", ["npcID"] = 0, }, [280433] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [194153] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [297034] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [24858] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [309666] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Onyx Warserpent", ["npcID"] = 153208, }, [188389] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Kashamani-Ghostlands", ["npcID"] = 0, }, [164812] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [287790] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [157228] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [298343] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [297162] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [268954] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [295367] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Kashamani-Ghostlands", ["npcID"] = 0, }, [335152] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [308188] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [295368] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [43308] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [164545] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [313571] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [78674] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [269239] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [318065] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [315161] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [164815] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [302917] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [317265] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [154797] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [853] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Svennx-TheMaelstrom", ["npcID"] = 0, }, [298836] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [309669] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Onyx Warserpent", ["npcID"] = 153208, }, [317859] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [192106] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Kyliora-Dragonblight", ["npcID"] = 0, }, [306870] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Zan-Tien Raider", ["npcID"] = 153094, }, [164547] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [307311] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Zan-Tien Caller", ["npcID"] = 153095, }, [270661] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Nowayout-TheMaelstrom", ["npcID"] = 0, }, [307303] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Zan-Tien Caller", ["npcID"] = 153095, }, [102560] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [190984] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [8921] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [295248] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [191034] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [303344] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "BUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [783] = { ["event"] = "SPELL_CAST_SUCCESS", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, [315176] = { ["event"] = "SPELL_AURA_APPLIED", ["type"] = "DEBUFF", ["source"] = "Lumie-Dragonblight", ["npcID"] = 0, }, }, ["aura_frame1_anchor"] = { ["y"] = 18, ["x"] = -12, }, ["indicator_extra_raidmark"] = false, ["aura_show_debuffs_personal"] = false, ["aura_timer_text_font"] = "[WoW] 기본 글꼴", ["ui_parent_base_strata"] = "LOW", ["not_affecting_combat_alpha"] = 1, ["aura_height"] = 20, ["non_targeted_alpha_enabled"] = true, ["use_health_animation"] = true, ["cast_statusbar_bgtexture"] = "White", ["aura2_x_offset"] = 3, ["target_indicator"] = "NONE", ["auto_toggle_stacking_enabled"] = true, ["target_shady_alpha"] = 0.19999998807907, ["aura_height_personal"] = 17, ["bossmod_icons_anchor"] = { ["y"] = 32, }, ["npc_colors"] = { ["153377"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135846"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135759"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["134389"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["131402"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["134388"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["155433"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["148894"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["162331"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["129758"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["133361"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["136549"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157365"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157254"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["150195"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["160249"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["159578"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["153335"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157256"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["151579"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["144311"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["137627"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["162306"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135169"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["161895"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["131009"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135764"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157366"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["130896"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["136330"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["134612"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["130436"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["148893"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["137103"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["138061"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["137713"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["162718"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["150547"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["127799"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["126023"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["138465"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135562"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["133685"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["153196"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["134390"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["137591"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["159514"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["159510"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["152703"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["130325"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["155645"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["151613"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157451"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["148716"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["155434"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135007"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["155432"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135761"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135765"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["135975"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["154685"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["158041"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["151581"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157486"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["120651"] = { false, -- [1] false, -- [2] "white", -- [3] }, ["157255"] = { false, -- [1] false, -- [2] "white", -- [3] }, }, ["color_override_colors"] = { [3] = { 1, -- [1] 0, -- [2] 0, -- [3] }, [4] = { 1, -- [1] 1, -- [2] 0, -- [3] }, [5] = { 0, -- [1] 1, -- [2] 0, -- [3] }, }, ["saved_cvars"] = { ["ShowClassColorInNameplate"] = "1", ["nameplateOverlapV"] = "1.8", ["ShowNamePlateLoseAggroFlash"] = "1", ["nameplateShowEnemyMinus"] = "1", ["nameplatePersonalShowAlways"] = "0", ["nameplateMotionSpeed"] = "0.05", ["nameplateShowSelf"] = "0", ["nameplateShowFriendlyTotems"] = "0", ["nameplatePersonalHideDelaySeconds"] = "0.2", ["nameplateShowFriendlyPets"] = "0", ["nameplateShowFriendlyNPCs"] = "1", ["nameplateSelectedScale"] = "1", ["nameplatePersonalShowInCombat"] = "1", ["nameplatePersonalShowWithTarget"] = "0", ["nameplateShowEnemyMinions"] = "0", ["nameplateShowAll"] = "1", ["nameplateResourceOnTarget"] = "0", ["nameplateMotion"] = "1", ["NamePlateHorizontalScale"] = "1", ["nameplateMinScale"] = "1", ["nameplateMaxDistance"] = "96", ["nameplateShowFriendlyMinions"] = "0", ["nameplateSelfScale"] = "0.5", ["nameplateSelfBottomInset"] = "0.2", ["nameplateSelfAlpha"] = "1", ["nameplateShowFriendlyGuardians"] = "0", ["nameplateOccludedAlphaMult"] = "1", ["nameplateOtherTopInset"] = "0.085", ["nameplateSelfTopInset"] = "0.5", ["nameplateGlobalScale"] = "0.5", ["NamePlateVerticalScale"] = "1", }, ["aura_border_colors_by_type"] = true, ["indicator_quest"] = false, ["login_counter"] = 328, ["version"] = 228, ["click_space_friendly"] = { 116, -- [1] 32, -- [2] }, ["castbar_target_font"] = "[WoW] 기본 글꼴", ["extra_icon_use_blizzard_border_color"] = false, ["indicator_faction"] = false, ["castbar_target_anchor"] = { ["side"] = 6, ["x"] = 2, }, ["range_check_health_bar_alpha"] = 0.8299999833107, ["range_check_alpha"] = 0.89999997615814, ["transparency_behavior_use_division"] = true, ["aura_stack_font"] = "[WoW] 기본 글꼴", ["patch_version"] = 12, ["no_spellname_length_limit"] = true, ["range_check_in_range_or_target_alpha"] = 1, ["aura_timer_text_size"] = 11, ["cast_statusbar_texture"] = "White", ["cast_statusbar_color_interrupted"] = { nil, -- [1] 0, -- [2] 0, -- [3] }, ["number_region_first_run"] = true, ["news_frame"] = { ["PlaterNewsFrame"] = { ["scale"] = 1, }, }, ["tap_denied_color"] = { 0.90196078431373, -- [1] 0.90196078431373, -- [2] 0.90196078431373, -- [3] 1, -- [4] }, ["target_highlight_height"] = 7, ["extra_icon_border_color"] = { 0.93725490196078, -- [1] 0.16078431372549, -- [2] 0.16078431372549, -- [3] }, ["aura_tracker"] = { ["buff_tracked"] = { ["270882"] = true, ["209859"] = true, }, ["buff_banned"] = { ["206150"] = true, ["61574"] = true, ["61573"] = true, }, ["debuff_tracked"] = { ["260066"] = true, ["268706"] = true, ["272905"] = true, ["278467"] = true, ["271867"] = true, ["265755"] = true, ["268931"] = true, ["312595"] = true, ["313228"] = true, ["268206"] = true, }, }, ["hide_friendly_castbars"] = true, ["OptionsPanelDB"] = { ["PlaterOptionsPanelFrame"] = { ["scale"] = 1, }, }, ["tank"] = { ["colors"] = { ["pulling_from_tank"] = { nil, -- [1] 0.62745098039216, -- [2] nil, -- [3] 1, -- [4] }, ["anothertank"] = { 0.72941176470588, -- [1] 0.91764705882353, -- [2] nil, -- [3] 1, -- [4] }, ["aggro"] = { 0, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["noaggro"] = { nil, -- [1] nil, -- [2] nil, -- [3] 1, -- [4] }, ["nocombat"] = { 0.25882352941176, -- [1] 0, -- [2] nil, -- [3] 1, -- [4] }, ["pulling"] = { nil, -- [1] nil, -- [2] nil, -- [3] 1, -- [4] }, }, }, ["auto_toggle_friendly"] = { ["arena"] = true, }, ["cast_statusbar_bgcolor"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.5, -- [4] }, ["dps"] = { ["colors"] = { ["aggro"] = { nil, -- [1] 0, -- [2] nil, -- [3] 1, -- [4] }, ["notontank"] = { 1, -- [1] 0.62745098039216, -- [2] 0, -- [3] 1, -- [4] }, ["noaggro"] = { 0, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["pulling"] = { nil, -- [1] 1, -- [2] nil, -- [3] 1, -- [4] }, }, }, ["aura_width2"] = 20, ["script_banned_user"] = { ["Player-205-059DE14B"] = true, }, ["color_lerp_speed"] = 13, ["aura_show_buffs_personal"] = true, ["pet_height_scale"] = 0.99999994039536, ["aura_timer_text_shadow_color"] = { nil, -- [1] nil, -- [2] nil, -- [3] 0, -- [4] }, ["extra_icon_show_purge_border"] = { 0.2, -- [1] 0.6, -- [2] }, ["auto_toggle_friendly_enabled"] = true, ["cast_statusbar_spark_width"] = 8, ["hover_highlight_alpha"] = 0.5, }, ["Pixel Perfect with M+ Npc Color and Scripts"] = { ["script_data"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1669325410, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 662, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 376851, -- [1] 396044, -- [2] 381517, -- [3] 373932, -- [4] 397801, -- [5] 208165, -- [6] 384194, -- [7] 392576, -- [8] 198750, -- [9] 387843, -- [10] 387411, -- [11] 211299, -- [12] 198595, -- [13] 198934, -- [14] 198962, -- [15] 156722, -- [16] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Small Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a small animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.6, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [5] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"gray\"\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --only change the nameplate color in combat\n if (InCombatLockdown()) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n\n\n", ["Time"] = 1541263726, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"gray\"\n \nend\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_invalid", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Revision"] = 108, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --only change the nameplate color in combat\n if (InCombatLockdown()) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n\n\n", ["Name"] = "Aura - Invalidate Unit [Plater]", ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Desc"] = "When an aura makes the unit invulnarable and you don't want to attack it. Add spell in the Add Trigger field.", ["SpellIds"] = { 261265, -- [1] 261266, -- [2] 271590, -- [3] }, ["Enabled"] = true, }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1669327144, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 632, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["NpcNames"] = { }, ["SpellIds"] = { 398151, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Aura - Buff Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", }, -- [3] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1670202618, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 798, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 373046, -- [1] 372863, -- [2] 164686, -- [3] 153072, -- [4] 153680, -- [5] 196497, -- [6] 388886, -- [7] 387145, -- [8] 384365, -- [9] 152964, -- [10] 398150, -- [11] 152801, -- [12] 397878, -- [13] 397914, -- [14] 183263, -- [15] 3636, -- [16] 376171, -- [17] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Very Important [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a big animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.8, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Name"] = "Shake Amplitude", ["Value"] = 5, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot X Offset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "yOffset", }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castBarColor, envTable)\nend", }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1669327144, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 368, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Aura - Debuff Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local movingArrowTexture = unitFrame._movingArrowTexture\n if (not movingArrowTexture) then\n movingArrowTexture = self:CreateTexture(nil, \"artwork\", nil, 6)\n unitFrame._movingArrowTexture = movingArrowTexture\n end\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (unitFrame._movingArrowTexture, \n function() \n unitFrame._movingArrowTexture:Show() \n unitFrame._movingArrowTexture:SetPoint(\"left\", 0, 0)\n end, \n function() unitFrame._movingArrowTexture:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n unitFrame._movingArrowTexture:SetAlpha(scriptTable.config.arrowAlpha)\n \n local percent = envTable.movingAnimation:GetProgress()\n \n if (percent < 0.4) then\n local value = Lerp(0.01, scriptTable.config.arrowAlpha, percent) or 0\n unitFrame._movingArrowTexture:SetAlpha(Saturate(value))\n \n elseif (percent > 0.6) then\n local value = Lerp(scriptTable.config.arrowAlpha, 0.01, percent) or 0\n unitFrame._movingArrowTexture:SetAlpha(Saturate(value))\n end\n \n --unitFrame._movingArrowTexture:SetAlpha(1)\n \n self.ThrottleUpdate = 0\nend", ["Time"] = 1670202265, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 620, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 375943, -- [1] 385958, -- [2] 388623, -- [3] 377034, -- [4] 374361, -- [5] 372107, -- [6] 381525, -- [7] 386660, -- [8] 385578, -- [9] 384699, -- [10] 153501, -- [11] 153686, -- [12] 154442, -- [13] 192018, -- [14] 219488, -- [15] 372087, -- [16] 391726, -- [17] 391723, -- [18] 377383, -- [19] 388976, -- [20] 370764, -- [21] 387067, -- [22] 391118, -- [23] 391136, -- [24] 382233, -- [25] 209027, -- [26] 212031, -- [27] 207261, -- [28] 207979, -- [29] 198888, -- [30] 199805, -- [31] 199050, -- [32] 191508, -- [33] 152792, -- [34] 153395, -- [35] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Frontal Cone [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.73, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "animSpeed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Animation Speed", }, -- [6] { ["Type"] = 4, ["Name"] = "Use White Arrow", ["Value"] = false, ["Key"] = "desaturateArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame._movingArrowTexture:SetTexture([[Interface\\PETBATTLES\\PetBattle-StatIcons]])\n unitFrame._movingArrowTexture:SetSize(16, self:GetHeight() - 2)\n unitFrame._movingArrowTexture:SetTexCoord(unpack({0, 15/32, 18/32, 30/32}))\n unitFrame._movingArrowTexture:SetAlpha(scriptTable.config.arrowAlpha)\n unitFrame._movingArrowTexture:SetDesaturated(scriptTable.config.desaturateArrow) \n \n unitFrame._movingArrowTexture:SetParent(self.FrameOverlay)\n unitFrame._movingArrowTexture:SetDrawLayer(\"overlay\", 7)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\n envTable.movingAnimation:Play()\nend\n\n\n", }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n--165560 = Gormling Larva - MTS\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n \n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n end \nend\n\n\n", ["Time"] = 1604239880, ["url"] = "", ["Icon"] = 1029718, ["Enabled"] = true, ["Revision"] = 269, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n\n\n\n\n", ["Desc"] = "Show above the nameplate who is the player fixated", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Fixate [Plater]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18);\nend\n\n--[=[\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount.text = \"\" .. UnitPower (unitId);\nend\n\n\n", ["Time"] = 1547158828, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18);\nend\n\n--[=[\n\n\n--]=]", ["Icon"] = 136048, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["Revision"] = 135, ["Author"] = "Celian-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount.text = \"\" .. UnitPower (unitId);\nend\n\n\n", ["Name"] = "UnitPower [Plater]", ["PlaterCore"] = 1, ["NpcNames"] = { "Guardian of Yogg-Saron", -- [1] }, ["Desc"] = "Show the energy amount above the nameplate", ["SpellIds"] = { }, ["Enabled"] = true, }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsShowingCastBarTest) then\n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n end\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1670203603, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1194, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 396640, -- [1] 372743, -- [2] 377389, -- [3] 396812, -- [4] 388392, -- [5] 387955, -- [6] 386546, -- [7] 377503, -- [8] 384808, -- [9] 386024, -- [10] 387615, -- [11] 387606, -- [12] 225100, -- [13] 211401, -- [14] 211470, -- [15] 215433, -- [16] 192563, -- [17] 198959, -- [18] 152818, -- [19] 156776, -- [20] 398206, -- [21] 153524, -- [22] 396073, -- [23] 396018, -- [24] 345202, -- [25] 377950, -- [26] 372223, -- [27] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Big Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Name"] = "Flash Duration", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (not Plater.IsShowingCastBarTest) then\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castbarColor, envTable)\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", }, -- [9] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [321891] = \"Freeze Tag Fixation\", --Illusionary Vulpin - MTS\n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604087921, ["url"] = "", ["Icon"] = 841383, ["Enabled"] = true, ["Revision"] = 266, ["semver"] = "", ["Author"] = "Tecno-Azralon", ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["NpcNames"] = { }, ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] }, ["PlaterCore"] = 1, ["Name"] = "Fixate On You [Plater]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", }, -- [10] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"pink\" \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n \nend\n\n\n", ["Time"] = 1541606626, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"pink\" \n \nend\n\n\n", ["Icon"] = "INTERFACE\\ICONS\\Achievement_PVP_P_01", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Revision"] = 45, ["Author"] = "抹了油的大叔-白银之手", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n \nend\n\n\n", ["Name"] = "NameplaterColor with Special Buff ID", ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Desc"] = "NameplaterColor with Special Buff ID", ["SpellIds"] = { 277242, -- [1] }, ["Enabled"] = false, }, -- [11] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to run the update as fast as the game framerate\n self.ThrottleUpdate = 0\n \n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\n \n local dotSpeed = abs(envTable._Duration - envTable._RemainingTime) + 1.5\n envTable.dotAnimation.textureInfo.speedMultiplier = dotSpeed\nend\n\n\n\n\n", ["Time"] = 1670201853, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 533, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["NpcNames"] = { }, ["SpellIds"] = { 240446, -- [1] 385339, -- [2] 198077, -- [3] 210261, -- [4] 360857, -- [5] 273577, -- [6] }, ["PlaterCore"] = 1, ["Name"] = "Explosion Affix M+ [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [1] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 1, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [6] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [7] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [8] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [11] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [13] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "Option 18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [14] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Nameplate Color", ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [15] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = false, ["Key"] = "useNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [16] { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.1843137294054031, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Health Bar Color", }, -- [17] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n Plater.SetCastBarColorForScript(self, true, scriptTable.config.castBarColor, envTable)\n \n if (scriptTable.config.useNameplateColor) then\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.healthBarColor)\n Plater.DenyColorChange(unitFrame, true)\n end \nend\n\n\n\n\n\n\n", }, -- [12] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings:\n do\n \n --change the nameplate color to this color\n --can use color names: \"red\", \"yellow\"\n --can use color hex: \"#FF0000\", \"#FFFF00\"\n --con use color table: {1, 0, 0}, {1, 1, 0}\n \n envTable.Color = \"green\"\n \n --if true, it'll replace the health info with the unit name\n envTable.ReplaceHealthWithName = false\n \n --use flash when the unit is shown in the screen\n envTable.FlashNameplate = true\n \n end\n \n --private:\n do\n --create a flash for when the unit if shown\n envTable.smallFlash = envTable.smallFlash or Plater.CreateFlash (unitFrame.healthBar, 0.15, 1, envTable.Color)\n \n end\n \nend\n\n--[=[\n\nNpc IDS:\n\n141851: Spawn of G'Huun on Mythic Dungeons\n\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --make plater refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallFlash:Stop()\n \nend\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can flash the nameplate\n if (envTable.FlashNameplate) then\n envTable.smallFlash:Play()\n end\n \nend\n\n\n\n\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --adjust the nameplate color\n Plater.SetNameplateColor (unitFrame, envTable.Color)\n \n --check if can replace the health amount with the unit name\n if (envTable.ReplaceHealthWithName) then\n \n local healthPercent = format (\"%.1f\", unitFrame.healthBar.CurrentHealth / unitFrame.healthBar.CurrentHealthMax *100)\n \n unitFrame.healthBar.lifePercent:SetText (unitFrame.namePlateUnitName .. \" (\" .. healthPercent .. \"%)\")\n \n end\n \nend\n\n\n", ["Time"] = 1548349253, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings:\n do\n \n --change the nameplate color to this color\n --can use color names: \"red\", \"yellow\"\n --can use color hex: \"#FF0000\", \"#FFFF00\"\n --con use color table: {1, 0, 0}, {1, 1, 0}\n \n envTable.Color = \"green\"\n \n --if true, it'll replace the health info with the unit name\n envTable.ReplaceHealthWithName = false\n \n --use flash when the unit is shown in the screen\n envTable.FlashNameplate = true\n \n end\n \n --private:\n do\n --create a flash for when the unit if shown\n envTable.smallFlash = envTable.smallFlash or Plater.CreateFlash (unitFrame.healthBar, 0.15, 1, envTable.Color)\n \n end\n \nend\n\n--[=[\n\nNpc IDS:\n\n141851: Spawn of G'Huun on Mythic Dungeons\n\n\n--]=]\n\n\n\n\n", ["Icon"] = 135024, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --make plater refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallFlash:Stop()\n \nend\n\n\n", ["Revision"] = 67, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can flash the nameplate\n if (envTable.FlashNameplate) then\n envTable.smallFlash:Play()\n end\n \nend\n\n\n\n\n\n\n\n\n", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --adjust the nameplate color\n Plater.SetNameplateColor (unitFrame, envTable.Color)\n \n --check if can replace the health amount with the unit name\n if (envTable.ReplaceHealthWithName) then\n \n local healthPercent = format (\"%.1f\", unitFrame.healthBar.CurrentHealth / unitFrame.healthBar.CurrentHealthMax *100)\n \n unitFrame.healthBar.lifePercent:SetText (unitFrame.namePlateUnitName .. \" (\" .. healthPercent .. \"%)\")\n \n end\n \nend\n\n\n", ["Name"] = "Color Change [Plater]", ["PlaterCore"] = 1, ["NpcNames"] = { "141851", -- [1] }, ["Desc"] = "Add a unitID or unit name in 'Add Trigger' entry. See the constructor script for options.", ["SpellIds"] = { }, ["Enabled"] = true, }, -- [13] { ["ConstructorCode"] = "--gray lines are comments and doesn't affect the code\n\n--1) add the aura you want by typing its name or spellID into the \"Add Trigger\" and click the \"Add\" button.\n--2) the border will use the default color set below, to a custom color type aura name and the color you want in the BorderColorByAura table.\n\nfunction (self, unitId, unitFrame, envTable)\n \n --default color if the aura name isn't found in the Color By Aura table below\n envTable.DefaultBorderColor = \"orange\"\n \n --transparency, affect all borders\n envTable.BorderAlpha = 1.0\n \n --add the aura name and the color, \n envTable.BorderColorByAura = {\n \n --examples:\n --[\"Aura Name\"] = \"yellow\", --using regular aura name | using the name of the color\n --[\"aura name\"] = \"#FFFF00\", --using lower case in the aura name |using html #hex for the color\n --[54214] = {1, 1, 0}, --using the spellID instead of the name | using rgb table (0 to 1) for the color\n --color table uses zero to one values: 255 = 1.0, 127 = 0.5, orange color = {1, 0.7, 0}\n \n --add your custom border colors below:\n \n [\"Aura Name\"] = {1, .5, 0}, --example to copy/paste\n \n }\n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the border color\n self:SetBackdropBorderColor (0, 0, 0, 0)\n \nend\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the aura name in lower case\n local auraLowerName = string.lower (envTable._SpellName)\n \n --attempt to get a custom color added by the user in the constructor script\n local hasCustomBorderColor = envTable.BorderColorByAura [auraLowerName] or envTable.BorderColorByAura [envTable._SpellName] or envTable.BorderColorByAura [envTable._SpellID]\n \n --save the custom color\n envTable.CustomBorderColor = hasCustomBorderColor\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the custom color added by the user or the default color\n local color = envTable.CustomBorderColor or envTable.DefaultBorderColor\n --parse the color since it can be a color name, hex or color table\n local r, g, b = DetailsFramework:ParseColors (color)\n \n --set the border color\n self:SetBackdropBorderColor (r, g, b, envTable.BorderAlpha)\n \nend\n\n\n\n\n", ["Time"] = 1547158827, ["Temp_ConstructorCode"] = "--gray lines are comments and doesn't affect the code\n\n--1) add the aura you want by typing its name or spellID into the \"Add Trigger\" and click the \"Add\" button.\n--2) the border will use the default color set below, to a custom color type aura name and the color you want in the BorderColorByAura table.\n\nfunction (self, unitId, unitFrame, envTable)\n \n --default color if the aura name isn't found in the Color By Aura table below\n envTable.DefaultBorderColor = \"orange\"\n \n --transparency, affect all borders\n envTable.BorderAlpha = 1.0\n \n --add the aura name and the color, \n envTable.BorderColorByAura = {\n \n --examples:\n --[\"Aura Name\"] = \"yellow\", --using regular aura name | using the name of the color\n --[\"aura name\"] = \"#FFFF00\", --using lower case in the aura name |using html #hex for the color\n --[54214] = {1, 1, 0}, --using the spellID instead of the name | using rgb table (0 to 1) for the color\n --color table uses zero to one values: 255 = 1.0, 127 = 0.5, orange color = {1, 0.7, 0}\n \n --add your custom border colors below:\n \n [\"Aura Name\"] = {1, .5, 0}, --example to copy/paste\n \n }\n \n \nend\n\n\n\n\n", ["Icon"] = 133006, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the border color\n self:SetBackdropBorderColor (0, 0, 0, 0)\n \nend\n\n\n", ["Revision"] = 46, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the aura name in lower case\n local auraLowerName = string.lower (envTable._SpellName)\n \n --attempt to get a custom color added by the user in the constructor script\n local hasCustomBorderColor = envTable.BorderColorByAura [auraLowerName] or envTable.BorderColorByAura [envTable._SpellName] or envTable.BorderColorByAura [envTable._SpellID]\n \n --save the custom color\n envTable.CustomBorderColor = hasCustomBorderColor\n \nend\n\n\n", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the custom color added by the user or the default color\n local color = envTable.CustomBorderColor or envTable.DefaultBorderColor\n --parse the color since it can be a color name, hex or color table\n local r, g, b = DetailsFramework:ParseColors (color)\n \n --set the border color\n self:SetBackdropBorderColor (r, g, b, envTable.BorderAlpha)\n \nend\n\n\n\n\n", ["Name"] = "Aura - Border Color [Plater]", ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Desc"] = "Add a border to an aura icon. Add the aura into the Add Trigger entry. You can customize the icon color at the constructor script.", ["SpellIds"] = { }, ["Enabled"] = false, }, -- [14] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n --if not envTable.blinkTexture then\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n --end\n \n envTable.glowEffect = envTable.glowEffect or self.overlay or Plater.CreateIconGlow (self)\n --envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1626382829, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 375, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Aura - Blink by Time Left [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = false, ["Name"] = "Change NamePlate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Key"] = "timeleftToBlink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Timeleft to Blink", }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Fraction"] = true, ["Value"] = 1, ["Key"] = "blinkSpeed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Blink Speed", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Key"] = "blinkMaxAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Blink Max Alpha", }, -- [9] { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Key"] = "timerColorEnabled", ["Value"] = true, ["Name"] = "Timer Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Warning", ["Value"] = 8, ["Key"] = "timeLeftWarning", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Critical", ["Value"] = 3, ["Key"] = "timeLeftCritical", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [15] { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", }, -- [15] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["OnHideCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", ["Temp_OnShowCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local isTanking = UnitDetailedThreatSituation (\"player\", unitId)\n if (not isTanking) then \n Plater.SetNameplateColor (unitFrame, \"pink\") \n end\n \nend\n\n\n\n\n", ["Time"] = 1550589160, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["NpcNames"] = { "surf darter", -- [1] }, ["Enabled"] = false, ["Revision"] = 5, ["Author"] = "Kastfall-Azralon", ["OnShowCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local isTanking = UnitDetailedThreatSituation (\"player\", unitId)\n if (not isTanking) then \n Plater.SetNameplateColor (unitFrame, \"pink\") \n end\n \nend\n\n\n\n\n", ["Name"] = "New Script", ["PlaterCore"] = 1, ["SpellIds"] = { }, ["Desc"] = "", ["Temp_OnHideCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", }, -- [16] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CastbarColor = \"orangered\"\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_BORDER_GLOW_ALPHA = 0 --0.3\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n envTable.CastBarHeightAdd = 1.5\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (self)\n envTable.glowEffect:SetOffset (-22, 20, 8, -11)\n envTable.glowEffect:SetAlpha (CONFIG_BORDER_GLOW_ALPHA)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+20, self:GetHeight()+30, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (self, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, true) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n envTable.glowEffect:Hide()\n \n envTable.BackgroundFlash:Stop()\n \n self:StopFrameShake (envTable.FrameShake) \n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetWidth (envTable.OriginalWidth)\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n envTable.OriginalWidth = nil\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n envTable.glowEffect:Show()\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n self:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n Plater.SetCastBarBorderColor (self, 1, 0, 0, 0.4)\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetWidth (envTable.OriginalWidth)\n self:SetHeight (envTable.OriginalHeight)\n end\n \n \n --increase the cast bar size\n envTable.OriginalHeight = self:GetHeight()\n envTable.OriginalWidth = self:GetWidth()\n local width = Plater.db.profile.plate_config.enemynpc.cast_incombat[1]\n local height = Plater.db.profile.plate_config.enemynpc.cast_incombat[2]\n \n self:SetWidth (width)\n self:SetHeight (height * envTable.CastBarHeightAdd)\n \n print (envTable.glowEffect:GetAlpha())\n \nend", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1548957952, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CastbarColor = \"orangered\"\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_BORDER_GLOW_ALPHA = 0 --0.3\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n envTable.CastBarHeightAdd = 1.5\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (self)\n envTable.glowEffect:SetOffset (-22, 20, 8, -11)\n envTable.glowEffect:SetAlpha (CONFIG_BORDER_GLOW_ALPHA)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+20, self:GetHeight()+30, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (self, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, true) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", ["Icon"] = "INTERFACE\\ICONS\\Spell_Fire_FelFlameStrike", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n envTable.glowEffect:Hide()\n \n envTable.BackgroundFlash:Stop()\n \n self:StopFrameShake (envTable.FrameShake) \n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetWidth (envTable.OriginalWidth)\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n envTable.OriginalWidth = nil\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Revision"] = 1382, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n envTable.glowEffect:Show()\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n self:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n Plater.SetCastBarBorderColor (self, 1, 0, 0, 0.4)\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetWidth (envTable.OriginalWidth)\n self:SetHeight (envTable.OriginalHeight)\n end\n \n \n --increase the cast bar size\n envTable.OriginalHeight = self:GetHeight()\n envTable.OriginalWidth = self:GetWidth()\n local width = Plater.db.profile.plate_config.enemynpc.cast_incombat[1]\n local height = Plater.db.profile.plate_config.enemynpc.cast_incombat[2]\n \n self:SetWidth (width)\n self:SetHeight (height * envTable.CastBarHeightAdd)\n \n print (envTable.glowEffect:GetAlpha())\n \nend", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "M+ Important Spells [Plater]", ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["SpellIds"] = { 258153, -- [1] 258313, -- [2] 274569, -- [3] 278020, -- [4] 261635, -- [5] 272700, -- [6] 268030, -- [7] 265368, -- [8] 264520, -- [9] 265407, -- [10] 278567, -- [11] 278602, -- [12] 258128, -- [13] 257791, -- [14] 258938, -- [15] 265089, -- [16] 272183, -- [17] 256060, -- [18] 257397, -- [19] 269972, -- [20] 270901, -- [21] 270492, -- [22] 263215, -- [23] 268797, -- [24] 262554, -- [25] 253517, -- [26] 255041, -- [27] 252781, -- [28] 250368, -- [29] 258777, -- [30] 278504, -- [31] 266106, -- [32] 257732, -- [33] 268309, -- [34] 269302, -- [35] 263202, -- [36] 257784, -- [37] 278755, -- [38] 272180, -- [39] 263066, -- [40] 267273, -- [41] 265912, -- [42] 274438, -- [43] 268317, -- [44] 268375, -- [45] 276767, -- [46] 264105, -- [47] 265876, -- [48] 270464, -- [49] 278961, -- [50] 265468, -- [51] 256897, -- [52] 280604, -- [53] 268702, -- [54] 255824, -- [55] 253583, -- [56] 250096, -- [57] 278456, -- [58] 262092, -- [59] 257270, -- [60] 267818, -- [61] 265091, -- [62] 262540, -- [63] 263318, -- [64] 263959, -- [65] 257069, -- [66] 256849, -- [67] 267459, -- [68] 253544, -- [69] 268008, -- [70] 267981, -- [71] 272659, -- [72] 264396, -- [73] 257736, -- [74] 264390, -- [75] 255952, -- [76] 257426, -- [77] 274400, -- [78] 272609, -- [79] 269843, -- [80] 269029, -- [81] 272827, -- [82] 269266, -- [83] 263912, -- [84] 264923, -- [85] 258864, -- [86] 256955, -- [87] 265540, -- [88] 260793, -- [89] 270003, -- [90] 270507, -- [91] 257337, -- [92] 268415, -- [93] 275907, -- [94] 268865, -- [95] 260669, -- [96] 260280, -- [97] 253239, -- [98] 265541, -- [99] 250258, -- [100] 256709, -- [101] 277596, -- [102] 276268, -- [103] 265372, -- [104] 263905, -- [105] 265781, -- [106] 257170, -- [107] 268846, -- [108] 270514, -- [109] 258622, -- [110] 258199, -- [111] 256627, -- [112] 257870, -- [113] 259711, -- [114] 258917, -- [115] 263891, -- [116] 268027, -- [117] 268348, -- [118] 269313, -- [119] 272711, -- [120] 271174, -- [121] 268260, -- [122] 269399, -- [123] 268239, -- [124] 264574, -- [125] 261563, -- [126] 257288, -- [127] 257757, -- [128] 267899, -- [129] 255741, -- [130] 264757, -- [131] 260894, -- [132] 263365, -- [133] 260292, -- [134] 263583, -- [135] 276292, -- [136] 272874, -- [137] 264101, -- [138] 264407, -- [139] 271456, -- [140] 262515, -- [141] 275192, -- [142] 256405, -- [143] 270084, -- [144] 257785, -- [145] 267237, -- [146] 266951, -- [147] 267433, -- [148] 255577, -- [149] 255371, -- [150] 270891, -- [151] 267357, -- [152] 258338, -- [153] 257169, -- [154] 270927, -- [155] 273995, -- [156] 260926, -- [157] 264027, -- [158] 267257, -- [159] 253721, -- [160] 265019, -- [161] 260924, -- [162] 263309, -- [163] 266206, -- [164] 268187, -- [165] 260067, -- [166] 274507, -- [167] 276068, -- [168] 263278, -- [169] 258317, -- [170] 256594, -- [171] 268391, -- [172] 268230, -- [173] 260852, -- [174] 267763, -- [175] 268706, -- [176] 264734, -- [177] 288693, -- [178] 288694, -- [179] 270590, -- [180] 290787, -- [181] 72286, -- [182] }, ["Enabled"] = false, }, -- [17] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --custom frames\n unitFrame.JadeFireGlowEffect = unitFrame.JadeFireGlowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n unitFrame.JadeFireGlowEffect:SetOffset (-27, 25, 6, -8)\n unitFrame.JadeFireGlowEffect:Hide()\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.JadeFireGlowEffect:Hide() \nend\n\n\n", ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.JadeFireGlowEffect:Show() \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.JadeFireGlowEffect:SetAlpha (.5)\nend\n\n\n", ["Time"] = 1550596124, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --custom frames\n unitFrame.JadeFireGlowEffect = unitFrame.JadeFireGlowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n unitFrame.JadeFireGlowEffect:SetOffset (-27, 25, 6, -8)\n unitFrame.JadeFireGlowEffect:Hide()\n \nend\n\n\n", ["Icon"] = 132221, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.JadeFireGlowEffect:Hide() \nend\n\n\n", ["Revision"] = 33, ["Author"] = "Kastfall-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.JadeFireGlowEffect:Show() \nend\n\n\n", ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.JadeFireGlowEffect:SetAlpha (.5)\nend\n\n\n", ["Name"] = "Jadefire [BOD] - Fire Shield", ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Desc"] = "Alert when the unit has the Fire Shield to be broken.", ["SpellIds"] = { 286425, -- [1] }, ["Enabled"] = true, }, -- [18] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1670203758, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1213, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Cast - Alert + Timer [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Cast start animation settings", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [11] { ["Type"] = 7, ["Key"] = "timerList", ["Value"] = { }, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castbarColor, envTable)\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [19] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1670790652, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 694, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n else\n envTable.topArrow:Hide()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, customColor or scriptTable.config.castBarColor, envTable)\n \n if (scriptTable.config.useNameplateColor) then\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.healthBarColor) \n Plater.DenyColorChange(unitFrame, true) \n end\n \nend", ["SpellIds"] = { 383823, -- [1] 382670, -- [2] 388537, -- [3] 372851, -- [4] 200682, -- [5] 192307, -- [6] 196838, -- [7] 193827, -- [8] 194043, -- [9] 209410, -- [10] 211464, -- [11] 361180, -- [12] 156718, -- [13] 395859, -- [14] 358320, -- [15] 374045, -- [16] 386757, -- [17] 367500, -- [18] 370225, -- [19] 376200, -- [20] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [5] { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [6] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above Use Cast Bar Color", }, -- [8] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.168627455830574, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast Bar Color", }, -- [9] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [12] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Key"] = "arrowAlpha", ["Value"] = 0.5, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [13] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [14] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Key"] = "arrowHeight", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [15] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [16] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [17] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [18] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Key"] = "xOffset", ["Value"] = 4, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [19] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [20] { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "200682", -- [1] "darkslateblue", -- [2] }, -- [1] { "192307", -- [1] "goldenrod", -- [2] }, -- [2] { "196838", -- [1] "maroon", -- [2] }, -- [3] { "193827", -- [1] "darkgreen", -- [2] }, -- [4] { "194043", -- [1] "darkgreen", -- [2] }, -- [5] { "156718", -- [1] "DRUID", -- [2] }, -- [6] { "395859", -- [1] "ROGUE", -- [2] }, -- [7] }, ["Name"] = "Color List by SpellId", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the spellId in the Key, and the color name in the Value", }, -- [21] }, ["version"] = -1, ["Name"] = "Cast - Ultra Important [P]", ["NpcNames"] = { }, }, -- [20] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --create a texture to use for a flash behind the cast bar\n \n if (not unitFrame.backGroundFlashTextureImpTarget) then\n unitFrame.backGroundFlashTextureImpTarget = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n end\n \n local backGroundFlashTexture = unitFrame.backGroundFlashTextureImpTarget\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n --create the target unit name box\n if (not unitFrame.targetBox) then\n unitFrame.targetBox = CreateFrame(\"frame\", unitFrame:GetName() .. \"ScriptImportantTarget\", unitFrame, \"BackdropTemplate\")\n unitFrame.targetBox:SetSize(80, 20)\n unitFrame.targetBox:SetFrameStrata(\"TOOLTIP\")\n unitFrame.targetBox:Hide()\n unitFrame.targetBox:SetPoint(\"left\", unitFrame, \"right\", 0, 0)\n \n unitFrame.targetBox:SetBackdrop({edgeFile = [[Interface\\Buttons\\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\\AddOns\\Details\\images\\background]], tile = true, tileSize = 16})\n unitFrame.targetBox:SetBackdropColor(.2, .2, .2, .8)\n unitFrame.targetBox:SetBackdropBorderColor(0, 0, 0, 1)\n \n unitFrame.targetBoxName = unitFrame.targetBox:CreateFontString(nil, \"artwork\", \"GameFontNormal\")\n unitFrame.targetBoxName:SetPoint(\"center\")\n end\n \n function envTable.UpdateTargetBox(unitFrame, unitId)\n local targetUnitId = unitId .. \"target\"\n local unitName = UnitName(targetUnitId)\n \n if (unitName) then\n if (scriptTable.config.colorByClass) then\n Plater:SetFontColor(unitFrame.targetBoxName, \"white\")\n unitName = Plater.SetTextColorByClass(targetUnitId, unitName)\n else\n Plater:SetFontColor(unitFrame.targetBoxName, scriptTable.config.textColor)\n end\n \n unitFrame.targetBoxName:SetText(unitName)\n Plater:SetFontSize(unitFrame.targetBoxName, scriptTable.config.targetNameSize)\n unitFrame.targetBox:SetBackdropColor(Plater:ParseColors(scriptTable.config.targetBgColor))\n unitFrame.targetBox:SetBackdropBorderColor(Plater:ParseColors(scriptTable.config.targetBgBorderColor))\n unitFrame.targetBox:Show()\n \n unitFrame.targetBox:SetWidth(scriptTable.config.targetFrameWidth)\n unitFrame.targetBox:SetHeight(scriptTable.config.targetFrameHeight)\n \n if (not Plater.HasDotAnimationPlaying(unitFrame.targetBox)) then\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.targetBox, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n end\n \n unitFrame.backGroundFlashTextureImpTarget:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n \n return true\n \n end\n end\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.targetBox, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \n unitFrame.targetBox:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.UpdateTargetBox(unitFrame, unitId) \n \nend\n\n\n", ["Time"] = 1669339628, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_target", ["Enabled"] = true, ["Revision"] = 878, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight the target name", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Cast - Important Target [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shows the target name in a separate box", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Name"] = "Shake Amplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] { ["Type"] = 6, ["Name"] = "Option 27", ["Value"] = 0, ["Key"] = "option27", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [27] { ["Type"] = 5, ["Name"] = "Option 28", ["Value"] = "Target Options", ["Key"] = "option28", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [28] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 14, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetNameSize", }, -- [29] { ["Type"] = 4, ["Name"] = "Use Class Color", ["Value"] = true, ["Key"] = "colorByClass", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [30] { ["Type"] = 1, ["Name"] = "Text Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "textColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [31] { ["Type"] = 1, ["Name"] = "Background Color", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.9846720322966576, -- [4] }, ["Key"] = "targetBgColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [32] { ["Type"] = 1, ["Name"] = "Border Color", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "targetBgBorderColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [33] { ["Type"] = 2, ["Max"] = 160, ["Desc"] = "", ["Min"] = 30, ["Name"] = "Frame Width", ["Value"] = 90, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetFrameWidth", }, -- [34] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Key"] = "targetFrameHeight", ["Value"] = 20, ["Name"] = "Frame Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [35] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable.UpdateTargetBox(unitFrame, unitId)) then\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \n end\n \nend\n\n\n\n\n\n\n", }, -- [21] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n local unitPowerBar = unitFrame.powerBar\n unitPowerBar:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then\n return \n end\n \n local continuationToken\n local slots\n local foundAura = false\n \n repeat \n slots = { UnitAuraSlots(unitId, \"HELPFUL\", BUFF_MAX_DISPLAY, continuationToken) }\n continuationToken = slots[1]\n numSlots = #slots\n \n for i = 2, numSlots do\n local slot = slots[i]\n local name, texture, count, actualAuraType, duration, expirationTime, caster, canStealOrPurge, nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, isCastByPlayer, nameplateShowAll, timeMod, auraAmount = UnitAuraBySlot(unitId, slot) \n \n if (spellId == envTable._SpellID) then --need to get the trigger spellId\n --Ablative Shield\n local unitPowerBar = unitFrame.powerBar\n if (not unitPowerBar:IsShown()) then\n unitPowerBar:SetUnit(unitId)\n end\n \n foundAura = true\n return\n end\n end\n \n until continuationToken == nil\n \n if (not foundAura) then\n local unitPowerBar = unitFrame.powerBar\n if (unitPowerBar:IsShown()) then\n unitPowerBar:Hide()\n end\n end\nend", ["Time"] = 1669327146, ["url"] = "", ["Icon"] = 610472, ["Enabled"] = true, ["Revision"] = 65, ["semver"] = "", ["Author"] = "Keyspell-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Show power bar where its value is the buff value (usualy shown in the buff tooltip)", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Aura is Shield [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", }, -- [22] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (not unitFrame.spitefulTexture) then\n unitFrame.spitefulTexture = unitFrame.healthBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.spitefulTexture:SetPoint('right', 0, 0)\n unitFrame.spitefulTexture:SetSize(27, 14)\n unitFrame.spitefulTexture:SetColorTexture(.3, .3, 1, .7)\n \n unitFrame.spitefulText = unitFrame.healthBar:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6)\n DetailsFramework:SetFontFace (unitFrame.spitefulText, \"2002\")\n unitFrame.spitefulText:SetPoint(\"right\", unitFrame.spitefulTexture, \"right\", -2, 0)\n unitFrame.spitefulText:SetJustifyH(\"right\")\n \n unitFrame.roleIcon = unitFrame:CreateTexture(nil, \"overlay\")\n unitFrame.roleIcon:SetPoint(\"left\", unitFrame.healthBar, \"left\", 2, 0)\n unitFrame.targetName = unitFrame:CreateFontString(nil, \"overlay\", \"GameFontNormal\")\n unitFrame.targetName:SetPoint(\"left\", unitFrame.roleIcon, \"right\", 2, 0)\n \n unitFrame.spitefulTexture:Hide()\n unitFrame.spitefulText:Hide()\n end\n \n function envTable.UpdateSpitefulWidget(unitFrame)\n \n local r, g, b, a = Plater:ParseColors(scriptTable.config.bgColor)\n unitFrame.spitefulTexture:SetColorTexture(r, g, b, a)\n unitFrame.spitefulTexture:SetSize(scriptTable.config.bgWidth, unitFrame.healthBar:GetHeight()) \n Plater:SetFontSize(unitFrame.spitefulText, scriptTable.config.textSize)\n Plater:SetFontColor(unitFrame.spitefulText, scriptTable.config.textColor)\n \n local currentHealth = unitFrame.healthBar.CurrentHealth\n local maxHealth = unitFrame.healthBar.CurrentHealthMax\n \n local healthPercent = currentHealth / maxHealth * 100\n local timeToDie = format(\"%.1fs\", healthPercent / 8)\n unitFrame.spitefulText:SetText(timeToDie)\n \n unitFrame.spitefulText:Show()\n unitFrame.spitefulTexture:Show()\n \n if scriptTable.config.switchTargetName then\n local plateFrame = unitFrame.PlateFrame\n \n local target = UnitName(unitFrame.namePlateUnitToken .. \"target\") or UnitName(unitFrame.namePlateUnitToken)\n \n if (target and target ~= \"\") then\n local _, class = UnitClass(unitFrame.namePlateUnitToken .. \"target\")\n if (class) then\n target = DetailsFramework:AddClassColorToText(target, class)\n end\n \n local role = UnitGroupRolesAssigned(unitFrame.namePlateUnitToken .. \"target\")\n if (role and role ~= \"NONE\") then\n target = DetailsFramework:AddRoleIconToText(target, role)\n end\n \n plateFrame.namePlateUnitName = target\n Plater.UpdateUnitName(plateFrame)\n end\n end\n \n if scriptTable.config.useTargetingColor then\n local targeted = UnitIsUnit(unitFrame.namePlateUnitToken .. \"target\", \"player\")\n if targeted then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.targetingColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\n end\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n if (unitFrame.spitefulTexture) then\n unitFrame.spitefulText:Hide()\n unitFrame.spitefulTexture:Hide() \n unitFrame.roleIcon:Hide()\n unitFrame.targetName:Hide()\n end\nend\n\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["Time"] = 1611844883, ["url"] = "", ["Icon"] = 135945, ["Enabled"] = true, ["Revision"] = 186, ["semver"] = "", ["Author"] = "Symantec-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Time to die Spiteful affix", ["NpcNames"] = { "174773", -- [1] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "M+ Spiteful", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Time to Die", ["Name"] = "Time to Die", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "", ["Min"] = 10, ["Key"] = "bgWidth", ["Value"] = 27, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Width", }, -- [2] { ["Type"] = 1, ["Key"] = "bgColor", ["Value"] = { 0.5058823529411764, -- [1] 0.07058823529411765, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 24, ["Desc"] = "", ["Min"] = 7, ["Key"] = "textSize", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Text Size", }, -- [4] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option11", ["Value"] = "Targeting", ["Name"] = "Targeting", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Target instead of Name", ["Value"] = true, ["Key"] = "switchTargetName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Name"] = "Change Color if targeting You", ["Value"] = true, ["Key"] = "useTargetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [9] { ["Type"] = 1, ["Name"] = "Color if targeting You", ["Value"] = { 0.07058823529411765, -- [1] 0.6196078431372549, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "targetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [10] { ["Type"] = 6, ["Key"] = "option11", ["Value"] = 0, ["Name"] = "Option 11", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [11] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", }, -- [23] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18); \n \n envTable.EnergyAmount.fontsize = scriptTable.config.fontSize\n envTable.EnergyAmount.fontcolor = scriptTable.config.fontColor\n envTable.EnergyAmount.outline = scriptTable.config.outline\n \n \nend\n\n--[=[\n\n164406 = Shriekwing\n164407 = Sludgefist\n162100 = kryxis the voracious\n162099 = general kaal - sanguine depths\n162329 = Xav the Unfallen - threater of pain\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local currentPower = UnitPower(unitId)\n \n if (currentPower and currentPower > 0) then\n local maxPower = UnitPowerMax (unitId)\n local percent = floor (currentPower / maxPower * 100)\n \n envTable.EnergyAmount.text = \"\" .. percent;\n \n if (scriptTable.config.showLater) then\n local alpha = (percent -80) * 5\n alpha = alpha / 100\n alpha = max(0, alpha)\n envTable.EnergyAmount:SetAlpha(alpha)\n \n else\n envTable.EnergyAmount:SetAlpha(1.0)\n end\n \n \n else\n envTable.EnergyAmount.text = \"\"\n end\nend\n\n\n\n\n\n\n\n\n", ["Time"] = 1604357453, ["url"] = "", ["Icon"] = 136048, ["Enabled"] = true, ["Revision"] = 233, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show the energy amount above the nameplate.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Unit - Show Energy [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Show the power of the unit above the nameplate.", ["Name"] = "script desc", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "add trigger", ["Value"] = "Add the unit name or unitId in the \"Add Trigger\" field and press \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "showLater", ["Value"] = true, ["Name"] = "Show at 80% of Energy", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the energy won't start showing until the unit has 80% energy.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 2", ["Value"] = 0, ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Text size.", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 16, ["Key"] = "fontSize", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [7] { ["Type"] = 1, ["Key"] = "fontColor", ["Value"] = { 0.803921568627451, -- [1] 0.803921568627451, -- [2] 0.803921568627451, -- [3] 1, -- [4] }, ["Name"] = "Font Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the text.", }, -- [8] { ["Type"] = 4, ["Key"] = "outline", ["Value"] = true, ["Name"] = "Enable Text Outline", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the text uses outline.", }, -- [9] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", }, -- [24] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.npcInfo = {\n [164427] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"1\", name = \"Boom!\"}, --reanimated warrior - plaguefall\n \n [164414] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"2\", name = \"Boom!\"}, --reanimated mage - plaguefall\n \n [164185] = {secondCastBar = true, timer = 20, timerId = 319941, altCastId = \"3\", remaining = 5, name = GetSpellInfo(319941)}, --Echelon - Halls of Atonement\n \n [164567] = {secondCastBar = true, altCastId = \"dromanswrath\", debuffTimer = 323059, name = GetSpellInfo(323059), spellIcon = 323059}, --Ingra Maloch -- tirna scythe\n \n [165408] = {secondCastBar = true, timer = 20, timerId = 322711, altCastId = \"4\", remaining = 5, name = GetSpellInfo(322711)}, --Halkias - Refracted Sinlight - Halls of Atonement\n \n \n --[154564] = {secondCastBar = true, timerId = \"Test Bar\", altCastId = \"debugcast\", remaining = 5, name = GetSpellInfo(319941), spellIcon = 319941}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n --[154580] = {secondCastBar = true, altCastId = \"debugcast\", debuffTimer = 204242, name = GetSpellInfo(81297), spellIcon = 81297}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n }\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end\n \n DetailsFramework:TruncateText(unitFrame.castBar2.Text, unitFrame.castBar2:GetWidth() - 16)\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\nend", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId ~= npcInfo.altCastId or not unitFrame.castBar2:IsShown()) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end \n \n elseif (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n --get the debuff timeleft\n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n local startTime = expirationTime - duration\n \n if (not unitFrame.castBar2:IsShown() or unitFrame.castBar2.spellStartTime < startTime) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, startTime)\n end\n \n else \n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604354364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\Images\\countdown_bar_icon", ["Enabled"] = true, ["Revision"] = 206, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Some units has special events without a clear way to show. This script adds a second cast bar to inform the user about it.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Countdown", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n \n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, expirationTime-duration)\n else\n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n else\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, -- [25] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (UnitIsUnit(unitId .. \"target\", \"player\")) then\n Plater.SetNameplateColor(unitFrame, scriptTable.config.nameplateColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1668886509, ["url"] = "", ["Icon"] = "Interface\\ICONS\\Ability_Fixated_State_Red", ["Enabled"] = true, ["Revision"] = 33, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Alert about a unit fixated on the player by using a buff on the enemy unit.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Fixate by Unit Buff [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0, -- [1] 0.5568627450980392, -- [2] 0.03529411764705882, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Change the enemy nameplate color to this color when fixating you!", }, -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", }, -- [26] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, 20 do --max amount of segments is 20\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.felAnimation and unitFrame.felAnimation.Textures) then\n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n if (texture) then\n texture:Hide()\n end\n end\n end\n \n if (unitFrame.felAnimation and unitFrame.felAnimation.textureStretched) then\n local textureStretched = unitFrame.felAnimation.textureStretched\n if (textureStretched) then\n textureStretched:Hide()\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n if (not envTable.NextPercent) then\n return\n end\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then --eeror here, compare with nil\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\n \nend", ["Time"] = 1671311518, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 511, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n Plater.SetCastBarColorForScript(self, true, customColor or scriptTable.config.castBarColor, envTable)\nend\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { 376644, -- [1] 373017, -- [2] 386781, -- [3] 384823, -- [4] 372735, -- [5] 385536, -- [6] 392398, -- [7] 375596, -- [8] 387135, -- [9] 209033, -- [10] 360850, -- [11] 212784, -- [12] 207980, -- [13] 199033, -- [14] 199034, -- [15] 200969, -- [16] 394512, -- [17] 397881, -- [18] 396020, -- [19] 374430, -- [20] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Key"] = "segmentsAmount", ["Value"] = 7, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Amount of Segments", }, -- [1] { ["Type"] = 1, ["Name"] = "Spark Color", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Key"] = "sparkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 7, ["Name"] = "Cast Color by SpellID", ["Value"] = { { "385536", -- [1] "maroon", -- [2] }, -- [1] { "198750", -- [1] "midnightblue", -- [2] }, -- [2] { "360850", -- [1] "lime", -- [2] }, -- [3] { "212784", -- [1] "deepskyblue", -- [2] }, -- [4] { "207980", -- [1] "midnightblue", -- [2] }, -- [5] { "199033", -- [1] "gold", -- [2] }, -- [6] { "199034", -- [1] "gold", -- [2] }, -- [7] { "200969", -- [1] "orange", -- [2] }, -- [8] { "394512", -- [1] "indigo", -- [2] }, -- [9] { "397881", -- [1] "deepskyblue", -- [2] }, -- [10] { "396020", -- [1] "khaki", -- [2] }, -- [11] }, ["Key"] = "castColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the Spell ID in the to Key and a color name into the Value", }, -- [4] }, ["version"] = -1, ["Name"] = "Cast - Glowing [P]", ["NpcNames"] = { }, }, -- [27] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n --check for marks\n function envTable.CheckMark (unitId, unitFrame)\n if (not GetRaidTargetIndex(unitId)) then\n if (scriptTable.config.onlyInCombat) then\n if (not UnitAffectingCombat(unitId)) then\n return\n end \n end\n \n SetRaidTarget(unitId, 8)\n end \n end\nend\n\n\n--163520 - forsworn squad-leader\n--163618 - zolramus necromancer - The Necrotic Wake\n--164506 - anciet captain - theater of pain\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n", ["Time"] = 1604696441, ["url"] = "", ["Icon"] = "Interface\\Worldmap\\GlowSkull_64Grey", ["Enabled"] = false, ["Revision"] = 63, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Auto set skull marker", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Auto Set Skull", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Auto set a raid target Skull on the unit.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "onlyInCombat", ["Value"] = false, ["Name"] = "Only in Combat", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Set the mark only if the unit is in combat.", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, -- [28] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n --set the castbar config\n envTable.configAltCastBar = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end \n \n \n end\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable._SpellID == 191284) then\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 4.70, GetTime(), 191284)\n \n C_Timer.After(4.75, function()\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 5.30, GetTime(), 191284)\n end)\n \n C_Timer.After(4.75 + 5.30, function()\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 4.30, GetTime(), 191284)\n C_Timer.After(4.50, function() unitFrame.castBar2:Hide() end)\n end)\n end\n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1671066705, ["url"] = "", ["Icon"] = 134229, ["Enabled"] = true, ["Revision"] = 37, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Start extra cast bars for effects after the cast is done. Setup the effect on On Hide script.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["SpellIds"] = { 191284, -- [1] }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Cast - Effect After Cast [P]", ["NpcNames"] = { }, }, -- [29] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n function envTable.PlaySwipeAnimation(unitFrame)\n unitFrame.CastSwipeTexture:Show()\n unitFrame.CastSwipeAnimation:Play()\n unitFrame.StartSwipeAnimation:Play()\n end\n \n function envTable.StopSwipeAnimation(unitFrame)\n unitFrame.EndSwipeAnimation:Play()\n C_Timer.After(0.21, function()\n unitFrame.CastSwipeAnimation:Stop()\n unitFrame.CastSwipeTexture:Hide()\n end)\n end\n \n function envTable.CreateSwipeTextureAndAnimations(unitFrame)\n if (unitFrame.CastSwipeTexture) then\n return\n end\n \n local swipeTexture = unitFrame:CreateTexture(nil, \"overlay\")\n swipeTexture:SetTexture([[Interface\\AddOns\\Plater\\images\\circular_swipe]])\n swipeTexture:SetPoint(\"center\", 0, 0)\n swipeTexture:SetSize(64, 64)\n swipeTexture:Hide()\n \n unitFrame.CastSwipeTexture = swipeTexture\n \n --rotation animation\n unitFrame.CastSwipeAnimation = Plater:CreateAnimationHub(swipeTexture)\n unitFrame.CastSwipeAnimation:SetLooping(\"repeat\")\n unitFrame.CastSwipeAnimation.Rotation = Plater:CreateAnimation(unitFrame.CastSwipeAnimation, \"rotation\", 1, 1, 360)\n \n --starting animation\n unitFrame.StartSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, function()swipeTexture:Show() end)\n unitFrame.StartSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"alpha\", 1, 0.2, 0, 1)\n unitFrame.StartSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"scale\", 1, 0.2, 1.3, 1.3, 1, 1) \n \n --finished animation\n unitFrame.EndSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, nil, function()swipeTexture:Hide() end)\n unitFrame.EndSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"alpha\", 1, 0.2, 1, 0)\n unitFrame.EndSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"scale\", 1, 0.2, 1, 1, 1.3, 1.3)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.StopSwipeAnimation(unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["Time"] = 1670428019, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\circular_swipe", ["Enabled"] = true, ["Revision"] = 162, ["semver"] = "", ["Author"] = "Butazzul-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Play a animation when the spell effect is an circular AoE around the caster.", ["NpcNames"] = { }, ["SpellIds"] = { 385916, -- [1] 386063, -- [2] 388822, -- [3] 373087, -- [4] 397785, -- [5] 106864, -- [6] 193660, -- [7] 198263, -- [8] 387910, -- [9] 370766, -- [10] 375591, -- [11] 384336, -- [12] 209404, -- [13] 209378, -- [14] 210875, -- [15] 396001, -- [16] 397899, -- [17] 386559, -- [18] 382555, -- [19] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Circle AoE [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 0.3, ["Desc"] = "Rotation Duration", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.15, ["Name"] = "Rotation Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "rotationDuration", }, -- [1] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 2, ["Max"] = 1.5, ["Desc"] = "Animation Start Duration", ["Min"] = 0, ["Name"] = "Animation Start Duration", ["Value"] = 0.3, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animStartDuration", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha when the animation start playing, this effect in intended to catch the player attention", ["Min"] = 0, ["Key"] = "textureStartAlpha", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Start Alpha", }, -- [4] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "Texture Scale", ["Min"] = 0.6, ["Fraction"] = true, ["Value"] = 0.8, ["Name"] = "Texture Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "textureScale", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Texture Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "textureAlpha", }, -- [7] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.CreateSwipeTextureAndAnimations(unitFrame)\n \n local options = scriptTable.config\n \n local targetScale = scriptTable.config.textureScale\n \n --swipe rotation duration \n unitFrame.CastSwipeAnimation.Rotation:SetDuration(scriptTable.config.rotationDuration)\n \n --swipe texture settings\n unitFrame.CastSwipeTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.textureColor))\n unitFrame.CastSwipeTexture:SetScale(targetScale)\n unitFrame.CastSwipeTexture:SetAlpha(scriptTable.config.textureAlpha) \n \n unitFrame.StartSwipeAnimation.Alpha:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Alpha:SetFromAlpha(scriptTable.config.textureStartAlpha)\n unitFrame.StartSwipeAnimation.Alpha:SetToAlpha(scriptTable.config.textureAlpha)\n \n unitFrame.StartSwipeAnimation.Scale:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Scale:SetScaleTo(targetScale, targetScale)\n \n unitFrame.EndSwipeAnimation.Scale:SetDuration(0.1)\n unitFrame.EndSwipeAnimation.Alpha:SetDuration(0.1)\n \n --start playing\n envTable.PlaySwipeAnimation(unitFrame) \n \nend\n\n\n", }, -- [30] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.lifePercent = { --dragonflight\n [197697] = {50}, --Flamegullet\n [59544] = {50}, --The Nodding Tiger\n \n }\n \n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker and unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1669340967, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 137, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["NpcNames"] = { "197697", -- [1] "59544", -- [2] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Health Markers [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "indicatorColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Vertical Line Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Name"] = "Vertical Line Alpha", ["Value"] = 0.79, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Name"] = "Fill Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "fillColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "fillAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", }, -- [31] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n196548 = ancient branch (academy dungeon)\n195580, 195821, 195820 = nokhub saboteur\n189886 = blazebound firestorm\n75966 = Defiled Spirit\n102019 = Stormforged Obliterator\n 187159 = Shrieking Whelp\n194897 = stormsurge totem\n104251 = duskwatch sentry\n101326 = honored ancestor\n189669 = binding speakl netharius\n192464 = raging ember neltharius\n--]=]\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1670423785, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 572, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color and highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["NpcNames"] = { "196548", -- [1] "195580", -- [2] "195820", -- [3] "195821", -- [4] "189886", -- [5] "75966", -- [6] "102019", -- [7] "187159", -- [8] "194897", -- [9] "104251", -- [10] "101326", -- [11] "189669", -- [12] "192464", -- [13] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Important [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Name"] = "Nameplate Size Offset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "nameplateSizeOffset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137255072593689, -- [2] 0, -- [3] 0.5631310641765594, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Dot Color", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Extra Texture", ["Name"] = "Extra Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Extra Texture", }, -- [10] { ["Type"] = 4, ["Name"] = "Show Extra Texture", ["Value"] = false, ["Key"] = "showExtraTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Extra Texture", }, -- [11] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Texture Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [12] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Alpha", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullAlpha", }, -- [13] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "Scale", ["Min"] = 0.4, ["Name"] = "Scale", ["Value"] = 0.6, ["Key"] = "skullScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 7, ["Name"] = "Npc Color By NpcID", ["Value"] = { { "196548", -- [1] "forestgreen", -- [2] }, -- [1] { "195580", -- [1] "forestgreen", -- [2] }, -- [2] { "195820", -- [1] "forestgreen", -- [2] }, -- [3] { "195821", -- [1] "forestgreen", -- [2] }, -- [4] { "189886", -- [1] "forestgreen", -- [2] }, -- [5] { "75966", -- [1] "forestgreen", -- [2] }, -- [6] { "102019 ", -- [1] "forestgreen", -- [2] }, -- [7] { "187159", -- [1] "forestgreen", -- [2] }, -- [8] { "194897", -- [1] "forestgreen", -- [2] }, -- [9] { "104251", -- [1] "forestgreen", -- [2] }, -- [10] }, ["Key"] = "npcColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the npcID, value is the color name", }, -- [15] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\n \n --color priority:\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.nameplateColor) \n \n if (scriptTable.config.showExtraTexture) then\n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/x_64]])\n unitFrame.UnitImportantSkullTexture:ClearAllPoints()\n unitFrame.UnitImportantSkullTexture:SetPoint(\"right\", unitFrame.healthBar, \"left\", -2, 0)\n unitFrame.UnitImportantSkullTexture:SetSize(28, 28)\n unitFrame.UnitImportantSkullTexture:Show()\n else\n unitFrame.UnitImportantSkullTexture:Hide()\n end\n \n --rules for some npcs\n if (envTable._NpcID == 194895) then --unstable squall (explode at dying\n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n end\n \n if (scriptTable.config.changeNameplateColor) then\n local npcIdString = tostring(envTable._NpcID)\n \n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.nameplateColor) \n \n Plater.DenyColorChange(unitFrame, true)\n end\n \nend\n\n\n\n\n", }, -- [32] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.AddSpawnIDTexture) then\n unitFrame.AddSpawnIDTexture:Hide()\n unitFrame.AddIcon:Hide()\n unitFrame.AddNumber:Hide()\n end\n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1669340442, ["url"] = "", ["Icon"] = "interface/addons/plater/images/add_id_icon", ["Enabled"] = false, ["Revision"] = 161, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n \n scriptTable.allAdds = {} \n scriptTable.nextAddWave = 0\n scriptTable.waveTime = 20\n \n function scriptTable.ArrangeNpcNumbers(GUID)\n local spawnId = select(7, strsplit (\"-\", GUID))\n spawnId = tonumber(spawnId, 16)\n \n if (spawnId) then\n --check if this is a new wave of adds\n if (GetTime() > scriptTable.nextAddWave) then\n scriptTable.nextAddWave = GetTime() + scriptTable.waveTime\n scriptTable.allAdds = {}\n end\n \n local bIsAlreadyOnTheList = false\n \n for o = 1, #scriptTable.allAdds do\n if (scriptTable.allAdds[o][1] == GUID) then\n bIsAlreadyOnTheList = true\n end\n end\n \n if (not bIsAlreadyOnTheList) then\n scriptTable.allAdds[#scriptTable.allAdds+1] = {GUID, spawnId}\n end\n end\n \n table.sort(scriptTable.allAdds, function(t1, t2) return t1[2] < t2[2] end)\n \n --this is a \"loop\" because this is running each time a nameplate is added!\n \n for namePlateIndex, plateFrame in ipairs(Plater.GetAllShownPlates()) do\n local unitFrame = plateFrame.unitFrame\n \n --get the unit GUID\n local unitGUID = unitFrame.namePlateUnitGUID\n \n for addId = 1, #scriptTable.allAdds do\n local addTable = scriptTable.allAdds[addId]\n local addGUID = addTable[1]\n \n if (unitGUID == addGUID) then\n scriptTable.TagNameplate(unitFrame, unitGUID, addId)\n break\n end\n end\n \n end\n end\n \n function scriptTable.TagNameplate(unitFrame, GUID, addId)\n scriptTable.CreateAddWidgetsForNameplate(unitFrame, GUID, addId)\n \n if (addId and addId >= 1 and addId <= 8) then\n unitFrame.AddSpawnIDTexture:Show()\n unitFrame.AddIcon:Show()\n unitFrame.AddNumber:Show()\n \n local addTexture = \"Interface\\\\TargetingFrame\\\\UI-RaidTargetingIcon_\" .. addId\n \n unitFrame.AddIcon:SetTexture(addTexture)\n unitFrame.AddNumber:SetText(addId)\n end\n end\n \n function scriptTable.CreateAddWidgetsForNameplate(unitFrame, GUID, addId)\n if (not unitFrame.AddSpawnIDTexture) then\n local healthBar = unitFrame.healthBar\n \n local textureBackground = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 5)\n local addIcon = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 6)\n local addNumber = healthBar.FrameOverlay:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6) \n \n unitFrame.AddSpawnIDTexture = textureBackground\n unitFrame.AddIcon = addIcon\n unitFrame.AddNumber = addNumber\n end\n end \nend\n\n--Creature-0-2085-1-11042-153285-0002F8DB2B --training dummy for testing\n--195138 Detonating Crystal\n--192955 dracomoc illusion\n--190294 nokhub stormcaster\n--76518 ritual of bones\n\n\n\n\n", ["Desc"] = "Put a number above multiples adds, numbers follow their respawn id.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.AddSpawnIDTexture) then\n unitFrame.AddSpawnIDTexture:Hide()\n unitFrame.AddIcon:Hide()\n unitFrame.AddNumber:Hide()\n end\n \n scriptTable.ArrangeNpcNumbers(unitFrame.namePlateUnitGUID)\n \n local textureBackground = unitFrame.AddSpawnIDTexture\n textureBackground:SetSize(22, 10)\n textureBackground:ClearAllPoints()\n textureBackground:SetPoint(\"bottomright\", unitFrame.healthBar, \"topright\", 0, 1)\n \n textureBackground:SetMask([[Interface\\AddOns\\Plater\\masks\\mask_smallrectangle_rounded1]])\n textureBackground:SetTexture([[Interface\\AddOns\\Plater\\masks\\mask_smallrectangle_rounded1]])\n textureBackground:SetVertexColor(0.1215, 0.1176, 0.1294, 1)\n \n \n --textureBackground:SetMask([[Interface/ChatFrame/UI-ChatIcon-HotS]])\n -- \"Interface/ChatFrame/UI-ChatIcon-HotS\"\n \n local addIcon = unitFrame.AddIcon\n addIcon:ClearAllPoints()\n addIcon:SetPoint(\"left\", textureBackground, \"left\", 2, 0)\n addIcon:SetSize(10, 10)\n \n local addNumber = unitFrame.AddNumber\n addNumber:ClearAllPoints()\n addNumber:SetPoint(\"right\", textureBackground, \"right\", -2, 0)\n DetailsFramework:SetFontSize(addNumber, 10)\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Add - Tag Number [P]", ["NpcNames"] = { "195138", -- [1] "192955", -- [2] "190294", -- [3] "76518", -- [4] }, }, -- [33] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669324381, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_quickflash.tga", ["Enabled"] = true, ["Revision"] = 887, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Play a very fast flash when the cast start", ["NpcNames"] = { }, ["SpellIds"] = { 392640, -- [1] 397888, -- [2] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Quick Flash [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable but fast effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 0, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.1, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Name"] = "Shake Amplitude", ["Value"] = 25, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 30, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castBarColor, envTable)\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [34] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n--190187 draconic image\n--189893 infused whelp\n--99922 Ebonclaw Packmate\n--104822 flames of woe", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.DenyColorChange(unitFrame, false)\n unitFrame.onShowAddToKillFlash:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\nend\n\n\n\n\n", ["Time"] = 1670427654, ["url"] = "", ["Icon"] = "interface/addons/plater/media/exclamation_64", ["Enabled"] = true, ["Revision"] = 162, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color of add", ["NpcNames"] = { "190187", -- [1] "189893", -- [2] "99922", -- [3] "104822", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Warning [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [1] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0.4392157196998596, -- [2] 0.458823561668396, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [2] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Flash Nameplate", ["Value"] = true, ["Key"] = "useFlash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Flash Nameplate", }, -- [4] { ["Type"] = 7, ["Name"] = "NpcID to Color", ["Value"] = { { "189893", -- [1] "olivedrab", -- [2] }, -- [1] { "190187", -- [1] "olivedrab", -- [2] }, -- [2] { "99922", -- [1] "olivedrab", -- [2] }, -- [3] { "153285", -- [1] "olivedrab", -- [2] }, -- [4] { "104822", -- [1] "olivedrab", -- [2] }, -- [5] }, ["Key"] = "npcColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "If the npc isn't on this list, use the default color set in the Health Bar Color", }, -- [5] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n unitFrame.onShowAddToKillFlash = unitFrame.onShowAddToKillFlash or Plater.CreateFlash (unitFrame.healthBar, 0.25, 1, \"white\")\n \n if (scriptTable.config.useFlash) then\n unitFrame.onShowAddToKillFlash:Play()\n end\n \n if (scriptTable.config.useNameplateColor) then\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.healthBarColor)\n Plater.DenyColorChange(unitFrame, true)\n end\nend\n\n\n\n\n\n\n\n\n\n", }, -- [35] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n\n--Scorchling 194622\n--Scorchling 190205\n--197398 Hungry Lasher\n--77006 corpse skitterling\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --restoring and color state and scale even if disabled, maybe the player disabled during the combat\n Plater.DenyColorChange(unitFrame, false)\n unitFrame.healthBar:SetScale(unitFrame.healthBar._savedOriginalScale)\n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n", ["Time"] = 1670427838, ["url"] = "", ["Icon"] = "interface/addons/plater/media/duck_64", ["Enabled"] = true, ["Revision"] = 111, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "", ["NpcNames"] = { "194622", -- [1] "190205", -- [2] "197398", -- [3] "77006", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Non Elite Trash [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = false, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [1] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0.062745101749897, -- [1] 0.062745101749897, -- [2] 0.0941176563501358, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Scale", ["Value"] = true, ["Key"] = "useNameplateScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Scale", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Nameplate Scale", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.8, ["Key"] = "scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Scale", }, -- [5] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.useNameplateColor) then\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.nameplateColor)\n Plater.DenyColorChange(unitFrame, true)\n end \n \n unitFrame.healthBar._savedOriginalScale = unitFrame.healthBar:GetScale()\n \n if (scriptTable.config.useNameplateScale) then\n unitFrame.healthBar:SetScale(scriptTable.config.scale)\n end\n \nend\n\n\n\n\n", }, -- [36] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n \n if (not healthBar.absorbBar) then\n healthBar.absorbBar = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\")\n healthBar.absorbBar:SetTexture([[Interface\\RaidFrame\\Shield-Fill]])\n healthBar.absorbBar:Hide()\n end\n \n if (not healthBar.absorbSpark) then\n healthBar.absorbSpark = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\")\n healthBar.absorbSpark:SetTexture([[Interface\\CastingBar\\UI-CastingBar-Spark]])\n healthBar.absorbSpark:SetBlendMode(\"ADD\")\n healthBar.absorbSpark:Hide()\n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not UnitGetTotalAbsorbs) then\n return\n end\n \n local healthBar = unitFrame.healthBar\n \n healthBar.absorbBar:Hide() \n healthBar.absorbSpark:Hide()\n \nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not UnitGetTotalAbsorbs) then\n return\n end\n \n local healthBar = unitFrame.healthBar\n \n healthBar.absorbBar:Show()\n healthBar.absorbSpark:Show()\n \n local maxValue = healthBar.absorbBar.MaxValue\n local currentValue = UnitGetTotalAbsorbs(unitId) or 0\n \n if (currentValue > 0) then\n local minValue = 0\n \n local percent = currentValue / maxValue\n healthBar.absorbBar:SetTexCoord(0, percent, 0, 1)\n healthBar.absorbBar:SetWidth(percent * healthBar:GetWidth())\n \n healthBar.absorbSpark:SetPoint(\"left\", healthBar, \"left\", percent * healthBar:GetWidth() - 16, 0)\n \n else\n healthBar.absorbBar:Hide() \n healthBar.absorbSpark:Hide()\n end\n \n self.ThrottleUpdate = 0\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1669325411, ["url"] = "", ["Icon"] = "interface/addons/plater/images/cast_bar - absorb", ["Enabled"] = true, ["Revision"] = 101, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "When the caster has a shield and only when the shield is removed the cast can be interrupted", ["NpcNames"] = { }, ["SpellIds"] = { 373688, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Shield Interrupt [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (not UnitGetTotalAbsorbs) then\n return\n end\n \n local healthBar = unitFrame.healthBar\n \n healthBar.absorbBar:Show()\n healthBar.absorbSpark:Show()\n \n healthBar.absorbBar:SetTexture([[Interface\\RaidFrame\\Shield-Fill]])\n \n healthBar.absorbBar:ClearAllPoints() \n healthBar.absorbBar:SetPoint(\"topleft\", healthBar, \"topleft\", 0, 0)\n healthBar.absorbBar:SetPoint(\"bottomleft\", healthBar, \"bottomleft\", 0, 0)\n \n healthBar.absorbBar:SetAlpha(1)\n \n healthBar.absorbBar.MaxValue = UnitGetTotalAbsorbs(unitId) or 0\n healthBar.absorbBar.MinValue = 0\nend\n\n\n", }, -- [37] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.stopCastingX) then\n unitFrame.stopCastingX = castBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 7)\n unitFrame.stopCastingX:SetPoint(\"center\", unitFrame.castBar.Spark, \"center\", 0, 0)\n unitFrame.stopCastingX:SetTexture([[Interface\\AddOns\\Plater\\Media\\stop_64]])\n unitFrame.stopCastingX:SetSize(16, 16)\n unitFrame.stopCastingX:Hide()\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n unitFrame.stopCastingX:Hide()\n \n self.Text:SetDrawLayer(\"overlay\", 0)\n self.Spark:SetDrawLayer(\"overlay\", 3)\n self.Spark:Show()\n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\n \nend", ["Time"] = 1670202019, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\stop_64", ["Enabled"] = true, ["Revision"] = 468, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Just stop casting", ["NpcNames"] = { }, ["SpellIds"] = { 377004, -- [1] 381516, -- [2] 196543, -- [3] 199726, -- [4] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Stop Casting [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Name"] = "Amount of Segments", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "segmentsAmount", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n unitFrame.stopCastingX:Show()\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n self.Text:SetDrawLayer(\"artwork\", 7)\n self.Spark:SetDrawLayer(\"artwork\", 7)\n self.Spark:Hide()\nend\n\n\n\n\n\n\n\n\n", }, -- [38] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n function envTable.CreateWidgets()\n --create a camera shake for the nameplate\n if (not unitFrame.AddExplosionOnDieShake) then\n unitFrame.AddExplosionOnDieShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n end\n \n if (not unitFrame.AddExplosionOnDieBackground) then\n unitFrame.AddExplosionOnDieBackground = unitFrame.healthBar:CreateTexture(nil, \"background\")\n unitFrame.AddExplosionOnDieBackground:SetAllPoints(unitFrame.healthBar)\n unitFrame.AddExplosionOnDieBackground:SetColorTexture(1, 0, 0, 1)\n end\n end\n \nend\n\n--194895 = unstable squall\n--105703 = mana wyrm\n--59598 = lesser sha\n--58319 = lesser sha\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n healthBar:SetReverseFill(false)\n \n if (unitFrame.AddExplosionOnDieShake) then\n unitFrame:StopFrameShake (unitFrame.AddExplosionOnDieShake) \n end\n \n if (unitFrame.AddExplosionOnDieBackground) then\n unitFrame.AddExplosionOnDieBackground:Hide()\n end\nend\n\n\n\n\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable._HealthPercent < 50) then\n local alpha = DetailsFramework:MapRangeClamped(0, 50, 0.5, 0, envTable._HealthPercent)\n \n unitFrame.AddExplosionOnDieBackground:SetAlpha(alpha)\n else\n unitFrame.AddExplosionOnDieBackground:SetAlpha(0)\n end\n \n if (envTable._HealthPercent < 15 and scriptTable.config.useShake) then\n local shakeAmpliture = DetailsFramework:MapRangeClamped(0.001, 15, 10, 1, envTable._HealthPercent)\n \n unitFrame.AddExplosionOnDieShake.OriginalAmplitude = scriptTable.config.shakeAmplitude * shakeAmpliture\n unitFrame.AddExplosionOnDieShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n unitFrame:PlayFrameShake (unitFrame.AddExplosionOnDieShake)\n end\n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1669340350, ["url"] = "", ["Icon"] = "interface/addons/plater/media/radio_64", ["Enabled"] = true, ["Revision"] = 106, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "", ["NpcNames"] = { "194895", -- [1] "105703", -- [2] "59598", -- [3] "58319", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Explode on Die [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useReverse", ["Value"] = false, ["Name"] = "Reverse Health Bar", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option6", ["Value"] = 0, ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "useShake", ["Value"] = false, ["Name"] = "Enable Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "How strong is the shake.", ["Min"] = 0.05, ["Key"] = "shakeAmplitude", ["Value"] = 0.2, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [4] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 70, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "useBackground", ["Value"] = true, ["Name"] = "Show Red Background", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Red Background", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n \n if (scriptTable.config.useReverse) then\n healthBar:SetReverseFill(true)\n end\n \n --unitFrame.AddExplosionOnDieShake\n \n envTable.CreateWidgets()\n \n unitFrame.AddExplosionOnDieShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n unitFrame.AddExplosionOnDieShake.OriginalDuration = 0.120\n unitFrame.AddExplosionOnDieShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n if (scriptTable.config.useBackground) then\n unitFrame.AddExplosionOnDieBackground:Show()\n unitFrame.AddExplosionOnDieBackground:SetAlpha(0)\n else\n unitFrame.AddExplosionOnDieBackground:Hide()\n end\nend\n\n\n\n\n\n\n", }, -- [39] }, ["saved_cvars_last_change"] = { ["ShowClassColorInNameplate"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateOverlapV"] = "Interface/AddOns/Plater/Plater.lua:2062", ["ShowNamePlateLoseAggroFlash"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowEnemyMinus"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowFriendlyTotems"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplatePersonalHideDelaySeconds"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowFriendlyPets"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplatePersonalShowInCombat"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplatePersonalShowWithTarget"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateMinAlpha"] = "Interface/AddOns/Plater/Plater.lua:4436", ["nameplateResourceOnTarget"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowAll"] = "Interface/AddOns/ScreenPlus/ScreenPlus.lua:683", ["nameplateMaxDistance"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowFriendlyMinions"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateSelfScale"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowEnemies"] = "[string \"=[C]\"]: ?\n[string \"=[C]\"]: ?\n[string \"=[C]\"]: in function `SetCVar'\n[string \"@Interface/SharedXML/CvarUtil.lua\"]:67: in function `SetValue'\n[string \"@Interface/SharedXML/Settings/Blizzard_Setting.lua\"]:179: in function `SetValueInternal'\n[string \"@Interface/SharedXML/Settings/Blizzard_Setting.lua\"]:67: in function `SetValue'\n[string \"@Interface/SharedXML/Settings/Blizzard_Settings.lua\"]:209: in function `SetValue'\n[string \"NAMEPLATES\"]:6: in function <[string \"NAMEPLATES\"]:1>\n", ["NamePlateVerticalScale"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateSelectedAlpha"] = "Interface/AddOns/Plater/Plater.lua:4438", ["nameplateShowSelf"] = "Interface/AddOns/ScreenPlus/ScreenPlus.lua:683", ["nameplateSelfTopInset"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateMotionSpeed"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateGlobalScale"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowEnemyMinions"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowFriendlyNPCs"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateSelectedScale"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateMinAlphaDistance"] = "Interface/AddOns/Plater/Plater.lua:4437", ["nameplateMotion"] = "Interface/AddOns/Plater/Plater_OptionsPanel.lua:6816", ["nameplateMinScale"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateOtherTopInset"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateSelfBottomInset"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateShowFriendlyGuardians"] = "Interface/AddOns/Plater/Plater.lua:2062", ["NamePlateHorizontalScale"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateOccludedAlphaMult"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplateSelfAlpha"] = "Interface/AddOns/Plater/Plater.lua:2062", ["nameplatePersonalShowAlways"] = "Interface/AddOns/Plater/Plater.lua:2062", }, ["url"] = "https://wago.io/g-jp-v2zw/5", ["cast_statusbar_fadein_time"] = 0.02081192471087, ["indicator_raidmark_scale"] = 0.69999998807907, ["aura2_y_offset"] = 15.9, ["aura_timer_text_anchor"] = { ["y"] = -7, ["x"] = -1, ["side"] = 1, }, ["buffs_on_aura2"] = true, ["expansion_triggerwipe"] = { [8] = true, [9] = true, }, ["cast_statusbar_color_nointerrupt"] = { 0.49411764705882, -- [1] 0.49803921568628, -- [2] 0.50196078431373, -- [3] 0.96000000089407, -- [4] }, ["npc_cache"] = { [200126] = { "Fallen Waterspeaker", -- [1] "Temple of the Jade Serpent", -- [2] }, [194241] = { "Vile Rothexer", -- [1] "Brackenhide Hollow", -- [2] }, [190403] = { "Glacial Proto-Dragon", -- [1] "Halls of Infusion", -- [2] }, [195265] = { "Stormcaller Arynga", -- [1] "The Nokhud Offensive", -- [2] }, [183495] = { "Twisted Worldeater", -- [1] "Sepulcher of the First Ones", -- [2] }, [190404] = { "Subterranean Proto-Dragon", -- [1] "Halls of Infusion", -- [2] }, [135903] = { "Manifestation of the Deep", -- [1] "Shrine of the Storm", -- [2] }, [183496] = { "Foul Gorger", -- [1] "Sepulcher of the First Ones", -- [2] }, [155094] = { "Mechagon Trooper", -- [1] "Operation: Mechagon", -- [2] }, [190405] = { "Infuser Sariya", -- [1] "Halls of Infusion", -- [2] }, [133345] = { "Feckless Assistant", -- [1] "The MOTHERLODE!!", -- [2] }, [185032] = { "Taskmaster Xy'pro", -- [1] "Sepulcher of the First Ones", -- [2] }, [136160] = { "King Dazar", -- [1] "Kings' Rest", -- [2] }, [183497] = { "Foul Controller", -- [1] "Sepulcher of the First Ones", -- [2] }, [190406] = { "Aqualing", -- [1] "Halls of Infusion", -- [2] }, [183498] = { "Illicit Collector", -- [1] "Sepulcher of the First Ones", -- [2] }, [196548] = { "Ancient Branch", -- [1] "Algeth'ar Academy", -- [2] }, [180428] = { "Tortured Soul", -- [1] "Sanctum of Domination", -- [2] }, [138465] = { "Ashvane Cannoneer", -- [1] "Siege of Boralus", -- [2] }, [200131] = { "Sha-Touched Guardian", -- [1] "Temple of the Jade Serpent", -- [2] }, [200387] = { "Shambling Infester", -- [1] "Temple of the Jade Serpent", -- [2] }, [180429] = { "Adorned Starseer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [201155] = { "Nascent Proto-Dragon", -- [1] "Vault of the Incarnates", -- [2] }, [183500] = { "Thieveing Agent", -- [1] "Sepulcher of the First Ones", -- [2] }, [200388] = { "Malformed Sha", -- [1] "Temple of the Jade Serpent", -- [2] }, [183501] = { "Artificer Xy'mox", -- [1] "Sepulcher of the First Ones", -- [2] }, [134629] = { "Scaled Krolusk Rider", -- [1] "Temple of Sethraliss", -- [2] }, [141282] = { "Kul Tiran Footman", -- [1] "Siege of Boralus", -- [2] }, [151773] = { "Junkyard D.0.G.", -- [1] "Operation: Mechagon", -- [2] }, [197831] = { "Quarry Stonebreaker", -- [1] "Vault of the Incarnates", -- [2] }, [141283] = { "Kul Tiran Halberd", -- [1] "Siege of Boralus", -- [2] }, [180432] = { "Devoted Accomplice", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [190923] = { "Zephyrling", -- [1] "Halls of Infusion", -- [2] }, [136934] = { "Weapons Tester", -- [1] "The MOTHERLODE!!", -- [2] }, [141284] = { "Kul Tiran Wavetender", -- [1] "Siege of Boralus", -- [2] }, [180433] = { "Wandering Pulsar", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [131817] = { "Cragmaw the Infested", -- [1] "The Underrot", -- [2] }, [102019] = { "Stormforged Obliterator", -- [1] "Halls of Valor", -- [2] }, [189901] = { "Warlord Sargha", -- [1] "Neltharus", -- [2] }, [141285] = { "Kul Tiran Marksman", -- [1] "Siege of Boralus", -- [2] }, [170199] = { "Harnessed Specter", -- [1] "Castle Nathria", -- [2] }, [131818] = { "Marked Sister", -- [1] "Waycrest Manor", -- [2] }, [129526] = { "Bilge Rat Swabby", -- [1] "Freehold", -- [2] }, [196043] = { "Primalist Infuser", -- [1] "Halls of Infusion", -- [2] }, [178388] = { "Bazaar Strongarm", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [152033] = { "Inconspicuous Plant", -- [1] "Operation: Mechagon", -- [2] }, [131819] = { "Coven Diviner", -- [1] "Waycrest Manor", -- [2] }, [197835] = { "Kaurdyth", -- [1] "Vault of the Incarnates", -- [2] }, [196044] = { "Unruly Textbook", -- [1] "Algeth'ar Academy", -- [2] }, [184018] = { "Bromach", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [178133] = { "Murkbrine Wavejumper", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184530] = { "Eternal Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [59598] = { "Lesser Sha", -- [1] "Temple of the Jade Serpent", -- [2] }, [129527] = { "Bilge Rat Buccaneer", -- [1] "Freehold", -- [2] }, [59726] = { "Peril", -- [1] "Temple of the Jade Serpent", -- [2] }, [196045] = { "Corrupted Manafiend", -- [1] "Algeth'ar Academy", -- [2] }, [184019] = { "Burly Rock-Thrower", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [101637] = { "Valarjar Aspirant", -- [1] "Halls of Valor", -- [2] }, [184020] = { "Hulking Berserker", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [126969] = { "Trothak", -- [1] "Freehold", -- [2] }, [168156] = { "Remornia", -- [1] "Castle Nathria", -- [2] }, [196559] = { "Volatile Sapling", -- [1] "The Azure Vault", -- [2] }, [178392] = { "Gatewarden Zo'mazz", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [133870] = { "Diseased Lasher", -- [1] "The Underrot", -- [2] }, [184022] = { "Stonevault Geomancer", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [135406] = { "Animated Gold", -- [1] "Kings' Rest", -- [2] }, [131824] = { "Sister Solena", -- [1] "Waycrest Manor", -- [2] }, [129529] = { "Blacktooth Scrapper", -- [1] "Freehold", -- [2] }, [173276] = { "Stone Legion Commando", -- [1] "Castle Nathria", -- [2] }, [184023] = { "Vicious Basilisk", -- [1] "Kalimdor", -- [2] }, [178394] = { "Cartel Lackey", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184791] = { "Inner Hatred", -- [1] "Sepulcher of the First Ones", -- [2] }, [131825] = { "Sister Briar", -- [1] "Waycrest Manor", -- [2] }, [178139] = { "Murkbrine Shellcrusher", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [133361] = { "Wasting Servant", -- [1] "Waycrest Manor", -- [2] }, [150249] = { "Pistonhead Scrapper", -- [1] "Operation: Mechagon", -- [2] }, [176605] = { "Caynadin", -- [1] "Sanctum of Domination", -- [2] }, [150250] = { "Pistonhead Blaster", -- [1] "Operation: Mechagon", -- [2] }, [177117] = { "Orb of Torment", -- [1] "Sanctum of Domination", -- [2] }, [178141] = { "Murkbrine Scalebinder", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [137713] = { "Big Money Crab", -- [1] "The MOTHERLODE!!", -- [2] }, [150251] = { "Pistonhead Mechanic", -- [1] "Operation: Mechagon", -- [2] }, [173280] = { "Stone Legion Skirmisher", -- [1] "Castle Nathria", -- [2] }, [178142] = { "Murkbrine Fishmancer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184539] = { "Automated Eliminator", -- [1] "Sepulcher of the First Ones", -- [2] }, [199124] = { "Primalist Chillblaster", -- [1] "Vault of the Incarnates", -- [2] }, [131318] = { "Elder Leaxa", -- [1] "The Underrot", -- [2] }, [150253] = { "Weaponized Crawler", -- [1] "Operation: Mechagon", -- [2] }, [82579] = { "Grom'kar Far Seer", -- [1] "Grimrail Depot", -- [2] }, [129788] = { "Irontide Bonesaw", -- [1] "Freehold", -- [2] }, [137204] = { "Hoodoo Hexer", -- [1] "Temple of Sethraliss", -- [2] }, [137716] = { "Bottom Feeder", -- [1] "The MOTHERLODE!!", -- [2] }, [150254] = { "Scraphound", -- [1] "Operation: Mechagon", -- [2] }, [134390] = { "Sand-crusted Striker", -- [1] "Temple of Sethraliss", -- [2] }, [138740] = { "Musashitake", -- [1] "The Underrot", -- [2] }, [177889] = { "Mawforged Souljudge", -- [1] "Sanctum of Domination", -- [2] }, [126847] = { "Captain Raoul", -- [1] "Freehold", -- [2] }, [134137] = { "Temple Attendant", -- [1] "Shrine of the Storm", -- [2] }, [190174] = { "Hypnosis Bat", -- [1] "Return to Karazhan", -- [2] }, [190686] = { "Frozen Destroyer", -- [1] "Vault of the Incarnates", -- [2] }, [126848] = { "Captain Eudora", -- [1] "Freehold", -- [2] }, [178661] = { "Mawsworn Interceptor", -- [1] "Sanctum of Domination", -- [2] }, [136186] = { "Tidesage Spiritualist", -- [1] "Shrine of the Storm", -- [2] }, [138489] = { "Shadow of Zul", -- [1] "Kings' Rest", -- [2] }, [173800] = { "Sewer Rat", -- [1] "Castle Nathria", -- [2] }, [186338] = { "Maruuk", -- [1] "The Nokhud Offensive", -- [2] }, [190688] = { "Blazing Fiend", -- [1] "Vault of the Incarnates", -- [2] }, [179942] = { "Deathseeker Eye", -- [1] "Sanctum of Domination", -- [2] }, [186339] = { "Teera", -- [1] "The Nokhud Offensive", -- [2] }, [169196] = { "Crimson Cabalist", -- [1] "Castle Nathria", -- [2] }, [173802] = { "Carved Assistant", -- [1] "Castle Nathria", -- [2] }, [192481] = { "Decaying Slime", -- [1] "Brackenhide Hollow", -- [2] }, [198878] = { "Primalist Tempestmaker", -- [1] "Vault of the Incarnates", -- [2] }, [81432] = { "Grom'kar Technician", -- [1] "Iron Docks", -- [2] }, [167406] = { "Sire Denathrius", -- [1] "Castle Nathria", -- [2] }, [194273] = { "Witherling", -- [1] "Brackenhide Hollow", -- [2] }, [196576] = { "Spellbound Scepter", -- [1] "Algeth'ar Academy", -- [2] }, [127106] = { "Irontide Officer", -- [1] "Freehold", -- [2] }, [181224] = { "Dausegne", -- [1] "Sepulcher of the First Ones", -- [2] }, [185574] = { "Dominated Saboteur", -- [1] "Sepulcher of the First Ones", -- [2] }, [196577] = { "Spellbound Battleaxe", -- [1] "Algeth'ar Academy", -- [2] }, [131585] = { "Enthralled Guard", -- [1] "Waycrest Manor", -- [2] }, [81305] = { "Fleshrender Nok'gar", -- [1] "Iron Docks", -- [2] }, [134144] = { "Living Current", -- [1] "Shrine of the Storm", -- [2] }, [197857] = { "Gutstabber", -- [1] "Brackenhide Hollow", -- [2] }, [141565] = { "Kul Tiran Footman", -- [1] "Siege of Boralus", -- [2] }, [131586] = { "Banquet Steward", -- [1] "Waycrest Manor", -- [2] }, [76444] = { "Subjugated Soul", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [125828] = { "Zetapally", -- [1] "Atal'Dazar", -- [2] }, [135169] = { "Spirit Drain Totem", -- [1] "The Underrot", -- [2] }, [141566] = { "Scrimshaw Gutter", -- [1] "Siege of Boralus", -- [2] }, [131587] = { "Bewitched Captain", -- [1] "Waycrest Manor", -- [2] }, [191206] = { "Primalist Mage", -- [1] "Vault of the Incarnates", -- [2] }, [57109] = { "Minion of Doubt", -- [1] "Pandaria", -- [2] }, [169457] = { "Bargast", -- [1] "Castle Nathria", -- [2] }, [137473] = { "Guard Captain Atu", -- [1] "Kings' Rest", -- [2] }, [169458] = { "Hecutis", -- [1] "Castle Nathria", -- [2] }, [137474] = { "King Timalji", -- [1] "Kings' Rest", -- [2] }, [166644] = { "Artificer Xy'mox", -- [1] "Castle Nathria", -- [2] }, [184300] = { "Ebonstone Golem", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [176880] = { "Soulscream Tormentor", -- [1] "Sanctum of Domination", -- [2] }, [76446] = { "Shadowmoon Dominator", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [86809] = { "Grom'kar Incinerator", -- [1] "Iron Docks", -- [2] }, [184301] = { "Cavern Seeker", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [58965] = { "Nix-amal", -- [1] "Sepulcher of the First Ones", -- [2] }, [131847] = { "Waycrest Reveler", -- [1] "Waycrest Manor", -- [2] }, [134150] = { "Runecarver Sorn", -- [1] "Shrine of the Storm", -- [2] }, [190187] = { "Draconic Image", -- [1] "The Azure Vault", -- [2] }, [137989] = { "Embalming Fluid", -- [1] "Kings' Rest", -- [2] }, [184303] = { "Skittering Crawler", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [137478] = { "Queen Wasi", -- [1] "Kings' Rest", -- [2] }, [131849] = { "Crazed Marksman", -- [1] "Waycrest Manor", -- [2] }, [83612] = { "Skulloc", -- [1] "Iron Docks", -- [2] }, [178163] = { "Murkbrine Shorerunner", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [127111] = { "Irontide Oarsman", -- [1] "Freehold", -- [2] }, [140038] = { "Abyssal Eel", -- [1] "Shrine of the Storm", -- [2] }, [138247] = { "Irontide Marauder", -- [1] "Siege of Boralus", -- [2] }, [127879] = { "Shieldbearer of Zul", -- [1] "Atal'Dazar", -- [2] }, [174070] = { "Kennel Overseer", -- [1] "Castle Nathria", -- [2] }, [83613] = { "Koramar", -- [1] "Iron Docks", -- [2] }, [178165] = { "Coastwalker Goliath", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [191215] = { "Tarasek Legionnaire", -- [1] "Vault of the Incarnates", -- [2] }, [82590] = { "Grimrail Scout", -- [1] "Grimrail Depot", -- [2] }, [150276] = { "Heavy Scrapbot", -- [1] "Operation: Mechagon", -- [2] }, [199916] = { "Decaying Slime", -- [1] "Brackenhide Hollow", -- [2] }, [151812] = { "Detect-o-Bot", -- [1] "Operation: Mechagon", -- [2] }, [168700] = { "Pestering Fiend", -- [1] "Castle Nathria", -- [2] }, [134157] = { "Shadow-Borne Warrior", -- [1] "Kings' Rest", -- [2] }, [56792] = { "Figment of Doubt", -- [1] "Temple of the Jade Serpent", -- [2] }, [137484] = { "King A'akul", -- [1] "Kings' Rest", -- [2] }, [174842] = { "Belligerent Waiter", -- [1] "Castle Nathria", -- [2] }, [134158] = { "Shadow-Borne Champion", -- [1] "Kings' Rest", -- [2] }, [128649] = { "Sergeant Bainbridge", -- [1] "Siege of Boralus", -- [2] }, [137485] = { "Bloodsworn Agent", -- [1] "Kings' Rest", -- [2] }, [174843] = { "Stoneborn Maitre D'", -- [1] "Castle Nathria", -- [2] }, [175611] = { "The Tarragrue", -- [1] "Sanctum of Domination", -- [2] }, [137486] = { "Queen Patlaa", -- [1] "Kings' Rest", -- [2] }, [138254] = { "Irontide Powdershot", -- [1] "Siege of Boralus", -- [2] }, [83616] = { "Zoggosh", -- [1] "Iron Docks", -- [2] }, [187894] = { "Infused Whelp", -- [1] "Ruby Life Pools", -- [2] }, [178171] = { "Stormforged Guardian", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [200944] = { "Nokhud Fighter", -- [1] "The Nokhud Offensive", -- [2] }, [182777] = { "Rygelon", -- [1] "Sepulcher of the First Ones", -- [2] }, [183033] = { "Grim Reflection", -- [1] "Sepulcher of the First Ones", -- [2] }, [138255] = { "Ashvane Spotter", -- [1] "Siege of Boralus", -- [2] }, [134417] = { "Deepsea Ritualist", -- [1] "Shrine of the Storm", -- [2] }, [129802] = { "Earthrager", -- [1] "The MOTHERLODE!!", -- [2] }, [136976] = { "T'zala", -- [1] "Kings' Rest", -- [2] }, [200945] = { "Nokhud Warmonger", -- [1] "The Nokhud Offensive", -- [2] }, [182778] = { "Collapsing Quasar", -- [1] "Sepulcher of the First Ones", -- [2] }, [191222] = { "Juvenile Frost Proto-Dragon", -- [1] "Vault of the Incarnates", -- [2] }, [134418] = { "Drowned Depthbringer", -- [1] "Shrine of the Storm", -- [2] }, [186105] = { "Overthrown Protector", -- [1] "Sepulcher of the First Ones", -- [2] }, [137233] = { "Plague Toad", -- [1] "Temple of Sethraliss", -- [2] }, [59544] = { "The Nodding Tiger", -- [1] "Temple of the Jade Serpent", -- [2] }, [181244] = { "Domination Core", -- [1] "Sepulcher of the First Ones", -- [2] }, [82594] = { "Grimrail Loader", -- [1] "Grimrail Depot", -- [2] }, [187897] = { "Defier Draghar", -- [1] "Ruby Life Pools", -- [2] }, [186106] = { "Overthrown Artisan", -- [1] "Sepulcher of the First Ones", -- [2] }, [115730] = { "Felguard Sentry", -- [1] "Return to Karazhan", -- [2] }, [174336] = { "Kennel Overseer", -- [1] "Castle Nathria", -- [2] }, [177407] = { "Formless Mass", -- [1] "Sanctum of Domination", -- [2] }, [175616] = { "Zo'phex", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [186107] = { "Vault Keeper", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [200948] = { "Nokhud Apprentice", -- [1] "The Nokhud Offensive", -- [2] }, [180990] = { "The Jailer", -- [1] "Sepulcher of the First Ones", -- [2] }, [129548] = { "Blacktooth Brute", -- [1] "Freehold", -- [2] }, [127757] = { "Reanimated Honor Guard", -- [1] "Atal'Dazar", -- [2] }, [174338] = { "Stinky Feedhauler", -- [1] "Castle Nathria", -- [2] }, [131863] = { "Raal the Gluttonous", -- [1] "Waycrest Manor", -- [2] }, [196856] = { "Primal Stormsentry", -- [1] "Vault of the Incarnates", -- [2] }, [59545] = { "The Golden Beetle", -- [1] "Temple of the Jade Serpent", -- [2] }, [131864] = { "Gorak Tul", -- [1] "Waycrest Manor", -- [2] }, [177154] = { "Mawsworn Vanguard", -- [1] "Sanctum of Domination", -- [2] }, [136470] = { "Refreshment Vendor", -- [1] "The MOTHERLODE!!", -- [2] }, [80805] = { "Makogg Emberblade", -- [1] "Iron Docks", -- [2] }, [184319] = { "Refti Custodian", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [133912] = { "Bloodsworn Defiler", -- [1] "The Underrot", -- [2] }, [99868] = { "Fenryr", -- [1] "Halls of Valor", -- [2] }, [190205] = { "Scorchling", -- [1] "Ruby Life Pools", -- [2] }, [135192] = { "Honored Raptor", -- [1] "Kings' Rest", -- [2] }, [127119] = { "Freehold Deckhand", -- [1] "Freehold", -- [2] }, [195579] = { "Primal Gust", -- [1] "The Nokhud Offensive", -- [2] }, [82597] = { "Grom'kar Captain", -- [1] "Grimrail Depot", -- [2] }, [190206] = { "Primalist Flamedancer", -- [1] "Ruby Life Pools", -- [2] }, [139799] = { "Ironhull Apprentice", -- [1] "Shrine of the Storm", -- [2] }, [191230] = { "Dragonspawn Flamebender", -- [1] "Vault of the Incarnates", -- [2] }, [195580] = { "Nokhud Saboteur", -- [1] "The Nokhud Offensive", -- [2] }, [190207] = { "Primalist Cinderweaver", -- [1] "Ruby Life Pools", -- [2] }, [139800] = { "Galecaller Apprentice", -- [1] "Shrine of the Storm", -- [2] }, [185346] = { "Dominated Eradicator", -- [1] "Sepulcher of the First Ones", -- [2] }, [167691] = { "Stasis Trap", -- [1] "Castle Nathria", -- [2] }, [80935] = { "Grom'kar Boomer", -- [1] "Grimrail Depot", -- [2] }, [188673] = { "Smoldering Colossus", -- [1] "Vault of the Incarnates", -- [2] }, [150292] = { "Mechagon Cavalry", -- [1] "Operation: Mechagon", -- [2] }, [130575] = { "Wandering Axebeak", -- [1] "Atal'Dazar", -- [2] }, [184580] = { "Olaf", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [150293] = { "Mechagon Prowler", -- [1] "Operation: Mechagon", -- [2] }, [134173] = { "Animated Droplet", -- [1] "Shrine of the Storm", -- [2] }, [56732] = { "Liu Flameheart", -- [1] "Temple of the Jade Serpent", -- [2] }, [80808] = { "Neesa Nox", -- [1] "Iron Docks", -- [2] }, [80936] = { "Grom'kar Grenadier", -- [1] "Grimrail Depot", -- [2] }, [194816] = { "Forgewrought Monstrosity", -- [1] "Neltharus", -- [2] }, [134174] = { "Shadow-Borne Witch Doctor", -- [1] "Kings' Rest", -- [2] }, [134686] = { "Mature Krolusk", -- [1] "Temple of Sethraliss", -- [2] }, [184582] = { "Eric \"The Swift\"", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [133663] = { "Fanatical Headhunter", -- [1] "The Underrot", -- [2] }, [150295] = { "Tank Buster MK1", -- [1] "Operation: Mechagon", -- [2] }, [129553] = { "Dinomancer Kish'o", -- [1] "Atal'Dazar", -- [2] }, [174092] = { "Nathrian Gargon Rider", -- [1] "Castle Nathria", -- [2] }, [176395] = { "Overloaded Mailemental", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [195842] = { "Ukhel Corruptor", -- [1] "The Nokhud Offensive", -- [2] }, [174093] = { "Nathrian Ranger", -- [1] "Castle Nathria", -- [2] }, [176396] = { "Defective Sorter", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [150297] = { "Mechagon Renormalizer", -- [1] "Operation: Mechagon", -- [2] }, [84520] = { "Pitwarden Gwarnok", -- [1] "Iron Docks", -- [2] }, [186120] = { "Treemouth", -- [1] "Brackenhide Hollow", -- [2] }, [80938] = { "Grom'kar Hulk", -- [1] "Grimrail Depot", -- [2] }, [186121] = { "Decatriarch Wratheye", -- [1] "Brackenhide Hollow", -- [2] }, [127124] = { "Freehold Barhand", -- [1] "Freehold", -- [2] }, [185610] = { "Unmade Steward", -- [1] "Sepulcher of the First Ones", -- [2] }, [134691] = { "Static-charged Dervish", -- [1] "Temple of Sethraliss", -- [2] }, [186122] = { "Rira Hackclaw", -- [1] "Brackenhide Hollow", -- [2] }, [184331] = { "Infinite Timereaver", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [135971] = { "Faithless Conscript", -- [1] "Temple of Sethraliss", -- [2] }, [193799] = { "Rotchanting Totem", -- [1] "Brackenhide Hollow", -- [2] }, [196102] = { "Conjured Lasher", -- [1] "The Azure Vault", -- [2] }, [135204] = { "Spectral Hex Priest", -- [1] "Kings' Rest", -- [2] }, [138019] = { "Kul Tiran Vanguard", -- [1] "Siege of Boralus", -- [2] }, [189706] = { "Chaotic Essence", -- [1] "Sepulcher of the First Ones", -- [2] }, [186124] = { "Gashtooth", -- [1] "Brackenhide Hollow", -- [2] }, [80940] = { "Iron Infantry", -- [1] "Grimrail Depot", -- [2] }, [180495] = { "Enraged Direhorn", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [189707] = { "Chaotic Mote", -- [1] "Sepulcher of the First Ones", -- [2] }, [185869] = { "Protoforged Creation", -- [1] "Sepulcher of the First Ones", -- [2] }, [186125] = { "Tricktotem", -- [1] "Brackenhide Hollow", -- [2] }, [115484] = { "Fel Bat", -- [1] "Return to Karazhan", -- [2] }, [174100] = { "Nathrian Singuard", -- [1] "Castle Nathria", -- [2] }, [193291] = { "Apex Blazewing", -- [1] "Neltharus", -- [2] }, [194315] = { "Stormcaller Solongo", -- [1] "The Nokhud Offensive", -- [2] }, [137511] = { "Bilge Rat Cutthroat", -- [1] "Siege of Boralus", -- [2] }, [195851] = { "Ukhel Deathspeaker", -- [1] "The Nokhud Offensive", -- [2] }, [194316] = { "Stormcaller Zarii", -- [1] "The Nokhud Offensive", -- [2] }, [192781] = { "Ore Elemental", -- [1] "Neltharus", -- [2] }, [181011] = { "Ancient Guardian", -- [1] "Sepulcher of the First Ones", -- [2] }, [114334] = { "Damaged Golem", -- [1] "Return to Karazhan", -- [2] }, [194317] = { "Stormcaller Boroo", -- [1] "The Nokhud Offensive", -- [2] }, [138281] = { "Faceless Corruptor", -- [1] "The Underrot", -- [2] }, [179733] = { "Invigorating Fish Stick", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [125977] = { "Reanimation Totem", -- [1] "Atal'Dazar", -- [2] }, [187154] = { "Unstable Curator", -- [1] "The Azure Vault", -- [2] }, [185363] = { "Manifestor Krugan", -- [1] "Sepulcher of the First Ones", -- [2] }, [176920] = { "Domination Arrow", -- [1] "Sanctum of Domination", -- [2] }, [195855] = { "Risen Warrior", -- [1] "The Nokhud Offensive", -- [2] }, [134701] = { "Blood Effigy", -- [1] "The Underrot", -- [2] }, [80816] = { "Ahri'ok Dugru", -- [1] "Iron Docks", -- [2] }, [137516] = { "Ashvane Invader", -- [1] "Siege of Boralus", -- [2] }, [199182] = { "Jumping Spiderling", -- [1] "Vault of the Incarnates", -- [2] }, [193553] = { "Nokhud Warhound", -- [1] "The Nokhud Offensive", -- [2] }, [192786] = { "Qalashi Plunderer", -- [1] "Neltharus", -- [2] }, [133935] = { "Animated Guardian", -- [1] "Kings' Rest", -- [2] }, [197904] = { "Spellbound Battleaxe", -- [1] "Algeth'ar Academy", -- [2] }, [115488] = { "Infused Pyromancer", -- [1] "Return to Karazhan", -- [2] }, [190484] = { "Kyrakka", -- [1] "Ruby Life Pools", -- [2] }, [192787] = { "Qalashi Spinecrusher", -- [1] "Neltharus", -- [2] }, [193555] = { "Nokhud Villager", -- [1] "The Nokhud Offensive", -- [2] }, [197905] = { "Spellbound Scepter", -- [1] "Algeth'ar Academy", -- [2] }, [190485] = { "Erkhart Stormvein", -- [1] "Ruby Life Pools", -- [2] }, [135472] = { "Zanazal the Wise", -- [1] "Kings' Rest", -- [2] }, [187159] = { "Shrieking Whelp", -- [1] "The Azure Vault", -- [2] }, [154663] = { "Gnome-Eating Droplet", -- [1] "Operation: Mechagon", -- [2] }, [196115] = { "Arcane Tender", -- [1] "The Azure Vault", -- [2] }, [192789] = { "Nokhud Longbow", -- [1] "The Nokhud Offensive", -- [2] }, [187160] = { "Crystal Fury", -- [1] "The Azure Vault", -- [2] }, [189719] = { "Watcher Irideus", -- [1] "Halls of Infusion", -- [2] }, [175646] = { "P.O.S.T. Master", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [75829] = { "Nhallish", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [135474] = { "Thistle Acolyte", -- [1] "Waycrest Manor", -- [2] }, [59552] = { "The Crybaby Hozen", -- [1] "Temple of the Jade Serpent", -- [2] }, [189464] = { "Qalashi Irontorch", -- [1] "Neltharus", -- [2] }, [196117] = { "Crystal Thrasher", -- [1] "The Azure Vault", -- [2] }, [184603] = { "Ancient Bufonid", -- [1] "Sepulcher of the First Ones", -- [2] }, [182045] = { "Necrotic Ritualist", -- [1] "Sepulcher of the First Ones", -- [2] }, [133685] = { "Befouled Spirit", -- [1] "The Underrot", -- [2] }, [197398] = { "Hungry Lasher", -- [1] "Algeth'ar Academy", -- [2] }, [189466] = { "Irontorch Commander", -- [1] "Neltharus", -- [2] }, [189722] = { "Gulping Goliath", -- [1] "Halls of Infusion", -- [2] }, [97068] = { "Storm Drake", -- [1] "Halls of Valor", -- [2] }, [133430] = { "Venture Co. Mastermind", -- [1] "The MOTHERLODE!!", -- [2] }, [135989] = { "Shieldbearer of Zul", -- [1] "Atal'Dazar", -- [2] }, [189467] = { "Qalashi Bonesplitter", -- [1] "Neltharus", -- [2] }, [83763] = { "Grom'kar Technician", -- [1] "Iron Docks", -- [2] }, [192794] = { "Nokhud Beastmaster", -- [1] "The Nokhud Offensive", -- [2] }, [59553] = { "The Songbird Queen", -- [1] "Temple of the Jade Serpent", -- [2] }, [133943] = { "Minion of Zul", -- [1] "Kings' Rest", -- [2] }, [173604] = { "Sinister Antiquarian", -- [1] "Castle Nathria", -- [2] }, [198424] = { "Primalist Frostsculptor", -- [1] "Vault of the Incarnates", -- [2] }, [133432] = { "Venture Co. Alchemist", -- [1] "The MOTHERLODE!!", -- [2] }, [133944] = { "Aspix", -- [1] "Temple of Sethraliss", -- [2] }, [192796] = { "Nokhud Hornsounder", -- [1] "The Nokhud Offensive", -- [2] }, [197146] = { "Qalashi Emissary", -- [1] "Vault of the Incarnates", -- [2] }, [189470] = { "Lava Flare", -- [1] "Neltharus", -- [2] }, [188703] = { "Protoform Barrier", -- [1] "Castle Nathria", -- [2] }, [197147] = { "Qalashi Honor Guard", -- [1] "Vault of the Incarnates", -- [2] }, [189471] = { "Qalashi Blacksmith", -- [1] "Neltharus", -- [2] }, [189727] = { "Khajin the Unyielding", -- [1] "Halls of Infusion", -- [2] }, [83765] = { "Grom'kar Footsoldier", -- [1] "Iron Docks", -- [2] }, [197148] = { "Qalashi Lavabearer", -- [1] "Vault of the Incarnates", -- [2] }, [189472] = { "Qalashi Lavabearer", -- [1] "Neltharus", -- [2] }, [89011] = { "Rylak Skyterror", -- [1] "Iron Docks", -- [2] }, [190496] = { "Terros", -- [1] "Vault of the Incarnates", -- [2] }, [186658] = { "Stonevault Geomancer", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [180773] = { "Vigilant Guardian", -- [1] "Sepulcher of the First Ones", -- [2] }, [189729] = { "Primal Tsunami", -- [1] "Halls of Infusion", -- [2] }, [173609] = { "Nathrian Conservator", -- [1] "Castle Nathria", -- [2] }, [182053] = { "Degeneration Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [192800] = { "Nokhud Lancemaster", -- [1] "The Nokhud Offensive", -- [2] }, [197406] = { "Aggravated Skitterfly", -- [1] "Algeth'ar Academy", -- [2] }, [89012] = { "Ravenous Wolf", -- [1] "Iron Docks", -- [2] }, [79545] = { "Nitrogg Thundertower", -- [1] "Grimrail Depot", -- [2] }, [182311] = { "Pre-Fabricated Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [59555] = { "Haunting Sha", -- [1] "Temple of the Jade Serpent", -- [2] }, [135231] = { "Spectral Brute", -- [1] "Kings' Rest", -- [2] }, [192803] = { "War Ohuna", -- [1] "The Nokhud Offensive", -- [2] }, [75452] = { "Bonemaw", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [173613] = { "Nathrian Registrar", -- [1] "Castle Nathria", -- [2] }, [186151] = { "Balakar Khan", -- [1] "The Nokhud Offensive", -- [2] }, [196642] = { "Hungry Lasher", -- [1] "Algeth'ar Academy", -- [2] }, [178731] = { "Bonesteel", -- [1] "Sanctum of Domination", -- [2] }, [176940] = { "Soulember", -- [1] "Sanctum of Domination", -- [2] }, [193572] = { "Nokhud Warsmith", -- [1] "The Nokhud Offensive", -- [2] }, [181546] = { "Prototype of Renewal", -- [1] "Sepulcher of the First Ones", -- [2] }, [97202] = { "Olmyr the Enlightened", -- [1] "Halls of Valor", -- [2] }, [186664] = { "Stonevault Ambusher", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [180779] = { "Terrorspine", -- [1] "Sanctum of Domination", -- [2] }, [138048] = { "Training Dummy", -- [1] "Waycrest Manor", -- [2] }, [195876] = { "Desecrated Ohuna", -- [1] "The Nokhud Offensive", -- [2] }, [135234] = { "Diseased Mastiff", -- [1] "Waycrest Manor", -- [2] }, [180780] = { "Dreadmaw", -- [1] "Sanctum of Domination", -- [2] }, [199715] = { "Nokhud Battleguard", -- [1] "The Nokhud Offensive", -- [2] }, [195877] = { "Risen Mystic", -- [1] "The Nokhud Offensive", -- [2] }, [175663] = { "Hylbrande", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184107] = { "Runic Protector", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [135235] = { "Spectral Beastmaster", -- [1] "Kings' Rest", -- [2] }, [199716] = { "Nokhud Brute", -- [1] "The Nokhud Offensive", -- [2] }, [79548] = { "Assault Cannon", -- [1] "Grimrail Depot", -- [2] }, [75966] = { "Defiled Spirit", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [180782] = { "Consumed Soul", -- [1] "Sanctum of Domination", -- [2] }, [199717] = { "Nokhud Defender", -- [1] "The Nokhud Offensive", -- [2] }, [180015] = { "Burly Deckhand", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [151613] = { "Anti-Personnel Squirrel", -- [1] "Operation: Mechagon", -- [2] }, [164407] = { "Sludgefist", -- [1] "Castle Nathria", -- [2] }, [189227] = { "Qalashi Hunter", -- [1] "Neltharus", -- [2] }, [199718] = { "Nokhud Huntmaster", -- [1] "The Nokhud Offensive", -- [2] }, [181551] = { "Prototype of Duty", -- [1] "Sepulcher of the First Ones", -- [2] }, [137029] = { "Ordnance Specialist", -- [1] "The MOTHERLODE!!", -- [2] }, [136006] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [199719] = { "Nokhud Wardog", -- [1] "The Nokhud Offensive", -- [2] }, [135239] = { "Spectral Witch Doctor", -- [1] "Kings' Rest", -- [2] }, [184623] = { "Ancient Avian", -- [1] "Sepulcher of the First Ones", -- [2] }, [84028] = { "Siegemaster Rokra", -- [1] "Iron Docks", -- [2] }, [131402] = { "Underrot Tick", -- [1] "The Underrot", -- [2] }, [184880] = { "Dominated Disrupter", -- [1] "Sepulcher of the First Ones", -- [2] }, [166969] = { "Baroness Frieda", -- [1] "Castle Nathria", -- [2] }, [177716] = { "So' Cartel Assassin", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [174134] = { "Lord Evershade", -- [1] "Castle Nathria", -- [2] }, [176949] = { "Mawsworn Embermage", -- [1] "Sanctum of Domination", -- [2] }, [166970] = { "Lord Stavros", -- [1] "Castle Nathria", -- [2] }, [114350] = { "Shade of Medivh", -- [1] "Return to Karazhan", -- [2] }, [75713] = { "Shadowmoon Bone-Mender", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [133963] = { "Test Subject", -- [1] "The MOTHERLODE!!", -- [2] }, [166971] = { "Castellan Niklaus", -- [1] "Castle Nathria", -- [2] }, [184627] = { "Dominated Shaper", -- [1] "Sepulcher of the First Ones", -- [2] }, [83390] = { "Thunderlord Wrangler", -- [1] "Iron Docks", -- [2] }, [195119] = { "Primalist Shockcaster", -- [1] "Ruby Life Pools", -- [2] }, [172858] = { "Stone Legion Goliath", -- [1] "Castle Nathria", -- [2] }, [135245] = { "Bilge Rat Demolisher", -- [1] "Siege of Boralus", -- [2] }, [189235] = { "Overseer Lahar", -- [1] "Neltharus", -- [2] }, [75459] = { "Plagued Bat", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [182071] = { "Guardian Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [138061] = { "Venture Co. Longshoreman", -- [1] "The MOTHERLODE!!", -- [2] }, [179257] = { "Burning Shade", -- [1] "Sanctum of Domination", -- [2] }, [97081] = { "King Bjorn", -- [1] "Halls of Valor", -- [2] }, [134991] = { "Sandfury Stonefist", -- [1] "Temple of Sethraliss", -- [2] }, [167999] = { "Echo of Sin", -- [1] "Castle Nathria", -- [2] }, [83392] = { "Rampaging Clefthoof", -- [1] "Iron Docks", -- [2] }, [127019] = { "Training Dummy", -- [1] "Freehold", -- [2] }, [131666] = { "Coven Thornshaper", -- [1] "Waycrest Manor", -- [2] }, [138063] = { "Posh Vacationer", -- [1] "The MOTHERLODE!!", -- [2] }, [185656] = { "Filth Caller", -- [1] "Brackenhide Hollow", -- [2] }, [175677] = { "Smuggled Creature", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [134993] = { "Mchimba the Embalmer", -- [1] "Kings' Rest", -- [2] }, [131667] = { "Soulbound Goliath", -- [1] "Waycrest Manor", -- [2] }, [176957] = { "Shadowsteel Colossus", -- [1] "Sanctum of Domination", -- [2] }, [65317] = { "Xiang", -- [1] "Temple of the Jade Serpent", -- [2] }, [134994] = { "Spectral Headhunter", -- [1] "Kings' Rest", -- [2] }, [134739] = { "Purification Construct", -- [1] "Kings' Rest", -- [2] }, [131669] = { "Jagged Hound", -- [1] "Waycrest Manor", -- [2] }, [176959] = { "Mawsworn Soulmage", -- [1] "Sanctum of Domination", -- [2] }, [165189] = { "Sigilback", -- [1] "Sepulcher of the First Ones", -- [2] }, [173633] = { "Nathrian Archivist", -- [1] "Castle Nathria", -- [2] }, [184124] = { "Sentinel Talondras", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [198709] = { "Unstable Earth", -- [1] "Vault of the Incarnates", -- [2] }, [135764] = { "Explosive Totem", -- [1] "Kings' Rest", -- [2] }, [97084] = { "King Tor", -- [1] "Halls of Valor", -- [2] }, [184125] = { "Chrono-Lord Deios", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [135765] = { "Torrent Totem", -- [1] "Kings' Rest", -- [2] }, [133463] = { "Venture Co. War Machine", -- [1] "The MOTHERLODE!!", -- [2] }, [134232] = { "Hired Assassin", -- [1] "The MOTHERLODE!!", -- [2] }, [76104] = { "Monstrous Corpse Spider", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [187967] = { "Sennarth", -- [1] "Vault of the Incarnates", -- [2] }, [200761] = { "Wild Ohuna", -- [1] "The Nokhud Offensive", -- [2] }, [189247] = { "Tamed Phoenix", -- [1] "Neltharus", -- [2] }, [184130] = { "Earthen Custodian", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [135258] = { "Irontide Marauder", -- [1] "Siege of Boralus", -- [2] }, [185154] = { "Mal'Ganis", -- [1] "Sepulcher of the First Ones", -- [2] }, [179269] = { "Oasis Security", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [187969] = { "Flashfrost Earthshaper", -- [1] "Ruby Life Pools", -- [2] }, [139097] = { "Sandswept Marksman", -- [1] "Temple of Sethraliss", -- [2] }, [194622] = { "Scorchling", -- [1] "Ruby Life Pools", -- [2] }, [131677] = { "Heartsbane Runeweaver", -- [1] "Waycrest Manor", -- [2] }, [185155] = { "Kin'tessa", -- [1] "Sepulcher of the First Ones", -- [2] }, [173641] = { "Nathrian Gargon", -- [1] "Castle Nathria", -- [2] }, [184132] = { "Earthen Warder", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [195135] = { "Bracken Warscourge", -- [1] "Brackenhide Hollow", -- [2] }, [196671] = { "Arcane Ravager", -- [1] "Algeth'ar Academy", -- [2] }, [59051] = { "Strife", -- [1] "Temple of the Jade Serpent", -- [2] }, [136541] = { "Bile Oozeling", -- [1] "Waycrest Manor", -- [2] }, [184134] = { "Scavenging Leaper", -- [1] "Kalimdor", -- [2] }, [75979] = { "Exhumed Spirit", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [135007] = { "Orb Guardian", -- [1] "Temple of Sethraliss", -- [2] }, [135263] = { "Ashvane Spotter", -- [1] "Siege of Boralus", -- [2] }, [195138] = { "Detonating Crystal", -- [1] "The Azure Vault", -- [2] }, [128434] = { "Feasting Skyscreamer", -- [1] "Atal'Dazar", -- [2] }, [197697] = { "Flamegullet", -- [1] "Ruby Life Pools", -- [2] }, [191045] = { "Detect-o-Bot", -- [1] "Operation: Mechagon", -- [2] }, [197698] = { "Thunderhead", -- [1] "Ruby Life Pools", -- [2] }, [186696] = { "Quaking Totem", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [17252] = { "Veethun", -- [1] "Sepulcher of the First Ones", -- [2] }, [128435] = { "Toxic Saurid", -- [1] "Atal'Dazar", -- [2] }, [194373] = { "Witherling", -- [1] "Brackenhide Hollow", -- [2] }, [176974] = { "Soul Reaver", -- [1] "Sanctum of Domination", -- [2] }, [97219] = { "Solsten", -- [1] "Halls of Valor", -- [2] }, [184651] = { "Subjugator Zeltoth", -- [1] "Sepulcher of the First Ones", -- [2] }, [131685] = { "Runic Disciple", -- [1] "Waycrest Manor", -- [2] }, [184140] = { "Xy Acolyte", -- [1] "Sepulcher of the First Ones", -- [2] }, [193352] = { "Hextrick Totem", -- [1] "Brackenhide Hollow", -- [2] }, [198214] = { "Broodguardian Ziruss", -- [1] "Vault of the Incarnates", -- [2] }, [192329] = { "Territorial Eagle", -- [1] "Algeth'ar Academy", -- [2] }, [196679] = { "Frozen Shroud", -- [1] "Vault of the Incarnates", -- [2] }, [77006] = { "Corpse Skitterling", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [136549] = { "Ashvane Cannoneer", -- [1] "Siege of Boralus", -- [2] }, [115388] = { "King", -- [1] "Return to Karazhan", -- [2] }, [137830] = { "Pallid Gorger", -- [1] "Waycrest Manor", -- [2] }, [130485] = { "Mechanized Peacekeeper", -- [1] "The MOTHERLODE!!", -- [2] }, [136295] = { "Sunken Denizen", -- [1] "Shrine of the Storm", -- [2] }, [132713] = { "Mogul Razdunk", -- [1] "The MOTHERLODE!!", -- [2] }, [186191] = { "Decay Speaker", -- [1] "Brackenhide Hollow", -- [2] }, [173142] = { "Dread Feaster", -- [1] "Castle Nathria", -- [2] }, [136552] = { "Kao-Tien Marauder", -- [1] "Atal'Dazar", -- [2] }, [127799] = { "Dazar'ai Honor Guard", -- [1] "Atal'Dazar", -- [2] }, [192333] = { "Alpha Eagle", -- [1] "Algeth'ar Academy", -- [2] }, [151649] = { "Defense Bot Mk I", -- [1] "Operation: Mechagon", -- [2] }, [133482] = { "Crawler Mine", -- [1] "The MOTHERLODE!!", -- [2] }, [136297] = { "Forgotten Denizen", -- [1] "Shrine of the Storm", -- [2] }, [131436] = { "Chosen Blood Matron", -- [1] "The Underrot", -- [2] }, [191311] = { "Infinite Whelp", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [134251] = { "Seneschal M'bara", -- [1] "Kings' Rest", -- [2] }, [194894] = { "Primalist Stormspeaker", -- [1] "The Nokhud Offensive", -- [2] }, [144231] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [173145] = { "Gorging Mite", -- [1] "Castle Nathria", -- [2] }, [165469] = { "Nathrian Enforcer", -- [1] "Castle Nathria", -- [2] }, [139626] = { "Dredged Sailor", -- [1] "Shrine of the Storm", -- [2] }, [144232] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [173146] = { "Winged Ravager", -- [1] "Castle Nathria", -- [2] }, [190034] = { "Blazebound Destroyer", -- [1] "Ruby Life Pools", -- [2] }, [180567] = { "Frenzied Nightclaw", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [130488] = { "Mech Jockey", -- [1] "The MOTHERLODE!!", -- [2] }, [165471] = { "Nathrian Duelist", -- [1] "Castle Nathria", -- [2] }, [188244] = { "Primal Juggernaut", -- [1] "Ruby Life Pools", -- [2] }, [194897] = { "Stormsurge Totem", -- [1] "The Nokhud Offensive", -- [2] }, [165472] = { "Nathrian Siphoner", -- [1] "Castle Nathria", -- [2] }, [194898] = { "Primalist Arcblade", -- [1] "The Nokhud Offensive", -- [2] }, [130489] = { "Dazarian Stalker", -- [1] "Freehold", -- [2] }, [177500] = { "Corsair Brute", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [181850] = { "Pre-Fabricated Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [190294] = { "Nokhud Stormcaster", -- [1] "The Nokhud Offensive", -- [2] }, [83025] = { "Grom'kar Battlemaster", -- [1] "Iron Docks", -- [2] }, [187224] = { "Vile Rothexer", -- [1] "Brackenhide Hollow", -- [2] }, [134514] = { "Abyssal Cultist", -- [1] "Shrine of the Storm", -- [2] }, [114626] = { "Forlorn Spirit", -- [1] "Return to Karazhan", -- [2] }, [1860] = { "Graz'krast", -- [1] "Shrine of the Storm", -- [2] }, [83026] = { "Siegemaster Olugar", -- [1] "Iron Docks", -- [2] }, [81235] = { "Grimrail Laborer", -- [1] "Grimrail Depot", -- [2] }, [185691] = { "Vicious Hyena", -- [1] "Brackenhide Hollow", -- [2] }, [196694] = { "Arcane Forager", -- [1] "Algeth'ar Academy", -- [2] }, [134005] = { "Shalebiter", -- [1] "The MOTHERLODE!!", -- [2] }, [115395] = { "Queen", -- [1] "Return to Karazhan", -- [2] }, [153196] = { "Scrapbone Grunter", -- [1] "Operation: Mechagon", -- [2] }, [141938] = { "Ashvane Sniper", -- [1] "Siege of Boralus", -- [2] }, [185181] = { "Automated Eliminator", -- [1] "Sepulcher of the First Ones", -- [2] }, [195928] = { "Soulharvester Duuren", -- [1] "The Nokhud Offensive", -- [2] }, [165479] = { "Court Enforcer", -- [1] "Castle Nathria", -- [2] }, [188252] = { "Melidrussa Chillworn", -- [1] "Ruby Life Pools", -- [2] }, [141939] = { "Ashvane Spotter", -- [1] "Siege of Boralus", -- [2] }, [195929] = { "Soulharvester Tumen", -- [1] "The Nokhud Offensive", -- [2] }, [181856] = { "Point Defense Drone", -- [1] "Sepulcher of the First Ones", -- [2] }, [186206] = { "Cruel Bonecrusher", -- [1] "Brackenhide Hollow", -- [2] }, [83028] = { "Grom'kar Deadeye", -- [1] "Iron Docks", -- [2] }, [195930] = { "Soulharvester Mandakh", -- [1] "The Nokhud Offensive", -- [2] }, [165481] = { "Court Assassin", -- [1] "Castle Nathria", -- [2] }, [137591] = { "Healing Tide Totem", -- [1] "Kings' Rest", -- [2] }, [187231] = { "Wither Biter", -- [1] "Brackenhide Hollow", -- [2] }, [129598] = { "Freehold Pack Mule", -- [1] "Freehold", -- [2] }, [186208] = { "Rotbow Stalker", -- [1] "Brackenhide Hollow", -- [2] }, [183138] = { "Inchoate Shadow", -- [1] "Sepulcher of the First Ones", -- [2] }, [142454] = { "Ashtail Bandicoon", -- [1] "Freehold", -- [2] }, [181859] = { "Volatile Materium", -- [1] "Sepulcher of the First Ones", -- [2] }, [142199] = { "Alpine Hawk", -- [1] "Freehold", -- [2] }, [129599] = { "Cutwater Knife Juggler", -- [1] "Freehold", -- [2] }, [87252] = { "Unruly Ogron", -- [1] "Iron Docks", -- [2] }, [134012] = { "Taskmaster Askari", -- [1] "The MOTHERLODE!!", -- [2] }, [114247] = { "The Curator", -- [1] "Return to Karazhan", -- [2] }, [181861] = { "Magmatusk", -- [1] "Neltharus", -- [2] }, [180070] = { "Mawsworn Scryer", -- [1] "Sanctum of Domination", -- [2] }, [144248] = { "Head Machinist Sparkflux", -- [1] "Operation: Mechagon", -- [2] }, [129600] = { "Bilge Rat Brinescale", -- [1] "Freehold", -- [2] }, [197982] = { "Storm Warrior", -- [1] "Ruby Life Pools", -- [2] }, [101326] = { "Honored Ancestor", -- [1] "Halls of Valor", -- [2] }, [144249] = { "Omega Buster", -- [1] "Operation: Mechagon", -- [2] }, [183398] = { "Ancient Sentinel", -- [1] "Sepulcher of the First Ones", -- [2] }, [184422] = { "Emberon", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [114249] = { "Volatile Energy", -- [1] "Return to Karazhan", -- [2] }, [197985] = { "Flame Channeler", -- [1] "Ruby Life Pools", -- [2] }, [194147] = { "Volcanius", -- [1] "Vault of the Incarnates", -- [2] }, [131009] = { "Spirit of Gold", -- [1] "Atal'Dazar", -- [2] }, [135552] = { "Deathtouched Slaver", -- [1] "Waycrest Manor", -- [2] }, [177004] = { "Tortured Amalgamation", -- [1] "Sanctum of Domination", -- [2] }, [129602] = { "Irontide Enforcer", -- [1] "Freehold", -- [2] }, [115401] = { "Bishop", -- [1] "Return to Karazhan", -- [2] }, [175725] = { "Eye of the Jailer", -- [1] "Sanctum of Domination", -- [2] }, [197219] = { "Vile Lasher", -- [1] "Algeth'ar Academy", -- [2] }, [187240] = { "Drakonid Breaker", -- [1] "The Azure Vault", -- [2] }, [154744] = { "Toxic Monstrosity", -- [1] "Operation: Mechagon", -- [2] }, [175726] = { "Skyja", -- [1] "Sanctum of Domination", -- [2] }, [178029] = { "Mawsworn Wingsoldier", -- [1] "Sanctum of Domination", -- [2] }, [138369] = { "Footbomb Hooligan", -- [1] "The MOTHERLODE!!", -- [2] }, [191847] = { "Nokhud Plainstomper", -- [1] "The Nokhud Offensive", -- [2] }, [179821] = { "Commander Zo'far", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [198500] = { "Council Earthcaller", -- [1] "Vault of the Incarnates", -- [2] }, [150396] = { "Aerial Unit R-21/X", -- [1] "Operation: Mechagon", -- [2] }, [183404] = { "Eternal Assembler", -- [1] "Sepulcher of the First Ones", -- [2] }, [198501] = { "Council Icecaller", -- [1] "Vault of the Incarnates", -- [2] }, [150397] = { "King Mechagon", -- [1] "Operation: Mechagon", -- [2] }, [188011] = { "Primal Terrasentry", -- [1] "Ruby Life Pools", -- [2] }, [198502] = { "Council Stormcaller", -- [1] "Vault of the Incarnates", -- [2] }, [174194] = { "Court Executor", -- [1] "Castle Nathria", -- [2] }, [150142] = { "Scrapbone Trashtosser", -- [1] "Operation: Mechagon", -- [2] }, [114252] = { "Mana Devourer", -- [1] "Return to Karazhan", -- [2] }, [196200] = { "Algeth'ar Echoknight", -- [1] "Algeth'ar Academy", -- [2] }, [126918] = { "Irontide Crackshot", -- [1] "Freehold", -- [2] }, [196712] = { "Nullification Device", -- [1] "Halls of Infusion", -- [2] }, [150143] = { "Scrapbone Grinder", -- [1] "Operation: Mechagon", -- [2] }, [183407] = { "Eternal Artisan", -- [1] "Sepulcher of the First Ones", -- [2] }, [175731] = { "Guardian of the First Ones", -- [1] "Sanctum of Domination", -- [2] }, [126023] = { "Harbor Saurid", -- [1] "The Underrot", -- [2] }, [134024] = { "Devouring Maggot", -- [1] "Waycrest Manor", -- [2] }, [175732] = { "Sylvanas Windrunner", -- [1] "Sanctum of Domination", -- [2] }, [126919] = { "Irontide Stormcaller", -- [1] "Freehold", -- [2] }, [56439] = { "Sha of Doubt", -- [1] "Temple of the Jade Serpent", -- [2] }, [135816] = { "Vilefiend", -- [1] "Sepulcher of the First Ones", -- [2] }, [100820] = { "Spirit Wolf", -- [1] "Sepulcher of the First Ones", -- [2] }, [115533] = { "Gleeful Immolator", -- [1] "Return to Karazhan", -- [2] }, [135049] = { "Dreadwing Raven", -- [1] "Waycrest Manor", -- [2] }, [150146] = { "Scrapbone Shaman", -- [1] "Operation: Mechagon", -- [2] }, [128455] = { "T'lonja", -- [1] "Atal'Dazar", -- [2] }, [177269] = { "So'leah", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [132491] = { "Kul Tiran Marksman", -- [1] "Siege of Boralus", -- [2] }, [128967] = { "Ashvane Sniper", -- [1] "Siege of Boralus", -- [2] }, [135562] = { "Venomous Ophidian", -- [1] "Temple of Sethraliss", -- [2] }, [136330] = { "Soul Thorns", -- [1] "Waycrest Manor", -- [2] }, [115406] = { "Knight", -- [1] "Return to Karazhan", -- [2] }, [186226] = { "Fetid Rotsinger", -- [1] "Brackenhide Hollow", -- [2] }, [186738] = { "Umbrelskul", -- [1] "The Azure Vault", -- [2] }, [134284] = { "Fallen Deathspeaker", -- [1] "The Underrot", -- [2] }, [175992] = { "Dutiful Attendant", -- [1] "Castle Nathria", -- [2] }, [186739] = { "Azureblade", -- [1] "The Azure Vault", -- [2] }, [136076] = { "Agitated Nimbus", -- [1] "Temple of Sethraliss", -- [2] }, [183413] = { "Dominated Eradicator", -- [1] "Sepulcher of the First Ones", -- [2] }, [183669] = { "Fiendish Soul", -- [1] "Sepulcher of the First Ones", -- [2] }, [186740] = { "Arcane Construct", -- [1] "The Azure Vault", -- [2] }, [57080] = { "Corrupted Scroll", -- [1] "Temple of the Jade Serpent", -- [2] }, [195696] = { "Primalist Thunderbeast", -- [1] "The Nokhud Offensive", -- [2] }, [178041] = { "Mawsworn Shackler", -- [1] "Sanctum of Domination", -- [2] }, [186741] = { "Arcane Elemental", -- [1] "The Azure Vault", -- [2] }, [195697] = { "Thunderbeast Rider", -- [1] "The Nokhud Offensive", -- [2] }, [137614] = { "Demolishing Terror", -- [1] "Siege of Boralus", -- [2] }, [183416] = { "Bound Realmbreaker", -- [1] "Sepulcher of the First Ones", -- [2] }, [189813] = { "Dathea, Ascended", -- [1] "Vault of the Incarnates", -- [2] }, [177787] = { "Mawsworn Hopebreaker", -- [1] "Sanctum of Domination", -- [2] }, [178043] = { "Mawsworn Lancer", -- [1] "Sanctum of Domination", -- [2] }, [187767] = { "Embar Firepath", -- [1] "Vault of the Incarnates", -- [2] }, [180091] = { "Ancient Core Hound", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [150154] = { "Saurolisk Bonenipper", -- [1] "Operation: Mechagon", -- [2] }, [187768] = { "Dathea Stormlash", -- [1] "Vault of the Incarnates", -- [2] }, [165763] = { "Vile Occultist", -- [1] "Castle Nathria", -- [2] }, [129227] = { "Azerokk", -- [1] "The MOTHERLODE!!", -- [2] }, [184954] = { "Ancient Shaper", -- [1] "Sepulcher of the First Ones", -- [2] }, [189816] = { "Dathea Stormlash", -- [1] "Vault of the Incarnates", -- [2] }, [179837] = { "Tracker Zo'korss", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [165764] = { "Rockbound Vanquisher", -- [1] "Castle Nathria", -- [2] }, [174208] = { "Court Executor", -- [1] "Castle Nathria", -- [2] }, [199028] = { "Glacias", -- [1] "Vault of the Incarnates", -- [2] }, [136083] = { "Forgotten Denizen", -- [1] "Shrine of the Storm", -- [2] }, [130635] = { "Stonefury", -- [1] "The MOTHERLODE!!", -- [2] }, [188026] = { "Frost Tomb", -- [1] "Vault of the Incarnates", -- [2] }, [173953] = { "Loyal Gargon", -- [1] "Castle Nathria", -- [2] }, [199029] = { "Cyclas", -- [1] "Vault of the Incarnates", -- [2] }, [76518] = { "Ritual of Bones", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [56762] = { "Yu'lon", -- [1] "Temple of the Jade Serpent", -- [2] }, [190586] = { "Earth Breaker", -- [1] "Vault of the Incarnates", -- [2] }, [199030] = { "Loamas", -- [1] "Vault of the Incarnates", -- [2] }, [171396] = { "Kyrian Goliath", -- [1] "Sepulcher of the First Ones", -- [2] }, [179840] = { "Market Peacekeeper", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [150159] = { "King Gobbamak", -- [1] "Operation: Mechagon", -- [2] }, [173444] = { "Caramain", -- [1] "Castle Nathria", -- [2] }, [179841] = { "Veteran Sparkcaster", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [190588] = { "Tectonic Crusher", -- [1] "Vault of the Incarnates", -- [2] }, [150160] = { "Scrapbone Bully", -- [1] "Operation: Mechagon", -- [2] }, [173189] = { "Nathrian Hawkeye", -- [1] "Castle Nathria", -- [2] }, [173445] = { "Sindrel", -- [1] "Castle Nathria", -- [2] }, [179842] = { "Commerce Enforcer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [134041] = { "Infected Peasant", -- [1] "Waycrest Manor", -- [2] }, [173190] = { "Court Hawkeye", -- [1] "Castle Nathria", -- [2] }, [173446] = { "Hargitas", -- [1] "Castle Nathria", -- [2] }, [198266] = { "Pouncing Broodswarmer", -- [1] "Vault of the Incarnates", -- [2] }, [184961] = { "Gnarled Skitter", -- [1] "Sepulcher of the First Ones", -- [2] }, [126928] = { "Irontide Corsair", -- [1] "Freehold", -- [2] }, [88163] = { "Grom'kar Cinderseer", -- [1] "Grimrail Depot", -- [2] }, [137625] = { "Demolishing Terror", -- [1] "Siege of Boralus", -- [2] }, [184962] = { "Gnarled Scavenger", -- [1] "Sepulcher of the First Ones", -- [2] }, [173448] = { "Dragost", -- [1] "Castle Nathria", -- [2] }, [186242] = { "Skulking Gutstabber", -- [1] "Brackenhide Hollow", -- [2] }, [137626] = { "Demolishing Terror", -- [1] "Siege of Boralus", -- [2] }, [179334] = { "Portalmancer Zo'dahh", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [79720] = { "Grom'kar Boomer", -- [1] "Grimrail Depot", -- [2] }, [191225] = { "Tarasek Earthreaver", -- [1] "Vault of the Incarnates", -- [2] }, [122963] = { "Rezan", -- [1] "Atal'Dazar", -- [2] }, [176520] = { "Ocular Commander", -- [1] "Sanctum of Domination", -- [2] }, [150165] = { "Slime Elemental", -- [1] "Operation: Mechagon", -- [2] }, [191232] = { "Drakonid Stormbringer", -- [1] "Vault of the Incarnates", -- [2] }, [183429] = { "Ebon Chainguard", -- [1] "Sepulcher of the First Ones", -- [2] }, [197298] = { "Nascent Proto-Dragon", -- [1] "Vault of the Incarnates", -- [2] }, [190245] = { "Broodkeeper Diurna", -- [1] "Vault of the Incarnates", -- [2] }, [198263] = { "Stalwart Broodwarden", -- [1] "Vault of the Incarnates", -- [2] }, [201560] = { "Primalist Flamecaller", -- [1] "Vault of the Incarnates", -- [2] }, [176521] = { "Stygian Abductor", -- [1] "Sanctum of Domination", -- [2] }, [178824] = { "Borr-Gahn", -- [1] "Sanctum of Domination", -- [2] }, [198868] = { "Primalist Voltweaver", -- [1] "Vault of the Incarnates", -- [2] }, [198503] = { "Council Flamecaller", -- [1] "Vault of the Incarnates", -- [2] }, [189233] = { "Caustic Spiderling", -- [1] "Vault of the Incarnates", -- [2] }, [167566] = { "Bleakwing Assassin", -- [1] "Castle Nathria", -- [2] }, [192769] = { "Thondrozus", -- [1] "Vault of the Incarnates", -- [2] }, [173949] = { "Nathrian Soldier", -- [1] "Castle Nathria", -- [2] }, [198081] = { "Quarry Earthshaper", -- [1] "Vault of the Incarnates", -- [2] }, [96609] = { "Gildedfur Stag", -- [1] "Halls of Valor", -- [2] }, [192767] = { "Primal Icebulk", -- [1] "Vault of the Incarnates", -- [2] }, [199027] = { "Magmas", -- [1] "Vault of the Incarnates", -- [2] }, [192761] = { "Iskakx", -- [1] "Vault of the Incarnates", -- [2] }, [196855] = { "Braekkas", -- [1] "Vault of the Incarnates", -- [2] }, [190340] = { "Refti Defender", -- [1] "10.0 Dragon Isles", -- [2] }, [198716] = { "Unstable Storm", -- [1] "Vault of the Incarnates", -- [2] }, [176523] = { "Painsmith Raznal", -- [1] "Sanctum of Domination", -- [2] }, [150168] = { "Toxic Monstrosity", -- [1] "Operation: Mechagon", -- [2] }, [198702] = { "Unstable Frost", -- [1] "Vault of the Incarnates", -- [2] }, [183432] = { "Ebon Dominator", -- [1] "Sepulcher of the First Ones", -- [2] }, [183688] = { "Stasis Trap", -- [1] "Sepulcher of the First Ones", -- [2] }, [165521] = { "Lady Inerva Darkvein", -- [1] "Castle Nathria", -- [2] }, [77803] = { "Railmaster Rocketspark", -- [1] "Grimrail Depot", -- [2] }, [122965] = { "Vol'kaal", -- [1] "Atal'Dazar", -- [2] }, [95676] = { "Odyn", -- [1] "Halls of Valor", -- [2] }, [150169] = { "Toxic Lurker", -- [1] "Operation: Mechagon", -- [2] }, [193558] = { "Primalist Flamecaller", -- [1] "Vault of the Incarnates", -- [2] }, [95675] = { "God-King Skovald", -- [1] "Halls of Valor", -- [2] }, [115417] = { "Rat", -- [1] "Return to Karazhan", -- [2] }, [183945] = { "Unstable Matter", -- [1] "Sepulcher of the First Ones", -- [2] }, [190342] = { "Containment Apparatus", -- [1] "10.0 Dragon Isles", -- [2] }, [135329] = { "Matron Bryndle", -- [1] "Waycrest Manor", -- [2] }, [168337] = { "Moldovaak", -- [1] "Castle Nathria", -- [2] }, [97083] = { "King Ranulf", -- [1] "Halls of Valor", -- [2] }, [95843] = { "King Haldor", -- [1] "Halls of Valor", -- [2] }, [136353] = { "Colossal Tentacle", -- [1] "Shrine of the Storm", -- [2] }, [99922] = { "Ebonclaw Packmate", -- [1] "Halls of Valor", -- [2] }, [194181] = { "Vexamus", -- [1] "Algeth'ar Academy", -- [2] }, [96608] = { "Ebonclaw Worg", -- [1] "Halls of Valor", -- [2] }, [195821] = { "Nokhud Saboteur", -- [1] "The Nokhud Offensive", -- [2] }, [131492] = { "Devout Blood Priest", -- [1] "The Underrot", -- [2] }, [96611] = { "Angerhoof Bull", -- [1] "Halls of Valor", -- [2] }, [144286] = { "Asset Manager", -- [1] "The MOTHERLODE!!", -- [2] }, [195820] = { "Nokhud Saboteur", -- [1] "The Nokhud Offensive", -- [2] }, [115418] = { "Spider", -- [1] "Return to Karazhan", -- [2] }, [199368] = { "Hardened Crystal", -- [1] "The Azure Vault", -- [2] }, [80875] = { "Bombsquad", -- [1] "Iron Docks", -- [2] }, [139425] = { "Crazed Incubator", -- [1] "Temple of Sethraliss", -- [2] }, [95833] = { "Hyrja", -- [1] "Halls of Valor", -- [2] }, [187242] = { "Tarasek Looter", -- [1] "The Azure Vault", -- [2] }, [197509] = { "Primal Thundercloud", -- [1] "Ruby Life Pools", -- [2] }, [97197] = { "Valarjar Purifier", -- [1] "Halls of Valor", -- [2] }, [187246] = { "Nullmagic Hornswog", -- [1] "The Azure Vault", -- [2] }, [177807] = { "Customs Security", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [190345] = { "Primalist Geomancer", -- [1] "Halls of Infusion", -- [2] }, [122967] = { "Priestess Alun'za", -- [1] "Atal'Dazar", -- [2] }, [190510] = { "Vault Guard", -- [1] "The Azure Vault", -- [2] }, [184972] = { "Eranog", -- [1] "Vault of the Incarnates", -- [2] }, [189555] = { "Astral Attendant", -- [1] "The Azure Vault", -- [2] }, [180865] = { "Twisted Warden", -- [1] "Sanctum of Domination", -- [2] }, [196116] = { "Crystal Fury", -- [1] "The Azure Vault", -- [2] }, [177808] = { "Armored Overseer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [137487] = { "Skeletal Hunting Raptor", -- [1] "Kings' Rest", -- [2] }, [185537] = { "Foul Controller", -- [1] "Sepulcher of the First Ones", -- [2] }, [176953] = { "Mawsworn Flamehand", -- [1] "Sanctum of Domination", -- [2] }, [151659] = { "Rocket Tonk", -- [1] "Operation: Mechagon", -- [2] }, [178628] = { "Mawsworn Darkcaster", -- [1] "Sanctum of Domination", -- [2] }, [183438] = { "Chainbound Construct", -- [1] "Sepulcher of the First Ones", -- [2] }, [189893] = { "Infused Whelp", -- [1] "Ruby Life Pools", -- [2] }, [184335] = { "Infinite Agent", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [59547] = { "Jiang", -- [1] "Temple of the Jade Serpent", -- [2] }, [122968] = { "Yazma", -- [1] "Atal'Dazar", -- [2] }, [183745] = { "Acquisitions Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [135846] = { "Sand-Crusted Striker", -- [1] "Temple of Sethraliss", -- [2] }, [59873] = { "Corrupt Living Water", -- [1] "Temple of the Jade Serpent", -- [2] }, [183439] = { "Mawsworn Annihilator", -- [1] "Sepulcher of the First Ones", -- [2] }, [191313] = { "Bubbling Sapling", -- [1] "The Azure Vault", -- [2] }, [58319] = { "Lesser Sha", -- [1] "Pandaria", -- [2] }, [180113] = { "Rattling Mage", -- [1] "Sepulcher of the First Ones", -- [2] }, [186227] = { "Monstrous Decay", -- [1] "Brackenhide Hollow", -- [2] }, [176531] = { "Deathseeker Eye", -- [1] "Sanctum of Domination", -- [2] }, [177237] = { "Chains of Damnation", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [134056] = { "Aqu'sirr", -- [1] "Shrine of the Storm", -- [2] }, [75451] = { "Defiled Spirit", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [134139] = { "Shrine Templar", -- [1] "Shrine of the Storm", -- [2] }, [186737] = { "Telash Greywing", -- [1] "The Azure Vault", -- [2] }, [188302] = { "Reconfiguration Emitter", -- [1] "Sepulcher of the First Ones", -- [2] }, [122969] = { "Zanchuli Witch-Doctor", -- [1] "Atal'Dazar", -- [2] }, [144244] = { "The Platinum Pummeler", -- [1] "Operation: Mechagon", -- [2] }, [129366] = { "Bilge Rat Buccaneer", -- [1] "Siege of Boralus", -- [2] }, [165474] = { "Nathrian Assassin", -- [1] "Castle Nathria", -- [2] }, [135052] = { "Blight Toad", -- [1] "Waycrest Manor", -- [2] }, [192955] = { "Draconic Illusion", -- [1] "The Azure Vault", -- [2] }, [189232] = { "Kokia Blazehoof", -- [1] "Ruby Life Pools", -- [2] }, [115407] = { "Rook", -- [1] "Return to Karazhan", -- [2] }, [178732] = { "Mawsworn Runesmith", -- [1] "Sanctum of Domination", -- [2] }, [153377] = { "Goop", -- [1] "Operation: Mechagon", -- [2] }, [187139] = { "Crystal Thrasher", -- [1] "The Azure Vault", -- [2] }, [144293] = { "Waste Processing Unit", -- [1] "Operation: Mechagon", -- [2] }, [181395] = { "Skolex", -- [1] "Sepulcher of the First Ones", -- [2] }, [132056] = { "Venture Co. Skyscorcher", -- [1] "The MOTHERLODE!!", -- [2] }, [164406] = { "Shriekwing", -- [1] "Castle Nathria", -- [2] }, [184693] = { "Living Flame", -- [1] "Vault of the Incarnates", -- [2] }, [122970] = { "Shadowblade Stalker", -- [1] "Atal'Dazar", -- [2] }, [80005] = { "Skylord Tovra", -- [1] "Grimrail Depot", -- [2] }, [129367] = { "Bilge Rat Tempest", -- [1] "Siege of Boralus", -- [2] }, [144294] = { "Mechagon Tinkerer", -- [1] "Operation: Mechagon", -- [2] }, [130436] = { "Off-Duty Laborer", -- [1] "The MOTHERLODE!!", -- [2] }, [173464] = { "Deplina", -- [1] "Castle Nathria", -- [2] }, [417] = { "Wraaphom", -- [1] "Sepulcher of the First Ones", -- [2] }, [135048] = { "Gorestained Piglet", -- [1] "Waycrest Manor", -- [2] }, [186644] = { "Leymor", -- [1] "The Azure Vault", -- [2] }, [176535] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [194389] = { "Lava Spawn", -- [1] "Neltharus", -- [2] }, [144295] = { "Mechagon Mechanic", -- [1] "Operation: Mechagon", -- [2] }, [150222] = { "Gunker", -- [1] "Operation: Mechagon", -- [2] }, [75506] = { "Shadowmoon Loyalist", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [134828] = { "Aqualing", -- [1] "Shrine of the Storm", -- [2] }, [178071] = { "Maw Assassin", -- [1] "Sanctum of Domination", -- [2] }, [122971] = { "Dazar'ai Juggernaut", -- [1] "Atal'Dazar", -- [2] }, [56448] = { "Wise Mari", -- [1] "Temple of the Jade Serpent", -- [2] }, [139946] = { "Heart Guardian", -- [1] "Temple of Sethraliss", -- [2] }, [144296] = { "Spider Tank", -- [1] "Operation: Mechagon", -- [2] }, [181398] = { "Mal'Ganis", -- [1] "Sepulcher of the First Ones", -- [2] }, [173466] = { "Fara", -- [1] "Castle Nathria", -- [2] }, [177816] = { "Interrogation Specialist", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [178072] = { "Anduin Wrynn", -- [1] "Sanctum of Domination", -- [2] }, [144246] = { "K.U.-J.0.", -- [1] "Operation: Mechagon", -- [2] }, [176537] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [181548] = { "Prototype of Absolution", -- [1] "Sepulcher of the First Ones", -- [2] }, [76057] = { "Carrion Worm", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [181399] = { "Kin'tessa", -- [1] "Sepulcher of the First Ones", -- [2] }, [139269] = { "Gloom Horror", -- [1] "Waycrest Manor", -- [2] }, [177817] = { "Support Officer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184535] = { "Overthrown Artisan", -- [1] "Sepulcher of the First Ones", -- [2] }, [122972] = { "Dazar'ai Augur", -- [1] "Atal'Dazar", -- [2] }, [176538] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [129369] = { "Irontide Raider", -- [1] "Siege of Boralus", -- [2] }, [134063] = { "Brother Ironhull", -- [1] "Shrine of the Storm", -- [2] }, [130435] = { "Addled Thug", -- [1] "The MOTHERLODE!!", -- [2] }, [165483] = { "Court Hierarch", -- [1] "Castle Nathria", -- [2] }, [135002] = { "Demonic Tyrant", -- [1] "Sepulcher of the First Ones", -- [2] }, [184659] = { "Dominated Sentinel", -- [1] "Sepulcher of the First Ones", -- [2] }, [83761] = { "Ogron Laborer", -- [1] "Iron Docks", -- [2] }, [176539] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [139949] = { "Plague Doctor", -- [1] "Temple of Sethraliss", -- [2] }, [144299] = { "Workshop Defender", -- [1] "Operation: Mechagon", -- [2] }, [194487] = { "Vile Rothexer", -- [1] "Brackenhide Hollow", -- [2] }, [173469] = { "Kullan", -- [1] "Castle Nathria", -- [2] }, [128969] = { "Ashvane Commander", -- [1] "Siege of Boralus", -- [2] }, [182169] = { "Lihuvim", -- [1] "Sepulcher of the First Ones", -- [2] }, [122973] = { "Dazar'ai Confessor", -- [1] "Atal'Dazar", -- [2] }, [131823] = { "Sister Malady", -- [1] "Waycrest Manor", -- [2] }, [129370] = { "Irontide Waveshaper", -- [1] "Siege of Boralus", -- [2] }, [144300] = { "Mechagon Citizen", -- [1] "Operation: Mechagon", -- [2] }, [195399] = { "Curious Swoglet", -- [1] "Halls of Infusion", -- [2] }, [132530] = { "Kul Tiran Vanguard", -- [1] "Siege of Boralus", -- [2] }, [134617] = { "Krolusk Hatchling", -- [1] "Temple of Sethraliss", -- [2] }, [192791] = { "Nokhud Warspear", -- [1] "The Nokhud Offensive", -- [2] }, [180379] = { "Mawsworn Arbalest", -- [1] "Sanctum of Domination", -- [2] }, [192464] = { "Raging Ember", -- [1] "Neltharus", -- [2] }, [177892] = { "Mawforged Goliath", -- [1] "Sanctum of Domination", -- [2] }, [144301] = { "Living Waste", -- [1] "Operation: Mechagon", -- [2] }, [170197] = { "Conjured Manifestation", -- [1] "Castle Nathria", -- [2] }, [75509] = { "Sadana Bloodfury", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [126983] = { "Harlan Sweete", -- [1] "Freehold", -- [2] }, [190359] = { "Skulking Zealot", -- [1] "Halls of Infusion", -- [2] }, [189265] = { "Qalashi Bonetender", -- [1] "Neltharus", -- [2] }, [131858] = { "Thornguard", -- [1] "Waycrest Manor", -- [2] }, [187033] = { "Stinkbreath", -- [1] "Brackenhide Hollow", -- [2] }, [193462] = { "Batak", -- [1] "The Nokhud Offensive", -- [2] }, [176956] = { "Shadowsteel Goliath", -- [1] "Sanctum of Domination", -- [2] }, [183707] = { "Xy Spellslinger", -- [1] "Sepulcher of the First Ones", -- [2] }, [182074] = { "Acquisitions Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [130011] = { "Irontide Buccaneer", -- [1] "Freehold", -- [2] }, [194895] = { "Unstable Squall", -- [1] "The Nokhud Offensive", -- [2] }, [164261] = { "Hungering Destroyer", -- [1] "Castle Nathria", -- [2] }, [137103] = { "Blood Visage", -- [1] "The Underrot", -- [2] }, [144303] = { "G.U.A.R.D.", -- [1] "Operation: Mechagon", -- [2] }, [77700] = { "Shadowmoon Exhumer", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [133384] = { "Merektha", -- [1] "Temple of Sethraliss", -- [2] }, [185529] = { "Bracken Warscourge", -- [1] "Brackenhide Hollow", -- [2] }, [178079] = { "The Jailer", -- [1] "Sanctum of Domination", -- [2] }, [136984] = { "Reban", -- [1] "Kings' Rest", -- [2] }, [81212] = { "Grimrail Overseer", -- [1] "Grimrail Depot", -- [2] }, [129372] = { "Blacktar Bomber", -- [1] "Siege of Boralus", -- [2] }, [134069] = { "Vol'zith the Whisperer", -- [1] "Shrine of the Storm", -- [2] }, [135240] = { "Soul Essence", -- [1] "Waycrest Manor", -- [2] }, [193944] = { "Qalashi Lavamancer", -- [1] "Neltharus", -- [2] }, [81297] = { "Dreadfang", -- [1] "Iron Docks", -- [2] }, [190362] = { "Dazzling Dragonfly", -- [1] "Halls of Infusion", -- [2] }, [140447] = { "Demolishing Terror", -- [1] "Siege of Boralus", -- [2] }, [184733] = { "Dominated Grunt", -- [1] "Sepulcher of the First Ones", -- [2] }, [150190] = { "HK-8 Aerial Oppression Unit", -- [1] "Operation: Mechagon", -- [2] }, [190609] = { "Echo of Doragosa", -- [1] "Algeth'ar Academy", -- [2] }, [194896] = { "Primal Stormshield", -- [1] "The Nokhud Offensive", -- [2] }, [128651] = { "Hadal Darkfathom", -- [1] "Siege of Boralus", -- [2] }, [129699] = { "Ludwig Von Tortollan", -- [1] "Freehold", -- [2] }, [175861] = { "Glacial Spike", -- [1] "Sanctum of Domination", -- [2] }, [180431] = { "Focused Ritualist", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184734] = { "Sacred Matrix Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [129373] = { "Dockhound Packmaster", -- [1] "Siege of Boralus", -- [2] }, [189340] = { "Chargath, Bane of Scales", -- [1] "Neltharus", -- [2] }, [76407] = { "Ner'zhul", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [131383] = { "Sporecaller Zancha", -- [1] "The Underrot", -- [2] }, [114364] = { "Mana-Gorged Wyrm", -- [1] "Return to Karazhan", -- [2] }, [184520] = { "Anduin's Despair", -- [1] "Sepulcher of the First Ones", -- [2] }, [180385] = { "Condemned Soul Remnant", -- [1] "Sanctum of Domination", -- [2] }, [184735] = { "Degeneration Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [129550] = { "Bilge Rat Padfoot", -- [1] "Freehold", -- [2] }, [179386] = { "Corsair Officer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [130653] = { "Wanton Sapper", -- [1] "The MOTHERLODE!!", -- [2] }, [196482] = { "Overgrown Ancient", -- [1] "Algeth'ar Academy", -- [2] }, [130909] = { "Fetid Maggot", -- [1] "The Underrot", -- [2] }, [176879] = { "Hollowsoul", -- [1] "Sanctum of Domination", -- [2] }, [184533] = { "Overthrown Protector", -- [1] "Sepulcher of the First Ones", -- [2] }, [83389] = { "Ironwing Flamespitter", -- [1] "Iron Docks", -- [2] }, [178851] = { "Burning Stygia", -- [1] "Sanctum of Domination", -- [2] }, [183396] = { "Eternal Forger", -- [1] "Sepulcher of the First Ones", -- [2] }, [195875] = { "Desecrated Bakar", -- [1] "The Nokhud Offensive", -- [2] }, [129758] = { "Irontide Grenadier", -- [1] "Freehold", -- [2] }, [173973] = { "Nathrian Tracker", -- [1] "Castle Nathria", -- [2] }, [190366] = { "Curious Swoglet", -- [1] "Halls of Infusion", -- [2] }, [180387] = { "Mawsworn Paindrinker", -- [1] "Sanctum of Domination", -- [2] }, [184737] = { "Acquisitions Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [184131] = { "Earthen Guardian", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [177891] = { "Mawforged Summoner", -- [1] "Sanctum of Domination", -- [2] }, [115757] = { "Wrathguard Flamebringer", -- [1] "Return to Karazhan", -- [2] }, [186420] = { "Earthen Weaver", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [127315] = { "Reanimation Totem", -- [1] "Atal'Dazar", -- [2] }, [77816] = { "Borka the Brute", -- [1] "Grimrail Depot", -- [2] }, [141495] = { "Kul Tiran Footman", -- [1] "Siege of Boralus", -- [2] }, [184738] = { "Guardian Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [150195] = { "Gnome-Eating Slime", -- [1] "Operation: Mechagon", -- [2] }, [132126] = { "Gilded Priestess", -- [1] "Atal'Dazar", -- [2] }, [134331] = { "King Rahu'ai", -- [1] "Kings' Rest", -- [2] }, [94960] = { "Hymdall", -- [1] "Halls of Valor", -- [2] }, [135975] = { "Off-Duty Laborer", -- [1] "The MOTHERLODE!!", -- [2] }, [190368] = { "Flamecaller Aymi", -- [1] "Halls of Infusion", -- [2] }, [180389] = { "Mawsworn Rageguard", -- [1] "Sanctum of Domination", -- [2] }, [176551] = { "Vault Purifier", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [183499] = { "Hired Muscle", -- [1] "Sepulcher of the First Ones", -- [2] }, [165470] = { "Nathrian Executor", -- [1] "Castle Nathria", -- [2] }, [183406] = { "Colossal Realmcrafter", -- [1] "Sepulcher of the First Ones", -- [2] }, [184581] = { "Baelog", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [135322] = { "The Golden Serpent", -- [1] "Kings' Rest", -- [2] }, [151476] = { "Blastatron X-80", -- [1] "Operation: Mechagon", -- [2] }, [154758] = { "Toxic Monstrosity", -- [1] "Operation: Mechagon", -- [2] }, [189478] = { "Forgemaster Gorek", -- [1] "Neltharus", -- [2] }, [186246] = { "Fleshripper Vulture", -- [1] "Brackenhide Hollow", -- [2] }, [145185] = { "Gnomercy 4.U.", -- [1] "Operation: Mechagon", -- [2] }, [185508] = { "Claw Fighter", -- [1] "Brackenhide Hollow", -- [2] }, [190348] = { "Primalist Ravager", -- [1] "Halls of Infusion", -- [2] }, [188067] = { "Flashfrost Chillweaver", -- [1] "Ruby Life Pools", -- [2] }, [190370] = { "Squallbringer Cyraz", -- [1] "Halls of Infusion", -- [2] }, [187315] = { "Disease Slasher", -- [1] "Brackenhide Hollow", -- [2] }, [132532] = { "Kul Tiran Marksman", -- [1] "Siege of Boralus", -- [2] }, [130400] = { "Irontide Crusher", -- [1] "Freehold", -- [2] }, [197535] = { "High Channeler Ryvati", -- [1] "Ruby Life Pools", -- [2] }, [193373] = { "Nokhud Thunderfist", -- [1] "The Nokhud Offensive", -- [2] }, [198047] = { "Tempest Channeler", -- [1] "Ruby Life Pools", -- [2] }, [180392] = { "Gorgoan Souldrinker", -- [1] "Sanctum of Domination", -- [2] }, [190371] = { "Primalist Earthshaker", -- [1] "Halls of Infusion", -- [2] }, [75899] = { "Possessed Soul", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [178601] = { "Kevin's Oozeling", -- [1] "Sepulcher of the First Ones", -- [2] }, [81603] = { "Champion Druna", -- [1] "Iron Docks", -- [2] }, [186116] = { "Gutshot", -- [1] "Brackenhide Hollow", -- [2] }, [183463] = { "Remnant of a Fallen King", -- [1] "Sepulcher of the First Ones", -- [2] }, [173484] = { "Conjured Manifestation", -- [1] "Castle Nathria", -- [2] }, [139110] = { "Spark Channeler", -- [1] "Temple of Sethraliss", -- [2] }, [168962] = { "Reborn Phoenix", -- [1] "Castle Nathria", -- [2] }, [81407] = { "Grimrail Bombardier", -- [1] "Grimrail Depot", -- [2] }, [176555] = { "Achillite", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [81279] = { "Grom'kar Flameslinger", -- [1] "Iron Docks", -- [2] }, [150712] = { "Trixie Tazer", -- [1] "Operation: Mechagon", -- [2] }, [197793] = { "Awakened Juggernaut", -- [1] "Vault of the Incarnates", -- [2] }, [175729] = { "Remnant of Ner'zhul", -- [1] "Sanctum of Domination", -- [2] }, [194467] = { "Disease Slasher", -- [1] "Brackenhide Hollow", -- [2] }, [190373] = { "Primalist Galesinger", -- [1] "Halls of Infusion", -- [2] }, [168112] = { "General Kaal", -- [1] "Castle Nathria", -- [2] }, [176556] = { "Alcruux", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [180906] = { "Halondrus", -- [1] "Sepulcher of the First Ones", -- [2] }, [175727] = { "Soulrender Dormazain", -- [1] "Sanctum of Domination", -- [2] }, [178733] = { "Mawsworn Vanguard", -- [1] "Sanctum of Domination", -- [2] }, [173568] = { "Anima Crazed Worker", -- [1] "Castle Nathria", -- [2] }, [130896] = { "Blackout Barrel", -- [1] "Freehold", -- [2] }, [193293] = { "Qalashi Warden", -- [1] "Neltharus", -- [2] }, [168113] = { "General Grashaal", -- [1] "Castle Nathria", -- [2] }, [129231] = { "Rixxa Fluxflame", -- [1] "The MOTHERLODE!!", -- [2] }, [176705] = { "Venza Goldfuse", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [186615] = { "The Raging Tempest", -- [1] "The Nokhud Offensive", -- [2] }, [134338] = { "Tidesage Enforcer", -- [1] "Shrine of the Storm", -- [2] }, [168973] = { "High Torturer Darithos", -- [1] "Castle Nathria", -- [2] }, [79739] = { "Grom'kar Grenadier", -- [1] "Grimrail Depot", -- [2] }, [194469] = { "Wither Slasher", -- [1] "Brackenhide Hollow", -- [2] }, [129559] = { "Cutwater Duelist", -- [1] "Freehold", -- [2] }, [192934] = { "Volatile Infuser", -- [1] "Vault of the Incarnates", -- [2] }, [136214] = { "Windspeaker Heldis", -- [1] "Shrine of the Storm", -- [2] }, [137521] = { "Irontide Powdershot", -- [1] "Siege of Boralus", -- [2] }, [133007] = { "Unbound Abomination", -- [1] "The Underrot", -- [2] }, [183412] = { "Dominated Saboteur", -- [1] "Sepulcher of the First Ones", -- [2] }, [153755] = { "Naeno Megacrash", -- [1] "Operation: Mechagon", -- [2] }, [186616] = { "Granyth", -- [1] "The Nokhud Offensive", -- [2] }, [174090] = { "Nathrian Hierarch", -- [1] "Castle Nathria", -- [2] }, [130521] = { "Freehold Deckhand", -- [1] "Freehold", -- [2] }, [178862] = { "Screamspike", -- [1] "Sanctum of Domination", -- [2] }, [114790] = { "Viz'aduum the Watcher", -- [1] "Return to Karazhan", -- [2] }, [83578] = { "Ogron Laborer", -- [1] "Iron Docks", -- [2] }, [98035] = { "Dreadstalker", -- [1] "Sepulcher of the First Ones", -- [2] }, [134058] = { "Galecaller Faye", -- [1] "Shrine of the Storm", -- [2] }, [190377] = { "Primalist Icecaller", -- [1] "Halls of Infusion", -- [2] }, [192680] = { "Guardian Sentry", -- [1] "Algeth'ar Academy", -- [2] }, [135470] = { "Aka'ali the Conqueror", -- [1] "Kings' Rest", -- [2] }, [199333] = { "Frostbreath Arachnid", -- [1] "Vault of the Incarnates", -- [2] }, [136347] = { "Tidesage Initiate", -- [1] "Shrine of the Storm", -- [2] }, [129371] = { "Riptide Shredder", -- [1] "Siege of Boralus", -- [2] }, [198310] = { "Flame Tarasek", -- [1] "Vault of the Incarnates", -- [2] }, [196263] = { "Nokhud Neophyte", -- [1] "The Nokhud Offensive", -- [2] }, [186284] = { "Gutchewer Bear", -- [1] "Brackenhide Hollow", -- [2] }, [135365] = { "Matron Alma", -- [1] "Waycrest Manor", -- [2] }, [131527] = { "Lord Waycrest", -- [1] "Waycrest Manor", -- [2] }, [130404] = { "Vermin Trapper", -- [1] "Freehold", -- [2] }, [176394] = { "P.O.S.T. Worker", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [197799] = { "Quarry Infuser", -- [1] "Vault of the Incarnates", -- [2] }, [185268] = { "Ebonsteel Construct", -- [1] "Sepulcher of the First Ones", -- [2] }, [130661] = { "Venture Co. Earthshaper", -- [1] "The MOTHERLODE!!", -- [2] }, [122984] = { "Dazar'ai Colossus", -- [1] "Atal'Dazar", -- [2] }, [184494] = { "Anduin's Doubt", -- [1] "Sepulcher of the First Ones", -- [2] }, [176562] = { "Brawling Patron", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [130012] = { "Irontide Ravager", -- [1] "Freehold", -- [2] }, [151325] = { "Alarm-o-Bot", -- [1] "Operation: Mechagon", -- [2] }, [129552] = { "Monzumi", -- [1] "Atal'Dazar", -- [2] }, [134599] = { "Imbued Stormcaller", -- [1] "Temple of Sethraliss", -- [2] }, [134060] = { "Lord Stormsong", -- [1] "Shrine of the Storm", -- [2] }, [199037] = { "Primalist Shocktrooper", -- [1] "Halls of Infusion", -- [2] }, [80937] = { "Grom'kar Gunner", -- [1] "Grimrail Depot", -- [2] }, [176563] = { "Zo'gron", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [136391] = { "Heart Guardian", -- [1] "Temple of Sethraliss", -- [2] }, [134423] = { "Abyss Dweller", -- [1] "Shrine of the Storm", -- [2] }, [197801] = { "Awakened Terrasentry", -- [1] "Vault of the Incarnates", -- [2] }, [134600] = { "Sandswept Marksman", -- [1] "Temple of Sethraliss", -- [2] }, [128551] = { "Irontide Mastiff", -- [1] "Freehold", -- [2] }, [190381] = { "Rotburst Totem", -- [1] "Brackenhide Hollow", -- [2] }, [144071] = { "Irontide Waveshaper", -- [1] "Siege of Boralus", -- [2] }, [195878] = { "Ukhel Beastcaller", -- [1] "The Nokhud Offensive", -- [2] }, [185008] = { "Volatile Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [174071] = { "Vicious Gargon", -- [1] "Castle Nathria", -- [2] }, [136643] = { "Azerite Extractor", -- [1] "The MOTHERLODE!!", -- [2] }, [196202] = { "Spectral Invoker", -- [1] "Algeth'ar Academy", -- [2] }, [142587] = { "Devouring Maggot", -- [1] "Waycrest Manor", -- [2] }, [130522] = { "Freehold Shipmate", -- [1] "Freehold", -- [2] }, [137517] = { "Ashvane Destroyer", -- [1] "Siege of Boralus", -- [2] }, [176565] = { "Disruptive Patron", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [136483] = { "Ashvane Deckhand", -- [1] "Siege of Boralus", -- [2] }, [139422] = { "Scaled Krolusk Tamer", -- [1] "Temple of Sethraliss", -- [2] }, [193709] = { "Primalist Earthwarden", -- [1] "Vault of the Incarnates", -- [2] }, [135475] = { "Kula the Butcher", -- [1] "Kings' Rest", -- [2] }, [185347] = { "Dominated Eradicator", -- [1] "Sepulcher of the First Ones", -- [2] }, [129232] = { "Mogul Razdunk", -- [1] "The MOTHERLODE!!", -- [2] }, [122986] = { "Wild Skyscreamer", -- [1] "Atal'Dazar", -- [2] }, [128652] = { "Viq'Goth", -- [1] "Siege of Boralus", -- [2] }, [133835] = { "Feral Bloodswarmer", -- [1] "The Underrot", -- [2] }, [137405] = { "Gripping Terror", -- [1] "Siege of Boralus", -- [2] }, [137969] = { "Interment Construct", -- [1] "Kings' Rest", -- [2] }, [114338] = { "Mana Confluence", -- [1] "Return to Karazhan", -- [2] }, [190128] = { "Zul'gamux", -- [1] "Return to Karazhan", -- [2] }, [77483] = { "Grom'kar Gunner", -- [1] "Grimrail Depot", -- [2] }, [115402] = { "Bishop", -- [1] "Return to Karazhan", -- [2] }, [79888] = { "Iron Infantry", -- [1] "Grimrail Depot", -- [2] }, [133836] = { "Reanimated Guardian", -- [1] "The Underrot", -- [2] }, [136139] = { "Mechanized Peacekeeper", -- [1] "The MOTHERLODE!!", -- [2] }, [150547] = { "Scrapbone Grunter", -- [1] "Operation: Mechagon", -- [2] }, [58959] = { "Gibrik", -- [1] "Sepulcher of the First Ones", -- [2] }, [179894] = { "Deathseeker Eye", -- [1] "Sanctum of Domination", -- [2] }, [151579] = { "Shield Generator", -- [1] "Operation: Mechagon", -- [2] }, [184742] = { "Dominated Shaper", -- [1] "Sepulcher of the First Ones", -- [2] }, [195927] = { "Soulharvester Galtmaa", -- [1] "The Nokhud Offensive", -- [2] }, [165762] = { "Soul Infuser", -- [1] "Castle Nathria", -- [2] }, [138187] = { "Grotesque Horror", -- [1] "The Underrot", -- [2] }, [129640] = { "Snarling Dockhound", -- [1] "Siege of Boralus", -- [2] }, [173178] = { "Stone Legion Goliath", -- [1] "Castle Nathria", -- [2] }, [130437] = { "Mine Rat", -- [1] "The MOTHERLODE!!", -- [2] }, [130024] = { "Soggy Shiprat", -- [1] "Freehold", -- [2] }, [180407] = { "Gorgoan Sentinel", -- [1] "Sanctum of Domination", -- [2] }, [165805] = { "Shade of Kael'thas", -- [1] "Castle Nathria", -- [2] }, [136250] = { "Hoodoo Hexer", -- [1] "Temple of Sethraliss", -- [2] }, [193457] = { "Balara", -- [1] "The Nokhud Offensive", -- [2] }, [115486] = { "Erudite Slayer", -- [1] "Return to Karazhan", -- [2] }, [175546] = { "Timecap'n Hooktail", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [81236] = { "Grimrail Technician", -- [1] "Grimrail Depot", -- [2] }, [190426] = { "Decay Totem", -- [1] "Brackenhide Hollow", -- [2] }, [133436] = { "Venture Co. Skyscorcher", -- [1] "The MOTHERLODE!!", -- [2] }, [180664] = { "Mawsworn Infuser", -- [1] "Sanctum of Domination", -- [2] }, [180864] = { "High Torturer", -- [1] "Sanctum of Domination", -- [2] }, [86526] = { "Grom'kar Chainmaster", -- [1] "Iron Docks", -- [2] }, [171557] = { "Shade of Bargast", -- [1] "Castle Nathria", -- [2] }, [177594] = { "Mawsworn Agonizer", -- [1] "Sanctum of Domination", -- [2] }, [129208] = { "Dread Captain Lockwood", -- [1] "Siege of Boralus", -- [2] }, [174012] = { "Executrix Ophelia", -- [1] "Castle Nathria", -- [2] }, [174069] = { "Hulking Gargon", -- [1] "Castle Nathria", -- [2] }, [180665] = { "Gibbering Soul", -- [1] "Sanctum of Domination", -- [2] }, [138464] = { "Ashvane Deckhand", -- [1] "Siege of Boralus", -- [2] }, [185271] = { "Stellar Mote", -- [1] "Sepulcher of the First Ones", -- [2] }, [136399] = { "Vicious Hellhound", -- [1] "Sepulcher of the First Ones", -- [2] }, [187021] = { "Rotbow Sentry", -- [1] "Brackenhide Hollow", -- [2] }, [75652] = { "Void Spawn", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [198577] = { "Unstable Flame", -- [1] "Vault of the Incarnates", -- [2] }, [188100] = { "Shrieking Whelp", -- [1] "The Azure Vault", -- [2] }, [173798] = { "Rat of Unusual Size", -- [1] "Castle Nathria", -- [2] }, [104822] = { "Flame of Woe", -- [1] "Halls of Valor", -- [2] }, [187192] = { "Rageclaw", -- [1] "Brackenhide Hollow", -- [2] }, [185528] = { "Trickclaw Mystic", -- [1] "Brackenhide Hollow", -- [2] }, [189878] = { "Nathrezim Infiltrator", -- [1] "Return to Karazhan", -- [2] }, [135167] = { "Spectral Berserker", -- [1] "Kings' Rest", -- [2] }, [189669] = { "Binding Spear", -- [1] "Neltharus", -- [2] }, [133379] = { "Adderis", -- [1] "Temple of Sethraliss", -- [2] }, [152009] = { "Malfunctioning Scrapbot", -- [1] "Operation: Mechagon", -- [2] }, [189266] = { "Qalashi Trainee", -- [1] "Neltharus", -- [2] }, [132051] = { "Blood Tick", -- [1] "The Underrot", -- [2] }, [179388] = { "Hourglass Tidesage", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [131545] = { "Lady Waycrest", -- [1] "Waycrest Manor", -- [2] }, [175806] = { "So'azmi", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [136005] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [181549] = { "Prototype of War", -- [1] "Sepulcher of the First Ones", -- [2] }, [135761] = { "Thundering Totem", -- [1] "Kings' Rest", -- [2] }, [135241] = { "Bilge Rat Pillager", -- [1] "Siege of Boralus", -- [2] }, [185274] = { "Astral Particle", -- [1] "Sepulcher of the First Ones", -- [2] }, [184986] = { "Kurog Grimtotem", -- [1] "Vault of the Incarnates", -- [2] }, [115765] = { "Abstract Nullifier", -- [1] "Return to Karazhan", -- [2] }, [131670] = { "Heartsbane Vinetwister", -- [1] "Waycrest Manor", -- [2] }, [83697] = { "Grom'kar Deckhand", -- [1] "Iron Docks", -- [2] }, [131850] = { "Maddened Survivalist", -- [1] "Waycrest Manor", -- [2] }, [190407] = { "Aqua Rager", -- [1] "Halls of Infusion", -- [2] }, [81283] = { "Grom'kar Footsoldier", -- [1] "Iron Docks", -- [2] }, [185275] = { "Kelmortos", -- [1] "Sepulcher of the First Ones", -- [2] }, [136264] = { "Half-Finished Mummy", -- [1] "Kings' Rest", -- [2] }, [134612] = { "Grasping Tentacles", -- [1] "Shrine of the Storm", -- [2] }, [187155] = { "Rune Seal Keeper", -- [1] "The Azure Vault", -- [2] }, [114675] = { "Guardian's Image", -- [1] "Return to Karazhan", -- [2] }, [31216] = { "Arclord", -- [1] "Sepulcher of the First Ones", -- [2] }, [178623] = { "Mawsworn Guard", -- [1] "Sanctum of Domination", -- [2] }, [134990] = { "Charged Dust Devil", -- [1] "Temple of Sethraliss", -- [2] }, [191046] = { "Shady Dealer", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [191736] = { "Crawth", -- [1] "Algeth'ar Academy", -- [2] }, [144298] = { "Defense Bot Mk III", -- [1] "Operation: Mechagon", -- [2] }, [138064] = { "Posh Vacationer", -- [1] "The MOTHERLODE!!", -- [2] }, [180159] = { "Brawling Patron", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [180415] = { "Mawsworn Axeguard", -- [1] "Sanctum of Domination", -- [2] }, [178624] = { "Mawsworn Sentry", -- [1] "Sanctum of Domination", -- [2] }, [137940] = { "Safety Shark", -- [1] "The MOTHERLODE!!", -- [2] }, [97788] = { "Storm Drake", -- [1] "Halls of Valor", -- [2] }, [169157] = { "Mudlump", -- [1] "Castle Nathria", -- [2] }, [138493] = { "Minion of Zul", -- [1] "Kings' Rest", -- [2] }, [132481] = { "Kul Tiran Vanguard", -- [1] "Siege of Boralus", -- [2] }, [75715] = { "Reanimated Ritual Bones", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [194745] = { "Rotfang Hyena", -- [1] "Brackenhide Hollow", -- [2] }, [178625] = { "Mawsworn Archer", -- [1] "Sanctum of Domination", -- [2] }, [200035] = { "Carrion Worm", -- [1] "Shadowmoon Burial Grounds", -- [2] }, [129517] = { "Reanimated Raptor", -- [1] "Atal'Dazar", -- [2] }, [185534] = { "Bonebolt Hunter", -- [1] "Brackenhide Hollow", -- [2] }, [196203] = { "Ethereal Restorer", -- [1] "Algeth'ar Academy", -- [2] }, [187638] = { "Flamescale Tarasek", -- [1] "Vault of the Incarnates", -- [2] }, [187593] = { "Primal Flame", -- [1] "Vault of the Incarnates", -- [2] }, [62358] = { "Corrupt Droplet", -- [1] "Temple of the Jade Serpent", -- [2] }, [178626] = { "Mawrat", -- [1] "Sanctum of Domination", -- [2] }, [191164] = { "Arcane Tender", -- [1] "The Azure Vault", -- [2] }, [191739] = { "Scalebane Lieutenant", -- [1] "The Azure Vault", -- [2] }, [59546] = { "The Talking Fish", -- [1] "Temple of the Jade Serpent", -- [2] }, [134616] = { "Krolusk Pup", -- [1] "Temple of Sethraliss", -- [2] }, [189234] = { "Frostbreath Arachnid", -- [1] "Vault of the Incarnates", -- [2] }, [95842] = { "Valarjar Thundercaller", -- [1] "Halls of Valor", -- [2] }, [200936] = { "Living Flame", -- [1] "Vault of the Incarnates", -- [2] }, [133593] = { "Expert Technician", -- [1] "The MOTHERLODE!!", -- [2] }, [199353] = { "Frost Tomb", -- [1] "Vault of the Incarnates", -- [2] }, [129214] = { "Coin-Operated Crowd Pummeler", -- [1] "The MOTHERLODE!!", -- [2] }, [165066] = { "Huntsman Altimor", -- [1] "Castle Nathria", -- [2] }, [189886] = { "Blazebound Firestorm", -- [1] "Ruby Life Pools", -- [2] }, [181954] = { "Anduin Wrynn", -- [1] "Sepulcher of the First Ones", -- [2] }, [97087] = { "Valarjar Champion", -- [1] "Halls of Valor", -- [2] }, [200137] = { "Depraved Mistweaver", -- [1] "Temple of the Jade Serpent", -- [2] }, [176581] = { "Spiked Ball", -- [1] "Sanctum of Domination", -- [2] }, [192788] = { "Qalashi Thaumaturge", -- [1] "Neltharus", -- [2] }, [136249] = { "Guardian Elemental", -- [1] "Shrine of the Storm", -- [2] }, [165067] = { "Margore", -- [1] "Castle Nathria", -- [2] }, [96574] = { "Stormforged Sentinel", -- [1] "Halls of Valor", -- [2] }, [96664] = { "Valarjar Runecarver", -- [1] "Halls of Valor", -- [2] }, [95834] = { "Valarjar Mystic", -- [1] "Halls of Valor", -- [2] }, [95832] = { "Valarjar Shieldmaiden", -- [1] "Halls of Valor", -- [2] }, [192764] = { "Flame Guardian", -- [1] "Vault of the Incarnates", -- [2] }, [79852] = { "Oshir", -- [1] "Iron Docks", -- [2] }, [177094] = { "Signe", -- [1] "Sanctum of Domination", -- [2] }, [101639] = { "Valarjar Shieldmaiden", -- [1] "Halls of Valor", -- [2] }, [175559] = { "Kel'Thuzad", -- [1] "Sanctum of Domination", -- [2] }, [99891] = { "Storm Drake", -- [1] "Halls of Valor", -- [2] }, [96934] = { "Valarjar Trapper", -- [1] "Halls of Valor", -- [2] }, [95674] = { "Fenryr", -- [1] "Halls of Valor", -- [2] }, [178630] = { "Mawsworn Seeker", -- [1] "Sanctum of Domination", -- [2] }, [133852] = { "Living Rot", -- [1] "The Underrot", -- [2] }, [177095] = { "Kyra", -- [1] "Sanctum of Domination", -- [2] }, [134364] = { "Faithless Tender", -- [1] "Temple of Sethraliss", -- [2] }, [155090] = { "Anodized Coilbearer", -- [1] "Operation: Mechagon", -- [2] }, [129547] = { "Blacktooth Knuckleduster", -- [1] "Freehold", -- [2] }, [190401] = { "Gusting Proto-Dragon", -- [1] "Halls of Infusion", -- [2] }, [196798] = { "Corrupted Manafiend", -- [1] "Algeth'ar Academy", -- [2] }, [178631] = { "Mawsworn Commander", -- [1] "Sanctum of Domination", -- [2] }, [96640] = { "Valarjar Marksman", -- [1] "Halls of Valor", -- [2] }, [197149] = { "Qalashi Lavamancer", -- [1] "Vault of the Incarnates", -- [2] }, [179399] = { "Drunk Pirate", -- [1] "Tazavesh, the Veiled Market", -- [2] }, [184522] = { "Vigilant Custodian", -- [1] "Sepulcher of the First Ones", -- [2] }, [187771] = { "Kadros Icewrath", -- [1] "Vault of the Incarnates", -- [2] }, [187772] = { "Opalfang", -- [1] "Vault of the Incarnates", -- [2] }, [115831] = { "Mana Devourer", -- [1] "Return to Karazhan", -- [2] }, [190690] = { "Thundering Ravager", -- [1] "Vault of the Incarnates", -- [2] }, [6112] = { "Windfury Totem", -- [1] "Sepulcher of the First Ones", -- [2] }, [176973] = { "Unstoppable Abomination", -- [1] "Sanctum of Domination", -- [2] }, }, ["aura_cooldown_reverse"] = false, ["health_selection_overlay_alpha"] = 0.29999998211861, ["minor_height_scale"] = 0.99999994039536, ["aura_padding"] = 2, ["last_news_time"] = 1551553489, ["aura_width2"] = 22, ["castbar_target_anchor"] = { ["side"] = 11, }, ["hook_data_trash"] = { { ["Enabled"] = false, ["Revision"] = 90, ["OptionsValues"] = { }, ["HooksTemp"] = { ["Nameplate Added"] = "\n\n-- exported function Plater.UpdatePlateSize() from Plater.lua\n--this is for advanced users which wants to reorder the nameplate frame at their desire\n\n\n\nfunction (self, unitId, unitFrame, envTable)\n \n --check if there's a type of unit on this nameplate\n local plateFrame = unitFrame:GetParent()\n if (not plateFrame.actorType) then\n return\n end\n \n --get all the frames and cache some variables\n local ACTORTYPE_ENEMY_PLAYER = \"enemyplayer\"\n local profile = Plater.db.profile\n local DB_PLATE_CONFIG = profile.plate_config\n local isInCombat = Plater.IsInCombat()\n local actorType = plateFrame.actorType\n \n local unitFrame = plateFrame.unitFrame\n local healthBar = unitFrame.healthBar\n local castBar = unitFrame.castBar\n local powerBar = unitFrame.powerBar\n local buffFrame1 = unitFrame.BuffFrame\n local buffFrame2 = unitFrame.BuffFrame2\n \n --use in combat bars when in pvp\n if (plateFrame.actorType == ACTORTYPE_ENEMY_PLAYER) then\n if ((Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"arena\") and DB_PLATE_CONFIG.player.pvp_always_incombat) then\n isInCombat = true\n end\n end\n \n --get the config for this actor type\n local plateConfigs = DB_PLATE_CONFIG [actorType]\n --get the config key based if the player is in combat\n local castBarConfigKey, healthBarConfigKey, manaConfigKey = Plater.GetHashKey (isInCombat)\n \n --get the width and height from what the user set in the options panel\n local healthBarWidth, healthBarHeight = unitFrame.customHealthBarWidth or plateConfigs [healthBarConfigKey][1], unitFrame.customHealthBarHeight or plateConfigs [healthBarConfigKey][2]\n local castBarWidth, castBarHeight = unitFrame.customCastBarWidth or plateConfigs [castBarConfigKey][1], unitFrame.customCastBarHeight or plateConfigs [castBarConfigKey][2]\n local powerBarWidth, powerBarHeight = unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][1], unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][2]\n \n --calculate the offset for the cast bar, this is done due to the cast bar be anchored to topleft and topright\n local castBarOffSetX = (healthBarWidth - castBarWidth) / 2\n local castBarOffSetY = plateConfigs.castbar_offset\n \n --calculate offsets for the power bar\n local powerBarOffSetX = (healthBarWidth - powerBarWidth) / 2\n local powerBarOffSetY = 0\n \n --calculate the size deviation for pets\n local unitType = Plater.GetUnitType (plateFrame)\n if (unitType == \"pet\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.pet_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.pet_width_scale\n \n elseif (unitType == \"minus\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.minor_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.minor_width_scale\n end\n \n --unit frame - is set to be the same size as the plateFrame\n unitFrame:ClearAllPoints()\n unitFrame:SetAllPoints()\n \n --calculates the health bar anchor points\n --it will always be placed in the center of the nameplate area (where it accepts mouse clicks) \n local xOffSet = (plateFrame:GetWidth() - healthBarWidth) / 2\n local yOffSet = (plateFrame:GetHeight() - healthBarHeight) / 2\n \n --set the health bar point\n healthBar:ClearAllPoints()\n PixelUtil.SetPoint (healthBar, \"topleft\", unitFrame, \"topleft\", xOffSet + profile.global_offset_x, -yOffSet + profile.global_offset_y)\n PixelUtil.SetPoint (healthBar, \"bottomright\", unitFrame, \"bottomright\", -xOffSet + profile.global_offset_x, yOffSet + profile.global_offset_y)\n \n --set the cast bar point and size\n castBar:ClearAllPoints()\n PixelUtil.SetPoint (castBar, \"topleft\", healthBar, \"bottomleft\", castBarOffSetX, castBarOffSetY)\n PixelUtil.SetPoint (castBar, \"topright\", healthBar, \"bottomright\", -castBarOffSetX, castBarOffSetY)\n PixelUtil.SetHeight (castBar, castBarHeight)\n PixelUtil.SetSize (castBar.Icon, castBarHeight, castBarHeight)\n PixelUtil.SetSize (castBar.BorderShield, castBarHeight * 1.4, castBarHeight * 1.4)\n \n --set the power bar point and size\n powerBar:ClearAllPoints()\n PixelUtil.SetPoint (powerBar, \"topleft\", healthBar, \"bottomleft\", powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetPoint (powerBar, \"topright\", healthBar, \"bottomright\", -powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetHeight (powerBar, powerBarHeight)\n \n --power bar are hidden by default, show it if there's a custom size for it\n if (unitFrame.customPowerBarWidth and unitFrame.customPowerBarHeight) then\n powerBar:SetUnit (unitFrame.unit)\n end\n \n --aura frames\n buffFrame1:ClearAllPoints()\n PixelUtil.SetPoint (buffFrame1, \"bottom\", unitFrame, \"top\", profile.aura_x_offset, plateConfigs.buff_frame_y_offset + profile.aura_y_offset)\n \n buffFrame2:ClearAllPoints()\n PixelUtil.SetPoint (buffFrame2, \"bottom\", unitFrame, \"top\", profile.aura2_x_offset, plateConfigs.buff_frame_y_offset + profile.aura2_y_offset) \n \nend\n\n\n", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Function Plater.UpdatePlateSize from Plater.lua exported to scritps.", ["Hooks"] = { ["Nameplate Added"] = "\n\n-- exported function Plater.UpdatePlateSize() from Plater.lua\n--this is for advanced users which wants to reorder the nameplate frame at their desire\n\n\n\nfunction (self, unitId, unitFrame, envTable)\n \n --check if there's a type of unit on this nameplate\n local plateFrame = unitFrame:GetParent()\n if (not plateFrame.actorType) then\n return\n end\n \n --get all the frames and cache some variables\n local ACTORTYPE_ENEMY_PLAYER = \"enemyplayer\"\n local profile = Plater.db.profile\n local DB_PLATE_CONFIG = profile.plate_config\n local isInCombat = Plater.IsInCombat()\n local actorType = plateFrame.actorType\n \n local unitFrame = plateFrame.unitFrame\n local healthBar = unitFrame.healthBar\n local castBar = unitFrame.castBar\n local powerBar = unitFrame.powerBar\n local buffFrame1 = unitFrame.BuffFrame\n local buffFrame2 = unitFrame.BuffFrame2\n \n --use in combat bars when in pvp\n if (plateFrame.actorType == ACTORTYPE_ENEMY_PLAYER) then\n if ((Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"arena\") and DB_PLATE_CONFIG.player.pvp_always_incombat) then\n isInCombat = true\n end\n end\n \n --get the config for this actor type\n local plateConfigs = DB_PLATE_CONFIG [actorType]\n --get the config key based if the player is in combat\n local castBarConfigKey, healthBarConfigKey, manaConfigKey = Plater.GetHashKey (isInCombat)\n \n --get the width and height from what the user set in the options panel\n local healthBarWidth, healthBarHeight = unitFrame.customHealthBarWidth or plateConfigs [healthBarConfigKey][1], unitFrame.customHealthBarHeight or plateConfigs [healthBarConfigKey][2]\n local castBarWidth, castBarHeight = unitFrame.customCastBarWidth or plateConfigs [castBarConfigKey][1], unitFrame.customCastBarHeight or plateConfigs [castBarConfigKey][2]\n local powerBarWidth, powerBarHeight = unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][1], unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][2]\n \n --calculate the offset for the cast bar, this is done due to the cast bar be anchored to topleft and topright\n local castBarOffSetX = (healthBarWidth - castBarWidth) / 2\n local castBarOffSetY = plateConfigs.castbar_offset\n \n --calculate offsets for the power bar\n local powerBarOffSetX = (healthBarWidth - powerBarWidth) / 2\n local powerBarOffSetY = 0\n \n --calculate the size deviation for pets\n local unitType = Plater.GetUnitType (plateFrame)\n if (unitType == \"pet\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.pet_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.pet_width_scale\n \n elseif (unitType == \"minus\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.minor_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.minor_width_scale\n end\n \n --unit frame - is set to be the same size as the plateFrame\n unitFrame:ClearAllPoints()\n unitFrame:SetAllPoints()\n \n --calculates the health bar anchor points\n --it will always be placed in the center of the nameplate area (where it accepts mouse clicks) \n local xOffSet = (plateFrame:GetWidth() - healthBarWidth) / 2\n local yOffSet = (plateFrame:GetHeight() - healthBarHeight) / 2\n \n --set the health bar point\n healthBar:ClearAllPoints()\n PixelUtil.SetPoint (healthBar, \"topleft\", unitFrame, \"topleft\", xOffSet + profile.global_offset_x, -yOffSet + profile.global_offset_y)\n PixelUtil.SetPoint (healthBar, \"bottomright\", unitFrame, \"bottomright\", -xOffSet + profile.global_offset_x, yOffSet + profile.global_offset_y)\n \n --set the cast bar point and size\n castBar:ClearAllPoints()\n PixelUtil.SetPoint (castBar, \"topleft\", healthBar, \"bottomleft\", castBarOffSetX, castBarOffSetY)\n PixelUtil.SetPoint (castBar, \"topright\", healthBar, \"bottomright\", -castBarOffSetX, castBarOffSetY)\n PixelUtil.SetHeight (castBar, castBarHeight)\n PixelUtil.SetSize (castBar.Icon, castBarHeight, castBarHeight)\n PixelUtil.SetSize (castBar.BorderShield, castBarHeight * 1.4, castBarHeight * 1.4)\n \n --set the power bar point and size\n powerBar:ClearAllPoints()\n PixelUtil.SetPoint (powerBar, \"topleft\", healthBar, \"bottomleft\", powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetPoint (powerBar, \"topright\", healthBar, \"bottomright\", -powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetHeight (powerBar, powerBarHeight)\n \n --power bar are hidden by default, show it if there's a custom size for it\n if (unitFrame.customPowerBarWidth and unitFrame.customPowerBarHeight) then\n powerBar:SetUnit (unitFrame.unit)\n end\n \n --aura frames\n buffFrame1:ClearAllPoints()\n PixelUtil.SetPoint (buffFrame1, \"bottom\", unitFrame, \"top\", profile.aura_x_offset, plateConfigs.buff_frame_y_offset + profile.aura_y_offset)\n \n buffFrame2:ClearAllPoints()\n PixelUtil.SetPoint (buffFrame2, \"bottom\", unitFrame, \"top\", profile.aura2_x_offset, plateConfigs.buff_frame_y_offset + profile.aura2_y_offset) \n \nend\n\n\n", }, ["__TrashAt"] = 1668711522, ["Name"] = "Reorder Nameplate [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825364, ["Icon"] = 574574, ["LastHookEdited"] = "Nameplate Added", }, -- [1] { ["Enabled"] = false, ["Revision"] = 274, ["OptionsValues"] = { }, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.ListOfNpcs = {\n [61146] = \"olive\", --monk statue npcID\n [103822] = \"olive\", --druid treant npcID\n \n }\n \n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitId .. \"target\")\n \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n --check if the npcID of this unit is in the npc list \n if (envTable.ListOfNpcs [npcID]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [npcID])\n \n else\n --check if the name of ths unit is in the list\n local unitName = UnitName (unitId .. \"target\")\n if (envTable.ListOfNpcs [unitName]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [unitName])\n \n else\n --check if the name of the unit in lower case is in the npc list\n unitName = string.lower (unitName)\n if (envTable.ListOfNpcs [unitName]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [unitName]) \n \n end\n end\n end\n \n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Change the color if a unit is attacking a specific unit like Monk's Ox Statue or Druid's Treants. You may edit which units it track in the constructor script.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.ListOfNpcs = {\n [61146] = \"olive\", --monk statue npcID\n [103822] = \"olive\", --druid treant npcID\n \n }\n \n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitId .. \"target\")\n \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n --check if the npcID of this unit is in the npc list \n if (envTable.ListOfNpcs [npcID]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [npcID])\n \n else\n --check if the name of ths unit is in the list\n local unitName = UnitName (unitId .. \"target\")\n if (envTable.ListOfNpcs [unitName]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [unitName])\n \n else\n --check if the name of the unit in lower case is in the npc list\n unitName = string.lower (unitName)\n if (envTable.ListOfNpcs [unitName]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [unitName]) \n \n end\n end\n end\n \n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["__TrashAt"] = 1668711522, ["Name"] = "Attacking Specific Unit [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825291, ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_attacking_unit", ["LastHookEdited"] = "Constructor", }, -- [2] { ["Enabled"] = false, ["Revision"] = 190, ["OptionsValues"] = { }, ["HooksTemp"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n --constructor is executed only once when any script of the hook runs.\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --check if need update the amount of combo points shown\n if (envTable.LastPlayerTalentUpdate > envTable.LastUpdate) then\n envTable.UpdateComboPointAmount()\n end \n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n \n else\n envTable.ComboPointFrame:Hide()\n end \n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n --check if this nameplate is the current target\n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n \n else\n envTable.ComboPointFrame:Hide()\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.UpdateComboPoints()\n end\n \n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --update the amount of comboo points shown when the player changes talents or specialization\n envTable.UpdateComboPointAmount()\n \n --save the time of the last talent change\n envTable.LastPlayerTalentUpdate = GetTime()\n \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n local anchors = {\n {\"bottom\", unitFrame.healthBar, \"top\", 0, 24},\n }\n \n local sizes = {\n width = 12,\n height = 12,\n scale = 1,\n }\n \n local textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {78/128, 98/128, 21/64, 41/64},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {100/128, 120/128, 21/64, 41/64},\n }\n \n local frameLevel = 1000\n local frameStrata = \"high\" \n \n --private\n do\n --store combo points frames on this table\n envTable.ComboPoints = {}\n --save when the player changed talents or spec\n envTable.LastPlayerTalentUpdate = GetTime()\n --save when this nameplate got a combo point amount and alignment update \n \n --build combo points frame anchor (combo point are anchored to this)\n if (not unitFrame.PlaterComboPointFrame) then\n local hostFrame = CreateFrame (\"frame\", nil, unitFrame)\n hostFrame.ComboPointFramesPool = {}\n unitFrame.PlaterComboPointFrame = hostFrame\n envTable.ComboPointFrame = hostFrame\n \n --DetailsFramework:ApplyStandardBackdrop (envTable.ComboPointFrame) --debug anchor size\n \n --animations\n local onPlayShowAnimation = function (animation)\n --stop the hide animation if it's playing\n if (animation:GetParent():GetParent().HideAnimation:IsPlaying()) then\n animation:GetParent():GetParent().HideAnimation:Stop()\n end\n \n animation:GetParent():Show()\n end\n \n local onPlayHideAnimation = function (animation)\n --stop the show animation if it's playing\n if (animation:GetParent():GetParent().ShowAnimation:IsPlaying()) then\n animation:GetParent():GetParent().ShowAnimation:Stop()\n end\n end \n local onStopHideAnimation = function (animation)\n animation:GetParent():Hide() \n end\n \n local createAnimations = function (comboPoint)\n --on show\n comboPoint.ShowAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayShowAnimation, nil)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 1, 0.1, 0, 0, 1, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"alpha\", 1, 0.1, .5, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 2, 0.1, 1.2, 1.2, 1, 1)\n \n --on hide\n comboPoint.HideAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayHideAnimation, onStopHideAnimation)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"scale\", 1, 0.1, 1, 1, 0, 0)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"alpha\", 1, 0.1, 1, 0)\n end\n \n --build combo point frame \n for i =1, 10 do \n local f = CreateFrame (\"frame\", nil, envTable.ComboPointFrame)\n f:SetSize (sizes.width, sizes.height)\n tinsert (envTable.ComboPoints, f)\n tinsert (unitFrame.PlaterComboPointFrame.ComboPointFramesPool, f)\n \n local backgroundTexture = f:CreateTexture (nil, \"background\")\n backgroundTexture:SetTexture (textures.backgroundTexture)\n backgroundTexture:SetTexCoord (unpack (textures.backgroundTexCoords))\n backgroundTexture:SetSize (sizes.width, sizes.height)\n backgroundTexture:SetPoint (\"center\")\n \n local comboPointTexture = f:CreateTexture (nil, \"artwork\")\n comboPointTexture:SetTexture (textures.comboPointTexture)\n comboPointTexture:SetTexCoord (unpack (textures.comboPointTexCoords))\n \n comboPointTexture:SetSize (sizes.width, sizes.height)\n comboPointTexture:SetPoint (\"center\")\n comboPointTexture:Hide() \n \n f.IsActive = false\n \n f.backgroundTexture = backgroundTexture\n f.comboPointTexture = comboPointTexture\n \n createAnimations (f)\n end\n \n else\n envTable.ComboPointFrame = unitFrame.PlaterComboPointFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n envTable.ComboPoints = unitFrame.PlaterComboPointFrame.ComboPointFramesPool\n \n end \n \n envTable.ComboPointFrame:SetFrameLevel (frameLevel)\n envTable.ComboPointFrame:SetFrameStrata (frameStrata)\n \n function envTable.UpdateComboPoints()\n local comboPoints = UnitPower (\"player\", Enum.PowerType.ComboPoints)\n \n for i = 1, envTable.TotalComboPoints do\n local thisComboPoint = envTable.ComboPoints [i]\n \n if (i <= comboPoints ) then\n --combo point enabled\n if (not thisComboPoint.IsActive) then\n thisComboPoint.ShowAnimation:Play()\n thisComboPoint.IsActive = true\n \n end\n \n else\n --combo point disabled\n if (thisComboPoint.IsActive) then\n thisComboPoint.HideAnimation:Play()\n thisComboPoint.IsActive = false\n \n end\n end\n end\n \n \n end\n \n function envTable.UpdateComboPointAmount()\n local namePlateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat[1]\n local comboPoints = UnitPowerMax (\"player\", Enum.PowerType.ComboPoints)\n local reservedSpace = namePlateWidth / comboPoints\n \n --store the total amount of combo points\n envTable.TotalComboPoints = comboPoints\n \n --update anchor frame\n envTable.ComboPointFrame:SetWidth (namePlateWidth)\n envTable.ComboPointFrame:SetHeight (20)\n envTable.ComboPointFrame:ClearAllPoints()\n for i = 1, #anchors do\n local anchor = anchors[i]\n envTable.ComboPointFrame:SetPoint (unpack (anchor))\n end \n \n --\n for i = 1, #envTable.ComboPoints do\n envTable.ComboPoints[i]:Hide()\n envTable.ComboPoints[i]:ClearAllPoints()\n end\n \n for i = 1, comboPoints do\n local comboPoint = envTable.ComboPoints[i]\n comboPoint:SetPoint (\"left\", envTable.ComboPointFrame, \"left\", reservedSpace * (i-1), 0)\n comboPoint:Show()\n end\n \n envTable.LastUpdate = GetTime()\n \n envTable.UpdateComboPoints()\n end\n \n --initialize\n envTable.UpdateComboPointAmount()\n envTable.ComboPointFrame:Hide()\n end\n \n \nend", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Show combo points above the nameplate for Druid Feral and Rogues.", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n --constructor is executed only once when any script of the hook runs.\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --check if need update the amount of combo points shown\n if (envTable.LastPlayerTalentUpdate > envTable.LastUpdate) then\n envTable.UpdateComboPointAmount()\n end \n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n \n else\n envTable.ComboPointFrame:Hide()\n end \n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n --check if this nameplate is the current target\n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n \n else\n envTable.ComboPointFrame:Hide()\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.UpdateComboPoints()\n end\n \n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --update the amount of comboo points shown when the player changes talents or specialization\n envTable.UpdateComboPointAmount()\n \n --save the time of the last talent change\n envTable.LastPlayerTalentUpdate = GetTime()\n \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n local anchors = {\n {\"bottom\", unitFrame.healthBar, \"top\", 0, 24},\n }\n \n local sizes = {\n width = 12,\n height = 12,\n scale = 1,\n }\n \n local textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {78/128, 98/128, 21/64, 41/64},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {100/128, 120/128, 21/64, 41/64},\n }\n \n local frameLevel = 1000\n local frameStrata = \"high\" \n \n --private\n do\n --store combo points frames on this table\n envTable.ComboPoints = {}\n --save when the player changed talents or spec\n envTable.LastPlayerTalentUpdate = GetTime()\n --save when this nameplate got a combo point amount and alignment update \n \n --build combo points frame anchor (combo point are anchored to this)\n if (not unitFrame.PlaterComboPointFrame) then\n local hostFrame = CreateFrame (\"frame\", nil, unitFrame)\n hostFrame.ComboPointFramesPool = {}\n unitFrame.PlaterComboPointFrame = hostFrame\n envTable.ComboPointFrame = hostFrame\n \n --DetailsFramework:ApplyStandardBackdrop (envTable.ComboPointFrame) --debug anchor size\n \n --animations\n local onPlayShowAnimation = function (animation)\n --stop the hide animation if it's playing\n if (animation:GetParent():GetParent().HideAnimation:IsPlaying()) then\n animation:GetParent():GetParent().HideAnimation:Stop()\n end\n \n animation:GetParent():Show()\n end\n \n local onPlayHideAnimation = function (animation)\n --stop the show animation if it's playing\n if (animation:GetParent():GetParent().ShowAnimation:IsPlaying()) then\n animation:GetParent():GetParent().ShowAnimation:Stop()\n end\n end \n local onStopHideAnimation = function (animation)\n animation:GetParent():Hide() \n end\n \n local createAnimations = function (comboPoint)\n --on show\n comboPoint.ShowAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayShowAnimation, nil)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 1, 0.1, 0, 0, 1, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"alpha\", 1, 0.1, .5, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 2, 0.1, 1.2, 1.2, 1, 1)\n \n --on hide\n comboPoint.HideAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayHideAnimation, onStopHideAnimation)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"scale\", 1, 0.1, 1, 1, 0, 0)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"alpha\", 1, 0.1, 1, 0)\n end\n \n --build combo point frame \n for i =1, 10 do \n local f = CreateFrame (\"frame\", nil, envTable.ComboPointFrame)\n f:SetSize (sizes.width, sizes.height)\n tinsert (envTable.ComboPoints, f)\n tinsert (unitFrame.PlaterComboPointFrame.ComboPointFramesPool, f)\n \n local backgroundTexture = f:CreateTexture (nil, \"background\")\n backgroundTexture:SetTexture (textures.backgroundTexture)\n backgroundTexture:SetTexCoord (unpack (textures.backgroundTexCoords))\n backgroundTexture:SetSize (sizes.width, sizes.height)\n backgroundTexture:SetPoint (\"center\")\n \n local comboPointTexture = f:CreateTexture (nil, \"artwork\")\n comboPointTexture:SetTexture (textures.comboPointTexture)\n comboPointTexture:SetTexCoord (unpack (textures.comboPointTexCoords))\n \n comboPointTexture:SetSize (sizes.width, sizes.height)\n comboPointTexture:SetPoint (\"center\")\n comboPointTexture:Hide() \n \n f.IsActive = false\n \n f.backgroundTexture = backgroundTexture\n f.comboPointTexture = comboPointTexture\n \n createAnimations (f)\n end\n \n else\n envTable.ComboPointFrame = unitFrame.PlaterComboPointFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n envTable.ComboPoints = unitFrame.PlaterComboPointFrame.ComboPointFramesPool\n \n end \n \n envTable.ComboPointFrame:SetFrameLevel (frameLevel)\n envTable.ComboPointFrame:SetFrameStrata (frameStrata)\n \n function envTable.UpdateComboPoints()\n local comboPoints = UnitPower (\"player\", Enum.PowerType.ComboPoints)\n \n for i = 1, envTable.TotalComboPoints do\n local thisComboPoint = envTable.ComboPoints [i]\n \n if (i <= comboPoints ) then\n --combo point enabled\n if (not thisComboPoint.IsActive) then\n thisComboPoint.ShowAnimation:Play()\n thisComboPoint.IsActive = true\n \n end\n \n else\n --combo point disabled\n if (thisComboPoint.IsActive) then\n thisComboPoint.HideAnimation:Play()\n thisComboPoint.IsActive = false\n \n end\n end\n end\n \n \n end\n \n function envTable.UpdateComboPointAmount()\n local namePlateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat[1]\n local comboPoints = UnitPowerMax (\"player\", Enum.PowerType.ComboPoints)\n local reservedSpace = namePlateWidth / comboPoints\n \n --store the total amount of combo points\n envTable.TotalComboPoints = comboPoints\n \n --update anchor frame\n envTable.ComboPointFrame:SetWidth (namePlateWidth)\n envTable.ComboPointFrame:SetHeight (20)\n envTable.ComboPointFrame:ClearAllPoints()\n for i = 1, #anchors do\n local anchor = anchors[i]\n envTable.ComboPointFrame:SetPoint (unpack (anchor))\n end \n \n --\n for i = 1, #envTable.ComboPoints do\n envTable.ComboPoints[i]:Hide()\n envTable.ComboPoints[i]:ClearAllPoints()\n end\n \n for i = 1, comboPoints do\n local comboPoint = envTable.ComboPoints[i]\n comboPoint:SetPoint (\"left\", envTable.ComboPointFrame, \"left\", reservedSpace * (i-1), 0)\n comboPoint:Show()\n end\n \n envTable.LastUpdate = GetTime()\n \n envTable.UpdateComboPoints()\n end\n \n --initialize\n envTable.UpdateComboPointAmount()\n envTable.ComboPointFrame:Hide()\n end\n \n \nend", }, ["__TrashAt"] = 1668711522, ["Name"] = "Combo Points [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { ["Enabled"] = true, ["DRUID"] = true, ["ROGUE"] = true, }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { ["103"] = true, ["Enabled"] = true, }, }, ["Time"] = 1551825317, ["Icon"] = 135426, ["LastHookEdited"] = "Constructor", }, -- [3] { ["Enabled"] = false, ["Revision"] = 273, ["OptionsValues"] = { }, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --ATTENTION: after enabling this script, you may have to adjust the anchor point at the Buff Settings tab\n \n --space between each aura icon\n envTable.padding = 2\n \n --space between each row of icons\n envTable.rowPadding = 12\n \n --amount of icons in the row, it'll breakline and start a new row after reach the threshold\n envTable.maxAurasPerRow = 5\n \n --stack auras of the same name that arent stacked by default from the game\n envTable.consolidadeRepeatedAuras = true \n \n --which auras goes first, assign a value (any number), bigger value goes first\n envTable.priority = {\n [\"Vampiric Touch\"] = 50,\n [\"Shadow Word: Pain\"] = 22,\n [\"Mind Flay\"] = 5,\n }\n \nend \n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local auraContainers = {unitFrame.BuffFrame.PlaterBuffList}\n \n if (Plater.db.profile.buffs_on_aura2) then\n auraContainers [2] = unitFrame.BuffFrame2.PlaterBuffList\n end\n \n for containerID = 1, #auraContainers do\n \n local auraContainer = auraContainers [containerID]\n local aurasShown = {}\n local aurasDuplicated = {}\n \n --build the list of auras shown in the buff frame and check for each aura priority\n --also check if the consolidate (stack) auras with the same name is enabled\n for index, auraIcon in ipairs (auraContainer) do\n if (auraIcon:IsShown()) then\n if (envTable.consolidadeRepeatedAuras) then\n --is this aura already shown?\n local iconShownIndex = aurasDuplicated [auraIcon.SpellName]\n if (iconShownIndex) then\n --get the table with information about the shown icon\n local auraShownTable = aurasShown [iconShownIndex]\n --get the icon already in the table\n local icon = auraShownTable[1]\n --increase the amount of stacks\n auraShownTable[3] = auraShownTable[3] + 1\n \n --check if the remaining time of the icon already added in the table is lower than the current\n if (auraIcon.RemainingTime > icon.RemainingTime) then\n --replace the icon for the icon with bigger duration\n auraShownTable[1] = auraIcon\n icon:Hide()\n else\n auraIcon:Hide()\n end\n else \n local priority = envTable.priority[auraIcon.SpellName] or envTable.priority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority, 1}) --icon frame, priority, stack amount\n aurasDuplicated [auraIcon.SpellName] = #aurasShown\n end\n else\n --not stacking similar auras\n local priority = envTable.priority[auraIcon.SpellName] or envTable.priority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority})\n \n end \n end\n end\n \n --sort auras by priority\n table.sort (aurasShown, DetailsFramework.SortOrder2)\n \n local growDirection\n if (containerID == 1) then --debuff container\n growDirection = Plater.db.profile.aura_grow_direction\n --force to grow to right if it is anchored to center\n if (growDirection == 2) then\n growDirection = 3\n end\n -- \"Left\", \"Center\", \"Right\" - 1 2 3\n \n elseif (containerID == 2) then --buff container\n growDirection = Plater.db.profile.aura2_grow_direction\n --force to grow to left if it is anchored to center\n if (growDirection == 2) then\n growDirection = 1\n end\n \n end\n \n local padding = envTable.padding\n local framersPerRow = envTable.maxAurasPerRow + 1\n \n --first icon is where the row starts\n local firstIcon = aurasShown[1] and aurasShown[1][1]\n \n if (firstIcon) then\n local anchorPoint = firstIcon:GetParent() --anchor point is the BuffFrame\n anchorPoint:SetSize (1, 1)\n \n firstIcon:ClearAllPoints()\n firstIcon:SetPoint (\"center\", anchorPoint, \"center\", 0, 5)\n \n --check the consolidaded stacks, this is not the regular buff stacks\n local firstIconStacks = aurasShown[1][3]\n if (firstIconStacks and firstIconStacks > 1) then\n firstIcon.StackText:SetText (firstIconStacks)\n firstIcon.StackText:Show()\n end\n \n --> left to right\n if (growDirection == 3) then\n --> iterate among all aura icons\n for i = 2, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == framersPerRow) then\n auraIcon:SetPoint (\"bottomleft\", firstIcon, \"topleft\", 0, envTable.rowPadding)\n framersPerRow = framersPerRow + framersPerRow\n \n else\n auraIcon:SetPoint (\"topleft\", aurasShown [i-1][1], \"topright\", padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n end \n \n --right to left\n elseif (growDirection == 1) then\n --> iterate among all aura icons\n for i = 2, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == framersPerRow) then\n auraIcon:SetPoint (\"bottomright\", firstIcon, \"topright\", 0, envTable.rowPadding)\n framersPerRow = framersPerRow + framersPerRow\n \n else\n auraIcon:SetPoint (\"topright\", aurasShown [i-1][1], \"topleft\", -padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n \n end \n end\n \n end\n end\nend\n\n\n", }, ["Author"] = "Ditador-Azralon", ["Desc"] = "Reorder buffs and debuffs following the settings set in the constructor.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --ATTENTION: after enabling this script, you may have to adjust the anchor point at the Buff Settings tab\n \n --space between each aura icon\n envTable.padding = 2\n \n --space between each row of icons\n envTable.rowPadding = 12\n \n --amount of icons in the row, it'll breakline and start a new row after reach the threshold\n envTable.maxAurasPerRow = 5\n \n --stack auras of the same name that arent stacked by default from the game\n envTable.consolidadeRepeatedAuras = true \n \n --which auras goes first, assign a value (any number), bigger value goes first\n envTable.priority = {\n [\"Vampiric Touch\"] = 50,\n [\"Shadow Word: Pain\"] = 22,\n [\"Mind Flay\"] = 5,\n }\n \nend \n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local auraContainers = {unitFrame.BuffFrame.PlaterBuffList}\n \n if (Plater.db.profile.buffs_on_aura2) then\n auraContainers [2] = unitFrame.BuffFrame2.PlaterBuffList\n end\n \n for containerID = 1, #auraContainers do\n \n local auraContainer = auraContainers [containerID]\n local aurasShown = {}\n local aurasDuplicated = {}\n \n --build the list of auras shown in the buff frame and check for each aura priority\n --also check if the consolidate (stack) auras with the same name is enabled\n for index, auraIcon in ipairs (auraContainer) do\n if (auraIcon:IsShown()) then\n if (envTable.consolidadeRepeatedAuras) then\n --is this aura already shown?\n local iconShownIndex = aurasDuplicated [auraIcon.SpellName]\n if (iconShownIndex) then\n --get the table with information about the shown icon\n local auraShownTable = aurasShown [iconShownIndex]\n --get the icon already in the table\n local icon = auraShownTable[1]\n --increase the amount of stacks\n auraShownTable[3] = auraShownTable[3] + 1\n \n --check if the remaining time of the icon already added in the table is lower than the current\n if (auraIcon.RemainingTime > icon.RemainingTime) then\n --replace the icon for the icon with bigger duration\n auraShownTable[1] = auraIcon\n icon:Hide()\n else\n auraIcon:Hide()\n end\n else \n local priority = envTable.priority[auraIcon.SpellName] or envTable.priority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority, 1}) --icon frame, priority, stack amount\n aurasDuplicated [auraIcon.SpellName] = #aurasShown\n end\n else\n --not stacking similar auras\n local priority = envTable.priority[auraIcon.SpellName] or envTable.priority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority})\n \n end \n end\n end\n \n --sort auras by priority\n table.sort (aurasShown, DetailsFramework.SortOrder2)\n \n local growDirection\n if (containerID == 1) then --debuff container\n growDirection = Plater.db.profile.aura_grow_direction\n --force to grow to right if it is anchored to center\n if (growDirection == 2) then\n growDirection = 3\n end\n -- \"Left\", \"Center\", \"Right\" - 1 2 3\n \n elseif (containerID == 2) then --buff container\n growDirection = Plater.db.profile.aura2_grow_direction\n --force to grow to left if it is anchored to center\n if (growDirection == 2) then\n growDirection = 1\n end\n \n end\n \n local padding = envTable.padding\n local framersPerRow = envTable.maxAurasPerRow + 1\n \n --first icon is where the row starts\n local firstIcon = aurasShown[1] and aurasShown[1][1]\n \n if (firstIcon) then\n local anchorPoint = firstIcon:GetParent() --anchor point is the BuffFrame\n anchorPoint:SetSize (1, 1)\n \n firstIcon:ClearAllPoints()\n firstIcon:SetPoint (\"center\", anchorPoint, \"center\", 0, 5)\n \n --check the consolidaded stacks, this is not the regular buff stacks\n local firstIconStacks = aurasShown[1][3]\n if (firstIconStacks and firstIconStacks > 1) then\n firstIcon.StackText:SetText (firstIconStacks)\n firstIcon.StackText:Show()\n end\n \n --> left to right\n if (growDirection == 3) then\n --> iterate among all aura icons\n for i = 2, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == framersPerRow) then\n auraIcon:SetPoint (\"bottomleft\", firstIcon, \"topleft\", 0, envTable.rowPadding)\n framersPerRow = framersPerRow + framersPerRow\n \n else\n auraIcon:SetPoint (\"topleft\", aurasShown [i-1][1], \"topright\", padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n end \n \n --right to left\n elseif (growDirection == 1) then\n --> iterate among all aura icons\n for i = 2, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == framersPerRow) then\n auraIcon:SetPoint (\"bottomright\", firstIcon, \"topright\", 0, envTable.rowPadding)\n framersPerRow = framersPerRow + framersPerRow\n \n else\n auraIcon:SetPoint (\"topright\", aurasShown [i-1][1], \"topleft\", -padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n \n end \n end\n \n end\n end\nend\n\n\n", }, ["__TrashAt"] = 1668711522, ["Name"] = "Aura Reorder [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1559665989, ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_reorder", ["LastHookEdited"] = "Constructor", }, -- [4] }, ["extra_icon_anchor"] = { ["x"] = 4, }, ["range_check_alpha"] = 0.5, ["semver"] = "1.0.4", ["aura_frame2_anchor"] = { ["y"] = 15.9, ["side"] = 7, }, ["aura_alpha"] = 0.84999996423721, ["aura_cooldown_edge_texture"] = "Interface\\GLUES\\loadingOld", ["extra_icon_height"] = 16, ["aura_consolidate"] = true, ["extra_icon_width"] = 22, ["health_statusbar_texture"] = "Skyline", ["hook_auto_imported"] = { ["Color Automation"] = 1, ["Blockade Encounter"] = 1, ["Cast Bar Icon Config"] = 2, ["Hide Neutral Units"] = 1, ["Aura Reorder"] = 3, ["Reorder Nameplate"] = 4, ["Dont Have Aura"] = 1, ["Monk Statue"] = 2, ["Bwonsamdi Reaping"] = 1, ["Jaina Encounter"] = 6, ["Attacking Specific Unit"] = 2, ["Extra Border"] = 2, ["Combo Points"] = 6, ["Execute Range"] = 1, ["Target Color"] = 3, ["Players Targetting Amount"] = 4, ["Targetting Alpha"] = 3, }, ["minor_width_scale"] = 0.99999994039536, ["castbar_target_text_size"] = 8, ["aura_frame1_anchor"] = { ["y"] = 15.9, ["side"] = 1, }, ["aura_timer_text_font"] = "Accidental Presidency", ["aura_height"] = 14, ["cast_statusbar_bgtexture"] = "PlaterBackground", ["aura2_x_offset"] = 0, ["target_indicator"] = "NONE", ["saved_cvars"] = { ["ShowClassColorInNameplate"] = "1", ["nameplateOverlapV"] = "1.1", ["ShowNamePlateLoseAggroFlash"] = "1", ["nameplateShowEnemyMinus"] = "1", ["nameplateShowFriendlyTotems"] = "0", ["nameplatePersonalHideDelaySeconds"] = "0.2", ["nameplateShowFriendlyPets"] = "0", ["nameplatePersonalShowInCombat"] = "1", ["nameplatePersonalShowWithTarget"] = "0", ["nameplateMinAlpha"] = "0.90135484", ["nameplateResourceOnTarget"] = "0", ["nameplateShowAll"] = "1", ["nameplateMaxDistance"] = "100", ["nameplateShowFriendlyMinions"] = "0", ["nameplateSelfScale"] = "1", ["nameplateShowEnemies"] = "1", ["NamePlateVerticalScale"] = "1", ["nameplateSelectedAlpha"] = "1", ["nameplateShowSelf"] = "0", ["nameplateSelfTopInset"] = "0.57687740325928", ["nameplateMotionSpeed"] = "0.05", ["nameplateGlobalScale"] = "1", ["nameplateShowEnemyMinions"] = "1", ["nameplateShowFriendlyNPCs"] = "0", ["nameplateSelectedScale"] = "1.15", ["nameplateShowFriends"] = "0", ["nameplateMotion"] = "1", ["nameplateMinScale"] = "1", ["nameplateOtherTopInset"] = "0.085", ["nameplateSelfBottomInset"] = "0.32596862792969", ["nameplateShowFriendlyGuardians"] = "0", ["nameplateOccludedAlphaMult"] = "1", ["nameplatePersonalShowAlways"] = "1", ["nameplateSelfAlpha"] = "1", ["NamePlateHorizontalScale"] = "1", ["nameplateMinAlphaDistance"] = "-158489.31924611", }, ["login_counter"] = 329, ["extra_icon_caster_name"] = false, ["aura_cooldown_show_swipe"] = false, ["aura_stack_font"] = "Accidental Presidency", ["OptionsPanelDB"] = { ["PlaterOptionsPanelFrame"] = { ["scale"] = 1, }, }, ["plate_config"] = { ["player"] = { ["spellpercent_text_font"] = "Accidental Presidency", ["level_text_font"] = "Accidental Presidency", ["actorname_text_font"] = "Accidental Presidency", ["big_actortitle_text_font"] = "Accidental Presidency", ["spellname_text_font"] = "Accidental Presidency", ["click_through"] = true, ["power_percent_text_font"] = "Accidental Presidency", ["power_percent_text_color"] = { 1, -- [1] 1, -- [2] 1, -- [3] }, ["percent_text_font"] = "Accidental Presidency", ["big_actorname_text_font"] = "Accidental Presidency", }, ["friendlyplayer"] = { ["spellpercent_text_font"] = "Accidental Presidency", ["level_text_size"] = 8, ["cast"] = { 120, -- [1] }, ["spellpercent_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["big_actorname_text_shadow_color"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["spellpercent_text_outline"] = "NONE", ["level_text_font"] = "Accidental Presidency", ["spellname_text_color"] = { 0.95294117647059, -- [1] [3] = 0.9921568627451, }, ["big_actorname_text_shadow_color_offset"] = { 1, -- [1] -1, -- [2] }, ["mana_incombat"] = { nil, -- [1] 4, -- [2] }, ["all_names"] = true, ["big_actortitle_text_outline"] = "OUTLINE", ["quest_color_enemy"] = { 1, -- [1] 0.369, -- [2] 0, -- [3] }, ["only_thename"] = true, ["big_actortitle_text_font"] = "Accidental Presidency", ["spellpercent_text_size"] = 9, ["level_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["big_actortitle_text_shadow_color_offset"] = { 1, -- [1] -1, -- [2] }, ["cast_incombat"] = { 120, -- [1] }, ["quest_enabled"] = true, ["spellname_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["big_actortitle_text_shadow_color"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["percent_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["level_text_alpha"] = 0.29999998211861, ["spellname_text_font"] = "Accidental Presidency", ["big_actorname_text_outline"] = "OUTLINE", ["big_actortitle_text_size"] = 10, ["quest_color_neutral"] = { 1, -- [1] 0.65, -- [2] 0, -- [3] }, ["mana"] = { nil, -- [1] 4, -- [2] }, ["percent_text_enabled"] = true, ["big_actorname_text_size"] = 10, ["percent_text_ooc"] = true, ["percent_show_health"] = true, ["percent_text_size"] = 8, ["health_incombat"] = { 120, -- [1] 12, -- [2] }, ["percent_text_font"] = "Accidental Presidency", ["buff_frame_y_offset"] = 0, ["percent_text_outline"] = "NONE", ["actorname_text_font"] = "Accidental Presidency", ["big_actorname_text_font"] = "Accidental Presidency", ["spellname_text_size"] = 9, ["health"] = { 120, -- [1] 12, -- [2] }, ["actorname_text_anchor"] = { ["y"] = -3, ["x"] = -1, ["side"] = 1, }, ["actorname_text_size"] = 11, ["power_percent_text_font"] = "Accidental Presidency", ["spellpercent_text_enabled"] = true, ["level_text_enabled"] = true, }, ["friendlynpc"] = { ["spellpercent_text_font"] = "Accidental Presidency", ["level_text_size"] = 8, ["cast"] = { 120, -- [1] 8, -- [2] }, ["spellpercent_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["spellpercent_text_outline"] = "NONE", ["level_text_font"] = "Accidental Presidency", ["spellname_text_color"] = { 0.95294117647059, -- [1] [3] = 0.9921568627451, }, ["actorname_text_outline"] = "OUTLINE", ["quest_color_enemy"] = { 1, -- [1] 0.369, -- [2] 0, -- [3] }, ["big_actortitle_text_font"] = "Accidental Presidency", ["spellpercent_text_size"] = 9, ["level_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["spellname_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["percent_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["big_actorname_text_font"] = "Accidental Presidency", ["spellname_text_font"] = "Accidental Presidency", ["only_names"] = false, ["percent_text_ooc"] = true, ["quest_color_neutral"] = { 1, -- [1] 0.65, -- [2] 0, -- [3] }, ["actorname_text_size"] = 11, ["power_percent_text_font"] = "Accidental Presidency", ["big_actorname_text_size"] = 10, ["percent_text_enabled"] = true, ["actorname_text_anchor"] = { ["y"] = -3, ["x"] = -1, ["side"] = 1, }, ["spellpercent_text_enabled"] = true, ["big_actortitle_text_size"] = 10, ["percent_text_font"] = "Accidental Presidency", ["percent_text_outline"] = "NONE", ["actorname_text_font"] = "Accidental Presidency", ["health_incombat"] = { nil, -- [1] 12, -- [2] }, ["health"] = { 120, -- [1] }, ["percent_show_health"] = true, ["percent_text_size"] = 8, ["level_text_alpha"] = 0.29999998211861, ["spellname_text_size"] = 9, ["level_text_enabled"] = true, }, ["enemynpc"] = { ["spellpercent_text_font"] = "Accidental Presidency", ["cast"] = { 120, -- [1] 8, -- [2] }, ["spellpercent_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["spellname_text_outline"] = "NONE", ["spellpercent_text_outline"] = "NONE", ["level_text_font"] = "Accidental Presidency", ["spellname_text_color"] = { 0.95294117647059, -- [1] [3] = 0.9921568627451, }, ["actorname_text_outline"] = "OUTLINE", ["big_actortitle_text_font"] = "Accidental Presidency", ["spellpercent_text_size"] = 9, ["level_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["cast_incombat"] = { nil, -- [1] 8, -- [2] }, ["health_incombat"] = { nil, -- [1] 14, -- [2] }, ["spellname_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["percent_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["spellname_text_font"] = "Accidental Presidency", ["big_actorname_text_font"] = "Accidental Presidency", ["actorname_text_anchor"] = { ["y"] = -3, ["x"] = -1, ["side"] = 1, }, ["percent_text_size"] = 8, ["percent_text_font"] = "Accidental Presidency", ["percent_text_outline"] = "NONE", ["spellname_text_size"] = 9, ["health"] = { 120, -- [1] 14, -- [2] }, ["power_percent_text_font"] = "Accidental Presidency", ["level_text_alpha"] = 0.29999998211861, ["actorname_text_font"] = "Accidental Presidency", }, ["global_health_width"] = 120, ["enemyplayer"] = { ["spellpercent_text_font"] = "Accidental Presidency", ["level_text_size"] = 8, ["cast"] = { 120, -- [1] 8, -- [2] }, ["spellpercent_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["spellpercent_text_outline"] = "NONE", ["level_text_font"] = "Accidental Presidency", ["spellname_text_color"] = { 0.95294117647059, -- [1] [3] = 0.9921568627451, }, ["mana_incombat"] = { 120, -- [1] 1, -- [2] }, ["all_names"] = true, ["actorname_text_outline"] = "OUTLINE", ["actorname_text_spacing"] = 10, ["quest_color_enemy"] = { 1, -- [1] 0.369, -- [2] 0, -- [3] }, ["big_actortitle_text_font"] = "Accidental Presidency", ["spellpercent_text_size"] = 9, ["level_text_anchor"] = { ["x"] = 1, ["side"] = 5, }, ["spellname_text_size"] = 9, ["spellname_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["percent_text_anchor"] = { ["y"] = 1, ["side"] = 3, }, ["actorname_text_font"] = "Accidental Presidency", ["spellname_text_font"] = "Accidental Presidency", ["quest_color_neutral"] = { 1, -- [1] 0.65, -- [2] 0, -- [3] }, ["mana"] = { 120, -- [1] 1, -- [2] }, ["power_percent_text_font"] = "Accidental Presidency", ["big_actorname_text_size"] = 10, ["actorname_text_anchor"] = { ["y"] = -3, ["x"] = -1, ["side"] = 1, }, ["percent_text_size"] = 8, ["big_actortitle_text_size"] = 10, ["percent_text_font"] = "Accidental Presidency", ["quest_enabled"] = true, ["health_incombat"] = { nil, -- [1] 12, -- [2] }, ["health"] = { 120, -- [1] }, ["big_actorname_text_font"] = "Accidental Presidency", ["level_text_alpha"] = 0.29999998211861, ["percent_text_outline"] = "NONE", ["actorname_text_size"] = 11, }, ["global_health_height"] = 14, }, ["aura_y_offset"] = 15.9, ["cast_statusbar_bgcolor"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.79781, -- [4] }, ["resources_settings"] = { ["chr"] = { ["Player-1596-0F470967"] = "Essence", }, }, ["npc_colors"] = { [131670] = { true, -- [1] false, -- [2] "palegreen", -- [3] }, [129602] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [134284] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [133870] = { true, -- [1] false, -- [2] "lightcoral", -- [3] }, [134157] = { true, -- [1] false, -- [2] "peru", -- [3] }, [136006] = { false, -- [1] false, -- [2] "blue", -- [3] }, [132532] = { true, -- [1] false, -- [2] "palegreen", -- [3] }, [144071] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [134158] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [136549] = { true, -- [1] false, -- [2] "lightcoral", -- [3] }, [134701] = { true, -- [1] false, -- [2] "maroon", -- [3] }, [136295] = { true, -- [1] false, -- [2] "peru", -- [3] }, [136934] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [134990] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [128967] = { true, -- [1] false, -- [2] "palegreen", -- [3] }, [138465] = { true, -- [1] false, -- [2] "lightcoral", -- [3] }, [134417] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [129366] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [139422] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [136139] = { true, -- [1] false, -- [2] "peru", -- [3] }, [137478] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [133685] = { true, -- [1] false, -- [2] "plum", -- [3] }, [131677] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [134514] = { true, -- [1] false, -- [2] "lightgreen", -- [3] }, [136076] = { true, -- [1] false, -- [2] "lightcoral", -- [3] }, [127757] = { true, -- [1] false, -- [2] "lightcoral", -- [3] }, [137511] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [137830] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [129367] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [130435] = { false, -- [1] false, -- [2] "magenta", -- [3] }, [133432] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [128969] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [139425] = { false, -- [1] false, -- [2] "honeydew", -- [3] }, [132126] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [130404] = { true, -- [1] false, -- [2] "peru", -- [3] }, [133593] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [131585] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [133912] = { true, -- [1] false, -- [2] "dodgerblue", -- [3] }, [135474] = { true, -- [1] false, -- [2] "dodgerblue", -- [3] }, [131586] = { true, -- [1] false, -- [2] "peru", -- [3] }, [134232] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [129369] = { true, -- [1] false, -- [2] "lightsalmon", -- [3] }, [127106] = { true, -- [1] false, -- [2] "peru", -- [3] }, [131587] = { true, -- [1] false, -- [2] "peru", -- [3] }, [137484] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [137516] = { true, -- [1] false, -- [2] "lightsalmon", -- [3] }, [130485] = { true, -- [1] false, -- [2] "peru", -- [3] }, [131492] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [129529] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [137517] = { true, -- [1] false, -- [2] "peru", -- [3] }, [137103] = { true, -- [1] false, -- [2] "lightsalmon", -- [3] }, [130661] = { true, -- [1] false, -- [2] "lightgreen", -- [3] }, [138187] = { true, -- [1] false, -- [2] "paleturquoise", -- [3] }, [134139] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [137486] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [131685] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [129227] = { false, -- [1] false, -- [2] "maroon", -- [3] }, [134331] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [138061] = { false, -- [1] false, -- [2] "magenta", -- [3] }, [127315] = { true, -- [1] false, -- [2] "plum", -- [3] }, [134364] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [133345] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [129547] = { true, -- [1] false, -- [2] "olivedrab", -- [3] }, [134174] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [137521] = { true, -- [1] false, -- [2] "cornflowerblue", -- [3] }, [138063] = { false, -- [1] false, -- [2] "blue", -- [3] }, [141283] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [136470] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [138064] = { false, -- [1] false, -- [2] "blue", -- [3] }, [131817] = { false, -- [1] false, -- [2] "magenta", -- [3] }, [141284] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [131818] = { false, -- [1] false, -- [2] "plum", -- [3] }, [141285] = { true, -- [1] false, -- [2] "lightgreen", -- [3] }, [136249] = { true, -- [1] false, -- [2] "plum", -- [3] }, [131436] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [129788] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [136186] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [135007] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [134338] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [127111] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [135167] = { true, -- [1] false, -- [2] "peru", -- [3] }, [128434] = { true, -- [1] false, -- [2] "palegreen", -- [3] }, [135263] = { true, -- [1] false, -- [2] "maroon", -- [3] }, [139949] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [122984] = { true, -- [1] false, -- [2] "peru", -- [3] }, [128435] = { false, -- [1] false, -- [2] "aqua", -- [3] }, [135329] = { true, -- [1] false, -- [2] "plum", -- [3] }, [134150] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [122969] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [134629] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [136005] = { false, -- [1] false, -- [2] "blue", -- [3] }, [135241] = { true, -- [1] false, -- [2] "peru", -- [3] }, [135235] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [133482] = { true, -- [1] false, -- [2] "maroon", -- [3] }, [134418] = { true, -- [1] false, -- [2] "dodgerblue", -- [3] }, [134144] = { true, -- [1] false, -- [2] "lightgreen", -- [3] }, [134012] = { true, -- [1] false, -- [2] "lightsalmon", -- [3] }, [122972] = { true, -- [1] false, -- [2] "lightsalmon", -- [3] }, [126928] = { false, -- [1] false, -- [2] "navajowhite", -- [3] }, [135204] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [131666] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [129600] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [130488] = { true, -- [1] false, -- [2] "lightsalmon", -- [3] }, [133436] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [134599] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [133852] = { true, -- [1] false, -- [2] "olivedrab", -- [3] }, [131858] = { true, -- [1] false, -- [2] "dodgerblue", -- [3] }, [133430] = { true, -- [1] false, -- [2] "cornflowerblue", -- [3] }, [137713] = { true, -- [1] false, -- [2] "paleturquoise", -- [3] }, [136214] = { true, -- [1] false, -- [2] "plum", -- [3] }, [135258] = { false, -- [1] false, -- [2] "peru", -- [3] }, [136353] = { true, -- [1] false, -- [2] "royalblue", -- [3] }, [134600] = { true, -- [1] false, -- [2] "peru", -- [3] }, [138255] = { true, -- [1] false, -- [2] "maroon", -- [3] }, [126918] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [133835] = { true, -- [1] false, -- [2] "goldenrod", -- [3] }, [135365] = { true, -- [1] false, -- [2] "plum", -- [3] }, [122971] = { false, -- [1] false, -- [2] "magenta", -- [3] }, [126919] = { true, -- [1] false, -- [2] "dodgerblue", -- [3] }, [137716] = { false, -- [1] false, -- [2] "blue", -- [3] }, [134137] = { true, -- [1] false, -- [2] "dodgerblue", -- [3] }, [129370] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, [132491] = { true, -- [1] false, -- [2] "palegreen", -- [3] }, [129559] = { true, -- [1] false, -- [2] "navajowhite", -- [3] }, [135239] = { true, -- [1] false, -- [2] "paleturquoise", -- [3] }, [134251] = { true, -- [1] false, -- [2] "honeydew", -- [3] }, [125977] = { true, -- [1] false, -- [2] "plum", -- [3] }, [130436] = { false, -- [1] false, -- [2] "aqua", -- [3] }, [122973] = { true, -- [1] false, -- [2] "lightskyblue", -- [3] }, }, ["cast_statusbar_spark_half"] = true, ["hook_data"] = { { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Initialization"] = "function (modTable)\n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n modTable.changeBarColor = modTable.config.changeBarColor\n modTable.changeBorderColor = modTable.config.changeBorderColor\n modTable.resetColors = modTable.config.resetColors\n \n modTable.ListOfNpcs = {\n [61146] = modTable.config.color, --\"olive\", --monk statue npcID\n [103822] = modTable.config.color, --\"olive\", --druid treant npcID\n [15352] = modTable.config.color, --\"olive\", --shaman elemental\n [95072] = modTable.config.color, --\"olive\", --shaman greater earth elemental npcID\n [61056] = modTable.config.color, --\"olive\", --shaman primal earth elemental npcID\n \n }\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n if not unitId then\n return\n end\n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitId .. \"target\")\n \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n local unitName = UnitName (unitId .. \"target\")\n local unitNameLower = string.lower (unitName)\n \n --check if the npcID of this unit is in the npc list \n local color = modTable.ListOfNpcs [npcID] or modTable.ListOfNpcs [unitName] or modTable.ListOfNpcs [unitNameLower]\n \n if color then\n if modTable.changeBarColor then\n Plater.SetNameplateColor (unitFrame, color)\n end\n if modTable.changeBorderColor then\n Plater.SetBorderColor (unitFrame, color)\n end\n unitFrame.attackingSpecificUnitFromMod = true\n elseif unitFrame.attackingSpecificUnitFromMod and modTable.resetColors then\n if modTable.changeBorderColor then\n Plater.SetBorderColor (unitFrame)\n end\n if modTable.changeBarColor then\n Plater.RefreshNameplateColor (unitFrame)\n end\n unitFrame.attackingSpecificUnitFromMod = false\n end\n end\nend", }, ["Time"] = 1620377377, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_attacking_unit", ["Enabled"] = false, ["Revision"] = 363, ["semver"] = "", ["Author"] = "Kastfall-Azralon", ["Desc"] = "Change the nameplate color if the unit is attacking a specific unit like Monk's Ox Statue or Druid's Treants. You may edit which units it track in the constructor script.", ["Name"] = "Attacking Specific Unit [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["HooksTemp"] = { }, ["Options"] = { { ["Type"] = 1, ["Key"] = "color", ["Value"] = { 0.5019607843137255, -- [1] 0.5019607843137255, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "changeBarColor", ["Value"] = true, ["Name"] = "Change Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "changeBorderColor", ["Value"] = false, ["Name"] = "Change Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "resetColors", ["Value"] = true, ["Name"] = "Reset Colors", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] }, }, -- [1] { ["Enabled"] = false, ["Revision"] = 95, ["HooksTemp"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.HideNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end\n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n envTable.HideNameplate (unitFrame)\n end\n \nend\n\n\n\n\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n --check the unit reaction\n if (unitFrame.namePlateIsTarget) then\n envTable.ShowNameplate (unitFrame)\n \n else\n envTable.HideNameplate (unitFrame)\n \n end \n end\n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n envTable.ShowNameplate (unitFrame)\n end\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --when plater finishes an update on the nameplate\n --check within the envTable if the healthBar of this nameplate should be hidden\n if (envTable.IsHidden) then\n if (unitFrame.healthBar:IsShown()) then\n envTable.HideNameplate (unitFrame)\n end\n end\n \nend\n\n\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.ShowNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.OnlyInOpenWorld = true;\n envTable.ShowInCombat = true;\n \n --consts\n envTable.REACTION_NEUTRAL = 4;\n \n --functions to hide and show the healthBar\n function envTable.HideNameplate (unitFrame)\n Plater.HideHealthBar (unitFrame)\n Plater.DisableHighlight (unitFrame)\n envTable.IsHidden = true\n end\n \n function envTable.ShowNameplate (unitFrame)\n Plater.ShowHealthBar (unitFrame)\n Plater.EnableHighlight (unitFrame)\n envTable.IsHidden = false\n end\n \nend\n\n\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Hide neutral units, show when selected, see the constructor script for options.", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.HideNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end\n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n envTable.HideNameplate (unitFrame)\n end\n \nend\n\n\n\n\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n --check the unit reaction\n if (unitFrame.namePlateIsTarget) then\n envTable.ShowNameplate (unitFrame)\n \n else\n envTable.HideNameplate (unitFrame)\n \n end \n end\n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n envTable.ShowNameplate (unitFrame)\n end\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --when plater finishes an update on the nameplate\n --check within the envTable if the healthBar of this nameplate should be hidden\n if (envTable.IsHidden) then\n if (unitFrame.healthBar:IsShown()) then\n envTable.HideNameplate (unitFrame)\n end\n end\n \nend\n\n\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.ShowNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.OnlyInOpenWorld = true;\n envTable.ShowInCombat = true;\n \n --consts\n envTable.REACTION_NEUTRAL = 4;\n \n --functions to hide and show the healthBar\n function envTable.HideNameplate (unitFrame)\n Plater.HideHealthBar (unitFrame)\n Plater.DisableHighlight (unitFrame)\n envTable.IsHidden = true\n end\n \n function envTable.ShowNameplate (unitFrame)\n Plater.ShowHealthBar (unitFrame)\n Plater.EnableHighlight (unitFrame)\n envTable.IsHidden = false\n end\n \nend\n\n\n\n\n", }, ["Name"] = "Hide Neutral Units [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1553450458, ["Icon"] = 1990989, ["LastHookEdited"] = "Constructor", }, -- [2] { ["Enabled"] = false, ["Revision"] = 185, ["HooksTemp"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n envTable.CanShow = false;\n envTable.TargetAmount:SetText (\"\")\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --when a nameplate is added to the screen check if the player is in combat\n if (InCombatLockdown()) then\n --player is in combat, check if can check amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n else\n envTable.CanShow = false; \n end\n \n envTable.TargetAmount:SetText (\"\");\n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.TargetAmount:SetText (\"\");\n envTable.CanShow = false;\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --if the script is allowed to show the amount of targets\n --also check if the unit is in combat\n if (envTable.CanShow and UnitAffectingCombat (unitId)) then\n \n --check if can update the amount of targets following the cooldown set in the constructor script\n --by default Plater updates the nameplate every 250ms, by default the cooldown is 2, so it'll update the amuont of target every 1/2 of a second\n envTable.UpdateCooldown = envTable.UpdateCooldown + 1\n if (envTable.UpdateCooldown < envTable.UpdateInterval) then\n return\n else\n \n --reset the cooldown interval to check the amount of target again\n envTable.UpdateCooldown = 0\n \n --get the amount of targets\n local amount;\n if (envTable.InRaid) then\n amount = envTable.NumTargetsInRaid (unitFrame) \n \n elseif (envTable.InParty) then\n amount = envTable.NumTargetsInParty (unitFrame) \n \n else\n envTable.TargetAmount:SetText (\"\")\n return\n end\n \n --update the amount text\n if (amount == 0) then\n envTable.TargetAmount:SetText (\"\")\n else\n envTable.TargetAmount:SetText (amount)\n end\n \n end\n end\nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can show the amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n if (not envTable.CanShow) then\n envTable.TargetAmount:SetText (\"\") \n end\nend\n\n\n\n\n", ["Constructor"] = "--all gray text like this are comments and do not run as code\n--build the settings and basic functions for the hook\n\nfunction (self, unitId, unitFrame, envTable)\n \n --declare setting variables:\n local textColor = \"orange\";\n local textSize = 12;\n \n local showInRaid = true;\n local showInDungeon = true;\n local showInArena = false;\n local showInBattleground = false;\n local showInOpenWorld = true;\n \n envTable.UpdateInterval = 2; --each 2 updates in the nameplate it'll update the amount of targets\n \n local anchor = {\n side = 6, --1 = topleft 2 = left 3 = bottomleft 4 = bottom 5 = bottom right 6 = right 7 = topright 8 = top\n x = 4, --x offset\n y = 0, --y offset\n };\n \n \n ---------------------------------------------------------------------------------------------------------------------------------------------\n \n \n --frames:\n \n --create the text that will show the amount of people targeting the unit\n if (not unitFrame.healthBar.TargetAmount) then\n envTable.TargetAmount = Plater:CreateLabel (unitFrame.healthBar, \"\", textSize, textColor);\n Plater.SetAnchor (envTable.TargetAmount, anchor);\n unitFrame.healthBar.TargetAmount = envTable.TargetAmount\n end\n \n --in case Plater wipes the envTable\n envTable.TargetAmount = unitFrame.healthBar.TargetAmount\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --private variables (they will be used in the other scripts within this hook)\n envTable.CanShow = false;\n envTable.UpdateCooldown = 0;\n envTable.InRaid = false;\n envTable.InParty = false;\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --functions\n \n --update the InRaid or InParty proprieties\n function envTable.UpdateGroupType()\n if (IsInRaid()) then\n envTable.InRaid = true;\n envTable.InParty = false; \n \n elseif (IsInGroup()) then\n envTable.InRaid = false;\n envTable.InParty = true; \n \n else\n envTable.InRaid = false; \n envTable.InParty = false;\n end\n end\n \n --this function controls if the amount of targets can show following the settings in the top of this script\n function envTable.CanShowTargetAmount()\n \n local _, instanceType, difficultyID, _, _, _, _, instanceMapID, instanceGroupSize = GetInstanceInfo()\n \n if (showInRaid and instanceType == \"raid\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInDungeon and instanceType == \"party\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInArena and instanceType == \"arena\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInBattleground and instanceType == \"pvp\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInOpenWorld and instanceType == \"none\") then\n envTable.UpdateGroupType()\n if (envTable.InRaid or envTable.InParty) then\n return true\n end\n end\n \n return false\n end\n \n --get the amount of player targetting the unit in raid or party\n function envTable.NumTargetsInRaid (unitFrame)\n local amount = 0\n for i = 1, GetNumGroupMembers() do\n local unit = \"raid\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n return amount\n end\n \n function envTable.NumTargetsInParty()\n local amount = 0\n for i = 1, GetNumGroupMembers() - 1 do\n local unit = \"party\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n local unit = \"playertarget\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end \n \n return amount\n end\n \nend", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Show how many raid members are targeting the unit", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n envTable.CanShow = false;\n envTable.TargetAmount:SetText (\"\")\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --when a nameplate is added to the screen check if the player is in combat\n if (InCombatLockdown()) then\n --player is in combat, check if can check amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n else\n envTable.CanShow = false; \n end\n \n envTable.TargetAmount:SetText (\"\");\n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.TargetAmount:SetText (\"\");\n envTable.CanShow = false;\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --if the script is allowed to show the amount of targets\n --also check if the unit is in combat\n if (envTable.CanShow and UnitAffectingCombat (unitId)) then\n \n --check if can update the amount of targets following the cooldown set in the constructor script\n --by default Plater updates the nameplate every 250ms, by default the cooldown is 2, so it'll update the amuont of target every 1/2 of a second\n envTable.UpdateCooldown = envTable.UpdateCooldown + 1\n if (envTable.UpdateCooldown < envTable.UpdateInterval) then\n return\n else\n \n --reset the cooldown interval to check the amount of target again\n envTable.UpdateCooldown = 0\n \n --get the amount of targets\n local amount;\n if (envTable.InRaid) then\n amount = envTable.NumTargetsInRaid (unitFrame) \n \n elseif (envTable.InParty) then\n amount = envTable.NumTargetsInParty (unitFrame) \n \n else\n envTable.TargetAmount:SetText (\"\")\n return\n end\n \n --update the amount text\n if (amount == 0) then\n envTable.TargetAmount:SetText (\"\")\n else\n envTable.TargetAmount:SetText (amount)\n end\n \n end\n end\nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can show the amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n if (not envTable.CanShow) then\n envTable.TargetAmount:SetText (\"\") \n end\nend\n\n\n\n\n", ["Constructor"] = "--all gray text like this are comments and do not run as code\n--build the settings and basic functions for the hook\n\nfunction (self, unitId, unitFrame, envTable)\n \n --declare setting variables:\n local textColor = \"orange\";\n local textSize = 12;\n \n local showInRaid = true;\n local showInDungeon = true;\n local showInArena = false;\n local showInBattleground = false;\n local showInOpenWorld = true;\n \n envTable.UpdateInterval = 2; --each 2 updates in the nameplate it'll update the amount of targets\n \n local anchor = {\n side = 6, --1 = topleft 2 = left 3 = bottomleft 4 = bottom 5 = bottom right 6 = right 7 = topright 8 = top\n x = 4, --x offset\n y = 0, --y offset\n };\n \n \n ---------------------------------------------------------------------------------------------------------------------------------------------\n \n \n --frames:\n \n --create the text that will show the amount of people targeting the unit\n if (not unitFrame.healthBar.TargetAmount) then\n envTable.TargetAmount = Plater:CreateLabel (unitFrame.healthBar, \"\", textSize, textColor);\n Plater.SetAnchor (envTable.TargetAmount, anchor);\n unitFrame.healthBar.TargetAmount = envTable.TargetAmount\n end\n \n --in case Plater wipes the envTable\n envTable.TargetAmount = unitFrame.healthBar.TargetAmount\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --private variables (they will be used in the other scripts within this hook)\n envTable.CanShow = false;\n envTable.UpdateCooldown = 0;\n envTable.InRaid = false;\n envTable.InParty = false;\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --functions\n \n --update the InRaid or InParty proprieties\n function envTable.UpdateGroupType()\n if (IsInRaid()) then\n envTable.InRaid = true;\n envTable.InParty = false; \n \n elseif (IsInGroup()) then\n envTable.InRaid = false;\n envTable.InParty = true; \n \n else\n envTable.InRaid = false; \n envTable.InParty = false;\n end\n end\n \n --this function controls if the amount of targets can show following the settings in the top of this script\n function envTable.CanShowTargetAmount()\n \n local _, instanceType, difficultyID, _, _, _, _, instanceMapID, instanceGroupSize = GetInstanceInfo()\n \n if (showInRaid and instanceType == \"raid\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInDungeon and instanceType == \"party\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInArena and instanceType == \"arena\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInBattleground and instanceType == \"pvp\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInOpenWorld and instanceType == \"none\") then\n envTable.UpdateGroupType()\n if (envTable.InRaid or envTable.InParty) then\n return true\n end\n end\n \n return false\n end\n \n --get the amount of player targetting the unit in raid or party\n function envTable.NumTargetsInRaid (unitFrame)\n local amount = 0\n for i = 1, GetNumGroupMembers() do\n local unit = \"raid\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n return amount\n end\n \n function envTable.NumTargetsInParty()\n local amount = 0\n for i = 1, GetNumGroupMembers() - 1 do\n local unit = \"party\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n local unit = \"playertarget\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end \n \n return amount\n end\n \nend", }, ["Name"] = "Players Targeting a Target [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825362, ["Icon"] = 1966587, ["LastHookEdited"] = "Constructor", }, -- [3] { ["Enabled"] = false, ["Revision"] = 93, ["HooksTemp"] = { }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Changes the target color to the color set in the constructor script.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --usage: color name e.g \"red\" \"yellow\"; color table e.g {1, 0, 0} {1, 1, 0}; hex string e.g. \"#FF0000\" \"FFFF00\"\n \n envTable.TargetColor = \"purple\"\n --envTable.TargetColor = \"#FF00FF\"\n --envTable.TargetColor = {252/255, 0/255, 254/255}\n \n function envTable.UpdateColor (unitFrame)\n --do not change the color of the personal bar\n if (not unitFrame.IsSelf) then\n \n --if this nameplate the current target of the player?\n if (unitFrame.namePlateIsTarget) then\n Plater.SetNameplateColor (unitFrame, envTable.TargetColor) --rgb\n else\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n end\n end\n end\n \nend\n\n\n\n\n", }, ["Name"] = "Current Target Color [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1552354619, ["Icon"] = 878211, ["LastHookEdited"] = "", }, -- [4] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n --constructor is executed only once when any script of the hook runs.\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --check if need update the amount of combo points shown\n if (envTable.LastPlayerTalentUpdate > envTable.LastUpdate) then\n envTable.UpdateComboPointAmount()\n end \n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n \n else\n envTable.ComboPointFrame:Hide()\n end \n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n --check if this nameplate is the current target\n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n else\n envTable.ComboPointFrame:Hide()\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable, modTable, ...)\n local powerType = ...\n \n if (powerType and powerType == \"COMBO_POINTS\" and unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.UpdateComboPoints()\n end\n \n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --update the amount of comboo points shown when the player changes talents or specialization\n envTable.UpdateComboPointAmount()\n \n --save the time of the last talent change\n envTable.LastPlayerTalentUpdate = GetTime()\n \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --settings\n local anchors = {\n {\"bottom\", unitFrame.healthBar, \"top\", 0, 24},\n }\n \n local sizes = {\n width = 12,\n height = 12,\n scale = 1,\n }\n \n local textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {0/128, 21/128, 101/128, 122/128},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {3/128, 18/128, 81/128, 96/128},\n }\n if WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE then\n textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {78/128, 98/128, 21/64, 41/64},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {100/128, 120/128, 21/64, 41/64},\n }\n end\n \n local frameLevel = 1000\n local frameStrata = \"high\" \n \n --private\n do\n --store combo points frames on this table\n envTable.ComboPoints = {}\n --save when the player changed talents or spec\n envTable.LastPlayerTalentUpdate = GetTime()\n --save when this nameplate got a combo point amount and alignment update \n \n --build combo points frame anchor (combo point are anchored to this)\n if (not unitFrame.PlaterComboPointFrame) then\n local hostFrame = CreateFrame (\"frame\", nil, unitFrame)\n hostFrame.ComboPointFramesPool = {}\n unitFrame.PlaterComboPointFrame = hostFrame\n envTable.ComboPointFrame = hostFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n \n --DetailsFramework:ApplyStandardBackdrop (envTable.ComboPointFrame) --debug anchor size\n \n --animations\n local onPlayShowAnimation = function (animation)\n --stop the hide animation if it's playing\n if (animation:GetParent():GetParent().HideAnimation:IsPlaying()) then\n animation:GetParent():GetParent().HideAnimation:Stop()\n end\n \n animation:GetParent():Show()\n end\n \n local onPlayHideAnimation = function (animation)\n --stop the show animation if it's playing\n if (animation:GetParent():GetParent().ShowAnimation:IsPlaying()) then\n animation:GetParent():GetParent().ShowAnimation:Stop()\n end\n end \n local onStopHideAnimation = function (animation)\n animation:GetParent():Hide() \n end\n \n local createAnimations = function (comboPoint)\n --on show\n comboPoint.ShowAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayShowAnimation, nil)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 1, 0.1, 0, 0, 1, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"alpha\", 1, 0.1, .5, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 2, 0.1, 1.2, 1.2, 1, 1)\n \n --on hide\n comboPoint.HideAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayHideAnimation, onStopHideAnimation)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"scale\", 1, 0.1, 1, 1, 0, 0)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"alpha\", 1, 0.1, 1, 0)\n end\n \n --build combo point frame \n for i =1, 10 do \n local f = CreateFrame (\"frame\", nil, envTable.ComboPointFrame)\n f:SetSize (sizes.width, sizes.height)\n tinsert (envTable.ComboPoints, f)\n tinsert (unitFrame.PlaterComboPointFrame.ComboPointFramesPool, f)\n \n local backgroundTexture = f:CreateTexture (nil, \"background\")\n backgroundTexture:SetTexture (textures.backgroundTexture)\n backgroundTexture:SetTexCoord (unpack (textures.backgroundTexCoords))\n backgroundTexture:SetSize (sizes.width, sizes.height)\n backgroundTexture:SetPoint (\"center\")\n \n local comboPointTexture = f:CreateTexture (nil, \"artwork\")\n comboPointTexture:SetTexture (textures.comboPointTexture)\n comboPointTexture:SetTexCoord (unpack (textures.comboPointTexCoords))\n \n comboPointTexture:SetSize (sizes.width, sizes.height)\n comboPointTexture:SetPoint (\"center\")\n comboPointTexture:Hide() \n \n f.IsActive = false\n \n f.backgroundTexture = backgroundTexture\n f.comboPointTexture = comboPointTexture\n \n createAnimations (f)\n end\n \n else\n envTable.ComboPointFrame = unitFrame.PlaterComboPointFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n envTable.ComboPoints = unitFrame.PlaterComboPointFrame.ComboPointFramesPool\n \n end \n \n envTable.ComboPointFrame:SetFrameLevel (frameLevel)\n envTable.ComboPointFrame:SetFrameStrata (frameStrata)\n \n function envTable.UpdateComboPoints()\n local comboPoints = GetComboPoints(\"player\", \"target\")\n --UnitPower (\"player\", Enum.PowerType.ComboPoints)\n \n for i = 1, envTable.TotalComboPoints do\n local thisComboPoint = envTable.ComboPoints [i]\n \n if (i <= comboPoints ) then\n --combo point enabled\n if (not thisComboPoint.IsActive) then\n thisComboPoint.ShowAnimation:Play()\n thisComboPoint.IsActive = true\n \n end\n \n else\n --combo point disabled\n if (thisComboPoint.IsActive) then\n thisComboPoint.HideAnimation:Play()\n thisComboPoint.IsActive = false\n \n end\n end\n end\n \n \n end\n \n function envTable.UpdateComboPointAmount()\n local namePlateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat[1]\n local comboPoints = UnitPowerMax (\"player\", Enum.PowerType.ComboPoints)\n local reservedSpace = (namePlateWidth - sizes.width * comboPoints) / comboPoints \n \n --store the total amount of combo points\n envTable.TotalComboPoints = comboPoints\n \n --update anchor frame\n envTable.ComboPointFrame:SetWidth (namePlateWidth)\n envTable.ComboPointFrame:SetHeight (20)\n envTable.ComboPointFrame:ClearAllPoints()\n for i = 1, #anchors do\n local anchor = anchors[i]\n envTable.ComboPointFrame:SetPoint (unpack (anchor))\n end \n \n --\n for i = 1, #envTable.ComboPoints do\n envTable.ComboPoints[i]:Hide()\n envTable.ComboPoints[i]:ClearAllPoints()\n end\n \n for i = 1, comboPoints do\n local comboPoint = envTable.ComboPoints[i]\n if i == 1 then\n comboPoint:SetPoint (\"left\", envTable.ComboPointFrame, \"left\", reservedSpace/2, 0)\n else\n comboPoint:SetPoint (\"left\", envTable.ComboPoints[i-1], \"right\", reservedSpace, 0)\n end\n \n comboPoint:Show()\n end\n \n envTable.LastUpdate = GetTime()\n \n envTable.UpdateComboPoints()\n end\n \n --initialize\n envTable.UpdateComboPointAmount()\n envTable.ComboPointFrame:Hide()\n end\n \n \nend", }, ["Time"] = 1621935143, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { ["Enabled"] = true, ["DRUID"] = true, ["ROGUE"] = true, }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { ["103"] = true, ["Enabled"] = true, }, ["race"] = { }, ["encounter_ids"] = { }, ["affix"] = { }, }, ["url"] = "", ["Icon"] = 135426, ["Enabled"] = false, ["Revision"] = 284, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Show combo points above the nameplate for Druid Feral and Rogues.", ["Name"] = "Combo Points [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["HooksTemp"] = { }, ["Options"] = { }, }, -- [5] { ["Enabled"] = false, ["Revision"] = 192, ["HooksTemp"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.IsEnabled and unitFrame.ActorType == \"enemyplayer\") then\n \n if (unitFrame.IsSelf) then\n if (envTable.ShowOnPersonalBar) then\n envTable.BorderFrame:Show()\n else\n envTable.BorderFrame:Hide() \n end\n else\n envTable.BorderFrame:Show()\n end \n \n else\n envTable.BorderFrame:Hide() \n end\n \nend \n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --border color\n local borderColor = \"yellow\"\n \n --size of the border\n local borderSize = 1\n \n --transparency\n local borderAlpha = 1\n \n --enabled (set to false it you only want to use the extra border in other scripts)\n local isEnabled = true\n \n --export border (allow the border to be used by other scripts)\n --other scripts can use:\n --unitFrame.healthBar.extraBorder:Show()\n --unitFrame.healthBar.extraBorder:SetVertexColor (r, g, b)\n --unitFrame.healthBar.extraBorder:SetBorderSizes (borderSize)\n local canExportBorder = true\n \n --do not add the border to personal bar\n local noPersonalBar = true\n \n --private\n do\n \n local newBorder = CreateFrame (\"frame\", nil, unitFrame.healthBar, \"NamePlateFullBorderTemplate\")\n envTable.BorderFrame = newBorder\n \n newBorder:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n newBorder:UpdateSizes()\n \n local r, g, b = DetailsFramework:ParseColors (borderColor)\n newBorder:SetVertexColor (r, g, b, borderAlpha)\n \n envTable.ShowOnPersonalBar = not noPersonalBar\n \n if (canExportBorder) then\n unitFrame.healthBar.extraBorder = newBorder\n end\n \n if (not isEnabled) then\n envTable.IsEnabled = false\n else\n envTable.IsEnabled = true\n end\n end\n \nend\n\n\n", }, ["Author"] = "Tecno-Azralon", ["Desc"] = "Add another border with more customizations. This border can also be manipulated by other scripts.", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.IsEnabled and unitFrame.ActorType == \"enemyplayer\") then\n \n if (unitFrame.IsSelf) then\n if (envTable.ShowOnPersonalBar) then\n envTable.BorderFrame:Show()\n else\n envTable.BorderFrame:Hide() \n end\n else\n envTable.BorderFrame:Show()\n end \n \n else\n envTable.BorderFrame:Hide() \n end\n \nend \n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --border color\n local borderColor = \"yellow\"\n \n --size of the border\n local borderSize = 1\n \n --transparency\n local borderAlpha = 1\n \n --enabled (set to false it you only want to use the extra border in other scripts)\n local isEnabled = true\n \n --export border (allow the border to be used by other scripts)\n --other scripts can use:\n --unitFrame.healthBar.extraBorder:Show()\n --unitFrame.healthBar.extraBorder:SetVertexColor (r, g, b)\n --unitFrame.healthBar.extraBorder:SetBorderSizes (borderSize)\n local canExportBorder = true\n \n --do not add the border to personal bar\n local noPersonalBar = true\n \n --private\n do\n \n local newBorder = CreateFrame (\"frame\", nil, unitFrame.healthBar, \"NamePlateFullBorderTemplate\")\n envTable.BorderFrame = newBorder\n \n newBorder:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n newBorder:UpdateSizes()\n \n local r, g, b = DetailsFramework:ParseColors (borderColor)\n newBorder:SetVertexColor (r, g, b, borderAlpha)\n \n envTable.ShowOnPersonalBar = not noPersonalBar\n \n if (canExportBorder) then\n unitFrame.healthBar.extraBorder = newBorder\n end\n \n if (not isEnabled) then\n envTable.IsEnabled = false\n else\n envTable.IsEnabled = true\n end\n end\n \nend\n\n\n", }, ["Name"] = "Extra Border [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825335, ["Icon"] = 133689, ["LastHookEdited"] = "Constructor", }, -- [6] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Added"] = "\n\n-- exported function Plater.UpdatePlateSize() from Plater.lua\n--this is for advanced users which wants to reorder the nameplate frame at their desire\n\n\n\nfunction (self, unitId, unitFrame, envTable)\n \n --check if there's a type of unit on this nameplate\n local plateFrame = unitFrame:GetParent()\n if (not plateFrame.actorType) then\n return\n end\n \n --get all the frames and cache some variables\n local ACTORTYPE_ENEMY_PLAYER = \"enemyplayer\"\n local profile = Plater.db.profile\n local DB_PLATE_CONFIG = profile.plate_config\n local isInCombat = Plater.IsInCombat()\n local actorType = plateFrame.actorType\n \n local unitFrame = plateFrame.unitFrame\n local healthBar = unitFrame.healthBar\n local castBar = unitFrame.castBar\n local powerBar = unitFrame.powerBar\n local buffFrame1 = unitFrame.BuffFrame\n local buffFrame2 = unitFrame.BuffFrame2\n \n --use in combat bars when in pvp\n if (plateFrame.actorType == ACTORTYPE_ENEMY_PLAYER) then\n if ((Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"arena\") and DB_PLATE_CONFIG.player.pvp_always_incombat) then\n isInCombat = true\n end\n end\n \n --get the config for this actor type\n local plateConfigs = DB_PLATE_CONFIG [actorType]\n --get the config key based if the player is in combat\n local castBarConfigKey, healthBarConfigKey, manaConfigKey = Plater.GetHashKey (isInCombat)\n \n --get the width and height from what the user set in the options panel\n local healthBarWidth, healthBarHeight = unitFrame.customHealthBarWidth or plateConfigs [healthBarConfigKey][1], unitFrame.customHealthBarHeight or plateConfigs [healthBarConfigKey][2]\n local castBarWidth, castBarHeight = unitFrame.customCastBarWidth or plateConfigs [castBarConfigKey][1], unitFrame.customCastBarHeight or plateConfigs [castBarConfigKey][2]\n local powerBarWidth, powerBarHeight = unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][1], unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][2]\n \n --calculate the offset for the cast bar, this is done due to the cast bar be anchored to topleft and topright\n local castBarOffSetX = (healthBarWidth - castBarWidth) / 2\n local castBarOffSetY = plateConfigs.castbar_offset\n \n --calculate offsets for the power bar\n local powerBarOffSetX = (healthBarWidth - powerBarWidth) / 2\n local powerBarOffSetY = 0\n \n --calculate the size deviation for pets\n local unitType = Plater.GetUnitType (plateFrame)\n if (unitType == \"pet\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.pet_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.pet_width_scale\n \n elseif (unitType == \"minus\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.minor_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.minor_width_scale\n end\n \n --unit frame - is set to be the same size as the plateFrame\n unitFrame:ClearAllPoints()\n unitFrame:SetAllPoints()\n \n --calculates the health bar anchor points\n --it will always be placed in the center of the nameplate area (where it accepts mouse clicks) \n local xOffSet = (plateFrame:GetWidth() - healthBarWidth) / 2\n local yOffSet = (plateFrame:GetHeight() - healthBarHeight) / 2\n \n --set the health bar point\n healthBar:ClearAllPoints()\n PixelUtil.SetPoint (healthBar, \"topleft\", unitFrame, \"topleft\", xOffSet + profile.global_offset_x, -yOffSet + profile.global_offset_y)\n PixelUtil.SetPoint (healthBar, \"bottomright\", unitFrame, \"bottomright\", -xOffSet + profile.global_offset_x, yOffSet + profile.global_offset_y)\n \n --set the cast bar point and size\n castBar:ClearAllPoints()\n PixelUtil.SetPoint (castBar, \"topleft\", healthBar, \"bottomleft\", castBarOffSetX, castBarOffSetY)\n PixelUtil.SetPoint (castBar, \"topright\", healthBar, \"bottomright\", -castBarOffSetX, castBarOffSetY)\n PixelUtil.SetHeight (castBar, castBarHeight)\n PixelUtil.SetSize (castBar.Icon, castBarHeight, castBarHeight)\n PixelUtil.SetSize (castBar.BorderShield, castBarHeight * 1.4, castBarHeight * 1.4)\n \n --set the power bar point and size\n powerBar:ClearAllPoints()\n PixelUtil.SetPoint (powerBar, \"topleft\", healthBar, \"bottomleft\", powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetPoint (powerBar, \"topright\", healthBar, \"bottomright\", -powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetHeight (powerBar, powerBarHeight)\n \n --power bar are hidden by default, show it if there's a custom size for it\n if (unitFrame.customPowerBarWidth and unitFrame.customPowerBarHeight) then\n powerBar:SetUnit (unitFrame.unit)\n end\n \n --aura frames\n local bf1Anchor = Plater.db.profile.aura_frame1_anchor\n Plater.SetAnchor (buffFrame1, {side = bf1Anchor.side, x = bf1Anchor.x, y = bf1Anchor.y + plateConfigs.buff_frame_y_offset}, unitFrame.healthBar, (Plater.db.profile.aura_grow_direction or 2) == 2)\n \n local bf2Anchor = Plater.db.profile.aura_frame2_anchor\n Plater.SetAnchor (buffFrame2, {side = bf2Anchor.side, x = bf2Anchor.x, y = bf2Anchor.y + plateConfigs.buff_frame_y_offset}, unitFrame.healthBar, (Plater.db.profile.aura2_grow_direction or 2) == 2)\n \nend\n\n\n", }, ["Time"] = 1596791840, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 574574, ["Enabled"] = false, ["Revision"] = 93, ["semver"] = "", ["Author"] = "Kastfall-Azralon", ["Desc"] = "Function Plater.UpdatePlateSize from Plater.lua exported to scritps.", ["Name"] = "Reorder Nameplate [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["HooksTemp"] = { }, ["Options"] = { }, }, -- [7] { ["Enabled"] = false, ["Revision"] = 107, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.NpcColors = {\n \n --examples, using the unit name in lower case, regular unit name and the unitID:\n \n [\"Thunderlord Windreader\"] = \"red\", --using regular mob name and color it as red\n [\"thunderlord crag-leaper\"] = {1, 1, 0}, --using lower case and coloring it yellow\n [75790] = \"#00FF00\", --using the ID of the unit and using green as color\n \n --insert the new mobs here:\n \n \n \n \n \n \n \n \n \n \n \n \n \n } --close custom color bracket\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --attempt to get the color from the unit color list\n local color = envTable.NpcColors [unitFrame.namePlateUnitNameLower] or envTable.NpcColors [unitFrame.namePlateUnitName] or envTable.NpcColors [unitFrame.namePlateNpcId]\n \n --if the color exists, set the health bar color\n if (color) then\n Plater.SetNameplateColor (unitFrame, color)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Easy way to change the color of an unit. Open the constructor script and follow the examples.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.NpcColors = {\n \n --examples, using the unit name in lower case, regular unit name and the unitID:\n \n [\"Thunderlord Windreader\"] = \"red\", --using regular mob name and color it as red\n [\"thunderlord crag-leaper\"] = {1, 1, 0}, --using lower case and coloring it yellow\n [75790] = \"#00FF00\", --using the ID of the unit and using green as color\n \n --insert the new mobs here:\n \n \n \n \n \n \n \n \n \n \n \n \n \n } --close custom color bracket\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --attempt to get the color from the unit color list\n local color = envTable.NpcColors [unitFrame.namePlateUnitNameLower] or envTable.NpcColors [unitFrame.namePlateUnitName] or envTable.NpcColors [unitFrame.namePlateNpcId]\n \n --if the color exists, set the health bar color\n if (color) then\n Plater.SetNameplateColor (unitFrame, color)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Color Automation [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825317, ["Icon"] = "Interface\\AddOns\\Plater\\images\\color_bar", ["LastHookEdited"] = "Constructor", }, -- [8] { ["Enabled"] = false, ["Revision"] = 139, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --execute detection, if true the script will handle the execute percent\n --while false Plater will automatically trigger the execute range\n --you only want to set this to true in case of Plater not detecting the execute range correctly\n envTable.UseCustomExecutePercent = true\n --execute percent, if not detecting automatic, this is the percent to active the execute range\n --use from zero to one, 0.20 is equal to 20% of the unit life\n envTable.ExecutePercent = 0.20\n \n --second execute range (UseCustomExecutePercent must be enabled)\n envTable.SecondRangeStart = 0.999\n envTable.SecondRangeEnd = 0.8\n \n --allow this script to change the nameplate color when the unit is in execute range\n envTable.CanChangeColor = true\n --change the health bar color to this color when the unit is in execute range\n --color can be set as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0}\n envTable.ExecuteColor = \"green\"\n \n --border color\n envTable.CanChangeBorderColor = false\n envTable.BorderColor = \"red\"\n \n --hide the default health divisor and the health execute indicator\n envTable.HideHealthDivisor = false\n --if not hidden, adjust the health divisor settings and the health execute indicator\n envTable.HealthDivisorAlpha = 0.5\n envTable.HealthDivisorColor = \"white\"\n envTable.HealthExecuteIndicatorAlpha = 0.15\n envTable.HealthExecuteIndicatorColor = \"darkred\"\n \n \n --private (internal functions)\n do\n function envTable.UnitInExecuteRange (unitFrame, divisorPercent)\n --check if can change the execute color\n if (envTable.CanChangeColor) then\n Plater.SetNameplateColor (unitFrame, envTable.ExecuteColor)\n end\n \n if (envTable.CanChangeBorderColor) then\n Plater.SetBorderColor (unitFrame, envTable.BorderColor)\n end\n \n if (envTable.HideHealthDivisor) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n \n else\n envTable.UpdateHealthDivisor (unitFrame, divisorPercent)\n \n end\n end\n \n function envTable.UpdateHealthDivisor (unitFrame, divisorPercent)\n local healthBar = unitFrame.healthBar\n \n healthBar.healthCutOff:Show()\n healthBar.healthCutOff:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthDivisorColor))\n healthBar.healthCutOff:SetAlpha (envTable.HealthDivisorAlpha)\n \n healthBar.executeRange:Show()\n healthBar.executeRange:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthExecuteIndicatorColor))\n healthBar.executeRange:SetAlpha (envTable.HealthExecuteIndicatorAlpha)\n \n if (envTable.UseCustomExecutePercent) then\n healthBar.healthCutOff:ClearAllPoints()\n healthBar.executeRange:ClearAllPoints()\n \n healthBar.healthCutOff:SetSize (healthBar:GetHeight(), healthBar:GetHeight())\n healthBar.healthCutOff:SetPoint (\"center\", healthBar, \"left\", healthBar:GetWidth() * divisorPercent, 0)\n \n healthBar.executeRange:SetTexCoord (0, envTable.ExecutePercent, 0, 1)\n healthBar.executeRange:SetHeight (healthBar:GetHeight())\n healthBar.executeRange:SetPoint (\"left\", healthBar, \"left\", 0, 0)\n healthBar.executeRange:SetPoint (\"right\", healthBar.healthCutOff, \"center\")\n end\n \n end\n end\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n if (envTable.UseCustomExecutePercent) then\n \n --manual detection\n local healthBar = unitFrame.healthBar\n local percent = healthBar.CurrentHealth / healthBar.CurrentHealthMax\n \n if (percent <= envTable.ExecutePercent) then\n envTable.UnitInExecuteRange (unitFrame, envTable.ExecutePercent)\n envTable.InExecuteRange = true\n \n elseif (percent < envTable.SecondRangeStart and percent >= envTable.SecondRangeEnd) then\n envTable.UnitInExecuteRange (unitFrame, envTable.SecondRangeEnd)\n envTable.InExecuteRange = true\n \n else\n if (envTable.InExecuteRange) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n Plater.RefreshNameplateColor (unitFrame)\n Plater.SetBorderColor (unitFrame)\n envTable.InExecuteRange = false\n end\n end\n \n else\n \n --auto detection\n if (unitFrame.InExecuteRange) then\n envTable.UnitInExecuteRange (unitFrame, 0)\n end\n \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Ahwa-Azralon", ["Desc"] = "Adds extra effects to execute range and allow to setup two execute ranges for classes with execute when the unit has almost full healh. See the constructor script for options.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --execute detection, if true the script will handle the execute percent\n --while false Plater will automatically trigger the execute range\n --you only want to set this to true in case of Plater not detecting the execute range correctly\n envTable.UseCustomExecutePercent = true\n --execute percent, if not detecting automatic, this is the percent to active the execute range\n --use from zero to one, 0.20 is equal to 20% of the unit life\n envTable.ExecutePercent = 0.20\n \n --second execute range (UseCustomExecutePercent must be enabled)\n envTable.SecondRangeStart = 0.999\n envTable.SecondRangeEnd = 0.8\n \n --allow this script to change the nameplate color when the unit is in execute range\n envTable.CanChangeColor = true\n --change the health bar color to this color when the unit is in execute range\n --color can be set as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0}\n envTable.ExecuteColor = \"green\"\n \n --border color\n envTable.CanChangeBorderColor = false\n envTable.BorderColor = \"red\"\n \n --hide the default health divisor and the health execute indicator\n envTable.HideHealthDivisor = false\n --if not hidden, adjust the health divisor settings and the health execute indicator\n envTable.HealthDivisorAlpha = 0.5\n envTable.HealthDivisorColor = \"white\"\n envTable.HealthExecuteIndicatorAlpha = 0.15\n envTable.HealthExecuteIndicatorColor = \"darkred\"\n \n \n --private (internal functions)\n do\n function envTable.UnitInExecuteRange (unitFrame, divisorPercent)\n --check if can change the execute color\n if (envTable.CanChangeColor) then\n Plater.SetNameplateColor (unitFrame, envTable.ExecuteColor)\n end\n \n if (envTable.CanChangeBorderColor) then\n Plater.SetBorderColor (unitFrame, envTable.BorderColor)\n end\n \n if (envTable.HideHealthDivisor) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n \n else\n envTable.UpdateHealthDivisor (unitFrame, divisorPercent)\n \n end\n end\n \n function envTable.UpdateHealthDivisor (unitFrame, divisorPercent)\n local healthBar = unitFrame.healthBar\n \n healthBar.healthCutOff:Show()\n healthBar.healthCutOff:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthDivisorColor))\n healthBar.healthCutOff:SetAlpha (envTable.HealthDivisorAlpha)\n \n healthBar.executeRange:Show()\n healthBar.executeRange:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthExecuteIndicatorColor))\n healthBar.executeRange:SetAlpha (envTable.HealthExecuteIndicatorAlpha)\n \n if (envTable.UseCustomExecutePercent) then\n healthBar.healthCutOff:ClearAllPoints()\n healthBar.executeRange:ClearAllPoints()\n \n healthBar.healthCutOff:SetSize (healthBar:GetHeight(), healthBar:GetHeight())\n healthBar.healthCutOff:SetPoint (\"center\", healthBar, \"left\", healthBar:GetWidth() * divisorPercent, 0)\n \n healthBar.executeRange:SetTexCoord (0, envTable.ExecutePercent, 0, 1)\n healthBar.executeRange:SetHeight (healthBar:GetHeight())\n healthBar.executeRange:SetPoint (\"left\", healthBar, \"left\", 0, 0)\n healthBar.executeRange:SetPoint (\"right\", healthBar.healthCutOff, \"center\")\n end\n \n end\n end\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n if (envTable.UseCustomExecutePercent) then\n \n --manual detection\n local healthBar = unitFrame.healthBar\n local percent = healthBar.CurrentHealth / healthBar.CurrentHealthMax\n \n if (percent <= envTable.ExecutePercent) then\n envTable.UnitInExecuteRange (unitFrame, envTable.ExecutePercent)\n envTable.InExecuteRange = true\n \n elseif (percent < envTable.SecondRangeStart and percent >= envTable.SecondRangeEnd) then\n envTable.UnitInExecuteRange (unitFrame, envTable.SecondRangeEnd)\n envTable.InExecuteRange = true\n \n else\n if (envTable.InExecuteRange) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n Plater.RefreshNameplateColor (unitFrame)\n Plater.SetBorderColor (unitFrame)\n envTable.InExecuteRange = false\n end\n end\n \n else\n \n --auto detection\n if (unitFrame.InExecuteRange) then\n envTable.UnitInExecuteRange (unitFrame, 0)\n end\n \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Advanced Execute Range", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825289, ["Icon"] = 135358, ["LastHookEdited"] = "Constructor", }, -- [9] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n --ATTENTION: after enabling this mod, you may have to adjust the anchor point at the Buff Settings tab\n \n local sortByTime = false\n local invertSort = false\n \n --which auras goes first, assign a value (any number), bigger value goes first\n local priority = {\n [\"Vampiric Touch\"] = 50,\n [\"Shadow Word: Pain\"] = 22,\n [\"Mind Flay\"] = 5,\n [\"Pistol Shot\"] = 50,\n [\"Marked for Death\"] = 99,\n }\n \n -- Sort function - do not touch\n Plater.db.profile.aura_sort = true\n \n \n function Plater.AuraIconsSortFunction (aura1, aura2)\n local p1 = priority[aura1.SpellId] or priority[aura1.SpellName] or 1\n local p2 = priority[aura2.SpellId] or priority[aura2.SpellName] or 1\n \n if sortByTime and p1 == p2 then\n if invertSort then\n return (aura1.Duration == 0 and 99999999 or aura1.RemainingTime or 0) > (aura2.Duration == 0 and 99999999 or aura2.RemainingTime or 0)\n else\n return (aura1.Duration == 0 and 99999999 or aura1.RemainingTime or 0) < (aura2.Duration == 0 and 99999999 or aura2.RemainingTime or 0)\n end\n else\n if invertSort then\n return p1 < p2\n else\n return p1 > p2\n end\n end\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Time"] = 1608663128, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["affix"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_reorder", ["Enabled"] = false, ["Revision"] = 356, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Desc"] = "Reorder buffs and debuffs following the settings set in the constructor.", ["Name"] = "Aura Reorder [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["HooksTemp"] = { }, ["Options"] = { }, }, -- [10] { ["Enabled"] = false, ["Revision"] = 236, ["HooksTemp"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --Unexploded Ordinance\n if (unitFrame.namePlateNpcId == envTable.NpcIDs.UnexplodedOrdinance) then\n \n --make the life percent be bigger than the regular size\n --so it's better to see the health percent of the barrel\n local currentSize = Plater.db.profile.plate_config.enemynpc.percent_text_size\n Plater:SetFontSize (unitFrame.healthBar.lifePercent, currentSize + envTable.UnexplodedOrdinanceTextSizeIncrease)\n end\n \n if (envTable.IncreaseSize [unitFrame.namePlateNpcId]) then\n local currentHeight = unitFrame.healthBar:GetHeight()\n Plater.SetNameplateSize (unitFrame, nil, currentHeight + envTable.IncreaseSize [unitFrame.namePlateNpcId])\n end\n \nend\n\n\n\n\n\n\n", ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.UnexplodedOrdinanceCast and envTable._SpellID == envTable.UnexplodedOrdinanceSpellID) then\n Plater.SetCastBarSize (unitFrame, nil, envTable.UnexplodedOrdinanceCastBarHeight)\n Plater:SetFontSize (unitFrame.castBar.percentText, envTable.UnexplodedOrdinanceTimerSize)\n end\nend\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the health percent text size\n local currentSize = Plater.db.profile.plate_config.enemynpc.percent_text_size\n Plater:SetFontSize (unitFrame.healthBar.lifePercent, currentSize) \n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --Override the color\n if (envTable.Colors [unitFrame.namePlateNpcId]) then\n Plater.SetNameplateColor (unitFrame, envTable.Colors [unitFrame.namePlateNpcId])\n end \n \n --Show the name of the unit in the Ice Block nameplate\n if (unitFrame.namePlateNpcId == envTable.NpcIDs.IceBlock) then\n --find which player this block are holding\n for i = 1, GetNumGroupMembers() do\n local unit = \"raid\" .. i\n if (UnitExists (unit)) then\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (unit, debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end \n \n --check if who casted this debuff is the unit shown on this nameplate\n if (UnitIsUnit (caster or \"\", unitId)) then\n local unitName = UnitName (unit)\n \n --color the text by the class\n unitName = Plater.SetTextColorByClass (unit, unitName)\n \n --add the role icon\n if (Details) then\n local role = UnitGroupRolesAssigned (unit)\n unitName = Details:AddRoleIcon (unitName, role, 12)\n end\n \n unitFrame.unitName:SetText (unitName)\n unitFrame.castBar.Text:SetText (unitName)\n break\n end\n \n end\n else\n break\n end\n end\n end\nend", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --nameplate colors for unit\n envTable.Colors = {}\n envTable.Colors [148631] = \"orange\" --Unexploded Ordinance\n envTable.Colors [148522] = \"white\" --Ice Block\n \n --increase the nameplate height for these units\n envTable.IncreaseSize = {}\n envTable.IncreaseSize [148522] = 4 --Ice Block (increase in 4 pixels)\n \n --increase the size of the life percent for the nameplate of the barrel\n envTable.UnexplodedOrdinanceTextSizeIncrease = 3\n \n --increase the castbar size for the unexploded ordinance explosion cast\n envTable.UnexplodedOrdinanceCast = true\n envTable.UnexplodedOrdinanceSpellID = 288221 --12058 --(debug)\n envTable.UnexplodedOrdinanceCastBarHeight = 18\n envTable.UnexplodedOrdinanceTimerSize = 18\n \n --npcIDs\n envTable.NpcIDs = {}\n envTable.NpcIDs.UnexplodedOrdinance = 148631\n envTable.NpcIDs.IceBlock = 148522\nend\n\n--tests 126023 --harbor saurid - dazar'alor harbor\n--tests 3127 venomtail scorpid - durotar\n--tests 12058 dustwind storm witch - durotar\n--Load Condition: EncounterID 2281\n\n\n", ["Cast Stop"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.UnexplodedOrdinanceCast and envTable._SpellID == envTable.UnexplodedOrdinanceSpellID) then\n Plater.SetCastBarSize (unitFrame)\n Plater:SetFontSize (unitFrame.castBar.percentText, Plater.db.profile.plate_config.enemynpc.spellpercent_text_size)\n end\nend\n\n\n", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Script for the Jaina encounter on Battle for Dazzar'alor", ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --Unexploded Ordinance\n if (unitFrame.namePlateNpcId == envTable.NpcIDs.UnexplodedOrdinance) then\n \n --make the life percent be bigger than the regular size\n --so it's better to see the health percent of the barrel\n local currentSize = Plater.db.profile.plate_config.enemynpc.percent_text_size\n Plater:SetFontSize (unitFrame.healthBar.lifePercent, currentSize + envTable.UnexplodedOrdinanceTextSizeIncrease)\n end\n \n if (envTable.IncreaseSize [unitFrame.namePlateNpcId]) then\n local currentHeight = unitFrame.healthBar:GetHeight()\n Plater.SetNameplateSize (unitFrame, nil, currentHeight + envTable.IncreaseSize [unitFrame.namePlateNpcId])\n end\n \nend\n\n\n\n\n\n\n", ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.UnexplodedOrdinanceCast and envTable._SpellID == envTable.UnexplodedOrdinanceSpellID) then\n Plater.SetCastBarSize (unitFrame, nil, envTable.UnexplodedOrdinanceCastBarHeight)\n Plater:SetFontSize (unitFrame.castBar.percentText, envTable.UnexplodedOrdinanceTimerSize)\n end\nend\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the health percent text size\n local currentSize = Plater.db.profile.plate_config.enemynpc.percent_text_size\n Plater:SetFontSize (unitFrame.healthBar.lifePercent, currentSize) \n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --Override the color\n if (envTable.Colors [unitFrame.namePlateNpcId]) then\n Plater.SetNameplateColor (unitFrame, envTable.Colors [unitFrame.namePlateNpcId])\n end \n \n --Show the name of the unit in the Ice Block nameplate\n if (unitFrame.namePlateNpcId == envTable.NpcIDs.IceBlock) then\n --find which player this block are holding\n for i = 1, GetNumGroupMembers() do\n local unit = \"raid\" .. i\n if (UnitExists (unit)) then\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (unit, debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end \n \n --check if who casted this debuff is the unit shown on this nameplate\n if (UnitIsUnit (caster or \"\", unitId)) then\n local unitName = UnitName (unit)\n \n --color the text by the class\n unitName = Plater.SetTextColorByClass (unit, unitName)\n \n --add the role icon\n if (Details) then\n local role = UnitGroupRolesAssigned (unit)\n unitName = Details:AddRoleIcon (unitName, role, 12)\n end\n \n unitFrame.unitName:SetText (unitName)\n unitFrame.castBar.Text:SetText (unitName)\n break\n end\n \n end\n else\n break\n end\n end\n end\nend", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --nameplate colors for unit\n envTable.Colors = {}\n envTable.Colors [148631] = \"orange\" --Unexploded Ordinance\n envTable.Colors [148522] = \"white\" --Ice Block\n \n --increase the nameplate height for these units\n envTable.IncreaseSize = {}\n envTable.IncreaseSize [148522] = 4 --Ice Block (increase in 4 pixels)\n \n --increase the size of the life percent for the nameplate of the barrel\n envTable.UnexplodedOrdinanceTextSizeIncrease = 3\n \n --increase the castbar size for the unexploded ordinance explosion cast\n envTable.UnexplodedOrdinanceCast = true\n envTable.UnexplodedOrdinanceSpellID = 288221 --12058 --(debug)\n envTable.UnexplodedOrdinanceCastBarHeight = 18\n envTable.UnexplodedOrdinanceTimerSize = 18\n \n --npcIDs\n envTable.NpcIDs = {}\n envTable.NpcIDs.UnexplodedOrdinance = 148631\n envTable.NpcIDs.IceBlock = 148522\nend\n\n--tests 126023 --harbor saurid - dazar'alor harbor\n--tests 3127 venomtail scorpid - durotar\n--tests 12058 dustwind storm witch - durotar\n--Load Condition: EncounterID 2281\n\n\n", ["Cast Stop"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.UnexplodedOrdinanceCast and envTable._SpellID == envTable.UnexplodedOrdinanceSpellID) then\n Plater.SetCastBarSize (unitFrame)\n Plater:SetFontSize (unitFrame.castBar.percentText, Plater.db.profile.plate_config.enemynpc.spellpercent_text_size)\n end\nend\n\n\n", }, ["Name"] = "Jaina Encounter [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { ["1"] = 2281, ["Enabled"] = true, }, ["spec"] = { }, }, ["Time"] = 1551894760, ["Icon"] = "Interface\\AddOns\\Plater\\images\\encounter_jaina", ["LastHookEdited"] = "Constructor", }, -- [11] { ["Enabled"] = false, ["Revision"] = 81, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateNpcId == envTable.NpcIDs.TemptingSiren) then\n \n if (envTable.Colors.TemptingSiren) then\n Plater.SetNameplateColor (unitFrame, envTable.Colors.TemptingSiren)\n end\n \n end\n \n \nend\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateNpcId == envTable.NpcIDs.TemptingSiren) then\n \n if (envTable.NameplateHeight.TemptingSiren) then\n \n Plater.SetNameplateSize (unitFrame, nil, envTable.NameplateHeight.TemptingSiren)\n \n end\n \n end \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --nameplate colors for unit\n envTable.Colors = {}\n envTable.Colors.TemptingSiren = \"orange\"\n \n --npcID\n envTable.NpcIDs = {}\n envTable.NpcIDs.TemptingSiren = 146436\n \n --nameplate height for each unit\n envTable.NameplateHeight = {}\n envTable.NameplateHeight.TemptingSiren = 18\n \n \n \nend\n\n\n", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Script for Stormwall Blockade encounter on Battle for Dazzar'alor", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateNpcId == envTable.NpcIDs.TemptingSiren) then\n \n if (envTable.Colors.TemptingSiren) then\n Plater.SetNameplateColor (unitFrame, envTable.Colors.TemptingSiren)\n end\n \n end\n \n \nend\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateNpcId == envTable.NpcIDs.TemptingSiren) then\n \n if (envTable.NameplateHeight.TemptingSiren) then\n \n Plater.SetNameplateSize (unitFrame, nil, envTable.NameplateHeight.TemptingSiren)\n \n end\n \n end \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --nameplate colors for unit\n envTable.Colors = {}\n envTable.Colors.TemptingSiren = \"orange\"\n \n --npcID\n envTable.NpcIDs = {}\n envTable.NpcIDs.TemptingSiren = 146436\n \n --nameplate height for each unit\n envTable.NameplateHeight = {}\n envTable.NameplateHeight.TemptingSiren = 18\n \n \n \nend\n\n\n", }, ["Name"] = "Stormwall Encounter [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { ["1"] = 2280, ["Enabled"] = true, }, ["spec"] = { }, }, ["Time"] = 1551887545, ["Icon"] = "Interface\\AddOns\\Plater\\images\\encounter_stormwall_blockade", ["LastHookEdited"] = "Constructor", }, -- [12] { ["Enabled"] = false, ["Revision"] = 58, ["HooksTemp"] = { ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateBorder (unitFrame, unitId)\nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateBorder (unitFrame, unitId)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.BorderThickness = 3\n envTable.BorderColor = \"black\"\n \n --private\n function envTable.UpdateBorder (unitFrame, unit)\n local plateFrame = unitFrame:GetParent()\n \n if (UnitIsUnit (\"focus\", unit)) then\n Plater.SetBorderColor (unitFrame, envTable.BorderColor)\n local borderSize = envTable.BorderThickness\n unitFrame.healthBar.border:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n unitFrame.healthBar.border:UpdateSizes() \n \n else\n Plater.SetBorderColor (unitFrame)\n Plater.UpdatePlateBorderThickness (unitFrame.PlateFrame)\n unitFrame.healthBar.border:UpdateSizes()\n end\n end\nend\n\n\n\n", }, ["Author"] = "Herith�gue-Proudmoore", ["Desc"] = "Change the border of the focus target.", ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateBorder (unitFrame, unitId)\nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateBorder (unitFrame, unitId)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.BorderThickness = 3\n envTable.BorderColor = \"black\"\n \n --private\n function envTable.UpdateBorder (unitFrame, unit)\n local plateFrame = unitFrame:GetParent()\n \n if (UnitIsUnit (\"focus\", unit)) then\n Plater.SetBorderColor (unitFrame, envTable.BorderColor)\n local borderSize = envTable.BorderThickness\n unitFrame.healthBar.border:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n unitFrame.healthBar.border:UpdateSizes() \n \n else\n Plater.SetBorderColor (unitFrame)\n Plater.UpdatePlateBorderThickness (unitFrame.PlateFrame)\n unitFrame.healthBar.border:UpdateSizes()\n end\n end\nend\n\n\n\n", }, ["Name"] = "Focus Target Border", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1552962607, ["Icon"] = 133006, ["LastHookEdited"] = "Constructor", }, -- [13] { ["Enabled"] = false, ["Revision"] = 47, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --Important: lines starting with double dashes are comments and are not part of the script\n \n --if the unit does not have any of the following auras, it will be painted with the color listed below\n --list of spells to track, can be the spell name (case-sensitive) or the spellID\n envTable.TrackingAuras = {\n --[\"Nightblade\"] = true, --this is an example using the spell name\n --[195452] = true, --this is an example using the spellID\n \n }\n \n --which color the nameplate wil be changed\n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n --you may also use /plater colors\n envTable.NameplateColor = \"pink\"\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --do nothing if the player isn't in combat\n if (not Plater.IsInCombat()) then\n return \n end\n \n --do nothing if the unit isn't in combat\n if (not unitFrame.InCombat) then\n return\n end\n \n --check the auras\n local hasAura = false\n \n for auraName, _ in pairs (envTable.TrackingAuras) do\n if (Plater.NameplateHasAura (unitFrame, auraName)) then\n hasAura = true\n break\n end\n end\n \n if (not hasAura) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end \n \nend\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Change the nameplate color when a nameplate does not have the auras set in the constructor script.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --Important: lines starting with double dashes are comments and are not part of the script\n \n --if the unit does not have any of the following auras, it will be painted with the color listed below\n --list of spells to track, can be the spell name (case-sensitive) or the spellID\n envTable.TrackingAuras = {\n --[\"Nightblade\"] = true, --this is an example using the spell name\n --[195452] = true, --this is an example using the spellID\n \n }\n \n --which color the nameplate wil be changed\n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n --you may also use /plater colors\n envTable.NameplateColor = \"pink\"\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --do nothing if the player isn't in combat\n if (not Plater.IsInCombat()) then\n return \n end\n \n --do nothing if the unit isn't in combat\n if (not unitFrame.InCombat) then\n return\n end\n \n --check the auras\n local hasAura = false\n \n for auraName, _ in pairs (envTable.TrackingAuras) do\n if (Plater.NameplateHasAura (unitFrame, auraName)) then\n hasAura = true\n break\n end\n end\n \n if (not hasAura) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end \n \nend\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Don't Have Aura [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825334, ["Icon"] = 136207, ["LastHookEdited"] = "Constructor", }, -- [14] { ["Enabled"] = false, ["Revision"] = 55, ["LastHookEdited"] = "Constructor", ["Author"] = "Izimode-Azralon", ["Desc"] = "Tint nameplates of Reaping Soul units (Mythic Dungeon Affix) depending on its target and role of the player", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --can detect the reaping souls aggro?\n if (envTable.detectAggro and Plater.IsInCombat()) then\n \n --is this npc a reaping soul?\n if (envTable.npcIDs [unitFrame.namePlateNpcId]) then\n \n --check if the mob is attacking the player\n if (UnitIsUnit (unitFrame.targetUnitID, \"player\")) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateAggroColor)\n \n else\n Plater.SetNameplateColor (unitFrame, envTable.NameplateNoAggroColor)\n end\n \n end\n \n end\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --when the nameplate is added and the npcID matches, cache the color for the nameplate\n if (envTable.detectAggro) then\n if (envTable.npcIDs [unitFrame.namePlateNpcId]) then\n local profile = Plater.db.profile\n local role = Plater:GetPlayerRole()\n \n if (role == \"TANK\") then\n envTable.NameplateAggroColor = profile.tank.colors.aggro\n envTable.NameplateNoAggroColor = profile.tank.colors.noaggro\n else\n envTable.NameplateAggroColor = profile.dps.colors.aggro\n envTable.NameplateNoAggroColor = profile.dps.colors.noaggro\n end\n \n end\n end\n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --npcs affected by this script\n \n envTable.npcIDs = {\n [148716] = true, --risen soul\n [148893] = true, --tormented soul\n [148894] = true, --lost soul\n \n [127278] = true, --skittering feeder (tests and debug, also need to disable the load conditions)\n }\n \n --detect aggro, if true it will see which group member the soul is attacking and override the color\n envTable.detectAggro = true\n \n \nend\n\n\n", }, ["Prio"] = 99, ["Time"] = 1579030189, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { ["Enabled"] = true, ["party"] = true, }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { ["Enabled"] = true, ["117"] = true, }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --can detect the reaping souls aggro?\n if (envTable.detectAggro and Plater.IsInCombat()) then\n \n --is this npc a reaping soul?\n if (envTable.npcIDs [unitFrame.namePlateNpcId]) then\n \n --check if the mob is attacking the player\n if (UnitIsUnit (unitFrame.targetUnitID, \"player\")) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateAggroColor)\n \n else\n Plater.SetNameplateColor (unitFrame, envTable.NameplateNoAggroColor)\n end\n \n end\n \n end\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --when the nameplate is added and the npcID matches, cache the color for the nameplate\n if (envTable.detectAggro) then\n if (envTable.npcIDs [unitFrame.namePlateNpcId]) then\n local profile = Plater.db.profile\n local role = Plater:GetPlayerRole()\n \n if (role == \"TANK\") then\n envTable.NameplateAggroColor = profile.tank.colors.aggro\n envTable.NameplateNoAggroColor = profile.tank.colors.noaggro\n else\n envTable.NameplateAggroColor = profile.dps.colors.aggro\n envTable.NameplateNoAggroColor = profile.dps.colors.noaggro\n end\n \n end\n end\n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --npcs affected by this script\n \n envTable.npcIDs = {\n [148716] = true, --risen soul\n [148893] = true, --tormented soul\n [148894] = true, --lost soul\n \n [127278] = true, --skittering feeder (tests and debug, also need to disable the load conditions)\n }\n \n --detect aggro, if true it will see which group member the soul is attacking and override the color\n envTable.detectAggro = true\n \n \nend\n\n\n", }, ["Name"] = "M+ Bwonsamdi Reaping", ["Icon"] = 2446016, ["PlaterCore"] = 1, }, -- [15] { ["Enabled"] = false, ["Revision"] = 35, ["HooksTemp"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateSpellNameText (unitFrame)\n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateSpellNameText (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --max length of the text\n envTable.TextMaxLength = 100\n \n --update the spell name text\n function envTable.UpdateSpellNameText (unitFrame)\n \n local castBar = unitFrame.castBar\n local textString = castBar.Text\n local spellName = castBar.SpellName\n \n if (unitFrame.targetUnitID) then\n local targetName = UnitName (unitFrame.targetUnitID)\n \n if (targetName) then\n textString:SetText (spellName .. \" > \" .. targetName) \n \n if (envTable.TextMaxLength) then\n Plater.LimitTextSize (textString, envTable.TextMaxLength)\n end\n \n else\n textString:SetText (spellName)\n end\n else\n textString:SetText (spellName)\n end\n end\nend", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Show the name of the unit current target ", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateSpellNameText (unitFrame)\n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateSpellNameText (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --max length of the text\n envTable.TextMaxLength = 100\n \n --update the spell name text\n function envTable.UpdateSpellNameText (unitFrame)\n \n local castBar = unitFrame.castBar\n local textString = castBar.Text\n local spellName = castBar.SpellName\n \n if (unitFrame.targetUnitID) then\n local targetName = UnitName (unitFrame.targetUnitID)\n \n if (targetName) then\n textString:SetText (spellName .. \" > \" .. targetName) \n \n if (envTable.TextMaxLength) then\n Plater.LimitTextSize (textString, envTable.TextMaxLength)\n end\n \n else\n textString:SetText (spellName)\n end\n else\n textString:SetText (spellName)\n end\n end\nend", }, ["Name"] = "Cast Target", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1553450703, ["Icon"] = 413580, ["LastHookEdited"] = "Constructor", }, -- [16] { ["Enabled"] = false, ["Revision"] = 43, ["HooksTemp"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Zone Changed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n function envTable.CheckIfCanShowNameplate (unitFrame)\n if (Plater.IsInCombat()) then\n \n if (not unitFrame.healthBar:IsShown()) then\n Plater.ShowHealthBar (unitFrame)\n Plater.EnableHighlight (unitFrame)\n end\n \n else\n \n if (unitFrame.healthBar:IsShown()) then\n Plater.HideHealthBar (unitFrame)\n Plater.DisableHighlight (unitFrame)\n end\n \n end \n end\n \nend\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Only show nameplates while in combat, see the constructor for more options.", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Zone Changed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.CheckIfCanShowNameplate (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n function envTable.CheckIfCanShowNameplate (unitFrame)\n if (Plater.IsInCombat()) then\n \n if (not unitFrame.healthBar:IsShown()) then\n Plater.ShowHealthBar (unitFrame)\n Plater.EnableHighlight (unitFrame)\n end\n \n else\n \n if (unitFrame.healthBar:IsShown()) then\n Plater.HideHealthBar (unitFrame)\n Plater.DisableHighlight (unitFrame)\n end\n \n end \n end\n \nend\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Only in Combat", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825361, ["Icon"] = 135473, ["LastHookEdited"] = "Constructor", }, -- [17] { ["Enabled"] = false, ["Revision"] = 35, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local npcColor = Plater.GetNpcColor (unitFrame)\n if (npcColor) then\n unitFrame.NpcColorCodeTexture:SetVertexColor (DetailsFramework:ParseColors (npcColor))\n unitFrame.NpcColorCodeTexture:SetAlpha (envTable.Alpha) \n unitFrame.NpcColorCodeTexture:Show()\n \n else\n unitFrame.NpcColorCodeTexture:Hide()\n \n end\n \nend\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.NpcColorCodeTexture:SetSize (unitFrame.healthBar:GetHeight(), unitFrame.healthBar:GetHeight())\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.IconTexture = [[Interface\\AddOns\\Plater\\media\\exclamation_64]]\n envTable.Alpha = 0.8\n \n --private\n if (not unitFrame.NpcColorCodeTexture) then\n unitFrame.NpcColorCodeTexture = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n unitFrame.NpcColorCodeTexture:SetTexture (envTable.IconTexture)\n \n --texture side | anchor to which frame | frame side | x offset | y offset\n unitFrame.NpcColorCodeTexture:SetPoint (\"right\", unitFrame.healthBar, \"right\", -2, 0)\n \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Add an exclamation icon on units with color set in the Npc Colors tab with the \"Only Script\" box selected.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local npcColor = Plater.GetNpcColor (unitFrame)\n if (npcColor) then\n unitFrame.NpcColorCodeTexture:SetVertexColor (DetailsFramework:ParseColors (npcColor))\n unitFrame.NpcColorCodeTexture:SetAlpha (envTable.Alpha) \n unitFrame.NpcColorCodeTexture:Show()\n \n else\n unitFrame.NpcColorCodeTexture:Hide()\n \n end\n \nend\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.NpcColorCodeTexture:SetSize (unitFrame.healthBar:GetHeight(), unitFrame.healthBar:GetHeight())\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.IconTexture = [[Interface\\AddOns\\Plater\\media\\exclamation_64]]\n envTable.Alpha = 0.8\n \n --private\n if (not unitFrame.NpcColorCodeTexture) then\n unitFrame.NpcColorCodeTexture = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n unitFrame.NpcColorCodeTexture:SetTexture (envTable.IconTexture)\n \n --texture side | anchor to which frame | frame side | x offset | y offset\n unitFrame.NpcColorCodeTexture:SetPoint (\"right\", unitFrame.healthBar, \"right\", -2, 0)\n \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Npc Colors Icon", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1553450716, ["Icon"] = "Interface\\AddOns\\Plater\\media\\exclamation_64", ["LastHookEdited"] = "Constructor", }, -- [18] { ["Enabled"] = false, ["Revision"] = 68, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateColorTag (unitFrame) \n \nend\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateTexture (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.Alpha = 0.75\n \n envTable.Anchor = {\n side = 11, --right side inside the nameplate\n x = -3,\n y = 0\n }\n \n --private\n if (not unitFrame.NpcColorCodeTexture) then\n unitFrame.NpcColorCodeTexture = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n unitFrame.NpcColorCodeTexture:SetColorTexture (1, 1, 1, 1)\n \n end\n \n function envTable.UpdateColorTag (unitFrame)\n local npcColor = Plater.GetNpcColor (unitFrame)\n if (npcColor) then\n unitFrame.NpcColorCodeTexture:SetVertexColor (DetailsFramework:ParseColors (npcColor))\n unitFrame.NpcColorCodeTexture:SetAlpha (envTable.Alpha) \n unitFrame.NpcColorCodeTexture:Show() \n end\n end\n \n function envTable.UpdateTexture (unitFrame)\n Plater.SetAnchor (unitFrame.NpcColorCodeTexture, envTable.Anchor)\n unitFrame.NpcColorCodeTexture:SetSize (unitFrame.healthBar:GetHeight() - 4, unitFrame.healthBar:GetHeight() - 4)\n unitFrame.NpcColorCodeTexture:Hide()\n \n envTable.UpdateColorTag (unitFrame)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Add a color tag on units with color set in the Npc Colors tab with the \"Only Script\" box selected.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateColorTag (unitFrame) \n \nend\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateTexture (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.Alpha = 0.75\n \n envTable.Anchor = {\n side = 11, --right side inside the nameplate\n x = -3,\n y = 0\n }\n \n --private\n if (not unitFrame.NpcColorCodeTexture) then\n unitFrame.NpcColorCodeTexture = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n unitFrame.NpcColorCodeTexture:SetColorTexture (1, 1, 1, 1)\n \n end\n \n function envTable.UpdateColorTag (unitFrame)\n local npcColor = Plater.GetNpcColor (unitFrame)\n if (npcColor) then\n unitFrame.NpcColorCodeTexture:SetVertexColor (DetailsFramework:ParseColors (npcColor))\n unitFrame.NpcColorCodeTexture:SetAlpha (envTable.Alpha) \n unitFrame.NpcColorCodeTexture:Show() \n end\n end\n \n function envTable.UpdateTexture (unitFrame)\n Plater.SetAnchor (unitFrame.NpcColorCodeTexture, envTable.Anchor)\n unitFrame.NpcColorCodeTexture:SetSize (unitFrame.healthBar:GetHeight() - 4, unitFrame.healthBar:GetHeight() - 4)\n unitFrame.NpcColorCodeTexture:Hide()\n \n envTable.UpdateColorTag (unitFrame)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Npc Colors Tag", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1553450705, ["Icon"] = "Interface\\AddOns\\Plater\\media\\radio_64", ["LastHookEdited"] = "Constructor", }, -- [19] { ["Enabled"] = true, ["Revision"] = 42, ["LastHookEdited"] = "Constructor", ["Author"] = "Ditador-Azralon", ["Desc"] = "Change the color of the aura timer by it's time left", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --colors for each time bracket\n envTable.Colors = {\n critical = \"red\",\n warning = \"yellow\",\n okay = \"white\",\n }\n \n --time amount to enter in warning or critical state\n envTable.Timers = {\n critical = 4.9,\n warning = 8,\n }\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local auras = unitFrame.BuffFrame.PlaterBuffList\n \n for _, auraIcon in ipairs (auras) do\n if (auraIcon:IsVisible()) then\n if (auraIcon.RemainingTime < envTable.Timers.critical) then\n Plater:SetFontColor (auraIcon.TimerText, envTable.Colors.critical)\n \n elseif (auraIcon.RemainingTime < envTable.Timers.warning) then\n Plater:SetFontColor (auraIcon.TimerText, envTable.Colors.warning)\n \n else\n Plater:SetFontColor (auraIcon.TimerText, envTable.Colors.okay)\n end \n end\n \n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Prio"] = 99, ["Time"] = 1579030177, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --colors for each time bracket\n envTable.Colors = {\n critical = \"red\",\n warning = \"yellow\",\n okay = \"white\",\n }\n \n --time amount to enter in warning or critical state\n envTable.Timers = {\n critical = 4.9,\n warning = 8,\n }\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local auras = unitFrame.BuffFrame.PlaterBuffList\n \n for _, auraIcon in ipairs (auras) do\n if (auraIcon:IsVisible()) then\n if (auraIcon.RemainingTime < envTable.Timers.critical) then\n Plater:SetFontColor (auraIcon.TimerText, envTable.Colors.critical)\n \n elseif (auraIcon.RemainingTime < envTable.Timers.warning) then\n Plater:SetFontColor (auraIcon.TimerText, envTable.Colors.warning)\n \n else\n Plater:SetFontColor (auraIcon.TimerText, envTable.Colors.okay)\n end \n end\n \n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Paint Aura Timers", ["Icon"] = "Interface\\Timer\\Challenges-Logo", ["PlaterCore"] = 1, }, -- [20] { ["Enabled"] = true, ["Revision"] = 125, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --border thickness\n local size = 1 \n \n for index, auraIcon in ipairs (unitFrame.BuffFrame.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n \n if (not auraIcon.PixelPerfectBorder) then\n auraIcon.PixelPerfectBorder = CreateFrame (\"frame\", nil, auraIcon, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = auraIcon:GetBackdropBorderColor()\n auraIcon:SetBackdropBorderColor (0, 0, 0, 0)\n \n auraIcon.PixelPerfectBorder:SetVertexColor (r, g, b)\n auraIcon.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n auraIcon.PixelPerfectBorder:UpdateSizes()\n \n auraIcon.Icon:ClearAllPoints()\n auraIcon.Icon:SetAllPoints()\n \n auraIcon.Border:Hide() --hide plater default border\n end\n end\n \n for index, auraIcon in ipairs (unitFrame.BuffFrame2.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n \n if (not auraIcon.PixelPerfectBorder) then\n auraIcon.PixelPerfectBorder = CreateFrame (\"frame\", nil, auraIcon, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = auraIcon:GetBackdropBorderColor()\n auraIcon:SetBackdropBorderColor (0, 0, 0, 0)\n \n auraIcon.PixelPerfectBorder:SetVertexColor (r, g, b)\n auraIcon.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n auraIcon.PixelPerfectBorder:UpdateSizes() \n \n auraIcon.Icon:ClearAllPoints()\n auraIcon.Icon:SetAllPoints()\n \n auraIcon.Border:Hide() --hide plater default border\n end\n end \nend", }, ["Author"] = "????????-Illidan", ["Desc"] = "Config aura borders", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --border thickness\n local size = 1 \n \n for index, auraIcon in ipairs (unitFrame.BuffFrame.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n \n if (not auraIcon.PixelPerfectBorder) then\n auraIcon.PixelPerfectBorder = CreateFrame (\"frame\", nil, auraIcon, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = auraIcon:GetBackdropBorderColor()\n auraIcon:SetBackdropBorderColor (0, 0, 0, 0)\n \n auraIcon.PixelPerfectBorder:SetVertexColor (r, g, b)\n auraIcon.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n auraIcon.PixelPerfectBorder:UpdateSizes()\n \n auraIcon.Icon:ClearAllPoints()\n auraIcon.Icon:SetAllPoints()\n \n auraIcon.Border:Hide() --hide plater default border\n end\n end\n \n for index, auraIcon in ipairs (unitFrame.BuffFrame2.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n \n if (not auraIcon.PixelPerfectBorder) then\n auraIcon.PixelPerfectBorder = CreateFrame (\"frame\", nil, auraIcon, \"NamePlateFullBorderTemplate\")\n end\n \n local r, g, b = auraIcon:GetBackdropBorderColor()\n auraIcon:SetBackdropBorderColor (0, 0, 0, 0)\n \n auraIcon.PixelPerfectBorder:SetVertexColor (r, g, b)\n auraIcon.PixelPerfectBorder:SetBorderSizes (size, size, size, size)\n auraIcon.PixelPerfectBorder:UpdateSizes() \n \n auraIcon.Icon:ClearAllPoints()\n auraIcon.Icon:SetAllPoints()\n \n auraIcon.Border:Hide() --hide plater default border\n end\n end \nend", }, ["Name"] = "Advanced Debuff Border", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1553450719, ["Icon"] = 133006, ["LastHookEdited"] = "Nameplate Updated", }, -- [21] { ["Enabled"] = false, ["Revision"] = 35, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIndicator (unitFrame, unitId)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIndicator (unitFrame, unitId)\n \nend\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n function envTable.UpdateIndicator (unitFrame, unitId)\n local unitClassification = UnitClassification (unitId)\n local unitName = UnitName (unitId)\n unitName = unitName or UNKNOWN\n \n if (unitClassification == \"rareelite\") then\n unitFrame.unitName:SetText (\"|TInterface\\\\AddOns\\\\Plater\\\\media\\\\star_full_64:12:12:0:0:64:64:0:64:0:64|t\" .. \"|TInterface\\\\GLUES\\\\CharacterSelect\\\\Glues-AddOn-Icons:12:12:0:0:64:16:48:64:0:16|t \" .. unitName)\n \n elseif (unitClassification == \"rare\") then\n unitFrame.unitName:SetText (\"|TInterface\\\\AddOns\\\\Plater\\\\media\\\\star_full_64:12:12:0:0:64:64:0:64:0:64|t\" .. unitName)\n \n elseif (unitClassification == \"elite\") then\n unitFrame.unitName:SetText (\"|TInterface\\\\GLUES\\\\CharacterSelect\\\\Glues-AddOn-Icons:12:12:0:0:64:16:48:64:0:16|t\" .. unitName)\n \n end\n end\n \nend\n\n\n\n\n", }, ["Author"] = "�r��ne-Kel'thuzad", ["Desc"] = "Show yellow star for elite; Silver star for rares", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIndicator (unitFrame, unitId)\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIndicator (unitFrame, unitId)\n \nend\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n function envTable.UpdateIndicator (unitFrame, unitId)\n local unitClassification = UnitClassification (unitId)\n local unitName = UnitName (unitId)\n unitName = unitName or UNKNOWN\n \n if (unitClassification == \"rareelite\") then\n unitFrame.unitName:SetText (\"|TInterface\\\\AddOns\\\\Plater\\\\media\\\\star_full_64:12:12:0:0:64:64:0:64:0:64|t\" .. \"|TInterface\\\\GLUES\\\\CharacterSelect\\\\Glues-AddOn-Icons:12:12:0:0:64:16:48:64:0:16|t \" .. unitName)\n \n elseif (unitClassification == \"rare\") then\n unitFrame.unitName:SetText (\"|TInterface\\\\AddOns\\\\Plater\\\\media\\\\star_full_64:12:12:0:0:64:64:0:64:0:64|t\" .. unitName)\n \n elseif (unitClassification == \"elite\") then\n unitFrame.unitName:SetText (\"|TInterface\\\\GLUES\\\\CharacterSelect\\\\Glues-AddOn-Icons:12:12:0:0:64:16:48:64:0:16|t\" .. unitName)\n \n end\n end\n \nend\n\n\n\n\n", }, ["Name"] = "Rarity in the Name", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825364, ["Icon"] = "Interface\\AddOns\\Plater\\media\\star_full_64", ["LastHookEdited"] = "Constructor", }, -- [22] { ["Enabled"] = true, ["Revision"] = 65, ["LastHookEdited"] = "Constructor", ["Author"] = "Cyclopes-Turalyon", ["Desc"] = "Add an icon to indicate an unit has Aggro on you. By default only show for units using a custom color from Npc Colors.", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon:Hide()\n end\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIndicator (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon:Hide()\n end \nend\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon:Hide()\n end\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateThreatState (unitFrame, unitId)\n \nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdatePlayerRole (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.Anchor = {side = 11, x = -2, y = 0}\n envTable.Texture = \"Interface\\\\AddOns\\\\Plater\\\\media\\\\exclamation2_64\"\n \n --it'll only use the icon if the nameplate has a color from the Npc Colors tab and \"Only Scripts\" disabled.\n envTable.OnlyWhenUsingNpcColor = true --if false, it'll always use the icon\n \n --private\n envTable.PlayerRole = \"NONE\" --automatically changed by the script\n \n function envTable.CreateIndicator (unitFrame)\n if (not unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n end\n end\n \n function envTable.UpdateIndicator (unitFrame)\n envTable.CreateIndicator (unitFrame)\n \n unitFrame.ThreatIcon:SetTexture (envTable.Texture)\n Plater.SetAnchor (unitFrame.ThreatIcon, envTable.Anchor)\n unitFrame.ThreatIcon:SetSize (unitFrame.healthBar:GetHeight(), unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateThreatState (unitFrame, unitId)\n if (not unitFrame.ThreatIcon) then --if there's no icon created yet\n return\n \n elseif (not Plater.IsInCombat()) then --not in combat\n unitFrame.ThreatIcon:Hide()\n return\n \n elseif (unitFrame.IsSelf) then --personal bar\n unitFrame.ThreatIcon:Hide()\n return\n \n elseif (envTable.OnlyWhenUsingNpcColor) then --must be using a npc color?\n if (not unitFrame.UsingCustomColor) then\n unitFrame.ThreatIcon:Hide()\n return\n end\n end\n \n local isTanking, threatStatus, threatpct = UnitDetailedThreatSituation (\"player\", unitId)\n \n if (isTanking) then\n if (envTable.PlayerRole == \"TANK\") then\n unitFrame.ThreatIcon:Hide()\n else\n unitFrame.ThreatIcon:Show()\n unitFrame.ThreatIcon:SetVertexColor (unpack (envTable.NameplateAggroColor))\n end\n else\n if (envTable.PlayerRole == \"TANK\") then\n unitFrame.ThreatIcon:Show()\n unitFrame.ThreatIcon:SetVertexColor (unpack (envTable.NameplateNoAggroColor)) \n else\n unitFrame.ThreatIcon:Hide() \n end\n end\n end\n \n function envTable.UpdatePlayerRole (unitFrame)\n local profile = Plater.db.profile\n local role = Plater:GetPlayerRole()\n \n if (role == \"TANK\") then\n envTable.PlayerRole = \"TANK\"\n envTable.NameplateAggroColor = profile.tank.colors.aggro\n envTable.NameplateNoAggroColor = profile.tank.colors.noaggro\n \n else\n envTable.PlayerRole = \"DAMAGER\"\n envTable.NameplateAggroColor = profile.dps.colors.aggro\n envTable.NameplateNoAggroColor = profile.dps.colors.noaggro\n \n end \n end\n \n envTable.UpdatePlayerRole (unitFrame)\n \nend", }, ["Prio"] = 99, ["Time"] = 1579030500, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon:Hide()\n end\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIndicator (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon:Hide()\n end \nend\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon:Hide()\n end\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateThreatState (unitFrame, unitId)\n \nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdatePlayerRole (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.Anchor = {side = 11, x = -2, y = 0}\n envTable.Texture = \"Interface\\\\AddOns\\\\Plater\\\\media\\\\exclamation2_64\"\n \n --it'll only use the icon if the nameplate has a color from the Npc Colors tab and \"Only Scripts\" disabled.\n envTable.OnlyWhenUsingNpcColor = true --if false, it'll always use the icon\n \n --private\n envTable.PlayerRole = \"NONE\" --automatically changed by the script\n \n function envTable.CreateIndicator (unitFrame)\n if (not unitFrame.ThreatIcon) then\n unitFrame.ThreatIcon = unitFrame.healthBar:CreateTexture (nil, \"overlay\")\n end\n end\n \n function envTable.UpdateIndicator (unitFrame)\n envTable.CreateIndicator (unitFrame)\n \n unitFrame.ThreatIcon:SetTexture (envTable.Texture)\n Plater.SetAnchor (unitFrame.ThreatIcon, envTable.Anchor)\n unitFrame.ThreatIcon:SetSize (unitFrame.healthBar:GetHeight(), unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateThreatState (unitFrame, unitId)\n if (not unitFrame.ThreatIcon) then --if there's no icon created yet\n return\n \n elseif (not Plater.IsInCombat()) then --not in combat\n unitFrame.ThreatIcon:Hide()\n return\n \n elseif (unitFrame.IsSelf) then --personal bar\n unitFrame.ThreatIcon:Hide()\n return\n \n elseif (envTable.OnlyWhenUsingNpcColor) then --must be using a npc color?\n if (not unitFrame.UsingCustomColor) then\n unitFrame.ThreatIcon:Hide()\n return\n end\n end\n \n local isTanking, threatStatus, threatpct = UnitDetailedThreatSituation (\"player\", unitId)\n \n if (isTanking) then\n if (envTable.PlayerRole == \"TANK\") then\n unitFrame.ThreatIcon:Hide()\n else\n unitFrame.ThreatIcon:Show()\n unitFrame.ThreatIcon:SetVertexColor (unpack (envTable.NameplateAggroColor))\n end\n else\n if (envTable.PlayerRole == \"TANK\") then\n unitFrame.ThreatIcon:Show()\n unitFrame.ThreatIcon:SetVertexColor (unpack (envTable.NameplateNoAggroColor)) \n else\n unitFrame.ThreatIcon:Hide() \n end\n end\n end\n \n function envTable.UpdatePlayerRole (unitFrame)\n local profile = Plater.db.profile\n local role = Plater:GetPlayerRole()\n \n if (role == \"TANK\") then\n envTable.PlayerRole = \"TANK\"\n envTable.NameplateAggroColor = profile.tank.colors.aggro\n envTable.NameplateNoAggroColor = profile.tank.colors.noaggro\n \n else\n envTable.PlayerRole = \"DAMAGER\"\n envTable.NameplateAggroColor = profile.dps.colors.aggro\n envTable.NameplateNoAggroColor = profile.dps.colors.noaggro\n \n end \n end\n \n envTable.UpdatePlayerRole (unitFrame)\n \nend", }, ["Name"] = "Aggro Indicator", ["Icon"] = 132344, ["PlaterCore"] = 1, }, -- [23] { ["Enabled"] = false, ["Revision"] = 20, ["HooksTemp"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --added this event just to run the constructor script\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --insert here the font you want to change then /reeload\n --after the reload, check if the font has changed and disable this script\n \n local FONT = \"Accidental Presidency\"\n \n local profile = Plater.db.profile\n local actorTables = profile.plate_config\n \n for plateType, plateTable in pairs (actorTables) do\n \n plateTable.actorname_text_font = FONT\n plateTable.spellname_text_font = FONT\n plateTable.spellpercent_text_font = FONT\n plateTable.level_text_font = FONT\n plateTable.percent_text_font = FONT\n plateTable.big_actortitle_text_font = FONT\n plateTable.big_actorname_text_font = FONT\n plateTable.power_percent_text_font = FONT\n \n end\n \n profile.castbar_target_font = FONT\n profile.aura_timer_text_font = FONT \n profile.aura_stack_font = FONT \n \nend\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Edit the Constructor script setting the font you want in the FONT = \"\", then /reload.", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --added this event just to run the constructor script\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --insert here the font you want to change then /reeload\n --after the reload, check if the font has changed and disable this script\n \n local FONT = \"Accidental Presidency\"\n \n local profile = Plater.db.profile\n local actorTables = profile.plate_config\n \n for plateType, plateTable in pairs (actorTables) do\n \n plateTable.actorname_text_font = FONT\n plateTable.spellname_text_font = FONT\n plateTable.spellpercent_text_font = FONT\n plateTable.level_text_font = FONT\n plateTable.percent_text_font = FONT\n plateTable.big_actortitle_text_font = FONT\n plateTable.big_actorname_text_font = FONT\n plateTable.power_percent_text_font = FONT\n \n end\n \n profile.castbar_target_font = FONT\n profile.aura_timer_text_font = FONT \n profile.aura_stack_font = FONT \n \nend\n\n\n", }, ["Name"] = "Change All Fonts", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551825316, ["Icon"] = 134331, ["LastHookEdited"] = "Constructor", }, -- [24] { ["Enabled"] = false, ["Revision"] = 50, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.PowerBarAnchor = {side = 4, x = 0, y = -10}\n \n function envTable.UpdatePowerBar (unitFrame)\n unitFrame.powerBar:SetUnit (unitFrame.unit)\n Plater.SetAnchor (unitFrame.powerBar, envTable.PowerBarAnchor)\n \n end\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (Plater.ZoneInstanceType == \"arena\") then\n \n local arenaEnemies = GetNumArenaOpponentSpecs()\n local found = false\n for i = 1, arenaEnemies do\n local guid = UnitGUID (\"arena\" .. i)\n print (guid)\n if (guid == unitFrame.namePlateUnitGUID) then\n \n local spec = GetArenaOpponentSpec (i)\n print (spec)\n if (spec) then\n local id, name, description, icon, role, class = GetSpecializationInfoByID (spec)\n print (name)\n if (role == \"HEALER\") then\n envTable.UpdatePowerBar (unitFrame)\n end\n print (role)\n end\n \n break\n end\n end\n \n return\n end\n \n --show for enemy players\n if (unitFrame.ActorType == \"enemyplayer\") then\n envTable.UpdatePowerBar (unitFrame)\n return\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Show the power bar for specific units", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.PowerBarAnchor = {side = 4, x = 0, y = -10}\n \n function envTable.UpdatePowerBar (unitFrame)\n unitFrame.powerBar:SetUnit (unitFrame.unit)\n Plater.SetAnchor (unitFrame.powerBar, envTable.PowerBarAnchor)\n \n end\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (Plater.ZoneInstanceType == \"arena\") then\n \n local arenaEnemies = GetNumArenaOpponentSpecs()\n local found = false\n for i = 1, arenaEnemies do\n local guid = UnitGUID (\"arena\" .. i)\n print (guid)\n if (guid == unitFrame.namePlateUnitGUID) then\n \n local spec = GetArenaOpponentSpec (i)\n print (spec)\n if (spec) then\n local id, name, description, icon, role, class = GetSpecializationInfoByID (spec)\n print (name)\n if (role == \"HEALER\") then\n envTable.UpdatePowerBar (unitFrame)\n end\n print (role)\n end\n \n break\n end\n end\n \n return\n end\n \n --show for enemy players\n if (unitFrame.ActorType == \"enemyplayer\") then\n envTable.UpdatePowerBar (unitFrame)\n return\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Power Bar", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1553450521, ["Icon"] = 1375677, ["LastHookEdited"] = "Constructor", }, -- [25] { ["Enabled"] = true, ["Revision"] = 131, ["LastHookEdited"] = "Constructor", ["Author"] = "Ditador-Azralon", ["Desc"] = "Move the icon of the spell cast to the left or right side of the nameplate.", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n self.ThrottleUpdate = -1\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings:\n --show cast icon\n envTable.ShowIcon = true\n --anchor icon on what side\n envTable.IconAnchor = \"left\" --accep 'left' 'right'\n --fine tune the size of the icon\n envTable.IconSizeOffset = 1\n \n --shield for non interruptible casts\n envTable.ShowShield = false\n envTable.ShieldTexture = [[Interface\\GROUPFRAME\\UI-GROUP-MAINTANKICON]]\n envTable.ShieldDesaturated = true\n envTable.ShieldColor = {1, 1, 1 ,1}\n envTable.ShieldSize = {10, 12}\n \n --private:\n function envTable.UpdateIconPosition (unitFrame)\n local castBar = unitFrame.castBar\n local icon = castBar.Icon\n local shield = castBar.BorderShield\n \n if (envTable.ShowIcon) then\n icon:ClearAllPoints()\n \n if (envTable.IconAnchor == \"left\") then\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", -1, envTable.IconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", -1, 0) \n \n elseif (envTable.IconAnchor == \"right\") then\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", 1, envTable.IconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", 1, 0)\n \n end\n \n icon:SetWidth (icon:GetHeight())\n icon:Show()\n \n else\n icon:Hide()\n \n end\n \n if (envTable.ShowShield and not castBar.canInterrupt) then\n shield:Show()\n shield:SetAlpha (1)\n shield:SetTexCoord (0, 1, 0, 1)\n shield:SetVertexColor (1, 1, 1, 1)\n \n shield:SetTexture (envTable.ShieldTexture)\n shield:SetDesaturated (envTable.ShieldDesaturated)\n \n if (not envTable.ShieldDesaturated) then\n shield:SetVertexColor (DetailsFramework:ParseColors (envTable.ShieldColor))\n end\n \n shield:SetSize (unpack (envTable.ShieldSize))\n \n shield:ClearAllPoints()\n shield:SetPoint (\"center\", castBar, \"left\", 0, 0)\n \n else\n shield:Hide()\n \n end\n \n end\nend", }, ["Prio"] = 99, ["Time"] = 1579035896, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n self.ThrottleUpdate = -1\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings:\n --show cast icon\n envTable.ShowIcon = true\n --anchor icon on what side\n envTable.IconAnchor = \"left\" --accep 'left' 'right'\n --fine tune the size of the icon\n envTable.IconSizeOffset = 1\n \n --shield for non interruptible casts\n envTable.ShowShield = false\n envTable.ShieldTexture = [[Interface\\GROUPFRAME\\UI-GROUP-MAINTANKICON]]\n envTable.ShieldDesaturated = true\n envTable.ShieldColor = {1, 1, 1 ,1}\n envTable.ShieldSize = {10, 12}\n \n --private:\n function envTable.UpdateIconPosition (unitFrame)\n local castBar = unitFrame.castBar\n local icon = castBar.Icon\n local shield = castBar.BorderShield\n \n if (envTable.ShowIcon) then\n icon:ClearAllPoints()\n \n if (envTable.IconAnchor == \"left\") then\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", -1, envTable.IconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", -1, 0) \n \n elseif (envTable.IconAnchor == \"right\") then\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", 1, envTable.IconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", 1, 0)\n \n end\n \n icon:SetWidth (icon:GetHeight())\n icon:Show()\n \n else\n icon:Hide()\n \n end\n \n if (envTable.ShowShield and not castBar.canInterrupt) then\n shield:Show()\n shield:SetAlpha (1)\n shield:SetTexCoord (0, 1, 0, 1)\n shield:SetVertexColor (1, 1, 1, 1)\n \n shield:SetTexture (envTable.ShieldTexture)\n shield:SetDesaturated (envTable.ShieldDesaturated)\n \n if (not envTable.ShieldDesaturated) then\n shield:SetVertexColor (DetailsFramework:ParseColors (envTable.ShieldColor))\n end\n \n shield:SetSize (unpack (envTable.ShieldSize))\n \n shield:ClearAllPoints()\n shield:SetPoint (\"center\", castBar, \"left\", 0, 0)\n \n else\n shield:Hide()\n \n end\n \n end\nend", }, ["Name"] = "Cast Icon Anchor", ["Icon"] = "Interface\\Buttons\\UI-Quickslot2", ["PlaterCore"] = 1, }, -- [26] { ["Enabled"] = true, ["Revision"] = 62, ["LastHookEdited"] = "Constructor", ["Author"] = "Izimode-Azralon", ["Desc"] = "Adds a pixels perfect border around the cast bar spell icon.", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BuildFrames (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.castBar.IconOverlayFrame) then\n unitFrame.castBar.IconOverlayFrame:Hide()\n end\n \nend\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BuildFrames (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.AnchorSide = \"left\"\n envTable.BorderThickness = 1\n envTable.BorderColor = \"black\"\n \n --private\n function envTable.BuildFrames (unitFrame)\n local castBar = unitFrame.castBar\n \n local r, g, b, a = DetailsFramework:ParseColors (envTable.BorderColor)\n castBar.IconBorder:SetVertexColor (r, g, b, a)\n \n local size = envTable.BorderThickness\n castBar.IconBorder:SetBorderSizes (size, size, size, size)\n castBar.IconBorder:UpdateSizes()\n \n local icon = castBar.Icon\n if (envTable.AnchorSide == \"left\") then\n icon:ClearAllPoints()\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", -1, 0)\n icon:SetPoint (\"bottomright\", castBar, \"bottomleft\", -1, 0)\n icon:SetWidth (icon:GetHeight())\n \n elseif (envTable.AnchorSide == \"right\") then\n icon:ClearAllPoints()\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", 1, 0)\n icon:SetPoint (\"bottomleft\", castBar, \"bottomright\", 1, 0)\n icon:SetWidth (icon:GetHeight())\n \n end\n \n icon:Show()\n castBar.IconOverlayFrame:Show()\n end\n \n if (not unitFrame.castBar.IconOverlayFrame) then\n --icon support frame\n unitFrame.castBar.IconOverlayFrame = CreateFrame (\"frame\", nil, unitFrame.castBar)\n unitFrame.castBar.IconOverlayFrame:SetPoint (\"topleft\", unitFrame.castBar.Icon, \"topleft\")\n unitFrame.castBar.IconOverlayFrame:SetPoint (\"bottomright\", unitFrame.castBar.Icon, \"bottomright\")\n \n unitFrame.castBar.IconBorder = CreateFrame (\"frame\", nil, unitFrame.castBar.IconOverlayFrame, \"NamePlateFullBorderTemplate\")\n end \n \nend\n\n\n\n\n", }, ["Prio"] = 99, ["Time"] = 1579031533, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BuildFrames (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.castBar.IconOverlayFrame) then\n unitFrame.castBar.IconOverlayFrame:Hide()\n end\n \nend\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BuildFrames (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.AnchorSide = \"left\"\n envTable.BorderThickness = 1\n envTable.BorderColor = \"black\"\n \n --private\n function envTable.BuildFrames (unitFrame)\n local castBar = unitFrame.castBar\n \n local r, g, b, a = DetailsFramework:ParseColors (envTable.BorderColor)\n castBar.IconBorder:SetVertexColor (r, g, b, a)\n \n local size = envTable.BorderThickness\n castBar.IconBorder:SetBorderSizes (size, size, size, size)\n castBar.IconBorder:UpdateSizes()\n \n local icon = castBar.Icon\n if (envTable.AnchorSide == \"left\") then\n icon:ClearAllPoints()\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", -1, 0)\n icon:SetPoint (\"bottomright\", castBar, \"bottomleft\", -1, 0)\n icon:SetWidth (icon:GetHeight())\n \n elseif (envTable.AnchorSide == \"right\") then\n icon:ClearAllPoints()\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", 1, 0)\n icon:SetPoint (\"bottomleft\", castBar, \"bottomright\", 1, 0)\n icon:SetWidth (icon:GetHeight())\n \n end\n \n icon:Show()\n castBar.IconOverlayFrame:Show()\n end\n \n if (not unitFrame.castBar.IconOverlayFrame) then\n --icon support frame\n unitFrame.castBar.IconOverlayFrame = CreateFrame (\"frame\", nil, unitFrame.castBar)\n unitFrame.castBar.IconOverlayFrame:SetPoint (\"topleft\", unitFrame.castBar.Icon, \"topleft\")\n unitFrame.castBar.IconOverlayFrame:SetPoint (\"bottomright\", unitFrame.castBar.Icon, \"bottomright\")\n \n unitFrame.castBar.IconBorder = CreateFrame (\"frame\", nil, unitFrame.castBar.IconOverlayFrame, \"NamePlateFullBorderTemplate\")\n end \n \nend\n\n\n\n\n", }, ["Name"] = "Cast Icon Border", ["Icon"] = 133004, ["PlaterCore"] = 1, }, -- [27] { ["Enabled"] = true, ["Revision"] = 85, ["LastHookEdited"] = "Constructor", ["Author"] = "Izimode-Azralon", ["Desc"] = "Adds a pixels perfect border around the cast bar.", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateBorder (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.castBar.CastBarBorder) then\n unitFrame.castBar.CastBarBorder:Hide()\n end \nend", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateBorder (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n \n --hide the icon of the spell, may require /reload after changing\n envTable.HideIcon = false\n \n --border settings\n envTable.BorderThickness = 1\n envTable.BorderColor = \"black\"\n \n --private\n --create the border\n if (not unitFrame.castBar.CastBarBorder) then\n unitFrame.castBar.CastBarBorder = CreateFrame (\"frame\", nil, unitFrame.castBar, \"NamePlateFullBorderTemplate\")\n end \n \n --update the border\n function envTable.UpdateBorder (unitFrame)\n local castBar = unitFrame.castBar\n \n local r, g, b, a = DetailsFramework:ParseColors (envTable.BorderColor)\n castBar.CastBarBorder:SetVertexColor (r, g, b, a)\n \n local size = envTable.BorderThickness\n castBar.CastBarBorder:SetBorderSizes (size, size, size, size)\n castBar.CastBarBorder:UpdateSizes() \n \n if (envTable.HideIcon) then\n castBar.Icon:Hide()\n end\n \n castBar.CastBarBorder:Show()\n end\n \nend\n\n\n\n\n", }, ["Prio"] = 99, ["Time"] = 1579035954, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateBorder (unitFrame)\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.castBar.CastBarBorder) then\n unitFrame.castBar.CastBarBorder:Hide()\n end \nend", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateBorder (unitFrame)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n \n --hide the icon of the spell, may require /reload after changing\n envTable.HideIcon = false\n \n --border settings\n envTable.BorderThickness = 1\n envTable.BorderColor = \"black\"\n \n --private\n --create the border\n if (not unitFrame.castBar.CastBarBorder) then\n unitFrame.castBar.CastBarBorder = CreateFrame (\"frame\", nil, unitFrame.castBar, \"NamePlateFullBorderTemplate\")\n end \n \n --update the border\n function envTable.UpdateBorder (unitFrame)\n local castBar = unitFrame.castBar\n \n local r, g, b, a = DetailsFramework:ParseColors (envTable.BorderColor)\n castBar.CastBarBorder:SetVertexColor (r, g, b, a)\n \n local size = envTable.BorderThickness\n castBar.CastBarBorder:SetBorderSizes (size, size, size, size)\n castBar.CastBarBorder:UpdateSizes() \n \n if (envTable.HideIcon) then\n castBar.Icon:Hide()\n end\n \n castBar.CastBarBorder:Show()\n end\n \nend\n\n\n\n\n", }, ["Name"] = "Cast Bar Border", ["Icon"] = 133004, ["PlaterCore"] = 1, }, -- [28] { ["Enabled"] = true, ["Revision"] = 42, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --minimum time left to take effect\n envTable.MinTime = 9.999\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n for index, auraIcon in ipairs (unitFrame.BuffFrame.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n if (auraIcon.RemainingTime < envTable.MinTime) then\n auraIcon.TimerText:SetText (format (\"%.1f\", auraIcon.RemainingTime))\n end\n end\n end\n \n for index, auraIcon in ipairs (unitFrame.BuffFrame2.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n if (auraIcon.RemainingTime < envTable.MinTime) then \n auraIcon.TimerText:SetText (format (\"%.1f\", auraIcon.RemainingTime))\n end\n end \n end \nend", }, ["Author"] = "????????-Illidan", ["Desc"] = "Debuff timer show decimal values", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --minimum time left to take effect\n envTable.MinTime = 9.999\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n for index, auraIcon in ipairs (unitFrame.BuffFrame.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n if (auraIcon.RemainingTime < envTable.MinTime) then\n auraIcon.TimerText:SetText (format (\"%.1f\", auraIcon.RemainingTime))\n end\n end\n end\n \n for index, auraIcon in ipairs (unitFrame.BuffFrame2.PlaterBuffList) do\n if (auraIcon:IsShown()) then\n if (auraIcon.RemainingTime < envTable.MinTime) then \n auraIcon.TimerText:SetText (format (\"%.1f\", auraIcon.RemainingTime))\n end\n end \n end \nend", }, ["Name"] = "Decimal Debuff Timer", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551894761, ["Icon"] = 609811, ["LastHookEdited"] = "Constructor", }, -- [29] { ["Enabled"] = true, ["Revision"] = 81, ["HooksTemp"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n -- if false then return end\n \n for _, iconFrame in ipairs (unitFrame.ExtraIconFrame.IconPool) do\n \n unitFrame.ExtraIconFrame.options.show_text = true\n \n local profile = Plater.db.profile\n \n Plater.SetAnchor (iconFrame.CountdownText, profile.aura_timer_text_anchor)\n Plater:SetFontSize (iconFrame.CountdownText, profile.aura_timer_text_size)\n Plater:SetFontFace (iconFrame.CountdownText, profile.aura_timer_text_font)\n \n Plater.SetFontOutlineAndShadow (iconFrame.CountdownText, profile.aura_timer_text_outline, profile.aura_timer_text_shadow_color, profile.aura_timer_text_shadow_color_offset[1], profile.aura_timer_text_shadow_color_offset[2])\n \n iconFrame.Cooldown:SetEdgeTexture (profile.aura_cooldown_edge_texture)\n iconFrame.Cooldown:SetReverse (profile.aura_cooldown_reverse)\n iconFrame.Cooldown:SetDrawSwipe (profile.aura_cooldown_show_swipe) \n \n end\n \nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n \nend\n\n\n", }, ["Author"] = "?????-Illidan", ["Desc"] = "Format Buff Special icons like the regular aura icons.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n -- if false then return end\n \n for _, iconFrame in ipairs (unitFrame.ExtraIconFrame.IconPool) do\n \n unitFrame.ExtraIconFrame.options.show_text = true\n \n local profile = Plater.db.profile\n \n Plater.SetAnchor (iconFrame.CountdownText, profile.aura_timer_text_anchor)\n Plater:SetFontSize (iconFrame.CountdownText, profile.aura_timer_text_size)\n Plater:SetFontFace (iconFrame.CountdownText, profile.aura_timer_text_font)\n \n Plater.SetFontOutlineAndShadow (iconFrame.CountdownText, profile.aura_timer_text_outline, profile.aura_timer_text_shadow_color, profile.aura_timer_text_shadow_color_offset[1], profile.aura_timer_text_shadow_color_offset[2])\n \n iconFrame.Cooldown:SetEdgeTexture (profile.aura_cooldown_edge_texture)\n iconFrame.Cooldown:SetReverse (profile.aura_cooldown_reverse)\n iconFrame.Cooldown:SetDrawSwipe (profile.aura_cooldown_show_swipe) \n \n end\n \nend", }, ["Name"] = "Buff Special Mod", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1552962644, ["Icon"] = 136139, ["LastHookEdited"] = "Nameplate Updated", }, -- [30] { ["Enabled"] = false, ["Revision"] = 29, ["HooksTemp"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --after editing this script, save it and /reload\n \n --adds two target indicators in arrow format\n --to change the texture you may replace the path with another texture path\n --or you can copy and paste more options here\n \n Plater.TargetIndicators [\"SmallArrow\"] = {\n path = [[Interface\\MONEYFRAME\\Arrow-Right-Up]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 12,\n height = 12,\n x = 8,\n y = 0,\n blend = \"ADD\",\n }\n \n Plater.TargetIndicators [\"BigArrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 18,\n height = 16,\n x = 24,\n y = 0,\n blend = \"ADD\",\n color = \"yellow\",\n }\n \n \n \nend\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --after editing this script, save it and /reload\n \n --adds two target indicators in arrow format\n --to change the texture you may replace the path with another texture path\n --or you can copy and paste more options here\n \n Plater.TargetIndicators [\"SmallArrow\"] = {\n path = [[Interface\\MONEYFRAME\\Arrow-Right-Up]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 12,\n height = 12,\n x = 8,\n y = 0,\n blend = \"ADD\",\n }\n \n Plater.TargetIndicators [\"BigArrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 18,\n height = 16,\n x = 24,\n y = 0,\n blend = \"ADD\",\n color = \"yellow\",\n }\n \n \n \nend\n\n\n", }, ["Author"] = "Izimode-Azralon", ["Desc"] = "Adds two arrows into the target indicators options.", ["Hooks"] = { ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --after editing this script, save it and /reload\n \n --adds two target indicators in arrow format\n --to change the texture you may replace the path with another texture path\n --or you can copy and paste more options here\n \n Plater.TargetIndicators [\"SmallArrow\"] = {\n path = [[Interface\\MONEYFRAME\\Arrow-Right-Up]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 12,\n height = 12,\n x = 8,\n y = 0,\n blend = \"ADD\",\n }\n \n Plater.TargetIndicators [\"BigArrow\"] = {\n path = [[Interface\\AddOns\\Plater\\media\\arrow_right_64]],\n coords = {\n {0, 1, 0, 1}, \n {1, 0, 0, 1}\n },\n desaturated = false,\n width = 18,\n height = 16,\n x = 24,\n y = 0,\n blend = \"ADD\",\n color = \"yellow\",\n }\n \n \n \nend\n\n\n", }, ["Name"] = "Arrow Target Indicators", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551887544, ["Icon"] = "Interface\\AddOns\\Plater\\media\\arrow_right_64", ["LastHookEdited"] = "Player Talent Update", }, -- [31] { ["Enabled"] = true, ["Revision"] = 11, ["HooksTemp"] = { ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.unitName:SetDrawLayer (\"overlay\", 7)\nend\n\n\n\n\n\n\n\n\n", }, ["Author"] = "Ditador-Azralon", ["Desc"] = "Set the unit name to be above the target shading texture.", ["Hooks"] = { ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n unitFrame.unitName:SetDrawLayer (\"overlay\", 7)\nend\n\n\n\n\n\n\n\n\n", }, ["Name"] = "Unit Name Over Target Shading", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["Time"] = 1551894756, ["Icon"] = 237377, ["LastHookEdited"] = "Target Changed", }, -- [32] { ["Enabled"] = true, ["Revision"] = 22, ["LastHookEdited"] = "Cast Update", ["Author"] = "Ditador-Azralon", ["Desc"] = "Set the spark height to the same size of the cast bar.", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n self.Spark:SetHeight (self:GetHeight())\n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n self.Spark:SetHeight (self:GetHeight())\n \nend\n\n\n", }, ["Prio"] = 99, ["Time"] = 1579035959, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n self.Spark:SetHeight (self:GetHeight())\n \nend\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n self.Spark:SetHeight (self:GetHeight())\n \nend\n\n\n", }, ["Name"] = "Adjust Spark Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\spark6", ["PlaterCore"] = 1, }, -- [33] { ["Enabled"] = true, ["Revision"] = 69, ["LastHookEdited"] = "Constructor", ["Author"] = "Izimode-Azralon", ["Desc"] = "Show power bar for some units.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --power bar options:\n \n --for which units it should\n envTable.ShowForEnemyPlayers = true\n envTable.ShowForEnemyNpcs = false\n \n --specific npcs, can be the npc name or npcId\n --this list work even if the ShowForEnemyNpcs is false\n envTable.SpecificNpcs = {\n [\"the rock\"] = true, --npc name\n [225] = true, --npcId\n }\n \n --anchor the power bar to\n envTable.Anchor = {\n side = 13, --inside the healthbar, bottom side\n x = 0, \n y = 0,\n }\n \n --power bar height\n envTable.Height = 1\n \n --power bar percent text\n envTable.PercentTextEnabled = false\n envTable.PercentTextAnchor = {\n side = 7, --top right\n x = 2, \n y = 0,\n }\n \n \n --private\n function envTable.ShowPowerbar (unitFrame)\n unitFrame.powerBar:SetUnit (unitFrame.unit)\n envTable.UpdatePowerbar (unitFrame)\n end\n \n function envTable.UpdatePowerbar (unitFrame)\n local powerBar = unitFrame.powerBar\n Plater.SetAnchor (powerBar, envTable.Anchor, unitFrame.healthBar)\n powerBar:SetSize (unitFrame.healthBar:GetWidth(), envTable.Height)\n \n envTable.SavePowerBarSize (unitFrame, envTable.Height)\n \n if (envTable.PercentTextEnabled) then\n powerBar.percentText:Show()\n --copy the font from the health percent\n Plater:SetFontFace (powerBar.percentText, Plater.GetConfig (unitFrame).percent_text_font)\n Plater:SetFontSize (powerBar.percentText, Plater.GetConfig (unitFrame).percent_text_size)\n Plater.SetAnchor (powerBar.percentText, envTable.PercentTextAnchor)\n else\n powerBar.percentText:Hide()\n end\n end\n \n function envTable.CanShowPowerBarForUnit (unitFrame)\n --check if the is in the special list to force show\n local forceShowPowerBar = envTable.SpecificNpcs [unitFrame.namePlateNpcId] or envTable.SpecificNpcs [unitFrame.namePlateUnitName] or envTable.SpecificNpcs [unitFrame.namePlateUnitNameLower]\n if (forceShowPowerBar) then\n envTable.ShowPowerbar (unitFrame)\n \n --check if the unit is a enemy player\n elseif (unitFrame.ActorType == \"enemyplayer\") then\n if (envTable.ShowForEnemyPlayers) then\n envTable.ShowPowerbar (unitFrame)\n end\n \n --check if the unit is a enemy npc\n elseif (unitFrame.ActorType == \"enemynpc\") then\n if (envTable.ShowForEnemyNpcs) then\n envTable.ShowPowerbar (unitFrame)\n end\n end\n end\n \n function envTable.SavePowerBarSize (unitFrame, height)\n local plateConfigs = Plater.db.profile.plate_config [unitFrame.ActorType]\n plateConfigs.mana[1] = plateConfigs.health[1]\n plateConfigs.mana[2] = height\n plateConfigs.mana_incombat[1] = plateConfigs.health_incombat[1]\n plateConfigs.mana_incombat[2] = height\n end\nend\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.CanShowPowerBarForUnit (unitFrame) \nend", }, ["Prio"] = 99, ["Time"] = 1579030177, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["HooksTemp"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --power bar options:\n \n --for which units it should\n envTable.ShowForEnemyPlayers = true\n envTable.ShowForEnemyNpcs = false\n \n --specific npcs, can be the npc name or npcId\n --this list work even if the ShowForEnemyNpcs is false\n envTable.SpecificNpcs = {\n [\"the rock\"] = true, --npc name\n [225] = true, --npcId\n }\n \n --anchor the power bar to\n envTable.Anchor = {\n side = 13, --inside the healthbar, bottom side\n x = 0, \n y = 0,\n }\n \n --power bar height\n envTable.Height = 1\n \n --power bar percent text\n envTable.PercentTextEnabled = false\n envTable.PercentTextAnchor = {\n side = 7, --top right\n x = 2, \n y = 0,\n }\n \n \n --private\n function envTable.ShowPowerbar (unitFrame)\n unitFrame.powerBar:SetUnit (unitFrame.unit)\n envTable.UpdatePowerbar (unitFrame)\n end\n \n function envTable.UpdatePowerbar (unitFrame)\n local powerBar = unitFrame.powerBar\n Plater.SetAnchor (powerBar, envTable.Anchor, unitFrame.healthBar)\n powerBar:SetSize (unitFrame.healthBar:GetWidth(), envTable.Height)\n \n envTable.SavePowerBarSize (unitFrame, envTable.Height)\n \n if (envTable.PercentTextEnabled) then\n powerBar.percentText:Show()\n --copy the font from the health percent\n Plater:SetFontFace (powerBar.percentText, Plater.GetConfig (unitFrame).percent_text_font)\n Plater:SetFontSize (powerBar.percentText, Plater.GetConfig (unitFrame).percent_text_size)\n Plater.SetAnchor (powerBar.percentText, envTable.PercentTextAnchor)\n else\n powerBar.percentText:Hide()\n end\n end\n \n function envTable.CanShowPowerBarForUnit (unitFrame)\n --check if the is in the special list to force show\n local forceShowPowerBar = envTable.SpecificNpcs [unitFrame.namePlateNpcId] or envTable.SpecificNpcs [unitFrame.namePlateUnitName] or envTable.SpecificNpcs [unitFrame.namePlateUnitNameLower]\n if (forceShowPowerBar) then\n envTable.ShowPowerbar (unitFrame)\n \n --check if the unit is a enemy player\n elseif (unitFrame.ActorType == \"enemyplayer\") then\n if (envTable.ShowForEnemyPlayers) then\n envTable.ShowPowerbar (unitFrame)\n end\n \n --check if the unit is a enemy npc\n elseif (unitFrame.ActorType == \"enemynpc\") then\n if (envTable.ShowForEnemyNpcs) then\n envTable.ShowPowerbar (unitFrame)\n end\n end\n end\n \n function envTable.SavePowerBarSize (unitFrame, height)\n local plateConfigs = Plater.db.profile.plate_config [unitFrame.ActorType]\n plateConfigs.mana[1] = plateConfigs.health[1]\n plateConfigs.mana[2] = height\n plateConfigs.mana_incombat[1] = plateConfigs.health_incombat[1]\n plateConfigs.mana_incombat[2] = height\n end\nend\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.CanShowPowerBarForUnit (unitFrame) \nend", }, ["Name"] = "Power Bar", ["Icon"] = "Interface/Addons/Plater/Media/fire_64", ["PlaterCore"] = 1, }, -- [34] { ["LastHookEdited"] = "", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.castBar.BorderShield:SetDrawLayer(\"artwork\")\n envTable.UpdateIconPosition (unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n self.ThrottleUpdate = -1\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --private:\n function envTable.UpdateIconPosition (unitFrame)\n local castBar = unitFrame.castBar\n local icon = castBar.Icon\n local noInterruptTexture = castBar.BorderShield\n \n if (modTable.config.showIcon) then\n icon:ClearAllPoints()\n \n if (modTable.config.iconOnLeftSide) then\n if (modTable.config.useFullSize) then\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n \n else\n \n icon:SetPoint (\"topright\", unitFrame.castBar, \"topleft\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n end\n \n else\n if (modTable.config.useFullSize) then\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n \n else\n \n icon:SetPoint (\"topleft\", unitFrame.castBar, \"topright\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n end\n end\n \n icon:SetWidth (icon:GetHeight())\n icon:Show()\n else\n icon:Hide()\n end\n \n if (modTable.config.showTexture and not castBar.canInterrupt) then\n noInterruptTexture:Show()\n \n local texturePath = modTable.config.iconTexturePath\n texturePath = texturePath:gsub(\"//\", \"/\")\n texturePath = texturePath:gsub(\"\\\\\", \"/\")\n \n noInterruptTexture:SetTexture (texturePath)\n noInterruptTexture:SetTexCoord (0, 1, 0, 1)\n \n if (modTable.config.desaturatedTexture) then\n noInterruptTexture:SetDesaturated (modTable.config.desaturatedTexture)\n else\n noInterruptTexture:SetVertexColor (DetailsFramework:ParseColors (modTable.config.textureColor))\n end\n \n noInterruptTexture:SetSize (modTable.config.textureWidth, castBar:GetHeight() + modTable.config.textureHeightMod)\n noInterruptTexture:ClearAllPoints()\n noInterruptTexture:SetPoint (\"center\", castBar, \"left\", modTable.config.texturePosition, 0)\n noInterruptTexture:SetAlpha (modTable.config.textureAlpha)\n else\n noInterruptTexture:Hide()\n end\n end\nend", }, ["Time"] = 1597097268, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\castbar_icon", ["Enabled"] = false, ["Revision"] = 348, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Desc"] = "Move the icon of the spell cast to the left or right side of the nameplate.", ["version"] = -1, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Name"] = "Icon Settings", ["Value"] = "Icon Settings:", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Name"] = "Show Icon", ["Value"] = true, ["Key"] = "showIcon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show the castbar icon when enabled", }, -- [2] { ["Type"] = 4, ["Name"] = "Icon on Left Side", ["Value"] = true, ["Key"] = "iconOnLeftSide", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled it anchor the icon on the left side, right otherwise", }, -- [3] { ["Type"] = 4, ["Key"] = "useFullSize", ["Value"] = false, ["Name"] = "Use Big Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled the icon has the size of the cast bar plus the healthbar", }, -- [4] { ["Type"] = 2, ["Max"] = 5, ["Desc"] = "Fine tune the icon size", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0, ["Name"] = "Icon Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "iconSizeOffset", }, -- [5] { ["Type"] = 2, ["Max"] = 5, ["Desc"] = "Space between the icon and the cast bar", ["Min"] = -5, ["Name"] = "Icon Padding", ["Value"] = 0, ["Key"] = "iconPadding", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 5, ["Name"] = "Interrupt Texture", ["Value"] = "Can't Interrupt Texture:", ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Name"] = "Show Texture", ["Value"] = true, ["Key"] = "showTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled show a texture to tell the cast can't be interrupted", }, -- [9] { ["Type"] = 3, ["Name"] = "Texture Path", ["Value"] = "Interface\\GROUPFRAME\\UI-GROUP-MAINTANKICON", ["Key"] = "iconTexturePath", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "Insert the path for the texture", }, -- [10] { ["Type"] = 4, ["Name"] = "Texture Desaturated", ["Value"] = true, ["Key"] = "desaturatedTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enbaled, texture is shown in black & white", }, -- [11] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 0.3056715726852417, -- [4] }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Select the color of the texture", }, -- [12] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Adjust the texture width", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 10, ["Name"] = "Texture Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "textureWidth", }, -- [13] { ["Type"] = 2, ["Max"] = 16, ["Desc"] = "The texture is set to be the same size as the cast bar, fine tune the height as wanted", ["Min"] = -16, ["Name"] = "Texture Height Mod", ["Value"] = 0, ["Key"] = "textureHeightMod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Adjust the texture position", ["Min"] = -32, ["Fraction"] = false, ["Value"] = 0, ["Name"] = "Texture Position", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "texturePosition", }, -- [15] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Adjust the texture transparency", ["Min"] = 0, ["Key"] = "textureAlpha", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Alpha", }, -- [16] }, ["HooksTemp"] = { }, ["Name"] = "Cast Bar Icon Settings [P]", }, -- [35] }, ["aura_width"] = 22, ["health_statusbar_bgcolor"] = { 0.0431372, -- [1] 0.0431372, -- [2] 0.0431372, -- [3] 1, -- [4] }, ["pet_width_scale"] = 0.99999994039536, ["quick_hide"] = true, ["resources"] = { ["y_offset"] = 1, ["y_offset_target"] = 9, ["scale"] = 0.79999995231628, }, ["click_space"] = { 115, -- [1] }, ["extra_icon_auras"] = { 277242, -- [1] }, ["castbar_target_font"] = "Accidental Presidency", ["ui_parent_cast_level"] = 10, ["castbar_target_outline"] = "NONE", ["ui_parent_buff2_level"] = 10, ["aura2_grow_direction"] = 1, ["cast_statusbar_spark_color"] = { 0.98823529411765, -- [1] [3] = 0.94117647058823, }, ["health_animation_time_dilatation"] = 2.8699998855591, ["pet_height_scale"] = 0.99999994039536, ["aura_x_offset"] = 0, ["first_run3"] = true, ["first_run2"] = true, ["ui_parent_scale_tune"] = 1.72413798064596, ["ui_parent_buff_strata"] = "LOW", ["healthbar_framelevel"] = 0, ["hover_highlight_alpha"] = 0.29999998211861, ["ui_parent_buff_level"] = 10, ["health_statusbar_bgtexture"] = "PlaterBackground", ["indicator_raidmark_anchor"] = { ["x"] = -40, }, ["tank"] = { ["colors"] = { ["pulling"] = { nil, -- [1] 0.91372549019608, -- [2] 0.99607843137255, -- [3] }, }, }, ["aura_tracker"] = { ["buff_tracked"] = { ["280001"] = true, [227931] = true, [233210] = true, [297133] = true, [163689] = true, }, ["debuff"] = { 224991, -- [1] 277950, -- [2] }, ["buff_banned"] = { ["206150"] = true, ["61574"] = true, ["61573"] = true, }, }, ["castbar_target_show"] = true, ["cast_statusbar_color"] = { nil, -- [1] 0.85882352941176, -- [2] nil, -- [3] 0.96000000089407, -- [4] }, ["update_throttle"] = 0.099999994039535, ["not_affecting_combat_alpha"] = 0.799999, ["indicator_rare"] = false, ["use_health_animation"] = true, ["target_highlight_alpha"] = 1, ["news_frame"] = { ["PlaterNewsFrame"] = { ["scale"] = 1, }, }, ["target_shady_alpha"] = 0.59999996423721, ["target_highlight_height"] = 18, ["version"] = 5, ["cast_statusbar_spark_alpha"] = 0.71999996900559, ["castbar_framelevel"] = 0, ["use_ui_parent"] = true, ["extra_icon_auras_mine"] = { ["224991"] = true, }, ["color_override_colors"] = { [3] = { nil, -- [1] 0.2784313, -- [2] 0.2078431, -- [3] }, [4] = { 1, -- [1] 0.83921568627451, -- [2] 0, -- [3] }, [5] = { 0.29019607843137, -- [1] 1, -- [2] 0.19607843137255, -- [3] }, }, ["patch_version"] = 21, ["no_spellname_length_limit"] = true, ["aura_timer_text_size"] = 10, ["extra_icon_show_timer"] = false, ["cast_statusbar_spark_offset"] = -13, ["number_region_first_run"] = true, ["class_colors"] = { ["DEATHKNIGHT"] = { ["colorStr"] = "ffc31d3a", }, ["WARRIOR"] = { ["colorStr"] = "ffc69a6d", }, ["PALADIN"] = { ["colorStr"] = "fff48bb9", }, ["WARLOCK"] = { ["colorStr"] = "ff8687ed", }, ["DEMONHUNTER"] = { ["colorStr"] = "ffa22fc8", }, ["ROGUE"] = { ["colorStr"] = "fffff467", }, ["DRUID"] = { ["colorStr"] = "ffff7c09", }, ["EVOKER"] = { ["colorStr"] = "ff33937e", }, ["SHAMAN"] = { ["colorStr"] = "ff006fdd", }, }, ["cast_statusbar_fadeout_time"] = 0.48999997973442, ["aura_height2"] = 14, ["ghost_auras"] = { ["auras"] = { ["PRIEST"] = { [3] = { [589] = true, [34914] = true, }, }, ["WARLOCK"] = { { [172] = true, [980] = true, }, -- [1] }, }, }, ["script_data_trash"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.NameplateSizeOffset = 3 --increases the size of the healthBar\n envTable.GlowAlpha = 0.45 --from zero to one, is the percent of transparency of the glowing border\n envTable.ShowArrow = true --or 'false' to hide the arrow above the healthBar\n envTable.ArrowAlpha = 0.45 --transparent of the arrow above the healthBar\n envTable.HealthBarColor = \"orange\" --color of the healthBar\n \n --custom frames\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n envTable.glowEffect:SetOffset (-27, 25, 6, -8)\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 32\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\CastingBar\\UI-CastingBar-Spark]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = 8\n envTable.topArrow.height = 8\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.glowEffect:Hide()\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 32\n \n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n \nend\n\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-16, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend\n\n\n", ["Time"] = 1550589212, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.NameplateSizeOffset = 3 --increases the size of the healthBar\n envTable.GlowAlpha = 0.45 --from zero to one, is the percent of transparency of the glowing border\n envTable.ShowArrow = true --or 'false' to hide the arrow above the healthBar\n envTable.ArrowAlpha = 0.45 --transparent of the arrow above the healthBar\n envTable.HealthBarColor = \"orange\" --color of the healthBar\n \n --custom frames\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n envTable.glowEffect:SetOffset (-27, 25, 6, -8)\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 32\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\CastingBar\\UI-CastingBar-Spark]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = 8\n envTable.topArrow.height = 8\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["Icon"] = 2175503, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.glowEffect:Hide()\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["Revision"] = 335, ["Author"] = "Bombad�o-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 32\n \n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n \nend\n\n\n\n\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-16, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend\n\n\n", ["Name"] = "Explosion Affix M+ [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["SpellIds"] = { 240446, -- [1] 273577, -- [2] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.debuffIconGlow = envTable.debuffIconGlow or Plater.CreateIconGlow (self)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Hide()\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Show()\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1551466091, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.debuffIconGlow = envTable.debuffIconGlow or Plater.CreateIconGlow (self)\n \nend\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Hide()\n \nend\n\n\n", ["Revision"] = 247, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Show()\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Aura - Debuff Alert [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Add the debuff name in the trigger box.", ["SpellIds"] = { }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately)\n \n --flash duration\n local CONFIG_FLASH_DURATION = 0.6\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n \n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \nend\n\n\n", ["Time"] = 1548349245, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately)\n \n --flash duration\n local CONFIG_FLASH_DURATION = 0.6\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n \n \nend\n\n\n\n\n\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["Revision"] = 387, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \nend\n\n\n", ["Name"] = "Cast - Small Alert [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["SpellIds"] = { 275192, -- [1] 265912, -- [2] 274438, -- [3] 268317, -- [4] 268375, -- [5] 276767, -- [6] 264105, -- [7] 265876, -- [8] 270464, -- [9] 266106, -- [10] 272180, -- [11] 278961, -- [12] 278755, -- [13] 265468, -- [14] 256405, -- [15] 256897, -- [16] 264101, -- [17] 280604, -- [18] 268702, -- [19] 281621, -- [20] 262515, -- [21] 255824, -- [22] 253583, -- [23] 250096, -- [24] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [3] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = true --set to 'false' to disable blinks\n envTable.GlowEnabled = true --set to 'false' to disable glows\n envTable.ChangeNameplateColor = true; --set to 'true' to enable nameplate color change\n envTable.TimeLeftToBlink = 4.5; --in seconds, affects the blink effect only\n envTable.BlinkSpeed = 1.0; --time to complete a blink loop\n envTable.BlinkColor = \"white\"; --color of the blink\n envTable.BlinkMaxAlpha = 0.50; --max transparency in the animation loop (1.0 is full opaque)\n envTable.NameplateColor = \"darkred\"; --nameplate color if ChangeNameplateColor is true\n \n --text color\n envTable.TimerColorEnabled = true --set to 'false' to disable changes in the color of the time left text\n envTable.TimeLeftWarning = 8.0; --in seconds, affects the color of the text\n envTable.TimeLeftCritical = 3.0; --in seconds, affects the color of the text \n envTable.TextColor_Warning = \"yellow\"; --color when the time left entered in a warning zone\n envTable.TextColor_Critical = \"red\"; --color when the time left is critical\n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1549120808, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = true --set to 'false' to disable blinks\n envTable.GlowEnabled = true --set to 'false' to disable glows\n envTable.ChangeNameplateColor = true; --set to 'true' to enable nameplate color change\n envTable.TimeLeftToBlink = 4.5; --in seconds, affects the blink effect only\n envTable.BlinkSpeed = 1.0; --time to complete a blink loop\n envTable.BlinkColor = \"white\"; --color of the blink\n envTable.BlinkMaxAlpha = 0.50; --max transparency in the animation loop (1.0 is full opaque)\n envTable.NameplateColor = \"darkred\"; --nameplate color if ChangeNameplateColor is true\n \n --text color\n envTable.TimerColorEnabled = true --set to 'false' to disable changes in the color of the time left text\n envTable.TimeLeftWarning = 8.0; --in seconds, affects the color of the text\n envTable.TimeLeftCritical = 3.0; --in seconds, affects the color of the text \n envTable.TextColor_Warning = \"yellow\"; --color when the time left entered in a warning zone\n envTable.TextColor_Critical = \"red\"; --color when the time left is critical\n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["Revision"] = 164, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Name"] = "Aura - Blink by Time Left [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["SpellIds"] = { }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_BORDER_GLOW_ALPHA = 0.3 --0.3\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (self)\n envTable.glowEffect:SetOffset (-32, 30, 7, -9)\n envTable.glowEffect:SetAlpha (CONFIG_BORDER_GLOW_ALPHA)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n self:PlayFrameShake (envTable.FrameShake)\n \nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1548349245, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_BORDER_GLOW_ALPHA = 0.3 --0.3\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (self)\n envTable.glowEffect:SetOffset (-32, 30, 7, -9)\n envTable.glowEffect:SetAlpha (CONFIG_BORDER_GLOW_ALPHA)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (self, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, true) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n envTable.BackgroundFlash:Stop()\n \n self:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["Revision"] = 399, ["Author"] = "Bombad�o-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Cast - Very Important [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["SpellIds"] = { 257785, -- [1] 267237, -- [2] 266951, -- [3] 267273, -- [4] 267433, -- [5] 263066, -- [6] 255577, -- [7] 255371, -- [8] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1625793282, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1154, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["NpcNames"] = { }, ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["Name"] = "Cast - Alert + Timer [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Cast start animation settings", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 7, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "348513", -- [1] "14", -- [2] }, -- [3] { "348513", -- [1] "14", -- [2] }, -- [4] }, ["Key"] = "timerList", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1668711522, }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --https://www.wowhead.com/spell=253583/fiery-enchant\n \n --settings (you may need /reload if some configs isn't applied immediately)\n \n --castbar color (when can be interrupted)\n envTable.CastbarColor = \"darkorange\"\n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.4\n --add this value to the cast bar height\n envTable.CastBarHeightAdd = 5\n \n \n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, 0.2, 5, 35, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n end\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n self:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n envTable.BackgroundFlash:Play()\n \nend\n\n\n\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1551892410, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --https://www.wowhead.com/spell=253583/fiery-enchant\n \n --settings (you may need /reload if some configs isn't applied immediately)\n \n --castbar color (when can be interrupted)\n envTable.CastbarColor = \"darkorange\"\n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.4\n --add this value to the cast bar height\n envTable.CastBarHeightAdd = 5\n \n \n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (self, 0.2, 5, 35, false, false, 0, 1, 0.05, 0.1, true)\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \nend\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n end\n \n --stop the camera shake\n self:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \nend\n\n\n\n\n\n", ["Revision"] = 581, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n envTable.BackgroundFlash:Play()\n \nend\n\n\n\n\n\n\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Cast - Big Alert [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["SpellIds"] = { 258153, -- [1] 258313, -- [2] 257069, -- [3] 274569, -- [4] 278020, -- [5] 261635, -- [6] 272700, -- [7] 280404, -- [8] 268030, -- [9] 265368, -- [10] 263891, -- [11] 264520, -- [12] 265407, -- [13] 278567, -- [14] 278602, -- [15] 258128, -- [16] 257791, -- [17] 258938, -- [18] 265089, -- [19] 272183, -- [20] 256060, -- [21] 257397, -- [22] 257899, -- [23] 269972, -- [24] 270901, -- [25] 270492, -- [26] 268129, -- [27] 268709, -- [28] 263215, -- [29] 268797, -- [30] 262540, -- [31] 262554, -- [32] 253517, -- [33] 255041, -- [34] 252781, -- [35] 250368, -- [36] 258777, -- [37] 72286, -- [38] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = false --change to true to change the color\n envTable.NameplateColor = \"pink\"\n envTable.NameplateSizeOffset = 6 --increase the nameplate height by this value\n envTable.GlowAlpha = 0.5 --amount of alpha in the outside glow effect\n \n --create a glow effect around the nameplate\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar, envTable.NameplateColor)\n envTable.glowEffect:SetOffset (-27, 25, 9, -11)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() --\n \n --set the glow effect alpha\n envTable.glowEffect:SetAlpha (envTable.GlowAlpha)\n \nend\n\n--[=[\nUsing spellIDs for multi-language support\n\n135029 - A Knot of Snakes (Temple of Sethraliss)\n135388 - A Knot of Snakes (Temple of Sethraliss)\n134612 - Grasping Tentacles (Shrine of the Storm)\n133361 - Wasting Servant (Waycrest Manor)\n136330 - Soul Thorns (Waycrest Manor)\n130896 - Blackout Barrel (Freehold)\n129758 - Irontide Grenadier (Freehold)\n131009 - Spirit of Gold (Atal`Dazar)\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1548957216, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = false --change to true to change the color\n envTable.NameplateColor = \"pink\"\n envTable.NameplateSizeOffset = 6 --increase the nameplate height by this value\n envTable.GlowAlpha = 0.5 --amount of alpha in the outside glow effect\n \n --create a glow effect around the nameplate\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar, envTable.NameplateColor)\n envTable.glowEffect:SetOffset (-27, 25, 9, -11)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() --\n \n --set the glow effect alpha\n envTable.glowEffect:SetAlpha (envTable.GlowAlpha)\n \nend\n\n--[=[\nUsing spellIDs for multi-language support\n\n135029 - A Knot of Snakes (Temple of Sethraliss)\n135388 - A Knot of Snakes (Temple of Sethraliss)\n134612 - Grasping Tentacles (Shrine of the Storm)\n133361 - Wasting Servant (Waycrest Manor)\n136330 - Soul Thorns (Waycrest Manor)\n130896 - Blackout Barrel (Freehold)\n129758 - Irontide Grenadier (Freehold)\n131009 - Spirit of Gold (Atal`Dazar)\n--]=]", ["Icon"] = 135996, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n", ["Revision"] = 162, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \nend\n\n\n", ["NpcNames"] = { "135029", -- [1] "134388", -- [2] "134612", -- [3] "133361", -- [4] "136330", -- [5] "130896", -- [6] "129758", -- [7] "Healing Tide Totem", -- [8] "131009", -- [9] }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Name"] = "Unit - Important [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["SpellIds"] = { }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Hide()\n \nend", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Show()\n \nend", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1551467254, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self)\n \nend", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Hide()\n \nend", ["Revision"] = 432, ["Author"] = "Tercioo-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Show()\n \nend", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Name"] = "Aura - Buff Alert [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Add the buff name in the trigger box.", ["SpellIds"] = { 275826, -- [1] 272888, -- [2] 272659, -- [3] 267901, -- [4] 267830, -- [5] 265393, -- [6] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [9] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n envTable.movingArrow:SetAlpha (0.275)\n --envTable.movingArrow:SetDesaturated (true)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n local animation = Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.2, self:GetWidth()-16, 0)\n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", ["Time"] = 1548349245, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n envTable.movingArrow:SetAlpha (0.275)\n --envTable.movingArrow:SetDesaturated (true)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n local animation = Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.2, self:GetWidth()-16, 0)\n \n \n \nend\n\n\n", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["Revision"] = 192, ["Author"] = "Izimode-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", ["Name"] = "Cast - Frontal Cone [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["SpellIds"] = { 255952, -- [1] 257426, -- [2] 274400, -- [3] 272609, -- [4] 269843, -- [5] 269029, -- [6] 272827, -- [7] 269266, -- [8] 263912, -- [9] 264923, -- [10] 258864, -- [11] 256955, -- [12] 265540, -- [13] 260793, -- [14] 270003, -- [15] 270507, -- [16] 257337, -- [17] 268415, -- [18] 275907, -- [19] 268865, -- [20] 260669, -- [21] 260280, -- [22] 253239, -- [23] 265541, -- [24] 250258, -- [25] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [10] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \nend\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n end \nend\n\n\n", ["Time"] = 1550595071, ["Temp_ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \nend\n\n\n\n\n\n\n\n\n", ["Icon"] = 1029718, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["Revision"] = 197, ["Author"] = "Celian-Sylvanas", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n \nend\n\n\n", ["NpcNames"] = { }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n end \nend\n\n\n", ["Name"] = "Fixate [Plater]", ["PlaterCore"] = 1, ["Desc"] = "Show above the nameplate who is the player fixated", ["SpellIds"] = { 272584, -- [1] 244653, -- [2] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [11] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [268074] = \"Dark Purpose\", --G'huun Mythic Add\n [260954] = \"Iron Gaze\", --Sergeant Bainbridge - Siege of Boralus\n [257739] = \"Blind Rage\", --Blacktooth Scrapper - Freehold\n [257314] = \"Black Powder Bomb\", --Irontide Grenadier - Freehold\n [266107] = \"Thirst For Blood\", --Feral Bloodswarmer - The Underrot\n [257582] = \"Raging Gaze\", --Earthrager - The MOTHERLODE!!\n [262377] = \"Seek and Destroy\", --Crawler Mine - The MOTHERLODE!!\n [257407] = \"Pursuit\", --Rezan - Atal'Dazar\n \n [288038] = \"Marked Target\", --marine jaina encounter on battle of dazar'alor\n [282209] = \"Mark of Prey\", --ravenous stalker conclave encounter on battle of dazar'alor\n --[] = \"\" -- \n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n146753: Kul Tiran Marine from jaina encounter on battle of dazar'alor\n144807: Ravenous Stalker conclave encounter on battle of dazar'alor\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["Temp_OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1548105751, ["Temp_ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [268074] = \"Dark Purpose\", --G'huun Mythic Add\n [260954] = \"Iron Gaze\", --Sergeant Bainbridge - Siege of Boralus\n [257739] = \"Blind Rage\", --Blacktooth Scrapper - Freehold\n [257314] = \"Black Powder Bomb\", --Irontide Grenadier - Freehold\n [266107] = \"Thirst For Blood\", --Feral Bloodswarmer - The Underrot\n [257582] = \"Raging Gaze\", --Earthrager - The MOTHERLODE!!\n [262377] = \"Seek and Destroy\", --Crawler Mine - The MOTHERLODE!!\n [257407] = \"Pursuit\", --Rezan - Atal'Dazar\n \n [288038] = \"Marked Target\", --marine jaina encounter\n --[] = \"\" -- \n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n146753: kul tiran marine from jaina encounter\n--]=]\n\n\n\n\n", ["Icon"] = 841383, ["Temp_OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["Revision"] = 208, ["Author"] = "Tecno-Azralon", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["NpcNames"] = { "smuggled crawg", -- [1] "sergeant bainbridge", -- [2] "blacktooth scrapper", -- [3] "irontide grenadier", -- [4] "feral bloodswarmer", -- [5] "earthrager", -- [6] "crawler mine", -- [7] "rezan", -- [8] "136461", -- [9] "146753", -- [10] "144807", -- [11] }, ["Temp_UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Name"] = "Fixate On You [Plater]", ["PlaterCore"] = 1, ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] "136461", -- [10] }, ["Enabled"] = true, ["__TrashAt"] = 1668711522, }, -- [12] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1605214963, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 607, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["NpcNames"] = { }, ["SpellIds"] = { 323149, -- [1] 324392, -- [2] 340544, -- [3] 342189, -- [4] 333227, -- [5] 163689, -- [6] 227931, -- [7] 233210, -- [8] 300207, -- [9] 301629, -- [10] 297133, -- [11] }, ["Name"] = "Aura - Buff Alert [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", ["__TrashAt"] = 1669393628, }, -- [13] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1604454032, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 351, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["NpcNames"] = { }, ["SpellIds"] = { 337220, -- [1] 337253, -- [2] 337251, -- [3] }, ["Name"] = "Aura - Debuff Alert [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", ["__TrashAt"] = 1669393628, }, -- [14] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\nend\n\n\n", ["Time"] = 1604617977, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 513, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["NpcNames"] = { }, ["SpellIds"] = { 332329, -- [1] 320103, -- [2] 321406, -- [3] 335817, -- [4] 321061, -- [5] 320141, -- [6] 326171, -- [7] 163966, -- [8] 227966, -- [9] }, ["Name"] = "Cast - Ultra Important [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Health Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Name"] = "Health Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Key"] = "arrowWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \nend", ["__TrashAt"] = 1669393628, }, -- [15] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1604617585, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 595, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 320170, -- [1] 320171, -- [2] 320462, -- [3] 330712, -- [4] 332170, -- [5] 333875, -- [6] 326836, -- [7] 342135, -- [8] 333861, -- [9] 341969, -- [10] 317963, -- [11] 327481, -- [12] 328331, -- [13] 322614, -- [14] 325701, -- [15] 326438, -- [16] 323538, -- [17] 321764, -- [18] 296523, -- [19] 330755, -- [20] 295929, -- [21] 296019, -- [22] 335685, -- [23] 170751, -- [24] 342207, -- [25] 350554, -- [26] 348513, -- [27] 351779, -- [28] 328180, -- [29] 319898, -- [30] 166335, -- [31] 172810, -- [32] 172943, -- [33] 173148, -- [34] 163376, -- [35] 228011, -- [36] 228277, -- [37] 29928, -- [38] 228559, -- [39] 230050, -- [40] 374743, -- [41] 227615, -- [42] 229716, -- [43] 229083, -- [44] 299525, -- [45] 300514, -- [46] 285388, -- [47] 294324, -- [48] 294180, -- [49] 293827, -- [50] 297128, -- [51] 294015, -- [52] 291865, -- [53] }, ["Name"] = "Cast - Small Alert [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a small animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [5] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["__TrashAt"] = 1669393628, }, -- [16] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n\n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1666836560, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 346, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["NpcNames"] = { }, ["SpellIds"] = { 373429, -- [1] }, ["Name"] = "Cast - Glowing [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Fraction"] = false, ["Value"] = 7, ["Name"] = "Amount of Segments", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "segmentsAmount", }, -- [1] { ["Type"] = 1, ["Name"] = "Spark Color", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Key"] = "sparkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\nend\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1669393628, }, -- [17] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --create a texture to use for a flash behind the cast bar\n \n if (not unitFrame.backGroundFlashTextureImpTarget) then\n unitFrame.backGroundFlashTextureImpTarget = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n end\n \n local backGroundFlashTexture = unitFrame.backGroundFlashTextureImpTarget\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n --create the target unit name box\n if (not unitFrame.targetBox) then\n unitFrame.targetBox = CreateFrame(\"frame\", unitFrame:GetName() .. \"ScriptImportantTarget\", unitFrame, \"BackdropTemplate\")\n unitFrame.targetBox:SetSize(80, 20)\n unitFrame.targetBox:SetFrameStrata(\"TOOLTIP\")\n unitFrame.targetBox:Hide()\n unitFrame.targetBox:SetPoint(\"left\", unitFrame, \"right\", 0, 0)\n \n unitFrame.targetBox:SetBackdrop({edgeFile = [[Interface\\Buttons\\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\\AddOns\\Details\\images\\background]], tile = true, tileSize = 16})\n unitFrame.targetBox:SetBackdropColor(.2, .2, .2, .8)\n unitFrame.targetBox:SetBackdropBorderColor(0, 0, 0, 1)\n \n unitFrame.targetBoxName = unitFrame.targetBox:CreateFontString(nil, \"artwork\", \"GameFontNormal\")\n unitFrame.targetBoxName:SetPoint(\"center\")\n end\n \n function envTable.UpdateTargetBox(unitFrame, unitId)\n local targetUnitId = unitId .. \"target\"\n local unitName = UnitName(targetUnitId)\n \n if (unitName) then\n if (scriptTable.config.colorByClass) then\n Plater:SetFontColor(unitFrame.targetBoxName, \"white\")\n unitName = Plater.SetTextColorByClass(targetUnitId, unitName)\n else\n Plater:SetFontColor(unitFrame.targetBoxName, scriptTable.config.textColor)\n end\n \n unitFrame.targetBoxName:SetText(unitName)\n Plater:SetFontSize(unitFrame.targetBoxName, scriptTable.config.targetNameSize)\n unitFrame.targetBox:SetBackdropColor(Plater:ParseColors(scriptTable.config.targetBgColor))\n unitFrame.targetBox:SetBackdropBorderColor(Plater:ParseColors(scriptTable.config.targetBgBorderColor))\n unitFrame.targetBox:Show()\n \n unitFrame.targetBox:SetWidth(scriptTable.config.targetFrameWidth)\n unitFrame.targetBox:SetHeight(scriptTable.config.targetFrameHeight)\n \n if (not Plater.HasDotAnimationPlaying(unitFrame.targetBox)) then\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.targetBox, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n end\n \n unitFrame.backGroundFlashTextureImpTarget:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n \n return true\n \n end\n end\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.targetBox, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \n unitFrame.targetBox:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.UpdateTargetBox(unitFrame, unitId) \n \nend\n\n\n", ["Time"] = 1625696653, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_target", ["Enabled"] = true, ["Revision"] = 836, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight the target name", ["NpcNames"] = { }, ["SpellIds"] = { 354173, -- [1] }, ["Name"] = "Cast - Important Target [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Shows the target name in a separate box", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.8, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 8, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] { ["Type"] = 6, ["Key"] = "option27", ["Value"] = 0, ["Name"] = "Option 27", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [27] { ["Type"] = 5, ["Key"] = "option28", ["Value"] = "Target Options", ["Name"] = "Option 28", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [28] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Fraction"] = false, ["Value"] = 14, ["Key"] = "targetNameSize", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Text Size", }, -- [29] { ["Type"] = 4, ["Key"] = "colorByClass", ["Value"] = true, ["Name"] = "Use Class Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [30] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [31] { ["Type"] = 1, ["Key"] = "targetBgColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.9846720322966576, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [32] { ["Type"] = 1, ["Key"] = "targetBgBorderColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [33] { ["Type"] = 2, ["Max"] = 160, ["Desc"] = "", ["Min"] = 30, ["Fraction"] = false, ["Value"] = 90, ["Key"] = "targetFrameWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Frame Width", }, -- [34] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Name"] = "Frame Height", ["Value"] = 20, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetFrameHeight", }, -- [35] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable.UpdateTargetBox(unitFrame, unitId)) then\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \n end\n \nend\n\n\n\n\n\n\n", ["__TrashAt"] = 1669393628, }, -- [18] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1626467946, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1162, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["NpcNames"] = { }, ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["Name"] = "Cast - Alert + Timer [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Cast start animation settings", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 7, ["Key"] = "timerList", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "348513", -- [1] "14", -- [2] }, -- [3] { "348513", -- [1] "14", -- [2] }, -- [4] }, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1669393628, }, -- [19] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n local unitPowerBar = unitFrame.powerBar\n unitPowerBar:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then\n return \n end\n \n local continuationToken\n local slots\n local foundAura = false\n \n repeat \n slots = { UnitAuraSlots(unitId, \"HELPFUL\", BUFF_MAX_DISPLAY, continuationToken) }\n continuationToken = slots[1]\n numSlots = #slots\n \n for i = 2, numSlots do\n local slot = slots[i]\n local name, texture, count, actualAuraType, duration, expirationTime, caster, canStealOrPurge, nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, isCastByPlayer, nameplateShowAll, timeMod, auraAmount = UnitAuraBySlot(unitId, slot) \n \n if (spellId == envTable._SpellID) then --need to get the trigger spellId\n --Ablative Shield\n local unitPowerBar = unitFrame.powerBar\n if (not unitPowerBar:IsShown()) then\n unitPowerBar:SetUnit(unitId)\n end\n \n foundAura = true\n return\n end\n end\n \n until continuationToken == nil\n \n if (not foundAura) then\n local unitPowerBar = unitFrame.powerBar\n if (unitPowerBar:IsShown()) then\n unitPowerBar:Hide()\n end\n end\nend", ["Time"] = 1660259323, ["url"] = "", ["Icon"] = 610472, ["Enabled"] = true, ["Revision"] = 52, ["semver"] = "", ["Author"] = "Keyspell-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Show power bar where its value is the buff value (usualy shown in the buff tooltip)", ["NpcNames"] = { }, ["SpellIds"] = { 227548, -- [1] }, ["Name"] = "Aura is Shield [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["__TrashAt"] = 1669393628, }, -- [20] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996691, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1060, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 338353, -- [1] 334748, -- [2] 334749, -- [3] 320784, -- [4] 341352, -- [5] 341520, -- [6] 341522, -- [7] 336005, -- [8] 339777, -- [9] 331933, -- [10] 326617, -- [11] 324914, -- [12] 324776, -- [13] 326046, -- [14] 340634, -- [15] 319070, -- [16] 328295, -- [17] 317936, -- [18] 327413, -- [19] 319654, -- [20] 323821, -- [21] 320772, -- [22] 324293, -- [23] 330562, -- [24] 330868, -- [25] 341902, -- [26] 342139, -- [27] 342675, -- [28] 323190, -- [29] 332836, -- [30] 327648, -- [31] 328217, -- [32] 322938, -- [33] 340544, -- [34] 325876, -- [35] 325700, -- [36] 323552, -- [37] 332666, -- [38] 332612, -- [39] 332706, -- [40] 340026, -- [41] 294171, -- [42] 292910, -- [43] 294165, -- [44] 338871, -- [45] 330813, -- [46] 335694, -- [47] 327461, -- [48] 329787, -- [49] 304946, -- [50] 15245, -- [51] 276754, -- [52] 304831, -- [53] 277036, -- [54] 320657, -- [55] 294362, -- [56] 270248, -- [57] 292926, -- [58] 350421, -- [59] 352158, -- [60] 349985, -- [61] 164192, -- [62] 176032, -- [63] 166335, -- [64] 166387, -- [65] 162066, -- [66] 163689, -- [67] 227592, -- [68] 228254, -- [69] 227999, -- [70] 227987, -- [71] 232115, -- [72] 29580, -- [73] 227616, -- [74] 241828, -- [75] 228606, -- [76] 227800, -- [77] 228239, -- [78] 229706, -- [79] 294884, -- [80] 301629, -- [81] 284219, -- [82] 301689, -- [83] 300650, -- [84] 297835, -- [85] 300171, -- [86] 300087, -- [87] 300414, -- [88] 300436, -- [89] 301088, -- [90] 293729, -- [91] 291928, -- [92] }, ["Name"] = "Cast - Big Alert [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1669393628, }, -- [21] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n\nend\n\n\n", ["Time"] = 1604698647, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 462, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["NpcNames"] = { }, ["SpellIds"] = { 240446, -- [1] 273577, -- [2] }, ["Name"] = "Explosion Affix M+ [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "showArrow", ["Value"] = true, ["Name"] = "Show Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [11] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [16] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\nend\n\n\n\n\n\n\n", ["__TrashAt"] = 1669393628, }, -- [22] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (UnitIsUnit(unitId .. \"target\", \"player\")) then\n Plater.SetNameplateColor(unitFrame, scriptTable.config.nameplateColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1660340256, ["url"] = "", ["Icon"] = "Interface\\ICONS\\Ability_Fixated_State_Red", ["Enabled"] = true, ["Revision"] = 25, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Alert about a unit fixated on the player by using a buff on the enemy unit.", ["NpcNames"] = { }, ["SpellIds"] = { 285388, -- [1] }, ["Name"] = "Fixate by Unit Buff [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0, -- [1] 0.5568627450980392, -- [2] 0.03529411764705882, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Change the enemy nameplate color to this color when fixating you!", }, -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["__TrashAt"] = 1669393628, }, -- [23] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["Time"] = 1604599443, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 460, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 323489, -- [1] 323496, -- [2] 319941, -- [3] 319592, -- [4] 334266, -- [5] 325258, -- [6] 334913, -- [7] 326221, -- [8] 322936, -- [9] 323236, -- [10] 321834, -- [11] 336752, -- [12] 325418, -- [13] 324667, -- [14] 327233, -- [15] 324368, -- [16] 324205, -- [17] 323943, -- [18] 319713, -- [19] 320596, -- [20] 320729, -- [21] 323608, -- [22] 330614, -- [23] 320063, -- [24] 332708, -- [25] 334023, -- [26] 317231, -- [27] 317943, -- [28] 320966, -- [29] 334053, -- [30] 328458, -- [31] 321968, -- [32] 331718, -- [33] 325793, -- [34] 330453, -- [35] 326997, -- [36] 334051, -- [37] 292903, -- [38] 330843, -- [39] 294173, -- [40] 189200, -- [41] 352833, -- [42] 330403, -- [43] 166675, -- [44] 176127, -- [45] 166380, -- [46] 162058, -- [47] 167516, -- [48] 166923, -- [49] 178299, -- [50] 172982, -- [51] 163390, -- [52] 173384, -- [53] 173514, -- [54] 29513, -- [55] 227672, -- [56] 228603, -- [57] 227339, -- [58] 227493, -- [59] 241774, -- [60] 229611, -- [61] 229151, -- [62] 300188, -- [63] 299475, -- [64] 299502, -- [65] 300777, -- [66] 301681, -- [67] 298946, -- [68] 298940, -- [69] 300424, -- [70] 283422, -- [71] 294290, -- [72] 291973, -- [73] 293986, -- [74] 291878, -- [75] 292264, -- [76] }, ["Name"] = "Cast - Frontal Cone [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 0.275, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Name"] = "Animation Speed", ["Value"] = 0.2, ["Key"] = "animSpeed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [6] { ["Type"] = 4, ["Key"] = "desaturateArrow", ["Value"] = false, ["Name"] = "Use White Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["__TrashAt"] = 1669393628, }, -- [24] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996917, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 717, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 321247, -- [1] 334522, -- [2] 320232, -- [3] 319962, -- [4] 325879, -- [5] 324427, -- [6] 322999, -- [7] 325360, -- [8] 322903, -- [9] 324103, -- [10] 333294, -- [11] 333540, -- [12] 319521, -- [13] 326021, -- [14] 326450, -- [15] 322711, -- [16] 329104, -- [17] 295000, -- [18] 242391, -- [19] 320197, -- [20] 329608, -- [21] 350687, -- [22] 161090, -- [23] 156301, -- [24] 166341, -- [25] 163379, -- [26] 166923, -- [27] 172952, -- [28] 164426, -- [29] 163665, -- [30] 227578, -- [31] 228528, -- [32] 227789, -- [33] 227779, -- [34] 229608, -- [35] 227925, -- [36] 300129, -- [37] 296522, -- [38] 294349, -- [39] 293854, -- [40] 297834, -- [41] 299588, -- [42] 302682, -- [43] 291946, -- [44] 295169, -- [45] 285440, -- [46] 291613, -- [47] 283551, -- [48] }, ["Name"] = "Cast - Very Important [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a big animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.8, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 5, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \nend\n\n\n", ["__TrashAt"] = 1669393628, }, -- [25] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996775, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_tank", ["Enabled"] = true, ["Revision"] = 843, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Cast alert for abilities which only the tank can interrupt.", ["__TrashAt"] = 1669686109, ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Cast - Tank Interrupt [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 0, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.1, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Name"] = "Shake Amplitude", ["Value"] = 25, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 30, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", }, -- [26] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.lifePercent = {\n --npcId percent divisions\n [154564] = {80, 30}, --debug\n [164451] = {40}, --dessia the decapirator - theater of pain\n [164463] = {40}, --Paceran the Virulent - theater of pain\n [164461] = {40}, -- Sathel the Accursed - theater of pain\n [165946]= {50}, -- ~mordretha - thather of pain\n [164501] = {70, 40, 10}, --mistcaller - tina scythe\n [164218] = {70, 40}, --Lord Chamberlain - Halls of Atonement\n }\n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker and unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1606506781, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 109, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["__TrashAt"] = 1669686109, ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Unit - Health Markers [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Name"] = "Option 1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Vertical Line Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "indicatorColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.79, ["Name"] = "Vertical Line Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Key"] = "fillColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Fill Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Key"] = "fillAlpha", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", }, -- [27] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n--[=[\n\n154564 - debug\n\n168098 - empowered coldheart agent\n156212 - coldheart agent\n\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604607993, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 406, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1669686109, ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Unit - Main Target [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 0, ["Name"] = "Nameplate Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n unitFrame.healthBar.MainTargetDotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + scriptTable.config.nameplateSizeOffset)\n \nend\n\n\n\n\n\n\n\n", }, -- [28] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n function envTable.CheckUnit(unitFrame, envTable)\n if (envTable._NpcID == 185680) then\n --haste\n envTable.SetColor(unitFrame, \"haste\")\n \n elseif (envTable._NpcID == 185683) then\n --movement speed\n envTable.SetColor(unitFrame, \"ms\")\n \n elseif (envTable._NpcID == 185685) then\n --cooldown reduction\n envTable.SetColor(unitFrame, \"cdr\")\n \n end\n end\n \n function envTable.SetColor(unitFrame, bonusType)\n \n local r, g, b, a, name\n \n if (bonusType == \"haste\") then\n name = scriptTable.config.hasteName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.hasteColor)\n \n elseif (bonusType == \"ms\") then\n name = scriptTable.config.msName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.msColor)\n \n elseif (bonusType == \"cdr\") then\n name = scriptTable.config.cdrName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.cdrColor)\n end\n \n Plater.SetNameplateColor(unitFrame, r, g, b, a)\n if (scriptTable.config.canChangeSize) then\n Plater.SetNameplateSize(unitFrame, scriptTable.config.width, scriptTable.config.height)\n end\n \n --border\n if (scriptTable.config.showBorder) then\n r, g, b, a = r+0.2, g+0.2, b+0.2\n Plater.SetBorderColor(unitFrame, r, g, b)\n end\n \n --name\n unitFrame.healthBar.unitName:SetText(name)\n end\nend\n\n\n--185685 cooldown reduction\n--185680 haste\n--185683 movement speed\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckUnit(unitFrame, envTable)\nend\n\n\n", ["Time"] = 1647994498, ["url"] = "", ["Icon"] = 4263293, ["Enabled"] = true, ["Revision"] = 70, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Make more easy to distinguish relics within dungeons in 9.2 patch", ["__TrashAt"] = 1669686109, ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Relics 9.2 M Dungeons", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Name"] = "ColorSettingsAnchor", ["Value"] = "Color Settings", ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Adjust the nameplate color for each mob", }, -- [1] { ["Type"] = 1, ["Name"] = "Haste Color", ["Value"] = { 0.4549019607843137, -- [1] 0.2156862745098039, -- [2] 0.5490196078431373, -- [3] 1, -- [4] }, ["Key"] = "hasteColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "haste color", }, -- [2] { ["Type"] = 1, ["Key"] = "msColor", ["Value"] = { 0.3098039215686275, -- [1] 0.5215686274509804, -- [2] 0.2588235294117647, -- [3] 1, -- [4] }, ["Name"] = "Moviment Speep Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "moviment speep color", }, -- [3] { ["Type"] = 1, ["Name"] = "Cooldown Reduction Color", ["Value"] = { 0.1725490196078431, -- [1] 0.2823529411764706, -- [2] 0.5215686274509804, -- [3] 1, -- [4] }, ["Key"] = "cdrColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "cooldown reduction color", }, -- [4] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Name"] = "SizeSettingsAnchor", ["Value"] = "Size Settings", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "canChangeSize", ["Value"] = false, ["Name"] = "Change Nameplate Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If this is checked, the nameplate size is changed to the values below", }, -- [7] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "total width of the nameplate", ["Min"] = 50, ["Key"] = "width", ["Value"] = 100, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Width", }, -- [8] { ["Type"] = 2, ["Max"] = 40, ["Desc"] = "total height of the nameplate", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 12, ["Name"] = "Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "height", }, -- [9] { ["Type"] = 6, ["Name"] = "Option 9", ["Value"] = 0, ["Key"] = "option9", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Name"] = "BorderSettingsAnchor", ["Value"] = "Border Settings", ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Name"] = "Paint Border", ["Value"] = true, ["Key"] = "showBorder", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, the color of the border will have the same color as the nameplate", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 12", ["Value"] = 0, ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "NameSettings", ["Value"] = "Name Settings", ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 3, ["Name"] = "Haste Name", ["Value"] = "HASTE", ["Key"] = "hasteName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [15] { ["Type"] = 3, ["Key"] = "cdrName", ["Value"] = "CDR", ["Name"] = "Cooldown Reduction Name", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [16] { ["Type"] = 3, ["Name"] = "Movement Speed Name", ["Value"] = "MS", ["Key"] = "msName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [17] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckUnit(unitFrame, envTable)\n \nend", }, -- [29] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = scriptTable.config.changeNameplateColor --\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset --\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/skullbones_128]])\n unitFrame.UnitImportantSkullTexture:SetPoint(\"center\", unitFrame.healthBar, \"center\", 0, -5)\n \n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n164362 - smily morsel - plaguefall\n168882 - fleeting manifestation - sanguine depths\n170234 - oppressive banner - theater of pain\n168988 - overgrowth - Mists of Tirna Scithe\n170452 - essesnce orb - torghast\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604599472, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 355, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1669686109, ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Unit - Important [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "nameplateSizeOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Skull Texture", ["Name"] = "Skull Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Skull Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "", ["Min"] = 0, ["Name"] = "Alpha", ["Value"] = 0.2, ["Key"] = "skullAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [12] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "", ["Min"] = 0.4, ["Key"] = "skullScale", ["Value"] = 0.6, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Scale", }, -- [13] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\nend\n\n\n\n\n", }, -- [30] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n function envTable.PlaySwipeAnimation(unitFrame)\n unitFrame.CastSwipeTexture:Show()\n unitFrame.CastSwipeAnimation:Play()\n unitFrame.StartSwipeAnimation:Play()\n end\n \n function envTable.StopSwipeAnimation(unitFrame)\n unitFrame.EndSwipeAnimation:Play()\n C_Timer.After(0.21, function()\n unitFrame.CastSwipeAnimation:Stop()\n unitFrame.CastSwipeTexture:Hide()\n end)\n end\n \n function envTable.CreateSwipeTextureAndAnimations(unitFrame)\n if (unitFrame.CastSwipeTexture) then\n return\n end\n \n local swipeTexture = unitFrame:CreateTexture(nil, \"overlay\")\n swipeTexture:SetTexture([[Interface\\AddOns\\Plater\\images\\circular_swipe]])\n swipeTexture:SetPoint(\"center\", 0, 0)\n swipeTexture:SetSize(64, 64)\n swipeTexture:Hide()\n \n unitFrame.CastSwipeTexture = swipeTexture\n \n --rotation animation\n unitFrame.CastSwipeAnimation = Plater:CreateAnimationHub(swipeTexture)\n unitFrame.CastSwipeAnimation:SetLooping(\"repeat\")\n unitFrame.CastSwipeAnimation.Rotation = Plater:CreateAnimation(unitFrame.CastSwipeAnimation, \"rotation\", 1, 1, 360)\n \n --starting animation\n unitFrame.StartSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, function()swipeTexture:Show() end)\n unitFrame.StartSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"alpha\", 1, 0.2, 0, 1)\n unitFrame.StartSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"scale\", 1, 0.2, 1.3, 1.3, 1, 1) \n \n --finished animation\n unitFrame.EndSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, nil, function()swipeTexture:Hide() end)\n unitFrame.EndSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"alpha\", 1, 0.2, 1, 0)\n unitFrame.EndSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"scale\", 1, 0.2, 1, 1, 1.3, 1.3)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.StopSwipeAnimation(unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["Time"] = 1669326597, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\circular_swipe", ["Enabled"] = true, ["Revision"] = 143, ["semver"] = "", ["Author"] = "Butazzul-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Play a animation when the spell effect is an circular AoE around the caster.", ["NpcNames"] = { }, ["SpellIds"] = { 385916, -- [1] 386063, -- [2] 388822, -- [3] 373087, -- [4] 397785, -- [5] 106864, -- [6] 193660, -- [7] 198263, -- [8] 387910, -- [9] 370766, -- [10] 375591, -- [11] 384336, -- [12] 209404, -- [13] 209378, -- [14] 210875, -- [15] 396001, -- [16] 397899, -- [17] }, ["Name"] = "Cast - Circle AoE [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 0.3, ["Desc"] = "Rotation Duration", ["Min"] = 0.15, ["Key"] = "rotationDuration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Rotation Duration", }, -- [1] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 2, ["Max"] = 1.5, ["Desc"] = "Animation Start Duration", ["Min"] = 0, ["Key"] = "animStartDuration", ["Value"] = 0.5, ["Name"] = "Animation Start Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha when the animation start playing, this effect in intended to catch the player attention", ["Min"] = 0, ["Name"] = "Texture Start Alpha", ["Value"] = 0.6, ["Key"] = "textureStartAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [4] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "Texture Scale", ["Min"] = 0.6, ["Key"] = "textureScale", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Scale", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha", ["Min"] = 0, ["Key"] = "textureAlpha", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Alpha", }, -- [7] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.CreateSwipeTextureAndAnimations(unitFrame)\n \n local options = scriptTable.config\n \n local targetScale = scriptTable.config.textureScale\n \n --swipe rotation duration \n unitFrame.CastSwipeAnimation.Rotation:SetDuration(scriptTable.config.rotationDuration)\n \n --swipe texture settings\n unitFrame.CastSwipeTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.textureColor))\n unitFrame.CastSwipeTexture:SetScale(targetScale)\n unitFrame.CastSwipeTexture:SetAlpha(scriptTable.config.textureAlpha) \n \n unitFrame.StartSwipeAnimation.Alpha:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Alpha:SetFromAlpha(scriptTable.config.textureStartAlpha)\n unitFrame.StartSwipeAnimation.Alpha:SetToAlpha(scriptTable.config.textureAlpha)\n \n unitFrame.StartSwipeAnimation.Scale:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Scale:SetScaleTo(targetScale, targetScale)\n \n unitFrame.EndSwipeAnimation.Scale:SetDuration(0.1)\n unitFrame.EndSwipeAnimation.Alpha:SetDuration(0.1)\n \n --start playing\n envTable.PlaySwipeAnimation(unitFrame) \n \nend\n\n\n", ["__TrashAt"] = 1670270319, }, -- [31] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n Plater.SetNameplateColor(unitFrame, scriptTable.config.healthBarColor)\n \nend\n\n\n", ["Time"] = 1669326367, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 641, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["NpcNames"] = { }, ["SpellIds"] = { 383823, -- [1] 382670, -- [2] 388537, -- [3] 372851, -- [4] 200682, -- [5] 192307, -- [6] 196838, -- [7] 193827, -- [8] 194043, -- [9] 209410, -- [10] 211464, -- [11] 361180, -- [12] 156718, -- [13] 395859, -- [14] }, ["Name"] = "Cast - Ultra Important [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Health Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above Use Cast Bar Color", }, -- [7] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.168627455830574, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast Bar Color", }, -- [8] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Key"] = "arrowAlpha", ["Value"] = 0.5, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [12] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [13] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Key"] = "arrowHeight", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [14] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [15] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [16] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [17] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Key"] = "xOffset", ["Value"] = 4, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [18] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [19] { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "200682", -- [1] "darkslateblue", -- [2] }, -- [1] { "192307", -- [1] "goldenrod", -- [2] }, -- [2] { "196838", -- [1] "maroon", -- [2] }, -- [3] { "193827", -- [1] "darkgreen", -- [2] }, -- [4] { "194043", -- [1] "darkgreen", -- [2] }, -- [5] { "156718", -- [1] "DRUID", -- [2] }, -- [6] { "395859", -- [1] "ROGUE", -- [2] }, -- [7] }, ["Name"] = "Color List by SpellId", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the spellId in the Key, and the color name in the Value", }, -- [20] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n Plater.SetNameplateColor (unitFrame, scriptTable.config.healthBarColor)\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, customColor or scriptTable.config.castBarColor, envTable)\n \n Plater.DenyColorChange(unitFrame, true)\nend", ["__TrashAt"] = 1670270319, }, -- [32] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n196548 = ancient branch (academy dungeon)\n195580, 195821, 195820 = nokhub saboteur\n189886 = blazebound firestorm\n75966 = Defiled Spirit\n102019 = Stormforged Obliterator\n 187159 = Shrieking Whelp\n194897 = stormsurge totem\n104251 = duskwatch sentry\n101326 = honored ancestor\n--]=]\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1669340396, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 515, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color and highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["NpcNames"] = { "196548", -- [1] "195580", -- [2] "195820", -- [3] "195821", -- [4] "189886", -- [5] "75966", -- [6] "102019", -- [7] "187159", -- [8] "194897", -- [9] "104251", -- [10] "101326", -- [11] }, ["SpellIds"] = { }, ["Name"] = "Add - Important [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137255072593689, -- [2] 0, -- [3] 0.5631310641765594, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Dot Color", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Name"] = "Extra Texture", ["Value"] = "Extra Texture", ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Extra Texture", }, -- [10] { ["Type"] = 4, ["Key"] = "showExtraTexture", ["Value"] = false, ["Name"] = "Show Extra Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Extra Texture", }, -- [11] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "skullColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [12] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Alpha", ["Min"] = 0, ["Key"] = "skullAlpha", ["Value"] = 0.2, ["Name"] = "Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "Scale", ["Min"] = 0.4, ["Fraction"] = true, ["Value"] = 0.6, ["Key"] = "skullScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Scale", }, -- [14] { ["Type"] = 7, ["Key"] = "npcColor", ["Value"] = { { "196548", -- [1] "forestgreen", -- [2] }, -- [1] { "195580", -- [1] "chocolate", -- [2] }, -- [2] { "195820", -- [1] "chocolate", -- [2] }, -- [3] { "195821", -- [1] "chocolate", -- [2] }, -- [4] { "189886", -- [1] "firebrickdark", -- [2] }, -- [5] { "75966", -- [1] "midnightblue", -- [2] }, -- [6] { "102019 ", -- [1] "chocolate", -- [2] }, -- [7] { "187159", -- [1] "darkmagenta", -- [2] }, -- [8] { "194897", -- [1] "darkmagenta", -- [2] }, -- [9] { "104251", -- [1] "cornflowerblue", -- [2] }, -- [10] }, ["Name"] = "Npc Color By NpcID", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the npcID, value is the color name", }, -- [15] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\n \n --color priority:\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.nameplateColor) \n \n if (scriptTable.config.showExtraTexture) then\n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/x_64]])\n unitFrame.UnitImportantSkullTexture:ClearAllPoints()\n unitFrame.UnitImportantSkullTexture:SetPoint(\"right\", unitFrame.healthBar, \"left\", -2, 0)\n unitFrame.UnitImportantSkullTexture:SetSize(28, 28)\n unitFrame.UnitImportantSkullTexture:Show()\n else\n unitFrame.UnitImportantSkullTexture:Hide()\n end\n \n --rules for some npcs\n if (envTable._NpcID == 194895) then --unstable squall (explode at dying\n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n end\n \n Plater.DenyColorChange(unitFrame, true)\nend\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [33] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1669326364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 453, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["NpcNames"] = { }, ["SpellIds"] = { 376644, -- [1] 373017, -- [2] 386781, -- [3] 384823, -- [4] 372735, -- [5] 385536, -- [6] 392398, -- [7] 375596, -- [8] 387135, -- [9] 209033, -- [10] 360850, -- [11] 212784, -- [12] 207980, -- [13] 199033, -- [14] 199034, -- [15] 200969, -- [16] 394512, -- [17] 397881, -- [18] 396020, -- [19] }, ["Name"] = "Cast - Glowing [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Name"] = "Amount of Segments", ["Value"] = 7, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "segmentsAmount", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "385536", -- [1] "maroon", -- [2] }, -- [1] { "198750", -- [1] "midnightblue", -- [2] }, -- [2] { "360850", -- [1] "lime", -- [2] }, -- [3] { "212784", -- [1] "deepskyblue", -- [2] }, -- [4] { "207980", -- [1] "midnightblue", -- [2] }, -- [5] { "199033", -- [1] "gold", -- [2] }, -- [6] { "199034", -- [1] "gold", -- [2] }, -- [7] { "200969", -- [1] "orange", -- [2] }, -- [8] { "394512", -- [1] "indigo", -- [2] }, -- [9] { "397881", -- [1] "deepskyblue", -- [2] }, -- [10] { "396020", -- [1] "khaki", -- [2] }, -- [11] }, ["Name"] = "Cast Color by SpellID", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the Spell ID in the to Key and a color name into the Value", }, -- [4] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n Plater.SetCastBarColorForScript(self, true, customColor or scriptTable.config.castBarColor, envTable)\nend\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [34] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669339757, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1207, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["Name"] = "Cast - Alert + Timer [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Cast start animation settings", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Name"] = "Flash Duration", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [11] { ["Type"] = 7, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Value"] = { }, ["Key"] = "timerList", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [35] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n--190187 draconic image\n--189893 infused whelp\n--99922 Ebonclaw Packmate\n--104822 flames of woe", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.DenyColorChange(unitFrame, false)\n unitFrame.onShowAddToKillFlash:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n \nend\n\n\n", ["Time"] = 1669340472, ["url"] = "", ["Icon"] = "interface/addons/plater/media/exclamation_64", ["Enabled"] = true, ["Revision"] = 122, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color of adds", ["NpcNames"] = { "190187", -- [1] "189893", -- [2] "99922", -- [3] "104822", -- [4] }, ["SpellIds"] = { }, ["Name"] = "Add - Warning [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.4392157196998596, -- [2] 0.458823561668396, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [1] { ["Type"] = 4, ["Key"] = "useFlash", ["Value"] = true, ["Name"] = "Flash Nameplate", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Flash Nameplate", }, -- [2] { ["Type"] = 7, ["Key"] = "npcColor", ["Value"] = { { "189893", -- [1] "firebrickdark", -- [2] }, -- [1] { "190187", -- [1] "firebrickdark", -- [2] }, -- [2] { "99922", -- [1] "saddlebrown", -- [2] }, -- [3] { "153285", -- [1] "firebrickdark", -- [2] }, -- [4] { "104822", -- [1] "firebrickdark", -- [2] }, -- [5] }, ["Name"] = "NpcID to Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "If the npc isn't on this list, use the default color set in the Health Bar Color", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n Plater.DenyColorChange(unitFrame, true)\n \n unitFrame.onShowAddToKillFlash = unitFrame.onShowAddToKillFlash or Plater.CreateFlash (unitFrame.healthBar, 0.25, 1, \"white\")\n \n if (scriptTable.config.useFlash) then\n unitFrame.onShowAddToKillFlash:Play()\n end\n \n --color priority:\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.healthBarColor)\nend\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [36] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsShowingCastBarTest) then\n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n end\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669327145, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1183, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 396640, -- [1] 372743, -- [2] 377389, -- [3] 396812, -- [4] 388392, -- [5] 387955, -- [6] 386546, -- [7] 377503, -- [8] 384808, -- [9] 386024, -- [10] 387615, -- [11] 387606, -- [12] 225100, -- [13] 211401, -- [14] 211470, -- [15] 215433, -- [16] 192563, -- [17] 198959, -- [18] 152818, -- [19] 156776, -- [20] 398206, -- [21] 153524, -- [22] 396073, -- [23] 396018, -- [24] }, ["Name"] = "Cast - Big Alert [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (not Plater.IsShowingCastBarTest) then\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [37] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to run the update as fast as the game framerate\n self.ThrottleUpdate = 0\n \n Plater.SetNameplateColor(unitFrame, scriptTable.config.healthBarColor)\n \n local dotSpeed = abs(envTable._Duration - envTable._RemainingTime) + 1.5\n envTable.dotAnimation.textureInfo.speedMultiplier = dotSpeed\nend\n\n\n", ["Time"] = 1669249865, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 509, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["NpcNames"] = { }, ["SpellIds"] = { 240446, -- [1] 385339, -- [2] 198077, -- [3] 210261, -- [4] 360857, -- [5] 273577, -- [6] }, ["Name"] = "Explosion Affix M+ [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Key"] = "arrowWidth", ["Value"] = 8, ["Name"] = "Arrow Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Name"] = "Arrow Height", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 4, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "Option 18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [17] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Health Bar", ["Name"] = "Health Bar Title", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [18] { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.1843137294054031, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Health Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Health Bar Color", }, -- [19] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n Plater.SetCastBarColorForScript(self, true, scriptTable.config.castBarColor, envTable)\n \n Plater.DenyColorChange(unitFrame, true)\nend\n\n\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [38] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n\n--Scorchling 194622\n--Scorchling 190205\n--197398 Hungry Lasher\n--77006 corpse skitterling\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n \nend\n\n\n", ["Time"] = 1669340403, ["url"] = "", ["Icon"] = "interface/addons/plater/media/duck_64", ["Enabled"] = true, ["Revision"] = 36, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "", ["NpcNames"] = { "194622", -- [1] "190205", -- [2] "197398", -- [3] "77006", -- [4] }, ["SpellIds"] = { }, ["Name"] = "Add - Non Elite Trash [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0.062745101749897, -- [1] 0.062745101749897, -- [2] 0.0941176563501358, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.DenyColorChange(unitFrame, true)\n \n \n \nend\n\n\n", ["__TrashAt"] = 1670270319, }, -- [39] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.stopCastingX) then\n unitFrame.stopCastingX = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n unitFrame.stopCastingX:SetPoint(\"center\", unitFrame.castBar.Spark, \"center\", 0, 0)\n unitFrame.stopCastingX:SetTexture([[Interface\\AddOns\\Plater\\Media\\stop_64]])\n unitFrame.stopCastingX:SetSize(16, 16)\n unitFrame.stopCastingX:Hide()\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n unitFrame.stopCastingX:Hide()\nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1669257042, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\stop_64", ["Enabled"] = true, ["Revision"] = 416, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Just stop casting", ["NpcNames"] = { }, ["SpellIds"] = { 377004, -- [1] 381516, -- [2] 196543, -- [3] 199726, -- [4] }, ["Name"] = "Cast - Stop Casting [P]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Key"] = "segmentsAmount", ["Value"] = 7, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Amount of Segments", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n unitFrame.stopCastingX:Show()\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\nend\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670270319, }, -- [40] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow:SetAlpha(scriptTable.config.arrowAlpha)\n \nend", ["Time"] = 1669339586, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 560, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 375943, -- [1] 385958, -- [2] 388623, -- [3] 377034, -- [4] 374361, -- [5] 372107, -- [6] 381525, -- [7] 386660, -- [8] 385578, -- [9] 384699, -- [10] 153501, -- [11] 153686, -- [12] 154442, -- [13] 192018, -- [14] 219488, -- [15] 372087, -- [16] 391726, -- [17] 391723, -- [18] 377383, -- [19] 388976, -- [20] 370764, -- [21] 387067, -- [22] 391118, -- [23] 391136, -- [24] 382233, -- [25] 209027, -- [26] 212031, -- [27] 207261, -- [28] 207979, -- [29] 198888, -- [30] 199805, -- [31] 199050, -- [32] 191508, -- [33] 152792, -- [34] 153395, -- [35] }, ["Name"] = "Cast - Frontal Cone [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.275, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Animation Speed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animSpeed", }, -- [6] { ["Type"] = 4, ["Name"] = "Use White Arrow", ["Value"] = false, ["Key"] = "desaturateArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\n \n envTable.movingArrow:SetAlpha(scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetHeight(self:GetHeight() - 2)\n envTable.movingArrow:SetDrawLayer(\"overlay\", 7)\n \n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation:Play()\n \nend\n\n\n", ["__TrashAt"] = 1670270319, }, -- [41] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669326503, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 786, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 373046, -- [1] 372863, -- [2] 164686, -- [3] 153072, -- [4] 153680, -- [5] 196497, -- [6] 388886, -- [7] 387145, -- [8] 384365, -- [9] 152964, -- [10] 398150, -- [11] 152801, -- [12] 397878, -- [13] 397914, -- [14] }, ["Name"] = "Cast - Very Important [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a big animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Key"] = "flashDuration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Key"] = "shakeAmplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "xOffset", ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castBarColor, envTable)\nend", ["__TrashAt"] = 1670270319, }, -- [42] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n function envTable.PlaySwipeAnimation(unitFrame)\n unitFrame.CastSwipeTexture:Show()\n unitFrame.CastSwipeAnimation:Play()\n unitFrame.StartSwipeAnimation:Play()\n end\n \n function envTable.StopSwipeAnimation(unitFrame)\n unitFrame.EndSwipeAnimation:Play()\n C_Timer.After(0.21, function()\n unitFrame.CastSwipeAnimation:Stop()\n unitFrame.CastSwipeTexture:Hide()\n end)\n end\n \n function envTable.CreateSwipeTextureAndAnimations(unitFrame)\n if (unitFrame.CastSwipeTexture) then\n return\n end\n \n local swipeTexture = unitFrame:CreateTexture(nil, \"overlay\")\n swipeTexture:SetTexture([[Interface\\AddOns\\Plater\\images\\circular_swipe]])\n swipeTexture:SetPoint(\"center\", 0, 0)\n swipeTexture:SetSize(64, 64)\n swipeTexture:Hide()\n \n unitFrame.CastSwipeTexture = swipeTexture\n \n --rotation animation\n unitFrame.CastSwipeAnimation = Plater:CreateAnimationHub(swipeTexture)\n unitFrame.CastSwipeAnimation:SetLooping(\"repeat\")\n unitFrame.CastSwipeAnimation.Rotation = Plater:CreateAnimation(unitFrame.CastSwipeAnimation, \"rotation\", 1, 1, 360)\n \n --starting animation\n unitFrame.StartSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, function()swipeTexture:Show() end)\n unitFrame.StartSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"alpha\", 1, 0.2, 0, 1)\n unitFrame.StartSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"scale\", 1, 0.2, 1.3, 1.3, 1, 1) \n \n --finished animation\n unitFrame.EndSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, nil, function()swipeTexture:Hide() end)\n unitFrame.EndSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"alpha\", 1, 0.2, 1, 0)\n unitFrame.EndSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"scale\", 1, 0.2, 1, 1, 1.3, 1.3)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.StopSwipeAnimation(unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["Time"] = 1670195460, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\circular_swipe", ["Enabled"] = true, ["Revision"] = 159, ["semver"] = "", ["Author"] = "Butazzul-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Play a animation when the spell effect is an circular AoE around the caster.", ["NpcNames"] = { }, ["Name"] = "Cast - Circle AoE [P]", ["SpellIds"] = { 385916, -- [1] 386063, -- [2] 388822, -- [3] 373087, -- [4] 397785, -- [5] 106864, -- [6] 193660, -- [7] 198263, -- [8] 387910, -- [9] 370766, -- [10] 375591, -- [11] 384336, -- [12] 209404, -- [13] 209378, -- [14] 210875, -- [15] 396001, -- [16] 397899, -- [17] 386559, -- [18] 382555, -- [19] }, ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 0.3, ["Desc"] = "Rotation Duration", ["Min"] = 0.1, ["Name"] = "Rotation Duration", ["Value"] = 0.15, ["Key"] = "rotationDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [1] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 2, ["Max"] = 1.5, ["Desc"] = "Animation Start Duration", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.3, ["Key"] = "animStartDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Animation Start Duration", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha when the animation start playing, this effect in intended to catch the player attention", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Texture Start Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "textureStartAlpha", }, -- [4] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "Texture Scale", ["Min"] = 0.6, ["Name"] = "Texture Scale", ["Value"] = 0.8, ["Key"] = "textureScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha", ["Min"] = 0, ["Name"] = "Texture Alpha", ["Value"] = 1, ["Key"] = "textureAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [7] { ["Type"] = 1, ["Key"] = "textureColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Texture Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.CreateSwipeTextureAndAnimations(unitFrame)\n \n local options = scriptTable.config\n \n local targetScale = scriptTable.config.textureScale\n \n --swipe rotation duration \n unitFrame.CastSwipeAnimation.Rotation:SetDuration(scriptTable.config.rotationDuration)\n \n --swipe texture settings\n unitFrame.CastSwipeTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.textureColor))\n unitFrame.CastSwipeTexture:SetScale(targetScale)\n unitFrame.CastSwipeTexture:SetAlpha(scriptTable.config.textureAlpha) \n \n unitFrame.StartSwipeAnimation.Alpha:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Alpha:SetFromAlpha(scriptTable.config.textureStartAlpha)\n unitFrame.StartSwipeAnimation.Alpha:SetToAlpha(scriptTable.config.textureAlpha)\n \n unitFrame.StartSwipeAnimation.Scale:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Scale:SetScaleTo(targetScale, targetScale)\n \n unitFrame.EndSwipeAnimation.Scale:SetDuration(0.1)\n unitFrame.EndSwipeAnimation.Alpha:SetDuration(0.1)\n \n --start playing\n envTable.PlaySwipeAnimation(unitFrame) \n \nend\n\n\n", ["__TrashAt"] = 1670441468, }, -- [43] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n196548 = ancient branch (academy dungeon)\n195580, 195821, 195820 = nokhub saboteur\n189886 = blazebound firestorm\n75966 = Defiled Spirit\n102019 = Stormforged Obliterator\n 187159 = Shrieking Whelp\n194897 = stormsurge totem\n104251 = duskwatch sentry\n101326 = honored ancestor\n--]=]\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1670203788, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 553, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color and highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["NpcNames"] = { "196548", -- [1] "195580", -- [2] "195820", -- [3] "195821", -- [4] "189886", -- [5] "75966", -- [6] "102019", -- [7] "187159", -- [8] "194897", -- [9] "104251", -- [10] "101326", -- [11] }, ["Name"] = "Add - Important [P]", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Name"] = "Nameplate Size Offset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "nameplateSizeOffset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137255072593689, -- [2] 0, -- [3] 0.5631310641765594, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Dot Color", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Extra Texture", ["Name"] = "Extra Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Extra Texture", }, -- [10] { ["Type"] = 4, ["Name"] = "Show Extra Texture", ["Value"] = false, ["Key"] = "showExtraTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Extra Texture", }, -- [11] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Texture Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [12] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Alpha", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullAlpha", }, -- [13] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "Scale", ["Min"] = 0.4, ["Name"] = "Scale", ["Value"] = 0.6, ["Key"] = "skullScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 7, ["Name"] = "Npc Color By NpcID", ["Value"] = { { "196548", -- [1] "forestgreen", -- [2] }, -- [1] { "195580", -- [1] "chocolate", -- [2] }, -- [2] { "195820", -- [1] "chocolate", -- [2] }, -- [3] { "195821", -- [1] "chocolate", -- [2] }, -- [4] { "189886", -- [1] "firebrickdark", -- [2] }, -- [5] { "75966", -- [1] "midnightblue", -- [2] }, -- [6] { "102019 ", -- [1] "chocolate", -- [2] }, -- [7] { "187159", -- [1] "darkmagenta", -- [2] }, -- [8] { "194897", -- [1] "darkmagenta", -- [2] }, -- [9] { "104251", -- [1] "cornflowerblue", -- [2] }, -- [10] }, ["Key"] = "npcColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the npcID, value is the color name", }, -- [15] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\n \n --color priority:\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.nameplateColor) \n \n if (scriptTable.config.showExtraTexture) then\n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/x_64]])\n unitFrame.UnitImportantSkullTexture:ClearAllPoints()\n unitFrame.UnitImportantSkullTexture:SetPoint(\"right\", unitFrame.healthBar, \"left\", -2, 0)\n unitFrame.UnitImportantSkullTexture:SetSize(28, 28)\n unitFrame.UnitImportantSkullTexture:Show()\n else\n unitFrame.UnitImportantSkullTexture:Hide()\n end\n \n --rules for some npcs\n if (envTable._NpcID == 194895) then --unstable squall (explode at dying\n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n end\n \n if (scriptTable.config.changeNameplateColor) then\n local npcIdString = tostring(envTable._NpcID)\n \n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.nameplateColor) \n \n Plater.DenyColorChange(unitFrame, true)\n end\n \nend\n\n\n\n\n", ["__TrashAt"] = 1670441468, }, -- [44] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end \n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1670202564, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 477, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["NpcNames"] = { }, ["Name"] = "Cast - Glowing [P]", ["SpellIds"] = { 376644, -- [1] 373017, -- [2] 386781, -- [3] 384823, -- [4] 372735, -- [5] 385536, -- [6] 392398, -- [7] 375596, -- [8] 387135, -- [9] 209033, -- [10] 360850, -- [11] 212784, -- [12] 207980, -- [13] 199033, -- [14] 199034, -- [15] 200969, -- [16] 394512, -- [17] 397881, -- [18] 396020, -- [19] }, ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Key"] = "segmentsAmount", ["Value"] = 7, ["Name"] = "Amount of Segments", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] { ["Type"] = 1, ["Name"] = "Spark Color", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Key"] = "sparkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 7, ["Name"] = "Cast Color by SpellID", ["Value"] = { { "385536", -- [1] "maroon", -- [2] }, -- [1] { "198750", -- [1] "midnightblue", -- [2] }, -- [2] { "360850", -- [1] "lime", -- [2] }, -- [3] { "212784", -- [1] "deepskyblue", -- [2] }, -- [4] { "207980", -- [1] "midnightblue", -- [2] }, -- [5] { "199033", -- [1] "gold", -- [2] }, -- [6] { "199034", -- [1] "gold", -- [2] }, -- [7] { "200969", -- [1] "orange", -- [2] }, -- [8] { "394512", -- [1] "indigo", -- [2] }, -- [9] { "397881", -- [1] "deepskyblue", -- [2] }, -- [10] { "396020", -- [1] "khaki", -- [2] }, -- [11] }, ["Key"] = "castColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the Spell ID in the to Key and a color name into the Value", }, -- [4] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n Plater.SetCastBarColorForScript(self, true, customColor or scriptTable.config.castBarColor, envTable)\nend\n\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670441468, }, -- [45] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n--190187 draconic image\n--189893 infused whelp\n--99922 Ebonclaw Packmate\n--104822 flames of woe", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.DenyColorChange(unitFrame, false)\n unitFrame.onShowAddToKillFlash:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\nend\n\n\n\n\n", ["Time"] = 1670203788, ["url"] = "", ["Icon"] = "interface/addons/plater/media/exclamation_64", ["Enabled"] = true, ["Revision"] = 151, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color of add", ["NpcNames"] = { "190187", -- [1] "189893", -- [2] "99922", -- [3] "104822", -- [4] }, ["Name"] = "Add - Warning [P]", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [1] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0.4392157196998596, -- [2] 0.458823561668396, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [2] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Flash Nameplate", ["Value"] = true, ["Key"] = "useFlash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Flash Nameplate", }, -- [4] { ["Type"] = 7, ["Name"] = "NpcID to Color", ["Value"] = { { "189893", -- [1] "firebrickdark", -- [2] }, -- [1] { "190187", -- [1] "firebrickdark", -- [2] }, -- [2] { "99922", -- [1] "saddlebrown", -- [2] }, -- [3] { "153285", -- [1] "firebrickdark", -- [2] }, -- [4] { "104822", -- [1] "firebrickdark", -- [2] }, -- [5] }, ["Key"] = "npcColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "If the npc isn't on this list, use the default color set in the Health Bar Color", }, -- [5] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n unitFrame.onShowAddToKillFlash = unitFrame.onShowAddToKillFlash or Plater.CreateFlash (unitFrame.healthBar, 0.25, 1, \"white\")\n \n if (scriptTable.config.useFlash) then\n unitFrame.onShowAddToKillFlash:Play()\n end\n \n if (scriptTable.config.useNameplateColor) then\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.healthBarColor)\n Plater.DenyColorChange(unitFrame, true)\n end\nend\n\n\n\n\n\n\n\n\n\n", ["__TrashAt"] = 1670441468, }, -- [46] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n\n--Scorchling 194622\n--Scorchling 190205\n--197398 Hungry Lasher\n--77006 corpse skitterling\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --restoring and color state and scale even if disabled, maybe the player disabled during the combat\n Plater.DenyColorChange(unitFrame, false)\n unitFrame.healthBar:SetScale(unitFrame.healthBar._savedOriginalScale)\n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n", ["Time"] = 1670203788, ["url"] = "", ["Icon"] = "interface/addons/plater/media/duck_64", ["Enabled"] = true, ["Revision"] = 101, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "", ["NpcNames"] = { "194622", -- [1] "190205", -- [2] "197398", -- [3] "77006", -- [4] }, ["Name"] = "Add - Non Elite Trash [P]", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["version"] = -1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = false, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [1] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0.062745101749897, -- [1] 0.062745101749897, -- [2] 0.0941176563501358, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Scale", ["Value"] = true, ["Key"] = "useNameplateScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Scale", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Nameplate Scale", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.8, ["Key"] = "scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Scale", }, -- [5] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.useNameplateColor) then\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.nameplateColor)\n Plater.DenyColorChange(unitFrame, true)\n end \n \n unitFrame.healthBar._savedOriginalScale = unitFrame.healthBar:GetScale()\n \n if (scriptTable.config.useNameplateScale) then\n unitFrame.healthBar:SetScale(scriptTable.config.scale)\n end\n \nend\n\n\n\n\n", ["__TrashAt"] = 1670441468, }, -- [47] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.felAnimation and unitFrame.felAnimation.Textures) then\n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n end\n \n if (unitFrame.felAnimation and unitFrame.felAnimation.textureStretched) then\n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n print(\"is channeling\")\n return \n end\n \n if (not envTable.NextPercent) then\n print(\"no envTable.NextPercent\")\n return\n end\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then --eeror here, compare with nil\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\n \nend", ["Time"] = 1670428059, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 497, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["__TrashAt"] = 1670866173, ["NpcNames"] = { }, ["SpellIds"] = { 376644, -- [1] 373017, -- [2] 386781, -- [3] 384823, -- [4] 372735, -- [5] 385536, -- [6] 392398, -- [7] 375596, -- [8] 387135, -- [9] 209033, -- [10] 360850, -- [11] 212784, -- [12] 207980, -- [13] 199033, -- [14] 199034, -- [15] 200969, -- [16] 394512, -- [17] 397881, -- [18] 396020, -- [19] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Glowing [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Fraction"] = false, ["Value"] = 7, ["Key"] = "segmentsAmount", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Amount of Segments", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "385536", -- [1] "maroon", -- [2] }, -- [1] { "198750", -- [1] "midnightblue", -- [2] }, -- [2] { "360850", -- [1] "lime", -- [2] }, -- [3] { "212784", -- [1] "deepskyblue", -- [2] }, -- [4] { "207980", -- [1] "midnightblue", -- [2] }, -- [5] { "199033", -- [1] "gold", -- [2] }, -- [6] { "199034", -- [1] "gold", -- [2] }, -- [7] { "200969", -- [1] "orange", -- [2] }, -- [8] { "394512", -- [1] "indigo", -- [2] }, -- [9] { "397881", -- [1] "deepskyblue", -- [2] }, -- [10] { "396020", -- [1] "khaki", -- [2] }, -- [11] }, ["Name"] = "Cast Color by SpellID", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the Spell ID in the to Key and a color name into the Value", }, -- [4] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n Plater.SetCastBarColorForScript(self, true, customColor or scriptTable.config.castBarColor, envTable)\nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [48] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n --set the castbar config\n envTable.configAltCastBar = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end \n \n \n end\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (envTable._SpellID == 191284) then\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 4.70, GetTime(), 191284)\n \n C_Timer.After(4.75, function()\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 5.30, GetTime(), 191284)\n end)\n \n C_Timer.After(4.75 + 5.30, function()\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 4.30, GetTime(), 191284)\n end)\n end\n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1669340966, ["url"] = "", ["Icon"] = 134229, ["Enabled"] = true, ["Revision"] = 21, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Start extra cast bars for effects after the cast is done. Setup the effect on On Hide script.", ["__TrashAt"] = 1671445193, ["NpcNames"] = { }, ["SpellIds"] = { 191284, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Effect After Cast [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", }, -- [49] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n if (scriptTable.config.useNameplateColor) then\n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1670202618, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 687, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["__TrashAt"] = 1671445193, ["NpcNames"] = { }, ["SpellIds"] = { 383823, -- [1] 382670, -- [2] 388537, -- [3] 372851, -- [4] 200682, -- [5] 192307, -- [6] 196838, -- [7] 193827, -- [8] 194043, -- [9] 209410, -- [10] 211464, -- [11] 361180, -- [12] 156718, -- [13] 395859, -- [14] 358320, -- [15] 374045, -- [16] 386757, -- [17] 367500, -- [18] 370225, -- [19] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Ultra Important [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Name"] = "Health Bar Height Mod", ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "useNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, -- [5] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [6] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above Use Cast Bar Color", }, -- [8] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 1, -- [1] 0.168627455830574, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast Bar Color", }, -- [9] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Key"] = "showArrow", ["Value"] = true, ["Name"] = "Show Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [12] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 0.5, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Key"] = "arrowWidth", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Width", }, -- [14] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Name"] = "Arrow Height", ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [16] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [17] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [18] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot X Offset", }, -- [19] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "yOffset", }, -- [20] { ["Type"] = 7, ["Name"] = "Color List by SpellId", ["Value"] = { { "200682", -- [1] "darkslateblue", -- [2] }, -- [1] { "192307", -- [1] "goldenrod", -- [2] }, -- [2] { "196838", -- [1] "maroon", -- [2] }, -- [3] { "193827", -- [1] "darkgreen", -- [2] }, -- [4] { "194043", -- [1] "darkgreen", -- [2] }, -- [5] { "156718", -- [1] "DRUID", -- [2] }, -- [6] { "395859", -- [1] "ROGUE", -- [2] }, -- [7] }, ["Key"] = "castColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the spellId in the Key, and the color name in the Value", }, -- [21] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, customColor or scriptTable.config.castBarColor, envTable)\n \n if (scriptTable.config.useNameplateColor) then\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.healthBarColor) \n Plater.DenyColorChange(unitFrame, true) \n end\n \nend", }, -- [50] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.AddSpawnIDTexture) then\n unitFrame.AddSpawnIDTexture:Hide()\n unitFrame.AddIcon:Hide()\n unitFrame.AddNumber:Hide()\n end\n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1669340442, ["url"] = "", ["Icon"] = "interface/addons/plater/images/add_id_icon", ["Enabled"] = true, ["Revision"] = 161, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n \n scriptTable.allAdds = {} \n scriptTable.nextAddWave = 0\n scriptTable.waveTime = 20\n \n function scriptTable.ArrangeNpcNumbers(GUID)\n local spawnId = select(7, strsplit (\"-\", GUID))\n spawnId = tonumber(spawnId, 16)\n \n if (spawnId) then\n --check if this is a new wave of adds\n if (GetTime() > scriptTable.nextAddWave) then\n scriptTable.nextAddWave = GetTime() + scriptTable.waveTime\n scriptTable.allAdds = {}\n end\n \n local bIsAlreadyOnTheList = false\n \n for o = 1, #scriptTable.allAdds do\n if (scriptTable.allAdds[o][1] == GUID) then\n bIsAlreadyOnTheList = true\n end\n end\n \n if (not bIsAlreadyOnTheList) then\n scriptTable.allAdds[#scriptTable.allAdds+1] = {GUID, spawnId}\n end\n end\n \n table.sort(scriptTable.allAdds, function(t1, t2) return t1[2] < t2[2] end)\n \n --this is a \"loop\" because this is running each time a nameplate is added!\n \n for namePlateIndex, plateFrame in ipairs(Plater.GetAllShownPlates()) do\n local unitFrame = plateFrame.unitFrame\n \n --get the unit GUID\n local unitGUID = unitFrame.namePlateUnitGUID\n \n for addId = 1, #scriptTable.allAdds do\n local addTable = scriptTable.allAdds[addId]\n local addGUID = addTable[1]\n \n if (unitGUID == addGUID) then\n scriptTable.TagNameplate(unitFrame, unitGUID, addId)\n break\n end\n end\n \n end\n end\n \n function scriptTable.TagNameplate(unitFrame, GUID, addId)\n scriptTable.CreateAddWidgetsForNameplate(unitFrame, GUID, addId)\n \n if (addId and addId >= 1 and addId <= 8) then\n unitFrame.AddSpawnIDTexture:Show()\n unitFrame.AddIcon:Show()\n unitFrame.AddNumber:Show()\n \n local addTexture = \"Interface\\\\TargetingFrame\\\\UI-RaidTargetingIcon_\" .. addId\n \n unitFrame.AddIcon:SetTexture(addTexture)\n unitFrame.AddNumber:SetText(addId)\n end\n end\n \n function scriptTable.CreateAddWidgetsForNameplate(unitFrame, GUID, addId)\n if (not unitFrame.AddSpawnIDTexture) then\n local healthBar = unitFrame.healthBar\n \n local textureBackground = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 5)\n local addIcon = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 6)\n local addNumber = healthBar.FrameOverlay:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6) \n \n unitFrame.AddSpawnIDTexture = textureBackground\n unitFrame.AddIcon = addIcon\n unitFrame.AddNumber = addNumber\n end\n end \nend\n\n--Creature-0-2085-1-11042-153285-0002F8DB2B --training dummy for testing\n--195138 Detonating Crystal\n--192955 dracomoc illusion\n--190294 nokhub stormcaster\n--76518 ritual of bones\n\n\n\n\n", ["Desc"] = "Put a number above multiples adds, numbers follow their respawn id.", ["__TrashAt"] = 1671445193, ["NpcNames"] = { "195138", -- [1] "192955", -- [2] "190294", -- [3] "76518", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Tag Number [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.AddSpawnIDTexture) then\n unitFrame.AddSpawnIDTexture:Hide()\n unitFrame.AddIcon:Hide()\n unitFrame.AddNumber:Hide()\n end\n \n scriptTable.ArrangeNpcNumbers(unitFrame.namePlateUnitGUID)\n \n local textureBackground = unitFrame.AddSpawnIDTexture\n textureBackground:SetSize(22, 10)\n textureBackground:ClearAllPoints()\n textureBackground:SetPoint(\"bottomright\", unitFrame.healthBar, \"topright\", 0, 1)\n \n textureBackground:SetMask([[Interface\\AddOns\\Plater\\masks\\mask_smallrectangle_rounded1]])\n textureBackground:SetTexture([[Interface\\AddOns\\Plater\\masks\\mask_smallrectangle_rounded1]])\n textureBackground:SetVertexColor(0.1215, 0.1176, 0.1294, 1)\n \n \n --textureBackground:SetMask([[Interface/ChatFrame/UI-ChatIcon-HotS]])\n -- \"Interface/ChatFrame/UI-ChatIcon-HotS\"\n \n local addIcon = unitFrame.AddIcon\n addIcon:ClearAllPoints()\n addIcon:SetPoint(\"left\", textureBackground, \"left\", 2, 0)\n addIcon:SetSize(10, 10)\n \n local addNumber = unitFrame.AddNumber\n addNumber:ClearAllPoints()\n addNumber:SetPoint(\"right\", textureBackground, \"right\", -2, 0)\n DetailsFramework:SetFontSize(addNumber, 10)\n \nend\n\n\n", }, -- [51] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.felAnimation and unitFrame.felAnimation.Textures) then\n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n end\n \n if (unitFrame.felAnimation and unitFrame.felAnimation.textureStretched) then\n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n if (not envTable.NextPercent) then\n print(\"no envTable.NextPercent\")\n return\n end\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then --eeror here, compare with nil\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\n \nend", ["Time"] = 1670623964, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 498, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["__TrashAt"] = 1671445193, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (self.channeling) then\n return \n end\n \n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n Plater.SetCastBarColorForScript(self, true, customColor or scriptTable.config.castBarColor, envTable)\nend\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { 376644, -- [1] 373017, -- [2] 386781, -- [3] 384823, -- [4] 372735, -- [5] 385536, -- [6] 392398, -- [7] 375596, -- [8] 387135, -- [9] 209033, -- [10] 360850, -- [11] 212784, -- [12] 207980, -- [13] 199033, -- [14] 199034, -- [15] 200969, -- [16] 394512, -- [17] 397881, -- [18] 396020, -- [19] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Key"] = "segmentsAmount", ["Value"] = 7, ["Name"] = "Amount of Segments", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] { ["Type"] = 1, ["Name"] = "Spark Color", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Key"] = "sparkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 7, ["Name"] = "Cast Color by SpellID", ["Value"] = { { "385536", -- [1] "maroon", -- [2] }, -- [1] { "198750", -- [1] "midnightblue", -- [2] }, -- [2] { "360850", -- [1] "lime", -- [2] }, -- [3] { "212784", -- [1] "deepskyblue", -- [2] }, -- [4] { "207980", -- [1] "midnightblue", -- [2] }, -- [5] { "199033", -- [1] "gold", -- [2] }, -- [6] { "199034", -- [1] "gold", -- [2] }, -- [7] { "200969", -- [1] "orange", -- [2] }, -- [8] { "394512", -- [1] "indigo", -- [2] }, -- [9] { "397881", -- [1] "deepskyblue", -- [2] }, -- [10] { "396020", -- [1] "khaki", -- [2] }, -- [11] }, ["Key"] = "castColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the Spell ID in the to Key and a color name into the Value", }, -- [4] }, ["version"] = -1, ["Name"] = "Cast - Glowing [P]", ["NpcNames"] = { }, }, -- [52] }, ["ui_parent_cast_strata"] = "DIALOG", ["dps"] = { ["colors"] = { ["aggro"] = { nil, -- [1] 0.047058823529412, -- [2] }, ["pulling"] = { nil, -- [1] 0.96078431372549, -- [2] 0.95294117647059, -- [3] }, }, }, ["script_auto_imported"] = { ["Relics 9.2 M Dungeons"] = 2, ["Cast - Effect After Cast [P]"] = 2, ["Explosion Affix M+"] = 14, ["Aura - Debuff Alert"] = 12, ["Cast - Castbar is Timer [P]"] = 2, ["Blink by Time Left"] = 1, ["Add - Health Markers [P]"] = 1, ["Cast - Small Alert"] = 12, ["Aura - Invalidate Unit"] = 1, ["Add - Important [P]"] = 4, ["Unit - Main Target"] = 11, ["Aura - Blink Time Left"] = 13, ["Add - Tag Number [P]"] = 2, ["Unit - Health Markers"] = 12, ["Cast - Tank Interrupt"] = 12, ["Cast - Important Target [P]"] = 2, ["Cast - Very Important"] = 14, ["Cast - Alert + Timer [P]"] = 4, ["Fixate On You"] = 11, ["Unit Power"] = 1, ["Aura is Shield [P]"] = 2, ["Add - Warning [P]"] = 5, ["Cast - Glowing [P]"] = 8, ["Cast - Shield Interrupt"] = 2, ["Cast - Big Alert"] = 14, ["Fixate"] = 11, ["Spiteful Affix"] = 3, ["Color Change"] = 1, ["Countdown"] = 11, ["Auto Set Skull"] = 11, ["Unit - Important"] = 11, ["Add - Non Elite Trash [P]"] = 4, ["Cast - Ultra Important"] = 14, ["Aura Border Color"] = 1, ["Cast - Stop Casting"] = 3, ["Fixate by Unit Buff [P]"] = 2, ["Cast - Frontal Cone"] = 15, ["Add - Explode on Die [P]"] = 1, ["Cast - Circular Swipe"] = 4, ["Cast - Quick Flash"] = 2, ["Aura - Buff Alert"] = 15, ["Unit - Show Energy"] = 11, }, ["extra_icon_show_enrage"] = true, ["cast_statusbar_texture"] = "Skyline", ["aura_grow_direction"] = 3, ["cast_statusbar_spark_width"] = 25, }, ["Default"] = { ["use_ui_parent"] = true, ["class_colors"] = { ["DEATHKNIGHT"] = { ["colorStr"] = "ffc31d3a", }, ["WARRIOR"] = { ["colorStr"] = "ffc69a6d", }, ["PALADIN"] = { ["colorStr"] = "fff48bb9", }, ["WARLOCK"] = { ["colorStr"] = "ff8687ed", }, ["DEMONHUNTER"] = { ["colorStr"] = "ffa22fc8", }, ["ROGUE"] = { ["colorStr"] = "fffff467", }, ["DRUID"] = { ["colorStr"] = "ffff7c09", }, ["EVOKER"] = { ["colorStr"] = "ff33937e", }, ["SHAMAN"] = { ["colorStr"] = "ff006fdd", }, }, ["script_auto_imported"] = { ["Aura - Buff Alert"] = 15, ["Cast - Effect After Cast [P]"] = 1, ["Explosion Affix M+"] = 12, ["Aura - Debuff Alert"] = 12, ["Cast - Castbar is Timer [P]"] = 2, ["Cast - Ultra Important"] = 12, ["Add - Health Markers [P]"] = 1, ["Cast - Small Alert"] = 12, ["Add - Important [P]"] = 1, ["Unit - Main Target"] = 11, ["Aura - Blink Time Left"] = 13, ["Add - Tag Number [P]"] = 1, ["Unit - Health Markers"] = 12, ["Cast - Glowing [P]"] = 3, ["Unit - Important"] = 11, ["Cast - Very Important"] = 13, ["Cast - Alert + Timer [P]"] = 3, ["Aura is Shield [P]"] = 2, ["Add - Warning [P]"] = 1, ["Cast - Big Alert"] = 13, ["Fixate On You"] = 11, ["Cast - Tank Interrupt"] = 12, ["Cast - Circular Swipe"] = 2, ["Spiteful Affix"] = 3, ["Auto Set Skull"] = 11, ["Fixate"] = 11, ["Add - Non Elite Trash [P]"] = 1, ["Cast - Shield Interrupt"] = 2, ["Countdown"] = 11, ["Cast - Stop Casting"] = 2, ["Fixate by Unit Buff [P]"] = 2, ["Cast - Frontal Cone"] = 13, ["Add - Explode on Die [P]"] = 1, ["Relics 9.2 M Dungeons"] = 2, ["Cast - Quick Flash"] = 2, ["Cast - Important Target [P]"] = 2, ["Unit - Show Energy"] = 11, }, ["expansion_triggerwipe"] = { [8] = true, }, ["script_data"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n function envTable.CheckUnit(unitFrame, envTable)\n if (envTable._NpcID == 185680) then\n --haste\n envTable.SetColor(unitFrame, \"haste\")\n \n elseif (envTable._NpcID == 185683) then\n --movement speed\n envTable.SetColor(unitFrame, \"ms\")\n \n elseif (envTable._NpcID == 185685) then\n --cooldown reduction\n envTable.SetColor(unitFrame, \"cdr\")\n \n end\n end\n \n function envTable.SetColor(unitFrame, bonusType)\n \n local r, g, b, a, name\n \n if (bonusType == \"haste\") then\n name = scriptTable.config.hasteName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.hasteColor)\n \n elseif (bonusType == \"ms\") then\n name = scriptTable.config.msName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.msColor)\n \n elseif (bonusType == \"cdr\") then\n name = scriptTable.config.cdrName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.cdrColor)\n end\n \n Plater.SetNameplateColor(unitFrame, r, g, b, a)\n if (scriptTable.config.canChangeSize) then\n Plater.SetNameplateSize(unitFrame, scriptTable.config.width, scriptTable.config.height)\n end\n \n --border\n if (scriptTable.config.showBorder) then\n r, g, b, a = r+0.2, g+0.2, b+0.2\n Plater.SetBorderColor(unitFrame, r, g, b)\n end\n \n --name\n unitFrame.healthBar.unitName:SetText(name)\n end\nend\n\n\n--185685 cooldown reduction\n--185680 haste\n--185683 movement speed\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckUnit(unitFrame, envTable)\nend\n\n\n", ["Time"] = 1647994498, ["url"] = "", ["Icon"] = 4263293, ["Enabled"] = true, ["Revision"] = 70, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Make more easy to distinguish relics within dungeons in 9.2 patch", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckUnit(unitFrame, envTable)\n \nend", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Name"] = "ColorSettingsAnchor", ["Value"] = "Color Settings", ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Adjust the nameplate color for each mob", }, -- [1] { ["Type"] = 1, ["Name"] = "Haste Color", ["Value"] = { 0.4549019607843137, -- [1] 0.2156862745098039, -- [2] 0.5490196078431373, -- [3] 1, -- [4] }, ["Key"] = "hasteColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "haste color", }, -- [2] { ["Type"] = 1, ["Key"] = "msColor", ["Value"] = { 0.3098039215686275, -- [1] 0.5215686274509804, -- [2] 0.2588235294117647, -- [3] 1, -- [4] }, ["Name"] = "Moviment Speep Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "moviment speep color", }, -- [3] { ["Type"] = 1, ["Name"] = "Cooldown Reduction Color", ["Value"] = { 0.1725490196078431, -- [1] 0.2823529411764706, -- [2] 0.5215686274509804, -- [3] 1, -- [4] }, ["Key"] = "cdrColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "cooldown reduction color", }, -- [4] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Name"] = "SizeSettingsAnchor", ["Value"] = "Size Settings", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "canChangeSize", ["Value"] = false, ["Name"] = "Change Nameplate Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If this is checked, the nameplate size is changed to the values below", }, -- [7] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "total width of the nameplate", ["Min"] = 50, ["Key"] = "width", ["Value"] = 100, ["Name"] = "Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 2, ["Max"] = 40, ["Desc"] = "total height of the nameplate", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 12, ["Key"] = "height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Height", }, -- [9] { ["Type"] = 6, ["Name"] = "Option 9", ["Value"] = 0, ["Key"] = "option9", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Name"] = "BorderSettingsAnchor", ["Value"] = "Border Settings", ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Name"] = "Paint Border", ["Value"] = true, ["Key"] = "showBorder", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, the color of the border will have the same color as the nameplate", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 12", ["Value"] = 0, ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "NameSettings", ["Value"] = "Name Settings", ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 3, ["Name"] = "Haste Name", ["Value"] = "HASTE", ["Key"] = "hasteName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [15] { ["Type"] = 3, ["Key"] = "cdrName", ["Value"] = "CDR", ["Name"] = "Cooldown Reduction Name", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [16] { ["Type"] = 3, ["Name"] = "Movement Speed Name", ["Value"] = "MS", ["Key"] = "msName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [17] }, ["version"] = -1, ["Name"] = "Relics 9.2 M Dungeons", ["NpcNames"] = { "185685", -- [1] "185680", -- [2] "185683", -- [3] }, }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to run the update as fast as the game framerate\n self.ThrottleUpdate = 0\n \n Plater.SetNameplateColor(unitFrame, scriptTable.config.healthBarColor)\n \n local dotSpeed = abs(envTable._Duration - envTable._RemainingTime) + 1.5\n envTable.dotAnimation.textureInfo.speedMultiplier = dotSpeed\nend\n\n\n", ["Time"] = 1669249865, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 509, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["NpcNames"] = { }, ["SpellIds"] = { 240446, -- [1] 385339, -- [2] 198077, -- [3] 210261, -- [4] 360857, -- [5] }, ["PlaterCore"] = 1, ["Name"] = "Explosion Affix M+ [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Key"] = "arrowWidth", ["Value"] = 8, ["Name"] = "Arrow Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Name"] = "Arrow Height", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 4, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "Option 18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [17] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Health Bar", ["Name"] = "Health Bar Title", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [18] { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.1843137294054031, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Health Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Health Bar Color", }, -- [19] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n Plater.SetCastBarColorForScript(self, true, scriptTable.config.castBarColor, envTable)\n \n Plater.DenyColorChange(unitFrame, true)\nend\n\n\n\n\n\n\n", }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1669327144, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 368, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["NpcNames"] = { }, ["SpellIds"] = { 337220, -- [1] 337253, -- [2] 337251, -- [3] }, ["PlaterCore"] = 1, ["Name"] = "Aura - Debuff Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", }, -- [3] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669339757, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1207, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["NpcNames"] = { }, ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Alert + Timer [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Cast start animation settings", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Name"] = "Flash Duration", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [11] { ["Type"] = 7, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Value"] = { }, ["Key"] = "timerList", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n Plater.SetNameplateColor(unitFrame, scriptTable.config.healthBarColor)\n \nend\n\n\n", ["Time"] = 1669326367, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 641, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["NpcNames"] = { }, ["SpellIds"] = { 383823, -- [1] 382670, -- [2] 388537, -- [3] 372851, -- [4] 200682, -- [5] 192307, -- [6] 196838, -- [7] 193827, -- [8] 194043, -- [9] 209410, -- [10] 211464, -- [11] 361180, -- [12] 156718, -- [13] 395859, -- [14] 332329, -- [15] 320103, -- [16] 321406, -- [17] 335817, -- [18] 321061, -- [19] 320141, -- [20] 326171, -- [21] 163966, -- [22] 227966, -- [23] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Ultra Important [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Health Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above Use Cast Bar Color", }, -- [7] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.168627455830574, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast Bar Color", }, -- [8] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Key"] = "arrowAlpha", ["Value"] = 0.5, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [12] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [13] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Key"] = "arrowHeight", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [14] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [15] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [16] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [17] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Key"] = "xOffset", ["Value"] = 4, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [18] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [19] { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "200682", -- [1] "darkslateblue", -- [2] }, -- [1] { "192307", -- [1] "goldenrod", -- [2] }, -- [2] { "196838", -- [1] "maroon", -- [2] }, -- [3] { "193827", -- [1] "darkgreen", -- [2] }, -- [4] { "194043", -- [1] "darkgreen", -- [2] }, -- [5] { "156718", -- [1] "DRUID", -- [2] }, -- [6] { "395859", -- [1] "ROGUE", -- [2] }, -- [7] }, ["Name"] = "Color List by SpellId", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the spellId in the Key, and the color name in the Value", }, -- [20] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n Plater.SetNameplateColor (unitFrame, scriptTable.config.healthBarColor)\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, customColor or scriptTable.config.castBarColor, envTable)\n \n Plater.DenyColorChange(unitFrame, true)\nend", }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1669325410, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 662, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 376851, -- [1] 396044, -- [2] 381517, -- [3] 373932, -- [4] 397801, -- [5] 208165, -- [6] 384194, -- [7] 392576, -- [8] 198750, -- [9] 387843, -- [10] 387411, -- [11] 211299, -- [12] 198595, -- [13] 198934, -- [14] 198962, -- [15] 156722, -- [16] 320170, -- [17] 320171, -- [18] 320462, -- [19] 330712, -- [20] 332170, -- [21] 333875, -- [22] 326836, -- [23] 342135, -- [24] 333861, -- [25] 341969, -- [26] 317963, -- [27] 327481, -- [28] 328331, -- [29] 322614, -- [30] 325701, -- [31] 326438, -- [32] 323538, -- [33] 321764, -- [34] 296523, -- [35] 330755, -- [36] 295929, -- [37] 296019, -- [38] 335685, -- [39] 170751, -- [40] 342207, -- [41] 350554, -- [42] 348513, -- [43] 351779, -- [44] 328180, -- [45] 319898, -- [46] 166335, -- [47] 172810, -- [48] 172943, -- [49] 173148, -- [50] 163376, -- [51] 228011, -- [52] 228277, -- [53] 29928, -- [54] 228559, -- [55] 230050, -- [56] 374743, -- [57] 227615, -- [58] 229716, -- [59] 229083, -- [60] 299525, -- [61] 300514, -- [62] 285388, -- [63] 294324, -- [64] 294180, -- [65] 293827, -- [66] 297128, -- [67] 294015, -- [68] 291865, -- [69] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Small Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a small animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.6, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [5] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n--[=[\n\n154564 - debug\n\n168098 - empowered coldheart agent\n156212 - coldheart agent\n\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604607993, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 406, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n unitFrame.healthBar.MainTargetDotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + scriptTable.config.nameplateSizeOffset)\n \nend\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] }, ["version"] = -1, ["Name"] = "Unit - Main Target [P]", ["NpcNames"] = { "156212", -- [1] "168098", -- [2] 179124, -- [3] }, }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n --if not envTable.blinkTexture then\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n --end\n \n envTable.glowEffect = envTable.glowEffect or self.overlay or Plater.CreateIconGlow (self)\n --envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1626382829, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 375, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = false, ["Name"] = "Change NamePlate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Name"] = "Timeleft to Blink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeleftToBlink", }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Blink Speed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkSpeed", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Blink Max Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkMaxAlpha", }, -- [9] { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Key"] = "timerColorEnabled", ["Value"] = true, ["Name"] = "Timer Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Warning", ["Value"] = 8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftWarning", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Critical", ["Value"] = 3, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftCritical", }, -- [15] { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["version"] = -1, ["Name"] = "Aura - Blink by Time Left [Plater]", ["NpcNames"] = { }, }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.lifePercent = {\n --npcId percent divisions\n [154564] = {80, 30}, --debug\n [164451] = {40}, --dessia the decapirator - theater of pain\n [164463] = {40}, --Paceran the Virulent - theater of pain\n [164461] = {40}, -- Sathel the Accursed - theater of pain\n [165946]= {50}, -- ~mordretha - thather of pain\n [164501] = {70, 40, 10}, --mistcaller - tina scythe\n [164218] = {70, 40}, --Lord Chamberlain - Halls of Atonement\n }\n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker and unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1606506781, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 109, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Name"] = "Option 1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Vertical Line Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "indicatorColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.79, ["Key"] = "indicatorAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Vertical Line Alpha", }, -- [4] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Key"] = "fillColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Fill Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Key"] = "fillAlpha", ["Value"] = 0.2, ["Name"] = "Fill Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [7] }, ["version"] = -1, ["Name"] = "Unit - Health Markers [P]", ["NpcNames"] = { "164451", -- [1] "164463", -- [2] "164461", -- [3] "165946", -- [4] "164501", -- [5] "164218", -- [6] }, }, -- [9] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996775, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_tank", ["Enabled"] = true, ["Revision"] = 843, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Cast alert for abilities which only the tank can interrupt.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { 321828, -- [1] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 0, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.1, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Name"] = "Shake Amplitude", ["Value"] = 25, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 30, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["version"] = -1, ["Name"] = "Cast - Tank Interrupt [P]", ["NpcNames"] = { }, }, -- [10] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --create a texture to use for a flash behind the cast bar\n \n if (not unitFrame.backGroundFlashTextureImpTarget) then\n unitFrame.backGroundFlashTextureImpTarget = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n end\n \n local backGroundFlashTexture = unitFrame.backGroundFlashTextureImpTarget\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n --create the target unit name box\n if (not unitFrame.targetBox) then\n unitFrame.targetBox = CreateFrame(\"frame\", unitFrame:GetName() .. \"ScriptImportantTarget\", unitFrame, \"BackdropTemplate\")\n unitFrame.targetBox:SetSize(80, 20)\n unitFrame.targetBox:SetFrameStrata(\"TOOLTIP\")\n unitFrame.targetBox:Hide()\n unitFrame.targetBox:SetPoint(\"left\", unitFrame, \"right\", 0, 0)\n \n unitFrame.targetBox:SetBackdrop({edgeFile = [[Interface\\Buttons\\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\\AddOns\\Details\\images\\background]], tile = true, tileSize = 16})\n unitFrame.targetBox:SetBackdropColor(.2, .2, .2, .8)\n unitFrame.targetBox:SetBackdropBorderColor(0, 0, 0, 1)\n \n unitFrame.targetBoxName = unitFrame.targetBox:CreateFontString(nil, \"artwork\", \"GameFontNormal\")\n unitFrame.targetBoxName:SetPoint(\"center\")\n end\n \n function envTable.UpdateTargetBox(unitFrame, unitId)\n local targetUnitId = unitId .. \"target\"\n local unitName = UnitName(targetUnitId)\n \n if (unitName) then\n if (scriptTable.config.colorByClass) then\n Plater:SetFontColor(unitFrame.targetBoxName, \"white\")\n unitName = Plater.SetTextColorByClass(targetUnitId, unitName)\n else\n Plater:SetFontColor(unitFrame.targetBoxName, scriptTable.config.textColor)\n end\n \n unitFrame.targetBoxName:SetText(unitName)\n Plater:SetFontSize(unitFrame.targetBoxName, scriptTable.config.targetNameSize)\n unitFrame.targetBox:SetBackdropColor(Plater:ParseColors(scriptTable.config.targetBgColor))\n unitFrame.targetBox:SetBackdropBorderColor(Plater:ParseColors(scriptTable.config.targetBgBorderColor))\n unitFrame.targetBox:Show()\n \n unitFrame.targetBox:SetWidth(scriptTable.config.targetFrameWidth)\n unitFrame.targetBox:SetHeight(scriptTable.config.targetFrameHeight)\n \n if (not Plater.HasDotAnimationPlaying(unitFrame.targetBox)) then\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.targetBox, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n end\n \n unitFrame.backGroundFlashTextureImpTarget:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n \n return true\n \n end\n end\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.targetBox, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \n unitFrame.targetBox:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.UpdateTargetBox(unitFrame, unitId) \n \nend\n\n\n", ["Time"] = 1669339628, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_target", ["Enabled"] = true, ["Revision"] = 878, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight the target name", ["NpcNames"] = { }, ["SpellIds"] = { 354173, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Important Target [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shows the target name in a separate box", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Name"] = "Shake Amplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] { ["Type"] = 6, ["Name"] = "Option 27", ["Value"] = 0, ["Key"] = "option27", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [27] { ["Type"] = 5, ["Name"] = "Option 28", ["Value"] = "Target Options", ["Key"] = "option28", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [28] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 14, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetNameSize", }, -- [29] { ["Type"] = 4, ["Name"] = "Use Class Color", ["Value"] = true, ["Key"] = "colorByClass", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [30] { ["Type"] = 1, ["Name"] = "Text Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "textColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [31] { ["Type"] = 1, ["Name"] = "Background Color", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.9846720322966576, -- [4] }, ["Key"] = "targetBgColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [32] { ["Type"] = 1, ["Name"] = "Border Color", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "targetBgBorderColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [33] { ["Type"] = 2, ["Max"] = 160, ["Desc"] = "", ["Min"] = 30, ["Name"] = "Frame Width", ["Value"] = 90, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetFrameWidth", }, -- [34] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Key"] = "targetFrameHeight", ["Value"] = 20, ["Name"] = "Frame Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [35] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable.UpdateTargetBox(unitFrame, unitId)) then\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \n end\n \nend\n\n\n\n\n\n\n", }, -- [11] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669326503, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 786, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 373046, -- [1] 372863, -- [2] 164686, -- [3] 153072, -- [4] 153680, -- [5] 196497, -- [6] 388886, -- [7] 387145, -- [8] 384365, -- [9] 152964, -- [10] 398150, -- [11] 152801, -- [12] 397878, -- [13] 397914, -- [14] 321247, -- [15] 334522, -- [16] 320232, -- [17] 319962, -- [18] 325879, -- [19] 324427, -- [20] 322999, -- [21] 325360, -- [22] 322903, -- [23] 324103, -- [24] 333294, -- [25] 333540, -- [26] 319521, -- [27] 326021, -- [28] 326450, -- [29] 322711, -- [30] 329104, -- [31] 295000, -- [32] 242391, -- [33] 320197, -- [34] 329608, -- [35] 350687, -- [36] 161090, -- [37] 156301, -- [38] 166341, -- [39] 163379, -- [40] 166923, -- [41] 172952, -- [42] 164426, -- [43] 163665, -- [44] 227578, -- [45] 228528, -- [46] 227789, -- [47] 227779, -- [48] 229608, -- [49] 227925, -- [50] 300129, -- [51] 296522, -- [52] 294349, -- [53] 293854, -- [54] 297834, -- [55] 299588, -- [56] 302682, -- [57] 291946, -- [58] 295169, -- [59] 285440, -- [60] 291613, -- [61] 283551, -- [62] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Very Important [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a big animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Key"] = "flashDuration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Key"] = "shakeAmplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "xOffset", ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castBarColor, envTable)\nend", }, -- [12] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n local unitPowerBar = unitFrame.powerBar\n unitPowerBar:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then\n return \n end\n \n local continuationToken\n local slots\n local foundAura = false\n \n repeat \n slots = { UnitAuraSlots(unitId, \"HELPFUL\", BUFF_MAX_DISPLAY, continuationToken) }\n continuationToken = slots[1]\n numSlots = #slots\n \n for i = 2, numSlots do\n local slot = slots[i]\n local name, texture, count, actualAuraType, duration, expirationTime, caster, canStealOrPurge, nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, isCastByPlayer, nameplateShowAll, timeMod, auraAmount = UnitAuraBySlot(unitId, slot) \n \n if (spellId == envTable._SpellID) then --need to get the trigger spellId\n --Ablative Shield\n local unitPowerBar = unitFrame.powerBar\n if (not unitPowerBar:IsShown()) then\n unitPowerBar:SetUnit(unitId)\n end\n \n foundAura = true\n return\n end\n end\n \n until continuationToken == nil\n \n if (not foundAura) then\n local unitPowerBar = unitFrame.powerBar\n if (unitPowerBar:IsShown()) then\n unitPowerBar:Hide()\n end\n end\nend", ["Time"] = 1669327146, ["url"] = "", ["Icon"] = 610472, ["Enabled"] = true, ["Revision"] = 65, ["semver"] = "", ["Author"] = "Keyspell-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Show power bar where its value is the buff value (usualy shown in the buff tooltip)", ["NpcNames"] = { }, ["SpellIds"] = { 227548, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Aura is Shield [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", }, -- [13] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsShowingCastBarTest) then\n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n end\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669327145, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1183, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 396640, -- [1] 372743, -- [2] 377389, -- [3] 396812, -- [4] 388392, -- [5] 387955, -- [6] 386546, -- [7] 377503, -- [8] 384808, -- [9] 386024, -- [10] 387615, -- [11] 387606, -- [12] 225100, -- [13] 211401, -- [14] 211470, -- [15] 215433, -- [16] 192563, -- [17] 198959, -- [18] 152818, -- [19] 156776, -- [20] 398206, -- [21] 153524, -- [22] 396073, -- [23] 396018, -- [24] 338353, -- [25] 334748, -- [26] 334749, -- [27] 320784, -- [28] 341352, -- [29] 341520, -- [30] 341522, -- [31] 336005, -- [32] 339777, -- [33] 331933, -- [34] 326617, -- [35] 324914, -- [36] 324776, -- [37] 326046, -- [38] 340634, -- [39] 319070, -- [40] 328295, -- [41] 317936, -- [42] 327413, -- [43] 319654, -- [44] 323821, -- [45] 320772, -- [46] 324293, -- [47] 330562, -- [48] 330868, -- [49] 341902, -- [50] 342139, -- [51] 342675, -- [52] 323190, -- [53] 332836, -- [54] 327648, -- [55] 328217, -- [56] 322938, -- [57] 340544, -- [58] 325876, -- [59] 325700, -- [60] 323552, -- [61] 332666, -- [62] 332612, -- [63] 332706, -- [64] 340026, -- [65] 294171, -- [66] 292910, -- [67] 294165, -- [68] 338871, -- [69] 330813, -- [70] 335694, -- [71] 327461, -- [72] 329787, -- [73] 304946, -- [74] 15245, -- [75] 276754, -- [76] 304831, -- [77] 277036, -- [78] 320657, -- [79] 294362, -- [80] 270248, -- [81] 292926, -- [82] 350421, -- [83] 352158, -- [84] 349985, -- [85] 329239, -- [86] 328400, -- [87] 164192, -- [88] 176032, -- [89] 166335, -- [90] 166387, -- [91] 162066, -- [92] 163689, -- [93] 227592, -- [94] 228254, -- [95] 227999, -- [96] 227987, -- [97] 232115, -- [98] 29580, -- [99] 227616, -- [100] 241828, -- [101] 228606, -- [102] 227800, -- [103] 228239, -- [104] 229706, -- [105] 294884, -- [106] 301629, -- [107] 284219, -- [108] 301689, -- [109] 300650, -- [110] 297835, -- [111] 300171, -- [112] 300087, -- [113] 300414, -- [114] 300436, -- [115] 301088, -- [116] 293729, -- [117] 291928, -- [118] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Big Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (not Plater.IsShowingCastBarTest) then\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", }, -- [14] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (not unitFrame.spitefulTexture) then\n unitFrame.spitefulTexture = unitFrame.healthBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.spitefulTexture:SetPoint('right', 0, 0)\n unitFrame.spitefulTexture:SetSize(27, 14)\n unitFrame.spitefulTexture:SetColorTexture(.3, .3, 1, .7)\n \n unitFrame.spitefulText = unitFrame.healthBar:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6)\n DetailsFramework:SetFontFace (unitFrame.spitefulText, \"2002\")\n unitFrame.spitefulText:SetPoint(\"right\", unitFrame.spitefulTexture, \"right\", -2, 0)\n unitFrame.spitefulText:SetJustifyH(\"right\")\n \n unitFrame.roleIcon = unitFrame:CreateTexture(nil, \"overlay\")\n unitFrame.roleIcon:SetPoint(\"left\", unitFrame.healthBar, \"left\", 2, 0)\n unitFrame.targetName = unitFrame:CreateFontString(nil, \"overlay\", \"GameFontNormal\")\n unitFrame.targetName:SetPoint(\"left\", unitFrame.roleIcon, \"right\", 2, 0)\n \n unitFrame.spitefulTexture:Hide()\n unitFrame.spitefulText:Hide()\n end\n \n function envTable.UpdateSpitefulWidget(unitFrame)\n \n local r, g, b, a = Plater:ParseColors(scriptTable.config.bgColor)\n unitFrame.spitefulTexture:SetColorTexture(r, g, b, a)\n unitFrame.spitefulTexture:SetSize(scriptTable.config.bgWidth, unitFrame.healthBar:GetHeight()) \n Plater:SetFontSize(unitFrame.spitefulText, scriptTable.config.textSize)\n Plater:SetFontColor(unitFrame.spitefulText, scriptTable.config.textColor)\n \n local currentHealth = unitFrame.healthBar.CurrentHealth\n local maxHealth = unitFrame.healthBar.CurrentHealthMax\n \n local healthPercent = currentHealth / maxHealth * 100\n local timeToDie = format(\"%.1fs\", healthPercent / 8)\n unitFrame.spitefulText:SetText(timeToDie)\n \n unitFrame.spitefulText:Show()\n unitFrame.spitefulTexture:Show()\n \n if scriptTable.config.switchTargetName then\n local plateFrame = unitFrame.PlateFrame\n \n local target = UnitName(unitFrame.namePlateUnitToken .. \"target\") or UnitName(unitFrame.namePlateUnitToken)\n \n if (target and target ~= \"\") then\n local _, class = UnitClass(unitFrame.namePlateUnitToken .. \"target\")\n if (class) then\n target = DetailsFramework:AddClassColorToText(target, class)\n end\n \n local role = UnitGroupRolesAssigned(unitFrame.namePlateUnitToken .. \"target\")\n if (role and role ~= \"NONE\") then\n target = DetailsFramework:AddRoleIconToText(target, role)\n end\n \n plateFrame.namePlateUnitName = target\n Plater.UpdateUnitName(plateFrame)\n end\n end\n \n if scriptTable.config.useTargetingColor then\n local targeted = UnitIsUnit(unitFrame.namePlateUnitToken .. \"target\", \"player\")\n if targeted then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.targetingColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\n end\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n if (unitFrame.spitefulTexture) then\n unitFrame.spitefulText:Hide()\n unitFrame.spitefulTexture:Hide() \n unitFrame.roleIcon:Hide()\n unitFrame.targetName:Hide()\n end\nend\n\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["Time"] = 1611844883, ["url"] = "", ["Icon"] = 135945, ["Enabled"] = true, ["Revision"] = 186, ["semver"] = "", ["Author"] = "Symantec-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Time to die Spiteful affix", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Time to Die", ["Name"] = "Time to Die", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "", ["Min"] = 10, ["Key"] = "bgWidth", ["Value"] = 27, ["Name"] = "Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 1, ["Key"] = "bgColor", ["Value"] = { 0.5058823529411764, -- [1] 0.07058823529411765, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 24, ["Desc"] = "", ["Min"] = 7, ["Key"] = "textSize", ["Value"] = 8, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option11", ["Value"] = "Targeting", ["Name"] = "Targeting", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Target instead of Name", ["Value"] = true, ["Key"] = "switchTargetName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Name"] = "Change Color if targeting You", ["Value"] = true, ["Key"] = "useTargetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [9] { ["Type"] = 1, ["Name"] = "Color if targeting You", ["Value"] = { 0.07058823529411765, -- [1] 0.6196078431372549, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "targetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [10] { ["Type"] = 6, ["Key"] = "option11", ["Value"] = 0, ["Name"] = "Option 11", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [11] }, ["version"] = -1, ["Name"] = "M+ Spiteful", ["NpcNames"] = { "174773", -- [1] }, }, -- [15] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = scriptTable.config.changeNameplateColor --\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset --\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/skullbones_128]])\n unitFrame.UnitImportantSkullTexture:SetPoint(\"center\", unitFrame.healthBar, \"center\", 0, -5)\n \n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n164362 - smily morsel - plaguefall\n168882 - fleeting manifestation - sanguine depths\n170234 - oppressive banner - theater of pain\n168988 - overgrowth - Mists of Tirna Scithe\n170452 - essesnce orb - torghast\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604599472, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 355, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\nend\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Nameplate Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "nameplateSizeOffset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Skull Texture", ["Name"] = "Skull Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Skull Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "", ["Min"] = 0, ["Name"] = "Alpha", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullAlpha", }, -- [12] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "", ["Min"] = 0.4, ["Key"] = "skullScale", ["Value"] = 0.6, ["Name"] = "Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] }, ["version"] = -1, ["Name"] = "Unit - Important [Plater]", ["NpcNames"] = { "164362", -- [1] "168882", -- [2] "168988", -- [3] "170234", -- [4] "165905", -- [5] "170452", -- [6] 80875, -- [7] 163746, -- [8] 152033, -- [9] }, }, -- [16] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1669327144, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 632, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["NpcNames"] = { }, ["SpellIds"] = { 398151, -- [1] 323149, -- [2] 324392, -- [3] 340544, -- [4] 342189, -- [5] 333227, -- [6] 163689, -- [7] 227931, -- [8] 233210, -- [9] 300207, -- [10] 301629, -- [11] 297133, -- [12] }, ["PlaterCore"] = 1, ["Name"] = "Aura - Buff Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", }, -- [17] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18); \n \n envTable.EnergyAmount.fontsize = scriptTable.config.fontSize\n envTable.EnergyAmount.fontcolor = scriptTable.config.fontColor\n envTable.EnergyAmount.outline = scriptTable.config.outline\n \n \nend\n\n--[=[\n\n164406 = Shriekwing\n164407 = Sludgefist\n162100 = kryxis the voracious\n162099 = general kaal - sanguine depths\n162329 = Xav the Unfallen - threater of pain\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local currentPower = UnitPower(unitId)\n \n if (currentPower and currentPower > 0) then\n local maxPower = UnitPowerMax (unitId)\n local percent = floor (currentPower / maxPower * 100)\n \n envTable.EnergyAmount.text = \"\" .. percent;\n \n if (scriptTable.config.showLater) then\n local alpha = (percent -80) * 5\n alpha = alpha / 100\n alpha = max(0, alpha)\n envTable.EnergyAmount:SetAlpha(alpha)\n \n else\n envTable.EnergyAmount:SetAlpha(1.0)\n end\n \n \n else\n envTable.EnergyAmount.text = \"\"\n end\nend\n\n\n\n\n\n\n\n\n", ["Time"] = 1604357453, ["url"] = "", ["Icon"] = 136048, ["Enabled"] = true, ["Revision"] = 233, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show the energy amount above the nameplate.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Show the power of the unit above the nameplate.", ["Name"] = "script desc", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "add trigger", ["Value"] = "Add the unit name or unitId in the \"Add Trigger\" field and press \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "showLater", ["Value"] = true, ["Name"] = "Show at 80% of Energy", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the energy won't start showing until the unit has 80% energy.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 2", ["Value"] = 0, ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Text size.", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 16, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "fontSize", }, -- [7] { ["Type"] = 1, ["Key"] = "fontColor", ["Value"] = { 0.803921568627451, -- [1] 0.803921568627451, -- [2] 0.803921568627451, -- [3] 1, -- [4] }, ["Name"] = "Font Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the text.", }, -- [8] { ["Type"] = 4, ["Key"] = "outline", ["Value"] = true, ["Name"] = "Enable Text Outline", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the text uses outline.", }, -- [9] }, ["version"] = -1, ["Name"] = "Unit - Show Energy [Plater]", ["NpcNames"] = { "164406", -- [1] "164407", -- [2] "162100", -- [3] "162099", -- [4] "162329", -- [5] "164558", -- [6] 150159, -- [7] }, }, -- [18] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.npcInfo = {\n [164427] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"1\", name = \"Boom!\"}, --reanimated warrior - plaguefall\n \n [164414] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"2\", name = \"Boom!\"}, --reanimated mage - plaguefall\n \n [164185] = {secondCastBar = true, timer = 20, timerId = 319941, altCastId = \"3\", remaining = 5, name = GetSpellInfo(319941)}, --Echelon - Halls of Atonement\n \n [164567] = {secondCastBar = true, altCastId = \"dromanswrath\", debuffTimer = 323059, name = GetSpellInfo(323059), spellIcon = 323059}, --Ingra Maloch -- tirna scythe\n \n [165408] = {secondCastBar = true, timer = 20, timerId = 322711, altCastId = \"4\", remaining = 5, name = GetSpellInfo(322711)}, --Halkias - Refracted Sinlight - Halls of Atonement\n \n \n --[154564] = {secondCastBar = true, timerId = \"Test Bar\", altCastId = \"debugcast\", remaining = 5, name = GetSpellInfo(319941), spellIcon = 319941}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n --[154580] = {secondCastBar = true, altCastId = \"debugcast\", debuffTimer = 204242, name = GetSpellInfo(81297), spellIcon = 81297}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n }\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end\n \n DetailsFramework:TruncateText(unitFrame.castBar2.Text, unitFrame.castBar2:GetWidth() - 16)\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\nend", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId ~= npcInfo.altCastId or not unitFrame.castBar2:IsShown()) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end \n \n elseif (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n --get the debuff timeleft\n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n local startTime = expirationTime - duration\n \n if (not unitFrame.castBar2:IsShown() or unitFrame.castBar2.spellStartTime < startTime) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, startTime)\n end\n \n else \n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604354364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\Images\\countdown_bar_icon", ["Enabled"] = true, ["Revision"] = 206, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Some units has special events without a clear way to show. This script adds a second cast bar to inform the user about it.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n \n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, expirationTime-duration)\n else\n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n else\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Countdown", ["NpcNames"] = { "164427", -- [1] "164414", -- [2] "164185", -- [3] "164567", -- [4] "165408", -- [5] }, }, -- [19] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (UnitIsUnit(unitId .. \"target\", \"player\")) then\n Plater.SetNameplateColor(unitFrame, scriptTable.config.nameplateColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1668886509, ["url"] = "", ["Icon"] = "Interface\\ICONS\\Ability_Fixated_State_Red", ["Enabled"] = true, ["Revision"] = 33, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Alert about a unit fixated on the player by using a buff on the enemy unit.", ["NpcNames"] = { }, ["SpellIds"] = { 285388, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Fixate by Unit Buff [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0, -- [1] 0.5568627450980392, -- [2] 0.03529411764705882, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Change the enemy nameplate color to this color when fixating you!", }, -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", }, -- [20] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow:SetAlpha(scriptTable.config.arrowAlpha)\n \nend", ["Time"] = 1669339586, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 560, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 375943, -- [1] 385958, -- [2] 388623, -- [3] 377034, -- [4] 374361, -- [5] 372107, -- [6] 381525, -- [7] 386660, -- [8] 385578, -- [9] 384699, -- [10] 153501, -- [11] 153686, -- [12] 154442, -- [13] 192018, -- [14] 219488, -- [15] 372087, -- [16] 391726, -- [17] 391723, -- [18] 377383, -- [19] 388976, -- [20] 370764, -- [21] 387067, -- [22] 391118, -- [23] 391136, -- [24] 382233, -- [25] 209027, -- [26] 212031, -- [27] 207261, -- [28] 207979, -- [29] 198888, -- [30] 199805, -- [31] 199050, -- [32] 191508, -- [33] 152792, -- [34] 153395, -- [35] 323489, -- [36] 323496, -- [37] 319941, -- [38] 319592, -- [39] 334266, -- [40] 325258, -- [41] 334913, -- [42] 326221, -- [43] 322936, -- [44] 323236, -- [45] 321834, -- [46] 336752, -- [47] 325418, -- [48] 324667, -- [49] 327233, -- [50] 324368, -- [51] 324205, -- [52] 323943, -- [53] 319713, -- [54] 320596, -- [55] 320729, -- [56] 323608, -- [57] 330614, -- [58] 320063, -- [59] 332708, -- [60] 334023, -- [61] 317231, -- [62] 317943, -- [63] 320966, -- [64] 334053, -- [65] 328458, -- [66] 321968, -- [67] 331718, -- [68] 325793, -- [69] 330453, -- [70] 326997, -- [71] 334051, -- [72] 292903, -- [73] 330843, -- [74] 294173, -- [75] 189200, -- [76] 352833, -- [77] 330403, -- [78] 166675, -- [79] 176127, -- [80] 166380, -- [81] 162058, -- [82] 167516, -- [83] 166923, -- [84] 178299, -- [85] 172982, -- [86] 163390, -- [87] 173384, -- [88] 173514, -- [89] 29513, -- [90] 227672, -- [91] 228603, -- [92] 227339, -- [93] 227493, -- [94] 241774, -- [95] 229611, -- [96] 229151, -- [97] 300188, -- [98] 299475, -- [99] 299502, -- [100] 300777, -- [101] 301681, -- [102] 298946, -- [103] 298940, -- [104] 300424, -- [105] 283422, -- [106] 294290, -- [107] 291973, -- [108] 293986, -- [109] 291878, -- [110] 292264, -- [111] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Frontal Cone [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.275, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Animation Speed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animSpeed", }, -- [6] { ["Type"] = 4, ["Name"] = "Use White Arrow", ["Value"] = false, ["Key"] = "desaturateArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\n \n envTable.movingArrow:SetAlpha(scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetHeight(self:GetHeight() - 2)\n envTable.movingArrow:SetDrawLayer(\"overlay\", 7)\n \n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation:Play()\n \nend\n\n\n", }, -- [21] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n--165560 = Gormling Larva - MTS\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n \n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n end \nend\n\n\n", ["Time"] = 1604239880, ["url"] = "", ["Icon"] = 1029718, ["Enabled"] = true, ["Revision"] = 269, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n\n\n\n\n", ["Desc"] = "Show above the nameplate who is the player fixated", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Fixate [Plater]", ["NpcNames"] = { "165560", -- [1] }, }, -- [22] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1669326364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 453, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["NpcNames"] = { }, ["SpellIds"] = { 376644, -- [1] 373017, -- [2] 386781, -- [3] 384823, -- [4] 372735, -- [5] 385536, -- [6] 392398, -- [7] 375596, -- [8] 387135, -- [9] 209033, -- [10] 360850, -- [11] 212784, -- [12] 207980, -- [13] 199033, -- [14] 199034, -- [15] 200969, -- [16] 394512, -- [17] 397881, -- [18] 396020, -- [19] 373429, -- [20] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Glowing [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Name"] = "Amount of Segments", ["Value"] = 7, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "segmentsAmount", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "385536", -- [1] "maroon", -- [2] }, -- [1] { "198750", -- [1] "midnightblue", -- [2] }, -- [2] { "360850", -- [1] "lime", -- [2] }, -- [3] { "212784", -- [1] "deepskyblue", -- [2] }, -- [4] { "207980", -- [1] "midnightblue", -- [2] }, -- [5] { "199033", -- [1] "gold", -- [2] }, -- [6] { "199034", -- [1] "gold", -- [2] }, -- [7] { "200969", -- [1] "orange", -- [2] }, -- [8] { "394512", -- [1] "indigo", -- [2] }, -- [9] { "397881", -- [1] "deepskyblue", -- [2] }, -- [10] { "396020", -- [1] "khaki", -- [2] }, -- [11] }, ["Name"] = "Cast Color by SpellID", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Insert the Spell ID in the to Key and a color name into the Value", }, -- [4] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\n \n local customColor = scriptTable.config.castColor[tostring(envTable._SpellID)]\n Plater.SetCastBarColorForScript(self, true, customColor or scriptTable.config.castBarColor, envTable)\nend\n\n\n\n\n\n\n\n\n", }, -- [23] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n --check for marks\n function envTable.CheckMark (unitId, unitFrame)\n if (not GetRaidTargetIndex(unitId)) then\n if (scriptTable.config.onlyInCombat) then\n if (not UnitAffectingCombat(unitId)) then\n return\n end \n end\n \n SetRaidTarget(unitId, 8)\n end \n end\nend\n\n\n--163520 - forsworn squad-leader\n--163618 - zolramus necromancer - The Necrotic Wake\n--164506 - anciet captain - theater of pain\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n", ["Time"] = 1604696441, ["url"] = "", ["Icon"] = "Interface\\Worldmap\\GlowSkull_64Grey", ["Enabled"] = false, ["Revision"] = 63, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Auto set skull marker", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Auto set a raid target Skull on the unit.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "onlyInCombat", ["Value"] = false, ["Name"] = "Only in Combat", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Set the mark only if the unit is in combat.", }, -- [3] }, ["version"] = -1, ["Name"] = "Auto Set Skull", ["NpcNames"] = { "163520", -- [1] "163618", -- [2] "164506", -- [3] }, }, -- [24] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [321891] = \"Freeze Tag Fixation\", --Illusionary Vulpin - MTS\n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604087921, ["url"] = "", ["Icon"] = 841383, ["Enabled"] = true, ["Revision"] = 266, ["semver"] = "", ["Author"] = "Tecno-Azralon", ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Fixate On You [Plater]", ["NpcNames"] = { }, }, -- [25] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n --set the castbar config\n envTable.configAltCastBar = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end \n \n \n end\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (envTable._SpellID == 191284) then\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 4.70, GetTime(), 191284)\n \n C_Timer.After(4.75, function()\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 5.30, GetTime(), 191284)\n end)\n \n C_Timer.After(4.75 + 5.30, function()\n Plater.SetAltCastBar(unitFrame.PlateFrame, envTable.configAltCastBar, 4.30, GetTime(), 191284)\n end)\n end\n \nend\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1669340966, ["url"] = "", ["Icon"] = 134229, ["Enabled"] = true, ["Revision"] = 21, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Start extra cast bars for effects after the cast is done. Setup the effect on On Hide script.", ["NpcNames"] = { }, ["SpellIds"] = { 191284, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Effect After Cast [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", }, -- [26] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n function envTable.PlaySwipeAnimation(unitFrame)\n unitFrame.CastSwipeTexture:Show()\n unitFrame.CastSwipeAnimation:Play()\n unitFrame.StartSwipeAnimation:Play()\n end\n \n function envTable.StopSwipeAnimation(unitFrame)\n unitFrame.EndSwipeAnimation:Play()\n C_Timer.After(0.21, function()\n unitFrame.CastSwipeAnimation:Stop()\n unitFrame.CastSwipeTexture:Hide()\n end)\n end\n \n function envTable.CreateSwipeTextureAndAnimations(unitFrame)\n if (unitFrame.CastSwipeTexture) then\n return\n end\n \n local swipeTexture = unitFrame:CreateTexture(nil, \"overlay\")\n swipeTexture:SetTexture([[Interface\\AddOns\\Plater\\images\\circular_swipe]])\n swipeTexture:SetPoint(\"center\", 0, 0)\n swipeTexture:SetSize(64, 64)\n swipeTexture:Hide()\n \n unitFrame.CastSwipeTexture = swipeTexture\n \n --rotation animation\n unitFrame.CastSwipeAnimation = Plater:CreateAnimationHub(swipeTexture)\n unitFrame.CastSwipeAnimation:SetLooping(\"repeat\")\n unitFrame.CastSwipeAnimation.Rotation = Plater:CreateAnimation(unitFrame.CastSwipeAnimation, \"rotation\", 1, 1, 360)\n \n --starting animation\n unitFrame.StartSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, function()swipeTexture:Show() end)\n unitFrame.StartSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"alpha\", 1, 0.2, 0, 1)\n unitFrame.StartSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.StartSwipeAnimation, \"scale\", 1, 0.2, 1.3, 1.3, 1, 1) \n \n --finished animation\n unitFrame.EndSwipeAnimation = Plater:CreateAnimationHub(swipeTexture, nil, function()swipeTexture:Hide() end)\n unitFrame.EndSwipeAnimation.Alpha = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"alpha\", 1, 0.2, 1, 0)\n unitFrame.EndSwipeAnimation.Scale = Plater:CreateAnimation(unitFrame.EndSwipeAnimation, \"scale\", 1, 0.2, 1, 1, 1.3, 1.3)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.StopSwipeAnimation(unitFrame)\nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["Time"] = 1669326597, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\circular_swipe", ["Enabled"] = true, ["Revision"] = 143, ["semver"] = "", ["Author"] = "Butazzul-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Play a animation when the spell effect is an circular AoE around the caster.", ["NpcNames"] = { }, ["SpellIds"] = { 385916, -- [1] 386063, -- [2] 388822, -- [3] 373087, -- [4] 397785, -- [5] 106864, -- [6] 193660, -- [7] 198263, -- [8] 387910, -- [9] 370766, -- [10] 375591, -- [11] 384336, -- [12] 209404, -- [13] 209378, -- [14] 210875, -- [15] 396001, -- [16] 397899, -- [17] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Circle AoE [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 0.3, ["Desc"] = "Rotation Duration", ["Min"] = 0.15, ["Key"] = "rotationDuration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Rotation Duration", }, -- [1] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 2, ["Max"] = 1.5, ["Desc"] = "Animation Start Duration", ["Min"] = 0, ["Key"] = "animStartDuration", ["Value"] = 0.5, ["Name"] = "Animation Start Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha when the animation start playing, this effect in intended to catch the player attention", ["Min"] = 0, ["Name"] = "Texture Start Alpha", ["Value"] = 0.6, ["Key"] = "textureStartAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [4] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "Texture Scale", ["Min"] = 0.6, ["Key"] = "textureScale", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Scale", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha", ["Min"] = 0, ["Key"] = "textureAlpha", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Alpha", }, -- [7] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [8] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.CreateSwipeTextureAndAnimations(unitFrame)\n \n local options = scriptTable.config\n \n local targetScale = scriptTable.config.textureScale\n \n --swipe rotation duration \n unitFrame.CastSwipeAnimation.Rotation:SetDuration(scriptTable.config.rotationDuration)\n \n --swipe texture settings\n unitFrame.CastSwipeTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.textureColor))\n unitFrame.CastSwipeTexture:SetScale(targetScale)\n unitFrame.CastSwipeTexture:SetAlpha(scriptTable.config.textureAlpha) \n \n unitFrame.StartSwipeAnimation.Alpha:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Alpha:SetFromAlpha(scriptTable.config.textureStartAlpha)\n unitFrame.StartSwipeAnimation.Alpha:SetToAlpha(scriptTable.config.textureAlpha)\n \n unitFrame.StartSwipeAnimation.Scale:SetDuration(scriptTable.config.animStartDuration)\n unitFrame.StartSwipeAnimation.Scale:SetScaleTo(targetScale, targetScale)\n \n unitFrame.EndSwipeAnimation.Scale:SetDuration(0.1)\n unitFrame.EndSwipeAnimation.Alpha:SetDuration(0.1)\n \n --start playing\n envTable.PlaySwipeAnimation(unitFrame) \n \nend\n\n\n", }, -- [27] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.lifePercent = { --dragonflight\n [197697] = {50}, --Flamegullet\n [59544] = {50}, --The Nodding Tiger\n \n }\n \n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker and unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1669340967, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 137, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["NpcNames"] = { "197697", -- [1] "59544", -- [2] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Health Markers [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "indicatorColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Vertical Line Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Name"] = "Vertical Line Alpha", ["Value"] = 0.79, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Name"] = "Fill Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "fillColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "fillAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", }, -- [28] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n196548 = ancient branch (academy dungeon)\n195580, 195821, 195820 = nokhub saboteur\n189886 = blazebound firestorm\n75966 = Defiled Spirit\n102019 = Stormforged Obliterator\n 187159 = Shrieking Whelp\n194897 = stormsurge totem\n104251 = duskwatch sentry\n101326 = honored ancestor\n--]=]\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1669340396, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 515, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color and highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["NpcNames"] = { "196548", -- [1] "195580", -- [2] "195820", -- [3] "195821", -- [4] "189886", -- [5] "75966", -- [6] "102019", -- [7] "187159", -- [8] "194897", -- [9] "104251", -- [10] "101326", -- [11] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Important [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137255072593689, -- [2] 0, -- [3] 0.5631310641765594, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Dot Color", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Name"] = "Extra Texture", ["Value"] = "Extra Texture", ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Extra Texture", }, -- [10] { ["Type"] = 4, ["Key"] = "showExtraTexture", ["Value"] = false, ["Name"] = "Show Extra Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Extra Texture", }, -- [11] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "skullColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, -- [12] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Alpha", ["Min"] = 0, ["Key"] = "skullAlpha", ["Value"] = 0.2, ["Name"] = "Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "Scale", ["Min"] = 0.4, ["Fraction"] = true, ["Value"] = 0.6, ["Key"] = "skullScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Scale", }, -- [14] { ["Type"] = 7, ["Key"] = "npcColor", ["Value"] = { { "196548", -- [1] "forestgreen", -- [2] }, -- [1] { "195580", -- [1] "chocolate", -- [2] }, -- [2] { "195820", -- [1] "chocolate", -- [2] }, -- [3] { "195821", -- [1] "chocolate", -- [2] }, -- [4] { "189886", -- [1] "firebrickdark", -- [2] }, -- [5] { "75966", -- [1] "midnightblue", -- [2] }, -- [6] { "102019 ", -- [1] "chocolate", -- [2] }, -- [7] { "187159", -- [1] "darkmagenta", -- [2] }, -- [8] { "194897", -- [1] "darkmagenta", -- [2] }, -- [9] { "104251", -- [1] "cornflowerblue", -- [2] }, -- [10] }, ["Name"] = "Npc Color By NpcID", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the npcID, value is the color name", }, -- [15] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\n \n --color priority:\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.nameplateColor) \n \n if (scriptTable.config.showExtraTexture) then\n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/x_64]])\n unitFrame.UnitImportantSkullTexture:ClearAllPoints()\n unitFrame.UnitImportantSkullTexture:SetPoint(\"right\", unitFrame.healthBar, \"left\", -2, 0)\n unitFrame.UnitImportantSkullTexture:SetSize(28, 28)\n unitFrame.UnitImportantSkullTexture:Show()\n else\n unitFrame.UnitImportantSkullTexture:Hide()\n end\n \n --rules for some npcs\n if (envTable._NpcID == 194895) then --unstable squall (explode at dying\n unitFrame.UnitImportantSkullTexture:Hide()\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n end\n \n Plater.DenyColorChange(unitFrame, true)\nend\n\n\n\n\n", }, -- [29] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.AddSpawnIDTexture) then\n unitFrame.AddSpawnIDTexture:Hide()\n unitFrame.AddIcon:Hide()\n unitFrame.AddNumber:Hide()\n end\n \nend\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1669340442, ["url"] = "", ["Icon"] = "interface/addons/plater/images/add_id_icon", ["Enabled"] = true, ["Revision"] = 161, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n \n scriptTable.allAdds = {} \n scriptTable.nextAddWave = 0\n scriptTable.waveTime = 20\n \n function scriptTable.ArrangeNpcNumbers(GUID)\n local spawnId = select(7, strsplit (\"-\", GUID))\n spawnId = tonumber(spawnId, 16)\n \n if (spawnId) then\n --check if this is a new wave of adds\n if (GetTime() > scriptTable.nextAddWave) then\n scriptTable.nextAddWave = GetTime() + scriptTable.waveTime\n scriptTable.allAdds = {}\n end\n \n local bIsAlreadyOnTheList = false\n \n for o = 1, #scriptTable.allAdds do\n if (scriptTable.allAdds[o][1] == GUID) then\n bIsAlreadyOnTheList = true\n end\n end\n \n if (not bIsAlreadyOnTheList) then\n scriptTable.allAdds[#scriptTable.allAdds+1] = {GUID, spawnId}\n end\n end\n \n table.sort(scriptTable.allAdds, function(t1, t2) return t1[2] < t2[2] end)\n \n --this is a \"loop\" because this is running each time a nameplate is added!\n \n for namePlateIndex, plateFrame in ipairs(Plater.GetAllShownPlates()) do\n local unitFrame = plateFrame.unitFrame\n \n --get the unit GUID\n local unitGUID = unitFrame.namePlateUnitGUID\n \n for addId = 1, #scriptTable.allAdds do\n local addTable = scriptTable.allAdds[addId]\n local addGUID = addTable[1]\n \n if (unitGUID == addGUID) then\n scriptTable.TagNameplate(unitFrame, unitGUID, addId)\n break\n end\n end\n \n end\n end\n \n function scriptTable.TagNameplate(unitFrame, GUID, addId)\n scriptTable.CreateAddWidgetsForNameplate(unitFrame, GUID, addId)\n \n if (addId and addId >= 1 and addId <= 8) then\n unitFrame.AddSpawnIDTexture:Show()\n unitFrame.AddIcon:Show()\n unitFrame.AddNumber:Show()\n \n local addTexture = \"Interface\\\\TargetingFrame\\\\UI-RaidTargetingIcon_\" .. addId\n \n unitFrame.AddIcon:SetTexture(addTexture)\n unitFrame.AddNumber:SetText(addId)\n end\n end\n \n function scriptTable.CreateAddWidgetsForNameplate(unitFrame, GUID, addId)\n if (not unitFrame.AddSpawnIDTexture) then\n local healthBar = unitFrame.healthBar\n \n local textureBackground = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 5)\n local addIcon = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\", nil, 6)\n local addNumber = healthBar.FrameOverlay:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6) \n \n unitFrame.AddSpawnIDTexture = textureBackground\n unitFrame.AddIcon = addIcon\n unitFrame.AddNumber = addNumber\n end\n end \nend\n\n--Creature-0-2085-1-11042-153285-0002F8DB2B --training dummy for testing\n--195138 Detonating Crystal\n--192955 dracomoc illusion\n--190294 nokhub stormcaster\n--76518 ritual of bones\n\n\n\n\n", ["Desc"] = "Put a number above multiples adds, numbers follow their respawn id.", ["NpcNames"] = { "195138", -- [1] "192955", -- [2] "190294", -- [3] "76518", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Tag Number [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (unitFrame.AddSpawnIDTexture) then\n unitFrame.AddSpawnIDTexture:Hide()\n unitFrame.AddIcon:Hide()\n unitFrame.AddNumber:Hide()\n end\n \n scriptTable.ArrangeNpcNumbers(unitFrame.namePlateUnitGUID)\n \n local textureBackground = unitFrame.AddSpawnIDTexture\n textureBackground:SetSize(22, 10)\n textureBackground:ClearAllPoints()\n textureBackground:SetPoint(\"bottomright\", unitFrame.healthBar, \"topright\", 0, 1)\n \n textureBackground:SetMask([[Interface\\AddOns\\Plater\\masks\\mask_smallrectangle_rounded1]])\n textureBackground:SetTexture([[Interface\\AddOns\\Plater\\masks\\mask_smallrectangle_rounded1]])\n textureBackground:SetVertexColor(0.1215, 0.1176, 0.1294, 1)\n \n \n --textureBackground:SetMask([[Interface/ChatFrame/UI-ChatIcon-HotS]])\n -- \"Interface/ChatFrame/UI-ChatIcon-HotS\"\n \n local addIcon = unitFrame.AddIcon\n addIcon:ClearAllPoints()\n addIcon:SetPoint(\"left\", textureBackground, \"left\", 2, 0)\n addIcon:SetSize(10, 10)\n \n local addNumber = unitFrame.AddNumber\n addNumber:ClearAllPoints()\n addNumber:SetPoint(\"right\", textureBackground, \"right\", -2, 0)\n DetailsFramework:SetFontSize(addNumber, 10)\n \nend\n\n\n", }, -- [30] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1669324381, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_quickflash.tga", ["Enabled"] = true, ["Revision"] = 887, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Play a very fast flash when the cast start", ["NpcNames"] = { }, ["SpellIds"] = { 392640, -- [1] 397888, -- [2] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Quick Flash [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable but fast effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 0, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.1, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Name"] = "Shake Amplitude", ["Value"] = 25, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 30, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, scriptTable.config.castBarColor, envTable)\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [31] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n--190187 draconic image\n--189893 infused whelp\n--99922 Ebonclaw Packmate\n--104822 flames of woe", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.DenyColorChange(unitFrame, false)\n unitFrame.onShowAddToKillFlash:Stop()\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.SetNameplateColor(unitFrame, envTable.NameplateColor)\n \nend\n\n\n", ["Time"] = 1669340472, ["url"] = "", ["Icon"] = "interface/addons/plater/media/exclamation_64", ["Enabled"] = true, ["Revision"] = 122, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Change the color of adds", ["NpcNames"] = { "190187", -- [1] "189893", -- [2] "99922", -- [3] "104822", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Warning [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, -- [1] 0.4392157196998596, -- [2] 0.458823561668396, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [1] { ["Type"] = 4, ["Key"] = "useFlash", ["Value"] = true, ["Name"] = "Flash Nameplate", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Flash Nameplate", }, -- [2] { ["Type"] = 7, ["Key"] = "npcColor", ["Value"] = { { "189893", -- [1] "firebrickdark", -- [2] }, -- [1] { "190187", -- [1] "firebrickdark", -- [2] }, -- [2] { "99922", -- [1] "saddlebrown", -- [2] }, -- [3] { "153285", -- [1] "firebrickdark", -- [2] }, -- [4] { "104822", -- [1] "firebrickdark", -- [2] }, -- [5] }, ["Name"] = "NpcID to Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "If the npc isn't on this list, use the default color set in the Health Bar Color", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n Plater.DenyColorChange(unitFrame, true)\n \n unitFrame.onShowAddToKillFlash = unitFrame.onShowAddToKillFlash or Plater.CreateFlash (unitFrame.healthBar, 0.25, 1, \"white\")\n \n if (scriptTable.config.useFlash) then\n unitFrame.onShowAddToKillFlash:Play()\n end\n \n --color priority:\n local npcIdString = tostring(envTable._NpcID)\n envTable.NameplateColor = Plater.GetColorByPriority(unitFrame, scriptTable.config.npcColor[npcIdString], scriptTable.config.healthBarColor)\nend\n\n\n\n\n\n\n\n", }, -- [32] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n\n--Scorchling 194622\n--Scorchling 190205\n--197398 Hungry Lasher\n--77006 corpse skitterling\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n Plater.DenyColorChange(unitFrame, false)\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n \nend\n\n\n", ["Time"] = 1669340403, ["url"] = "", ["Icon"] = "interface/addons/plater/media/duck_64", ["Enabled"] = true, ["Revision"] = 36, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "", ["NpcNames"] = { "194622", -- [1] "190205", -- [2] "197398", -- [3] "77006", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Non Elite Trash [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0.062745101749897, -- [1] 0.062745101749897, -- [2] 0.0941176563501358, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, -- [1] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.DenyColorChange(unitFrame, true)\n \n \n \nend\n\n\n", }, -- [33] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n \n if (not healthBar.absorbBar) then\n healthBar.absorbBar = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\")\n healthBar.absorbBar:SetTexture([[Interface\\RaidFrame\\Shield-Fill]])\n healthBar.absorbBar:Hide()\n end\n \n if (not healthBar.absorbSpark) then\n healthBar.absorbSpark = healthBar.FrameOverlay:CreateTexture(nil, \"overlay\")\n healthBar.absorbSpark:SetTexture([[Interface\\CastingBar\\UI-CastingBar-Spark]])\n healthBar.absorbSpark:SetBlendMode(\"ADD\")\n healthBar.absorbSpark:Hide()\n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not UnitGetTotalAbsorbs) then\n return\n end\n \n local healthBar = unitFrame.healthBar\n \n healthBar.absorbBar:Hide() \n healthBar.absorbSpark:Hide()\n \nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not UnitGetTotalAbsorbs) then\n return\n end\n \n local healthBar = unitFrame.healthBar\n \n healthBar.absorbBar:Show()\n healthBar.absorbSpark:Show()\n \n local maxValue = healthBar.absorbBar.MaxValue\n local currentValue = UnitGetTotalAbsorbs(unitId) or 0\n \n if (currentValue > 0) then\n local minValue = 0\n \n local percent = currentValue / maxValue\n healthBar.absorbBar:SetTexCoord(0, percent, 0, 1)\n healthBar.absorbBar:SetWidth(percent * healthBar:GetWidth())\n \n healthBar.absorbSpark:SetPoint(\"left\", healthBar, \"left\", percent * healthBar:GetWidth() - 16, 0)\n \n else\n healthBar.absorbBar:Hide() \n healthBar.absorbSpark:Hide()\n end\n \n self.ThrottleUpdate = 0\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1669325411, ["url"] = "", ["Icon"] = "interface/addons/plater/images/cast_bar - absorb", ["Enabled"] = true, ["Revision"] = 101, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "When the caster has a shield and only when the shield is removed the cast can be interrupted", ["NpcNames"] = { }, ["SpellIds"] = { 373688, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Shield Interrupt [P]", ["version"] = -1, ["Options"] = { }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (not UnitGetTotalAbsorbs) then\n return\n end\n \n local healthBar = unitFrame.healthBar\n \n healthBar.absorbBar:Show()\n healthBar.absorbSpark:Show()\n \n healthBar.absorbBar:SetTexture([[Interface\\RaidFrame\\Shield-Fill]])\n \n healthBar.absorbBar:ClearAllPoints() \n healthBar.absorbBar:SetPoint(\"topleft\", healthBar, \"topleft\", 0, 0)\n healthBar.absorbBar:SetPoint(\"bottomleft\", healthBar, \"bottomleft\", 0, 0)\n \n healthBar.absorbBar:SetAlpha(1)\n \n healthBar.absorbBar.MaxValue = UnitGetTotalAbsorbs(unitId) or 0\n healthBar.absorbBar.MinValue = 0\nend\n\n\n", }, -- [34] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.stopCastingX) then\n unitFrame.stopCastingX = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n unitFrame.stopCastingX:SetPoint(\"center\", unitFrame.castBar.Spark, \"center\", 0, 0)\n unitFrame.stopCastingX:SetTexture([[Interface\\AddOns\\Plater\\Media\\stop_64]])\n unitFrame.stopCastingX:SetSize(16, 16)\n unitFrame.stopCastingX:Hide()\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n unitFrame.stopCastingX:Hide()\nend\n\n\n\n\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1669257042, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\stop_64", ["Enabled"] = true, ["Revision"] = 416, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Just stop casting", ["NpcNames"] = { }, ["SpellIds"] = { 377004, -- [1] 381516, -- [2] 196543, -- [3] 199726, -- [4] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Stop Casting [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Key"] = "segmentsAmount", ["Value"] = 7, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Amount of Segments", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n unitFrame.stopCastingX:Show()\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\nend\n\n\n\n\n\n\n\n\n", }, -- [35] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n function envTable.CreateWidgets()\n --create a camera shake for the nameplate\n if (not unitFrame.AddExplosionOnDieShake) then\n unitFrame.AddExplosionOnDieShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n end\n \n if (not unitFrame.AddExplosionOnDieBackground) then\n unitFrame.AddExplosionOnDieBackground = unitFrame.healthBar:CreateTexture(nil, \"background\")\n unitFrame.AddExplosionOnDieBackground:SetAllPoints(unitFrame.healthBar)\n unitFrame.AddExplosionOnDieBackground:SetColorTexture(1, 0, 0, 1)\n end\n end\n \nend\n\n--194895 = unstable squall\n--105703 = mana wyrm\n--59598 = lesser sha\n--58319 = lesser sha\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n healthBar:SetReverseFill(false)\n \n if (unitFrame.AddExplosionOnDieShake) then\n unitFrame:StopFrameShake (unitFrame.AddExplosionOnDieShake) \n end\n \n if (unitFrame.AddExplosionOnDieBackground) then\n unitFrame.AddExplosionOnDieBackground:Hide()\n end\nend\n\n\n\n\n\n\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable._HealthPercent < 50) then\n local alpha = DetailsFramework:MapRangeClamped(0, 50, 0.5, 0, envTable._HealthPercent)\n \n unitFrame.AddExplosionOnDieBackground:SetAlpha(alpha)\n else\n unitFrame.AddExplosionOnDieBackground:SetAlpha(0)\n end\n \n if (envTable._HealthPercent < 15 and scriptTable.config.useShake) then\n local shakeAmpliture = DetailsFramework:MapRangeClamped(0.001, 15, 10, 1, envTable._HealthPercent)\n \n unitFrame.AddExplosionOnDieShake.OriginalAmplitude = scriptTable.config.shakeAmplitude * shakeAmpliture\n unitFrame.AddExplosionOnDieShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n unitFrame:PlayFrameShake (unitFrame.AddExplosionOnDieShake)\n end\n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1669340350, ["url"] = "", ["Icon"] = "interface/addons/plater/media/radio_64", ["Enabled"] = true, ["Revision"] = 106, ["semver"] = "", ["Author"] = "Huugg-Valdrakken", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "", ["NpcNames"] = { "194895", -- [1] "105703", -- [2] "59598", -- [3] "58319", -- [4] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Add - Explode on Die [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useReverse", ["Value"] = false, ["Name"] = "Reverse Health Bar", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option6", ["Value"] = 0, ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "useShake", ["Value"] = false, ["Name"] = "Enable Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "How strong is the shake.", ["Min"] = 0.05, ["Key"] = "shakeAmplitude", ["Value"] = 0.2, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [4] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 70, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "useBackground", ["Value"] = true, ["Name"] = "Show Red Background", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Red Background", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local healthBar = unitFrame.healthBar\n \n if (scriptTable.config.useReverse) then\n healthBar:SetReverseFill(true)\n end\n \n --unitFrame.AddExplosionOnDieShake\n \n envTable.CreateWidgets()\n \n unitFrame.AddExplosionOnDieShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n unitFrame.AddExplosionOnDieShake.OriginalDuration = 0.120\n unitFrame.AddExplosionOnDieShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n if (scriptTable.config.useBackground) then\n unitFrame.AddExplosionOnDieBackground:Show()\n unitFrame.AddExplosionOnDieBackground:SetAlpha(0)\n else\n unitFrame.AddExplosionOnDieBackground:Hide()\n end\nend\n\n\n\n\n\n\n", }, -- [36] }, ["aura2_x_offset"] = 0, ["hook_data"] = { { ["Enabled"] = false, ["Revision"] = 50, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Kastfall-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Easy way to change the color of an unit. Open the constructor script and follow the examples.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --attempt to get the color from the unit color list\n local color = envTable.NpcColors [unitFrame.namePlateUnitNameLower] or envTable.NpcColors [unitFrame.namePlateUnitName] or envTable.NpcColors [unitFrame.namePlateNpcId]\n \n --if the color exists, set the health bar color\n if (color) then\n Plater.SetNameplateColor (unitFrame, color)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.NpcColors = {\n \n --examples, using the unit name in lower case, regular unit name and the unitID:\n \n [\"Thunderlord Windreader\"] = \"red\", --using regular mob name and color it as red\n [\"thunderlord crag-leaper\"] = {1, 1, 0}, --using lower case and coloring it yellow\n [75790] = \"#00FF00\", --using the ID of the unit and using green as color\n \n --insert the new mobs here:\n \n \n \n \n \n \n \n \n \n \n \n \n \n } --close custom color bracket\n \nend\n\n\n\n\n", }, ["version"] = -1, ["Time"] = 1547392935, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\color_bar", ["Name"] = "Color Automation [Plater]", }, -- [1] { ["Enabled"] = false, ["Revision"] = 73, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Izimode-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Hide neutral units, show when selected, see the constructor script for options.", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.HideNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end\n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n envTable.HideNameplate (unitFrame)\n end\n \nend\n\n\n\n\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n --check the unit reaction\n if (unitFrame.namePlateIsTarget) then\n envTable.ShowNameplate (unitFrame)\n \n else\n envTable.HideNameplate (unitFrame)\n \n end \n end\n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n envTable.ShowNameplate (unitFrame)\n end\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --when plater finishes an update on the nameplate\n --check within the envTable if the healthBar of this nameplate should be hidden\n if (envTable.IsHidden) then\n if (unitFrame.healthBar:IsShown()) then\n envTable.HideNameplate (unitFrame)\n end\n end\n \nend\n\n\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.ShowNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.OnlyInOpenWorld = true;\n envTable.ShowInCombat = true;\n \n --consts\n envTable.REACTION_NEUTRAL = 4;\n \n --functions to hide and show the healthBar\n function envTable.HideNameplate (unitFrame)\n Plater.HideHealthBar (unitFrame)\n Plater.DisableHighlight (unitFrame)\n envTable.IsHidden = true\n end\n \n function envTable.ShowNameplate (unitFrame)\n Plater.ShowHealthBar (unitFrame)\n Plater.EnableHighlight (unitFrame)\n envTable.IsHidden = false\n end\n \nend\n\n\n\n\n", }, ["version"] = -1, ["Time"] = 1541606242, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1990989, ["Name"] = "Hide Neutral Units [Plater]", }, -- [2] { ["Enabled"] = false, ["Revision"] = 93, ["semver"] = "", ["LastHookEdited"] = "", ["Options"] = { }, ["Author"] = "Kastfall-Azralon", ["Name"] = "Reorder Nameplate [Plater]", ["Desc"] = "Function Plater.UpdatePlateSize from Plater.lua exported to scritps.", ["Hooks"] = { ["Nameplate Added"] = "\n\n-- exported function Plater.UpdatePlateSize() from Plater.lua\n--this is for advanced users which wants to reorder the nameplate frame at their desire\n\n\n\nfunction (self, unitId, unitFrame, envTable)\n \n --check if there's a type of unit on this nameplate\n local plateFrame = unitFrame:GetParent()\n if (not plateFrame.actorType) then\n return\n end\n \n --get all the frames and cache some variables\n local ACTORTYPE_ENEMY_PLAYER = \"enemyplayer\"\n local profile = Plater.db.profile\n local DB_PLATE_CONFIG = profile.plate_config\n local isInCombat = Plater.IsInCombat()\n local actorType = plateFrame.actorType\n \n local unitFrame = plateFrame.unitFrame\n local healthBar = unitFrame.healthBar\n local castBar = unitFrame.castBar\n local powerBar = unitFrame.powerBar\n local buffFrame1 = unitFrame.BuffFrame\n local buffFrame2 = unitFrame.BuffFrame2\n \n --use in combat bars when in pvp\n if (plateFrame.actorType == ACTORTYPE_ENEMY_PLAYER) then\n if ((Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"arena\") and DB_PLATE_CONFIG.player.pvp_always_incombat) then\n isInCombat = true\n end\n end\n \n --get the config for this actor type\n local plateConfigs = DB_PLATE_CONFIG [actorType]\n --get the config key based if the player is in combat\n local castBarConfigKey, healthBarConfigKey, manaConfigKey = Plater.GetHashKey (isInCombat)\n \n --get the width and height from what the user set in the options panel\n local healthBarWidth, healthBarHeight = unitFrame.customHealthBarWidth or plateConfigs [healthBarConfigKey][1], unitFrame.customHealthBarHeight or plateConfigs [healthBarConfigKey][2]\n local castBarWidth, castBarHeight = unitFrame.customCastBarWidth or plateConfigs [castBarConfigKey][1], unitFrame.customCastBarHeight or plateConfigs [castBarConfigKey][2]\n local powerBarWidth, powerBarHeight = unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][1], unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][2]\n \n --calculate the offset for the cast bar, this is done due to the cast bar be anchored to topleft and topright\n local castBarOffSetX = (healthBarWidth - castBarWidth) / 2\n local castBarOffSetY = plateConfigs.castbar_offset\n \n --calculate offsets for the power bar\n local powerBarOffSetX = (healthBarWidth - powerBarWidth) / 2\n local powerBarOffSetY = 0\n \n --calculate the size deviation for pets\n local unitType = Plater.GetUnitType (plateFrame)\n if (unitType == \"pet\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.pet_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.pet_width_scale\n \n elseif (unitType == \"minus\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.minor_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.minor_width_scale\n end\n \n --unit frame - is set to be the same size as the plateFrame\n unitFrame:ClearAllPoints()\n unitFrame:SetAllPoints()\n \n --calculates the health bar anchor points\n --it will always be placed in the center of the nameplate area (where it accepts mouse clicks) \n local xOffSet = (plateFrame:GetWidth() - healthBarWidth) / 2\n local yOffSet = (plateFrame:GetHeight() - healthBarHeight) / 2\n \n --set the health bar point\n healthBar:ClearAllPoints()\n PixelUtil.SetPoint (healthBar, \"topleft\", unitFrame, \"topleft\", xOffSet + profile.global_offset_x, -yOffSet + profile.global_offset_y)\n PixelUtil.SetPoint (healthBar, \"bottomright\", unitFrame, \"bottomright\", -xOffSet + profile.global_offset_x, yOffSet + profile.global_offset_y)\n \n --set the cast bar point and size\n castBar:ClearAllPoints()\n PixelUtil.SetPoint (castBar, \"topleft\", healthBar, \"bottomleft\", castBarOffSetX, castBarOffSetY)\n PixelUtil.SetPoint (castBar, \"topright\", healthBar, \"bottomright\", -castBarOffSetX, castBarOffSetY)\n PixelUtil.SetHeight (castBar, castBarHeight)\n PixelUtil.SetSize (castBar.Icon, castBarHeight, castBarHeight)\n PixelUtil.SetSize (castBar.BorderShield, castBarHeight * 1.4, castBarHeight * 1.4)\n \n --set the power bar point and size\n powerBar:ClearAllPoints()\n PixelUtil.SetPoint (powerBar, \"topleft\", healthBar, \"bottomleft\", powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetPoint (powerBar, \"topright\", healthBar, \"bottomright\", -powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetHeight (powerBar, powerBarHeight)\n \n --power bar are hidden by default, show it if there's a custom size for it\n if (unitFrame.customPowerBarWidth and unitFrame.customPowerBarHeight) then\n powerBar:SetUnit (unitFrame.unit)\n end\n \n --aura frames\n local bf1Anchor = Plater.db.profile.aura_frame1_anchor\n Plater.SetAnchor (buffFrame1, {side = bf1Anchor.side, x = bf1Anchor.x, y = bf1Anchor.y + plateConfigs.buff_frame_y_offset}, unitFrame.healthBar, (Plater.db.profile.aura_grow_direction or 2) == 2)\n \n local bf2Anchor = Plater.db.profile.aura_frame2_anchor\n Plater.SetAnchor (buffFrame2, {side = bf2Anchor.side, x = bf2Anchor.x, y = bf2Anchor.y + plateConfigs.buff_frame_y_offset}, unitFrame.healthBar, (Plater.db.profile.aura2_grow_direction or 2) == 2)\n \nend\n\n\n", }, ["version"] = -1, ["Time"] = 1596791840, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["PlaterCore"] = 1, ["url"] = "", ["Icon"] = 574574, ["HooksTemp"] = { }, }, -- [3] { ["Enabled"] = false, ["Revision"] = 59, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Izimode-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Change the nameplate color when a nameplate does not have the auras set in the constructor script.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --do nothing if the player isn't in combat\n if (not Plater.IsInCombat()) then\n return \n end\n \n --do nothing if the unit isn't in combat\n if (not unitFrame.InCombat) then\n return\n end\n \n --do nothing if the unit is the player it self\n if (unitFrame.IsSelf) then\n return\n end\n \n --check the auras\n local hasAura = false\n \n for auraName, _ in pairs (envTable.TrackingAuras) do\n if (Plater.NameplateHasAura (unitFrame, auraName)) then\n hasAura = true\n break\n end\n end\n \n if (not hasAura) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n else\n if (envTable.ForceRefreshNameplateColor) then\n Plater.RefreshNameplateColor (unitFrame) \n end\n end \n \nend", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --Important: lines starting with double dashes are comments and are not part of the script\n \n --set this to true if you are not using threat colors in the health bar\n envTable.ForceRefreshNameplateColor = true\n \n --if the unit does not have any of the following auras, it will be painted with the color listed below\n --list of spells to track, can be the spell name (case-sensitive) or the spellID\n envTable.TrackingAuras = {\n --[\"Nightblade\"] = true, --this is an example using the spell name\n --[195452] = true, --this is an example using the spellID\n \n }\n \n --which color the nameplate wil be changed\n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n --you may also use /plater colors\n envTable.NameplateColor = \"pink\"\n \nend", }, ["version"] = -1, ["Time"] = 1554138845, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = 136207, ["Name"] = "Don't Have Aura [Plater]", }, -- [4] { ["Enabled"] = false, ["Revision"] = 182, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Izimode-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Show how many raid members are targeting the unit", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n envTable.CanShow = false;\n envTable.TargetAmount:SetText (\"\")\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --when a nameplate is added to the screen check if the player is in combat\n if (InCombatLockdown()) then\n --player is in combat, check if can check amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n else\n envTable.CanShow = false; \n end\n \n envTable.TargetAmount:SetText (\"\");\n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.TargetAmount:SetText (\"\");\n envTable.CanShow = false;\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --if the script is allowed to show the amount of targets\n --also check if the unit is in combat\n if (envTable.CanShow and UnitAffectingCombat (unitId)) then\n \n --check if can update the amount of targets following the cooldown set in the constructor script\n --by default Plater updates the nameplate every 250ms, by default the cooldown is 2, so it'll update the amuont of target every 1/2 of a second\n envTable.UpdateCooldown = envTable.UpdateCooldown + 1\n if (envTable.UpdateCooldown < envTable.UpdateInterval) then\n return\n else\n \n --reset the cooldown interval to check the amount of target again\n envTable.UpdateCooldown = 0\n \n --get the amount of targets\n local amount;\n if (envTable.InRaid) then\n amount = envTable.NumTargetsInRaid (unitFrame) \n \n elseif (envTable.InParty) then\n amount = envTable.NumTargetsInParty (unitFrame) \n \n else\n envTable.TargetAmount:SetText (\"\")\n return\n end\n \n --update the amount text\n if (amount == 0) then\n envTable.TargetAmount:SetText (\"\")\n else\n envTable.TargetAmount:SetText (amount)\n end\n \n end\n end\nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can show the amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n if (not envTable.CanShow) then\n envTable.TargetAmount:SetText (\"\") \n end\nend\n\n\n\n\n", ["Constructor"] = "--all gray text like this are comments and do not run as code\n--build the settings and basic functions for the hook\n\nfunction (self, unitId, unitFrame, envTable)\n \n --declare setting variables:\n local textColor = \"orange\";\n local textSize = 12;\n \n local showInRaid = true;\n local showInDungeon = true;\n local showInArena = false;\n local showInBattleground = false;\n local showInOpenWorld = true;\n \n envTable.UpdateInterval = 2; --each 2 updates in the nameplate it'll update the amount of targets\n \n local anchor = {\n side = 6, --1 = topleft 2 = left 3 = bottomleft 4 = bottom 5 = bottom right 6 = right 7 = topright 8 = top\n x = 4, --x offset\n y = 0, --y offset\n };\n \n \n ---------------------------------------------------------------------------------------------------------------------------------------------\n \n \n --frames:\n \n --create the text that will show the amount of people targeting the unit\n if (not unitFrame.healthBar.TargetAmount) then\n envTable.TargetAmount = Plater:CreateLabel (unitFrame.healthBar, \"\", textSize, textColor);\n Plater.SetAnchor (envTable.TargetAmount, anchor);\n unitFrame.healthBar.TargetAmount = envTable.TargetAmount\n end\n \n --in case Plater wipes the envTable\n envTable.TargetAmount = unitFrame.healthBar.TargetAmount\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --private variables (they will be used in the other scripts within this hook)\n envTable.CanShow = false;\n envTable.UpdateCooldown = 0;\n envTable.InRaid = false;\n envTable.InParty = false;\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --functions\n \n --update the InRaid or InParty proprieties\n function envTable.UpdateGroupType()\n if (IsInRaid()) then\n envTable.InRaid = true;\n envTable.InParty = false; \n \n elseif (IsInGroup()) then\n envTable.InRaid = false;\n envTable.InParty = true; \n \n else\n envTable.InRaid = false; \n envTable.InParty = false;\n end\n end\n \n --this function controls if the amount of targets can show following the settings in the top of this script\n function envTable.CanShowTargetAmount()\n \n local _, instanceType, difficultyID, _, _, _, _, instanceMapID, instanceGroupSize = GetInstanceInfo()\n \n if (showInRaid and instanceType == \"raid\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInDungeon and instanceType == \"party\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInArena and instanceType == \"arena\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInBattleground and instanceType == \"pvp\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInOpenWorld and instanceType == \"none\") then\n envTable.UpdateGroupType()\n if (envTable.InRaid or envTable.InParty) then\n return true\n end\n end\n \n return false\n end\n \n --get the amount of player targetting the unit in raid or party\n function envTable.NumTargetsInRaid (unitFrame)\n local amount = 0\n for i = 1, GetNumGroupMembers() do\n local unit = \"raid\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n return amount\n end\n \n function envTable.NumTargetsInParty()\n local amount = 0\n for i = 1, GetNumGroupMembers() - 1 do\n local unit = \"party\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n local unit = \"playertarget\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end \n \n return amount\n end\n \nend", }, ["version"] = -1, ["Time"] = 1548278227, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1966587, ["Name"] = "Players Targeting a Target [Plater]", }, -- [5] { ["Enabled"] = false, ["Revision"] = 176, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Tecno-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Add another border with more customizations. This border can also be manipulated by other scripts.", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.IsEnabled) then\n if (unitFrame.IsSelf) then\n if (envTable.ShowOnPersonalBar) then\n envTable.BorderFrame:Show()\n else\n envTable.BorderFrame:Hide() \n end\n else\n envTable.BorderFrame:Show()\n end \n end\n \nend \n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --border color\n local borderColor = \"yellow\"\n \n --size of the border\n local borderSize = 1\n \n --transparency\n local borderAlpha = 1\n \n --enabled (set to false it you only want to use the extra border in other scripts)\n local isEnabled = true\n \n --export border (allow the border to be used by other scripts)\n --other scripts can use:\n --unitFrame.healthBar.extraBorder:Show()\n --unitFrame.healthBar.extraBorder:SetVertexColor (r, g, b)\n --unitFrame.healthBar.extraBorder:SetBorderSizes (borderSize)\n local canExportBorder = true\n \n --do not add the border to personal bar\n local noPersonalBar = true\n \n --private\n do\n \n local newBorder = CreateFrame (\"frame\", nil, unitFrame.healthBar, \"NamePlateFullBorderTemplate\")\n envTable.BorderFrame = newBorder\n \n newBorder:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n newBorder:UpdateSizes()\n \n local r, g, b = DetailsFramework:ParseColors (borderColor)\n newBorder:SetVertexColor (r, g, b, borderAlpha)\n \n envTable.ShowOnPersonalBar = not noPersonalBar\n \n if (canExportBorder) then\n unitFrame.healthBar.extraBorder = newBorder\n end\n \n if (not isEnabled) then\n envTable.IsEnabled = false\n else\n envTable.IsEnabled = true\n end\n end\n \nend\n\n\n", }, ["version"] = -1, ["Time"] = 1547409079, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["url"] = "", ["Icon"] = 133689, ["Name"] = "Extra Border [Plater]", }, -- [6] { ["Enabled"] = false, ["Revision"] = 93, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Izimode-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Changes the target color to the color set in the constructor script.", ["Hooks"] = { ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --usage: color name e.g \"red\" \"yellow\"; color table e.g {1, 0, 0} {1, 1, 0}; hex string e.g. \"#FF0000\" \"FFFF00\"\n \n envTable.TargetColor = \"purple\"\n --envTable.TargetColor = \"#FF00FF\"\n --envTable.TargetColor = {252/255, 0/255, 254/255}\n \n function envTable.UpdateColor (unitFrame)\n --do not change the color of the personal bar\n if (not unitFrame.IsSelf) then\n \n --if this nameplate the current target of the player?\n if (unitFrame.namePlateIsTarget) then\n Plater.SetNameplateColor (unitFrame, envTable.TargetColor) --rgb\n else\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n end\n end\n end\n \nend\n\n\n\n\n", }, ["version"] = -1, ["Time"] = 1552354619, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = 878211, ["Name"] = "Current Target Color [Plater]", }, -- [7] { ["Enabled"] = false, ["Revision"] = 348, ["semver"] = "", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 5, ["Name"] = "Icon Settings", ["Value"] = "Icon Settings:", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Name"] = "Show Icon", ["Value"] = true, ["Key"] = "showIcon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show the castbar icon when enabled", }, -- [2] { ["Type"] = 4, ["Name"] = "Icon on Left Side", ["Value"] = true, ["Key"] = "iconOnLeftSide", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled it anchor the icon on the left side, right otherwise", }, -- [3] { ["Type"] = 4, ["Key"] = "useFullSize", ["Value"] = false, ["Name"] = "Use Big Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled the icon has the size of the cast bar plus the healthbar", }, -- [4] { ["Type"] = 2, ["Max"] = 5, ["Desc"] = "Fine tune the icon size", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0, ["Key"] = "iconSizeOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Icon Size Offset", }, -- [5] { ["Type"] = 2, ["Max"] = 5, ["Desc"] = "Space between the icon and the cast bar", ["Min"] = -5, ["Name"] = "Icon Padding", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "iconPadding", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 5, ["Name"] = "Interrupt Texture", ["Value"] = "Can't Interrupt Texture:", ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Name"] = "Show Texture", ["Value"] = true, ["Key"] = "showTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled show a texture to tell the cast can't be interrupted", }, -- [9] { ["Type"] = 3, ["Name"] = "Texture Path", ["Value"] = "Interface\\GROUPFRAME\\UI-GROUP-MAINTANKICON", ["Key"] = "iconTexturePath", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "Insert the path for the texture", }, -- [10] { ["Type"] = 4, ["Name"] = "Texture Desaturated", ["Value"] = true, ["Key"] = "desaturatedTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enbaled, texture is shown in black & white", }, -- [11] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 0.3056715726852417, -- [4] }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Select the color of the texture", }, -- [12] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Adjust the texture width", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 10, ["Key"] = "textureWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Width", }, -- [13] { ["Type"] = 2, ["Max"] = 16, ["Desc"] = "The texture is set to be the same size as the cast bar, fine tune the height as wanted", ["Min"] = -16, ["Name"] = "Texture Height Mod", ["Value"] = 0, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "textureHeightMod", }, -- [14] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Adjust the texture position", ["Min"] = -32, ["Fraction"] = false, ["Value"] = 0, ["Key"] = "texturePosition", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Position", }, -- [15] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Adjust the texture transparency", ["Min"] = 0, ["Key"] = "textureAlpha", ["Value"] = 1, ["Name"] = "Texture Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [16] }, ["Author"] = "Ditador-Azralon", ["Name"] = "Cast Bar Icon Settings [P]", ["Desc"] = "Move the icon of the spell cast to the left or right side of the nameplate.", ["Hooks"] = { ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n self.ThrottleUpdate = -1\n \nend\n\n\n", ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.castBar.BorderShield:SetDrawLayer(\"artwork\")\n envTable.UpdateIconPosition (unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --private:\n function envTable.UpdateIconPosition (unitFrame)\n local castBar = unitFrame.castBar\n local icon = castBar.Icon\n local noInterruptTexture = castBar.BorderShield\n \n if (modTable.config.showIcon) then\n icon:ClearAllPoints()\n \n if (modTable.config.iconOnLeftSide) then\n if (modTable.config.useFullSize) then\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n \n else\n \n icon:SetPoint (\"topright\", unitFrame.castBar, \"topleft\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n end\n \n else\n if (modTable.config.useFullSize) then\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n \n else\n \n icon:SetPoint (\"topleft\", unitFrame.castBar, \"topright\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n end\n end\n \n icon:SetWidth (icon:GetHeight())\n icon:Show()\n else\n icon:Hide()\n end\n \n if (modTable.config.showTexture and not castBar.canInterrupt) then\n noInterruptTexture:Show()\n \n local texturePath = modTable.config.iconTexturePath\n texturePath = texturePath:gsub(\"//\", \"/\")\n texturePath = texturePath:gsub(\"\\\\\", \"/\")\n \n noInterruptTexture:SetTexture (texturePath)\n noInterruptTexture:SetTexCoord (0, 1, 0, 1)\n \n if (modTable.config.desaturatedTexture) then\n noInterruptTexture:SetDesaturated (modTable.config.desaturatedTexture)\n else\n noInterruptTexture:SetVertexColor (DetailsFramework:ParseColors (modTable.config.textureColor))\n end\n \n noInterruptTexture:SetSize (modTable.config.textureWidth, castBar:GetHeight() + modTable.config.textureHeightMod)\n noInterruptTexture:ClearAllPoints()\n noInterruptTexture:SetPoint (\"center\", castBar, \"left\", modTable.config.texturePosition, 0)\n noInterruptTexture:SetAlpha (modTable.config.textureAlpha)\n else\n noInterruptTexture:Hide()\n end\n end\nend", }, ["version"] = -1, ["Time"] = 1597097268, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["PlaterCore"] = 1, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\castbar_icon", ["HooksTemp"] = { }, }, -- [8] { ["Enabled"] = false, ["Revision"] = 84, ["semver"] = "", ["LastHookEdited"] = "", ["Author"] = "Ahwa-Azralon", ["HooksTemp"] = { }, ["Desc"] = "Add extra effects to execute range. See the constructor script for options.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n if (envTable.UseCustomExecutePercent) then\n \n --manual detection\n local healthBar = unitFrame.healthBar\n if (healthBar.CurrentHealth / healthBar.CurrentHealthMax <= envTable.ExecutePercent) then\n envTable.UnitInExecuteRange (unitFrame)\n end \n \n else\n \n --auto detection\n if (unitFrame.InExecuteRange) then\n envTable.UnitInExecuteRange (unitFrame)\n end\n \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --execute detection, if true the script will handle the execute percent\n --while false Plater will automatically trigger the execute range\n --you only want to set this to true in case of Plater not detecting the execute range correctly\n envTable.UseCustomExecutePercent = false\n --execute percent, if not detecting automatic, this is the percent to active the execute range\n --use from zero to one, 0.20 is equal to 20% of the unit life\n envTable.ExecutePercent = 0.20\n \n --allow this script to change the nameplate color when the unit is in execute range\n envTable.CanChangeColor = true\n --change the health bar color to this color when the unit is in execute range\n --color can be set as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0}\n envTable.ExecuteColor = \"green\"\n \n --border color\n envTable.CanChangeBorderColor = false\n envTable.BorderColor = \"red\"\n \n --hide the default health divisor and the health execute indicator\n envTable.HideHealthDivisor = false\n --if not hidden, adjust the health divisor settings and the health execute indicator\n envTable.HealthDivisorAlpha = 0.5\n envTable.HealthDivisorColor = \"white\"\n envTable.HealthExecuteIndicatorAlpha = 0.15\n envTable.HealthExecuteIndicatorColor = \"darkred\"\n \n \n --private (internal functions)\n do\n function envTable.UnitInExecuteRange (unitFrame)\n --check if can change the execute color\n if (envTable.CanChangeColor) then\n Plater.SetNameplateColor (unitFrame, envTable.ExecuteColor)\n end\n \n if (envTable.CanChangeBorderColor) then\n Plater.SetBorderColor (unitFrame, envTable.BorderColor)\n end\n \n if (envTable.HideHealthDivisor) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n \n else\n envTable.UpdateHealthDivisor (unitFrame)\n \n end\n end\n \n function envTable.UpdateHealthDivisor (unitFrame)\n local healthBar = unitFrame.healthBar\n \n healthBar.healthCutOff:Show()\n healthBar.healthCutOff:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthDivisorColor))\n healthBar.healthCutOff:SetAlpha (envTable.HealthDivisorAlpha)\n \n healthBar.executeRange:Show()\n healthBar.executeRange:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthExecuteIndicatorColor))\n healthBar.executeRange:SetAlpha (envTable.HealthExecuteIndicatorAlpha)\n \n if (envTable.UseCustomExecutePercent) then\n healthBar.healthCutOff:ClearAllPoints()\n healthBar.executeRange:ClearAllPoints()\n \n healthBar.healthCutOff:SetSize (healthBar:GetHeight(), healthBar:GetHeight())\n healthBar.healthCutOff:SetPoint (\"center\", healthBar, \"left\", healthBar:GetWidth() * envTable.ExecutePercent, 0)\n \n healthBar.executeRange:SetTexCoord (0, envTable.ExecutePercent, 0, 1)\n healthBar.executeRange:SetHeight (healthBar:GetHeight())\n healthBar.executeRange:SetPoint (\"left\", healthBar, \"left\", 0, 0)\n healthBar.executeRange:SetPoint (\"right\", healthBar.healthCutOff, \"center\")\n end\n \n end\n end\n \nend", }, ["version"] = -1, ["Time"] = 1547406548, ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = 135358, ["Name"] = "Execute Range [Plater]", }, -- [9] { ["Enabled"] = false, ["Revision"] = 363, ["semver"] = "", ["LastHookEdited"] = "", ["Options"] = { { ["Type"] = 1, ["Key"] = "color", ["Value"] = { 0.5019607843137255, -- [1] 0.5019607843137255, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "changeBarColor", ["Value"] = true, ["Name"] = "Change Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "changeBorderColor", ["Value"] = false, ["Name"] = "Change Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "resetColors", ["Value"] = true, ["Name"] = "Reset Colors", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] }, ["Author"] = "Kastfall-Azralon", ["Name"] = "Attacking Specific Unit [Plater]", ["Desc"] = "Change the nameplate color if the unit is attacking a specific unit like Monk's Ox Statue or Druid's Treants. You may edit which units it track in the constructor script.", ["Hooks"] = { ["Initialization"] = "function (modTable)\n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n modTable.changeBarColor = modTable.config.changeBarColor\n modTable.changeBorderColor = modTable.config.changeBorderColor\n modTable.resetColors = modTable.config.resetColors\n \n modTable.ListOfNpcs = {\n [61146] = modTable.config.color, --\"olive\", --monk statue npcID\n [103822] = modTable.config.color, --\"olive\", --druid treant npcID\n [15352] = modTable.config.color, --\"olive\", --shaman elemental\n [95072] = modTable.config.color, --\"olive\", --shaman greater earth elemental npcID\n [61056] = modTable.config.color, --\"olive\", --shaman primal earth elemental npcID\n \n }\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n if not unitId then\n return\n end\n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitId .. \"target\")\n \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n local unitName = UnitName (unitId .. \"target\")\n local unitNameLower = string.lower (unitName)\n \n --check if the npcID of this unit is in the npc list \n local color = modTable.ListOfNpcs [npcID] or modTable.ListOfNpcs [unitName] or modTable.ListOfNpcs [unitNameLower]\n \n if color then\n if modTable.changeBarColor then\n Plater.SetNameplateColor (unitFrame, color)\n end\n if modTable.changeBorderColor then\n Plater.SetBorderColor (unitFrame, color)\n end\n unitFrame.attackingSpecificUnitFromMod = true\n elseif unitFrame.attackingSpecificUnitFromMod and modTable.resetColors then\n if modTable.changeBorderColor then\n Plater.SetBorderColor (unitFrame)\n end\n if modTable.changeBarColor then\n Plater.RefreshNameplateColor (unitFrame)\n end\n unitFrame.attackingSpecificUnitFromMod = false\n end\n end\nend", }, ["version"] = -1, ["Time"] = 1620377377, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["affix"] = { }, }, ["PlaterCore"] = 1, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_attacking_unit", ["HooksTemp"] = { }, }, -- [10] { ["Enabled"] = false, ["Revision"] = 284, ["semver"] = "", ["LastHookEdited"] = "", ["Options"] = { }, ["Author"] = "Izimode-Azralon", ["Name"] = "Combo Points [Plater]", ["Desc"] = "Show combo points above the nameplate for Druid Feral and Rogues.", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n --constructor is executed only once when any script of the hook runs.\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --check if need update the amount of combo points shown\n if (envTable.LastPlayerTalentUpdate > envTable.LastUpdate) then\n envTable.UpdateComboPointAmount()\n end \n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n \n else\n envTable.ComboPointFrame:Hide()\n end \n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n --check if this nameplate is the current target\n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n else\n envTable.ComboPointFrame:Hide()\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable, modTable, ...)\n local powerType = ...\n \n if (powerType and powerType == \"COMBO_POINTS\" and unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.UpdateComboPoints()\n end\n \n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --update the amount of comboo points shown when the player changes talents or specialization\n envTable.UpdateComboPointAmount()\n \n --save the time of the last talent change\n envTable.LastPlayerTalentUpdate = GetTime()\n \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --settings\n local anchors = {\n {\"bottom\", unitFrame.healthBar, \"top\", 0, 24},\n }\n \n local sizes = {\n width = 12,\n height = 12,\n scale = 1,\n }\n \n local textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {0/128, 21/128, 101/128, 122/128},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {3/128, 18/128, 81/128, 96/128},\n }\n if WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE then\n textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {78/128, 98/128, 21/64, 41/64},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {100/128, 120/128, 21/64, 41/64},\n }\n end\n \n local frameLevel = 1000\n local frameStrata = \"high\" \n \n --private\n do\n --store combo points frames on this table\n envTable.ComboPoints = {}\n --save when the player changed talents or spec\n envTable.LastPlayerTalentUpdate = GetTime()\n --save when this nameplate got a combo point amount and alignment update \n \n --build combo points frame anchor (combo point are anchored to this)\n if (not unitFrame.PlaterComboPointFrame) then\n local hostFrame = CreateFrame (\"frame\", nil, unitFrame)\n hostFrame.ComboPointFramesPool = {}\n unitFrame.PlaterComboPointFrame = hostFrame\n envTable.ComboPointFrame = hostFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n \n --DetailsFramework:ApplyStandardBackdrop (envTable.ComboPointFrame) --debug anchor size\n \n --animations\n local onPlayShowAnimation = function (animation)\n --stop the hide animation if it's playing\n if (animation:GetParent():GetParent().HideAnimation:IsPlaying()) then\n animation:GetParent():GetParent().HideAnimation:Stop()\n end\n \n animation:GetParent():Show()\n end\n \n local onPlayHideAnimation = function (animation)\n --stop the show animation if it's playing\n if (animation:GetParent():GetParent().ShowAnimation:IsPlaying()) then\n animation:GetParent():GetParent().ShowAnimation:Stop()\n end\n end \n local onStopHideAnimation = function (animation)\n animation:GetParent():Hide() \n end\n \n local createAnimations = function (comboPoint)\n --on show\n comboPoint.ShowAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayShowAnimation, nil)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 1, 0.1, 0, 0, 1, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"alpha\", 1, 0.1, .5, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 2, 0.1, 1.2, 1.2, 1, 1)\n \n --on hide\n comboPoint.HideAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayHideAnimation, onStopHideAnimation)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"scale\", 1, 0.1, 1, 1, 0, 0)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"alpha\", 1, 0.1, 1, 0)\n end\n \n --build combo point frame \n for i =1, 10 do \n local f = CreateFrame (\"frame\", nil, envTable.ComboPointFrame)\n f:SetSize (sizes.width, sizes.height)\n tinsert (envTable.ComboPoints, f)\n tinsert (unitFrame.PlaterComboPointFrame.ComboPointFramesPool, f)\n \n local backgroundTexture = f:CreateTexture (nil, \"background\")\n backgroundTexture:SetTexture (textures.backgroundTexture)\n backgroundTexture:SetTexCoord (unpack (textures.backgroundTexCoords))\n backgroundTexture:SetSize (sizes.width, sizes.height)\n backgroundTexture:SetPoint (\"center\")\n \n local comboPointTexture = f:CreateTexture (nil, \"artwork\")\n comboPointTexture:SetTexture (textures.comboPointTexture)\n comboPointTexture:SetTexCoord (unpack (textures.comboPointTexCoords))\n \n comboPointTexture:SetSize (sizes.width, sizes.height)\n comboPointTexture:SetPoint (\"center\")\n comboPointTexture:Hide() \n \n f.IsActive = false\n \n f.backgroundTexture = backgroundTexture\n f.comboPointTexture = comboPointTexture\n \n createAnimations (f)\n end\n \n else\n envTable.ComboPointFrame = unitFrame.PlaterComboPointFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n envTable.ComboPoints = unitFrame.PlaterComboPointFrame.ComboPointFramesPool\n \n end \n \n envTable.ComboPointFrame:SetFrameLevel (frameLevel)\n envTable.ComboPointFrame:SetFrameStrata (frameStrata)\n \n function envTable.UpdateComboPoints()\n local comboPoints = GetComboPoints(\"player\", \"target\")\n --UnitPower (\"player\", Enum.PowerType.ComboPoints)\n \n for i = 1, envTable.TotalComboPoints do\n local thisComboPoint = envTable.ComboPoints [i]\n \n if (i <= comboPoints ) then\n --combo point enabled\n if (not thisComboPoint.IsActive) then\n thisComboPoint.ShowAnimation:Play()\n thisComboPoint.IsActive = true\n \n end\n \n else\n --combo point disabled\n if (thisComboPoint.IsActive) then\n thisComboPoint.HideAnimation:Play()\n thisComboPoint.IsActive = false\n \n end\n end\n end\n \n \n end\n \n function envTable.UpdateComboPointAmount()\n local namePlateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat[1]\n local comboPoints = UnitPowerMax (\"player\", Enum.PowerType.ComboPoints)\n local reservedSpace = (namePlateWidth - sizes.width * comboPoints) / comboPoints \n \n --store the total amount of combo points\n envTable.TotalComboPoints = comboPoints\n \n --update anchor frame\n envTable.ComboPointFrame:SetWidth (namePlateWidth)\n envTable.ComboPointFrame:SetHeight (20)\n envTable.ComboPointFrame:ClearAllPoints()\n for i = 1, #anchors do\n local anchor = anchors[i]\n envTable.ComboPointFrame:SetPoint (unpack (anchor))\n end \n \n --\n for i = 1, #envTable.ComboPoints do\n envTable.ComboPoints[i]:Hide()\n envTable.ComboPoints[i]:ClearAllPoints()\n end\n \n for i = 1, comboPoints do\n local comboPoint = envTable.ComboPoints[i]\n if i == 1 then\n comboPoint:SetPoint (\"left\", envTable.ComboPointFrame, \"left\", reservedSpace/2, 0)\n else\n comboPoint:SetPoint (\"left\", envTable.ComboPoints[i-1], \"right\", reservedSpace, 0)\n end\n \n comboPoint:Show()\n end\n \n envTable.LastUpdate = GetTime()\n \n envTable.UpdateComboPoints()\n end\n \n --initialize\n envTable.UpdateComboPointAmount()\n envTable.ComboPointFrame:Hide()\n end\n \n \nend", }, ["version"] = -1, ["Time"] = 1621935143, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { ["Enabled"] = true, ["DRUID"] = true, ["ROGUE"] = true, }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { ["103"] = true, ["Enabled"] = true, }, }, ["PlaterCore"] = 1, ["url"] = "", ["Icon"] = 135426, ["HooksTemp"] = { }, }, -- [11] { ["Enabled"] = false, ["Revision"] = 356, ["semver"] = "", ["LastHookEdited"] = "", ["Options"] = { }, ["Author"] = "Ditador-Azralon", ["Name"] = "Aura Reorder [Plater]", ["Desc"] = "Reorder buffs and debuffs following the settings set in the constructor.", ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n --ATTENTION: after enabling this mod, you may have to adjust the anchor point at the Buff Settings tab\n \n local sortByTime = false\n local invertSort = false\n \n --which auras goes first, assign a value (any number), bigger value goes first\n local priority = {\n [\"Vampiric Touch\"] = 50,\n [\"Shadow Word: Pain\"] = 22,\n [\"Mind Flay\"] = 5,\n [\"Pistol Shot\"] = 50,\n [\"Marked for Death\"] = 99,\n }\n \n -- Sort function - do not touch\n Plater.db.profile.aura_sort = true\n \n \n function Plater.AuraIconsSortFunction (aura1, aura2)\n local p1 = priority[aura1.SpellId] or priority[aura1.SpellName] or 1\n local p2 = priority[aura2.SpellId] or priority[aura2.SpellName] or 1\n \n if sortByTime and p1 == p2 then\n if invertSort then\n return (aura1.Duration == 0 and 99999999 or aura1.RemainingTime or 0) > (aura2.Duration == 0 and 99999999 or aura2.RemainingTime or 0)\n else\n return (aura1.Duration == 0 and 99999999 or aura1.RemainingTime or 0) < (aura2.Duration == 0 and 99999999 or aura2.RemainingTime or 0)\n end\n else\n if invertSort then\n return p1 < p2\n else\n return p1 > p2\n end\n end\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["version"] = -1, ["Time"] = 1608663128, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["PlaterCore"] = 1, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_reorder", ["HooksTemp"] = { }, }, -- [12] }, ["aura_x_offset"] = 0, ["first_run3"] = true, ["resources_settings"] = { ["chr"] = { ["Player-1596-0F470967"] = "Essence", ["Player-1596-0C822716"] = "Chi", ["Player-1596-0E7A8E78"] = "ArcaneCharges", }, }, ["npc_cache"] = { [184107] = { "Runic Protector", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184018] = { "Bromach", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184580] = { "Olaf", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [191311] = { "Infinite Whelp", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [169429] = { "Shivarra", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184131] = { "Earthen Guardian", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184019] = { "Burly Rock-Thrower", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184023] = { "Vicious Basilisk", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184124] = { "Sentinel Talondras", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184422] = { "Emberon", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184132] = { "Earthen Warder", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184022] = { "Stonevault Geomancer", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184581] = { "Baelog", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184020] = { "Hulking Berserker", -- [1] "Kalimdor", -- [2] }, [184582] = { "Eric \"The Swift\"", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184301] = { "Cavern Seeker", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184125] = { "Chrono-Lord Deios", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [186664] = { "Stonevault Ambusher", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184319] = { "Refti Custodian", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184303] = { "Skittering Crawler", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184331] = { "Infinite Timereaver", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184300] = { "Ebonstone Golem", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184335] = { "Infinite Agent", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [169428] = { "Wrathguard", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [186420] = { "Earthen Weaver", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184130] = { "Earthen Custodian", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, [184134] = { "Scavenging Leaper", -- [1] "Kalimdor", -- [2] }, [186658] = { "Stonevault Geomancer", -- [1] "Uldaman: Legacy of Tyr", -- [2] }, }, ["OptionsPanelDB"] = { ["PlaterOptionsPanelFrame"] = { ["scale"] = 1, }, }, ["ui_parent_scale_tune"] = 1.562500034924597, ["number_region_first_run"] = true, ["saved_cvars"] = { ["nameplateShowEnemies"] = "1", }, ["hook_auto_imported"] = { ["Reorder Nameplate"] = 4, ["Dont Have Aura"] = 1, ["Players Targetting Amount"] = 4, ["Color Automation"] = 1, ["Extra Border"] = 2, ["Cast Bar Icon Config"] = 2, ["Aura Reorder"] = 3, ["Hide Neutral Units"] = 1, ["Attacking Specific Unit"] = 2, ["Target Color"] = 3, ["Execute Range"] = 1, ["Combo Points"] = 6, }, ["aura2_y_offset"] = 5, ["login_counter"] = 19, ["script_data_trash"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1625793282, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1154, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["__TrashAt"] = 1668711433, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Cast start animation settings", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [11] { ["Type"] = 7, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "348513", -- [1] "14", -- [2] }, -- [3] { "348513", -- [1] "14", -- [2] }, -- [4] }, ["Key"] = "timerList", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["version"] = -1, ["Name"] = "Cast - Alert + Timer [P]", ["NpcNames"] = { }, }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1605214963, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 607, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["SpellIds"] = { 323149, -- [1] 324392, -- [2] 340544, -- [3] 342189, -- [4] 333227, -- [5] 163689, -- [6] 227931, -- [7] 233210, -- [8] 300207, -- [9] 301629, -- [10] 297133, -- [11] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Aura - Buff Alert [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1604454032, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 351, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["SpellIds"] = { 337220, -- [1] 337253, -- [2] 337251, -- [3] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Aura - Debuff Alert [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [3] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\nend\n\n\n", ["Time"] = 1604617977, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 513, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \nend", ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Name"] = "Health Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [16] }, ["SpellIds"] = { 332329, -- [1] 320103, -- [2] 321406, -- [3] 335817, -- [4] 321061, -- [5] 320141, -- [6] 326171, -- [7] 163966, -- [8] 227966, -- [9] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Ultra Important [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1604617585, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 595, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a small animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [5] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["SpellIds"] = { 320170, -- [1] 320171, -- [2] 320462, -- [3] 330712, -- [4] 332170, -- [5] 333875, -- [6] 326836, -- [7] 342135, -- [8] 333861, -- [9] 341969, -- [10] 317963, -- [11] 327481, -- [12] 328331, -- [13] 322614, -- [14] 325701, -- [15] 326438, -- [16] 323538, -- [17] 321764, -- [18] 296523, -- [19] 330755, -- [20] 295929, -- [21] 296019, -- [22] 335685, -- [23] 170751, -- [24] 342207, -- [25] 350554, -- [26] 348513, -- [27] 351779, -- [28] 328180, -- [29] 319898, -- [30] 166335, -- [31] 172810, -- [32] 172943, -- [33] 173148, -- [34] 163376, -- [35] 228011, -- [36] 228277, -- [37] 29928, -- [38] 228559, -- [39] 230050, -- [40] 374743, -- [41] 227615, -- [42] 229716, -- [43] 229083, -- [44] 299525, -- [45] 300514, -- [46] 285388, -- [47] 294324, -- [48] 294180, -- [49] 293827, -- [50] 297128, -- [51] 294015, -- [52] 291865, -- [53] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Small Alert [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n\n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1666836560, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 346, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\nend\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Fraction"] = false, ["Value"] = 7, ["Key"] = "segmentsAmount", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Amount of Segments", }, -- [1] { ["Type"] = 1, ["Name"] = "Spark Color", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Key"] = "sparkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["SpellIds"] = { 373429, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Glowing [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --create a texture to use for a flash behind the cast bar\n \n if (not unitFrame.backGroundFlashTextureImpTarget) then\n unitFrame.backGroundFlashTextureImpTarget = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n end\n \n local backGroundFlashTexture = unitFrame.backGroundFlashTextureImpTarget\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n --create the target unit name box\n if (not unitFrame.targetBox) then\n unitFrame.targetBox = CreateFrame(\"frame\", unitFrame:GetName() .. \"ScriptImportantTarget\", unitFrame, \"BackdropTemplate\")\n unitFrame.targetBox:SetSize(80, 20)\n unitFrame.targetBox:SetFrameStrata(\"TOOLTIP\")\n unitFrame.targetBox:Hide()\n unitFrame.targetBox:SetPoint(\"left\", unitFrame, \"right\", 0, 0)\n \n unitFrame.targetBox:SetBackdrop({edgeFile = [[Interface\\Buttons\\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\\AddOns\\Details\\images\\background]], tile = true, tileSize = 16})\n unitFrame.targetBox:SetBackdropColor(.2, .2, .2, .8)\n unitFrame.targetBox:SetBackdropBorderColor(0, 0, 0, 1)\n \n unitFrame.targetBoxName = unitFrame.targetBox:CreateFontString(nil, \"artwork\", \"GameFontNormal\")\n unitFrame.targetBoxName:SetPoint(\"center\")\n end\n \n function envTable.UpdateTargetBox(unitFrame, unitId)\n local targetUnitId = unitId .. \"target\"\n local unitName = UnitName(targetUnitId)\n \n if (unitName) then\n if (scriptTable.config.colorByClass) then\n Plater:SetFontColor(unitFrame.targetBoxName, \"white\")\n unitName = Plater.SetTextColorByClass(targetUnitId, unitName)\n else\n Plater:SetFontColor(unitFrame.targetBoxName, scriptTable.config.textColor)\n end\n \n unitFrame.targetBoxName:SetText(unitName)\n Plater:SetFontSize(unitFrame.targetBoxName, scriptTable.config.targetNameSize)\n unitFrame.targetBox:SetBackdropColor(Plater:ParseColors(scriptTable.config.targetBgColor))\n unitFrame.targetBox:SetBackdropBorderColor(Plater:ParseColors(scriptTable.config.targetBgBorderColor))\n unitFrame.targetBox:Show()\n \n unitFrame.targetBox:SetWidth(scriptTable.config.targetFrameWidth)\n unitFrame.targetBox:SetHeight(scriptTable.config.targetFrameHeight)\n \n if (not Plater.HasDotAnimationPlaying(unitFrame.targetBox)) then\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.targetBox, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n end\n \n unitFrame.backGroundFlashTextureImpTarget:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n \n return true\n \n end\n end\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.targetBox, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \n unitFrame.targetBox:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.UpdateTargetBox(unitFrame, unitId) \n \nend\n\n\n", ["Time"] = 1625696653, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_target", ["Enabled"] = true, ["Revision"] = 836, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight the target name", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable.UpdateTargetBox(unitFrame, unitId)) then\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \n end\n \nend\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Shows the target name in a separate box", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.8, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 5, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] { ["Type"] = 6, ["Key"] = "option27", ["Value"] = 0, ["Name"] = "Option 27", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [27] { ["Type"] = 5, ["Key"] = "option28", ["Value"] = "Target Options", ["Name"] = "Option 28", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [28] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Fraction"] = false, ["Value"] = 14, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetNameSize", }, -- [29] { ["Type"] = 4, ["Key"] = "colorByClass", ["Value"] = true, ["Name"] = "Use Class Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [30] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [31] { ["Type"] = 1, ["Key"] = "targetBgColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.9846720322966576, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [32] { ["Type"] = 1, ["Key"] = "targetBgBorderColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [33] { ["Type"] = 2, ["Max"] = 160, ["Desc"] = "", ["Min"] = 30, ["Fraction"] = false, ["Value"] = 90, ["Name"] = "Frame Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetFrameWidth", }, -- [34] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Name"] = "Frame Height", ["Value"] = 20, ["Key"] = "targetFrameHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [35] }, ["SpellIds"] = { 354173, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Important Target [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1626467946, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1162, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Cast start animation settings", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [11] { ["Type"] = 7, ["Key"] = "timerList", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "348513", -- [1] "14", -- [2] }, -- [3] { "348513", -- [1] "14", -- [2] }, -- [4] }, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Alert + Timer [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n local unitPowerBar = unitFrame.powerBar\n unitPowerBar:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then\n return \n end\n \n local continuationToken\n local slots\n local foundAura = false\n \n repeat \n slots = { UnitAuraSlots(unitId, \"HELPFUL\", BUFF_MAX_DISPLAY, continuationToken) }\n continuationToken = slots[1]\n numSlots = #slots\n \n for i = 2, numSlots do\n local slot = slots[i]\n local name, texture, count, actualAuraType, duration, expirationTime, caster, canStealOrPurge, nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, isCastByPlayer, nameplateShowAll, timeMod, auraAmount = UnitAuraBySlot(unitId, slot) \n \n if (spellId == envTable._SpellID) then --need to get the trigger spellId\n --Ablative Shield\n local unitPowerBar = unitFrame.powerBar\n if (not unitPowerBar:IsShown()) then\n unitPowerBar:SetUnit(unitId)\n end\n \n foundAura = true\n return\n end\n end\n \n until continuationToken == nil\n \n if (not foundAura) then\n local unitPowerBar = unitFrame.powerBar\n if (unitPowerBar:IsShown()) then\n unitPowerBar:Hide()\n end\n end\nend", ["Time"] = 1660259323, ["url"] = "", ["Icon"] = 610472, ["Enabled"] = true, ["Revision"] = 52, ["semver"] = "", ["Author"] = "Keyspell-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Show power bar where its value is the buff value (usualy shown in the buff tooltip)", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Options"] = { }, ["SpellIds"] = { 227548, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Aura is Shield [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [9] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996691, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1060, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["SpellIds"] = { 338353, -- [1] 334748, -- [2] 334749, -- [3] 320784, -- [4] 341352, -- [5] 341520, -- [6] 341522, -- [7] 336005, -- [8] 339777, -- [9] 331933, -- [10] 326617, -- [11] 324914, -- [12] 324776, -- [13] 326046, -- [14] 340634, -- [15] 319070, -- [16] 328295, -- [17] 317936, -- [18] 327413, -- [19] 319654, -- [20] 323821, -- [21] 320772, -- [22] 324293, -- [23] 330562, -- [24] 330868, -- [25] 341902, -- [26] 342139, -- [27] 342675, -- [28] 323190, -- [29] 332836, -- [30] 327648, -- [31] 328217, -- [32] 322938, -- [33] 340544, -- [34] 325876, -- [35] 325700, -- [36] 323552, -- [37] 332666, -- [38] 332612, -- [39] 332706, -- [40] 340026, -- [41] 294171, -- [42] 292910, -- [43] 294165, -- [44] 338871, -- [45] 330813, -- [46] 335694, -- [47] 327461, -- [48] 329787, -- [49] 304946, -- [50] 15245, -- [51] 276754, -- [52] 304831, -- [53] 277036, -- [54] 320657, -- [55] 294362, -- [56] 270248, -- [57] 292926, -- [58] 350421, -- [59] 352158, -- [60] 349985, -- [61] 329239, -- [62] 328400, -- [63] 164192, -- [64] 176032, -- [65] 166335, -- [66] 166387, -- [67] 162066, -- [68] 163689, -- [69] 227592, -- [70] 228254, -- [71] 227999, -- [72] 227987, -- [73] 232115, -- [74] 29580, -- [75] 227616, -- [76] 241828, -- [77] 228606, -- [78] 227800, -- [79] 228239, -- [80] 229706, -- [81] 294884, -- [82] 301629, -- [83] 284219, -- [84] 301689, -- [85] 300650, -- [86] 297835, -- [87] 300171, -- [88] 300087, -- [89] 300414, -- [90] 300436, -- [91] 301088, -- [92] 293729, -- [93] 291928, -- [94] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Big Alert [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [10] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n\nend\n\n\n", ["Time"] = 1604698647, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 462, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\nend\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "showArrow", ["Value"] = true, ["Name"] = "Show Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Key"] = "arrowWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] }, ["SpellIds"] = { 240446, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Explosion Affix M+ [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [11] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (UnitIsUnit(unitId .. \"target\", \"player\")) then\n Plater.SetNameplateColor(unitFrame, scriptTable.config.nameplateColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1660340256, ["url"] = "", ["Icon"] = "Interface\\ICONS\\Ability_Fixated_State_Red", ["Enabled"] = true, ["Revision"] = 25, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Alert about a unit fixated on the player by using a buff on the enemy unit.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Options"] = { { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0, -- [1] 0.5568627450980392, -- [2] 0.03529411764705882, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Change the enemy nameplate color to this color when fixating you!", }, -- [1] }, ["SpellIds"] = { 285388, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Fixate by Unit Buff [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [12] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["Time"] = 1604599443, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 460, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 0.275, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Name"] = "Animation Speed", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animSpeed", }, -- [6] { ["Type"] = 4, ["Key"] = "desaturateArrow", ["Value"] = false, ["Name"] = "Use White Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["SpellIds"] = { 323489, -- [1] 323496, -- [2] 319941, -- [3] 319592, -- [4] 334266, -- [5] 325258, -- [6] 334913, -- [7] 326221, -- [8] 322936, -- [9] 323236, -- [10] 321834, -- [11] 336752, -- [12] 325418, -- [13] 324667, -- [14] 327233, -- [15] 324368, -- [16] 324205, -- [17] 323943, -- [18] 319713, -- [19] 320596, -- [20] 320729, -- [21] 323608, -- [22] 330614, -- [23] 320063, -- [24] 332708, -- [25] 334023, -- [26] 317231, -- [27] 317943, -- [28] 320966, -- [29] 334053, -- [30] 328458, -- [31] 321968, -- [32] 331718, -- [33] 325793, -- [34] 330453, -- [35] 326997, -- [36] 334051, -- [37] 292903, -- [38] 330843, -- [39] 294173, -- [40] 189200, -- [41] 352833, -- [42] 330403, -- [43] 166675, -- [44] 176127, -- [45] 166380, -- [46] 162058, -- [47] 167516, -- [48] 166923, -- [49] 178299, -- [50] 172982, -- [51] 163390, -- [52] 173384, -- [53] 173514, -- [54] 29513, -- [55] 227672, -- [56] 228603, -- [57] 227339, -- [58] 227493, -- [59] 241774, -- [60] 229611, -- [61] 229151, -- [62] 300188, -- [63] 299475, -- [64] 299502, -- [65] 300777, -- [66] 301681, -- [67] 298946, -- [68] 298940, -- [69] 300424, -- [70] 283422, -- [71] 294290, -- [72] 291973, -- [73] 293986, -- [74] 291878, -- [75] 292264, -- [76] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Frontal Cone [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [13] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996917, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 717, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \nend\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a big animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.8, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 8, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["SpellIds"] = { 321247, -- [1] 334522, -- [2] 320232, -- [3] 319962, -- [4] 325879, -- [5] 324427, -- [6] 322999, -- [7] 325360, -- [8] 322903, -- [9] 324103, -- [10] 333294, -- [11] 333540, -- [12] 319521, -- [13] 326021, -- [14] 326450, -- [15] 322711, -- [16] 329104, -- [17] 295000, -- [18] 242391, -- [19] 320197, -- [20] 329608, -- [21] 350687, -- [22] 161090, -- [23] 156301, -- [24] 166341, -- [25] 163379, -- [26] 166923, -- [27] 172952, -- [28] 164426, -- [29] 163665, -- [30] 227578, -- [31] 228528, -- [32] 227789, -- [33] 227779, -- [34] 229608, -- [35] 227925, -- [36] 300129, -- [37] 296522, -- [38] 294349, -- [39] 293854, -- [40] 297834, -- [41] 299588, -- [42] 302682, -- [43] 291946, -- [44] 295169, -- [45] 285440, -- [46] 291613, -- [47] 283551, -- [48] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Very Important [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1669482967, }, -- [14] }, ["aura_tracker"] = { ["buff_tracked"] = { [227931] = true, [233210] = true, [209859] = true, [163689] = true, [297133] = true, }, }, ["ghost_auras"] = { ["auras"] = { ["WARLOCK"] = { { [172] = true, [980] = true, }, -- [1] }, ["PRIEST"] = { [3] = { [589] = true, [34914] = true, }, }, }, }, ["plate_config"] = { ["global_health_height"] = 12, ["global_health_width"] = 112, }, ["patch_version"] = 20, ["aura_y_offset"] = 5, }, ["Quillika - Deathwing"] = { ["script_data"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = scriptTable.config.changeNameplateColor --\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset --\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/skullbones_128]])\n unitFrame.UnitImportantSkullTexture:SetPoint(\"center\", unitFrame.healthBar, \"center\", 0, -5)\n \n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n164362 - smily morsel - plaguefall\n168882 - fleeting manifestation - sanguine depths\n170234 - oppressive banner - theater of pain\n168988 - overgrowth - Mists of Tirna Scithe\n170452 - essesnce orb - torghast\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604599472, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 355, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\nend\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Nameplate Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "nameplateSizeOffset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Skull Texture", ["Name"] = "Skull Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Skull Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "", ["Min"] = 0, ["Name"] = "Alpha", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullAlpha", }, -- [12] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "", ["Min"] = 0.4, ["Key"] = "skullScale", ["Value"] = 0.6, ["Name"] = "Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] }, ["version"] = -1, ["Name"] = "Unit - Important [Plater]", ["NpcNames"] = { "164362", -- [1] "168882", -- [2] "168988", -- [3] "170234", -- [4] "165905", -- [5] "170452", -- [6] 80875, -- [7] 163746, -- [8] 152033, -- [9] }, }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1605214963, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 607, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", ["SpellIds"] = { 323149, -- [1] 324392, -- [2] 340544, -- [3] 342189, -- [4] 333227, -- [5] 163689, -- [6] 227931, -- [7] 233210, -- [8] 300207, -- [9] 301629, -- [10] 297133, -- [11] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["version"] = -1, ["Name"] = "Aura - Buff Alert [Plater]", ["NpcNames"] = { }, }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996917, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 717, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 321247, -- [1] 334522, -- [2] 320232, -- [3] 319962, -- [4] 325879, -- [5] 324427, -- [6] 322999, -- [7] 325360, -- [8] 322903, -- [9] 324103, -- [10] 333294, -- [11] 333540, -- [12] 319521, -- [13] 326021, -- [14] 326450, -- [15] 322711, -- [16] 329104, -- [17] 295000, -- [18] 242391, -- [19] 320197, -- [20] 329608, -- [21] 350687, -- [22] 161090, -- [23] 156301, -- [24] 166341, -- [25] 163379, -- [26] 166923, -- [27] 172952, -- [28] 164426, -- [29] 163665, -- [30] 227578, -- [31] 228528, -- [32] 227789, -- [33] 227779, -- [34] 229608, -- [35] 227925, -- [36] 300129, -- [37] 296522, -- [38] 294349, -- [39] 293854, -- [40] 297834, -- [41] 299588, -- [42] 302682, -- [43] 291946, -- [44] 295169, -- [45] 285440, -- [46] 291613, -- [47] 283551, -- [48] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Very Important [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a big animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.8, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 5, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \nend\n\n\n", }, -- [3] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n\nend\n\n\n", ["Time"] = 1604698647, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 462, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\nend\n\n\n\n\n\n\n", ["SpellIds"] = { 240446, -- [1] 273577, -- [2] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "showArrow", ["Value"] = true, ["Name"] = "Show Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Key"] = "arrowWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] }, ["version"] = -1, ["Name"] = "Explosion Affix M+ [Plater]", ["NpcNames"] = { }, }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1604454032, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 351, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", ["SpellIds"] = { 337220, -- [1] 337253, -- [2] 337251, -- [3] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["version"] = -1, ["Name"] = "Aura - Debuff Alert [Plater]", ["NpcNames"] = { }, }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996691, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1060, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["NpcNames"] = { }, ["SpellIds"] = { 338353, -- [1] 334748, -- [2] 334749, -- [3] 320784, -- [4] 341352, -- [5] 341520, -- [6] 341522, -- [7] 336005, -- [8] 339777, -- [9] 331933, -- [10] 326617, -- [11] 324914, -- [12] 324776, -- [13] 326046, -- [14] 340634, -- [15] 319070, -- [16] 328295, -- [17] 317936, -- [18] 327413, -- [19] 319654, -- [20] 323821, -- [21] 320772, -- [22] 324293, -- [23] 330562, -- [24] 330868, -- [25] 341902, -- [26] 342139, -- [27] 342675, -- [28] 323190, -- [29] 332836, -- [30] 327648, -- [31] 328217, -- [32] 322938, -- [33] 340544, -- [34] 325876, -- [35] 325700, -- [36] 323552, -- [37] 332666, -- [38] 332612, -- [39] 332706, -- [40] 340026, -- [41] 294171, -- [42] 292910, -- [43] 294165, -- [44] 338871, -- [45] 330813, -- [46] 335694, -- [47] 327461, -- [48] 329787, -- [49] 304946, -- [50] 15245, -- [51] 276754, -- [52] 304831, -- [53] 277036, -- [54] 320657, -- [55] 294362, -- [56] 270248, -- [57] 292926, -- [58] 350421, -- [59] 352158, -- [60] 349985, -- [61] 329239, -- [62] 328400, -- [63] 164192, -- [64] 176032, -- [65] 166335, -- [66] 166387, -- [67] 162066, -- [68] 163689, -- [69] 227592, -- [70] 228254, -- [71] 227999, -- [72] 227987, -- [73] 232115, -- [74] 29580, -- [75] 227616, -- [76] 241828, -- [77] 228606, -- [78] 227800, -- [79] 228239, -- [80] 229706, -- [81] 294884, -- [82] 301629, -- [83] 284219, -- [84] 301689, -- [85] 300650, -- [86] 297835, -- [87] 300171, -- [88] 300087, -- [89] 300414, -- [90] 300436, -- [91] 301088, -- [92] 293729, -- [93] 291928, -- [94] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Big Alert [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1604617585, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 595, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["SpellIds"] = { 320170, -- [1] 320171, -- [2] 320462, -- [3] 330712, -- [4] 332170, -- [5] 333875, -- [6] 326836, -- [7] 342135, -- [8] 333861, -- [9] 341969, -- [10] 317963, -- [11] 327481, -- [12] 328331, -- [13] 322614, -- [14] 325701, -- [15] 326438, -- [16] 323538, -- [17] 321764, -- [18] 296523, -- [19] 330755, -- [20] 295929, -- [21] 296019, -- [22] 335685, -- [23] 170751, -- [24] 342207, -- [25] 350554, -- [26] 348513, -- [27] 351779, -- [28] 328180, -- [29] 319898, -- [30] 166335, -- [31] 172810, -- [32] 172943, -- [33] 173148, -- [34] 163376, -- [35] 228011, -- [36] 228277, -- [37] 29928, -- [38] 228559, -- [39] 230050, -- [40] 374743, -- [41] 227615, -- [42] 229716, -- [43] 229083, -- [44] 299525, -- [45] 300514, -- [46] 285388, -- [47] 294324, -- [48] 294180, -- [49] 293827, -- [50] 297128, -- [51] 294015, -- [52] 291865, -- [53] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a small animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [5] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["version"] = -1, ["Name"] = "Cast - Small Alert [Plater]", ["NpcNames"] = { }, }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --color to set the nameplate\n envTable.NameplateColor = \"gray\"\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --only change the nameplate color in combat\n if (InCombatLockdown()) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n\n\n", ["Time"] = 1538256464, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_invalid", ["Enabled"] = true, ["Revision"] = 106, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "When an aura makes the unit invulnarable and you don't want to attack it. Add spell in the Add Trigger field.", ["SpellIds"] = { 261265, -- [1] 261266, -- [2] 271590, -- [3] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Aura - Invalidate Unit [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings:\n do\n \n --change the nameplate color to this color\n --can use color names: \"red\", \"yellow\"\n --can use color hex: \"#FF0000\", \"#FFFF00\"\n --con use color table: {1, 0, 0}, {1, 1, 0}\n \n envTable.Color = \"green\"\n \n --if true, it'll replace the health info with the unit name\n envTable.ReplaceHealthWithName = false\n \n --use flash when the unit is shown in the screen\n envTable.FlashNameplate = true\n \n end\n \n --private:\n do\n --create a flash for when the unit if shown\n envTable.smallFlash = envTable.smallFlash or Plater.CreateFlash (unitFrame.healthBar, 0.15, 1, envTable.Color)\n \n end\n \nend\n\n--[=[\n\nNpc IDS:\n\n141851: Spawn of G'Huun on Mythic Dungeons\n\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --make plater refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallFlash:Stop()\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --adjust the nameplate color\n Plater.SetNameplateColor (unitFrame, envTable.Color)\n \n --check if can replace the health amount with the unit name\n if (envTable.ReplaceHealthWithName) then\n \n local healthPercent = format (\"%.1f\", unitFrame.healthBar.CurrentHealth / unitFrame.healthBar.CurrentHealthMax *100)\n \n unitFrame.healthBar.lifePercent:SetText (unitFrame.namePlateUnitName .. \" (\" .. healthPercent .. \"%)\")\n \n end\n \nend\n\n\n", ["Time"] = 1543253273, ["url"] = "", ["Icon"] = 135024, ["Enabled"] = true, ["Revision"] = 59, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Add a unitID or unit name in 'Add Trigger' entry. See the constructor script for options.", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["NpcNames"] = { "141851", -- [1] }, ["Name"] = "Color Change [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can flash the nameplate\n if (envTable.FlashNameplate) then\n envTable.smallFlash:Play()\n end\n \nend\n\n\n\n\n\n\n\n\n", }, -- [9] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n --if not envTable.blinkTexture then\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n --end\n \n envTable.glowEffect = envTable.glowEffect or self.overlay or Plater.CreateIconGlow (self)\n --envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1626382829, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 375, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["NpcNames"] = { }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Aura - Blink by Time Left [Plater]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = false, ["Name"] = "Change NamePlate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Key"] = "timeleftToBlink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Timeleft to Blink", }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Fraction"] = true, ["Value"] = 1, ["Key"] = "blinkSpeed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Blink Speed", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Key"] = "blinkMaxAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Blink Max Alpha", }, -- [9] { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Key"] = "timerColorEnabled", ["Value"] = true, ["Name"] = "Timer Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Warning", ["Value"] = 8, ["Key"] = "timeLeftWarning", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Critical", ["Value"] = 3, ["Key"] = "timeLeftCritical", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [15] { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", }, -- [10] { ["ConstructorCode"] = "--gray lines are comments and doesn't affect the code\n\n--1) add the aura you want by typing its name or spellID into the \"Add Trigger\" and click the \"Add\" button.\n--2) the border will use the default color set below, to a custom color type aura name and the color you want in the BorderColorByAura table.\n\nfunction (self, unitId, unitFrame, envTable)\n \n --default color if the aura name isn't found in the Color By Aura table below\n envTable.DefaultBorderColor = \"orange\"\n \n --transparency, affect all borders\n envTable.BorderAlpha = 1.0\n \n --add the aura name and the color, \n envTable.BorderColorByAura = {\n \n --examples:\n --[\"Aura Name\"] = \"yellow\", --using regular aura name | using the name of the color\n --[\"aura name\"] = \"#FFFF00\", --using lower case in the aura name |using html #hex for the color\n --[54214] = {1, 1, 0}, --using the spellID instead of the name | using rgb table (0 to 1) for the color\n --color table uses zero to one values: 255 = 1.0, 127 = 0.5, orange color = {1, 0.7, 0}\n \n --add your custom border colors below:\n \n [\"Aura Name\"] = {1, .5, 0}, --example to copy/paste\n \n }\n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --reset the border color\n self:SetBackdropBorderColor (0, 0, 0, 0)\n \nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the custom color added by the user or the default color\n local color = envTable.CustomBorderColor or envTable.DefaultBorderColor\n --parse the color since it can be a color name, hex or color table\n local r, g, b = DetailsFramework:ParseColors (color)\n \n --set the border color\n self:SetBackdropBorderColor (r, g, b, envTable.BorderAlpha)\n \nend\n\n\n\n\n", ["Time"] = 1543680853, ["url"] = "", ["Icon"] = 133006, ["Enabled"] = false, ["Revision"] = 45, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Add a border to an aura icon. Add the aura into the Add Trigger entry. You can customize the icon color at the constructor script.", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Aura - Border Color [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --get the aura name in lower case\n local auraLowerName = string.lower (envTable._SpellName)\n \n --attempt to get a custom color added by the user in the constructor script\n local hasCustomBorderColor = envTable.BorderColorByAura [auraLowerName] or envTable.BorderColorByAura [envTable._SpellName] or envTable.BorderColorByAura [envTable._SpellID]\n \n --save the custom color\n envTable.CustomBorderColor = hasCustomBorderColor\n \nend\n\n\n", }, -- [11] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18);\nend\n\n--[=[\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount.text = \"\" .. UnitPower (unitId);\nend\n\n\n", ["Time"] = 1539015649, ["url"] = "", ["Icon"] = 136048, ["Enabled"] = true, ["Revision"] = 131, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Desc"] = "Show the energy amount above the nameplate", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["NpcNames"] = { "Guardian of Yogg-Saron", -- [1] }, ["Name"] = "UnitPower [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", }, -- [12] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["Time"] = 1604599443, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 460, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["SpellIds"] = { 323489, -- [1] 323496, -- [2] 319941, -- [3] 319592, -- [4] 334266, -- [5] 325258, -- [6] 334913, -- [7] 326221, -- [8] 322936, -- [9] 323236, -- [10] 321834, -- [11] 336752, -- [12] 325418, -- [13] 324667, -- [14] 327233, -- [15] 324368, -- [16] 324205, -- [17] 323943, -- [18] 319713, -- [19] 320596, -- [20] 320729, -- [21] 323608, -- [22] 330614, -- [23] 320063, -- [24] 332708, -- [25] 334023, -- [26] 317231, -- [27] 317943, -- [28] 320966, -- [29] 334053, -- [30] 328458, -- [31] 321968, -- [32] 331718, -- [33] 325793, -- [34] 330453, -- [35] 326997, -- [36] 334051, -- [37] 292903, -- [38] 330843, -- [39] 294173, -- [40] 189200, -- [41] 352833, -- [42] 330403, -- [43] 166675, -- [44] 176127, -- [45] 166380, -- [46] 162058, -- [47] 167516, -- [48] 166923, -- [49] 178299, -- [50] 172982, -- [51] 163390, -- [52] 173384, -- [53] 173514, -- [54] 29513, -- [55] 227672, -- [56] 228603, -- [57] 227339, -- [58] 227493, -- [59] 241774, -- [60] 229611, -- [61] 229151, -- [62] 300188, -- [63] 299475, -- [64] 299502, -- [65] 300777, -- [66] 301681, -- [67] 298946, -- [68] 298940, -- [69] 300424, -- [70] 283422, -- [71] 294290, -- [72] 291973, -- [73] 293986, -- [74] 291878, -- [75] 292264, -- [76] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 0.275, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Name"] = "Animation Speed", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animSpeed", }, -- [6] { ["Type"] = 4, ["Key"] = "desaturateArrow", ["Value"] = false, ["Name"] = "Use White Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["version"] = -1, ["Name"] = "Cast - Frontal Cone [Plater]", ["NpcNames"] = { }, }, -- [13] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n--165560 = Gormling Larva - MTS\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n \n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n end \nend\n\n\n", ["Time"] = 1604239880, ["url"] = "", ["Icon"] = 1029718, ["Enabled"] = true, ["Revision"] = 269, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n\n\n\n\n", ["Desc"] = "Show above the nameplate who is the player fixated", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Fixate [Plater]", ["NpcNames"] = { "165560", -- [1] }, }, -- [14] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [321891] = \"Freeze Tag Fixation\", --Illusionary Vulpin - MTS\n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604087921, ["url"] = "", ["Icon"] = 841383, ["Enabled"] = true, ["Revision"] = 266, ["semver"] = "", ["Author"] = "Tecno-Azralon", ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Fixate On You [Plater]", ["NpcNames"] = { }, }, -- [15] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\nend\n\n\n", ["Time"] = 1604617977, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 513, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \nend", ["SpellIds"] = { 332329, -- [1] 320103, -- [2] 321406, -- [3] 335817, -- [4] 321061, -- [5] 320141, -- [6] 326171, -- [7] 163966, -- [8] 227966, -- [9] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Name"] = "Health Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [16] }, ["version"] = -1, ["Name"] = "Cast - Ultra Important [P]", ["NpcNames"] = { }, }, -- [16] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n --check for marks\n function envTable.CheckMark (unitId, unitFrame)\n if (not GetRaidTargetIndex(unitId)) then\n if (scriptTable.config.onlyInCombat) then\n if (not UnitAffectingCombat(unitId)) then\n return\n end \n end\n \n SetRaidTarget(unitId, 8)\n end \n end\nend\n\n\n--163520 - forsworn squad-leader\n--163618 - zolramus necromancer - The Necrotic Wake\n--164506 - anciet captain - theater of pain\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n", ["Time"] = 1604696441, ["url"] = "", ["Icon"] = "Interface\\Worldmap\\GlowSkull_64Grey", ["Enabled"] = true, ["Revision"] = 63, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Auto set skull marker", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Auto set a raid target Skull on the unit.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "onlyInCombat", ["Value"] = false, ["Name"] = "Only in Combat", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Set the mark only if the unit is in combat.", }, -- [3] }, ["version"] = -1, ["Name"] = "Auto Set Skull", ["NpcNames"] = { "163520", -- [1] "163618", -- [2] "164506", -- [3] }, }, -- [17] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n--[=[\n\n154564 - debug\n\n168098 - empowered coldheart agent\n156212 - coldheart agent\n\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604607993, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 406, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n unitFrame.healthBar.MainTargetDotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + scriptTable.config.nameplateSizeOffset)\n \nend\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] }, ["version"] = -1, ["Name"] = "Unit - Main Target [P]", ["NpcNames"] = { "156212", -- [1] "168098", -- [2] 179124, -- [3] }, }, -- [18] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.npcInfo = {\n [164427] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"1\", name = \"Boom!\"}, --reanimated warrior - plaguefall\n \n [164414] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"2\", name = \"Boom!\"}, --reanimated mage - plaguefall\n \n [164185] = {secondCastBar = true, timer = 20, timerId = 319941, altCastId = \"3\", remaining = 5, name = GetSpellInfo(319941)}, --Echelon - Halls of Atonement\n \n [164567] = {secondCastBar = true, altCastId = \"dromanswrath\", debuffTimer = 323059, name = GetSpellInfo(323059), spellIcon = 323059}, --Ingra Maloch -- tirna scythe\n \n [165408] = {secondCastBar = true, timer = 20, timerId = 322711, altCastId = \"4\", remaining = 5, name = GetSpellInfo(322711)}, --Halkias - Refracted Sinlight - Halls of Atonement\n \n \n --[154564] = {secondCastBar = true, timerId = \"Test Bar\", altCastId = \"debugcast\", remaining = 5, name = GetSpellInfo(319941), spellIcon = 319941}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n --[154580] = {secondCastBar = true, altCastId = \"debugcast\", debuffTimer = 204242, name = GetSpellInfo(81297), spellIcon = 81297}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n }\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end\n \n DetailsFramework:TruncateText(unitFrame.castBar2.Text, unitFrame.castBar2:GetWidth() - 16)\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\nend", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId ~= npcInfo.altCastId or not unitFrame.castBar2:IsShown()) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end \n \n elseif (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n --get the debuff timeleft\n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n local startTime = expirationTime - duration\n \n if (not unitFrame.castBar2:IsShown() or unitFrame.castBar2.spellStartTime < startTime) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, startTime)\n end\n \n else \n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604354364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\Images\\countdown_bar_icon", ["Enabled"] = true, ["Revision"] = 206, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Some units has special events without a clear way to show. This script adds a second cast bar to inform the user about it.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n \n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, expirationTime-duration)\n else\n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n else\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Countdown", ["NpcNames"] = { "164427", -- [1] "164414", -- [2] "164185", -- [3] "164567", -- [4] "165408", -- [5] }, }, -- [19] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.lifePercent = {\n --npcId percent divisions\n [154564] = {80, 30}, --debug\n [164451] = {40}, --dessia the decapirator - theater of pain\n [164463] = {40}, --Paceran the Virulent - theater of pain\n [164461] = {40}, -- Sathel the Accursed - theater of pain\n [165946]= {50}, -- ~mordretha - thather of pain\n [164501] = {70, 40, 10}, --mistcaller - tina scythe\n [164218] = {70, 40}, --Lord Chamberlain - Halls of Atonement\n }\n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker and unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1606506781, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 109, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["NpcNames"] = { "164451", -- [1] "164463", -- [2] "164461", -- [3] "165946", -- [4] "164501", -- [5] "164218", -- [6] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "Unit - Health Markers [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 5, ["Name"] = "Option 1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Vertical Line Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "indicatorColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.79, ["Name"] = "Vertical Line Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Key"] = "fillColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Fill Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Key"] = "fillAlpha", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", }, -- [20] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1618996775, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_tank", ["Enabled"] = true, ["Revision"] = 843, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Cast alert for abilities which only the tank can interrupt.", ["NpcNames"] = { }, ["SpellIds"] = { 321828, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Tank Interrupt [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 0, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.1, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Name"] = "Shake Amplitude", ["Value"] = 25, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 30, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", }, -- [21] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18); \n \n envTable.EnergyAmount.fontsize = scriptTable.config.fontSize\n envTable.EnergyAmount.fontcolor = scriptTable.config.fontColor\n envTable.EnergyAmount.outline = scriptTable.config.outline\n \n \nend\n\n--[=[\n\n164406 = Shriekwing\n164407 = Sludgefist\n162100 = kryxis the voracious\n162099 = general kaal - sanguine depths\n162329 = Xav the Unfallen - threater of pain\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local currentPower = UnitPower(unitId)\n \n if (currentPower and currentPower > 0) then\n local maxPower = UnitPowerMax (unitId)\n local percent = floor (currentPower / maxPower * 100)\n \n envTable.EnergyAmount.text = \"\" .. percent;\n \n if (scriptTable.config.showLater) then\n local alpha = (percent -80) * 5\n alpha = alpha / 100\n alpha = max(0, alpha)\n envTable.EnergyAmount:SetAlpha(alpha)\n \n else\n envTable.EnergyAmount:SetAlpha(1.0)\n end\n \n \n else\n envTable.EnergyAmount.text = \"\"\n end\nend\n\n\n\n\n\n\n\n\n", ["Time"] = 1604357453, ["url"] = "", ["Icon"] = 136048, ["Enabled"] = true, ["Revision"] = 233, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show the energy amount above the nameplate.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Show the power of the unit above the nameplate.", ["Name"] = "script desc", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "add trigger", ["Value"] = "Add the unit name or unitId in the \"Add Trigger\" field and press \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "showLater", ["Value"] = true, ["Name"] = "Show at 80% of Energy", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the energy won't start showing until the unit has 80% energy.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 2", ["Value"] = 0, ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Text size.", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 16, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "fontSize", }, -- [7] { ["Type"] = 1, ["Key"] = "fontColor", ["Value"] = { 0.803921568627451, -- [1] 0.803921568627451, -- [2] 0.803921568627451, -- [3] 1, -- [4] }, ["Name"] = "Font Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the text.", }, -- [8] { ["Type"] = 4, ["Key"] = "outline", ["Value"] = true, ["Name"] = "Enable Text Outline", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the text uses outline.", }, -- [9] }, ["version"] = -1, ["Name"] = "Unit - Show Energy [Plater]", ["NpcNames"] = { "164406", -- [1] "164407", -- [2] "162100", -- [3] "162099", -- [4] "162329", -- [5] "164558", -- [6] 150159, -- [7] }, }, -- [22] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (not unitFrame.spitefulTexture) then\n unitFrame.spitefulTexture = unitFrame.healthBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.spitefulTexture:SetPoint('right', 0, 0)\n unitFrame.spitefulTexture:SetSize(27, 14)\n unitFrame.spitefulTexture:SetColorTexture(.3, .3, 1, .7)\n \n unitFrame.spitefulText = unitFrame.healthBar:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6)\n DetailsFramework:SetFontFace (unitFrame.spitefulText, \"2002\")\n unitFrame.spitefulText:SetPoint(\"right\", unitFrame.spitefulTexture, \"right\", -2, 0)\n unitFrame.spitefulText:SetJustifyH(\"right\")\n \n unitFrame.roleIcon = unitFrame:CreateTexture(nil, \"overlay\")\n unitFrame.roleIcon:SetPoint(\"left\", unitFrame.healthBar, \"left\", 2, 0)\n unitFrame.targetName = unitFrame:CreateFontString(nil, \"overlay\", \"GameFontNormal\")\n unitFrame.targetName:SetPoint(\"left\", unitFrame.roleIcon, \"right\", 2, 0)\n \n unitFrame.spitefulTexture:Hide()\n unitFrame.spitefulText:Hide()\n end\n \n function envTable.UpdateSpitefulWidget(unitFrame)\n \n local r, g, b, a = Plater:ParseColors(scriptTable.config.bgColor)\n unitFrame.spitefulTexture:SetColorTexture(r, g, b, a)\n unitFrame.spitefulTexture:SetSize(scriptTable.config.bgWidth, unitFrame.healthBar:GetHeight()) \n Plater:SetFontSize(unitFrame.spitefulText, scriptTable.config.textSize)\n Plater:SetFontColor(unitFrame.spitefulText, scriptTable.config.textColor)\n \n local currentHealth = unitFrame.healthBar.CurrentHealth\n local maxHealth = unitFrame.healthBar.CurrentHealthMax\n \n local healthPercent = currentHealth / maxHealth * 100\n local timeToDie = format(\"%.1fs\", healthPercent / 8)\n unitFrame.spitefulText:SetText(timeToDie)\n \n unitFrame.spitefulText:Show()\n unitFrame.spitefulTexture:Show()\n \n if scriptTable.config.switchTargetName then\n local plateFrame = unitFrame.PlateFrame\n \n local target = UnitName(unitFrame.namePlateUnitToken .. \"target\") or UnitName(unitFrame.namePlateUnitToken)\n \n if (target and target ~= \"\") then\n local _, class = UnitClass(unitFrame.namePlateUnitToken .. \"target\")\n if (class) then\n target = DetailsFramework:AddClassColorToText(target, class)\n end\n \n local role = UnitGroupRolesAssigned(unitFrame.namePlateUnitToken .. \"target\")\n if (role and role ~= \"NONE\") then\n target = DetailsFramework:AddRoleIconToText(target, role)\n end\n \n plateFrame.namePlateUnitName = target\n Plater.UpdateUnitName(plateFrame)\n end\n end\n \n if scriptTable.config.useTargetingColor then\n local targeted = UnitIsUnit(unitFrame.namePlateUnitToken .. \"target\", \"player\")\n if targeted then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.targetingColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\n end\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n if (unitFrame.spitefulTexture) then\n unitFrame.spitefulText:Hide()\n unitFrame.spitefulTexture:Hide() \n unitFrame.roleIcon:Hide()\n unitFrame.targetName:Hide()\n end\nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["Time"] = 1611844883, ["url"] = "", ["Icon"] = 135945, ["Enabled"] = true, ["Revision"] = 186, ["semver"] = "", ["Author"] = "Symantec-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Time to die Spiteful affix", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Time to Die", ["Name"] = "Time to Die", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "", ["Min"] = 10, ["Key"] = "bgWidth", ["Value"] = 27, ["Name"] = "Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [2] { ["Type"] = 1, ["Key"] = "bgColor", ["Value"] = { 0.5058823529411764, -- [1] 0.07058823529411765, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 24, ["Desc"] = "", ["Min"] = 7, ["Key"] = "textSize", ["Value"] = 8, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option11", ["Value"] = "Targeting", ["Name"] = "Targeting", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Target instead of Name", ["Value"] = true, ["Key"] = "switchTargetName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Name"] = "Change Color if targeting You", ["Value"] = true, ["Key"] = "useTargetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [9] { ["Type"] = 1, ["Name"] = "Color if targeting You", ["Value"] = { 0.07058823529411765, -- [1] 0.6196078431372549, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "targetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [10] { ["Type"] = 6, ["Key"] = "option11", ["Value"] = 0, ["Name"] = "Option 11", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [11] }, ["version"] = -1, ["Name"] = "M+ Spiteful", ["NpcNames"] = { "174773", -- [1] }, }, -- [23] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n function envTable.SetCastbarSize(unitFrame, envTable, unitId, scriptTable)\n local spellId = envTable._SpellID\n local overridedSize = scriptTable.config.customSize[tostring(spellId)]\n \n if (overridedSize) then\n local width, height = Plater.GetNumbersFromString(overridedSize)\n Plater.SetCastBarSize(unitFrame, width, height)\n else\n local castBarWidth = scriptTable.config.width\n local castBarHeight = scriptTable.config.height\n Plater.SetCastBarSize(unitFrame, castBarWidth, castBarHeight)\n end\n \n --update timer text\n Plater:SetFontSize (unitFrame.castBar.percentText, scriptTable.config.timerFontSize)\n end\n \n --sub divisions\n \n unitFrame.CastbarIsTimerVerticalLines = unitFrame.CastbarIsTimerVerticalLines or {}\n local amountOfLines = 6\n local animationSpeed = 0.2\n \n local onAnimationStop = function(self)\n self:GetParent():Hide()\n end\n \n if (not unitFrame.CastbarIsTimerVerticalLines[1]) then\n for i = 1, amountOfLines do\n local verticalLine = unitFrame.castBar:CreateTexture(nil, \"border\", nil, -3)\n unitFrame.CastbarIsTimerVerticalLines[i] = verticalLine\n verticalLine:SetColorTexture(1, 1, 1, 1)\n \n local animationHub = Plater:CreateAnimationHub(verticalLine, onPlayFunc, onAnimationStop) \n Plater:CreateAnimation (animationHub, \"scale\", 1, animationSpeed, 1, 1, 2.5, 2.5)\n Plater:CreateAnimation (animationHub, \"alpha\", 1, animationSpeed, 1, 0)\n Plater:CreateAnimation (animationHub, \"translation\", 1, animationSpeed, -16, 0)\n verticalLine.anim = animationHub\n end\n \n --make an animation on the spark texture\n local spark = unitFrame.castBar.Spark\n local animationHub = Plater:CreateAnimationHub(spark, onPlayFunc, onStopFunc)\n Plater:CreateAnimation (animationHub, \"scale\", 1, 0.2, 1.2, 1.2, 1, 1)\n --Plater:CreateAnimation (animationHub, \"scale\", 1, 0.3, 1, 1, 1.2, 1.2)\n --Plater:CreateAnimation (animationHub, \"scale\", 2, 0.2, 1.2, 1.2, 1, 1)\n spark.bumpAnimation = animationHub\n --Plater:CreateAnimation (animationHub, \"alpha\", 1, 0.5, 1, 0)\n \n end\n \n function envTable.UpdateLinePositions(unitFrame)\n local lineTable = unitFrame.CastbarIsTimerVerticalLines\n local castBarWidth = unitFrame.castBar:GetWidth()\n local castBarHeight = unitFrame.castBar:GetHeight()\n\n local spaceBetweenLines = castBarWidth / amountOfLines\n local r, g, b, a = Plater:ParseColors(scriptTable.config.separatorColor) \n \n for i = 1, amountOfLines do\n local line = lineTable[i]\n line:ClearAllPoints()\n local xLocation = spaceBetweenLines * i\n line:SetPoint(\"left\", unitFrame.castBar, \"left\", xLocation, 0)\n line:SetSize(scriptTable.config.separatorWidth, castBarHeight)\n line:SetColorTexture(r, g, b, a)\n line:Show()\n line:SetAlpha(1)\n line:SetScale(1)\n line.percent = xLocation / castBarWidth * 100\n line.playedAnim = false\n \n if (i == amountOfLines) then\n line:Hide()\n end\n end\n end\n \n function envTable.HideLines(unitFrame)\n local lineTable = unitFrame.CastbarIsTimerVerticalLines\n for i = 1, amountOfLines do\n local line = lineTable[i]\n line:Hide()\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.HideLines(unitFrame)\n \nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n --override the update frequency to run every tick\n unitFrame.castBar.ThrottleUpdate = -1\n \n \n local lineTable = unitFrame.CastbarIsTimerVerticalLines\n for i = 1, #lineTable do\n local line = lineTable[i]\n \n if (not line.playedAnim) then\n if (envTable._CastPercent > line.percent) then\n line.anim:Play()\n line.playedAnim = true\n \n if (unitFrame.castBar.Spark.bumpAnimation:IsPlaying()) then\n unitFrame.castBar.Spark.bumpAnimation:Stop()\n end\n unitFrame.castBar.Spark.bumpAnimation:Play() \n end\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1625697537, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_is_timer", ["Enabled"] = true, ["Revision"] = 282, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "When a spell resembles more a timer than a spell being cast", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.SetCastbarSize(unitFrame, envTable, unitId, scriptTable)\n \n --override the update frequency to run every tick\n unitFrame.castBar.ThrottleUpdate = -1\n \n envTable.UpdateLinePositions(unitFrame) \n \n unitFrame.castBar:SetAlpha(1)\nend\n\n\n\n\n", ["SpellIds"] = { 354080, -- [1] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 7, ["Key"] = "customSize", ["Value"] = { { "17", -- [1] "120, 16", -- [2] }, -- [1] }, ["Name"] = "Customized Size (Key = Spell ID, Value = Width, Height)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Enter the spellId into the Key and width,height into the Value. Example: Key 17 Value 120,16", }, -- [1] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "", ["Min"] = 5, ["Fraction"] = false, ["Value"] = 120, ["Name"] = "Cast Bar Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "width", }, -- [2] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 5, ["Name"] = "Cast Bar Height", ["Value"] = 16, ["Key"] = "height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [3] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Set the size of the cast time", ["Min"] = 8, ["Fraction"] = false, ["Value"] = 12, ["Name"] = "Cast Timer Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timerFontSize", }, -- [5] { ["Type"] = 6, ["Key"] = "option6", ["Value"] = 0, ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option7", ["Value"] = "Time Separators", ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "separatorColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 0.5992676615715027, -- [4] }, ["Name"] = "Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 1, ["Name"] = "Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "separatorWidth", }, -- [9] }, ["version"] = -1, ["Name"] = "Cast - Castbar is Timer [P]", ["NpcNames"] = { }, }, -- [24] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --create a texture to use for a flash behind the cast bar\n \n if (not unitFrame.backGroundFlashTextureImpTarget) then\n unitFrame.backGroundFlashTextureImpTarget = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n end\n \n local backGroundFlashTexture = unitFrame.backGroundFlashTextureImpTarget\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\n \n --create the target unit name box\n if (not unitFrame.targetBox) then\n unitFrame.targetBox = CreateFrame(\"frame\", unitFrame:GetName() .. \"ScriptImportantTarget\", unitFrame, \"BackdropTemplate\")\n unitFrame.targetBox:SetSize(80, 20)\n unitFrame.targetBox:SetFrameStrata(\"TOOLTIP\")\n unitFrame.targetBox:Hide()\n unitFrame.targetBox:SetPoint(\"left\", unitFrame, \"right\", 0, 0)\n \n unitFrame.targetBox:SetBackdrop({edgeFile = [[Interface\\Buttons\\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\\AddOns\\Details\\images\\background]], tile = true, tileSize = 16})\n unitFrame.targetBox:SetBackdropColor(.2, .2, .2, .8)\n unitFrame.targetBox:SetBackdropBorderColor(0, 0, 0, 1)\n \n unitFrame.targetBoxName = unitFrame.targetBox:CreateFontString(nil, \"artwork\", \"GameFontNormal\")\n unitFrame.targetBoxName:SetPoint(\"center\")\n end\n \n function envTable.UpdateTargetBox(unitFrame, unitId)\n local targetUnitId = unitId .. \"target\"\n local unitName = UnitName(targetUnitId)\n \n if (unitName) then\n if (scriptTable.config.colorByClass) then\n Plater:SetFontColor(unitFrame.targetBoxName, \"white\")\n unitName = Plater.SetTextColorByClass(targetUnitId, unitName)\n else\n Plater:SetFontColor(unitFrame.targetBoxName, scriptTable.config.textColor)\n end\n \n unitFrame.targetBoxName:SetText(unitName)\n Plater:SetFontSize(unitFrame.targetBoxName, scriptTable.config.targetNameSize)\n unitFrame.targetBox:SetBackdropColor(Plater:ParseColors(scriptTable.config.targetBgColor))\n unitFrame.targetBox:SetBackdropBorderColor(Plater:ParseColors(scriptTable.config.targetBgBorderColor))\n unitFrame.targetBox:Show()\n \n unitFrame.targetBox:SetWidth(scriptTable.config.targetFrameWidth)\n unitFrame.targetBox:SetHeight(scriptTable.config.targetFrameHeight)\n \n if (not Plater.HasDotAnimationPlaying(unitFrame.targetBox)) then\n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.targetBox, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n end\n \n unitFrame.backGroundFlashTextureImpTarget:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n \n return true\n \n end\n end\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.targetBox, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \n unitFrame.targetBox:Hide()\nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.UpdateTargetBox(unitFrame, unitId) \n \nend\n\n\n", ["Time"] = 1625696653, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_target", ["Enabled"] = true, ["Revision"] = 836, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight the target name", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (envTable.UpdateTargetBox(unitFrame, unitId)) then\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \n end\n \nend\n\n\n\n\n\n\n", ["SpellIds"] = { 354173, -- [1] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Shows the target name in a separate box", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Option 4", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Name"] = "Flash", ["Value"] = "Flash:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.8, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shake:", ["Name"] = "Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 5, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 40, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "Dot Animation", ["Value"] = "Dot Animation:", ["Key"] = "option14", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Name"] = "Option 19", ["Value"] = "Cast Bar", ["Key"] = "option19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Name"] = "Use Cast Bar Color", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] { ["Type"] = 6, ["Key"] = "option27", ["Value"] = 0, ["Name"] = "Option 27", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [27] { ["Type"] = 5, ["Key"] = "option28", ["Value"] = "Target Options", ["Name"] = "Option 28", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [28] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Fraction"] = false, ["Value"] = 14, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetNameSize", }, -- [29] { ["Type"] = 4, ["Key"] = "colorByClass", ["Value"] = true, ["Name"] = "Use Class Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [30] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [31] { ["Type"] = 1, ["Key"] = "targetBgColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 0.9846720322966576, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [32] { ["Type"] = 1, ["Key"] = "targetBgBorderColor", ["Value"] = { 0, -- [1] 0, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [33] { ["Type"] = 2, ["Max"] = 160, ["Desc"] = "", ["Min"] = 30, ["Fraction"] = false, ["Value"] = 90, ["Name"] = "Frame Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "targetFrameWidth", }, -- [34] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Name"] = "Frame Height", ["Value"] = 20, ["Key"] = "targetFrameHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [35] }, ["version"] = -1, ["Name"] = "Cast - Important Target [P]", ["NpcNames"] = { }, }, -- [25] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1626467946, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1162, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["NpcNames"] = { }, ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Alert + Timer [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Cast start animation settings", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 7, ["Key"] = "timerList", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "348513", -- [1] "14", -- [2] }, -- [3] { "348513", -- [1] "14", -- [2] }, -- [4] }, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", }, -- [26] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n function envTable.CheckUnit(unitFrame, envTable)\n if (envTable._NpcID == 185680) then\n --haste\n envTable.SetColor(unitFrame, \"haste\")\n \n elseif (envTable._NpcID == 185683) then\n --movement speed\n envTable.SetColor(unitFrame, \"ms\")\n \n elseif (envTable._NpcID == 185685) then\n --cooldown reduction\n envTable.SetColor(unitFrame, \"cdr\")\n \n end\n end\n \n function envTable.SetColor(unitFrame, bonusType)\n \n local r, g, b, a, name\n \n if (bonusType == \"haste\") then\n name = scriptTable.config.hasteName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.hasteColor)\n \n elseif (bonusType == \"ms\") then\n name = scriptTable.config.msName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.msColor)\n \n elseif (bonusType == \"cdr\") then\n name = scriptTable.config.cdrName\n r, g, b, a = DetailsFramework:ParseColors(scriptTable.config.cdrColor)\n end\n \n Plater.SetNameplateColor(unitFrame, r, g, b, a)\n if (scriptTable.config.canChangeSize) then\n Plater.SetNameplateSize(unitFrame, scriptTable.config.width, scriptTable.config.height)\n end\n \n --border\n if (scriptTable.config.showBorder) then\n r, g, b, a = r+0.2, g+0.2, b+0.2\n Plater.SetBorderColor(unitFrame, r, g, b)\n end\n \n --name\n unitFrame.healthBar.unitName:SetText(name)\n end\nend\n\n\n--185685 cooldown reduction\n--185680 haste\n--185683 movement speed\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckUnit(unitFrame, envTable)\nend\n\n\n", ["Time"] = 1647994498, ["url"] = "", ["Icon"] = 4263293, ["Enabled"] = true, ["Revision"] = 70, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Make more easy to distinguish relics within dungeons in 9.2 patch", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckUnit(unitFrame, envTable)\n \nend", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Name"] = "ColorSettingsAnchor", ["Value"] = "Color Settings", ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Adjust the nameplate color for each mob", }, -- [1] { ["Type"] = 1, ["Name"] = "Haste Color", ["Value"] = { 0.4549019607843137, -- [1] 0.2156862745098039, -- [2] 0.5490196078431373, -- [3] 1, -- [4] }, ["Key"] = "hasteColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "haste color", }, -- [2] { ["Type"] = 1, ["Key"] = "msColor", ["Value"] = { 0.3098039215686275, -- [1] 0.5215686274509804, -- [2] 0.2588235294117647, -- [3] 1, -- [4] }, ["Name"] = "Moviment Speep Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "moviment speep color", }, -- [3] { ["Type"] = 1, ["Name"] = "Cooldown Reduction Color", ["Value"] = { 0.1725490196078431, -- [1] 0.2823529411764706, -- [2] 0.5215686274509804, -- [3] 1, -- [4] }, ["Key"] = "cdrColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "cooldown reduction color", }, -- [4] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 5, ["Name"] = "SizeSettingsAnchor", ["Value"] = "Size Settings", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "canChangeSize", ["Value"] = false, ["Name"] = "Change Nameplate Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If this is checked, the nameplate size is changed to the values below", }, -- [7] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "total width of the nameplate", ["Min"] = 50, ["Key"] = "width", ["Value"] = 100, ["Name"] = "Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 2, ["Max"] = 40, ["Desc"] = "total height of the nameplate", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 12, ["Key"] = "height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Height", }, -- [9] { ["Type"] = 6, ["Name"] = "Option 9", ["Value"] = 0, ["Key"] = "option9", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [10] { ["Type"] = 5, ["Name"] = "BorderSettingsAnchor", ["Value"] = "Border Settings", ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [11] { ["Type"] = 4, ["Name"] = "Paint Border", ["Value"] = true, ["Key"] = "showBorder", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, the color of the border will have the same color as the nameplate", }, -- [12] { ["Type"] = 6, ["Name"] = "Option 12", ["Value"] = 0, ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Name"] = "NameSettings", ["Value"] = "Name Settings", ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 3, ["Name"] = "Haste Name", ["Value"] = "HASTE", ["Key"] = "hasteName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [15] { ["Type"] = 3, ["Key"] = "cdrName", ["Value"] = "CDR", ["Name"] = "Cooldown Reduction Name", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [16] { ["Type"] = 3, ["Name"] = "Movement Speed Name", ["Value"] = "MS", ["Key"] = "msName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "", }, -- [17] }, ["version"] = -1, ["Name"] = "Relics 9.2 M Dungeons", ["NpcNames"] = { "185685", -- [1] "185680", -- [2] "185683", -- [3] }, }, -- [27] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n local unitPowerBar = unitFrame.powerBar\n unitPowerBar:Hide()\nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then\n return \n end\n \n local continuationToken\n local slots\n local foundAura = false\n \n repeat \n slots = { UnitAuraSlots(unitId, \"HELPFUL\", BUFF_MAX_DISPLAY, continuationToken) }\n continuationToken = slots[1]\n numSlots = #slots\n \n for i = 2, numSlots do\n local slot = slots[i]\n local name, texture, count, actualAuraType, duration, expirationTime, caster, canStealOrPurge, nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, isCastByPlayer, nameplateShowAll, timeMod, auraAmount = UnitAuraBySlot(unitId, slot) \n \n if (spellId == envTable._SpellID) then --need to get the trigger spellId\n --Ablative Shield\n local unitPowerBar = unitFrame.powerBar\n if (not unitPowerBar:IsShown()) then\n unitPowerBar:SetUnit(unitId)\n end\n \n foundAura = true\n return\n end\n end\n \n until continuationToken == nil\n \n if (not foundAura) then\n local unitPowerBar = unitFrame.powerBar\n if (unitPowerBar:IsShown()) then\n unitPowerBar:Hide()\n end\n end\nend", ["Time"] = 1660259323, ["url"] = "", ["Icon"] = 610472, ["Enabled"] = true, ["Revision"] = 52, ["semver"] = "", ["Author"] = "Keyspell-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Show power bar where its value is the buff value (usualy shown in the buff tooltip)", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["SpellIds"] = { 227548, -- [1] }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Aura is Shield [P]", ["NpcNames"] = { }, }, -- [28] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OnHideCode"] = " function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n end\n ", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (UnitIsUnit(unitId .. \"target\", \"player\")) then\n Plater.SetNameplateColor(unitFrame, scriptTable.config.nameplateColor)\n else\n Plater.RefreshNameplateColor(unitFrame)\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1660340256, ["url"] = "", ["Icon"] = "Interface\\ICONS\\Ability_Fixated_State_Red", ["Enabled"] = true, ["Revision"] = 25, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Alert about a unit fixated on the player by using a buff on the enemy unit.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["SpellIds"] = { 285388, -- [1] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0, -- [1] 0.5568627450980392, -- [2] 0.03529411764705882, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Change the enemy nameplate color to this color when fixating you!", }, -- [1] }, ["version"] = -1, ["Name"] = "Fixate by Unit Buff [P]", ["NpcNames"] = { }, }, -- [29] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n\n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1666836560, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 346, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show a different animation for the cast bar.", ["NpcNames"] = { }, ["SpellIds"] = { 373429, -- [1] }, ["PlaterCore"] = 1, ["Name"] = "Cast - Glowing [P]", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Fraction"] = false, ["Value"] = 7, ["Name"] = "Amount of Segments", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "segmentsAmount", }, -- [1] { ["Type"] = 1, ["Name"] = "Spark Color", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Key"] = "sparkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetScaleFrom(0.2, 1)\n texture.scale:SetScaleTo(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\nend\n\n\n\n\n\n\n\n\n", }, -- [30] }, ["aura2_x_offset"] = 0, ["hook_data"] = { { ["OptionsValues"] = { }, ["LastHookEdited"] = "Constructor", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.NpcColors = {\n \n --examples, using the unit name in lower case, regular unit name and the unitID:\n \n [\"Thunderlord Windreader\"] = \"red\", --using regular mob name and color it as red\n [\"thunderlord crag-leaper\"] = {1, 1, 0}, --using lower case and coloring it yellow\n [75790] = \"#00FF00\", --using the ID of the unit and using green as color\n \n --insert the new mobs here:\n \n \n \n \n \n \n \n \n \n \n \n \n \n } --close custom color bracket\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --attempt to get the color from the unit color list\n local color = envTable.NpcColors [unitFrame.namePlateUnitNameLower] or envTable.NpcColors [unitFrame.namePlateUnitName] or envTable.NpcColors [unitFrame.namePlateNpcId]\n \n --if the color exists, set the health bar color\n if (color) then\n Plater.SetNameplateColor (unitFrame, color)\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Time"] = 1601490647, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\color_bar", ["Enabled"] = false, ["Revision"] = 51, ["Options"] = { }, ["Author"] = "Kastfall-Azralon", ["Desc"] = "Easy way to change the color of an unit. Open the constructor script and follow the examples.", ["Prio"] = 99, ["Name"] = "Color Automation [Plater]", ["PlaterCore"] = 1, ["semver"] = "", ["HooksTemp"] = { }, ["version"] = -1, }, -- [1] { ["Enabled"] = false, ["Revision"] = 73, ["semver"] = "", ["HooksTemp"] = { }, ["Author"] = "Izimode-Azralon", ["Time"] = 1541606242, ["Desc"] = "Hide neutral units, show when selected, see the constructor script for options.", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.HideNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end\n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n envTable.HideNameplate (unitFrame)\n end\n \nend\n\n\n\n\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat and InCombatLockdown()) then\n return\n end\n \n --check the unit reaction\n if (unitFrame.namePlateIsTarget) then\n envTable.ShowNameplate (unitFrame)\n \n else\n envTable.HideNameplate (unitFrame)\n \n end \n end\n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n envTable.ShowNameplate (unitFrame)\n end\n \nend\n\n\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --when plater finishes an update on the nameplate\n --check within the envTable if the healthBar of this nameplate should be hidden\n if (envTable.IsHidden) then\n if (unitFrame.healthBar:IsShown()) then\n envTable.HideNameplate (unitFrame)\n end\n end\n \nend\n\n\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateUnitReaction == envTable.REACTION_NEUTRAL) then\n \n --plater already handle this\n if (unitFrame.PlayerCannotAttack) then\n return\n end \n \n --check if is only open world\n if (envTable.OnlyInOpenWorld and Plater.ZoneInstanceType ~= \"none\") then\n return \n end\n \n --check for only in combat\n if (envTable.ShowInCombat) then\n envTable.ShowNameplate (unitFrame)\n end\n end\nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.OnlyInOpenWorld = true;\n envTable.ShowInCombat = true;\n \n --consts\n envTable.REACTION_NEUTRAL = 4;\n \n --functions to hide and show the healthBar\n function envTable.HideNameplate (unitFrame)\n Plater.HideHealthBar (unitFrame)\n Plater.DisableHighlight (unitFrame)\n envTable.IsHidden = true\n end\n \n function envTable.ShowNameplate (unitFrame)\n Plater.ShowHealthBar (unitFrame)\n Plater.EnableHighlight (unitFrame)\n envTable.IsHidden = false\n end\n \nend\n\n\n\n\n", }, ["PlaterCore"] = 1, ["Name"] = "Hide Neutral Units [Plater]", ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["LastHookEdited"] = "", ["url"] = "", ["Icon"] = 1990989, ["version"] = -1, }, -- [2] { ["Enabled"] = true, ["Revision"] = 348, ["Options"] = { { ["Type"] = 5, ["Name"] = "Icon Settings", ["Value"] = "Icon Settings:", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Name"] = "Show Icon", ["Value"] = true, ["Key"] = "showIcon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show the castbar icon when enabled", }, -- [2] { ["Type"] = 4, ["Name"] = "Icon on Left Side", ["Value"] = true, ["Key"] = "iconOnLeftSide", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled it anchor the icon on the left side, right otherwise", }, -- [3] { ["Type"] = 4, ["Key"] = "useFullSize", ["Value"] = false, ["Name"] = "Use Big Icon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled the icon has the size of the cast bar plus the healthbar", }, -- [4] { ["Type"] = 2, ["Max"] = 5, ["Desc"] = "Fine tune the icon size", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0, ["Name"] = "Icon Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "iconSizeOffset", }, -- [5] { ["Type"] = 2, ["Max"] = 5, ["Desc"] = "Space between the icon and the cast bar", ["Min"] = -5, ["Name"] = "Icon Padding", ["Value"] = 0, ["Key"] = "iconPadding", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 5, ["Name"] = "Interrupt Texture", ["Value"] = "Can't Interrupt Texture:", ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Name"] = "Show Texture", ["Value"] = true, ["Key"] = "showTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled show a texture to tell the cast can't be interrupted", }, -- [9] { ["Type"] = 3, ["Name"] = "Texture Path", ["Value"] = "Interface\\GROUPFRAME\\UI-GROUP-MAINTANKICON", ["Key"] = "iconTexturePath", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_text", ["Desc"] = "Insert the path for the texture", }, -- [10] { ["Type"] = 4, ["Name"] = "Texture Desaturated", ["Value"] = true, ["Key"] = "desaturatedTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enbaled, texture is shown in black & white", }, -- [11] { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 0.3056715726852417, -- [4] }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Select the color of the texture", }, -- [12] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Adjust the texture width", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 10, ["Name"] = "Texture Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "textureWidth", }, -- [13] { ["Type"] = 2, ["Max"] = 16, ["Desc"] = "The texture is set to be the same size as the cast bar, fine tune the height as wanted", ["Min"] = -16, ["Name"] = "Texture Height Mod", ["Value"] = 0, ["Key"] = "textureHeightMod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [14] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Adjust the texture position", ["Min"] = -32, ["Fraction"] = false, ["Value"] = 0, ["Name"] = "Texture Position", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "texturePosition", }, -- [15] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Adjust the texture transparency", ["Min"] = 0, ["Key"] = "textureAlpha", ["Value"] = 1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Alpha", }, -- [16] }, ["HooksTemp"] = { }, ["LastHookEdited"] = "", ["Author"] = "Ditador-Azralon", ["Name"] = "Cast Bar Icon Settings [P]", ["Desc"] = "Move the icon of the spell cast to the left or right side of the nameplate.", ["Hooks"] = { ["Cast Start"] = "function (self, unitId, unitFrame, envTable)\n \n unitFrame.castBar.BorderShield:SetDrawLayer(\"artwork\")\n envTable.UpdateIconPosition (unitFrame)\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Cast Update"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.UpdateIconPosition (unitFrame)\n self.ThrottleUpdate = -1\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable, modTable)\n \n --private:\n function envTable.UpdateIconPosition (unitFrame)\n local castBar = unitFrame.castBar\n local icon = castBar.Icon\n local noInterruptTexture = castBar.BorderShield\n \n if (modTable.config.showIcon) then\n icon:ClearAllPoints()\n \n if (modTable.config.iconOnLeftSide) then\n if (modTable.config.useFullSize) then\n icon:SetPoint (\"topright\", unitFrame.healthBar, \"topleft\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n \n else\n \n icon:SetPoint (\"topright\", unitFrame.castBar, \"topleft\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomright\", unitFrame.castBar, \"bottomleft\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n end\n \n else\n if (modTable.config.useFullSize) then\n icon:SetPoint (\"topleft\", unitFrame.healthBar, \"topright\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n \n else\n \n icon:SetPoint (\"topleft\", unitFrame.castBar, \"topright\", modTable.config.iconPadding, modTable.config.iconSizeOffset)\n icon:SetPoint (\"bottomleft\", unitFrame.castBar, \"bottomright\", modTable.config.iconPadding, -modTable.config.iconSizeOffset)\n end\n end\n \n icon:SetWidth (icon:GetHeight())\n icon:Show()\n else\n icon:Hide()\n end\n \n if (modTable.config.showTexture and not castBar.canInterrupt) then\n noInterruptTexture:Show()\n \n local texturePath = modTable.config.iconTexturePath\n texturePath = texturePath:gsub(\"//\", \"/\")\n texturePath = texturePath:gsub(\"\\\\\", \"/\")\n \n noInterruptTexture:SetTexture (texturePath)\n noInterruptTexture:SetTexCoord (0, 1, 0, 1)\n \n if (modTable.config.desaturatedTexture) then\n noInterruptTexture:SetDesaturated (modTable.config.desaturatedTexture)\n else\n noInterruptTexture:SetVertexColor (DetailsFramework:ParseColors (modTable.config.textureColor))\n end\n \n noInterruptTexture:SetSize (modTable.config.textureWidth, castBar:GetHeight() + modTable.config.textureHeightMod)\n noInterruptTexture:ClearAllPoints()\n noInterruptTexture:SetPoint (\"center\", castBar, \"left\", modTable.config.texturePosition, 0)\n noInterruptTexture:SetAlpha (modTable.config.textureAlpha)\n else\n noInterruptTexture:Hide()\n end\n end\nend", }, ["version"] = -1, ["Time"] = 1597097268, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["PlaterCore"] = 1, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\castbar_icon", ["semver"] = "", }, -- [3] { ["Enabled"] = false, ["Revision"] = 59, ["semver"] = "", ["HooksTemp"] = { }, ["Author"] = "Izimode-Azralon", ["Time"] = 1554138845, ["Desc"] = "Change the nameplate color when a nameplate does not have the auras set in the constructor script.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --Important: lines starting with double dashes are comments and are not part of the script\n \n --set this to true if you are not using threat colors in the health bar\n envTable.ForceRefreshNameplateColor = true\n \n --if the unit does not have any of the following auras, it will be painted with the color listed below\n --list of spells to track, can be the spell name (case-sensitive) or the spellID\n envTable.TrackingAuras = {\n --[\"Nightblade\"] = true, --this is an example using the spell name\n --[195452] = true, --this is an example using the spellID\n \n }\n \n --which color the nameplate wil be changed\n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n --you may also use /plater colors\n envTable.NameplateColor = \"pink\"\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --do nothing if the player isn't in combat\n if (not Plater.IsInCombat()) then\n return \n end\n \n --do nothing if the unit isn't in combat\n if (not unitFrame.InCombat) then\n return\n end\n \n --do nothing if the unit is the player it self\n if (unitFrame.IsSelf) then\n return\n end\n \n --check the auras\n local hasAura = false\n \n for auraName, _ in pairs (envTable.TrackingAuras) do\n if (Plater.NameplateHasAura (unitFrame, auraName)) then\n hasAura = true\n break\n end\n end\n \n if (not hasAura) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n else\n if (envTable.ForceRefreshNameplateColor) then\n Plater.RefreshNameplateColor (unitFrame) \n end\n end \n \nend", }, ["PlaterCore"] = 1, ["Name"] = "Don't Have Aura [Plater]", ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["LastHookEdited"] = "", ["url"] = "", ["Icon"] = 136207, ["version"] = -1, }, -- [4] { ["Enabled"] = false, ["Revision"] = 84, ["semver"] = "", ["HooksTemp"] = { }, ["Author"] = "Ahwa-Azralon", ["Time"] = 1547406548, ["Desc"] = "Add extra effects to execute range. See the constructor script for options.", ["Hooks"] = { ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --execute detection, if true the script will handle the execute percent\n --while false Plater will automatically trigger the execute range\n --you only want to set this to true in case of Plater not detecting the execute range correctly\n envTable.UseCustomExecutePercent = false\n --execute percent, if not detecting automatic, this is the percent to active the execute range\n --use from zero to one, 0.20 is equal to 20% of the unit life\n envTable.ExecutePercent = 0.20\n \n --allow this script to change the nameplate color when the unit is in execute range\n envTable.CanChangeColor = true\n --change the health bar color to this color when the unit is in execute range\n --color can be set as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0}\n envTable.ExecuteColor = \"green\"\n \n --border color\n envTable.CanChangeBorderColor = false\n envTable.BorderColor = \"red\"\n \n --hide the default health divisor and the health execute indicator\n envTable.HideHealthDivisor = false\n --if not hidden, adjust the health divisor settings and the health execute indicator\n envTable.HealthDivisorAlpha = 0.5\n envTable.HealthDivisorColor = \"white\"\n envTable.HealthExecuteIndicatorAlpha = 0.15\n envTable.HealthExecuteIndicatorColor = \"darkred\"\n \n \n --private (internal functions)\n do\n function envTable.UnitInExecuteRange (unitFrame)\n --check if can change the execute color\n if (envTable.CanChangeColor) then\n Plater.SetNameplateColor (unitFrame, envTable.ExecuteColor)\n end\n \n if (envTable.CanChangeBorderColor) then\n Plater.SetBorderColor (unitFrame, envTable.BorderColor)\n end\n \n if (envTable.HideHealthDivisor) then\n unitFrame.healthBar.healthCutOff:Hide() \n unitFrame.healthBar.executeRange:Hide()\n \n else\n envTable.UpdateHealthDivisor (unitFrame)\n \n end\n end\n \n function envTable.UpdateHealthDivisor (unitFrame)\n local healthBar = unitFrame.healthBar\n \n healthBar.healthCutOff:Show()\n healthBar.healthCutOff:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthDivisorColor))\n healthBar.healthCutOff:SetAlpha (envTable.HealthDivisorAlpha)\n \n healthBar.executeRange:Show()\n healthBar.executeRange:SetVertexColor (DetailsFramework:ParseColors (envTable.HealthExecuteIndicatorColor))\n healthBar.executeRange:SetAlpha (envTable.HealthExecuteIndicatorAlpha)\n \n if (envTable.UseCustomExecutePercent) then\n healthBar.healthCutOff:ClearAllPoints()\n healthBar.executeRange:ClearAllPoints()\n \n healthBar.healthCutOff:SetSize (healthBar:GetHeight(), healthBar:GetHeight())\n healthBar.healthCutOff:SetPoint (\"center\", healthBar, \"left\", healthBar:GetWidth() * envTable.ExecutePercent, 0)\n \n healthBar.executeRange:SetTexCoord (0, envTable.ExecutePercent, 0, 1)\n healthBar.executeRange:SetHeight (healthBar:GetHeight())\n healthBar.executeRange:SetPoint (\"left\", healthBar, \"left\", 0, 0)\n healthBar.executeRange:SetPoint (\"right\", healthBar.healthCutOff, \"center\")\n end\n \n end\n end\n \nend", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n if (envTable.UseCustomExecutePercent) then\n \n --manual detection\n local healthBar = unitFrame.healthBar\n if (healthBar.CurrentHealth / healthBar.CurrentHealthMax <= envTable.ExecutePercent) then\n envTable.UnitInExecuteRange (unitFrame)\n end \n \n else\n \n --auto detection\n if (unitFrame.InExecuteRange) then\n envTable.UnitInExecuteRange (unitFrame)\n end\n \n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["PlaterCore"] = 1, ["Name"] = "Execute Range [Plater]", ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["LastHookEdited"] = "", ["url"] = "", ["Icon"] = 135358, ["version"] = -1, }, -- [5] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Added"] = "\n\n-- exported function Plater.UpdatePlateSize() from Plater.lua\n--this is for advanced users which wants to reorder the nameplate frame at their desire\n\n\n\nfunction (self, unitId, unitFrame, envTable)\n \n --check if there's a type of unit on this nameplate\n local plateFrame = unitFrame:GetParent()\n if (not plateFrame.actorType) then\n return\n end\n \n --get all the frames and cache some variables\n local ACTORTYPE_ENEMY_PLAYER = \"enemyplayer\"\n local profile = Plater.db.profile\n local DB_PLATE_CONFIG = profile.plate_config\n local isInCombat = Plater.IsInCombat()\n local actorType = plateFrame.actorType\n \n local unitFrame = plateFrame.unitFrame\n local healthBar = unitFrame.healthBar\n local castBar = unitFrame.castBar\n local powerBar = unitFrame.powerBar\n local buffFrame1 = unitFrame.BuffFrame\n local buffFrame2 = unitFrame.BuffFrame2\n \n --use in combat bars when in pvp\n if (plateFrame.actorType == ACTORTYPE_ENEMY_PLAYER) then\n if ((Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"arena\") and DB_PLATE_CONFIG.player.pvp_always_incombat) then\n isInCombat = true\n end\n end\n \n --get the config for this actor type\n local plateConfigs = DB_PLATE_CONFIG [actorType]\n --get the config key based if the player is in combat\n local castBarConfigKey, healthBarConfigKey, manaConfigKey = Plater.GetHashKey (isInCombat)\n \n --get the width and height from what the user set in the options panel\n local healthBarWidth, healthBarHeight = unitFrame.customHealthBarWidth or plateConfigs [healthBarConfigKey][1], unitFrame.customHealthBarHeight or plateConfigs [healthBarConfigKey][2]\n local castBarWidth, castBarHeight = unitFrame.customCastBarWidth or plateConfigs [castBarConfigKey][1], unitFrame.customCastBarHeight or plateConfigs [castBarConfigKey][2]\n local powerBarWidth, powerBarHeight = unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][1], unitFrame.customPowerBarHeight or plateConfigs [manaConfigKey][2]\n \n --calculate the offset for the cast bar, this is done due to the cast bar be anchored to topleft and topright\n local castBarOffSetX = (healthBarWidth - castBarWidth) / 2\n local castBarOffSetY = plateConfigs.castbar_offset\n \n --calculate offsets for the power bar\n local powerBarOffSetX = (healthBarWidth - powerBarWidth) / 2\n local powerBarOffSetY = 0\n \n --calculate the size deviation for pets\n local unitType = Plater.GetUnitType (plateFrame)\n if (unitType == \"pet\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.pet_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.pet_width_scale\n \n elseif (unitType == \"minus\") then\n healthBarHeight = healthBarHeight * Plater.db.profile.minor_height_scale\n healthBarWidth = healthBarWidth * Plater.db.profile.minor_width_scale\n end\n \n --unit frame - is set to be the same size as the plateFrame\n unitFrame:ClearAllPoints()\n unitFrame:SetAllPoints()\n \n --calculates the health bar anchor points\n --it will always be placed in the center of the nameplate area (where it accepts mouse clicks) \n local xOffSet = (plateFrame:GetWidth() - healthBarWidth) / 2\n local yOffSet = (plateFrame:GetHeight() - healthBarHeight) / 2\n \n --set the health bar point\n healthBar:ClearAllPoints()\n PixelUtil.SetPoint (healthBar, \"topleft\", unitFrame, \"topleft\", xOffSet + profile.global_offset_x, -yOffSet + profile.global_offset_y)\n PixelUtil.SetPoint (healthBar, \"bottomright\", unitFrame, \"bottomright\", -xOffSet + profile.global_offset_x, yOffSet + profile.global_offset_y)\n \n --set the cast bar point and size\n castBar:ClearAllPoints()\n PixelUtil.SetPoint (castBar, \"topleft\", healthBar, \"bottomleft\", castBarOffSetX, castBarOffSetY)\n PixelUtil.SetPoint (castBar, \"topright\", healthBar, \"bottomright\", -castBarOffSetX, castBarOffSetY)\n PixelUtil.SetHeight (castBar, castBarHeight)\n PixelUtil.SetSize (castBar.Icon, castBarHeight, castBarHeight)\n PixelUtil.SetSize (castBar.BorderShield, castBarHeight * 1.4, castBarHeight * 1.4)\n \n --set the power bar point and size\n powerBar:ClearAllPoints()\n PixelUtil.SetPoint (powerBar, \"topleft\", healthBar, \"bottomleft\", powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetPoint (powerBar, \"topright\", healthBar, \"bottomright\", -powerBarOffSetX, powerBarOffSetY)\n PixelUtil.SetHeight (powerBar, powerBarHeight)\n \n --power bar are hidden by default, show it if there's a custom size for it\n if (unitFrame.customPowerBarWidth and unitFrame.customPowerBarHeight) then\n powerBar:SetUnit (unitFrame.unit)\n end\n \n --aura frames\n local bf1Anchor = Plater.db.profile.aura_frame1_anchor\n Plater.SetAnchor (buffFrame1, {side = bf1Anchor.side, x = bf1Anchor.x, y = bf1Anchor.y + plateConfigs.buff_frame_y_offset}, unitFrame.healthBar, (Plater.db.profile.aura_grow_direction or 2) == 2)\n \n local bf2Anchor = Plater.db.profile.aura_frame2_anchor\n Plater.SetAnchor (buffFrame2, {side = bf2Anchor.side, x = bf2Anchor.x, y = bf2Anchor.y + plateConfigs.buff_frame_y_offset}, unitFrame.healthBar, (Plater.db.profile.aura2_grow_direction or 2) == 2)\n \nend\n\n\n", }, ["Time"] = 1601490629, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 574574, ["Enabled"] = false, ["Revision"] = 94, ["semver"] = "", ["Author"] = "Kastfall-Azralon", ["Desc"] = "Function Plater.UpdatePlateSize from Plater.lua exported to scritps.", ["Prio"] = 99, ["version"] = -1, ["PlaterCore"] = 1, ["Options"] = { }, ["HooksTemp"] = { }, ["Name"] = "Reorder Nameplate [Plater]", }, -- [6] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Initialization"] = "function (modTable)\n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n modTable.changeBarColor = modTable.config.changeBarColor\n modTable.changeBorderColor = modTable.config.changeBorderColor\n modTable.resetColors = modTable.config.resetColors\n \n modTable.ListOfNpcs = {\n [61146] = modTable.config.color, --\"olive\", --monk statue npcID\n [103822] = modTable.config.color, --\"olive\", --druid treant npcID\n [15352] = modTable.config.color, --\"olive\", --shaman elemental\n [95072] = modTable.config.color, --\"olive\", --shaman greater earth elemental npcID\n [61056] = modTable.config.color, --\"olive\", --shaman primal earth elemental npcID\n \n }\nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable, modTable)\n if not unitId then\n return\n end\n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitId .. \"target\")\n \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n local unitName = UnitName (unitId .. \"target\")\n local unitNameLower = string.lower (unitName)\n \n --check if the npcID of this unit is in the npc list \n local color = modTable.ListOfNpcs [npcID] or modTable.ListOfNpcs [unitName] or modTable.ListOfNpcs [unitNameLower]\n \n if color then\n if modTable.changeBarColor then\n Plater.SetNameplateColor (unitFrame, color)\n end\n if modTable.changeBorderColor then\n Plater.SetBorderColor (unitFrame, color)\n end\n unitFrame.attackingSpecificUnitFromMod = true\n elseif unitFrame.attackingSpecificUnitFromMod and modTable.resetColors then\n if modTable.changeBorderColor then\n Plater.SetBorderColor (unitFrame)\n end\n if modTable.changeBarColor then\n Plater.RefreshNameplateColor (unitFrame)\n end\n unitFrame.attackingSpecificUnitFromMod = false\n end\n end\nend", }, ["Time"] = 1620377377, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["affix"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_attacking_unit", ["Enabled"] = false, ["Revision"] = 363, ["semver"] = "", ["Author"] = "Kastfall-Azralon", ["Desc"] = "Change the nameplate color if the unit is attacking a specific unit like Monk's Ox Statue or Druid's Treants. You may edit which units it track in the constructor script.", ["Name"] = "Attacking Specific Unit [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 1, ["Key"] = "color", ["Value"] = { 0.5019607843137255, -- [1] 0.5019607843137255, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [1] { ["Type"] = 4, ["Key"] = "changeBarColor", ["Value"] = true, ["Name"] = "Change Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "changeBorderColor", ["Value"] = false, ["Name"] = "Change Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "resetColors", ["Value"] = true, ["Name"] = "Reset Colors", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] }, ["HooksTemp"] = { }, ["version"] = -1, }, -- [7] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n if (envTable.IsEnabled) then\n if (unitFrame.IsSelf) then\n if (envTable.ShowOnPersonalBar) then\n envTable.BorderFrame:Show()\n else\n envTable.BorderFrame:Hide() \n end\n else\n envTable.BorderFrame:Show()\n end \n end\n \nend \n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.BorderFrame:Hide()\n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --border color\n local borderColor = \"yellow\"\n \n --size of the border\n local borderSize = 1\n \n --transparency\n local borderAlpha = 1\n \n --enabled (set to false it you only want to use the extra border in other scripts)\n local isEnabled = true\n \n --export border (allow the border to be used by other scripts)\n --other scripts can use:\n --unitFrame.healthBar.extraBorder:Show()\n --unitFrame.healthBar.extraBorder:SetVertexColor (r, g, b)\n --unitFrame.healthBar.extraBorder:SetBorderSizes (borderSize)\n local canExportBorder = true\n \n --do not add the border to personal bar\n local noPersonalBar = true\n \n --private\n do\n \n local newBorder = CreateFrame (\"frame\", nil, unitFrame.healthBar, \"NamePlateFullBorderTemplate\")\n envTable.BorderFrame = newBorder\n \n newBorder:SetBorderSizes (borderSize, borderSize, borderSize, borderSize)\n newBorder:UpdateSizes()\n \n local r, g, b = DetailsFramework:ParseColors (borderColor)\n newBorder:SetVertexColor (r, g, b, borderAlpha)\n \n envTable.ShowOnPersonalBar = not noPersonalBar\n \n if (canExportBorder) then\n unitFrame.healthBar.extraBorder = newBorder\n end\n \n if (not isEnabled) then\n envTable.IsEnabled = false\n else\n envTable.IsEnabled = true\n end\n end\n \nend\n\n\n", }, ["Time"] = 1601490633, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 133689, ["Enabled"] = false, ["Revision"] = 177, ["Options"] = { }, ["Author"] = "Tecno-Azralon", ["Desc"] = "Add another border with more customizations. This border can also be manipulated by other scripts.", ["Prio"] = 99, ["Name"] = "Extra Border [Plater]", ["PlaterCore"] = 1, ["semver"] = "", ["HooksTemp"] = { }, ["version"] = -1, }, -- [8] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n --constructor is executed only once when any script of the hook runs.\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --check if need update the amount of combo points shown\n if (envTable.LastPlayerTalentUpdate > envTable.LastUpdate) then\n envTable.UpdateComboPointAmount()\n end \n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n \n else\n envTable.ComboPointFrame:Hide()\n end \n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n --check if this nameplate is the current target\n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n else\n envTable.ComboPointFrame:Hide()\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable, modTable, ...)\n local powerType = ...\n \n if (powerType and powerType == \"COMBO_POINTS\" and unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.UpdateComboPoints()\n end\n \n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --update the amount of comboo points shown when the player changes talents or specialization\n envTable.UpdateComboPointAmount()\n \n --save the time of the last talent change\n envTable.LastPlayerTalentUpdate = GetTime()\n \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --settings\n local anchors = {\n {\"bottom\", unitFrame.healthBar, \"top\", 0, 24},\n }\n \n local sizes = {\n width = 12,\n height = 12,\n scale = 1,\n }\n \n local textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {0/128, 21/128, 101/128, 122/128},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {3/128, 18/128, 81/128, 96/128},\n }\n if WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE then\n textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {78/128, 98/128, 21/64, 41/64},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {100/128, 120/128, 21/64, 41/64},\n }\n end\n \n local frameLevel = 1000\n local frameStrata = \"high\" \n \n --private\n do\n --store combo points frames on this table\n envTable.ComboPoints = {}\n --save when the player changed talents or spec\n envTable.LastPlayerTalentUpdate = GetTime()\n --save when this nameplate got a combo point amount and alignment update \n \n --build combo points frame anchor (combo point are anchored to this)\n if (not unitFrame.PlaterComboPointFrame) then\n local hostFrame = CreateFrame (\"frame\", nil, unitFrame)\n hostFrame.ComboPointFramesPool = {}\n unitFrame.PlaterComboPointFrame = hostFrame\n envTable.ComboPointFrame = hostFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n \n --DetailsFramework:ApplyStandardBackdrop (envTable.ComboPointFrame) --debug anchor size\n \n --animations\n local onPlayShowAnimation = function (animation)\n --stop the hide animation if it's playing\n if (animation:GetParent():GetParent().HideAnimation:IsPlaying()) then\n animation:GetParent():GetParent().HideAnimation:Stop()\n end\n \n animation:GetParent():Show()\n end\n \n local onPlayHideAnimation = function (animation)\n --stop the show animation if it's playing\n if (animation:GetParent():GetParent().ShowAnimation:IsPlaying()) then\n animation:GetParent():GetParent().ShowAnimation:Stop()\n end\n end \n local onStopHideAnimation = function (animation)\n animation:GetParent():Hide() \n end\n \n local createAnimations = function (comboPoint)\n --on show\n comboPoint.ShowAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayShowAnimation, nil)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 1, 0.1, 0, 0, 1, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"alpha\", 1, 0.1, .5, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 2, 0.1, 1.2, 1.2, 1, 1)\n \n --on hide\n comboPoint.HideAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayHideAnimation, onStopHideAnimation)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"scale\", 1, 0.1, 1, 1, 0, 0)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"alpha\", 1, 0.1, 1, 0)\n end\n \n --build combo point frame \n for i =1, 10 do \n local f = CreateFrame (\"frame\", nil, envTable.ComboPointFrame)\n f:SetSize (sizes.width, sizes.height)\n tinsert (envTable.ComboPoints, f)\n tinsert (unitFrame.PlaterComboPointFrame.ComboPointFramesPool, f)\n \n local backgroundTexture = f:CreateTexture (nil, \"background\")\n backgroundTexture:SetTexture (textures.backgroundTexture)\n backgroundTexture:SetTexCoord (unpack (textures.backgroundTexCoords))\n backgroundTexture:SetSize (sizes.width, sizes.height)\n backgroundTexture:SetPoint (\"center\")\n \n local comboPointTexture = f:CreateTexture (nil, \"artwork\")\n comboPointTexture:SetTexture (textures.comboPointTexture)\n comboPointTexture:SetTexCoord (unpack (textures.comboPointTexCoords))\n \n comboPointTexture:SetSize (sizes.width, sizes.height)\n comboPointTexture:SetPoint (\"center\")\n comboPointTexture:Hide() \n \n f.IsActive = false\n \n f.backgroundTexture = backgroundTexture\n f.comboPointTexture = comboPointTexture\n \n createAnimations (f)\n end\n \n else\n envTable.ComboPointFrame = unitFrame.PlaterComboPointFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n envTable.ComboPoints = unitFrame.PlaterComboPointFrame.ComboPointFramesPool\n \n end \n \n envTable.ComboPointFrame:SetFrameLevel (frameLevel)\n envTable.ComboPointFrame:SetFrameStrata (frameStrata)\n \n function envTable.UpdateComboPoints()\n local comboPoints = GetComboPoints(\"player\", \"target\")\n --UnitPower (\"player\", Enum.PowerType.ComboPoints)\n \n for i = 1, envTable.TotalComboPoints do\n local thisComboPoint = envTable.ComboPoints [i]\n \n if (i <= comboPoints ) then\n --combo point enabled\n if (not thisComboPoint.IsActive) then\n thisComboPoint.ShowAnimation:Play()\n thisComboPoint.IsActive = true\n \n end\n \n else\n --combo point disabled\n if (thisComboPoint.IsActive) then\n thisComboPoint.HideAnimation:Play()\n thisComboPoint.IsActive = false\n \n end\n end\n end\n \n \n end\n \n function envTable.UpdateComboPointAmount()\n local namePlateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat[1]\n local comboPoints = UnitPowerMax (\"player\", Enum.PowerType.ComboPoints)\n local reservedSpace = (namePlateWidth - sizes.width * comboPoints) / comboPoints \n \n --store the total amount of combo points\n envTable.TotalComboPoints = comboPoints\n \n --update anchor frame\n envTable.ComboPointFrame:SetWidth (namePlateWidth)\n envTable.ComboPointFrame:SetHeight (20)\n envTable.ComboPointFrame:ClearAllPoints()\n for i = 1, #anchors do\n local anchor = anchors[i]\n envTable.ComboPointFrame:SetPoint (unpack (anchor))\n end \n \n --\n for i = 1, #envTable.ComboPoints do\n envTable.ComboPoints[i]:Hide()\n envTable.ComboPoints[i]:ClearAllPoints()\n end\n \n for i = 1, comboPoints do\n local comboPoint = envTable.ComboPoints[i]\n if i == 1 then\n comboPoint:SetPoint (\"left\", envTable.ComboPointFrame, \"left\", reservedSpace/2, 0)\n else\n comboPoint:SetPoint (\"left\", envTable.ComboPoints[i-1], \"right\", reservedSpace, 0)\n end\n \n comboPoint:Show()\n end\n \n envTable.LastUpdate = GetTime()\n \n envTable.UpdateComboPoints()\n end\n \n --initialize\n envTable.UpdateComboPointAmount()\n envTable.ComboPointFrame:Hide()\n end\n \n \nend", }, ["Time"] = 1621935143, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { ["Enabled"] = true, ["DRUID"] = true, ["ROGUE"] = true, }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { ["103"] = true, ["Enabled"] = true, }, }, ["url"] = "", ["Icon"] = 135426, ["Enabled"] = false, ["Revision"] = 284, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Show combo points above the nameplate for Druid Feral and Rogues.", ["Name"] = "Combo Points [Plater]", ["PlaterCore"] = 1, ["Options"] = { }, ["HooksTemp"] = { }, ["version"] = -1, }, -- [9] { ["Enabled"] = false, ["Revision"] = 182, ["semver"] = "", ["HooksTemp"] = { }, ["Author"] = "Izimode-Azralon", ["Time"] = 1548278227, ["Desc"] = "Show how many raid members are targeting the unit", ["Hooks"] = { ["Leave Combat"] = "function (self, unitId, unitFrame, envTable)\n envTable.CanShow = false;\n envTable.TargetAmount:SetText (\"\")\nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --when a nameplate is added to the screen check if the player is in combat\n if (InCombatLockdown()) then\n --player is in combat, check if can check amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n else\n envTable.CanShow = false; \n end\n \n envTable.TargetAmount:SetText (\"\");\n \nend", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.TargetAmount:SetText (\"\");\n envTable.CanShow = false;\n \nend\n\n\n", ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --if the script is allowed to show the amount of targets\n --also check if the unit is in combat\n if (envTable.CanShow and UnitAffectingCombat (unitId)) then\n \n --check if can update the amount of targets following the cooldown set in the constructor script\n --by default Plater updates the nameplate every 250ms, by default the cooldown is 2, so it'll update the amuont of target every 1/2 of a second\n envTable.UpdateCooldown = envTable.UpdateCooldown + 1\n if (envTable.UpdateCooldown < envTable.UpdateInterval) then\n return\n else\n \n --reset the cooldown interval to check the amount of target again\n envTable.UpdateCooldown = 0\n \n --get the amount of targets\n local amount;\n if (envTable.InRaid) then\n amount = envTable.NumTargetsInRaid (unitFrame) \n \n elseif (envTable.InParty) then\n amount = envTable.NumTargetsInParty (unitFrame) \n \n else\n envTable.TargetAmount:SetText (\"\")\n return\n end\n \n --update the amount text\n if (amount == 0) then\n envTable.TargetAmount:SetText (\"\")\n else\n envTable.TargetAmount:SetText (amount)\n end\n \n end\n end\nend\n\n\n", ["Enter Combat"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can show the amount of targets\n envTable.CanShow = envTable.CanShowTargetAmount();\n \n if (not envTable.CanShow) then\n envTable.TargetAmount:SetText (\"\") \n end\nend\n\n\n\n\n", ["Constructor"] = "--all gray text like this are comments and do not run as code\n--build the settings and basic functions for the hook\n\nfunction (self, unitId, unitFrame, envTable)\n \n --declare setting variables:\n local textColor = \"orange\";\n local textSize = 12;\n \n local showInRaid = true;\n local showInDungeon = true;\n local showInArena = false;\n local showInBattleground = false;\n local showInOpenWorld = true;\n \n envTable.UpdateInterval = 2; --each 2 updates in the nameplate it'll update the amount of targets\n \n local anchor = {\n side = 6, --1 = topleft 2 = left 3 = bottomleft 4 = bottom 5 = bottom right 6 = right 7 = topright 8 = top\n x = 4, --x offset\n y = 0, --y offset\n };\n \n \n ---------------------------------------------------------------------------------------------------------------------------------------------\n \n \n --frames:\n \n --create the text that will show the amount of people targeting the unit\n if (not unitFrame.healthBar.TargetAmount) then\n envTable.TargetAmount = Plater:CreateLabel (unitFrame.healthBar, \"\", textSize, textColor);\n Plater.SetAnchor (envTable.TargetAmount, anchor);\n unitFrame.healthBar.TargetAmount = envTable.TargetAmount\n end\n \n --in case Plater wipes the envTable\n envTable.TargetAmount = unitFrame.healthBar.TargetAmount\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --private variables (they will be used in the other scripts within this hook)\n envTable.CanShow = false;\n envTable.UpdateCooldown = 0;\n envTable.InRaid = false;\n envTable.InParty = false;\n \n --------------------------------------------------------------------------------------------------------------------------------------------- \n --functions\n \n --update the InRaid or InParty proprieties\n function envTable.UpdateGroupType()\n if (IsInRaid()) then\n envTable.InRaid = true;\n envTable.InParty = false; \n \n elseif (IsInGroup()) then\n envTable.InRaid = false;\n envTable.InParty = true; \n \n else\n envTable.InRaid = false; \n envTable.InParty = false;\n end\n end\n \n --this function controls if the amount of targets can show following the settings in the top of this script\n function envTable.CanShowTargetAmount()\n \n local _, instanceType, difficultyID, _, _, _, _, instanceMapID, instanceGroupSize = GetInstanceInfo()\n \n if (showInRaid and instanceType == \"raid\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInDungeon and instanceType == \"party\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInArena and instanceType == \"arena\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInBattleground and instanceType == \"pvp\") then\n envTable.UpdateGroupType()\n return true\n end\n \n if (showInOpenWorld and instanceType == \"none\") then\n envTable.UpdateGroupType()\n if (envTable.InRaid or envTable.InParty) then\n return true\n end\n end\n \n return false\n end\n \n --get the amount of player targetting the unit in raid or party\n function envTable.NumTargetsInRaid (unitFrame)\n local amount = 0\n for i = 1, GetNumGroupMembers() do\n local unit = \"raid\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n return amount\n end\n \n function envTable.NumTargetsInParty()\n local amount = 0\n for i = 1, GetNumGroupMembers() - 1 do\n local unit = \"party\" .. i .. \"target\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end\n end\n \n local unit = \"playertarget\"\n if (UnitGUID (unit) == unitFrame.namePlateUnitGUID) then\n amount = amount + 1\n end \n \n return amount\n end\n \nend", }, ["PlaterCore"] = 1, ["Name"] = "Players Targeting a Target [Plater]", ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["LastHookEdited"] = "", ["url"] = "", ["Icon"] = 1966587, ["version"] = -1, }, -- [10] { ["Enabled"] = false, ["Revision"] = 93, ["semver"] = "", ["HooksTemp"] = { }, ["Author"] = "Izimode-Azralon", ["Time"] = 1552354619, ["Desc"] = "Changes the target color to the color set in the constructor script.", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n envTable.UpdateColor (unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --usage: color name e.g \"red\" \"yellow\"; color table e.g {1, 0, 0} {1, 1, 0}; hex string e.g. \"#FF0000\" \"FFFF00\"\n \n envTable.TargetColor = \"purple\"\n --envTable.TargetColor = \"#FF00FF\"\n --envTable.TargetColor = {252/255, 0/255, 254/255}\n \n function envTable.UpdateColor (unitFrame)\n --do not change the color of the personal bar\n if (not unitFrame.IsSelf) then\n \n --if this nameplate the current target of the player?\n if (unitFrame.namePlateIsTarget) then\n Plater.SetNameplateColor (unitFrame, envTable.TargetColor) --rgb\n else\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n end\n end\n end\n \nend\n\n\n\n\n", }, ["PlaterCore"] = 1, ["Name"] = "Current Target Color [Plater]", ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["LastHookEdited"] = "", ["url"] = "", ["Icon"] = 878211, ["version"] = -1, }, -- [11] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Initialization"] = "function (modTable)\n \n --ATTENTION: after enabling this mod, you may have to adjust the anchor point at the Buff Settings tab\n \n local sortByTime = false\n local invertSort = false\n \n --which auras goes first, assign a value (any number), bigger value goes first\n local priority = {\n [\"Vampiric Touch\"] = 50,\n [\"Shadow Word: Pain\"] = 22,\n [\"Mind Flay\"] = 5,\n [\"Pistol Shot\"] = 50,\n [\"Marked for Death\"] = 99,\n }\n \n -- Sort function - do not touch\n Plater.db.profile.aura_sort = true\n \n \n function Plater.AuraIconsSortFunction (aura1, aura2)\n local p1 = priority[aura1.SpellId] or priority[aura1.SpellName] or 1\n local p2 = priority[aura2.SpellId] or priority[aura2.SpellName] or 1\n \n if sortByTime and p1 == p2 then\n if invertSort then\n return (aura1.Duration == 0 and 99999999 or aura1.RemainingTime or 0) > (aura2.Duration == 0 and 99999999 or aura2.RemainingTime or 0)\n else\n return (aura1.Duration == 0 and 99999999 or aura1.RemainingTime or 0) < (aura2.Duration == 0 and 99999999 or aura2.RemainingTime or 0)\n end\n else\n if invertSort then\n return p1 < p2\n else\n return p1 > p2\n end\n end\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", }, ["Time"] = 1608663128, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["affix"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_reorder", ["Enabled"] = false, ["Revision"] = 356, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Desc"] = "Reorder buffs and debuffs following the settings set in the constructor.", ["Name"] = "Aura Reorder [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["HooksTemp"] = { }, ["Options"] = { }, }, -- [12] }, ["aura_x_offset"] = 0, ["saved_cvars_last_change"] = { ["NamePlateClassificationScale"] = "Interface\\FrameXML\\InterfaceOptionsPanels.lua:1442", ["NamePlateVerticalScale"] = "Interface\\FrameXML\\InterfaceOptionsPanels.lua:1441", ["NamePlateHorizontalScale"] = "Interface\\FrameXML\\InterfaceOptionsPanels.lua:1440", }, ["cast_statusbar_fadeout_time"] = 0.4999999701976776, ["patch_version_profile"] = 1, ["target_shady_alpha"] = 0.5999999642372131, ["ui_parent_scale_tune"] = 1.562500034924597, ["cast_statusbar_fadein_time"] = 0.01999999955296516, ["cast_statusbar_spark_alpha"] = 0.8299999833106995, ["aura2_y_offset"] = 5, ["login_counter"] = 2815, ["script_data_trash"] = { { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = false --change to true to change the color\n envTable.NameplateColor = \"pink\"\n envTable.NameplateSizeOffset = 6 --increase the nameplate height by this value\n envTable.GlowAlpha = 0.5 --amount of alpha in the outside glow effect\n \n --create a glow effect around the nameplate\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar, envTable.NameplateColor)\n envTable.glowEffect:SetOffset (-27, 25, 9, -11)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() --\n \n --set the glow effect alpha\n envTable.glowEffect:SetAlpha (envTable.GlowAlpha)\n \nend\n\n--[=[\nUsing spellIDs for multi-language support\n\n135029 - A Knot of Snakes (Temple of Sethraliss)\n135388 - A Knot of Snakes (Temple of Sethraliss)\n134612 - Grasping Tentacles (Shrine of the Storm)\n133361 - Wasting Servant (Waycrest Manor)\n136330 - Soul Thorns (Waycrest Manor)\n130896 - Blackout Barrel (Freehold)\n129758 - Irontide Grenadier (Freehold)\n131009 - Spirit of Gold (Atal`Dazar)\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1537884697, ["url"] = "", ["Icon"] = 135996, ["Enabled"] = true, ["Revision"] = 156, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["NpcNames"] = { "135029", -- [1] "134388", -- [2] "134612", -- [3] "133361", -- [4] "136330", -- [5] "130896", -- [6] "129758", -- [7] "Healing Tide Totem", -- [8] "131009", -- [9] }, ["Name"] = "Unit - Important [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \nend\n\n\n", }, -- [1] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Hide()\n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1539013601, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 399, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the buff name in the trigger box.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 275826, -- [1] 272888, -- [2] 272659, -- [3] 267901, -- [4] 267830, -- [5] 265393, -- [6] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Aura - Buff Alert [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.buffIconGlow:Show()\n \nend", }, -- [2] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately)\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.8 --0.8\n local CONFIG_BORDER_GLOW_ALPHA = 0.3 --0.3\n local CONFIG_SHAKE_DURATION = 0.2 --0.2\n local CONFIG_SHAKE_AMPLITUDE = 5 --5\n \n --create a glow effect in the border of the cast bar\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (self)\n envTable.glowEffect:SetOffset (-32, 30, 7, -9)\n envTable.glowEffect:SetAlpha (CONFIG_BORDER_GLOW_ALPHA)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, CONFIG_SHAKE_DURATION, CONFIG_SHAKE_AMPLITUDE, 35, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2)\n fadeOut:SetDuration (CONFIG_BACKGROUND_FLASH_DURATION/2) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = CONFIG_SHAKE_AMPLITUDE\n envTable.FrameShake.OriginalDuration = CONFIG_SHAKE_DURATION \n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Hide()\n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1561923707, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 391, ["semver"] = "", ["Author"] = "Bombado-Azralon", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 257785, -- [1] 267237, -- [2] 266951, -- [3] 267273, -- [4] 267433, -- [5] 263066, -- [6] 255577, -- [7] 255371, -- [8] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Cast - Very Important [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \nend\n\n\n", }, -- [3] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.NameplateSizeOffset = 3\n envTable.GlowAlpha = .45\n envTable.ShowArrow = true\n envTable.ArrowAlpha = .45 \n envTable.HealthBarColor = \"orange\"\n \n --custom frames\n envTable.glowEffect = envTable.glowEffect or Plater.CreateNameplateGlow (unitFrame.healthBar)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide() \n envTable.glowEffect:SetOffset (-27, 25, 6, -8)\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 32\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\CastingBar\\UI-CastingBar-Spark]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = 8\n envTable.topArrow.height = 8\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.glowEffect:Hide()\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-16, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \nend\n\n\n", ["Time"] = 1540663131, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 324, ["semver"] = "", ["Author"] = "Bombado-Azralon", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 240446, -- [1] 273577, -- [2] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Explosion Affix M+ [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.glowEffect:Show()\n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 32\n \n envTable.glowEffect.Texture:SetAlpha (envTable.GlowAlpha)\n \n \nend\n\n\n\n\n\n\n", }, -- [4] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --creates a glow around the icon\n envTable.debuffIconGlow = envTable.debuffIconGlow or Plater.CreateIconGlow (self)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Hide()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1538429739, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 232, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Aura - Debuff Alert [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.debuffIconGlow:Show()\n \nend\n\n\n", }, -- [5] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --https://www.wowhead.com/spell=253583/fiery-enchant\n \n --settings (you may need /reload if some configs isn't applied immediately)\n \n --castbar color (when can be interrupted)\n envTable.CastbarColor = \"darkorange\"\n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = 0.4\n --add this value to the cast bar height\n envTable.CastBarHeightAdd = 5\n \n \n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, 0.2, 5, 35, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n --restore the cast bar to its original height\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n envTable.OriginalHeight = nil\n end\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1561924439, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 574, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 258153, -- [1] 258313, -- [2] 257069, -- [3] 274569, -- [4] 278020, -- [5] 261635, -- [6] 272700, -- [7] 280404, -- [8] 268030, -- [9] 265368, -- [10] 263891, -- [11] 264520, -- [12] 265407, -- [13] 278567, -- [14] 278602, -- [15] 258128, -- [16] 257791, -- [17] 258938, -- [18] 265089, -- [19] 272183, -- [20] 256060, -- [21] 257397, -- [22] 257899, -- [23] 269972, -- [24] 270901, -- [25] 270492, -- [26] 268129, -- [27] 268709, -- [28] 263215, -- [29] 268797, -- [30] 262540, -- [31] 262554, -- [32] 253517, -- [33] 255041, -- [34] 252781, -- [35] 250368, -- [36] 258777, -- [37] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Cast - Big Alert [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n \n envTable.BackgroundFlash:Play()\n \nend\n\n\n\n\n\n\n\n\n", }, -- [6] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (you may need /reload if some configs isn't applied immediately)\n \n --flash duration\n local CONFIG_FLASH_DURATION = 0.6\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n \n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \nend\n\n\n", ["Time"] = 1539201768, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 376, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 275192, -- [1] 265912, -- [2] 274438, -- [3] 268317, -- [4] 268375, -- [5] 276767, -- [6] 264105, -- [7] 265876, -- [8] 270464, -- [9] 266106, -- [10] 272180, -- [11] 278961, -- [12] 278755, -- [13] 265468, -- [14] 256405, -- [15] 256897, -- [16] 264101, -- [17] 280604, -- [18] 268702, -- [19] 281621, -- [20] 262515, -- [21] 255824, -- [22] 253583, -- [23] 250096, -- [24] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Cast - Small Alert [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", }, -- [7] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = true --set to 'false' to disable blinks\n envTable.GlowEnabled = true --set to 'false' to disable glows\n envTable.ChangeNameplateColor = true; --set to 'true' to enable nameplate color change\n envTable.TimeLeftToBlink = 4.5; --in seconds, affects the blink effect only\n envTable.BlinkSpeed = 1.0; --time to complete a blink loop\n envTable.BlinkColor = \"white\"; --color of the blink\n envTable.BlinkMaxAlpha = 0.50; --max transparency in the animation loop (1.0 is full opaque)\n envTable.NameplateColor = \"darkred\"; --nameplate color if ChangeNameplateColor is true\n \n --text color\n envTable.TimerColorEnabled = true --set to 'false' to disable changes in the color of the time left text\n envTable.TimeLeftWarning = 8.0; --in seconds, affects the color of the text\n envTable.TimeLeftCritical = 3.0; --in seconds, affects the color of the text \n envTable.TextColor_Warning = \"yellow\"; --color when the time left entered in a warning zone\n envTable.TextColor_Critical = \"red\"; --color when the time left is critical\n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1547991413, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 157, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Aura - Blink by Time Left [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", }, -- [8] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n envTable.movingArrow:SetAlpha (0.275)\n --envTable.movingArrow:SetDesaturated (true)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n local animation = Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.2, self:GetWidth()-16, 0)\n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = " function (self, unitId, unitFrame, envTable)\n \n end\n ", ["Time"] = 1539201849, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 171, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 255952, -- [1] 257426, -- [2] 274400, -- [3] 272609, -- [4] 269843, -- [5] 269029, -- [6] 272827, -- [7] 269266, -- [8] 263912, -- [9] 264923, -- [10] 258864, -- [11] 256955, -- [12] 265540, -- [13] 260793, -- [14] 270003, -- [15] 270507, -- [16] 257337, -- [17] 268415, -- [18] 275907, -- [19] 268865, -- [20] 260669, -- [21] 260280, -- [22] 253239, -- [23] 265541, -- [24] 250258, -- [25] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Cast - Frontal Cone [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.movingAnimation:Play()\nend\n\n\n", }, -- [9] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \nend\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n end \nend\n\n\n", ["Time"] = 1539187387, ["url"] = "", ["Icon"] = 1029718, ["Enabled"] = true, ["Revision"] = 190, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Desc"] = "Show above the nameplate who is the player fixated", ["__TrashAt"] = 1604939713, ["SpellIds"] = { 272584, -- [1] 244653, -- [2] }, ["PlaterCore"] = 1, ["NpcNames"] = { }, ["Name"] = "Fixate [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n \nend\n\n\n", }, -- [10] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [268074] = \"Dark Purpose\", --G'huun Mythic Add\n [260954] = \"Iron Gaze\", --Sergeant Bainbridge - Siege of Boralus\n [257739] = \"Blind Rage\", --Blacktooth Scrapper - Freehold\n [257314] = \"Black Powder Bomb\", --Irontide Grenadier - Freehold\n [266107] = \"Thirst For Blood\", --Feral Bloodswarmer - The Underrot\n [257582] = \"Raging Gaze\", --Earthrager - The MOTHERLODE!!\n [262377] = \"Seek and Destroy\", --Crawler Mine - The MOTHERLODE!!\n [257407] = \"Pursuit\", --Rezan - Atal'Dazar\n --[] = \"\" -- \n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1543250950, ["url"] = "", ["Icon"] = 841383, ["Enabled"] = true, ["Revision"] = 194, ["semver"] = "", ["Author"] = "Tecno-Azralon", ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["__TrashAt"] = 1604939713, ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] }, ["PlaterCore"] = 1, ["NpcNames"] = { "smuggled crawg", -- [1] "sergeant bainbridge", -- [2] "blacktooth scrapper", -- [3] "irontide grenadier", -- [4] "feral bloodswarmer", -- [5] "earthrager", -- [6] "crawler mine", -- [7] "rezan", -- [8] "136461", -- [9] }, ["Name"] = "Fixate On You [Plater]", ["version"] = -1, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", }, -- [11] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = scriptTable.config.changeNameplateColor --\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset --\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/skullbones_128]])\n unitFrame.UnitImportantSkullTexture:SetPoint(\"center\", unitFrame.healthBar, \"center\", 0, -5)\n \n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n164362 - smily morsel - plaguefall\n168882 - fleeting manifestation - sanguine depths\n170234 - oppressive banner - theater of pain\n168988 - overgrowth - Mists of Tirna Scithe\n170452 - essesnce orb - torghast\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604599472, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 355, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\nend\n\n\n\n\n", ["Name"] = "Unit - Important [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Nameplate Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "nameplateSizeOffset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Skull Texture", ["Name"] = "Skull Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Skull Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "", ["Min"] = 0, ["Name"] = "Alpha", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullAlpha", }, -- [12] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "", ["Min"] = 0.4, ["Key"] = "skullScale", ["Value"] = 0.6, ["Name"] = "Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "135029", -- [1] "134388", -- [2] "134612", -- [3] "133361", -- [4] "136330", -- [5] "130896", -- [6] "129758", -- [7] "Healing Tide Totem", -- [8] "131009", -- [9] }, }, -- [12] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1604354808, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 604, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", ["Name"] = "Aura - Buff Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["version"] = -1, ["SpellIds"] = { 275826, -- [1] 272888, -- [2] 272659, -- [3] 267901, -- [4] 267830, -- [5] 265393, -- [6] }, ["NpcNames"] = { }, }, -- [13] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604674264, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 695, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \nend\n\n\n", ["Name"] = "Cast - Very Important [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a big animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Name"] = "Shake Amplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["version"] = -1, ["SpellIds"] = { 257785, -- [1] 267237, -- [2] 266951, -- [3] 267273, -- [4] 267433, -- [5] 263066, -- [6] 255577, -- [7] 255371, -- [8] }, ["NpcNames"] = { }, }, -- [14] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n\nend\n\n\n", ["Time"] = 1604698647, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 462, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\nend\n\n\n\n\n\n\n", ["Name"] = "Explosion Affix M+ [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "showArrow", ["Value"] = true, ["Name"] = "Show Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Key"] = "arrowWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] }, ["version"] = -1, ["SpellIds"] = { 240446, -- [1] 273577, -- [2] }, ["NpcNames"] = { }, }, -- [15] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1604454032, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 351, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", ["Name"] = "Aura - Debuff Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { }, }, -- [16] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\nend\n\n\n", ["Time"] = 1604617977, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 513, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \nend", ["Name"] = "Cast - Ultra Important [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Name"] = "Health Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [16] }, ["version"] = -1, ["SpellIds"] = { 332329, -- [1] 320103, -- [2] 321406, -- [3] 335817, -- [4] 321061, -- [5] 320141, -- [6] 326171, -- [7] }, ["NpcNames"] = { }, }, -- [17] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604696442, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 970, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["Name"] = "Cast - Big Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["version"] = -1, ["SpellIds"] = { 258153, -- [1] 258313, -- [2] 257069, -- [3] 274569, -- [4] 278020, -- [5] 261635, -- [6] 272700, -- [7] 280404, -- [8] 268030, -- [9] 265368, -- [10] 263891, -- [11] 264520, -- [12] 265407, -- [13] 278567, -- [14] 278602, -- [15] 258128, -- [16] 257791, -- [17] 258938, -- [18] 265089, -- [19] 272183, -- [20] 256060, -- [21] 257397, -- [22] 257899, -- [23] 269972, -- [24] 270901, -- [25] 270492, -- [26] 268129, -- [27] 268709, -- [28] 263215, -- [29] 268797, -- [30] 262540, -- [31] 262554, -- [32] 253517, -- [33] 255041, -- [34] 252781, -- [35] 250368, -- [36] 258777, -- [37] }, ["NpcNames"] = { }, }, -- [18] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1604617585, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 595, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["Name"] = "Cast - Small Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a small animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [5] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["version"] = -1, ["SpellIds"] = { 275192, -- [1] 265912, -- [2] 274438, -- [3] 268317, -- [4] 268375, -- [5] 276767, -- [6] 264105, -- [7] 265876, -- [8] 270464, -- [9] 266106, -- [10] 272180, -- [11] 278961, -- [12] 278755, -- [13] 265468, -- [14] 256405, -- [15] 256897, -- [16] 264101, -- [17] 280604, -- [18] 268702, -- [19] 281621, -- [20] 262515, -- [21] 255824, -- [22] 253583, -- [23] 250096, -- [24] }, ["NpcNames"] = { }, }, -- [19] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n --check for marks\n function envTable.CheckMark (unitId, unitFrame)\n if (not GetRaidTargetIndex(unitId)) then\n if (scriptTable.config.onlyInCombat) then\n if (not UnitAffectingCombat(unitId)) then\n return\n end \n end\n \n SetRaidTarget(unitId, 8)\n end \n end\nend\n\n\n--163520 - forsworn squad-leader\n--163618 - zolramus necromancer - The Necrotic Wake\n--164506 - anciet captain - theater of pain\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n", ["Time"] = 1604696441, ["url"] = "", ["Icon"] = "Interface\\Worldmap\\GlowSkull_64Grey", ["Enabled"] = true, ["Revision"] = 63, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Auto set skull marker", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Name"] = "Auto Set Skull", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Auto set a raid target Skull on the unit.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "onlyInCombat", ["Value"] = false, ["Name"] = "Only in Combat", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Set the mark only if the unit is in combat.", }, -- [3] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "163520", -- [1] "163618", -- [2] "164506", -- [3] }, }, -- [20] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n--[=[\n\n154564 - debug\n\n168098 - empowered coldheart agent\n156212 - coldheart agent\n\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604607993, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 406, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n unitFrame.healthBar.MainTargetDotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + scriptTable.config.nameplateSizeOffset)\n \nend\n\n\n\n\n\n\n\n", ["Name"] = "Unit - Main Target [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "156212", -- [1] "168098", -- [2] }, }, -- [21] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1604354808, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 331, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["Name"] = "Aura - Blink by Time Left [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change NamePlate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Name"] = "Timeleft to Blink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeleftToBlink", }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Blink Speed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkSpeed", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Blink Max Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkMaxAlpha", }, -- [9] { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Key"] = "", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Key"] = "timerColorEnabled", ["Value"] = true, ["Name"] = "Timer Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Warning", ["Value"] = 8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftWarning", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Critical", ["Value"] = 3, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftCritical", }, -- [15] { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { }, }, -- [22] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.npcInfo = {\n [164427] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"1\", name = \"Boom!\"}, --reanimated warrior - plaguefall\n \n [164414] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"2\", name = \"Boom!\"}, --reanimated mage - plaguefall\n \n [164185] = {secondCastBar = true, timer = 20, timerId = 319941, altCastId = \"3\", remaining = 5, name = GetSpellInfo(319941)}, --Echelon - Halls of Atonement\n \n [164567] = {secondCastBar = true, altCastId = \"dromanswrath\", debuffTimer = 323059, name = GetSpellInfo(323059), spellIcon = 323059}, --Ingra Maloch -- tirna scythe\n \n [165408] = {secondCastBar = true, timer = 20, timerId = 322711, altCastId = \"4\", remaining = 5, name = GetSpellInfo(322711)}, --Halkias - Refracted Sinlight - Halls of Atonement\n \n \n --[154564] = {secondCastBar = true, timerId = \"Test Bar\", altCastId = \"debugcast\", remaining = 5, name = GetSpellInfo(319941), spellIcon = 319941}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n --[154580] = {secondCastBar = true, altCastId = \"debugcast\", debuffTimer = 204242, name = GetSpellInfo(81297), spellIcon = 81297}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n }\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end\n \n DetailsFramework:TruncateText(unitFrame.castBar2.Text, unitFrame.castBar2:GetWidth() - 16)\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\nend", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId ~= npcInfo.altCastId or not unitFrame.castBar2:IsShown()) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end \n \n elseif (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n --get the debuff timeleft\n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n local startTime = expirationTime - duration\n \n if (not unitFrame.castBar2:IsShown() or unitFrame.castBar2.spellStartTime < startTime) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, startTime)\n end\n \n else \n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604354364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\Images\\countdown_bar_icon", ["Enabled"] = true, ["Revision"] = 206, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Some units has special events without a clear way to show. This script adds a second cast bar to inform the user about it.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n \n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, expirationTime-duration)\n else\n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n else\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Name"] = "Countdown", ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "164427", -- [1] "164414", -- [2] "164185", -- [3] "164567", -- [4] "165408", -- [5] }, }, -- [23] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.lifePercent = {\n --npcId percent divisions\n [154564] = {80, 30}, --debug\n [164451] = {40}, --dessia the decapirator - theater of pain\n [164463] = {40}, --Paceran the Virulent - theater of pain\n [164461] = {40}, -- Sathel the Accursed - theater of pain\n [165946]= {50}, -- ~mordretha - thather of pain\n [164501] = {70, 40, 10}, --mistcaller - tina scythe\n [164218] = {70, 40}, --Lord Chamberlain - Halls of Atonement\n }\n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1604354628, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 108, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Name"] = "Unit - Health Markers [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "indicatorColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Vertical Line Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Name"] = "Vertical Line Alpha", ["Value"] = 0.79, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Name"] = "Fill Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "fillColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "fillAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "164451", -- [1] "164463", -- [2] "164461", -- [3] "165946", -- [4] "164501", -- [5] "164218", -- [6] }, }, -- [24] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["Time"] = 1604599443, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 460, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["Name"] = "Cast - Frontal Cone [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 0.275, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Name"] = "Animation Speed", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animSpeed", }, -- [6] { ["Type"] = 4, ["Key"] = "desaturateArrow", ["Value"] = false, ["Name"] = "Use White Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["version"] = -1, ["SpellIds"] = { 255952, -- [1] 257426, -- [2] 274400, -- [3] 272609, -- [4] 269843, -- [5] 269029, -- [6] 272827, -- [7] 269266, -- [8] 263912, -- [9] 264923, -- [10] 258864, -- [11] 256955, -- [12] 265540, -- [13] 260793, -- [14] 270003, -- [15] 270507, -- [16] 257337, -- [17] 268415, -- [18] 275907, -- [19] 268865, -- [20] 260669, -- [21] 260280, -- [22] 253239, -- [23] 265541, -- [24] 250258, -- [25] }, ["NpcNames"] = { }, }, -- [25] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n--165560 = Gormling Larva - MTS\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n \n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n end \nend\n\n\n", ["Time"] = 1604239880, ["url"] = "", ["Icon"] = 1029718, ["Enabled"] = true, ["Revision"] = 269, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n\n\n\n\n", ["Desc"] = "Show above the nameplate who is the player fixated", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Fixate [Plater]", ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { }, }, -- [26] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604593143, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_tank", ["Enabled"] = true, ["Revision"] = 833, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Cast alert for abilities which only the tank can interrupt.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["Name"] = "Cast - Tank Interrupt [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Name"] = "Flash Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Fraction"] = false, ["Value"] = 25, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 30, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] }, ["version"] = -1, ["SpellIds"] = { 321828, -- [1] }, ["NpcNames"] = { }, }, -- [27] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18); \n \n envTable.EnergyAmount.fontsize = scriptTable.config.fontSize\n envTable.EnergyAmount.fontcolor = scriptTable.config.fontColor\n envTable.EnergyAmount.outline = scriptTable.config.outline\n \n \nend\n\n--[=[\n\n164406 = Shriekwing\n164407 = Sludgefist\n162100 = kryxis the voracious\n162099 = general kaal - sanguine depths\n162329 = Xav the Unfallen - threater of pain\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local currentPower = UnitPower(unitId)\n \n if (currentPower and currentPower > 0) then\n local maxPower = UnitPowerMax (unitId)\n local percent = floor (currentPower / maxPower * 100)\n \n envTable.EnergyAmount.text = \"\" .. percent;\n \n if (scriptTable.config.showLater) then\n local alpha = (percent -80) * 5\n alpha = alpha / 100\n alpha = max(0, alpha)\n envTable.EnergyAmount:SetAlpha(alpha)\n \n else\n envTable.EnergyAmount:SetAlpha(1.0)\n end\n \n \n else\n envTable.EnergyAmount.text = \"\"\n end\nend\n\n\n\n\n\n\n\n\n", ["Time"] = 1604357453, ["url"] = "", ["Icon"] = 136048, ["Enabled"] = true, ["Revision"] = 233, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show the energy amount above the nameplate.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", ["Name"] = "Unit - Show Energy [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Show the power of the unit above the nameplate.", ["Name"] = "script desc", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "add trigger", ["Value"] = "Add the unit name or unitId in the \"Add Trigger\" field and press \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "showLater", ["Value"] = true, ["Name"] = "Show at 80% of Energy", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the energy won't start showing until the unit has 80% energy.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 2", ["Value"] = 0, ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Text size.", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 16, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "fontSize", }, -- [7] { ["Type"] = 1, ["Key"] = "fontColor", ["Value"] = { 0.803921568627451, -- [1] 0.803921568627451, -- [2] 0.803921568627451, -- [3] 1, -- [4] }, ["Name"] = "Font Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the text.", }, -- [8] { ["Type"] = 4, ["Key"] = "outline", ["Value"] = true, ["Name"] = "Enable Text Outline", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the text uses outline.", }, -- [9] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "164406", -- [1] "164407", -- [2] "162100", -- [3] "162099", -- [4] "162329", -- [5] "164558", -- [6] }, }, -- [28] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [321891] = \"Freeze Tag Fixation\", --Illusionary Vulpin - MTS\n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604087921, ["url"] = "", ["Icon"] = 841383, ["Enabled"] = true, ["Revision"] = 266, ["semver"] = "", ["Author"] = "Tecno-Azralon", ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["__TrashAt"] = 1605203216, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Fixate On You [Plater]", ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] }, ["NpcNames"] = { "smuggled crawg", -- [1] "sergeant bainbridge", -- [2] "blacktooth scrapper", -- [3] "irontide grenadier", -- [4] "feral bloodswarmer", -- [5] "earthrager", -- [6] "crawler mine", -- [7] "rezan", -- [8] "136461", -- [9] }, }, -- [29] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (you may need /reload if some configs isn't applied immediately) \n --change the nameplate color to this if allowed\n envTable.CanChangeNameplateColor = scriptTable.config.changeNameplateColor --\n envTable.NameplateColor = scriptTable.config.nameplateColor\n envTable.NameplateSizeOffset = scriptTable.config.nameplateSizeOffset --\n \n unitFrame.UnitImportantSkullTexture = unitFrame.UnitImportantSkullTexture or unitFrame:CreateTexture(nil, \"background\")\n \n unitFrame.UnitImportantSkullTexture:SetTexture([[Interface/AddOns/Plater/media/skullbones_128]])\n unitFrame.UnitImportantSkullTexture:SetPoint(\"center\", unitFrame.healthBar, \"center\", 0, -5)\n \n unitFrame.UnitImportantSkullTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.skullColor))\n unitFrame.UnitImportantSkullTexture:SetAlpha(scriptTable.config.skullAlpha)\n unitFrame.UnitImportantSkullTexture:SetScale(scriptTable.config.skullScale)\n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n--[=[\n\n154564 - debug\n\nUsing spellIDs for multi-language support\n\n164362 - smily morsel - plaguefall\n168882 - fleeting manifestation - sanguine depths\n170234 - oppressive banner - theater of pain\n168988 - overgrowth - Mists of Tirna Scithe\n170452 - essesnce orb - torghast\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation) \n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \n unitFrame.UnitImportantSkullTexture:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --check if can change the nameplate color\n if (envTable.CanChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604599472, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 355, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (envTable.dotAnimation) then\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n end\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n unitFrame.UnitImportantSkullTexture:Show()\nend\n\n\n\n\n", ["Name"] = "Unit - Important [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Nameplate Size Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "nameplateSizeOffset", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Skull Texture", ["Name"] = "Skull Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [10] { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, -- [1] 0.4627450980392157, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Skull Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [11] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "", ["Min"] = 0, ["Name"] = "Alpha", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullAlpha", }, -- [12] { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "", ["Min"] = 0.4, ["Key"] = "skullScale", ["Value"] = 0.6, ["Name"] = "Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [13] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "135029", -- [1] "134388", -- [2] "134612", -- [3] "133361", -- [4] "136330", -- [5] "130896", -- [6] "129758", -- [7] "Healing Tide Totem", -- [8] "131009", -- [9] }, }, -- [30] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n \n \n \nend", ["Time"] = 1604354808, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 604, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Add the buff name in the trigger box.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\n \nend\n\n\n\n\n", ["Name"] = "Aura - Buff Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["version"] = -1, ["SpellIds"] = { 275826, -- [1] 272888, -- [2] 272659, -- [3] 267901, -- [4] 267830, -- [5] 265393, -- [6] }, ["NpcNames"] = { }, }, -- [31] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604674264, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 695, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \nend\n\n\n", ["Name"] = "Cast - Very Important [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a big animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Name"] = "Shake Amplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["version"] = -1, ["SpellIds"] = { 257785, -- [1] 267237, -- [2] 266951, -- [3] 267273, -- [4] 267433, -- [5] 263066, -- [6] 255577, -- [7] 255371, -- [8] }, ["NpcNames"] = { }, }, -- [32] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0\n \n\nend\n\n\n", ["Time"] = 1604698647, ["url"] = "", ["Icon"] = 2175503, ["Enabled"] = true, ["Revision"] = 462, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Apply several animations when the explosion orb cast starts on a Mythic Dungeon with Explosion Affix", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\nend\n\n\n\n\n\n\n", ["Name"] = "Explosion Affix M+ [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [4] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Key"] = "showArrow", ["Value"] = true, ["Name"] = "Show Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Key"] = "arrowWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Arrow Height", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowHeight", }, -- [11] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Name"] = "Dot Y Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [16] }, ["version"] = -1, ["SpellIds"] = { 240446, -- [1] 273577, -- [2] }, ["NpcNames"] = { }, }, -- [33] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --creates a glow around the icon\n envTable.buffIconGlow = envTable.buffIconGlow or Plater.CreateIconGlow (self, scriptTable.config.glowColor)\n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Hide()\n end\n \n if (scriptTable.config.dotsEnabled) then\n Plater.StopDotAnimation(self, envTable.dotAnimation)\n end\n \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Time"] = 1604454032, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura", ["Enabled"] = true, ["Revision"] = 351, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Desc"] = "Add the debuff name in the trigger box.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (scriptTable.config.glowEnabled) then\n envTable.buffIconGlow:Show()\n end\n \n if (scriptTable.config.dotsEnabled) then\n envTable.dotAnimation = Plater.PlayDotAnimation(self, 6, scriptTable.config.dotsColor, 6, 3) \n end\nend\n\n\n", ["Name"] = "Aura - Debuff Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Enter the spell name or spellID of the Buff in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = false, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [4] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.403921568627451, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "dotsEnabled", ["Value"] = true, ["Name"] = "Dots Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, -- [1] 0.3215686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { }, }, -- [34] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings\n envTable.NameplateSizeOffset = scriptTable.config.castBarHeight\n envTable.ShowArrow = scriptTable.config.showArrow\n envTable.ArrowAlpha = scriptTable.config.arrowAlpha\n envTable.HealthBarColor = scriptTable.config.healthBarColor\n \n --creates the spark to show the cast progress inside the health bar\n envTable.overlaySpark = envTable.overlaySpark or Plater:CreateImage (unitFrame.healthBar)\n envTable.overlaySpark:SetBlendMode (\"ADD\")\n envTable.overlaySpark.width = 16\n envTable.overlaySpark.height = 36\n envTable.overlaySpark.alpha = .9\n envTable.overlaySpark.texture = [[Interface\\AddOns\\Plater\\images\\spark3]]\n \n envTable.topArrow = envTable.topArrow or Plater:CreateImage (unitFrame.healthBar)\n envTable.topArrow:SetBlendMode (\"ADD\")\n envTable.topArrow.width = scriptTable.config.arrowWidth\n envTable.topArrow.height = scriptTable.config.arrowHeight\n envTable.topArrow.alpha = envTable.ArrowAlpha\n envTable.topArrow.texture = [[Interface\\BUTTONS\\Arrow-Down-Up]]\n \n --scale animation\n envTable.smallScaleAnimation = envTable.smallScaleAnimation or Plater:CreateAnimationHub (unitFrame.healthBar)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 1, 0.075, 1, 1, 1.08, 1.08)\n Plater:CreateAnimation (envTable.smallScaleAnimation, \"SCALE\", 2, 0.075, 1, 1, 0.95, 0.95) \n --envTable.smallScaleAnimation:Play() --envTable.smallScaleAnimation:Stop()\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame)) \n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n Plater.StopDotAnimation(unitFrame.healthBar, envTable.dotAnimation)\n \n envTable.overlaySpark:Hide()\n envTable.topArrow:Hide()\n \n Plater.RefreshNameplateColor (unitFrame)\n \n envTable.smallScaleAnimation:Stop()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --update the percent\n envTable.overlaySpark:SetPoint (\"left\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100)-9, 0)\n \n envTable.topArrow:SetPoint (\"bottomleft\", unitFrame.healthBar, \"topleft\", unitFrame.healthBar:GetWidth() * (envTable._CastPercent / 100) - 4, 2 )\n \n --forces the script to update on a 60Hz base\n self.ThrottleUpdate = 0.016\n \n --update the health bar color coloring from yellow to red\n --Plater.SetNameplateColor (unitFrame, max (envTable._CastPercent/100, .66), abs (envTable._CastPercent/100 - 1), 0, 1)\n \n Plater.SetNameplateColor (unitFrame, envTable.HealthBarColor)\nend\n\n\n", ["Time"] = 1604617977, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_red", ["Enabled"] = true, ["Revision"] = 513, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Used on casts that make the mob explode or transform if the cast passes.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.overlaySpark:Show()\n \n if (envTable.ShowArrow) then\n envTable.topArrow:Show()\n end\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n envTable.smallScaleAnimation:Play()\n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + envTable.NameplateSizeOffset)\n \n envTable.overlaySpark.height = nameplateHeight + 5\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \nend", ["Name"] = "Cast - Ultra Important [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a special animation showing the explosion time.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "Increases the health bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 3, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Health Bar Height Mod", }, -- [4] { ["Type"] = 1, ["Name"] = "Health Bar Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the health bar color to this one.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [7] { ["Type"] = 4, ["Name"] = "Show Arrow", ["Value"] = true, ["Key"] = "showArrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show an arrow above the nameplate showing the cast bar progress.", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.5, ["Key"] = "arrowAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Alpha", }, -- [9] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Width.", ["Min"] = 4, ["Name"] = "Arrow Width", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowWidth", }, -- [10] { ["Type"] = 2, ["Max"] = 12, ["Desc"] = "Arrow Height.", ["Min"] = 4, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "arrowHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Arrow Height", }, -- [11] { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [13] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.615686274509804, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot X Offset", ["Min"] = -10, ["Name"] = "Dot X Offset", ["Value"] = 4, ["Key"] = "xOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [15] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dot Y Offset", ["Min"] = -10, ["Key"] = "yOffset", ["Value"] = 3, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dot Y Offset", }, -- [16] }, ["version"] = -1, ["SpellIds"] = { 332329, -- [1] 320103, -- [2] 321406, -- [3] 335817, -- [4] 321061, -- [5] 320141, -- [6] 326171, -- [7] }, ["NpcNames"] = { }, }, -- [35] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604696442, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 970, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["Name"] = "Cast - Big Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["version"] = -1, ["SpellIds"] = { 258153, -- [1] 258313, -- [2] 257069, -- [3] 274569, -- [4] 278020, -- [5] 261635, -- [6] 272700, -- [7] 280404, -- [8] 268030, -- [9] 265368, -- [10] 263891, -- [11] 264520, -- [12] 265407, -- [13] 278567, -- [14] 278602, -- [15] 258128, -- [16] 257791, -- [17] 258938, -- [18] 265089, -- [19] 272183, -- [20] 256060, -- [21] 257397, -- [22] 257899, -- [23] 269972, -- [24] 270901, -- [25] 270492, -- [26] 268129, -- [27] 268709, -- [28] 263215, -- [29] 268797, -- [30] 262540, -- [31] 262554, -- [32] 253517, -- [33] 255041, -- [34] 252781, -- [35] 250368, -- [36] 258777, -- [37] }, ["NpcNames"] = { }, }, -- [36] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --flash duration\n local CONFIG_FLASH_DURATION = scriptTable.config.flashDuration\n \n --manually create a new texture for the flash animation\n if (not envTable.SmallFlashTexture) then\n envTable.SmallFlashTexture = envTable.SmallFlashTexture or Plater:CreateImage (unitFrame.castBar)\n envTable.SmallFlashTexture:SetColorTexture (1, 1, 1)\n envTable.SmallFlashTexture:SetAllPoints()\n end\n \n --manually create a flash animation using the framework\n if (not envTable.SmallFlashAnimationHub) then \n \n local onPlay = function()\n envTable.SmallFlashTexture:Show()\n end\n \n local onFinished = function()\n envTable.SmallFlashTexture:Hide()\n end\n \n local animationHub = Plater:CreateAnimationHub (envTable.SmallFlashTexture, onPlay, onFinished)\n envTable.flashIn = Plater:CreateAnimation (animationHub, \"Alpha\", 1, CONFIG_FLASH_DURATION/2, 0, .6)\n envTable.flashOut = Plater:CreateAnimation (animationHub, \"Alpha\", 2, CONFIG_FLASH_DURATION/2, 1, 0)\n \n envTable.SmallFlashAnimationHub = animationHub\n end\n \n envTable.flashIn:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.flashOut:SetDuration(scriptTable.config.flashDuration / 2)\n envTable.SmallFlashTexture:SetColorTexture (Plater:ParseColors(scriptTable.config.flashColor))\n \nend\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Stop()\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n \n \nend\n\n\n", ["Time"] = 1604617585, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar", ["Enabled"] = true, ["Revision"] = 595, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Flashes the Cast Bar when a spell in the trigger list is Cast. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["Name"] = "Cast - Small Alert [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a small animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [5] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [6] }, ["version"] = -1, ["SpellIds"] = { 275192, -- [1] 265912, -- [2] 274438, -- [3] 268317, -- [4] 268375, -- [5] 276767, -- [6] 264105, -- [7] 265876, -- [8] 270464, -- [9] 266106, -- [10] 272180, -- [11] 278961, -- [12] 278755, -- [13] 265468, -- [14] 256405, -- [15] 256897, -- [16] 264101, -- [17] 280604, -- [18] 268702, -- [19] 281621, -- [20] 262515, -- [21] 255824, -- [22] 253583, -- [23] 250096, -- [24] }, ["NpcNames"] = { }, }, -- [37] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n --check for marks\n function envTable.CheckMark (unitId, unitFrame)\n if (not GetRaidTargetIndex(unitId)) then\n if (scriptTable.config.onlyInCombat) then\n if (not UnitAffectingCombat(unitId)) then\n return\n end \n end\n \n SetRaidTarget(unitId, 8)\n end \n end\nend\n\n\n--163520 - forsworn squad-leader\n--163618 - zolramus necromancer - The Necrotic Wake\n--164506 - anciet captain - theater of pain\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n", ["Time"] = 1604696441, ["url"] = "", ["Icon"] = "Interface\\Worldmap\\GlowSkull_64Grey", ["Enabled"] = true, ["Revision"] = 63, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Auto set skull marker", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.CheckMark (unitId, unitFrame)\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Name"] = "Auto Set Skull", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Auto set a raid target Skull on the unit.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 4, ["Key"] = "onlyInCombat", ["Value"] = false, ["Name"] = "Only in Combat", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Set the mark only if the unit is in combat.", }, -- [3] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "163520", -- [1] "163618", -- [2] "164506", -- [3] }, }, -- [38] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n--[=[\n\n154564 - debug\n\n168098 - empowered coldheart agent\n156212 - coldheart agent\n\n\n\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n --restore the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight) \n \nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --check if can change the nameplate color\n if (scriptTable.config.changeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.nameplateColor)\n end\n \nend\n\n\n\n\n", ["Time"] = 1604607993, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\skullbones_64", ["Enabled"] = true, ["Revision"] = 406, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a nameplate of an important Add. Add the unit name or NpcID into the trigger box to add more.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.healthBar, unitFrame.healthBar.MainTargetDotAnimation)\n \n unitFrame.healthBar.MainTargetDotAnimation = Plater.PlayDotAnimation(unitFrame.healthBar, 2, scriptTable.config.dotsColor, 3, 4) \n \n --increase the nameplate size\n local nameplateHeight = Plater.db.profile.plate_config.enemynpc.health_incombat [2]\n unitFrame.healthBar:SetHeight (nameplateHeight + scriptTable.config.nameplateSizeOffset)\n \nend\n\n\n\n\n\n\n\n", ["Name"] = "Unit - Main Target [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 6", ["Value"] = "Enter the npc name or npcId in the \"Add Trigger\" box and hit \"Add\".", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "change to true to change the color", }, -- [4] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, -- [1] 0, -- [2] 0.5254901960784314, -- [3] 1, -- [4] }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Key"] = "nameplateSizeOffset", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Nameplate Size Offset", }, -- [6] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, -- [1] 0.7137254901960784, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "dotsColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [8] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [9] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "156212", -- [1] "168098", -- [2] }, }, -- [39] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1604354808, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 331, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["Name"] = "Aura - Blink by Time Left [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change NamePlate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Name"] = "Timeleft to Blink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeleftToBlink", }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Blink Speed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkSpeed", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Blink Max Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkMaxAlpha", }, -- [9] { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Key"] = "", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Key"] = "timerColorEnabled", ["Value"] = true, ["Name"] = "Timer Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Warning", ["Value"] = 8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftWarning", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Critical", ["Value"] = 3, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftCritical", }, -- [15] { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { }, }, -- [40] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.npcInfo = {\n [164427] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"1\", name = \"Boom!\"}, --reanimated warrior - plaguefall\n \n [164414] = {secondCastBar = true, timer = 20, timerId = 321247, altCastId = \"2\", name = \"Boom!\"}, --reanimated mage - plaguefall\n \n [164185] = {secondCastBar = true, timer = 20, timerId = 319941, altCastId = \"3\", remaining = 5, name = GetSpellInfo(319941)}, --Echelon - Halls of Atonement\n \n [164567] = {secondCastBar = true, altCastId = \"dromanswrath\", debuffTimer = 323059, name = GetSpellInfo(323059), spellIcon = 323059}, --Ingra Maloch -- tirna scythe\n \n [165408] = {secondCastBar = true, timer = 20, timerId = 322711, altCastId = \"4\", remaining = 5, name = GetSpellInfo(322711)}, --Halkias - Refracted Sinlight - Halls of Atonement\n \n \n --[154564] = {secondCastBar = true, timerId = \"Test Bar\", altCastId = \"debugcast\", remaining = 5, name = GetSpellInfo(319941), spellIcon = 319941}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n --[154580] = {secondCastBar = true, altCastId = \"debugcast\", debuffTimer = 204242, name = GetSpellInfo(81297), spellIcon = 81297}, --debug \"Test (1)\" BW \"Test Bar\" DBM --DEBUG\n }\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Boom!\",\n textSize = 9,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = \"silver\",\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 2,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n } \n \n function envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, customTime, customStart)\n --show the cast bar\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n if (npcInfo.remaining) then\n local timeLeft = barObject.timer + barObject.start - GetTime()\n if (timeLeft > npcInfo.remaining) then\n return\n end\n end\n \n config.text = npcInfo.name\n \n if (npcInfo.spellIcon) then\n local _, _, iconTexture = GetSpellInfo(npcInfo.spellIcon)\n config.iconTexture = iconTexture\n else\n config.iconTexture = \"\"\n end\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, barObject.timer, customStart or barObject.start, npcInfo.altCastId)\n end\n else\n Plater.SetAltCastBar(unitFrame.PlateFrame, config, customTime or npcInfo.timer, customStart, npcInfo.altCastId) \n end\n \n DetailsFramework:TruncateText(unitFrame.castBar2.Text, unitFrame.castBar2:GetWidth() - 16)\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\nend", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.timerId) then\n local barObject = Plater.GetBossTimer(npcInfo.timerId)\n if (barObject) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId ~= npcInfo.altCastId or not unitFrame.castBar2:IsShown()) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end \n \n elseif (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n --get the debuff timeleft\n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n local startTime = expirationTime - duration\n \n if (not unitFrame.castBar2:IsShown() or unitFrame.castBar2.spellStartTime < startTime) then\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, startTime)\n end\n \n else \n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604354364, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\Images\\countdown_bar_icon", ["Enabled"] = true, ["Revision"] = 206, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Some units has special events without a clear way to show. This script adds a second cast bar to inform the user about it.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local npcInfo = envTable.npcInfo[envTable._NpcID]\n \n if (npcInfo and npcInfo.secondCastBar) then\n if (npcInfo.debuffTimer) then\n if (Plater.NameplateHasAura (unitFrame, npcInfo.debuffTimer)) then\n \n local name = npcInfo.name\n local _, _, _, _, duration, expirationTime = AuraUtil.FindAuraByName(name, unitId, \"DEBUFF\")\n \n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId, duration, expirationTime-duration)\n else\n if (unitFrame.castBar2:IsShown()) then\n local altCastId = Plater.GetAltCastBarAltId(unitFrame.PlateFrame)\n if (altCastId == npcInfo.altCastId) then\n Plater.ClearAltCastBar(unitFrame.PlateFrame)\n end \n end \n end\n else\n envTable.ShowAltCastBar(npcInfo, unitFrame, unitId)\n end\n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Name"] = "Countdown", ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "164427", -- [1] "164414", -- [2] "164185", -- [3] "164567", -- [4] "165408", -- [5] }, }, -- [41] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.lifePercent = {\n --npcId percent divisions\n [154564] = {80, 30}, --debug\n [164451] = {40}, --dessia the decapirator - theater of pain\n [164463] = {40}, --Paceran the Virulent - theater of pain\n [164461] = {40}, -- Sathel the Accursed - theater of pain\n [165946]= {50}, -- ~mordretha - thather of pain\n [164501] = {70, 40, 10}, --mistcaller - tina scythe\n [164218] = {70, 40}, --Lord Chamberlain - Halls of Atonement\n }\n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1604354628, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 108, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Name"] = "Unit - Health Markers [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "indicatorColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Vertical Line Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Name"] = "Vertical Line Alpha", ["Value"] = 0.79, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Name"] = "Fill Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "fillColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "fillAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "164451", -- [1] "164463", -- [2] "164461", -- [3] "165946", -- [4] "164501", -- [5] "164218", -- [6] }, }, -- [42] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.movingArrow = envTable.movingArrow or Plater:CreateImage (self, [[Interface\\PETBATTLES\\PetBattle-StatIcons]], 16, self:GetHeight(), \"background\", {0, 15/32, 18/32, 30/32})\n \n --envTable.movingArrow.color = scriptTable.config.arrowColor\n envTable.movingArrow:SetAlpha (scriptTable.config.arrowAlpha)\n envTable.movingArrow:SetDesaturated (scriptTable.config.desaturateArrow)\n \n envTable.movingAnimation = envTable.movingAnimation or Plater:CreateAnimationHub (envTable.movingArrow, \n function() \n envTable.movingArrow:Show() \n envTable.movingArrow:SetPoint(\"left\", 0, 0)\n end, \n function() envTable.movingArrow:Hide() end)\n \n envTable.movingAnimation:SetLooping (\"REPEAT\")\n \n envTable.arrowAnimation = envTable.arrowAnimation or Plater:CreateAnimation (envTable.movingAnimation, \"translation\", 1, 0.20, self:GetWidth()-16, 0)\n \n envTable.arrowAnimation:SetDuration(scriptTable.config.animSpeed)\nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Stop()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend", ["Time"] = 1604599443, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_frontal", ["Enabled"] = true, ["Revision"] = 460, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Does an animation for casts that affect the frontal area of the enemy. Add spell in the Add Trigger field.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.movingAnimation:Play()\nend\n\n\n", ["Name"] = "Cast - Frontal Cone [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces an effect to indicate the spell will hit players in front of the enemy.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option4", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Name"] = "Arrow Alpha", ["Value"] = 0.275, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, -- [5] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Time that takes for an arrow to travel from the to right.", ["Min"] = 0, ["Name"] = "Animation Speed", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "animSpeed", }, -- [6] { ["Type"] = 4, ["Key"] = "desaturateArrow", ["Value"] = false, ["Name"] = "Use White Arrow", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the arrow color will be desaturated.", }, -- [7] }, ["version"] = -1, ["SpellIds"] = { 255952, -- [1] 257426, -- [2] 274400, -- [3] 272609, -- [4] 269843, -- [5] 269029, -- [6] 272827, -- [7] 269266, -- [8] 263912, -- [9] 264923, -- [10] 258864, -- [11] 256955, -- [12] 265540, -- [13] 260793, -- [14] 270003, -- [15] 270507, -- [16] 257337, -- [17] 268415, -- [18] 275907, -- [19] 268865, -- [20] 260669, -- [21] 260280, -- [22] 253239, -- [23] 265541, -- [24] 250258, -- [25] }, ["NpcNames"] = { }, }, -- [43] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.BuffFrame, \"top\", 0, 10); \n \n envTable.FixateIcon = Plater:CreateImage (unitFrame, 236188, 16, 16, \"overlay\");\n envTable.FixateIcon:SetPoint (\"bottom\", envTable.FixateTarget, \"top\", 0, 4); \n \n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n--165560 = Gormling Larva - MTS\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:Hide()\n envTable.FixateIcon:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n local targetName = UnitName (unitId .. \"target\");\n if (targetName) then\n local _, class = UnitClass (unitId .. \"target\");\n targetName = Plater.SetTextColorByClass (unitId .. \"target\", targetName);\n envTable.FixateTarget.text = targetName;\n \n envTable.FixateTarget:Show();\n envTable.FixateIcon:Show();\n end \nend\n\n\n", ["Time"] = 1604239880, ["url"] = "", ["Icon"] = 1029718, ["Enabled"] = true, ["Revision"] = 269, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n\n\n\n\n", ["Desc"] = "Show above the nameplate who is the player fixated", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Fixate [Plater]", ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { }, }, -- [44] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604593143, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_tank", ["Enabled"] = true, ["Revision"] = 833, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Cast alert for abilities which only the tank can interrupt.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["Name"] = "Cast - Tank Interrupt [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Name"] = "Flash Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Fraction"] = false, ["Value"] = 25, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 30, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] }, ["version"] = -1, ["SpellIds"] = { 321828, -- [1] }, ["NpcNames"] = { }, }, -- [45] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount = Plater:CreateLabel (unitFrame, \"\", 16, \"silver\");\n envTable.EnergyAmount:SetPoint (\"bottom\", unitFrame, \"top\", 0, 18); \n \n envTable.EnergyAmount.fontsize = scriptTable.config.fontSize\n envTable.EnergyAmount.fontcolor = scriptTable.config.fontColor\n envTable.EnergyAmount.outline = scriptTable.config.outline\n \n \nend\n\n--[=[\n\n164406 = Shriekwing\n164407 = Sludgefist\n162100 = kryxis the voracious\n162099 = general kaal - sanguine depths\n162329 = Xav the Unfallen - threater of pain\n--]=]", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Hide()\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local currentPower = UnitPower(unitId)\n \n if (currentPower and currentPower > 0) then\n local maxPower = UnitPowerMax (unitId)\n local percent = floor (currentPower / maxPower * 100)\n \n envTable.EnergyAmount.text = \"\" .. percent;\n \n if (scriptTable.config.showLater) then\n local alpha = (percent -80) * 5\n alpha = alpha / 100\n alpha = max(0, alpha)\n envTable.EnergyAmount:SetAlpha(alpha)\n \n else\n envTable.EnergyAmount:SetAlpha(1.0)\n end\n \n \n else\n envTable.EnergyAmount.text = \"\"\n end\nend\n\n\n\n\n\n\n\n\n", ["Time"] = 1604357453, ["url"] = "", ["Icon"] = 136048, ["Enabled"] = true, ["Revision"] = 233, ["semver"] = "", ["Author"] = "Celian-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Show the energy amount above the nameplate.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.EnergyAmount:Show()\nend\n\n\n", ["Name"] = "Unit - Show Energy [Plater]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Show the power of the unit above the nameplate.", ["Name"] = "script desc", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "add trigger", ["Value"] = "Add the unit name or unitId in the \"Add Trigger\" field and press \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "showLater", ["Value"] = true, ["Name"] = "Show at 80% of Energy", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the energy won't start showing until the unit has 80% energy.", }, -- [5] { ["Type"] = 6, ["Name"] = "Option 2", ["Value"] = 0, ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "Text size.", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 16, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "fontSize", }, -- [7] { ["Type"] = 1, ["Key"] = "fontColor", ["Value"] = { 0.803921568627451, -- [1] 0.803921568627451, -- [2] 0.803921568627451, -- [3] 1, -- [4] }, ["Name"] = "Font Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the text.", }, -- [8] { ["Type"] = 4, ["Key"] = "outline", ["Value"] = true, ["Name"] = "Enable Text Outline", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the text uses outline.", }, -- [9] }, ["version"] = -1, ["SpellIds"] = { }, ["NpcNames"] = { "164406", -- [1] "164407", -- [2] "162100", -- [3] "162099", -- [4] "162329", -- [5] "164558", -- [6] }, }, -- [46] { ["ConstructorCode"] = "--todo: add npc ids for multilanguage support\n\nfunction (self, unitId, unitFrame, envTable)\n \n --settings\n envTable.TextAboveNameplate = \"** On You **\"\n envTable.NameplateColor = \"green\"\n \n --label to show the text above the nameplate\n envTable.FixateTarget = Plater:CreateLabel (unitFrame);\n envTable.FixateTarget:SetPoint (\"bottom\", unitFrame.healthBar, \"top\", 0, 30);\n \n --the spell casted by the npc in the trigger list needs to be in the list below as well\n local spellList = {\n [321891] = \"Freeze Tag Fixation\", --Illusionary Vulpin - MTS\n \n }\n \n --build the list with localized spell names\n envTable.FixateDebuffs = {}\n for spellID, enUSSpellName in pairs (spellList) do\n local localizedSpellName = GetSpellInfo (spellID)\n envTable.FixateDebuffs [localizedSpellName or enUSSpellName] = true\n end\n \n --debug - smuggled crawg\n envTable.FixateDebuffs [\"Jagged Maw\"] = true\n \nend\n\n--[=[\nNpcIDs:\n136461: Spawn of G'huun (mythic uldir G'huun)\n\n--]=]\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.FixateTarget:SetText (\"\")\n envTable.FixateTarget:Hide()\n \n envTable.IsFixated = false\n \n Plater.RefreshNameplateColor (unitFrame)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n --swap this to true when it is fixated\n local isFixated = false\n \n --check the debuffs the player has and see if any of these debuffs has been placed by this unit\n for debuffId = 1, 40 do\n local name, texture, count, debuffType, duration, expirationTime, caster = UnitDebuff (\"player\", debuffId)\n \n --cancel the loop if there's no more debuffs on the player\n if (not name) then \n break \n end\n \n --check if the owner of the debuff is this unit\n if (envTable.FixateDebuffs [name] and caster and UnitIsUnit (caster, unitId)) then\n --the debuff the player has, has been placed by this unit, set the name above the unit name\n envTable.FixateTarget:SetText (envTable.TextAboveNameplate)\n envTable.FixateTarget:Show()\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n isFixated = true\n \n if (not envTable.IsFixated) then\n envTable.IsFixated = true\n Plater.FlashNameplateBody (unitFrame, \"fixate\", .2)\n end\n end\n \n end\n \n --check if the nameplate color is changed but isn't fixated any more\n if (not isFixated and envTable.IsFixated) then\n --refresh the nameplate color\n Plater.RefreshNameplateColor (unitFrame)\n --reset the text\n envTable.FixateTarget:SetText (\"\")\n \n envTable.IsFixated = false\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Time"] = 1604087921, ["url"] = "", ["Icon"] = 841383, ["Enabled"] = true, ["Revision"] = 266, ["semver"] = "", ["Author"] = "Tecno-Azralon", ["Desc"] = "When an enemy places a debuff and starts to chase you. This script changes the nameplate color and place your name above the nameplate as well.", ["__TrashAt"] = 1605291724, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \nend\n\n\n", ["Name"] = "Fixate On You [Plater]", ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["SpellIds"] = { "spawn of g'huun", -- [1] "smuggled crawg", -- [2] "sergeant bainbridge", -- [3] "blacktooth scrapper", -- [4] "irontide grenadier", -- [5] "feral bloodswarmer", -- [6] "earthrager", -- [7] "crawler mine", -- [8] "rezan", -- [9] }, ["NpcNames"] = { "smuggled crawg", -- [1] "sergeant bainbridge", -- [2] "blacktooth scrapper", -- [3] "irontide grenadier", -- [4] "feral bloodswarmer", -- [5] "earthrager", -- [6] "crawler mine", -- [7] "rezan", -- [8] "136461", -- [9] }, }, -- [47] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n envTable.lifePercent = {\n --npcId percent divisions\n [154564] = {80, 30}, --debug\n [164451] = {40}, --dessia the decapirator - theater of pain\n [164463] = {40}, --Paceran the Virulent - theater of pain\n [164461] = {40}, -- Sathel the Accursed - theater of pain\n [165946]= {50}, -- ~mordretha - thather of pain\n [164501] = {70, 40, 10}, --mistcaller - tina scythe\n [164218] = {70, 40}, --Lord Chamberlain - Halls of Atonement\n }\n \n function envTable.CreateMarker(unitFrame)\n unitFrame.healthMarker = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthMarker:SetColorTexture(1, 1, 1)\n unitFrame.healthMarker:SetSize(1, unitFrame.healthBar:GetHeight())\n \n unitFrame.healthOverlay = unitFrame.healthBar:CreateTexture(nil, \"overlay\")\n unitFrame.healthOverlay:SetColorTexture(1, 1, 1)\n unitFrame.healthOverlay:SetSize(1, unitFrame.healthBar:GetHeight())\n end\n \n function envTable.UpdateMarkers(unitFrame)\n local markersTable = envTable.lifePercent[envTable._NpcID]\n if (markersTable) then\n local unitLifePercent = envTable._HealthPercent / 100\n for i, percent in ipairs(markersTable) do\n percent = percent / 100\n if (unitLifePercent > percent) then\n if (not unitFrame.healthMarker) then\n envTable.CreateMarker(unitFrame)\n end\n \n unitFrame.healthMarker:Show()\n local width = unitFrame.healthBar:GetWidth()\n unitFrame.healthMarker:SetPoint(\"left\", unitFrame.healthBar, \"left\", width*percent, 0)\n \n local overlaySize = width * (unitLifePercent - percent)\n unitFrame.healthOverlay:SetWidth(overlaySize)\n unitFrame.healthOverlay:SetPoint(\"left\", unitFrame.healthMarker, \"right\", 0, 0)\n \n unitFrame.healthMarker:SetVertexColor(Plater:ParseColors(scriptTable.config.indicatorColor))\n unitFrame.healthMarker:SetAlpha(scriptTable.config.indicatorAlpha)\n \n unitFrame.healthOverlay:SetVertexColor(Plater:ParseColors(scriptTable.config.fillColor))\n unitFrame.healthOverlay:SetAlpha(scriptTable.config.fillAlpha)\n \n return\n end\n end --end for\n \n if (unitFrame.healthMarker:IsShown()) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\n end\n end\nend \n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n if (unitFrame.healthMarker) then\n unitFrame.healthMarker:Hide()\n unitFrame.healthOverlay:Hide()\n end\nend\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Time"] = 1604354628, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 108, ["semver"] = "", ["Author"] = "Aelerolor-Torghast", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Place a marker into the health bar to indicate when the unit will change phase or cast an important spell.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateMarkers(unitFrame)\nend\n\n\n", ["Options"] = { { ["Type"] = 5, ["Key"] = "option1", ["Value"] = "Add markers into the health bar to remind you about boss abilities at life percent.", ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [1] { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "indicatorColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Vertical Line Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, -- [3] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Name"] = "Vertical Line Alpha", ["Value"] = 0.79, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "indicatorAlpha", }, -- [4] { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [5] { ["Type"] = 1, ["Name"] = "Fill Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "fillColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "fillAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Fill Alpha", }, -- [7] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Unit - Health Markers [P]", ["NpcNames"] = { "164451", -- [1] "164463", -- [2] "164461", -- [3] "165946", -- [4] "164501", -- [5] "164218", -- [6] }, ["__TrashAt"] = 1606633385, }, -- [48] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (not unitFrame.spitefulTexture) then\n unitFrame.spitefulTexture = unitFrame.healthBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.spitefulTexture:SetPoint('right', 0, 0)\n unitFrame.spitefulTexture:SetSize(27, 14)\n unitFrame.spitefulTexture:SetColorTexture(.3, .3, 1, .7)\n \n unitFrame.spitefulText = unitFrame.healthBar:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6)\n unitFrame.spitefulText:SetPoint(\"right\", unitFrame.spitefulTexture, \"right\", -2, 0)\n unitFrame.spitefulText:SetJustifyH(\"right\")\n \n unitFrame.spitefulTexture:Hide()\n unitFrame.spitefulText:Hide()\n end\n \n function envTable.UpdateSpitefulWidget(unitFrame)\n \n local r, g, b, a = Plater:ParseColors(scriptTable.config.bgColor)\n unitFrame.spitefulTexture:SetSize(scriptTable.config.bgWidth, unitFrame.healthBar:GetHeight()) \n Plater:SetFontSize(unitFrame.spitefulText, scriptTable.config.textSize)\n Plater:SetFontColor(unitFrame.spitefulText, scriptTable.config.textColor)\n \n local currentHealth = unitFrame.healthBar.CurrentHealth\n local maxHealth = unitFrame.healthBar.CurrentHealthMax\n \n local healthPercent = currentHealth / maxHealth * 100\n local timeToDie = format(\"%.1fs\", healthPercent / 8)\n unitFrame.spitefulText:SetText(timeToDie)\n \n unitFrame.spitefulText:Show()\n unitFrame.spitefulTexture:Show()\n end\nend\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n if (unitFrame.spitefulTexture) then\n unitFrame.spitefulText:Hide()\n unitFrame.spitefulTexture:Hide() \n end\nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["Time"] = 1608852889, ["url"] = "", ["Icon"] = 135945, ["Enabled"] = true, ["Revision"] = 59, ["semver"] = "", ["Author"] = "Symantec-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Time to die Spiteful affix", ["__TrashAt"] = 1610305246, ["NpcNames"] = { "174773", -- [1] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Name"] = "M+ Spiteful", ["version"] = -1, ["Options"] = { { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "", ["Min"] = 10, ["Name"] = "Width", ["Value"] = 27, ["Key"] = "bgWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [1] { ["Type"] = 1, ["Key"] = "bgColor", ["Value"] = { 0.5058823529411764, -- [1] 0.07058823529411765, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 24, ["Desc"] = "", ["Min"] = 7, ["Name"] = "Text Size", ["Value"] = 8, ["Key"] = "textSize", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [4] { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] }, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", }, -- [49] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n if (not unitFrame.spitefulTexture) then\n unitFrame.spitefulTexture = unitFrame.healthBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.spitefulTexture:SetPoint('right', 0, 0)\n unitFrame.spitefulTexture:SetSize(27, 14)\n unitFrame.spitefulTexture:SetColorTexture(.3, .3, 1, .7)\n \n unitFrame.spitefulText = unitFrame.healthBar:CreateFontString(nil, \"overlay\", \"GameFontNormal\", 6)\n DetailsFramework:SetFontFace (unitFrame.spitefulText, \"2002\")\n unitFrame.spitefulText:SetPoint(\"right\", unitFrame.spitefulTexture, \"right\", -2, 0)\n unitFrame.spitefulText:SetJustifyH(\"right\")\n \n unitFrame.spitefulTexture:Hide()\n unitFrame.spitefulText:Hide()\n end\n \n function envTable.UpdateSpitefulWidget(unitFrame)\n \n local r, g, b, a = Plater:ParseColors(scriptTable.config.bgColor)\n unitFrame.spitefulTexture:SetColorTexture(r, g, b, a)\n unitFrame.spitefulTexture:SetSize(scriptTable.config.bgWidth, unitFrame.healthBar:GetHeight()) \n Plater:SetFontSize(unitFrame.spitefulText, scriptTable.config.textSize)\n Plater:SetFontColor(unitFrame.spitefulText, scriptTable.config.textColor)\n \n local currentHealth = unitFrame.healthBar.CurrentHealth\n local maxHealth = unitFrame.healthBar.CurrentHealthMax\n \n local healthPercent = currentHealth / maxHealth * 100\n local timeToDie = format(\"%.1fs\", healthPercent / 8)\n unitFrame.spitefulText:SetText(timeToDie)\n \n unitFrame.spitefulText:Show()\n unitFrame.spitefulTexture:Show()\n \n if scriptTable.config.switchTargetName then\n local plateFrame = unitFrame.PlateFrame\n local target = UnitName(unitFrame.namePlateUnitToken .. \"target\") or UnitName(unitFrame.namePlateUnitToken)\n if target and target ~= \"\" then\n plateFrame.namePlateUnitName = target\n Plater.UpdateUnitName (plateFrame)\n end\n end\n \n if scriptTable.config.useTargetingColor then\n local targeted = UnitIsUnit(unitFrame.namePlateUnitToken .. \"target\", \"player\")\n if targeted then\n Plater.SetNameplateColor (unitFrame, scriptTable.config.targetingColor)\n end\n end\n end\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n if (unitFrame.spitefulTexture) then\n unitFrame.spitefulText:Hide()\n unitFrame.spitefulTexture:Hide() \n end\nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 3, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["Time"] = 1609281290, ["url"] = "", ["Icon"] = 135945, ["Enabled"] = true, ["Revision"] = 132, ["semver"] = "", ["Author"] = "Symantec-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Time to die Spiteful affix", ["__TrashAt"] = 1612296027, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.UpdateSpitefulWidget(unitFrame)\nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "", ["Min"] = 10, ["Fraction"] = false, ["Value"] = 27, ["Key"] = "bgWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Width", }, -- [1] { ["Type"] = 1, ["Name"] = "Background Color", ["Value"] = { 0.5058823529411764, -- [1] 0.07058823529411765, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "bgColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 2, ["Max"] = 24, ["Desc"] = "", ["Min"] = 7, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "textSize", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Text Size", }, -- [4] { ["Type"] = 1, ["Name"] = "Text Color", ["Value"] = { 1, -- [1] 0.5843137254901961, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "textColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 4, ["Key"] = "switchTargetName", ["Value"] = false, ["Name"] = "Show Target instead of Name", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [7] { ["Type"] = 6, ["Key"] = "option8", ["Value"] = 0, ["Name"] = "Option 8", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 4, ["Key"] = "useTargetingColor", ["Value"] = false, ["Name"] = "Change Color if targeting You", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, -- [9] { ["Type"] = 1, ["Key"] = "targetingColor", ["Value"] = { 0.5058823529411764, -- [1] 0.07058823529411765, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Color if targeting You", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [10] }, ["version"] = -1, ["Name"] = "M+ Spiteful", ["NpcNames"] = { "174773", -- [1] }, }, -- [50] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n \n envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1604354808, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 331, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["__TrashAt"] = 1612296027, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Key"] = "changeNameplateColor", ["Value"] = true, ["Name"] = "Change NamePlate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Name"] = "Timeleft to Blink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeleftToBlink", }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Blink Speed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkSpeed", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.6, ["Name"] = "Blink Max Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "blinkMaxAlpha", }, -- [9] { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Key"] = "", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Key"] = "timerColorEnabled", ["Value"] = true, ["Name"] = "Timer Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Warning", ["Value"] = 8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftWarning", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Name"] = "Time Left Critical", ["Value"] = 3, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "timeLeftCritical", }, -- [15] { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["version"] = -1, ["Name"] = "Aura - Blink by Time Left [Plater]", ["NpcNames"] = { }, }, -- [51] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+40, self:GetHeight()+20, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:SetVertexColor(Plater:ParseColors(scriptTable.config.flashColor))\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n local fadeIn = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, scriptTable.config.flashDuration/2, 0, 1)\n local fadeOut = Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, scriptTable.config.flashDuration/2, 1, 0)\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --update the config for the flash here so it wont need a /reload\n fadeIn:SetDuration (scriptTable.config.flashDuration/2)\n fadeOut:SetDuration (scriptTable.config.flashDuration/2)\n \n --update the config for the skake here so it wont need a /reload\n envTable.FrameShake.OriginalAmplitude = scriptTable.config.shakeAmplitude\n envTable.FrameShake.OriginalDuration = scriptTable.config.shakeDuration\n envTable.FrameShake.OriginalFrequency = scriptTable.config.shakeFrequency\nend", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n Plater.StopDotAnimation(unitFrame.castBar, envTable.dotAnimation) \n \n envTable.BackgroundFlash:Stop()\n \n unitFrame:StopFrameShake (envTable.FrameShake) \n \nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604674264, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 695, ["semver"] = "", ["Author"] = "Bombad�o-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Highlight a very important cast applying several effects into the Cast Bar. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.dotAnimation = Plater.PlayDotAnimation(unitFrame.castBar, 5, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n \n \n envTable.BackgroundFlash:Play()\n \n Plater.FlashNameplateBorder (unitFrame, 0.05) \n Plater.FlashNameplateBody (unitFrame, \"\", 0.075)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (scriptTable.config.castBarColor))\n end\n end\n \nend\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a big animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [5] { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "How long is the flash played when the cast starts.", ["Min"] = 0.1, ["Name"] = "Flash Duration", ["Value"] = 0.8, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [6] { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, -- [7] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [8] { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [9] { ["Type"] = 2, ["Max"] = 0.5, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "How strong is the shake.", ["Min"] = 1, ["Name"] = "Shake Amplitude", ["Value"] = 5, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [13] { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [14] { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, -- [1] 0.5647058823529412, -- [2] 0.5647058823529412, -- [3] 1, -- [4] }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, -- [15] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Adjust the width of the dots to better fit in your nameplate.", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 8, ["Name"] = "Dot X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "xOffset", }, -- [16] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Adjust the height of the dots to better fit in your nameplate.", ["Min"] = -10, ["Name"] = "Dot Y Offset", ["Value"] = 3, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [17] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [18] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [19] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [20] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [21] { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [22] { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [23] { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [24] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, -- [25] { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, -- [1] 1, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, -- [26] }, ["SpellIds"] = { 321247, -- [1] 334522, -- [2] 320232, -- [3] 319962, -- [4] 325879, -- [5] 324427, -- [6] 322999, -- [7] 325360, -- [8] 322903, -- [9] 324103, -- [10] 333294, -- [11] 333540, -- [12] 319521, -- [13] 326021, -- [14] 326450, -- [15] 322711, -- [16] 329104, -- [17] 295000, -- [18] 242391, -- [19] 320197, -- [20] 329608, -- [21] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Very Important [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1619957537, }, -- [52] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604696442, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 970, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Flash, Bounce and Red Color the CastBar border when when an important cast is happening. Add spell in the Add Trigger field.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\" or Plater.ZoneInstanceType == \"none\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Name"] = "Option 3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [10] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [12] }, ["SpellIds"] = { 338353, -- [1] 334748, -- [2] 334749, -- [3] 320784, -- [4] 341352, -- [5] 341520, -- [6] 341522, -- [7] 336005, -- [8] 339777, -- [9] 331933, -- [10] 326617, -- [11] 324914, -- [12] 324776, -- [13] 326046, -- [14] 340634, -- [15] 319070, -- [16] 328295, -- [17] 317936, -- [18] 327413, -- [19] 319654, -- [20] 323821, -- [21] 320772, -- [22] 324293, -- [23] 330562, -- [24] 330868, -- [25] 341902, -- [26] 342139, -- [27] 342675, -- [28] 323190, -- [29] 332836, -- [30] 327648, -- [31] 328217, -- [32] 322938, -- [33] 340544, -- [34] 325876, -- [35] 325700, -- [36] 323552, -- [37] 332666, -- [38] 332612, -- [39] 332706, -- [40] 340026, -- [41] 294171, -- [42] 292910, -- [43] 294165, -- [44] 338871, -- [45] 330813, -- [46] 335694, -- [47] 327461, -- [48] 329787, -- [49] 304946, -- [50] 15245, -- [51] 276754, -- [52] 304831, -- [53] 277036, -- [54] 320657, -- [55] 294362, -- [56] 270248, -- [57] 292926, -- [58] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Big Alert [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1619957537, }, -- [53] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\")\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end \n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1604593143, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_tank", ["Enabled"] = true, ["Revision"] = 833, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Cast alert for abilities which only the tank can interrupt.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (not Plater.IsPlayerTank()) then\n return\n end\n \n --don't execute on battlegrounds and arenas\n if (Plater.ZoneInstanceType == \"arena\" or Plater.ZoneInstanceType == \"pvp\") then\n return\n end\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Produces a notable effect in the cast bar when a spell from the 'Triggers' starts to cast.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 5, ["Key"] = "option3", ["Value"] = "Enter the spell name or spellID of the Spell in the Add Trigger box and hit \"Add\".", ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [3] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [4] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [5] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [6] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [7] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Name"] = "Flash Duration", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "flashDuration", }, -- [8] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 0, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "castBarHeight", }, -- [9] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Name"] = "Shake Duration", ["Value"] = 0.1, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeDuration", }, -- [10] { ["Type"] = 2, ["Max"] = 200, ["Desc"] = "How strong is the shake.", ["Min"] = 10, ["Fraction"] = false, ["Value"] = 25, ["Name"] = "Shake Amplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeAmplitude", }, -- [11] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Fraction"] = false, ["Value"] = 30, ["Name"] = "Shake Frequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "shakeFrequency", }, -- [12] }, ["SpellIds"] = { 321828, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Tank Interrupt [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1619957537, }, -- [54] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1625698948, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1138, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["__TrashAt"] = 1626201630, ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["SpellIds"] = { 350421, -- [1] 355571, -- [2] 355787, -- [3] }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Cast start animation settings", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Cast Bar Color Enabled", ["Value"] = true, ["Key"] = "useCastbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Fraction"] = true, ["Value"] = 0.4, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Flash Duration", }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Fraction"] = false, ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Cast Bar Height Mod", }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Duration", }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Name"] = "Shake Amplitude", ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Name"] = "Shake Frequency", ["Value"] = 40, ["Key"] = "shakeFrequency", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [11] { ["Type"] = 7, ["Key"] = "timerList", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "355571", -- [1] "14", -- [2] }, -- [3] }, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["version"] = -1, ["Name"] = "Cast - Alert + Timer [P]", ["NpcNames"] = { }, }, -- [55] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --settings (require a /reload after editing any setting)\n do\n --blink and glow\n envTable.BlinkEnabled = scriptTable.config.blinkEnabled\n envTable.GlowEnabled = scriptTable.config.glowEnabled \n envTable.ChangeNameplateColor = scriptTable.config.changeNameplateColor;\n envTable.TimeLeftToBlink = scriptTable.config.timeleftToBlink;\n envTable.BlinkSpeed = scriptTable.config.blinkSpeed; \n envTable.BlinkColor = scriptTable.config.blinkColor; \n envTable.BlinkMaxAlpha = scriptTable.config.blinkMaxAlpha; \n envTable.NameplateColor = scriptTable.config.nameplateColor; \n \n --text color\n envTable.TimerColorEnabled = scriptTable.config.timerColorEnabled \n envTable.TimeLeftWarning = scriptTable.config.timeLeftWarning;\n envTable.TimeLeftCritical = scriptTable.config.timeLeftCritical;\n envTable.TextColor_Warning = scriptTable.config.warningColor; \n envTable.TextColor_Critical = scriptTable.config.criticalColor; \n \n --list of spellIDs to ignore\n envTable.IgnoredSpellID = {\n [12] = true, --use a simple comma here\n [13] = true,\n }\n end\n \n \n --private\n do\n --if not envTable.blinkTexture then\n envTable.blinkTexture = Plater:CreateImage (self, \"\", 1, 1, \"overlay\")\n envTable.blinkTexture:SetPoint ('center', 0, 0)\n envTable.blinkTexture:Hide()\n \n local onPlay = function()\n envTable.blinkTexture:Show() \n envTable.blinkTexture.color = envTable.BlinkColor\n end\n local onStop = function()\n envTable.blinkTexture:Hide() \n end\n envTable.blinkAnimation = Plater:CreateAnimationHub (envTable.blinkTexture, onPlay, onStop)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 1, envTable.BlinkSpeed / 2, 0, envTable.BlinkMaxAlpha)\n Plater:CreateAnimation (envTable.blinkAnimation, \"ALPHA\", 2, envTable.BlinkSpeed / 2, envTable.BlinkMaxAlpha, 0)\n --end\n \n envTable.glowEffect = envTable.glowEffect or self.overlay or Plater.CreateIconGlow (self)\n --envTable.glowEffect = envTable.glowEffect or Plater.CreateIconGlow (self)\n --envTable.glowEffect:Show() --envTable.glowEffect:Hide()\n \n end\n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n envTable.blinkAnimation:Stop()\n envTable.blinkTexture:Hide()\n envTable.blinkAnimation:Stop()\n envTable.glowEffect:Stop()\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\nend\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local timeLeft = envTable._RemainingTime\n \n --check if the spellID isn't being ignored\n if (envTable.IgnoredSpellID [envTable._SpellID]) then\n return\n end\n \n --check the time left and start or stop the blink animation and also check if the time left is > zero\n if ((envTable.BlinkEnabled or envTable.GlowEnabled) and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftToBlink) then\n --blink effect\n if (envTable.BlinkEnabled) then\n if (not envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Play()\n end\n end\n --glow effect\n if (envTable.GlowEnabled) then\n envTable.glowEffect:Show()\n end\n --nameplate color\n if (envTable.ChangeNameplateColor) then\n Plater.SetNameplateColor (unitFrame, envTable.NameplateColor)\n end\n else\n --blink effect\n if (envTable.blinkAnimation:IsPlaying()) then\n envTable.blinkAnimation:Stop()\n end\n --glow effect\n if (envTable.GlowEnabled and envTable.glowEffect:IsShown()) then\n envTable.glowEffect:Hide()\n end\n end\n end\n \n --timer color\n if (envTable.TimerColorEnabled and timeLeft > 0) then\n if (timeLeft < envTable.TimeLeftCritical) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Critical)\n elseif (timeLeft < envTable.TimeLeftWarning) then\n Plater:SetFontColor (self.Cooldown.Timer, envTable.TextColor_Warning) \n else\n Plater:SetFontColor (self.Cooldown.Timer, Plater.db.profile.aura_timer_text_color)\n end\n end\n \nend", ["Time"] = 1611856720, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_blink", ["Enabled"] = true, ["Revision"] = 369, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Blink, change the number and nameplate color. Add the debuffs int he trigger box. Set settings on constructor script.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.blinkTexture:SetSize (self:GetSize())\n \nend\n\n\n", ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Name"] = "Option 17", ["Value"] = "Enter the spell name or spellID in the Add Trigger box and hit \"Add\".", ["Key"] = "option17", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Name"] = "Blink Enabled", ["Value"] = true, ["Key"] = "blinkEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, -- [4] { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = true, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, -- [5] { ["Type"] = 4, ["Name"] = "Change NamePlate Color", ["Value"] = true, ["Key"] = "changeNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'true' to enable nameplate color change", }, -- [6] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the blink effect only", ["Min"] = 1, ["Name"] = "Timeleft to Blink", ["Value"] = 3, ["Key"] = "timeleftToBlink", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [7] { ["Type"] = 2, ["Max"] = 3, ["Desc"] = "time to complete a blink loop", ["Min"] = 0.5, ["Name"] = "Blink Speed", ["Value"] = 1, ["Key"] = "blinkSpeed", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "max transparency in the animation loop (1.0 is full opaque)", ["Min"] = 0.1, ["Name"] = "Blink Max Alpha", ["Value"] = 0.6, ["Key"] = "blinkMaxAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [9] { ["Type"] = 1, ["Name"] = "Blink Color", ["Value"] = { 1, -- [1] 1, -- [2] 1, -- [3] 1, -- [4] }, ["Key"] = "blinkColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, -- [10] { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0.2862745098039216, -- [1] 0.00392156862745098, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, -- [11] { ["Type"] = 6, ["Key"] = "option10", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [12] { ["Type"] = 4, ["Name"] = "Timer Color Enabled", ["Value"] = true, ["Key"] = "timerColorEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable changes in the color of the time left text", }, -- [13] { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 8, ["Key"] = "timeLeftWarning", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Time Left Warning", }, -- [14] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "in seconds, affects the color of the text", ["Min"] = 1, ["Fraction"] = true, ["Value"] = 3, ["Key"] = "timeLeftCritical", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Time Left Critical", }, -- [15] { ["Type"] = 1, ["Name"] = "Warning Color", ["Value"] = { 1, -- [1] 0.8705882352941177, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "warningColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, -- [16] { ["Type"] = 1, ["Name"] = "Critical Color", ["Value"] = { 1, -- [1] 0.07450980392156863, -- [2] 0, -- [3] 1, -- [4] }, ["Key"] = "criticalColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, -- [17] }, ["SpellIds"] = { }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Aura - Blink by Time Left [Plater]", ["NpcNames"] = { }, ["__TrashAt"] = 1628092877, }, -- [56] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --castbar color (when can be interrupted)\n envTable.CastbarColor = scriptTable.config.castbarColor\n \n --flash duration\n local CONFIG_BACKGROUND_FLASH_DURATION = scriptTable.config.flashDuration\n \n --add this value to the cast bar height\n envTable.CastBarHeightAdd = scriptTable.config.castBarHeight\n \n --create a fast flash above the cast bar\n envTable.FullBarFlash = envTable.FullBarFlash or Plater.CreateFlash (self, 0.05, 1, \"white\")\n \n --create a camera shake for the nameplate\n envTable.FrameShake = Plater:CreateFrameShake (unitFrame, scriptTable.config.shakeDuration, scriptTable.config.shakeAmplitude, scriptTable.config.shakeFrequency, false, false, 0, 1, 0.05, 0.1, Plater.GetPoints (unitFrame))\n \n --create a texture to use for a flash behind the cast bar\n local backGroundFlashTexture = Plater:CreateImage (self, [[Interface\\ACHIEVEMENTFRAME\\UI-Achievement-Alert-Glow]], self:GetWidth()+60, self:GetHeight()+50, \"background\", {0, 400/512, 0, 170/256})\n backGroundFlashTexture:SetBlendMode (\"ADD\", 7)\n backGroundFlashTexture:SetDrawLayer(\"OVERLAY\", 7)\n backGroundFlashTexture:SetPoint (\"center\", self, \"center\")\n backGroundFlashTexture:Hide()\n \n --create the animation hub to hold the flash animation sequence\n envTable.BackgroundFlash = envTable.BackgroundFlash or Plater:CreateAnimationHub (backGroundFlashTexture, \n function()\n backGroundFlashTexture:Show()\n end,\n function()\n backGroundFlashTexture:Hide()\n end\n )\n \n --create the flash animation sequence\n envTable.BackgroundFlash.fadeIn = envTable.BackgroundFlash.fadeIn or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 1, CONFIG_BACKGROUND_FLASH_DURATION/2, 0, .75)\n envTable.BackgroundFlash.fadeIn:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n envTable.BackgroundFlash.fadeOut = envTable.BackgroundFlash.fadeOut or Plater:CreateAnimation (envTable.BackgroundFlash, \"ALPHA\", 2, CONFIG_BACKGROUND_FLASH_DURATION/2, 1, 0) \n envTable.BackgroundFlash.fadeOut:SetDuration(CONFIG_BACKGROUND_FLASH_DURATION/2)\n \n --envTable.BackgroundFlash:Play() --envTable.BackgroundFlash:Stop() \n \n \n \n \n \nend\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n unitFrame.castBar:SetHeight (envTable._DefaultHeight)\n \n --stop the camera shake\n unitFrame:StopFrameShake (envTable.FrameShake)\n \n envTable.FullBarFlash:Stop()\n envTable.BackgroundFlash:Stop()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \n --check if there's a timer for this spell\n local timer = scriptTable.config.timerList[tostring(envTable._SpellID)]\n \n if (timer) then\n --insert code here\n \n --set the castbar config\n local config = {\n iconTexture = \"\",\n iconTexcoord = {0.1, 0.9, 0.1, 0.9},\n iconAlpha = 1,\n iconSize = 14,\n \n text = \"Spikes Incoming!\",\n textSize = 8,\n \n texture = [[Interface\\AddOns\\Plater\\images\\bar_background]],\n color = {.6, .6, .6, 0.8},\n \n isChanneling = false,\n canInterrupt = false,\n \n height = 5,\n width = Plater.db.profile.plate_config.enemynpc.health_incombat[1],\n \n spellNameAnchor = {side = 3, x = 0, y = -2},\n timerAnchor = {side = 5, x = 0, y = -2},\n }\n \n Plater.SetAltCastBar(unitFrame.PlateFrame, config, timer, nil, nil)\n local castBar2 = unitFrame.castBar2\n castBar2.Text:ClearAllPoints()\n castBar2.Text:SetPoint (\"topleft\", castBar2, \"bottomleft\", 0, 0)\n castBar2.percentText:ClearAllPoints()\n castBar2.percentText:SetPoint (\"topright\", castBar2, \"bottomright\", 0, 0)\n Plater:SetFontSize(castBar2.percentText, 8)\n end\n \nend\n\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1625793282, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_orange", ["Enabled"] = true, ["Revision"] = 1154, ["semver"] = "", ["Author"] = "Tercioo-Sylvanas", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend", ["Desc"] = "Player an animation when the cast start. Start a timer when the cast finishes. Set the time in the options.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --play flash animations\n envTable.FullBarFlash:Play()\n \n --envTable.currentHeight = unitFrame.castBar:GetHeight()\n \n --restoring the default size (not required since it already restore in the hide script)\n if (envTable.OriginalHeight) then\n self:SetHeight (envTable.OriginalHeight)\n end\n \n --increase the cast bar size\n local height = self:GetHeight()\n envTable.OriginalHeight = height\n \n self:SetHeight (height + envTable.CastBarHeightAdd)\n \n Plater.SetCastBarBorderColor (self, 1, .2, .2, 0.4)\n \n unitFrame:PlayFrameShake (envTable.FrameShake)\n \n --set the color of the cast bar to dark orange (only if can be interrupted)\n --Plater auto set this color to default when a new cast starts, no need to reset this value at OnHide. \n if (envTable._CanInterrupt) then\n if (scriptTable.config.useCastbarColor) then\n self:SetStatusBarColor (Plater:ParseColors (envTable.CastbarColor))\n end\n end\n \n envTable.BackgroundFlash:Play()\n \n unitFrame.castBar.Spark:SetHeight(unitFrame.castBar:GetHeight())\n \nend\n\n\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [1] { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Cast start animation settings", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, -- [2] { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [3] { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Cast Bar Color Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "When enabled, changes the cast bar color,", }, -- [4] { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, -- [1] 0.4313725490196079, -- [2] 0, -- [3] 1, -- [4] }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, -- [5] { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, -- [6] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts it flash rapidly, adjust how fast it flashes. Value is milliseconds.", ["Min"] = 0.05, ["Key"] = "flashDuration", ["Value"] = 0.4, ["Name"] = "Flash Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [7] { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Key"] = "castBarHeight", ["Value"] = 5, ["Name"] = "Cast Bar Height Mod", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, -- [8] { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "When the cast starts, there's a small shake in the nameplate, this settings controls how long it takes.", ["Min"] = 0.1, ["Key"] = "shakeDuration", ["Value"] = 0.2, ["Name"] = "Shake Duration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, -- [9] { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Key"] = "shakeAmplitude", ["Value"] = 8, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, -- [10] { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 40, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, -- [11] { ["Type"] = 7, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Value"] = { { "350421", -- [1] "5", -- [2] }, -- [1] { "355787", -- [1] "15", -- [2] }, -- [2] { "348513", -- [1] "14", -- [2] }, -- [3] { "348513", -- [1] "14", -- [2] }, -- [4] }, ["Key"] = "timerList", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, -- [12] }, ["SpellIds"] = { 350421, -- [1] 355787, -- [2] 348513, -- [3] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Alert + Timer [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1628092877, }, -- [57] { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n local castBarHeight = castBar:GetHeight()\n \n unitFrame.felAnimation = unitFrame.felAnimation or {}\n \n if (not unitFrame.felAnimation.textureStretched) then\n unitFrame.felAnimation.textureStretched = castBar:CreateTexture(nil, \"overlay\", nil, 5)\n end\n \n if (not unitFrame.felAnimation.Textures) then\n unitFrame.felAnimation.Textures = {}\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = castBar:CreateTexture(nil, \"overlay\", nil, 6)\n unitFrame.felAnimation.Textures[i] = texture \n \n texture.animGroup = texture.animGroup or texture:CreateAnimationGroup()\n local animationGroup = texture.animGroup\n animationGroup:SetToFinalAlpha(true) \n animationGroup:SetLooping(\"NONE\")\n \n texture:SetTexture([[Interface\\COMMON\\XPBarAnim]])\n texture:SetTexCoord(0.2990, 0.0010, 0.0010, 0.4159)\n texture:SetBlendMode(\"ADD\")\n \n texture.scale = animationGroup:CreateAnimation(\"SCALE\")\n texture.scale:SetTarget(texture)\n \n texture.alpha = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha:SetTarget(texture)\n \n texture.alpha2 = animationGroup:CreateAnimation(\"ALPHA\")\n texture.alpha2:SetTarget(texture)\n end\n end\n \n \n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n texture:Hide()\n end\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Hide() \n \nend\n\n\n\n\n\n\n", ["OptionsValues"] = { }, ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\n \n local textures = unitFrame.felAnimation.Textures\n \n if (envTable._CastPercent > envTable.NextPercent) then\n local nextPercent = 100 / scriptTable.config.segmentsAmount\n \n textures[envTable.CurrentTexture]:Show()\n textures[envTable.CurrentTexture].animGroup:Play()\n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n if (envTable.CurrentTexture == #textures) then\n envTable.NextPercent = 98\n elseif (envTable.CurrentTexture > #textures) then\n envTable.NextPercent = 999\n end\n end\n \n local normalizedPercent = envTable._CastPercent / 100\n local textureStretched = unitFrame.felAnimation.textureStretched\n local point = DetailsFramework:GetBezierPoint(normalizedPercent, 0, 0.001, 1)\n textureStretched:SetPoint(\"left\", castBar, \"left\", point * envTable.castBarWidth, 0)\nend", ["Time"] = 1660511537, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 341, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Show a different animation for the cast bar.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n local castBar = unitFrame.castBar\n envTable.castBarWidth = castBar:GetWidth()\n castBar.Spark:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.sparkColor))\n \n local textureStretched = unitFrame.felAnimation.textureStretched\n textureStretched:Show()\n textureStretched:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.glowColor))\n textureStretched:SetAtlas(\"XPBarAnim-OrangeTrail\")\n textureStretched:ClearAllPoints()\n textureStretched:SetPoint(\"right\", castBar.Spark, \"center\", 0, 0)\n textureStretched:SetHeight(castBar:GetHeight())\n textureStretched:SetBlendMode(\"ADD\") \n textureStretched:SetAlpha(0.5)\n textureStretched:SetDrawLayer(\"overlay\", 7)\n \n for i = 1, scriptTable.config.segmentsAmount do\n local texture = unitFrame.felAnimation.Textures[i]\n --texture:SetVertexColor(DetailsFramework:ParseColors(scriptTable.config.trailColor))\n texture:SetVertexColor(1, 1, 1, 1)\n texture:SetDesaturated(true)\n \n local castBarPortion = castBar:GetWidth()/scriptTable.config.segmentsAmount\n \n texture:SetSize(castBarPortion+5, castBar:GetHeight())\n texture:SetDrawLayer(\"overlay\", 6)\n \n texture:ClearAllPoints()\n if (i == scriptTable.config.segmentsAmount) then\n texture:SetPoint(\"right\", castBar, \"right\", 0, 0)\n else\n texture:SetPoint(\"left\", castBar, \"left\", (i-1)*castBarPortion, 2)\n end\n \n texture:SetAlpha(0)\n texture:Hide()\n \n texture.scale:SetOrder(1)\n texture.scale:SetDuration(0.5)\n texture.scale:SetFromScale(0.2, 1)\n texture.scale:SetToScale(1, 1.5)\n texture.scale:SetOrigin(\"right\", 0, 0)\n \n local durationTime = DetailsFramework:GetBezierPoint(i / scriptTable.config.segmentsAmount, 0.2, 0.01, 0.6)\n local duration = abs(durationTime-0.6)\n \n texture.alpha:SetOrder(1)\n texture.alpha:SetDuration(0.05)\n texture.alpha:SetFromAlpha(0)\n texture.alpha:SetToAlpha(0.4)\n \n texture.alpha2:SetOrder(1)\n texture.alpha2:SetDuration(duration) --0.6\n texture.alpha2:SetStartDelay(duration)\n texture.alpha2:SetFromAlpha(0.5)\n texture.alpha2:SetToAlpha(0)\n end\n \n envTable.CurrentTexture = 1\n envTable.NextPercent = 100 / scriptTable.config.segmentsAmount\nend\n\n\n\n\n\n\n\n\n", ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Name"] = "Amount of Segments", ["Value"] = 7, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "segmentsAmount", }, -- [1] { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, -- [1] 1, -- [2] 0.9882352941176471, -- [3] 1, -- [4] }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [2] { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, -- [1] 0.4313725490196079, -- [2] 1, -- [3] 1, -- [4] }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, -- [3] }, ["SpellIds"] = { 373429, -- [1] }, ["PlaterCore"] = 1, ["version"] = -1, ["Name"] = "Cast - Glowing [P]", ["NpcNames"] = { }, ["__TrashAt"] = 1669572090, }, -- [58] }, ["pet_width_scale"] = 0.949999988079071, ["plate_config"] = { ["global_health_height"] = 12, ["friendlyplayer"] = { ["actorname_text_spacing"] = 9, }, ["friendlynpc"] = { ["actorname_text_spacing"] = 9, }, ["enemyplayer"] = { ["actorname_text_spacing"] = 11, }, ["global_health_width"] = 112, }, ["aura_y_offset"] = 5, ["use_ui_parent"] = true, ["hook_data_trash"] = { { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n local auraContainers = {unitFrame.BuffFrame.PlaterBuffList}\n \n if (Plater.db.profile.buffs_on_aura2) then\n auraContainers [2] = unitFrame.BuffFrame2.PlaterBuffList\n end\n \n for containerID = 1, #auraContainers do\n \n local auraContainer = auraContainers [containerID]\n local aurasShown = {}\n local aurasDuplicated = {}\n \n --build the list of auras shown in the buff frame and check for each aura priority\n --also check if the consolidate (stack) auras with the same name is enabled\n for index, auraIcon in ipairs (auraContainer) do\n if (auraIcon:IsShown()) then\n if (envTable.consolidadeRepeatedAuras) then\n --is this aura already shown?\n local iconShownIndex = aurasDuplicated [auraIcon.SpellName]\n if (iconShownIndex) then\n --get the table with information about the shown icon\n local auraShownTable = aurasShown [iconShownIndex]\n --get the icon already in the table\n local icon = auraShownTable[1]\n --increase the amount of stacks\n auraShownTable[3] = auraShownTable[3] + 1\n \n --check if the remaining time of the icon already added in the table is lower than the current\n if (auraIcon.RemainingTime > icon.RemainingTime) then\n --replace the icon for the icon with bigger duration\n auraShownTable[1] = auraIcon\n icon:Hide()\n else\n auraIcon:Hide()\n end\n else \n local priority = envTable.priority[auraIcon.SpellName] or envTable.priority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority, 1}) --icon frame, priority, stack amount\n aurasDuplicated [auraIcon.SpellName] = #aurasShown\n end\n else\n --not stacking similar auras\n local priority = envTable.priority[auraIcon.SpellName] or envTable.priority[auraIcon.spellId] or 1\n tinsert (aurasShown, {auraIcon, priority})\n \n end \n end\n end\n \n --sort auras by priority\n table.sort (aurasShown, DetailsFramework.SortOrder2)\n \n local growDirection\n if (containerID == 1) then --debuff container\n growDirection = Plater.db.profile.aura_grow_direction\n --force to grow to right if it is anchored to center\n if (growDirection == 2) then\n growDirection = 3\n end\n -- \"Left\", \"Center\", \"Right\" - 1 2 3\n \n elseif (containerID == 2) then --buff container\n growDirection = Plater.db.profile.aura2_grow_direction\n --force to grow to left if it is anchored to center\n if (growDirection == 2) then\n growDirection = 1\n end\n \n end\n \n local padding = envTable.padding\n local framersPerRow = envTable.maxAurasPerRow + 1\n local horizontalLength = (-padding or 0)\n \n --first icon is where the row starts\n local firstIcon = aurasShown[1] and aurasShown[1][1]\n \n if (firstIcon) then\n local anchorPoint = firstIcon:GetParent() --anchor point is the BuffFrame\n anchorPoint:SetSize (1, 1)\n \n --> left to right\n if (growDirection == 3) then\n --> iterate among all aura icons\n for i = 1, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == 1) then\n auraIcon:SetPoint (\"bottomleft\", anchorPoint, \"bottomleft\", 0, 0)\n elseif (i % framersPerRow == 0) then\n auraIcon:SetPoint (\"bottomleft\", firstIcon, \"topleft\", 0, envTable.rowPadding or 0)\n framersPerRow = framersPerRow + framersPerRow\n else\n auraIcon:SetPoint (\"topleft\", aurasShown [i-1][1], \"topright\", padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n \n horizontalLength = horizontalLength + auraIcon:GetWidth() + padding\n end\n \n --right to left\n elseif (growDirection == 1) then\n --> iterate among all aura icons\n for i = 1, #aurasShown do\n local auraIcon = aurasShown [i][1]\n auraIcon:ClearAllPoints()\n \n if (i == 1) then\n auraIcon:SetPoint (\"bottomright\", anchorPoint, \"bottomright\", 0, 0)\n elseif (i % framersPerRow == 0) then\n auraIcon:SetPoint (\"bottomright\", firstIcon, \"topright\", 0, envTable.rowPadding or 0)\n framersPerRow = framersPerRow + framersPerRow\n else\n auraIcon:SetPoint (\"topright\", aurasShown [i-1][1], \"topleft\", -padding, 0)\n end\n \n local stacks = aurasShown[i][3]\n if (stacks and stacks > 1) then\n auraIcon.StackText:SetText (stacks)\n auraIcon.StackText:Show()\n end\n \n horizontalLength = horizontalLength + auraIcon:GetWidth() + padding\n end \n end\n \n --set the size of the buff frame\n anchorPoint:SetWidth (horizontalLength)\n anchorPoint:SetHeight (firstIcon:GetHeight())\n \n end\n end\nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --ATTENTION: after enabling this script, you may have to adjust the anchor point at the Buff Settings tab\n \n --space between each aura icon\n envTable.padding = 2\n \n --space between each row of icons\n envTable.rowPadding = 12\n \n --amount of icons in the row, it'll breakline and start a new row after reach the threshold\n envTable.maxAurasPerRow = 5\n \n --stack auras of the same name that arent stacked by default from the game\n envTable.consolidadeRepeatedAuras = true \n \n --which auras goes first, assign a value (any number), bigger value goes first\n envTable.priority = {\n [\"Vampiric Touch\"] = 50,\n [\"Shadow Word: Pain\"] = 22,\n [\"Mind Flay\"] = 5,\n }\n \nend \n\n\n\n\n", }, ["__TrashAt"] = 1608881683, ["Time"] = 1596741775, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_aura_reorder", ["Enabled"] = false, ["Revision"] = 295, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Desc"] = "Reorder buffs and debuffs following the settings set in the constructor.", ["Name"] = "Aura Reorder [Plater]", ["PlaterCore"] = 1, ["version"] = -1, ["HooksTemp"] = { }, ["Options"] = { }, }, -- [1] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Updated"] = "function (self, unitId, unitFrame, envTable)\n \n --get the GUID of the target of the unit\n local targetGUID = UnitGUID (unitId .. \"target\")\n \n if (targetGUID) then\n \n --get the npcID of the target\n local npcID = Plater.GetNpcIDFromGUID (targetGUID)\n --check if the npcID of this unit is in the npc list \n if (envTable.ListOfNpcs [npcID]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [npcID])\n \n else\n --check if the name of ths unit is in the list\n local unitName = UnitName (unitId .. \"target\")\n if (envTable.ListOfNpcs [unitName]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [unitName])\n \n else\n --check if the name of the unit in lower case is in the npc list\n unitName = string.lower (unitName)\n if (envTable.ListOfNpcs [unitName]) then\n Plater.SetNameplateColor (unitFrame, envTable.ListOfNpcs [unitName]) \n \n end\n end\n end\n \n end\nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n \n --list of npcs and their colors, can be inserted:\n --name of the unit\n --name of the unit in lower case\n --npcID of the unit\n \n --color can be added as:\n --color names: \"red\", \"yellow\"\n --color hex: \"#FF0000\", \"#FFFF00\"\n --color table: {1, 0, 0}, {1, 1, 0} \n \n envTable.ListOfNpcs = {\n [61146] = \"olive\", --monk statue npcID\n [103822] = \"olive\", --druid treant npcID\n \n }\n \n \nend\n\n\n\n\n", }, ["__TrashAt"] = 1624518767, ["Time"] = 1547993111, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\icon_attacking_unit", ["Enabled"] = false, ["Revision"] = 222, ["semver"] = "", ["Author"] = "Kastfall-Azralon", ["Desc"] = "Change the nameplate color if the unit is attacking a specific unit like Monk's Ox Statue or Druid's Treants. You may edit which units it track in the constructor script.", ["Name"] = "Attacking Specific Unit [Plater]", ["PlaterCore"] = 1, ["HooksTemp"] = { }, ["version"] = -1, }, -- [2] { ["OptionsValues"] = { }, ["LastHookEdited"] = "", ["Hooks"] = { ["Nameplate Created"] = "function (self, unitId, unitFrame, envTable)\n \n --run constructor!\n --constructor is executed only once when any script of the hook runs.\n \nend\n\n\n", ["Nameplate Added"] = "function (self, unitId, unitFrame, envTable)\n \n --check if need update the amount of combo points shown\n if (envTable.LastPlayerTalentUpdate > envTable.LastUpdate) then\n envTable.UpdateComboPointAmount()\n end \n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n \n else\n envTable.ComboPointFrame:Hide()\n end \n \nend\n\n\n", ["Target Changed"] = "function (self, unitId, unitFrame, envTable)\n \n --check if this nameplate is the current target\n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.ComboPointFrame:Show()\n envTable.UpdateComboPoints()\n else\n envTable.ComboPointFrame:Hide()\n end\n \nend\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ["Player Power Update"] = "function (self, unitId, unitFrame, envTable)\n \n if (unitFrame.namePlateIsTarget and not unitFrame.IsSelf) then\n envTable.UpdateComboPoints()\n end\n \n \nend\n\n\n\n\n\n\n", ["Nameplate Removed"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n", ["Destructor"] = "function (self, unitId, unitFrame, envTable)\n \n envTable.ComboPointFrame:Hide()\n \nend\n\n\n\n\n", ["Player Talent Update"] = "function (self, unitId, unitFrame, envTable)\n \n --update the amount of comboo points shown when the player changes talents or specialization\n envTable.UpdateComboPointAmount()\n \n --save the time of the last talent change\n envTable.LastPlayerTalentUpdate = GetTime()\n \n \nend\n\n\n", ["Constructor"] = "function (self, unitId, unitFrame, envTable)\n --settings\n local anchors = {\n {\"bottom\", unitFrame.healthBar, \"top\", 0, 24},\n }\n \n local sizes = {\n width = 12,\n height = 12,\n scale = 1,\n }\n \n local textures = {\n backgroundTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n backgroundTexCoords = {0/128, 21/128, 101/128, 122/128},\n \n comboPointTexture = [[Interface\\PLAYERFRAME\\ClassOverlayComboPoints]],\n comboPointTexCoords = {3/128, 18/128, 81/128, 96/128},\n }\n \n local frameLevel = 1000\n local frameStrata = \"high\" \n \n --private\n do\n --store combo points frames on this table\n envTable.ComboPoints = {}\n --save when the player changed talents or spec\n envTable.LastPlayerTalentUpdate = GetTime()\n --save when this nameplate got a combo point amount and alignment update \n \n --build combo points frame anchor (combo point are anchored to this)\n if (not unitFrame.PlaterComboPointFrame) then\n local hostFrame = CreateFrame (\"frame\", nil, unitFrame)\n hostFrame.ComboPointFramesPool = {}\n unitFrame.PlaterComboPointFrame = hostFrame\n envTable.ComboPointFrame = hostFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n \n --DetailsFramework:ApplyStandardBackdrop (envTable.ComboPointFrame) --debug anchor size\n \n --animations\n local onPlayShowAnimation = function (animation)\n --stop the hide animation if it's playing\n if (animation:GetParent():GetParent().HideAnimation:IsPlaying()) then\n animation:GetParent():GetParent().HideAnimation:Stop()\n end\n \n animation:GetParent():Show()\n end\n \n local onPlayHideAnimation = function (animation)\n --stop the show animation if it's playing\n if (animation:GetParent():GetParent().ShowAnimation:IsPlaying()) then\n animation:GetParent():GetParent().ShowAnimation:Stop()\n end\n end \n local onStopHideAnimation = function (animation)\n animation:GetParent():Hide() \n end\n \n local createAnimations = function (comboPoint)\n --on show\n comboPoint.ShowAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayShowAnimation, nil)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 1, 0.1, 0, 0, 1, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"alpha\", 1, 0.1, .5, 1)\n Plater:CreateAnimation (comboPoint.ShowAnimation, \"scale\", 2, 0.1, 1.2, 1.2, 1, 1)\n \n --on hide\n comboPoint.HideAnimation = Plater:CreateAnimationHub (comboPoint.comboPointTexture, onPlayHideAnimation, onStopHideAnimation)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"scale\", 1, 0.1, 1, 1, 0, 0)\n Plater:CreateAnimation (comboPoint.HideAnimation, \"alpha\", 1, 0.1, 1, 0)\n end\n \n --build combo point frame \n for i =1, 10 do \n local f = CreateFrame (\"frame\", nil, envTable.ComboPointFrame)\n f:SetSize (sizes.width, sizes.height)\n tinsert (envTable.ComboPoints, f)\n tinsert (unitFrame.PlaterComboPointFrame.ComboPointFramesPool, f)\n \n local backgroundTexture = f:CreateTexture (nil, \"background\")\n backgroundTexture:SetTexture (textures.backgroundTexture)\n backgroundTexture:SetTexCoord (unpack (textures.backgroundTexCoords))\n backgroundTexture:SetSize (sizes.width, sizes.height)\n backgroundTexture:SetPoint (\"center\")\n \n local comboPointTexture = f:CreateTexture (nil, \"artwork\")\n comboPointTexture:SetTexture (textures.comboPointTexture)\n comboPointTexture:SetTexCoord (unpack (textures.comboPointTexCoords))\n \n comboPointTexture:SetSize (sizes.width, sizes.height)\n comboPointTexture:SetPoint (\"center\")\n comboPointTexture:Hide() \n \n f.IsActive = false\n \n f.backgroundTexture = backgroundTexture\n f.comboPointTexture = comboPointTexture\n \n createAnimations (f)\n end\n \n else\n envTable.ComboPointFrame = unitFrame.PlaterComboPointFrame\n envTable.ComboPointFrame:SetScale (sizes.scale)\n envTable.ComboPoints = unitFrame.PlaterComboPointFrame.ComboPointFramesPool\n \n end \n \n envTable.ComboPointFrame:SetFrameLevel (frameLevel)\n envTable.ComboPointFrame:SetFrameStrata (frameStrata)\n \n function envTable.UpdateComboPoints()\n local comboPoints = UnitPower (\"player\", Enum.PowerType.ComboPoints)\n \n for i = 1, envTable.TotalComboPoints do\n local thisComboPoint = envTable.ComboPoints [i]\n \n if (i <= comboPoints ) then\n --combo point enabled\n if (not thisComboPoint.IsActive) then\n thisComboPoint.ShowAnimation:Play()\n thisComboPoint.IsActive = true\n \n end\n \n else\n --combo point disabled\n if (thisComboPoint.IsActive) then\n thisComboPoint.HideAnimation:Play()\n thisComboPoint.IsActive = false\n \n end\n end\n end\n \n \n end\n \n function envTable.UpdateComboPointAmount()\n local namePlateWidth = Plater.db.profile.plate_config.enemynpc.health_incombat[1]\n local comboPoints = UnitPowerMax (\"player\", Enum.PowerType.ComboPoints)\n local reservedSpace = (namePlateWidth - sizes.width * comboPoints) / comboPoints \n \n --store the total amount of combo points\n envTable.TotalComboPoints = comboPoints\n \n --update anchor frame\n envTable.ComboPointFrame:SetWidth (namePlateWidth)\n envTable.ComboPointFrame:SetHeight (20)\n envTable.ComboPointFrame:ClearAllPoints()\n for i = 1, #anchors do\n local anchor = anchors[i]\n envTable.ComboPointFrame:SetPoint (unpack (anchor))\n end \n \n --\n for i = 1, #envTable.ComboPoints do\n envTable.ComboPoints[i]:Hide()\n envTable.ComboPoints[i]:ClearAllPoints()\n end\n \n for i = 1, comboPoints do\n local comboPoint = envTable.ComboPoints[i]\n if i == 1 then\n comboPoint:SetPoint (\"left\", envTable.ComboPointFrame, \"left\", reservedSpace/2, 0)\n else\n comboPoint:SetPoint (\"left\", envTable.ComboPoints[i-1], \"right\", reservedSpace, 0)\n end\n \n comboPoint:Show()\n end\n \n envTable.LastUpdate = GetTime()\n \n envTable.UpdateComboPoints()\n end\n \n --initialize\n envTable.UpdateComboPointAmount()\n envTable.ComboPointFrame:Hide()\n end\n \n \nend", }, ["__TrashAt"] = 1624518767, ["Time"] = 1603567332, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { ["Enabled"] = true, ["DRUID"] = true, ["ROGUE"] = true, }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { ["103"] = true, ["Enabled"] = true, }, ["race"] = { }, ["encounter_ids"] = { }, ["affix"] = { }, }, ["url"] = "", ["Icon"] = 135426, ["Enabled"] = false, ["Revision"] = 254, ["semver"] = "", ["Author"] = "Izimode-Azralon", ["Desc"] = "Show combo points above the nameplate for Druid Feral and Rogues.", ["Name"] = "Combo Points [Plater]", ["PlaterCore"] = 1, ["Options"] = { }, ["HooksTemp"] = { }, ["version"] = -1, }, -- [3] }, ["hook_auto_imported"] = { ["Reorder Nameplate"] = 4, ["Dont Have Aura"] = 1, ["Players Targetting Amount"] = 4, ["Color Automation"] = 1, ["Attacking Specific Unit"] = 2, ["Cast Bar Icon Config"] = 2, ["Execute Range"] = 1, ["Extra Border"] = 2, ["Combo Points"] = 6, ["Target Color"] = 3, ["Aura Reorder"] = 3, ["Hide Neutral Units"] = 1, }, ["update_throttle"] = 0.2499999850988388, ["minor_width_scale"] = 0.8999999761581421, ["resources"] = { ["scale"] = 0.7999999523162842, }, ["health_animation_time_dilatation"] = 2.619999885559082, ["npc_cache"] = { [36877] = { "Wrathbone Skeleton", -- [1] "Pit of Saron", -- [2] }, [156146] = { "Voidbound Shieldbearer", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [16523] = { "Shattered Hand Savage", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [24777] = { "Sunblade Sentinel", -- [1] "Magisters' Terrace", -- [2] }, [165872] = { "Flesh Crafter", -- [1] "The Necrotic Wake", -- [2] }, [29064] = { "Anub'ar Necromancer", -- [1] "Azjol-Nerub", -- [2] }, [29128] = { "Anub'ar Prime Guard", -- [1] "Azjol-Nerub", -- [2] }, [75786] = { "Roltall", -- [1] "Bloodmaul Slag Mines", -- [2] }, [170480] = { "Atal'ai Deathwalker", -- [1] "De Other Side", -- [2] }, [134137] = { "Temple Attendant", -- [1] "Shrine of the Storm", -- [2] }, [159219] = { "Umbral Seer", -- [1] "Ny'alotha, the Waking City", -- [2] }, [102404] = { "Stoneclaw Grubmaster", -- [1] "Neltharion's Lair", -- [2] }, [164338] = { "Mawsworn Guard", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [169457] = { "Bargast", -- [1] "Castle Nathria", -- [2] }, [178671] = { "Mawsworn Eradicator", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [164339] = { "Mawsworn Bowman", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [136186] = { "Tidesage Spiritualist", -- [1] "Shrine of the Storm", -- [2] }, [169458] = { "Hecutis", -- [1] "Castle Nathria", -- [2] }, [36494] = { "Forgemaster Garfrost", -- [1] "Pit of Saron", -- [2] }, [134139] = { "Shrine Templar", -- [1] "Shrine of the Storm", -- [2] }, [170483] = { "Atal'ai Deathwalker's Spirit", -- [1] "De Other Side", -- [2] }, [177650] = { "Lordaeron Knight", -- [1] "Stratholme - Paladin Class Mount", -- [2] }, [69390] = { "Zandalari Storm-Caller", -- [1] "Throne of Thunder", -- [2] }, [164342] = { "Mawsworn Defender", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [173044] = { "Stitching Assistant", -- [1] "The Necrotic Wake", -- [2] }, [159224] = { "Gryth'ax the Executioner", -- [1] "Ny'alotha, the Waking City", -- [2] }, [172021] = { "Coldheart Automaton", -- [1] "Torghast, Tower of the Damned", -- [2] }, [164343] = { "Mawsworn Debilitator", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [174069] = { "Hulking Gargon", -- [1] "Castle Nathria", -- [2] }, [170486] = { "Atal'ai Devoted", -- [1] "De Other Side", -- [2] }, [36879] = { "Plagueborn Horror", -- [1] "Pit of Saron", -- [2] }, [160249] = { "Spike Tentacle", -- [1] "Ny'alotha, the Waking City", -- [2] }, [174070] = { "Kennel Overseer", -- [1] "Castle Nathria", -- [2] }, [20875] = { "Negaton Screamer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [131585] = { "Enthralled Guard", -- [1] "Waycrest Manor", -- [2] }, [164857] = { "Spriggan Mendbender", -- [1] "De Other Side", -- [2] }, [174071] = { "Vicious Gargon", -- [1] "Castle Nathria", -- [2] }, [170488] = { "Son of Hakkar", -- [1] "De Other Side", -- [2] }, [17356] = { "Creeping Ooze", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [17420] = { "Shattered Hand Heathen", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [131586] = { "Banquet Steward", -- [1] "Waycrest Manor", -- [2] }, [8904] = { "Shadowforge Senator", -- [1] "Blackrock Depths", -- [2] }, [131587] = { "Bewitched Captain", -- [1] "Waycrest Manor", -- [2] }, [170490] = { "Atal'ai High Priest", -- [1] "De Other Side", -- [2] }, [164348] = { "Wandering Shade", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [166396] = { "Noble Skirmisher", -- [1] "Sanguine Depths", -- [2] }, [156159] = { "Coldheart Javelineer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [173051] = { "Suppressor Xelors", -- [1] "Torghast, Tower of the Damned", -- [2] }, [118022] = { "Infernal Chaosbringer", -- [1] "Tomb of Sargeras", -- [2] }, [175611] = { "The Tarragrue", -- [1] "Sanctum of Domination", -- [2] }, [73745] = { "Kor'kron Iron Sentinel", -- [1] "Siege of Orgrimmar", -- [2] }, [164862] = { "Weald Shimmermoth", -- [1] "De Other Side", -- [2] }, [162303] = { "Aqir Swarmkeeper", -- [1] "Ny'alotha, the Waking City", -- [2] }, [134150] = { "Runecarver Sorn", -- [1] "Shrine of the Storm", -- [2] }, [139269] = { "Gloom Horror", -- [1] "Waycrest Manor", -- [2] }, [156161] = { "Inquisitor Gnshal", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [36497] = { "Bronjahm", -- [1] "The Forge of Souls", -- [2] }, [36881] = { "Skeletal Slave", -- [1] "Pit of Saron", -- [2] }, [94733] = { "Felfire Demolisher", -- [1] "Hellfire Citadel", -- [2] }, [162305] = { "Aqir Heartpiercer", -- [1] "Ny'alotha, the Waking City", -- [2] }, [163841] = { "Amalgamation of Flesh", -- [1] "Ny'alotha, the Waking City", -- [2] }, [184828] = { "Winged Soul Eater", -- [1] "Path of the Primus", -- [2] }, [76306] = { "Grand Defense Construct", -- [1] "Skyreach", -- [2] }, [162306] = { "Aqir Drone", -- [1] "Ny'alotha, the Waking City", -- [2] }, [166913] = { "Corrupted Guardian", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [17357] = { "Creeping Oozeling", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [168961] = { "The Hungering Ones", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [173568] = { "Anima Crazed Worker", -- [1] "Castle Nathria", -- [2] }, [157700] = { "Agustus Moulaine", -- [1] "Horrific Vision of Stormwind", -- [2] }, [166914] = { "Fallen Keeper", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [171521] = { "Dread Evoker", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [164355] = { "Manifestation of Pride", -- [1] "Revendreth Scenario", -- [2] }, [168962] = { "Reborn Phoenix", -- [1] "Castle Nathria", -- [2] }, [117769] = { "Felborne Spellbreaker", -- [1] "Tomb of Sargeras", -- [2] }, [166915] = { "Possessed Tender", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [171522] = { "Foul Slayer", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [126983] = { "Harlan Sweete", -- [1] "Freehold", -- [2] }, [26763] = { "Anomalus", -- [1] "The Nexus", -- [2] }, [162309] = { "Kul'tharok", -- [1] "Theater of Pain", -- [2] }, [96015] = { "Inquisitor Tormentorum", -- [1] "Vault of the Wardens", -- [2] }, [177154] = { "Mawsworn Vanguard", -- [1] "Sanctum of Domination", -- [2] }, [161286] = { "Dark Ritualist", -- [1] "Ny'alotha, the Waking City", -- [2] }, [162310] = { "Hunter", -- [1] "Vision of Ysera Scenario", -- [2] }, [166917] = { "Grove Wrecker", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [93968] = { "Shadowfel Warden", -- [1] "Hellfire Citadel", -- [2] }, [155656] = { "Misha", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [153097] = { "Voidbound Shaman", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [162311] = { "Death Knight", -- [1] "Vision of Ysera Scenario", -- [2] }, [155657] = { "Huffer", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [168966] = { "Brightsparkle", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [162312] = { "Druid", -- [1] "Vision of Ysera Scenario", -- [2] }, [166919] = { "Foul Slayer", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [168967] = { "Gerwyn", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [162313] = { "Mage", -- [1] "Vision of Ysera Scenario", -- [2] }, [166920] = { "Blighted Servitor", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [76310] = { "Grand Defense Construct", -- [1] "Skyreach", -- [2] }, [72983] = { "Corrupted Skullsplitter", -- [1] "Siege of Orgrimmar", -- [2] }, [166921] = { "Blighted Creeper", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [159755] = { "The Grand Malleare", -- [1] "Torghast, Tower of the Damned", -- [2] }, [168457] = { "Stonewall Gargon", -- [1] "Sanguine Depths", -- [2] }, [177159] = { "Soulburner Fraxin", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [8905] = { "Warbringer Construct", -- [1] "Blackrock Depths", -- [2] }, [30283] = { "Plague Walker", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [9033] = { "General Angerforge", -- [1] "Blackrock Depths", -- [2] }, [129802] = { "Earthrager", -- [1] "The MOTHERLODE!!", -- [2] }, [72728] = { "Kor'kron Blood Axe", -- [1] "Siege of Orgrimmar", -- [2] }, [166411] = { "Forsworn Usurper", -- [1] "Spires of Ascension", -- [2] }, [162828] = { "Corrosive Digester", -- [1] "Ny'alotha, the Waking City", -- [2] }, [177161] = { "Mawsworn Raider", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [161293] = { "Neglected Guild Bank", -- [1] "Horrific Vision of Stormwind", -- [2] }, [174090] = { "Nathrian Hierarch", -- [1] "Castle Nathria", -- [2] }, [162317] = { "Gorechop", -- [1] "Theater of Pain", -- [2] }, [18894] = { "Felguard Brute", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [9545] = { "Grim Patron", -- [1] "Blackrock Depths", -- [2] }, [162318] = { "Monk", -- [1] "Vision of Ysera Scenario", -- [2] }, [74009] = { "Crawler Mine", -- [1] "Siege of Orgrimmar", -- [2] }, [168973] = { "High Torturer Darithos", -- [1] "Castle Nathria", -- [2] }, [174092] = { "Nathrian Gargon Rider", -- [1] "Castle Nathria", -- [2] }, [154129] = { "Burning Emberguard", -- [1] "Torghast, Tower of the Damned", -- [2] }, [177164] = { "Mawsworn Pillager", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [174093] = { "Nathrian Ranger", -- [1] "Castle Nathria", -- [2] }, [162320] = { "Shaman", -- [1] "Vision of Ysera Scenario", -- [2] }, [81432] = { "Grom'kar Technician", -- [1] "Iron Docks", -- [2] }, [28684] = { "Krik'thir the Gatewatcher", -- [1] "Azjol-Nerub", -- [2] }, [177165] = { "Mawsworn Destroyer", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [127757] = { "Reanimated Honor Guard", -- [1] "Atal'Dazar", -- [2] }, [154131] = { "Molten Fury", -- [1] "Torghast, Tower of the Damned", -- [2] }, [163857] = { "Plaguebound Devoted", -- [1] "Plaguefall", -- [2] }, [139799] = { "Ironhull Apprentice", -- [1] "Shrine of the Storm", -- [2] }, [117264] = { "Maiden of Valor", -- [1] "Tomb of Sargeras", -- [2] }, [165905] = { "Son of Hakkar", -- [1] "De Other Side", -- [2] }, [139800] = { "Galecaller Apprentice", -- [1] "Shrine of the Storm", -- [2] }, [25741] = { "M'uru", -- [1] "The Sunwell", -- [2] }, [95766] = { "Crazed Razorbeak", -- [1] "Darkheart Thicket", -- [2] }, [17871] = { "Underbog Shambler", -- [1] "Coilfang: The Underbog", -- [2] }, [26125] = { "Dirtravager", -- [1] "Sanctum of Domination", -- [2] }, [30284] = { "Bonegrinder", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [129550] = { "Bilge Rat Padfoot", -- [1] "Freehold", -- [2] }, [36502] = { "Devourer of Souls", -- [1] "The Forge of Souls", -- [2] }, [118289] = { "Maiden of Vigilance", -- [1] "Tomb of Sargeras", -- [2] }, [36886] = { "Geist Ambusher", -- [1] "Pit of Saron", -- [2] }, [86809] = { "Grom'kar Incinerator", -- [1] "Iron Docks", -- [2] }, [162325] = { "Warrior", -- [1] "Vision of Ysera Scenario", -- [2] }, [167956] = { "Dark Acolyte", -- [1] "Sanguine Depths", -- [2] }, [162326] = { "Priest", -- [1] "Vision of Ysera Scenario", -- [2] }, [134173] = { "Animated Droplet", -- [1] "Shrine of the Storm", -- [2] }, [163862] = { "Defender of Many Eyes", -- [1] "Plaguefall", -- [2] }, [152089] = { "Thrall", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [23694] = { "Pulsing Pumpkin", -- [1] "Scarlet Monastery", -- [2] }, [174100] = { "Nathrian Singuard", -- [1] "Castle Nathria", -- [2] }, [162327] = { "Rogue", -- [1] "Vision of Ysera Scenario", -- [2] }, [166934] = { "Lor the Loyal", -- [1] "Torghast, Tower of the Damned", -- [2] }, [71454] = { "Malkorok", -- [1] "Siege of Orgrimmar", -- [2] }, [159768] = { "Deresh of the Nothingness", -- [1] "Ny'alotha, the Waking City", -- [2] }, [129552] = { "Monzumi", -- [1] "Atal'Dazar", -- [2] }, [165911] = { "Loyal Creation", -- [1] "The Necrotic Wake", -- [2] }, [162328] = { "Warlock", -- [1] "Vision of Ysera Scenario", -- [2] }, [151579] = { "Shield Generator", -- [1] "Operation: Mechagon", -- [2] }, [102679] = { "Ysondre", -- [1] "The Emerald Nightmare", -- [2] }, [185363] = { "Manifestor Krugan", -- [1] "Sepulcher of the First Ones", -- [2] }, [162329] = { "Xav the Unfallen", -- [1] "Theater of Pain", -- [2] }, [20879] = { "Eredar Soul-Eater", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [104215] = { "Patrol Captain Gerdo", -- [1] "Court of Stars", -- [2] }, [120851] = { "Hippogryph Lord Varah", -- [1] "Tomb of Sargeras", -- [2] }, [25166] = { "Grand Warlock Alythess", -- [1] "The Sunwell", -- [2] }, [129553] = { "Dinomancer Kish'o", -- [1] "Atal'Dazar", -- [2] }, [165913] = { "Ghastly Parishioner", -- [1] "Halls of Atonement", -- [2] }, [162330] = { "Demon Hunter", -- [1] "Vision of Ysera Scenario", -- [2] }, [25486] = { "Shadowsword Vanquisher", -- [1] "The Sunwell", -- [2] }, [173080] = { "Wandering Death", -- [1] "Torghast, Tower of the Damned", -- [2] }, [162331] = { "Corrupted Neuron", -- [1] "Ny'alotha, the Waking City", -- [2] }, [8906] = { "Ragereaver Golem", -- [1] "Blackrock Depths", -- [2] }, [167962] = { "Defunct Dental Drill", -- [1] "De Other Side", -- [2] }, [30285] = { "Eye of Taldaram", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [168986] = { "Skeletal Raptor", -- [1] "De Other Side", -- [2] }, [169498] = { "Plague Bomb", -- [1] "Plaguefall", -- [2] }, [149535] = { "Icebound Image", -- [1] "Battle of Dazar'alor", -- [2] }, [167963] = { "Headless Client", -- [1] "De Other Side", -- [2] }, [102681] = { "Taerar", -- [1] "The Emerald Nightmare", -- [2] }, [153119] = { "Lesser Void Elemental", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [95771] = { "Dreadsoul Ruiner", -- [1] "Darkheart Thicket", -- [2] }, [104217] = { "Talixae Flamewreath", -- [1] "Court of Stars", -- [2] }, [167964] = { "4.RF-4.RF", -- [1] "De Other Side", -- [2] }, [168988] = { "Overgrowth", -- [1] "Mists of Tirna Scithe", -- [2] }, [117782] = { "Eredar Bloodmage", -- [1] "Tomb of Sargeras", -- [2] }, [166429] = { "Fallen Legionnaire", -- [1] "Bastion Scenario", -- [2] }, [167965] = { "Lubricator", -- [1] "De Other Side", -- [2] }, [166430] = { "Forsworn Oracle", -- [1] "Bastion Scenario", -- [2] }, [95772] = { "Frenzied Nightclaw", -- [1] "Darkheart Thicket", -- [2] }, [104218] = { "Advisor Melandrus", -- [1] "Court of Stars", -- [2] }, [167966] = { "Experimental Sludge", -- [1] "De Other Side", -- [2] }, [24207] = { "Army of the Dead", -- [1] "Sanctum of Domination", -- [2] }, [161312] = { "Crushing Tendril", -- [1] "Ny'alotha, the Waking City", -- [2] }, [165919] = { "Skeletal Marauder", -- [1] "The Necrotic Wake", -- [2] }, [73250] = { "Kor'kron Wild Gun", -- [1] "Siege of Orgrimmar", -- [2] }, [167967] = { "Sentient Oil", -- [1] "De Other Side", -- [2] }, [102683] = { "Emeriss", -- [1] "The Emerald Nightmare", -- [2] }, [16593] = { "Shattered Hand Brawler", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [20880] = { "Eredar Deathbringer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [159266] = { "Portal Master", -- [1] "Horrific Vision of Stormwind", -- [2] }, [71715] = { "Orgrimmar Faithful", -- [1] "Siege of Orgrimmar", -- [2] }, [160290] = { "Masked Sylvar", -- [1] "Halls of Lightning", -- [2] }, [168992] = { "Risen Cultist", -- [1] "De Other Side", -- [2] }, [72483] = { "Sarok", -- [1] "Siege of Orgrimmar", -- [2] }, [172064] = { "Unstable Larva", -- [1] "Plaguefall", -- [2] }, [160291] = { "Ashwalker Assassin", -- [1] "Ny'alotha, the Waking City", -- [2] }, [165410] = { "High Adjudicator Aleez", -- [1] "Halls of Atonement", -- [2] }, [74787] = { "Slave Watcher Crushto", -- [1] "Bloodmaul Slag Mines", -- [2] }, [138281] = { "Faceless Corruptor", -- [1] "The Underrot", -- [2] }, [30286] = { "Frostbringer", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [72484] = { "Zazo", -- [1] "Siege of Orgrimmar", -- [2] }, [94239] = { "Omnus", -- [1] "Hellfire Citadel", -- [2] }, [160293] = { "Masked Faerie", -- [1] "Halls of Lightning", -- [2] }, [99358] = { "Rotheart Dryad", -- [1] "Darkheart Thicket", -- [2] }, [166436] = { "Forsworn Oracle", -- [1] "Bastion Scenario", -- [2] }, [129559] = { "Cutwater Duelist", -- [1] "Freehold", -- [2] }, [72485] = { "Goma", -- [1] "Siege of Orgrimmar", -- [2] }, [163366] = { "Magus of the Dead", -- [1] "Sanctum of Domination", -- [2] }, [63508] = { "Xuen", -- [1] "Waycrest Manor", -- [2] }, [78116] = { "Water Elemental", -- [1] "Ny'alotha, the Waking City", -- [2] }, [148522] = { "Ice Block", -- [1] "Battle of Dazar'alor", -- [2] }, [173604] = { "Sinister Antiquarian", -- [1] "Castle Nathria", -- [2] }, [99359] = { "Rotheart Keeper", -- [1] "Darkheart Thicket", -- [2] }, [171557] = { "Shade of Bargast", -- [1] "Castle Nathria", -- [2] }, [153130] = { "Greater Void Elemental", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [125977] = { "Reanimation Totem", -- [1] "Atal'Dazar", -- [2] }, [89890] = { "Fel Lord Zakuun", -- [1] "Hellfire Citadel", -- [2] }, [36891] = { "Iceborn Proto-Drake", -- [1] "Pit of Saron", -- [2] }, [24656] = { "Fizzle", -- [1] "Magisters' Terrace", -- [2] }, [16594] = { "Shadowmoon Acolyte", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [99360] = { "Vilethorn Blossom", -- [1] "Darkheart Thicket", -- [2] }, [20881] = { "Unbound Devastator", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [180773] = { "Vigilant Guardian", -- [1] "Sepulcher of the First Ones", -- [2] }, [21137] = { "Infinite Assassin", -- [1] "Opening of the Dark Portal", -- [2] }, [159275] = { "Portal Keeper", -- [1] "Horrific Vision of Stormwind", -- [2] }, [163882] = { "Decaying Flesh Giant", -- [1] "Plaguefall", -- [2] }, [8907] = { "Wrath Hammer Construct", -- [1] "Blackrock Depths", -- [2] }, [17938] = { "Coilfang Observer", -- [1] "Coilfang: The Slave Pens", -- [2] }, [30287] = { "Plundering Geist", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [173609] = { "Nathrian Conservator", -- [1] "Castle Nathria", -- [2] }, [72744] = { "Kor'kron Skullsplitter", -- [1] "Siege of Orgrimmar", -- [2] }, [36892] = { "Ymirjar Deathbringer", -- [1] "Pit of Saron", -- [2] }, [95779] = { "Festerhide Grizzly", -- [1] "Darkheart Thicket", -- [2] }, [9547] = { "Guzzling Patron", -- [1] "Blackrock Depths", -- [2] }, [157231] = { "Shad'har the Insatiable", -- [1] "Ny'alotha, the Waking City", -- [2] }, [106785] = { "Bitterbrine Slave", -- [1] "Eye of Azshara", -- [2] }, [178731] = { "Bonesteel", -- [1] "Sanctum of Domination", -- [2] }, [71466] = { "Iron Juggernaut", -- [1] "Siege of Orgrimmar", -- [2] }, [180779] = { "Terrorspine", -- [1] "Sanctum of Domination", -- [2] }, [173613] = { "Nathrian Registrar", -- [1] "Castle Nathria", -- [2] }, [178732] = { "Mawsworn Runesmith", -- [1] "Sanctum of Domination", -- [2] }, [36893] = { "Ymirjar Flamebearer", -- [1] "Pit of Saron", -- [2] }, [180780] = { "Dreadmaw", -- [1] "Sanctum of Domination", -- [2] }, [174126] = { "Baron Duskhollow", -- [1] "Castle Nathria", -- [2] }, [178733] = { "Mawsworn Vanguard", -- [1] "Sanctum of Domination", -- [2] }, [20882] = { "Skulking Witch", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [180781] = { "Frothing Hound", -- [1] "Sanctum of Domination", -- [2] }, [84520] = { "Pitwarden Gwarnok", -- [1] "Iron Docks", -- [2] }, [178734] = { "Mawsworn Husk", -- [1] "Sanctum of Domination", -- [2] }, [17427] = { "Shattered Hand Archer", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [180782] = { "Consumed Soul", -- [1] "Sanctum of Domination", -- [2] }, [136249] = { "Guardian Elemental", -- [1] "Shrine of the Storm", -- [2] }, [153141] = { "Endless Hunger Totem", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [99365] = { "Taintheart Stalker", -- [1] "Darkheart Thicket", -- [2] }, [112162] = { "Grisly Trapper", -- [1] "The Emerald Nightmare", -- [2] }, [163891] = { "Rotmarrow Slime", -- [1] "Plaguefall", -- [2] }, [156213] = { "Coldheart Guardian", -- [1] "Torghast, Tower of the Damned", -- [2] }, [30416] = { "Bound Fire Elemental", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [166451] = { "Forsworn Swiftblade", -- [1] "Bastion Scenario", -- [2] }, [163892] = { "Rotting Slimeclaw", -- [1] "Plaguefall", -- [2] }, [70445] = { "Stormbringer Draz'kil", -- [1] "Throne of Thunder", -- [2] }, [99366] = { "Taintheart Summoner", -- [1] "Darkheart Thicket", -- [2] }, [166452] = { "Darkturned Crusher", -- [1] "Bastion Scenario", -- [2] }, [158774] = { "Broken Citizen", -- [1] "Horrific Vision of Stormwind", -- [2] }, [75820] = { "Vengeful Magma Elemental", -- [1] "Bloodmaul Slag Mines", -- [2] }, [184880] = { "Dominated Disrupter", -- [1] "Sepulcher of the First Ones", -- [2] }, [72237] = { "Embodied Fear", -- [1] "Siege of Orgrimmar", -- [2] }, [161334] = { "Gnashing Terror", -- [1] "Ny'alotha, the Waking City", -- [2] }, [101414] = { "Saltscale Skulker", -- [1] "Eye of Azshara", -- [2] }, [166453] = { "Darkturned Clawguard", -- [1] "Bastion Scenario", -- [2] }, [163894] = { "Blighted Spinebreaker", -- [1] "Plaguefall", -- [2] }, [180786] = { "Binding of Misery", -- [1] "De Other Side", -- [2] }, [165430] = { "Malignant Spawn", -- [1] "Plaguefall", -- [2] }, [164407] = { "Sludgefist", -- [1] "Castle Nathria", -- [2] }, [164920] = { "Drust Soulcleaver", -- [1] "Mists of Tirna Scithe", -- [2] }, [174134] = { "Lord Evershade", -- [1] "Castle Nathria", -- [2] }, [20883] = { "Spiteful Temptress", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [156219] = { "Coldheart Scout", -- [1] "Torghast, Tower of the Damned", -- [2] }, [164921] = { "Drust Harvester", -- [1] "Mists of Tirna Scithe", -- [2] }, [166969] = { "Baroness Frieda", -- [1] "Castle Nathria", -- [2] }, [151613] = { "Anti-Personnel Squirrel", -- [1] "Operation: Mechagon", -- [2] }, [70448] = { "Ancient Python", -- [1] "Throne of Thunder", -- [2] }, [165946] = { "Mordretha, the Endless Empress", -- [1] "Theater of Pain", -- [2] }, [178743] = { "Terrified Glitterfeather", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [166970] = { "Lord Stavros", -- [1] "Castle Nathria", -- [2] }, [135234] = { "Diseased Mastiff", -- [1] "Waycrest Manor", -- [2] }, [72496] = { "Overseer Thathung", -- [1] "Siege of Orgrimmar", -- [2] }, [178744] = { "Mawsworn Raider", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [166971] = { "Castellan Niklaus", -- [1] "Castle Nathria", -- [2] }, [173114] = { "Invasive Decayfly", -- [1] "Torghast, Tower of the Damned", -- [2] }, [179257] = { "Burning Shade", -- [1] "Sanctum of Domination", -- [2] }, [100394] = { "Felguard Lookout", -- [1] "Niskara", -- [2] }, [167485] = { "Starving Mawrat", -- [1] "Torghast, Tower of the Damned", -- [2] }, [164414] = { "Reanimated Mage", -- [1] "The Necrotic Wake", -- [2] }, [164926] = { "Drust Boughbreaker", -- [1] "Mists of Tirna Scithe", -- [2] }, [167998] = { "Portal Guardian", -- [1] "Theater of Pain", -- [2] }, [97068] = { "Storm Drake", -- [1] "Halls of Valor", -- [2] }, [32593] = { "Skittering Swarmer", -- [1] "Azjol-Nerub", -- [2] }, [167999] = { "Echo of Sin", -- [1] "Castle Nathria", -- [2] }, [156226] = { "Coldheart Binder", -- [1] "Torghast, Tower of the Damned", -- [2] }, [24723] = { "Selin Fireheart", -- [1] "Magisters' Terrace", -- [2] }, [71475] = { "Rook Stonetoe", -- [1] "Siege of Orgrimmar", -- [2] }, [135240] = { "Soul Essence", -- [1] "Waycrest Manor", -- [2] }, [152644] = { "Deadsoul Drifter", -- [1] "Torghast, Tower of the Damned", -- [2] }, [25363] = { "Sunblade Cabalist", -- [1] "The Sunwell", -- [2] }, [17301] = { "Shattered Hand Executioner", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [168001] = { "Empowered Flameforge Enforcer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [176703] = { "Frostbound Devoted", -- [1] "Sanctum of Domination", -- [2] }, [17621] = { "Heathen Guard", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [83761] = { "Ogron Laborer", -- [1] "Iron Docks", -- [2] }, [168002] = { "Empowered Mawsworn Shackler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [173633] = { "Nathrian Archivist", -- [1] "Castle Nathria", -- [2] }, [73012] = { "Klaxxi Skirmisher", -- [1] "Siege of Orgrimmar", -- [2] }, [159301] = { "General Kaal", -- [1] "Revendreth Scenario", -- [2] }, [168003] = { "Empowered Coldheart Ascendant", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157254] = { "Tek'ris", -- [1] "Ny'alotha, the Waking City", -- [2] }, [128551] = { "Irontide Mastiff", -- [1] "Freehold", -- [2] }, [83762] = { "Grom'kar Deckhand", -- [1] "Iron Docks", -- [2] }, [168004] = { "Empowered Imperial Consular", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157255] = { "Aqir Drone", -- [1] "Ny'alotha, the Waking City", -- [2] }, [159303] = { "Monstrous Behemoth", -- [1] "Ny'alotha, the Waking City", -- [2] }, [168005] = { "Empowered Deadsoul Shambler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157256] = { "Aqir Darter", -- [1] "Ny'alotha, the Waking City", -- [2] }, [95280] = { "Kaz'rogal", -- [1] "Hellfire Citadel", -- [2] }, [83763] = { "Grom'kar Technician", -- [1] "Iron Docks", -- [2] }, [71734] = { "Sha of Pride", -- [1] "Siege of Orgrimmar", -- [2] }, [93233] = { "Lord Aram'el", -- [1] "Hellfire Citadel", -- [2] }, [101679] = { "Dreadsoul Poisoner", -- [1] "Darkheart Thicket", -- [2] }, [159305] = { "Maddened Conscript", -- [1] "Ny'alotha, the Waking City", -- [2] }, [168007] = { "Empowered Mawsworn Soulbinder", -- [1] "Torghast, Tower of the Damned", -- [2] }, [111405] = { "Shadow Pounder", -- [1] "The Emerald Nightmare", -- [2] }, [20885] = { "Dalliah the Doomsayer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [71479] = { "He Softfoot", -- [1] "Siege of Orgrimmar", -- [2] }, [113197] = { "Understone Drudge", -- [1] "Neltharion's Lair", -- [2] }, [131666] = { "Coven Thornshaper", -- [1] "Waycrest Manor", -- [2] }, [153165] = { "Custodian Thonar", -- [1] "Torghast, Tower of the Damned", -- [2] }, [95282] = { "Azgalor", -- [1] "Hellfire Citadel", -- [2] }, [158284] = { "Craggle Wobbletop", -- [1] "Horrific Vision of Stormwind", -- [2] }, [8909] = { "Fireguard", -- [1] "Blackrock Depths", -- [2] }, [159308] = { "Zealous Adherent", -- [1] "Ny'alotha, the Waking City", -- [2] }, [163915] = { "Hatchling Nest", -- [1] "Plaguefall", -- [2] }, [164427] = { "Reanimated Warrior", -- [1] "The Necrotic Wake", -- [2] }, [30419] = { "Bound Water Elemental", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [36516] = { "Soulguard Animator", -- [1] "The Forge of Souls", -- [2] }, [159309] = { "Leeching Parasite", -- [1] "Ny'alotha, the Waking City", -- [2] }, [127019] = { "Training Dummy", -- [1] "Freehold", -- [2] }, [155215] = { "Faeleaf Lasher", -- [1] "Torghast, Tower of the Damned", -- [2] }, [156239] = { "Dark Ascended Corrus", -- [1] "Torghast, Tower of the Damned", -- [2] }, [152656] = { "Deadsoul Stalker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [170572] = { "Atal'ai Hoodoo Hexxer", -- [1] "De Other Side", -- [2] }, [155216] = { "Faeleaf Warden", -- [1] "Torghast, Tower of the Damned", -- [2] }, [131670] = { "Heartsbane Vinetwister", -- [1] "Waycrest Manor", -- [2] }, [99891] = { "Storm Drake", -- [1] "Halls of Valor", -- [2] }, [159312] = { "Living Blood", -- [1] "Ny'alotha, the Waking City", -- [2] }, [156241] = { "Monstrous Guardian", -- [1] "Torghast, Tower of the Damned", -- [2] }, [156242] = { "Animated Prowler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [173134] = { "Darksworn Goliath", -- [1] "Torghast, Tower of the Damned", -- [2] }, [134232] = { "Hired Assassin", -- [1] "The MOTHERLODE!!", -- [2] }, [155219] = { "Gormling Spitter", -- [1] "Torghast, Tower of the Damned", -- [2] }, [156244] = { "Winged Automaton", -- [1] "Torghast, Tower of the Damned", -- [2] }, [173136] = { "Blightsmasher", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157268] = { "Crawling Corruption", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [155221] = { "Faeleaf Tender", -- [1] "Torghast, Tower of the Damned", -- [2] }, [156245] = { "Grand Automaton", -- [1] "Torghast, Tower of the Damned", -- [2] }, [153174] = { "Watchers of Death", -- [1] "Torghast, Tower of the Damned", -- [2] }, [174161] = { "Lady Sinsear", -- [1] "Castle Nathria", -- [2] }, [151127] = { "Lord of Torment", -- [1] "Torghast, Tower of the Damned", -- [2] }, [184911] = { "Urh Dismantler", -- [1] "Mists of Tirna Scithe", -- [2] }, [174162] = { "Countess Gloomveil", -- [1] "Castle Nathria", -- [2] }, [179281] = { "Coagulated Blood", -- [1] "Torghast, Tower of the Damned", -- [2] }, [151128] = { "Lord of Locks", -- [1] "Torghast, Tower of the Damned", -- [2] }, [131677] = { "Heartsbane Runeweaver", -- [1] "Waycrest Manor", -- [2] }, [94008] = { "Dark Devourer", -- [1] "Hellfire Citadel", -- [2] }, [159320] = { "Amahtet", -- [1] "Ny'alotha, the Waking City", -- [2] }, [168022] = { "Slime Tentacle", -- [1] "Plaguefall", -- [2] }, [159321] = { "Khateph", -- [1] "Ny'alotha, the Waking City", -- [2] }, [94777] = { "Morkronn", -- [1] "Hellfire Citadel", -- [2] }, [111413] = { "Dark Devourers", -- [1] "The Emerald Nightmare", -- [2] }, [170071] = { "Mawsworn Shadestalker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [104247] = { "Duskwatch Arcanist", -- [1] "Court of Stars", -- [2] }, [84028] = { "Siegemaster Rokra", -- [1] "Iron Docks", -- [2] }, [76094] = { "Sun Trinket", -- [1] "Skyreach", -- [2] }, [173655] = { "Mistveil Matriarch", -- [1] "Mists of Tirna Scithe", -- [2] }, [152669] = { "Void Globule", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [17624] = { "Laughing Skull Warden", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [17816] = { "Bogstrok", -- [1] "Coilfang: The Slave Pens", -- [2] }, [17880] = { "Temporus", -- [1] "Opening of the Dark Portal", -- [2] }, [75839] = { "Vigilant Kaathar", -- [1] "Auchindoun", -- [2] }, [173145] = { "Gorging Mite", -- [1] "Castle Nathria", -- [2] }, [72768] = { "Kor'kron War Wolf", -- [1] "Siege of Orgrimmar", -- [2] }, [166491] = { "Forsworn Swiftblade", -- [1] "Bastion Scenario", -- [2] }, [138338] = { "Reanimated Guardian", -- [1] "The Underrot", -- [2] }, [98362] = { "Troubled Soul", -- [1] "Black Rook Hold", -- [2] }, [173146] = { "Winged Ravager", -- [1] "Castle Nathria", -- [2] }, [131685] = { "Runic Disciple", -- [1] "Waycrest Manor", -- [2] }, [165469] = { "Nathrian Enforcer", -- [1] "Castle Nathria", -- [2] }, [151649] = { "Defense Bot Mk I", -- [1] "Operation: Mechagon", -- [2] }, [19608] = { "Frayer Wildling", -- [1] "Tempest Keep: The Botanica", -- [2] }, [165470] = { "Nathrian Executor", -- [1] "Castle Nathria", -- [2] }, [115767] = { "Mistress Sassz'ine", -- [1] "Tomb of Sargeras", -- [2] }, [164447] = { "Skuld", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [165471] = { "Nathrian Duelist", -- [1] "Castle Nathria", -- [2] }, [72770] = { "Kor'kron Dark Farseer", -- [1] "Siege of Orgrimmar", -- [2] }, [166495] = { "Forsworn Oracle", -- [1] "Bastion Scenario", -- [2] }, [73538] = { "Kor'kron War Wolf", -- [1] "Siege of Orgrimmar", -- [2] }, [81984] = { "Gnarlroot", -- [1] "The Everbloom", -- [2] }, [136295] = { "Sunken Denizen", -- [1] "Shrine of the Storm", -- [2] }, [165472] = { "Nathrian Siphoner", -- [1] "Castle Nathria", -- [2] }, [104251] = { "Duskwatch Sentry", -- [1] "Court of Stars", -- [2] }, [121399] = { "Inquisitor Sebilus", -- [1] "Tomb of Sargeras", -- [2] }, [132713] = { "Mogul Razdunk", -- [1] "The MOTHERLODE!!", -- [2] }, [174175] = { "Loyal Stoneborn", -- [1] "Halls of Atonement", -- [2] }, [73539] = { "Kor'kron Den Mother", -- [1] "Siege of Orgrimmar", -- [2] }, [77890] = { "Durag the Dominator", -- [1] "Auchindoun", -- [2] }, [164450] = { "Dealer Xy'exa", -- [1] "De Other Side", -- [2] }, [136297] = { "Forgotten Denizen", -- [1] "Shrine of the Storm", -- [2] }, [165474] = { "Nathrian Assassin", -- [1] "Castle Nathria", -- [2] }, [17817] = { "Greater Bogstrok", -- [1] "Coilfang: The Slave Pens", -- [2] }, [17881] = { "Aeonus", -- [1] "Opening of the Dark Portal", -- [2] }, [164451] = { "Dessia the Decapitator", -- [1] "Theater of Pain", -- [2] }, [121400] = { "Accusator Gnazh", -- [1] "Tomb of Sargeras", -- [2] }, [101437] = { "Burning Geode", -- [1] "Neltharion's Lair", -- [2] }, [36522] = { "Soul Horror", -- [1] "The Forge of Souls", -- [2] }, [155238] = { "Guardian of the Leaf", -- [1] "Torghast, Tower of the Damned", -- [2] }, [98366] = { "Ghostly Retainer", -- [1] "Black Rook Hold", -- [2] }, [90432] = { "Felfire Flamebelcher", -- [1] "Hellfire Citadel", -- [2] }, [127799] = { "Dazar'ai Honor Guard", -- [1] "Atal'Dazar", -- [2] }, [155239] = { "Forest Father", -- [1] "Torghast, Tower of the Damned", -- [2] }, [97087] = { "Valarjar Champion", -- [1] "Halls of Valor", -- [2] }, [101438] = { "Vileshard Chunk", -- [1] "Neltharion's Lair", -- [2] }, [101950] = { "Mindflayer Kaahrj", -- [1] "Assault on Violet Hold", -- [2] }, [73541] = { "Kor'kron Wolf Pup", -- [1] "Siege of Orgrimmar", -- [2] }, [151657] = { "Bomb Tonk", -- [1] "Operation: Mechagon", -- [2] }, [19865] = { "Mutate Horror", -- [1] "Tempest Keep: The Botanica", -- [2] }, [180323] = { "Fatespawn Monstrosity", -- [1] "Sanctum of Domination", -- [2] }, [164967] = { "Doctor Ickus", -- [1] "Plaguefall", -- [2] }, [165479] = { "Court Enforcer", -- [1] "Castle Nathria", -- [2] }, [151659] = { "Rocket Tonk", -- [1] "Operation: Mechagon", -- [2] }, [24664] = { "Kael'thas Sunstrider", -- [1] "Magisters' Terrace", -- [2] }, [111933] = { "Venomous Spiderling", -- [1] "The Emerald Nightmare", -- [2] }, [183396] = { "Eternal Forger", -- [1] "Sepulcher of the First Ones", -- [2] }, [172647] = { "Parasitic Infestor", -- [1] "Mists of Tirna Scithe", -- [2] }, [29335] = { "Anub'ar Webspinner", -- [1] "Azjol-Nerub", -- [2] }, [165481] = { "Court Assassin", -- [1] "Castle Nathria", -- [2] }, [25368] = { "Sunblade Slayer", -- [1] "The Sunwell", -- [2] }, [158315] = { "Eye of Chaos", -- [1] "Horrific Vision of Stormwind", -- [2] }, [94018] = { "Shadow Burster", -- [1] "Hellfire Citadel", -- [2] }, [90435] = { "Kormrok", -- [1] "Hellfire Citadel", -- [2] }, [17626] = { "Laughing Skull Legionnaire", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [99649] = { "Dreadlord Mendacius", -- [1] "Vault of the Wardens", -- [2] }, [8911] = { "Fireguard Destroyer", -- [1] "Blackrock Depths", -- [2] }, [17882] = { "The Black Stalker", -- [1] "Coilfang: The Underbog", -- [2] }, [165483] = { "Court Hierarch", -- [1] "Castle Nathria", -- [2] }, [98370] = { "Ghostly Councilor", -- [1] "Black Rook Hold", -- [2] }, [180840] = { "Frostbound Devoted", -- [1] "Sanctum of Domination", -- [2] }, [167532] = { "Heavin the Breaker", -- [1] "Theater of Pain", -- [2] }, [164461] = { "Sathel the Accursed", -- [1] "Theater of Pain", -- [2] }, [157807] = { "Mawsworn Soulweaver", -- [1] "Torghast, Tower of the Damned", -- [2] }, [167533] = { "Advent Nevermore", -- [1] "Theater of Pain", -- [2] }, [170093] = { "Mawsworn Seeker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [99651] = { "Faceless Voidcaster", -- [1] "Vault of the Wardens", -- [2] }, [167534] = { "Rek the Hardened", -- [1] "Theater of Pain", -- [2] }, [164463] = { "Paceran the Virulent", -- [1] "Theater of Pain", -- [2] }, [157809] = { "Mawsworn Darkcaster", -- [1] "Torghast, Tower of the Damned", -- [2] }, [175725] = { "Eye of the Jailer", -- [1] "Sanctum of Domination", -- [2] }, [164464] = { "Xira the Underhanded", -- [1] "Theater of Pain", -- [2] }, [157810] = { "Mawsworn Endbringer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [162417] = { "Anubisath Sentinel", -- [1] "Ny'alotha, the Waking City", -- [2] }, [95813] = { "Weaponlord Mehlkhior", -- [1] "Hellfire Citadel", -- [2] }, [167536] = { "Harugia the Bloodthirsty", -- [1] "Theater of Pain", -- [2] }, [157811] = { "Lilliam Sparkspindle", -- [1] "Horrific Vision of Stormwind", -- [2] }, [77130] = { "Sargerei Ritualist", -- [1] "Auchindoun", -- [2] }, [175727] = { "Soulrender Dormazain", -- [1] "Sanctum of Domination", -- [2] }, [157812] = { "Billibub Cogspinner", -- [1] "Horrific Vision of Stormwind", -- [2] }, [183406] = { "Colossal Realmcrafter", -- [1] "Sepulcher of the First Ones", -- [2] }, [167538] = { "Dokigg the Brutalizer", -- [1] "Theater of Pain", -- [2] }, [129598] = { "Freehold Pack Mule", -- [1] "Freehold", -- [2] }, [157813] = { "Sprite Jumpsprocket", -- [1] "Horrific Vision of Stormwind", -- [2] }, [77131] = { "Sargerei Spirit-Tender", -- [1] "Auchindoun", -- [2] }, [183407] = { "Eternal Artisan", -- [1] "Sepulcher of the First Ones", -- [2] }, [175729] = { "Remnant of Ner'zhul", -- [1] "Sanctum of Domination", -- [2] }, [18587] = { "Frayer", -- [1] "Tempest Keep: The Botanica", -- [2] }, [174194] = { "Court Executor", -- [1] "Castle Nathria", -- [2] }, [162933] = { "Thought Harvester", -- [1] "Ny'alotha, the Waking City", -- [2] }, [175730] = { "Fatescribe Roh-Kalo", -- [1] "Sanctum of Domination", -- [2] }, [129599] = { "Cutwater Knife Juggler", -- [1] "Freehold", -- [2] }, [158327] = { "Crackling Shard", -- [1] "Ny'alotha, the Waking City", -- [2] }, [183409] = { "Pinning Weapon", -- [1] "Sepulcher of the First Ones", -- [2] }, [175731] = { "Guardian of the First Ones", -- [1] "Sanctum of Domination", -- [2] }, [158328] = { "Il'gynoth", -- [1] "Ny'alotha, the Waking City", -- [2] }, [175732] = { "Sylvanas Windrunner", -- [1] "Sanctum of Domination", -- [2] }, [96584] = { "Immoliant Fury", -- [1] "Vault of the Wardens", -- [2] }, [129600] = { "Bilge Rat Brinescale", -- [1] "Freehold", -- [2] }, [174197] = { "Battlefield Ritualist", -- [1] "Theater of Pain", -- [2] }, [77133] = { "Sargerei Hoplite", -- [1] "Auchindoun", -- [2] }, [69455] = { "Zandalari Water-Binder", -- [1] "Throne of Thunder", -- [2] }, [73806] = { "Kor'kron Machinist", -- [1] "Siege of Orgrimmar", -- [2] }, [156794] = { "SI:7 Light-Hunter", -- [1] "Horrific Vision of Stormwind", -- [2] }, [183412] = { "Dominated Saboteur", -- [1] "Sepulcher of the First Ones", -- [2] }, [29209] = { "Carrion Beetle", -- [1] "Azjol-Nerub", -- [2] }, [156795] = { "SI:7 Informant", -- [1] "Horrific Vision of Stormwind", -- [2] }, [25370] = { "Sunblade Dusk Priest", -- [1] "The Sunwell", -- [2] }, [77134] = { "Sargerei Cleric", -- [1] "Auchindoun", -- [2] }, [183413] = { "Dominated Eradicator", -- [1] "Sepulcher of the First Ones", -- [2] }, [21467] = { "Harbinger Skyriss", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [99657] = { "Deranged Mindflayer", -- [1] "Vault of the Wardens", -- [2] }, [138369] = { "Footbomb Hooligan", -- [1] "The MOTHERLODE!!", -- [2] }, [71504] = { "Siegecrafter Blackfuse", -- [1] "Siege of Orgrimmar", -- [2] }, [168058] = { "Infused Quill-feather", -- [1] "Sanguine Depths", -- [2] }, [129602] = { "Irontide Enforcer", -- [1] "Freehold", -- [2] }, [72784] = { "Kor'kron Gunner", -- [1] "Siege of Orgrimmar", -- [2] }, [94283] = { "Shadow Infuser", -- [1] "Hellfire Citadel", -- [2] }, [164476] = { "Tortured Amalgamation", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [173178] = { "Stone Legion Goliath", -- [1] "Castle Nathria", -- [2] }, [166012] = { "Athanos", -- [1] "Bastion Scenario", -- [2] }, [166524] = { "Deathwalker", -- [1] "Theater of Pain", -- [2] }, [183416] = { "Bound Realmbreaker", -- [1] "Sepulcher of the First Ones", -- [2] }, [168572] = { "Fungi Stormer", -- [1] "Plaguefall", -- [2] }, [152704] = { "Crawling Corruption", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [166525] = { "Fallen Legionnaire", -- [1] "Bastion Scenario", -- [2] }, [94284] = { "Fiery Enkindler", -- [1] "Hellfire Citadel", -- [2] }, [177787] = { "Mawsworn Hopebreaker", -- [1] "Sanctum of Domination", -- [2] }, [75857] = { "Unstable Magma Elemental", -- [1] "Bloodmaul Slag Mines", -- [2] }, [168574] = { "Pestilent Harvester", -- [1] "Plaguefall", -- [2] }, [161408] = { "Malicious Growth", -- [1] "Freehold", -- [2] }, [157825] = { "Crazed Tormenter", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [32665] = { "Crystalline Tangler", -- [1] "The Nexus", -- [2] }, [69459] = { "Bound Water Elemental", -- [1] "Throne of Thunder", -- [2] }, [94285] = { "Fel Extractor", -- [1] "Hellfire Citadel", -- [2] }, [28826] = { "Stormfury Revenant", -- [1] "Halls of Lightning", -- [2] }, [163457] = { "Forsworn Vanguard", -- [1] "Spires of Ascension", -- [2] }, [135816] = { "Vilefiend", -- [1] "Sepulcher of the First Ones", -- [2] }, [21148] = { "Rift Keeper", -- [1] "Opening of the Dark Portal", -- [2] }, [72787] = { "Ancient Brewmaster Spirit", -- [1] "Siege of Orgrimmar", -- [2] }, [163458] = { "Forsworn Castigator", -- [1] "Spires of Ascension", -- [2] }, [169601] = { "Stone Legion Commando", -- [1] "Castle Nathria", -- [2] }, [174208] = { "Court Executor", -- [1] "Castle Nathria", -- [2] }, [163459] = { "Forsworn Mender", -- [1] "Spires of Ascension", -- [2] }, [168578] = { "Fungalmancer", -- [1] "Plaguefall", -- [2] }, [72276] = { "Amalgam of Corruption", -- [1] "Siege of Orgrimmar", -- [2] }, [36658] = { "Scourgelord Tyrannus", -- [1] "Pit of Saron", -- [2] }, [180864] = { "High Torturer", -- [1] "Sanctum of Domination", -- [2] }, [174210] = { "Blighted Sludge-Spewer", -- [1] "Theater of Pain", -- [2] }, [134284] = { "Fallen Deathspeaker", -- [1] "The Underrot", -- [2] }, [180865] = { "Twisted Warden", -- [1] "Sanctum of Domination", -- [2] }, [158343] = { "Organ of Corruption", -- [1] "Ny'alotha, the Waking City", -- [2] }, [184961] = { "Gnarled Skitter", -- [1] "Sepulcher of the First Ones", -- [2] }, [70230] = { "Zandalari Blade Initiate", -- [1] "Throne of Thunder", -- [2] }, [78932] = { "Driving Gale-Caller", -- [1] "Skyreach", -- [2] }, [104270] = { "Guardian Construct", -- [1] "Court of Stars", -- [2] }, [80212] = { "Frostspinner Spider", -- [1] "FW Horde Garrison Level 1", -- [2] }, [160904] = { "Image of Absolution", -- [1] "Ny'alotha, the Waking City", -- [2] }, [161416] = { "Aqir Shadowcrafter", -- [1] "Ny'alotha, the Waking City", -- [2] }, [32666] = { "Training Dummy", -- [1] "Siege of Orgrimmar", -- [2] }, [98384] = { "Razormouth", -- [1] "Neltharion's Lair", -- [2] }, [177285] = { "Mawsworn Gatekeeper", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [83028] = { "Grom'kar Deadeye", -- [1] "Iron Docks", -- [2] }, [99664] = { "Restless Soul", -- [1] "Black Rook Hold", -- [2] }, [175238] = { "Arch-Tyrant Zerios", -- [1] "Torghast, Tower of the Damned", -- [2] }, [120651] = { "Explosives", -- [1] "Freehold", -- [2] }, [177286] = { "Phantasmic Amalgamation", -- [1] "Torghast, Tower of the Damned", -- [2] }, [72791] = { "Lingering Corruption", -- [1] "Siege of Orgrimmar", -- [2] }, [183429] = { "Ebon Chainguard", -- [1] "Sepulcher of the First Ones", -- [2] }, [171656] = { "Venomous Sniper Captain", -- [1] "Plaguefall", -- [2] }, [94802] = { "Voidscribe Aathalos", -- [1] "Hellfire Citadel", -- [2] }, [17694] = { "Shadowmoon Darkcaster", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [8913] = { "Twilight Emissary", -- [1] "Blackrock Depths", -- [2] }, [104272] = { "Impling Pursuer", -- [1] "Niskara", -- [2] }, [152718] = { "Alleria Windrunner", -- [1] "Horrific Vision of Stormwind", -- [2] }, [165515] = { "Depraved Darkblade", -- [1] "Halls of Atonement", -- [2] }, [178824] = { "Borr-Gahn", -- [1] "Sanctum of Domination", -- [2] }, [81750] = { "Bloodmaul Ogron", -- [1] "Bloodmaul Slag Mines", -- [2] }, [155790] = { "Mawsworn Acolyte", -- [1] "Torghast, Tower of the Damned", -- [2] }, [26716] = { "Azure Warder", -- [1] "The Nexus", -- [2] }, [183432] = { "Ebon Dominator", -- [1] "Sepulcher of the First Ones", -- [2] }, [104273] = { "Jazshariu", -- [1] "Court of Stars", -- [2] }, [76376] = { "Skyreach Arcanologist", -- [1] "Skyreach", -- [2] }, [130635] = { "Stonefury", -- [1] "The MOTHERLODE!!", -- [2] }, [183945] = { "Unstable Matter", -- [1] "Sepulcher of the First Ones", -- [2] }, [19486] = { "Sunseeker Chemist", -- [1] "Tempest Keep: The Botanica", -- [2] }, [94804] = { "Shambling Hulk", -- [1] "Hellfire Citadel", -- [2] }, [173708] = { "Anchoring Rune", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [167566] = { "Bleakwing Assassin", -- [1] "Castle Nathria", -- [2] }, [155793] = { "Skeletal Remains", -- [1] "Torghast, Tower of the Damned", -- [2] }, [152722] = { "Fallen Voidspeaker", -- [1] "Horrific Vision of Stormwind", -- [2] }, [36661] = { "Rimefang", -- [1] "Pit of Saron", -- [2] }, [168591] = { "Ravenous Dreadbat", -- [1] "Sanguine Depths", -- [2] }, [156818] = { "Wrathion", -- [1] "Ny'alotha, the Waking City", -- [2] }, [71515] = { "General Nazgrim", -- [1] "Siege of Orgrimmar", -- [2] }, [71771] = { "Kor'kron Arcweaver", -- [1] "Siege of Orgrimmar", -- [2] }, [29340] = { "Anub'ar Brood Keeper", -- [1] "Azjol-Nerub", -- [2] }, [165521] = { "Lady Inerva Darkvein", -- [1] "Castle Nathria", -- [2] }, [25373] = { "Shadowsword Soulbinder", -- [1] "The Sunwell", -- [2] }, [90199] = { "Gorefiend", -- [1] "Hellfire Citadel", -- [2] }, [165010] = { "Congealed Slime", -- [1] "Plaguefall", -- [2] }, [17695] = { "Shattered Hand Assassin", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [183438] = { "Chainbound Construct", -- [1] "Sepulcher of the First Ones", -- [2] }, [172177] = { "Echthra", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [168594] = { "Chamber Sentinel", -- [1] "Sanguine Depths", -- [2] }, [148631] = { "Unexploded Ordnance", -- [1] "Battle of Dazar'alor", -- [2] }, [183439] = { "Mawsworn Annihilator", -- [1] "Sepulcher of the First Ones", -- [2] }, [148120] = { "Kul Tiran Marine", -- [1] "Battle of Dazar'alor", -- [2] }, [136347] = { "Tidesage Initiate", -- [1] "Shrine of the Storm", -- [2] }, [173714] = { "Mistveil Nightblossom", -- [1] "Mists of Tirna Scithe", -- [2] }, [104277] = { "Legion Hound", -- [1] "Court of Stars", -- [2] }, [71773] = { "Kor'kron Warshaman", -- [1] "Siege of Orgrimmar", -- [2] }, [164501] = { "Mistcaller", -- [1] "Mists of Tirna Scithe", -- [2] }, [94808] = { "Hellfire Guardian", -- [1] "Hellfire Citadel", -- [2] }, [95832] = { "Valarjar Shieldmaiden", -- [1] "Halls of Valor", -- [2] }, [104278] = { "Felbound Enforcer", -- [1] "Court of Stars", -- [2] }, [181395] = { "Skolex", -- [1] "Sepulcher of the First Ones", -- [2] }, [73310] = { "Dragonmaw War Banner", -- [1] "Siege of Orgrimmar", -- [2] }, [130896] = { "Blackout Barrel", -- [1] "Freehold", -- [2] }, [95833] = { "Hyrja", -- [1] "Halls of Valor", -- [2] }, [29213] = { "Anub'ar Darter", -- [1] "Azjol-Nerub", -- [2] }, [165529] = { "Depraved Collector", -- [1] "Halls of Atonement", -- [2] }, [101976] = { "Millificent Manastorm", -- [1] "Assault on Violet Hold", -- [2] }, [102232] = { "Rockbound Trapper", -- [1] "Neltharion's Lair", -- [2] }, [135329] = { "Matron Bryndle", -- [1] "Waycrest Manor", -- [2] }, [164506] = { "Ancient Captain", -- [1] "Theater of Pain", -- [2] }, [136353] = { "Colossal Tentacle", -- [1] "Shrine of the Storm", -- [2] }, [173720] = { "Mistveil Gorgegullet", -- [1] "Mists of Tirna Scithe", -- [2] }, [95834] = { "Valarjar Mystic", -- [1] "Halls of Valor", -- [2] }, [17952] = { "Darkwater Crocolisk", -- [1] "Opening of the Dark Portal", -- [2] }, [181399] = { "Kin'tessa", -- [1] "Sepulcher of the First Ones", -- [2] }, [105304] = { "Dominator Tentacle", -- [1] "The Emerald Nightmare", -- [2] }, [30621] = { "Jordân", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [127315] = { "Reanimation Totem", -- [1] "Atal'Dazar", -- [2] }, [26782] = { "Crystalline Keeper", -- [1] "The Nexus", -- [2] }, [161437] = { "Explosive Scarab", -- [1] "Operation: Mechagon", -- [2] }, [103769] = { "Xavius", -- [1] "The Emerald Nightmare", -- [2] }, [75360] = { "Searing Ember", -- [1] "Bloodmaul Slag Mines", -- [2] }, [9554] = { "Hammered Patron", -- [1] "Blackrock Depths", -- [2] }, [153760] = { "Enthralled Footman", -- [1] "Horrific Vision of Stormwind", -- [2] }, [158367] = { "Basher Tentacle", -- [1] "Ny'alotha, the Waking City", -- [2] }, [122965] = { "Vol'kaal", -- [1] "Atal'Dazar", -- [2] }, [164510] = { "Shambling Arbalest", -- [1] "Theater of Pain", -- [2] }, [23775] = { "Head of the Horseman", -- [1] "Scarlet Monastery", -- [2] }, [166046] = { "Lysonia", -- [1] "Bastion Scenario", -- [2] }, [180379] = { "Mawsworn Arbalest", -- [1] "Sanctum of Domination", -- [2] }, [170654] = { "Polemarch Kalisthene", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [20896] = { "Ethereum Slayer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [29214] = { "Anub'ar Assassin", -- [1] "Azjol-Nerub", -- [2] }, [158371] = { "Zardeth of the Black Claw", -- [1] "Horrific Vision of Stormwind", -- [2] }, [17377] = { "Keli'dan the Breaker", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [122967] = { "Priestess Alun'za", -- [1] "Atal'Dazar", -- [2] }, [116569] = { "Razorjaw Wavemender", -- [1] "Tomb of Sargeras", -- [2] }, [168098] = { "Empowered Coldheart Agent", -- [1] "Torghast, Tower of the Damned", -- [2] }, [173729] = { "Manifestation of Pride", -- [1] "Spires of Ascension", -- [2] }, [36666] = { "Spectral Warden", -- [1] "The Forge of Souls", -- [2] }, [163492] = { "Rabid Wolf", -- [1] "Redridge - 9xp Bastion", -- [2] }, [168099] = { "Empowered Coldheart Javelineer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [70245] = { "Training Dummy", -- [1] "Throne of Thunder", -- [2] }, [89] = { "Infernal", -- [1] "Sanctum of Domination", -- [2] }, [170147] = { "Volatile Memory", -- [1] "De Other Side", -- [2] }, [120153] = { "Eonic Defender", -- [1] "Tomb of Sargeras", -- [2] }, [171171] = { "Mawsworn Archer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [134828] = { "Aqualing", -- [1] "Shrine of the Storm", -- [2] }, [180385] = { "Condemned Soul Remnant", -- [1] "Sanctum of Domination", -- [2] }, [76132] = { "Soaring Chakram Master", -- [1] "Skyreach", -- [2] }, [158375] = { "Corruptor Tentacle", -- [1] "Ny'alotha, the Waking City", -- [2] }, [171172] = { "Mawsworn Shackler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [168101] = { "Empowered Deadsoul Shade", -- [1] "Torghast, Tower of the Damned", -- [2] }, [165030] = { "Lady Inerva Darkvein", -- [1] "Castle Nathria Scenario", -- [2] }, [178851] = { "Burning Stygia", -- [1] "Sanctum of Domination", -- [2] }, [171173] = { "Mawsworn Shadestalker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [168102] = { "Empowered Deadsoul Echo", -- [1] "Torghast, Tower of the Damned", -- [2] }, [96608] = { "Ebonclaw Worg", -- [1] "Halls of Valor", -- [2] }, [122970] = { "Shadowblade Stalker", -- [1] "Atal'Dazar", -- [2] }, [78437] = { "Gul'kosh", -- [1] "Auchindoun", -- [2] }, [157354] = { "Vexiona", -- [1] "Ny'alotha, the Waking City", -- [2] }, [20897] = { "Ethereum Wave-Caster", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [180389] = { "Mawsworn Rageguard", -- [1] "Sanctum of Domination", -- [2] }, [92514] = { "Shao'ghun", -- [1] "Hellfire Citadel", -- [2] }, [117596] = { "Razorjaw Gladiator", -- [1] "Tomb of Sargeras", -- [2] }, [117852] = { "Tugar Bloodtotem", -- [1] "Artifact - Highmountain - Dual Boss", -- [2] }, [168105] = { "Empowered Mawsworn Flametender", -- [1] "Torghast, Tower of the Damned", -- [2] }, [86372] = { "Melded Berserker", -- [1] "The Everbloom", -- [2] }, [95842] = { "Valarjar Thundercaller", -- [1] "Halls of Valor", -- [2] }, [168106] = { "Empowered Mawsworn Guard", -- [1] "Torghast, Tower of the Damned", -- [2] }, [183463] = { "Remnant of a Fallen King", -- [1] "Sepulcher of the First Ones", -- [2] }, [159405] = { "Aqir Scarab", -- [1] "Ny'alotha, the Waking City", -- [2] }, [180392] = { "Gorgoan Souldrinker", -- [1] "Sanctum of Domination", -- [2] }, [94563] = { "Gorebound Fanatic", -- [1] "Hellfire Citadel", -- [2] }, [79463] = { "Radiant Supernova", -- [1] "Skyreach", -- [2] }, [163501] = { "Forsworn Skirmisher", -- [1] "Spires of Ascension", -- [2] }, [168108] = { "Empowered Lumbering Creation", -- [1] "Torghast, Tower of the Damned", -- [2] }, [96611] = { "Angerhoof Bull", -- [1] "Halls of Valor", -- [2] }, [81767] = { "Bloodmaul Flamespeaker", -- [1] "Bloodmaul Slag Mines", -- [2] }, [122973] = { "Dazar'ai Confessor", -- [1] "Atal'Dazar", -- [2] }, [180906] = { "Halondrus", -- [1] "Sepulcher of the First Ones", -- [2] }, [120158] = { "Volatile Corruption", -- [1] "Tomb of Sargeras", -- [2] }, [171181] = { "Territorial Bladebeak", -- [1] "De Other Side", -- [2] }, [163503] = { "Etherdiver", -- [1] "Spires of Ascension", -- [2] }, [168110] = { "Empowered Imperial Duelist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [160432] = { "Kyrian Combat Trainer", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [72810] = { "Staff of Resonating Water", -- [1] "Siege of Orgrimmar", -- [2] }, [168111] = { "Empowered Imperial Curator", -- [1] "Torghast, Tower of the Damned", -- [2] }, [20898] = { "Gargantuan Abyssal", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [168112] = { "General Kaal", -- [1] "Castle Nathria", -- [2] }, [21346] = { "Sightless Eye", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [130653] = { "Wanton Sapper", -- [1] "The MOTHERLODE!!", -- [2] }, [163506] = { "Forsworn Stealthclaw", -- [1] "Spires of Ascension", -- [2] }, [168113] = { "General Grashaal", -- [1] "Castle Nathria", -- [2] }, [79466] = { "Initiate of the Rising Sun", -- [1] "Skyreach", -- [2] }, [30176] = { "Ahn'kahar Guardian", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [112738] = { "Acolyte of Sael'orn", -- [1] "Assault on Violet Hold", -- [2] }, [157365] = { "Crackling Stalker", -- [1] "Ny'alotha, the Waking City", -- [2] }, [155830] = { "Mawsworn Disciple", -- [1] "Torghast, Tower of the Damned", -- [2] }, [168627] = { "Plaguebinder", -- [1] "Plaguefall", -- [2] }, [165556] = { "Fleeting Manifestation", -- [1] "Sanguine Depths", -- [2] }, [79467] = { "Adept of the Dawn", -- [1] "Skyreach", -- [2] }, [155831] = { "Mawsworn Soulbinder", -- [1] "Torghast, Tower of the Damned", -- [2] }, [185008] = { "Volatile Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [171188] = { "Plaguebound Devoted", -- [1] "Plaguefall", -- [2] }, [179890] = { "Executioner Varruth", -- [1] "Plaguefall", -- [2] }, [11859] = { "Doomguard", -- [1] "Ny'alotha, the Waking City", -- [2] }, [190128] = { "Zul'gamux", -- [1] "Iron Docks", -- [2] }, [91241] = { "Doom Lord", -- [1] "Hellfire Citadel", -- [2] }, [179891] = { "Soggodon the Breaker", -- [1] "Plaguefall", -- [2] }, [76141] = { "Araknath", -- [1] "Skyreach", -- [2] }, [174773] = { "Spiteful Shade", -- [1] "De Other Side", -- [2] }, [101991] = { "Nightmare Dweller", -- [1] "Darkheart Thicket", -- [2] }, [179892] = { "Oros Coldheart", -- [1] "Plaguefall", -- [2] }, [24674] = { "Phoenix", -- [1] "Magisters' Terrace", -- [2] }, [173238] = { "Deadsoul Strider", -- [1] "Torghast, Tower of the Damned", -- [2] }, [165560] = { "Gormling Larva", -- [1] "Mists of Tirna Scithe", -- [2] }, [28961] = { "Titanium Siegebreaker", -- [1] "Halls of Lightning", -- [2] }, [79469] = { "Whirling Dervish", -- [1] "Skyreach", -- [2] }, [104295] = { "Blazing Imp", -- [1] "Court of Stars", -- [2] }, [29217] = { "Anub'ar Venomancer", -- [1] "Azjol-Nerub", -- [2] }, [17252] = { "Akrakrill", -- [1] "Sepulcher of the First Ones", -- [2] }, [106087] = { "Elerethe Renferal", -- [1] "The Emerald Nightmare", -- [2] }, [179894] = { "Deathseeker Eye", -- [1] "Sanctum of Domination", -- [2] }, [152253] = { "The Tarragrue", -- [1] "Torghast, Tower of the Damned", -- [2] }, [111206] = { "Lucy", -- [1] "Ny'alotha, the Waking City", -- [2] }, [134338] = { "Tidesage Enforcer", -- [1] "Shrine of the Storm", -- [2] }, [167610] = { "Stonefiend Anklebiter", -- [1] "Halls of Atonement", -- [2] }, [180407] = { "Gorgoan Sentinel", -- [1] "Sanctum of Domination", -- [2] }, [76143] = { "Rukhran", -- [1] "Skyreach", -- [2] }, [167611] = { "Stoneborn Eviscerator", -- [1] "Halls of Atonement", -- [2] }, [77935] = { "Sargerei Warden", -- [1] "Auchindoun", -- [2] }, [26722] = { "Azure Magus", -- [1] "The Nexus", -- [2] }, [111975] = { "Shadowfeather", -- [1] "The Emerald Nightmare", -- [2] }, [167612] = { "Stoneborn Reaver", -- [1] "Halls of Atonement", -- [2] }, [166589] = { "Animated Weapon", -- [1] "Sanguine Depths", -- [2] }, [118374] = { "Captain Yathae Moonstrike", -- [1] "Tomb of Sargeras", -- [2] }, [135365] = { "Matron Alma", -- [1] "Waycrest Manor", -- [2] }, [76145] = { "Grand Defense Construct", -- [1] "Skyreach", -- [2] }, [105322] = { "Deathglare Tentacle", -- [1] "The Emerald Nightmare", -- [2] }, [166079] = { "Brittlebone Crossbowman", -- [1] "The Necrotic Wake", -- [2] }, [130404] = { "Vermin Trapper", -- [1] "Freehold", -- [2] }, [28578] = { "Hardened Steel Reaver", -- [1] "Halls of Lightning", -- [2] }, [159425] = { "Occult Shadowmender", -- [1] "Ny'alotha, the Waking City", -- [2] }, [24675] = { "Phoenix Egg", -- [1] "Magisters' Terrace", -- [2] }, [156866] = { "Ra-den", -- [1] "Ny'alotha, the Waking City", -- [2] }, [20900] = { "Unchained Doombringer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [92526] = { "Zerik'shekor", -- [1] "Hellfire Citadel", -- [2] }, [25315] = { "Kil'jaeden", -- [1] "The Sunwell", -- [2] }, [130661] = { "Venture Co. Earthshaper", -- [1] "The MOTHERLODE!!", -- [2] }, [17381] = { "The Maker", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [74355] = { "Captured Miner", -- [1] "Bloodmaul Slag Mines", -- [2] }, [30114] = { "Twilight Initiate", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [104300] = { "Shadow Mistress", -- [1] "Court of Stars", -- [2] }, [180415] = { "Mawsworn Axeguard", -- [1] "Sanctum of Domination", -- [2] }, [92527] = { "Dag'gorath", -- [1] "Hellfire Citadel", -- [2] }, [165059] = { "Crimson Protector", -- [1] "Castle Nathria Scenario", -- [2] }, [177856] = { "Vicious Ghoul", -- [1] "9.1 Andorhal - Kyrian Chapter Scenario", -- [2] }, [93295] = { "Darkcaster Adept", -- [1] "Hellfire Citadel", -- [2] }, [170690] = { "Diseased Horror", -- [1] "Theater of Pain", -- [2] }, [81522] = { "Witherbark", -- [1] "The Everbloom", -- [2] }, [163524] = { "Kyrian Dark-Praetor", -- [1] "Spires of Ascension", -- [2] }, [26723] = { "Keristrasza", -- [1] "The Nexus", -- [2] }, [165060] = { "Animimic", -- [1] "Torghast, Tower of the Damned", -- [2] }, [133836] = { "Reanimated Guardian", -- [1] "The Underrot", -- [2] }, [180417] = { "Loom Artificer", -- [1] "Sanctum of Domination", -- [2] }, [121193] = { "Shadowsoul", -- [1] "Tomb of Sargeras", -- [2] }, [165061] = { "Crimson Assassin", -- [1] "Castle Nathria Scenario", -- [2] }, [164550] = { "Slithering Ooze", -- [1] "Plaguefall", -- [2] }, [169157] = { "Mudlump", -- [1] "Castle Nathria", -- [2] }, [177859] = { "Opengut Abomination", -- [1] "9.1 Andorhal - Kyrian Chapter Scenario", -- [2] }, [111980] = { "Nightmother", -- [1] "The Emerald Nightmare", -- [2] }, [177860] = { "Desiccated Swordsman", -- [1] "9.1 Andorhal - Kyrian Chapter Scenario", -- [2] }, [105838] = { "Redcrested Heron", -- [1] "Tomb of Sargeras", -- [2] }, [167111] = { "Spinemaw Staghorn", -- [1] "Mists of Tirna Scithe", -- [2] }, [169159] = { "Unstable Canister", -- [1] "Plaguefall", -- [2] }, [20901] = { "Sargeron Archer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [71543] = { "Immerseus", -- [1] "Siege of Orgrimmar", -- [2] }, [164553] = { "Misty Ally", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [93298] = { "Shadowheart Fiend", -- [1] "Hellfire Citadel", -- [2] }, [158411] = { "Unstable Servant", -- [1] "Horrific Vision of Stormwind", -- [2] }, [167113] = { "Spinemaw Acidgullet", -- [1] "Mists of Tirna Scithe", -- [2] }, [165066] = { "Huntsman Altimor", -- [1] "Castle Nathria", -- [2] }, [95602] = { "Mystic Velruun", -- [1] "Hellfire Citadel", -- [2] }, [30179] = { "Twilight Apostle", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [17958] = { "Coilfang Defender", -- [1] "Coilfang: The Slave Pens", -- [2] }, [164555] = { "Millificent Manastorm", -- [1] "De Other Side", -- [2] }, [165067] = { "Margore", -- [1] "Castle Nathria", -- [2] }, [162508] = { "Anubisath Sentinel", -- [1] "Ny'alotha, the Waking City", -- [2] }, [183495] = { "Twisted Worldeater", -- [1] "Sepulcher of the First Ones", -- [2] }, [118637] = { "Shadowy Fiend", -- [1] "Dread Scar Rift - Warlock Scenario Platform", -- [2] }, [164556] = { "Millhouse Manastorm", -- [1] "De Other Side", -- [2] }, [95603] = { "Mystic Aaran", -- [1] "Hellfire Citadel", -- [2] }, [167116] = { "Spinemaw Reaver", -- [1] "Mists of Tirna Scithe", -- [2] }, [18982] = { "Sable Jaguar", -- [1] "Opening of the Dark Portal", -- [2] }, [164557] = { "Shard of Halkias", -- [1] "Halls of Atonement", -- [2] }, [167117] = { "Spinemaw Larva", -- [1] "Mists of Tirna Scithe", -- [2] }, [118638] = { "Shadowy Vestige", -- [1] "Dread Scar Rift - Warlock Scenario Platform", -- [2] }, [82039] = { "Rockspine Stinger", -- [1] "The Everbloom", -- [2] }, [90485] = { "Felfire Artillery", -- [1] "Hellfire Citadel", -- [2] }, [90997] = { "Mightstone Breaker", -- [1] "Neltharion's Lair", -- [2] }, [157904] = { "Aqir Scarab", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [183498] = { "Illicit Collector", -- [1] "Sepulcher of the First Ones", -- [2] }, [180427] = { "Loom Guardian", -- [1] "Sanctum of Domination", -- [2] }, [93813] = { "Contracted Engineer", -- [1] "Hellfire Citadel", -- [2] }, [180428] = { "Tortured Soul", -- [1] "Sanctum of Domination", -- [2] }, [28836] = { "Stormforged Runeshaper", -- [1] "Halls of Lightning", -- [2] }, [90998] = { "Blightshard Shaper", -- [1] "Neltharion's Lair", -- [2] }, [166608] = { "Mueh'zala", -- [1] "De Other Side", -- [2] }, [20902] = { "Sargeron Hellcaller", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [76154] = { "Skyreach Raven Whisperer", -- [1] "Skyreach", -- [2] }, [68476] = { "Horridon", -- [1] "Throne of Thunder", -- [2] }, [183501] = { "Artificer Xy'mox", -- [1] "Sepulcher of the First Ones", -- [2] }, [164562] = { "Depraved Houndmaster", -- [1] "Halls of Atonement", -- [2] }, [156884] = { "Essence of Vita", -- [1] "Ny'alotha, the Waking City", -- [2] }, [17959] = { "Coilfang Slavehandler", -- [1] "Coilfang: The Slave Pens", -- [2] }, [164563] = { "Vicious Gargon", -- [1] "Halls of Atonement", -- [2] }, [93303] = { "Slavering Hound", -- [1] "Hellfire Citadel", -- [2] }, [18343] = { "Tavarok", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [165076] = { "Gluttonous Tick", -- [1] "Sanguine Depths", -- [2] }, [91000] = { "Vileshard Hulk", -- [1] "Neltharion's Lair", -- [2] }, [174802] = { "Venomous Sniper", -- [1] "Plaguefall", -- [2] }, [83578] = { "Ogron Laborer", -- [1] "Iron Docks", -- [2] }, [18983] = { "Blackfang Tarantula", -- [1] "Opening of the Dark Portal", -- [2] }, [126832] = { "Skycap'n Kragg", -- [1] "Freehold", -- [2] }, [169173] = { "Meatball's Tormentor", -- [1] "Torghast, Tower of the Damned", -- [2] }, [91001] = { "Tarspitter Lurker", -- [1] "Neltharion's Lair", -- [2] }, [170197] = { "Conjured Manifestation", -- [1] "Castle Nathria", -- [2] }, [184530] = { "Eternal Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [164567] = { "Ingra Maloch", -- [1] "Mists of Tirna Scithe", -- [2] }, [36551] = { "Spiteful Apparition", -- [1] "The Forge of Souls", -- [2] }, [73342] = { "Fallen Pool Tender", -- [1] "Siege of Orgrimmar", -- [2] }, [135903] = { "Manifestation of the Deep", -- [1] "Shrine of the Storm", -- [2] }, [74366] = { "Forgemaster Gog'duh", -- [1] "Bloodmaul Slag Mines", -- [2] }, [177877] = { "Desiccated Magus", -- [1] "9.1 Andorhal - Kyrian Chapter Scenario", -- [2] }, [28965] = { "Titanium Thunderer", -- [1] "Halls of Lightning", -- [2] }, [16808] = { "Warchief Kargath Bladefist", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [100216] = { "Hatecoil Wrangler", -- [1] "Eye of Azshara", -- [2] }, [92538] = { "Tarspitter Grub", -- [1] "Neltharion's Lair", -- [2] }, [121459] = { "Bile Spitter Egg", -- [1] "Artifact - Highmountain - Dual Boss", -- [2] }, [133345] = { "Feckless Assistant", -- [1] "The MOTHERLODE!!", -- [2] }, [101752] = { "Felblade Defender", -- [1] "Niskara", -- [2] }, [168153] = { "Plagueroc", -- [1] "Plaguefall", -- [2] }, [98681] = { "Rook Spinner", -- [1] "Black Rook Hold", -- [2] }, [165594] = { "Coldheart Ambusher", -- [1] "Torghast, Tower of the Damned", -- [2] }, [17960] = { "Coilfang Soothsayer", -- [1] "Coilfang: The Slave Pens", -- [2] }, [121460] = { "Bile Spitter", -- [1] "Artifact - Highmountain - Dual Boss", -- [2] }, [18344] = { "Nexus-Prince Shaffar", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [184535] = { "Overthrown Artisan", -- [1] "Sepulcher of the First Ones", -- [2] }, [131812] = { "Heartsbane Soulcharmer", -- [1] "Waycrest Manor", -- [2] }, [91004] = { "Ularogg Cragshaper", -- [1] "Neltharion's Lair", -- [2] }, [26918] = { "Chaotic Rift", -- [1] "The Nexus", -- [2] }, [168156] = { "Remornia", -- [1] "Castle Nathria", -- [2] }, [160990] = { "Image of Absolution", -- [1] "Ny'alotha, the Waking City", -- [2] }, [165597] = { "Patchwerk Soldier", -- [1] "The Necrotic Wake", -- [2] }, [93308] = { "Portal Guardian", -- [1] "Hellfire Citadel", -- [2] }, [81279] = { "Grom'kar Flameslinger", -- [1] "Iron Docks", -- [2] }, [173276] = { "Stone Legion Commando", -- [1] "Castle Nathria", -- [2] }, [91005] = { "Naraxas", -- [1] "Neltharion's Lair", -- [2] }, [120182] = { "Tormented Priestess", -- [1] "Tomb of Sargeras", -- [2] }, [177372] = { "Mawsworn Realmbinder", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [136934] = { "Weapons Tester", -- [1] "The MOTHERLODE!!", -- [2] }, [28582] = { "Stormforged Mender", -- [1] "Halls of Lightning", -- [2] }, [184539] = { "Automated Eliminator", -- [1] "Sepulcher of the First Ones", -- [2] }, [28838] = { "Titanium Vanguard", -- [1] "Halls of Lightning", -- [2] }, [91006] = { "Rockback Gnasher", -- [1] "Neltharion's Lair", -- [2] }, [95613] = { "Binder Hallaani", -- [1] "Hellfire Citadel", -- [2] }, [20904] = { "Warden Mellichar", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [131817] = { "Cragmaw the Infested", -- [1] "The Underrot", -- [2] }, [177886] = { "Arthas Menethil", -- [1] "9.1 Andorhal - Kyrian Chapter Scenario", -- [2] }, [162018] = { "Temple Guard", -- [1] "Vision of Ysera Scenario", -- [2] }, [73091] = { "Blackfuse Sellsword", -- [1] "Siege of Orgrimmar", -- [2] }, [98173] = { "Mystic Ssa'veh", -- [1] "Eye of Azshara", -- [2] }, [164578] = { "Stitchflesh's Creation", -- [1] "The Necrotic Wake", -- [2] }, [173280] = { "Stone Legion Skirmisher", -- [1] "Castle Nathria", -- [2] }, [91007] = { "Dargrul", -- [1] "Neltharion's Lair", -- [2] }, [95614] = { "Binder Eloah", -- [1] "Hellfire Citadel", -- [2] }, [17961] = { "Coilfang Enchantress", -- [1] "Coilfang: The Slave Pens", -- [2] }, [131819] = { "Coven Diviner", -- [1] "Waycrest Manor", -- [2] }, [162020] = { "Priestess of Elune", -- [1] "Vision of Ysera Scenario", -- [2] }, [158437] = { "Fallen Taskmaster", -- [1] "Horrific Vision of Stormwind", -- [2] }, [102269] = { "Felstalker Ravener", -- [1] "Assault on Violet Hold", -- [2] }, [26727] = { "Mage Hunter Ascendant", -- [1] "The Nexus", -- [2] }, [177889] = { "Mawforged Souljudge", -- [1] "Sanctum of Domination", -- [2] }, [162021] = { "Temple Archer", -- [1] "Vision of Ysera Scenario", -- [2] }, [91520] = { "Adjunct Kuroh", -- [1] "Hellfire Citadel", -- [2] }, [120697] = { "Worshiper of Elune", -- [1] "Tomb of Sargeras", -- [2] }, [131821] = { "Faceless Maiden", -- [1] "Waycrest Manor", -- [2] }, [161510] = { "Mindrend Tentacle", -- [1] "Freehold", -- [2] }, [162534] = { "Anubisath Sentinel", -- [1] "Ny'alotha, the Waking City", -- [2] }, [73349] = { "Tormented Initiate", -- [1] "Siege of Orgrimmar", -- [2] }, [102270] = { "Eredar Invader", -- [1] "Assault on Violet Hold", -- [2] }, [152809] = { "Alx'kov the Infested", -- [1] "Horrific Vision of Stormwind", -- [2] }, [177891] = { "Mawforged Summoner", -- [1] "Sanctum of Domination", -- [2] }, [91521] = { "Vindicator Bramu", -- [1] "Hellfire Citadel", -- [2] }, [163559] = { "Royal Servant", -- [1] "Revendreth Scenario", -- [2] }, [96640] = { "Valarjar Marksman", -- [1] "Halls of Valor", -- [2] }, [177892] = { "Mawforged Goliath", -- [1] "Sanctum of Domination", -- [2] }, [28583] = { "Blistering Steamrager", -- [1] "Halls of Lightning", -- [2] }, [24552] = { "Sliver", -- [1] "Magisters' Terrace", -- [2] }, [131824] = { "Sister Solena", -- [1] "Waycrest Manor", -- [2] }, [24744] = { "Vexallus", -- [1] "Magisters' Terrace", -- [2] }, [173798] = { "Rat of Unusual Size", -- [1] "Castle Nathria", -- [2] }, [91522] = { "Protector Bajunt", -- [1] "Hellfire Citadel", -- [2] }, [20905] = { "Blazing Trickster", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [131825] = { "Sister Briar", -- [1] "Waycrest Manor", -- [2] }, [133361] = { "Wasting Servant", -- [1] "Waycrest Manor", -- [2] }, [73095] = { "Blackfuse Engineer", -- [1] "Siege of Orgrimmar", -- [2] }, [179942] = { "Deathseeker Eye", -- [1] "Sanctum of Domination", -- [2] }, [168681] = { "Forsworn Helion", -- [1] "Spires of Ascension", -- [2] }, [173800] = { "Sewer Rat", -- [1] "Castle Nathria", -- [2] }, [150254] = { "Scraphound", -- [1] "Operation: Mechagon", -- [2] }, [17962] = { "Coilfang Collaborator", -- [1] "Coilfang: The Slave Pens", -- [2] }, [185574] = { "Dominated Saboteur", -- [1] "Sepulcher of the First Ones", -- [2] }, [137458] = { "Rotting Spore", -- [1] "The Underrot", -- [2] }, [26536] = { "Mindless Servant", -- [1] "Utgarde Pinnacle", -- [2] }, [416] = { "Chonam", -- [1] "Ny'alotha, the Waking City", -- [2] }, [417] = { "Fzuunum", -- [1] "Sepulcher of the First Ones", -- [2] }, [168683] = { "Gorak Zhar", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [26792] = { "Crystalline Protector", -- [1] "The Nexus", -- [2] }, [173802] = { "Carved Assistant", -- [1] "Castle Nathria", -- [2] }, [179433] = { "Vault Aegis", -- [1] "Torghast, Tower of the Damned", -- [2] }, [83846] = { "Yalnu", -- [1] "The Everbloom", -- [2] }, [164589] = { "Regenerating Wildseed", -- [1] "Sanctum of Domination", -- [2] }, [169196] = { "Crimson Cabalist", -- [1] "Castle Nathria", -- [2] }, [19306] = { "Mana Leech", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [179434] = { "Mawsworn Doubtcaller", -- [1] "Torghast, Tower of the Damned", -- [2] }, [131318] = { "Elder Leaxa", -- [1] "The Underrot", -- [2] }, [160495] = { "Maniacal Soulbinder", -- [1] "Theater of Pain", -- [2] }, [78728] = { "Shaadum", -- [1] "Auchindoun", -- [2] }, [91781] = { "Hatecoil Warrior", -- [1] "Eye of Azshara", -- [2] }, [73098] = { "Kor'kron Overseer", -- [1] "Siege of Orgrimmar", -- [2] }, [28584] = { "Unbound Firestorm", -- [1] "Halls of Lightning", -- [2] }, [126845] = { "Captain Jolly", -- [1] "Freehold", -- [2] }, [24745] = { "Pure Energy", -- [1] "Magisters' Terrace", -- [2] }, [120191] = { "Eternal Soulguard", -- [1] "Tomb of Sargeras", -- [2] }, [29096] = { "Anub'ar Champion", -- [1] "Azjol-Nerub", -- [2] }, [92038] = { "Salivating Bloodthirster", -- [1] "Hellfire Citadel", -- [2] }, [113537] = { "Emberhusk Dominator", -- [1] "Neltharion's Lair", -- [2] }, [163058] = { "Mistveil Defender", -- [1] "Mists of Tirna Scithe", -- [2] }, [176879] = { "Hollowsoul", -- [1] "Sanctum of Domination", -- [2] }, [98949] = { "Smashspite the Hateful", -- [1] "Black Rook Hold", -- [2] }, [158452] = { "Mindtwist Tendril", -- [1] "Horrific Vision of Stormwind", -- [2] }, [17835] = { "Infinite Assassin", -- [1] "Opening of the Dark Portal", -- [2] }, [92039] = { "Bleeding Grunt", -- [1] "Hellfire Citadel", -- [2] }, [17963] = { "Wastewalker Slave", -- [1] "Coilfang: The Slave Pens", -- [2] }, [176880] = { "Soulscream Tormentor", -- [1] "Sanctum of Domination", -- [2] }, [185582] = { "Eternal Assembler", -- [1] "Sepulcher of the First Ones", -- [2] }, [18155] = { "Bloodfalcon", -- [1] "Tempest Keep: The Botanica", -- [2] }, [126847] = { "Captain Raoul", -- [1] "Freehold", -- [2] }, [26729] = { "Steward", -- [1] "The Nexus", -- [2] }, [26793] = { "Crystalline Frayer", -- [1] "The Nexus", -- [2] }, [166644] = { "Artificer Xy'mox", -- [1] "Castle Nathria", -- [2] }, [120449] = { "Defensive Countermeasure", -- [1] "Tomb of Sargeras", -- [2] }, [121473] = { "Coercitor Nixa", -- [1] "Tomb of Sargeras", -- [2] }, [170228] = { "Bone Husk", -- [1] "Torghast, Tower of the Damned", -- [2] }, [19307] = { "Nexus Terror", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [142587] = { "Devouring Maggot", -- [1] "Waycrest Manor", -- [2] }, [126848] = { "Captain Eudora", -- [1] "Freehold", -- [2] }, [162039] = { "Wicked Oppressor", -- [1] "Sanguine Depths", -- [2] }, [120194] = { "Ghostly Acolyte", -- [1] "Tomb of Sargeras", -- [2] }, [112260] = { "Dreadsoul Defiler", -- [1] "The Emerald Nightmare", -- [2] }, [92041] = { "Bleeding Darkcaster", -- [1] "Hellfire Citadel", -- [2] }, [117123] = { "Tidescale Legionnaire", -- [1] "Tomb of Sargeras", -- [2] }, [165111] = { "Drust Spiteclaw", -- [1] "Mists of Tirna Scithe", -- [2] }, [162040] = { "Grand Overseer", -- [1] "Sanguine Depths", -- [2] }, [28585] = { "Slag", -- [1] "Halls of Lightning", -- [2] }, [24554] = { "Eramas Brightblaze", -- [1] "Magisters' Terrace", -- [2] }, [98696] = { "Illysanna Ravencrest", -- [1] "Black Rook Hold", -- [2] }, [162041] = { "Grubby Dirtcruncher", -- [1] "Sanguine Depths", -- [2] }, [75406] = { "Slagna", -- [1] "Bloodmaul Slag Mines", -- [2] }, [92554] = { "Mek'barash", -- [1] "Hellfire Citadel", -- [2] }, [72847] = { "Hellscream Annihilator", -- [1] "Siege of Orgrimmar", -- [2] }, [179446] = { "Incinerator Arkolath", -- [1] "Plaguefall", -- [2] }, [127106] = { "Irontide Officer", -- [1] "Freehold", -- [2] }, [78734] = { "Zipteq", -- [1] "Auchindoun", -- [2] }, [8920] = { "Weapon Technician", -- [1] "Blackrock Depths", -- [2] }, [17964] = { "Wastewalker Worker", -- [1] "Coilfang: The Slave Pens", -- [2] }, [170234] = { "Oppressive Banner", -- [1] "Theater of Pain", -- [2] }, [172282] = { "Web Wrap", -- [1] "Plaguefall", -- [2] }, [26730] = { "Mage Slayer", -- [1] "The Nexus", -- [2] }, [26794] = { "Ormorok the Tree-Shaper", -- [1] "The Nexus", -- [2] }, [78735] = { "Zar'shuul", -- [1] "Auchindoun", -- [2] }, [174842] = { "Belligerent Waiter", -- [1] "Castle Nathria", -- [2] }, [180473] = { "Unstoppable Abomination", -- [1] "Sanctum of Domination", -- [2] }, [168700] = { "Pestering Fiend", -- [1] "Castle Nathria", -- [2] }, [157439] = { "Fury of N'Zoth", -- [1] "Ny'alotha, the Waking City", -- [2] }, [162046] = { "Famished Tick", -- [1] "Sanguine Depths", -- [2] }, [130435] = { "Addled Thug", -- [1] "The MOTHERLODE!!", -- [2] }, [171772] = { "Mistveil Defender", -- [1] "Mists of Tirna Scithe", -- [2] }, [180474] = { "Soul Reaver", -- [1] "Sanctum of Domination", -- [2] }, [94604] = { "Gorebound Corruptor", -- [1] "Hellfire Citadel", -- [2] }, [162047] = { "Insatiable Brute", -- [1] "Sanguine Depths", -- [2] }, [91789] = { "Lady Hatecoil", -- [1] "Eye of Azshara", -- [2] }, [131847] = { "Waycrest Reveler", -- [1] "Waycrest Manor", -- [2] }, [130436] = { "Off-Duty Laborer", -- [1] "The MOTHERLODE!!", -- [2] }, [28586] = { "General Bjarngrim", -- [1] "Halls of Lightning", -- [2] }, [24555] = { "Garaxxas", -- [1] "Magisters' Terrace", -- [2] }, [24683] = { "Sunblade Mage Guard", -- [1] "Magisters' Terrace", -- [2] }, [94861] = { "Grim Ambusher", -- [1] "Hellfire Citadel", -- [2] }, [157442] = { "Gaze of Madness", -- [1] "Ny'alotha, the Waking City", -- [2] }, [162049] = { "Vestige of Doubt", -- [1] "Sanguine Depths", -- [2] }, [79505] = { "Solar Flare", -- [1] "Skyreach", -- [2] }, [151812] = { "Detect-o-Bot", -- [1] "Operation: Mechagon", -- [2] }, [100748] = { "Felmaw Devourer", -- [1] "Niskara", -- [2] }, [130437] = { "Mine Rat", -- [1] "The MOTHERLODE!!", -- [2] }, [155908] = { "Deathspeaker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [131850] = { "Maddened Survivalist", -- [1] "Waycrest Manor", -- [2] }, [177407] = { "Formless Mass", -- [1] "Sanctum of Domination", -- [2] }, [162051] = { "Frenzied Ghoul", -- [1] "Sanguine Depths", -- [2] }, [95630] = { "Construct Peacekeeper", -- [1] "Hellfire Citadel", -- [2] }, [95886] = { "Ash'Golm", -- [1] "Vault of the Wardens", -- [2] }, [151814] = { "Deadsoul Shade", -- [1] "Torghast, Tower of the Damned", -- [2] }, [100749] = { "Mistress Torvis", -- [1] "Niskara", -- [2] }, [97678] = { "Aranasi Broodmother", -- [1] "Vault of the Wardens", -- [2] }, [127111] = { "Irontide Oarsman", -- [1] "Freehold", -- [2] }, [26731] = { "Grand Magus Telestra", -- [1] "The Nexus", -- [2] }, [127879] = { "Shieldbearer of Zul", -- [1] "Atal'Dazar", -- [2] }, [174338] = { "Stinky Feedhauler", -- [1] "Castle Nathria", -- [2] }, [120201] = { "Spectral Guardian", -- [1] "Tomb of Sargeras", -- [2] }, [79507] = { "Felguard", -- [1] "Auchindoun", -- [2] }, [151816] = { "Deadsoul Scavenger", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157447] = { "Fanatical Cultist", -- [1] "Ny'alotha, the Waking City", -- [2] }, [151817] = { "Deadsoul Devil", -- [1] "Torghast, Tower of the Damned", -- [2] }, [95632] = { "Sargerei Enforcer", -- [1] "Hellfire Citadel", -- [2] }, [79508] = { "Felborne Abyssal", -- [1] "Auchindoun", -- [2] }, [151818] = { "Deadsoul Miscreation", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157449] = { "Sinister Soulcarver", -- [1] "Ny'alotha, the Waking City", -- [2] }, [162056] = { "Rockbound Sprite", -- [1] "Sanguine Depths", -- [2] }, [28587] = { "Volkhan", -- [1] "Halls of Lightning", -- [2] }, [102287] = { "Emberhusk Dominator", -- [1] "Neltharion's Lair", -- [2] }, [24684] = { "Sunblade Blood Knight", -- [1] "Magisters' Terrace", -- [2] }, [157450] = { "Spellbound Ritualist", -- [1] "Ny'alotha, the Waking City", -- [2] }, [162057] = { "Chamber Sentinel", -- [1] "Sanguine Depths", -- [2] }, [99728] = { "Grimguard", -- [1] "Vault of the Wardens", -- [2] }, [20909] = { "Sulfuron Magma-Thrower", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [96657] = { "Blade Dancer Illianna", -- [1] "Vault of the Wardens", -- [2] }, [162058] = { "Ventunax", -- [1] "Spires of Ascension", -- [2] }, [134417] = { "Deepsea Ritualist", -- [1] "Shrine of the Storm", -- [2] }, [168713] = { "Dread Caller Skulfir", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [157452] = { "Nightmare Antigen", -- [1] "Ny'alotha, the Waking City", -- [2] }, [162059] = { "Kin-Tara", -- [1] "Spires of Ascension", -- [2] }, [8889] = { "Anvilrage Overseer", -- [1] "Blackrock Depths", -- [2] }, [8921] = { "Bloodhound", -- [1] "Blackrock Depths", -- [2] }, [75927] = { "Azzakel", -- [1] "Auchindoun", -- [2] }, [9017] = { "Lord Incendius", -- [1] "Blackrock Depths", -- [2] }, [97170] = { "Hatecoil Wavebinder", -- [1] "Eye of Azshara", -- [2] }, [162060] = { "Oryphrion", -- [1] "Spires of Ascension", -- [2] }, [36564] = { "Soulguard Bonecaster", -- [1] "The Forge of Souls", -- [2] }, [167691] = { "Stasis Trap", -- [1] "Castle Nathria", -- [2] }, [26668] = { "Svala Sorrowgrave", -- [1] "Utgarde Pinnacle", -- [2] }, [98706] = { "Commander Shemdah'sohn", -- [1] "Black Rook Hold", -- [2] }, [26796] = { "Commander Stoutbeard", -- [1] "The Nexus", -- [2] }, [162061] = { "Devos", -- [1] "Spires of Ascension", -- [2] }, [158478] = { "Corruption Tumor", -- [1] "Horrific Vision of Stormwind", -- [2] }, [79511] = { "Blazing Trickster", -- [1] "Auchindoun", -- [2] }, [97171] = { "Hatecoil Arcanist", -- [1] "Eye of Azshara", -- [2] }, [58959] = { "Fizsy", -- [1] "Ny'alotha, the Waking City", -- [2] }, [163086] = { "Rancid Gasbag", -- [1] "Theater of Pain", -- [2] }, [168717] = { "Forsworn Justicar", -- [1] "Spires of Ascension", -- [2] }, [98963] = { "Blazing Imp", -- [1] "Vault of the Wardens", -- [2] }, [95636] = { "Sargerei Adjutant", -- [1] "Hellfire Citadel", -- [2] }, [91797] = { "King Deepbeard", -- [1] "Eye of Azshara", -- [2] }, [131863] = { "Raal the Gluttonous", -- [1] "Waycrest Manor", -- [2] }, [136470] = { "Refreshment Vendor", -- [1] "The MOTHERLODE!!", -- [2] }, [97172] = { "Saltsea Droplet", -- [1] "Eye of Azshara", -- [2] }, [153874] = { "Mawsworn Sentry", -- [1] "Torghast, Tower of the Damned", -- [2] }, [178956] = { "Terrified Veilwing", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [134423] = { "Abyss Dweller", -- [1] "Shrine of the Storm", -- [2] }, [24685] = { "Sunblade Magister", -- [1] "Magisters' Terrace", -- [2] }, [178957] = { "Empowered Mawsworn Soulwarden", -- [1] "Torghast, Tower of the Damned", -- [2] }, [20910] = { "Twilight Drakonaar", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [120719] = { "Lunar Priestess", -- [1] "Tomb of Sargeras", -- [2] }, [113041] = { "Infected Diemetradon", -- [1] "The Emerald Nightmare", -- [2] }, [165137] = { "Zolramus Gatekeeper", -- [1] "The Necrotic Wake", -- [2] }, [97173] = { "Restless Tides", -- [1] "Eye of Azshara", -- [2] }, [81305] = { "Fleshrender Nok'gar", -- [1] "Iron Docks", -- [2] }, [165138] = { "Blight Bag", -- [1] "The Necrotic Wake", -- [2] }, [173840] = { "Plaguebound Devoted", -- [1] "Plaguefall", -- [2] }, [170257] = { "Broker Ve'nott", -- [1] "Torghast, Tower of the Damned", -- [2] }, [95638] = { "Sargerei Bannerman", -- [1] "Hellfire Citadel", -- [2] }, [17839] = { "Rift Lord", -- [1] "Opening of the Dark Portal", -- [2] }, [120720] = { "Lunar Guard", -- [1] "Tomb of Sargeras", -- [2] }, [156949] = { "Armsmaster Terenson", -- [1] "Horrific Vision of Stormwind", -- [2] }, [157461] = { "Mycelial Cyst", -- [1] "Ny'alotha, the Waking City", -- [2] }, [153878] = { "Mawsworn Archer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [26669] = { "Ymirjar Savage", -- [1] "Utgarde Pinnacle", -- [2] }, [26861] = { "King Ymiron", -- [1] "Utgarde Pinnacle", -- [2] }, [153879] = { "Deadsoul Shadow", -- [1] "Torghast, Tower of the Damned", -- [2] }, [159510] = { "Eye of the Depths", -- [1] "Ny'alotha, the Waking City", -- [2] }, [81819] = { "Everbloom Naturalist", -- [1] "The Everbloom", -- [2] }, [118930] = { "Ixallon the Soulbreaker", -- [1] "Tomb of Sargeras", -- [2] }, [95640] = { "Sargerei Soul Cleaver", -- [1] "Hellfire Citadel", -- [2] }, [96664] = { "Valarjar Runecarver", -- [1] "Halls of Valor", -- [2] }, [72350] = { "Dragonmaw Elite Grunt", -- [1] "Siege of Orgrimmar", -- [2] }, [153882] = { "Deadsoul Spirit", -- [1] "Torghast, Tower of the Damned", -- [2] }, [24558] = { "Ellrys Duskhallow", -- [1] "Magisters' Terrace", -- [2] }, [69791] = { "Shaol", -- [1] "Theater of Pain", -- [2] }, [24686] = { "Sunblade Warlock", -- [1] "Magisters' Terrace", -- [2] }, [94873] = { "Felfire Flamebelcher", -- [1] "Hellfire Citadel", -- [2] }, [83612] = { "Skulloc", -- [1] "Iron Docks", -- [2] }, [171799] = { "Depths Warden", -- [1] "Sanguine Depths", -- [2] }, [172823] = { "Phylactery of Pain", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [72351] = { "Dragonmaw Flagbearer", -- [1] "Siege of Orgrimmar", -- [2] }, [157467] = { "Void Ascendant", -- [1] "Ny'alotha, the Waking City", -- [2] }, [38487] = { "Fallen Warrior", -- [1] "Pit of Saron", -- [2] }, [151325] = { "Alarm-o-Bot", -- [1] "Operation: Mechagon", -- [2] }, [172312] = { "Spinemaw Gorger", -- [1] "Mists of Tirna Scithe", -- [2] }, [94618] = { "Cattwen", -- [1] "Hellfire Citadel", -- [2] }, [25774] = { "George", -- [1] "Ny'alotha, the Waking City", -- [2] }, [169753] = { "Famished Tick", -- [1] "Sanguine Depths", -- [2] }, [166170] = { "Phaedra", -- [1] "Bastion Scenario", -- [2] }, [8890] = { "Anvilrage Warden", -- [1] "Blackrock Depths", -- [2] }, [8922] = { "Bloodhound Mastiff", -- [1] "Blackrock Depths", -- [2] }, [100249] = { "Channeler Varisz", -- [1] "Eye of Azshara", -- [2] }, [176920] = { "Domination Arrow", -- [1] "Sanctum of Domination", -- [2] }, [72352] = { "Dragonmaw Ebon Stalker", -- [1] "Siege of Orgrimmar", -- [2] }, [26670] = { "Ymirjar Flesh Hunter", -- [1] "Utgarde Pinnacle", -- [2] }, [26734] = { "Azure Enforcer", -- [1] "The Nexus", -- [2] }, [98970] = { "Latosius", -- [1] "Black Rook Hold", -- [2] }, [145185] = { "Gnomercy 4.U.", -- [1] "Operation: Mechagon", -- [2] }, [100250] = { "Binder Ashioi", -- [1] "Eye of Azshara", -- [2] }, [173339] = { "Plaguebelcher", -- [1] "Plaguefall", -- [2] }, [151329] = { "Warden Skoldus", -- [1] "Torghast, Tower of the Damned", -- [2] }, [127124] = { "Freehold Barhand", -- [1] "Freehold", -- [2] }, [19632] = { "Lykul Stinger", -- [1] "Coilfang: The Underbog", -- [2] }, [166174] = { "Forsworn Oracle", -- [1] "Bastion Scenario", -- [2] }, [171805] = { "Research Scribe", -- [1] "Sanguine Depths", -- [2] }, [113048] = { "Corrupted Deer", -- [1] "The Emerald Nightmare", -- [2] }, [72354] = { "Dragonmaw Bonecrusher", -- [1] "Siege of Orgrimmar", -- [2] }, [24559] = { "Warlord Salaris", -- [1] "Magisters' Terrace", -- [2] }, [184603] = { "Ancient Bufonid", -- [1] "Sepulcher of the First Ones", -- [2] }, [135975] = { "Off-Duty Laborer", -- [1] "The MOTHERLODE!!", -- [2] }, [24815] = { "Sunblade Imp", -- [1] "Magisters' Terrace", -- [2] }, [75426] = { "Bloodmaul Overseer", -- [1] "Bloodmaul Slag Mines", -- [2] }, [21104] = { "Rift Keeper", -- [1] "Opening of the Dark Portal", -- [2] }, [72355] = { "High Enforcer Thranok", -- [1] "Siege of Orgrimmar", -- [2] }, [177950] = { "Soul Prison", -- [1] "Torghast, Tower of the Damned", -- [2] }, [166177] = { "Reinforced Pouncer", -- [1] "Bastion Scenario", -- [2] }, [163618] = { "Zolramus Necromancer", -- [1] "The Necrotic Wake", -- [2] }, [70308] = { "Soul-Fed Construct", -- [1] "Throne of Thunder", -- [2] }, [161571] = { "Anubisath Sentinel", -- [1] "Ny'alotha, the Waking City", -- [2] }, [166178] = { "Forsworn Doubtguard", -- [1] "Bastion Scenario", -- [2] }, [163619] = { "Zolramus Bonecarver", -- [1] "The Necrotic Wake", -- [2] }, [72356] = { "Master Cannoneer Dagryn", -- [1] "Siege of Orgrimmar", -- [2] }, [153382] = { "Maw of the Maw", -- [1] "Torghast, Tower of the Damned", -- [2] }, [163620] = { "Rotspew", -- [1] "The Necrotic Wake", -- [2] }, [176929] = { "Remnant of Kel'Thuzad", -- [1] "Sanctum of Domination", -- [2] }, [120473] = { "Tidescale Combatant", -- [1] "Tomb of Sargeras", -- [2] }, [163621] = { "Goregrind", -- [1] "The Necrotic Wake", -- [2] }, [72357] = { "Lieutenant Krugruk", -- [1] "Siege of Orgrimmar", -- [2] }, [163622] = { "Goregrind Bits", -- [1] "The Necrotic Wake", -- [2] }, [19505] = { "Sunseeker Channeler", -- [1] "Tempest Keep: The Botanica", -- [2] }, [111004] = { "Gelatinized Decay", -- [1] "The Emerald Nightmare", -- [2] }, [19633] = { "Bloodwarder Mender", -- [1] "Tempest Keep: The Botanica", -- [2] }, [163111] = { "Magistrate Solomon", -- [1] "Redridge - 9xp Bastion", -- [2] }, [163623] = { "Rotspew Leftovers", -- [1] "The Necrotic Wake", -- [2] }, [155945] = { "Gherus the Chained", -- [1] "Torghast, Tower of the Damned", -- [2] }, [152874] = { "Vez'okk the Lightless", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [24560] = { "Priestess Delrissa", -- [1] "Magisters' Terrace", -- [2] }, [24688] = { "Wretched Skulker", -- [1] "Magisters' Terrace", -- [2] }, [152875] = { "Massive Crusher", -- [1] "Torghast, Tower of the Damned", -- [2] }, [121499] = { "Fel Surge Totem", -- [1] "Artifact - Highmountain - Dual Boss", -- [2] }, [80805] = { "Makogg Emberblade", -- [1] "Iron Docks", -- [2] }, [93858] = { "Hulking Berserker", -- [1] "Hellfire Citadel", -- [2] }, [77734] = { "Teron'gor", -- [1] "Auchindoun", -- [2] }, [25840] = { "Entropius", -- [1] "The Sunwell", -- [2] }, [8891] = { "Anvilrage Guardsman", -- [1] "Blackrock Depths", -- [2] }, [135474] = { "Thistle Acolyte", -- [1] "Waycrest Manor", -- [2] }, [30319] = { "Twilight Darkcaster", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [175401] = { "Warden of Souls", -- [1] "Torghast, Tower of the Damned", -- [2] }, [26672] = { "Bloodthirsty Tundra Wolf", -- [1] "Utgarde Pinnacle", -- [2] }, [168747] = { "Venomfang", -- [1] "Plaguefall", -- [2] }, [26800] = { "Alliance Berserker", -- [1] "The Nexus", -- [2] }, [157486] = { "Horrific Hemorrhage", -- [1] "Ny'alotha, the Waking City", -- [2] }, [26928] = { "Grand Magus Telestra", -- [1] "The Nexus", -- [2] }, [120477] = { "Deep Stalker", -- [1] "Tomb of Sargeras", -- [2] }, [18994] = { "Infinite Executioner", -- [1] "Opening of the Dark Portal", -- [2] }, [155952] = { "Suffer", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [181546] = { "Prototype of Renewal", -- [1] "Sepulcher of the First Ones", -- [2] }, [133430] = { "Venture Co. Mastermind", -- [1] "The MOTHERLODE!!", -- [2] }, [131383] = { "Sporecaller Zancha", -- [1] "The Underrot", -- [2] }, [176940] = { "Soulember", -- [1] "Sanctum of Domination", -- [2] }, [80808] = { "Neesa Nox", -- [1] "Iron Docks", -- [2] }, [24689] = { "Wretched Bruiser", -- [1] "Magisters' Terrace", -- [2] }, [181548] = { "Prototype of Absolution", -- [1] "Sepulcher of the First Ones", -- [2] }, [133432] = { "Venture Co. Alchemist", -- [1] "The MOTHERLODE!!", -- [2] }, [163121] = { "Stitched Vanguard", -- [1] "The Necrotic Wake", -- [2] }, [96677] = { "Steeljaw Grizzly", -- [1] "Halls of Valor", -- [2] }, [173359] = { "Slimy Morsel", -- [1] "Plaguefall", -- [2] }, [163122] = { "Brittlebone Warrior", -- [1] "The Necrotic Wake", -- [2] }, [17395] = { "Shadowmoon Summoner", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [1860] = { "Sarvhug", -- [1] "Sepulcher of the First Ones", -- [2] }, [173360] = { "Plaguebelcher", -- [1] "Plaguefall", -- [2] }, [162099] = { "General Kaal", -- [1] "Sanguine Depths", -- [2] }, [112290] = { "Horrid Eagle", -- [1] "The Emerald Nightmare", -- [2] }, [96934] = { "Valarjar Trapper", -- [1] "Halls of Valor", -- [2] }, [162100] = { "Kryxis the Voracious", -- [1] "Sanguine Depths", -- [2] }, [167731] = { "Separation Assistant", -- [1] "The Necrotic Wake", -- [2] }, [184623] = { "Ancient Avian", -- [1] "Sepulcher of the First Ones", -- [2] }, [26737] = { "Crazed Mana-Surge", -- [1] "The Nexus", -- [2] }, [26929] = { "Grand Magus Telestra", -- [1] "The Nexus", -- [2] }, [31216] = { "Mercedes", -- [1] "Theater of Pain", -- [2] }, [117154] = { "Razorjaw Acolyte", -- [1] "Tomb of Sargeras", -- [2] }, [72365] = { "Dragonmaw Cannoneer", -- [1] "Siege of Orgrimmar", -- [2] }, [162102] = { "Grand Proctor Beryllia", -- [1] "Sanguine Depths", -- [2] }, [163126] = { "Brittlebone Mage", -- [1] "The Necrotic Wake", -- [2] }, [151353] = { "Mawrat", -- [1] "Torghast, Tower of the Damned", -- [2] }, [102566] = { "Grimhorn the Enslaver", -- [1] "Vault of the Wardens", -- [2] }, [153401] = { "K'thir Dominator", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [162103] = { "Executor Tarvold", -- [1] "Sanguine Depths", -- [2] }, [120482] = { "Tidescale Seacaller", -- [1] "Tomb of Sargeras", -- [2] }, [168246] = { "Reanimated Crossbowman", -- [1] "The Necrotic Wake", -- [2] }, [76205] = { "Blooded Bladefeather", -- [1] "Skyreach", -- [2] }, [163128] = { "Zolramus Sorcerer", -- [1] "The Necrotic Wake", -- [2] }, [184627] = { "Dominated Shaper", -- [1] "Sepulcher of the First Ones", -- [2] }, [176949] = { "Mawsworn Embermage", -- [1] "Sanctum of Domination", -- [2] }, [24882] = { "Brutallus", -- [1] "The Sunwell", -- [2] }, [92330] = { "Soul of Socrethar", -- [1] "Hellfire Citadel", -- [2] }, [72367] = { "Dragonmaw Tidal Shaman", -- [1] "Siege of Orgrimmar", -- [2] }, [105383] = { "Corruptor Tentacle", -- [1] "The Emerald Nightmare", -- [2] }, [74927] = { "Unstable Slag", -- [1] "Bloodmaul Slag Mines", -- [2] }, [8892] = { "Anvilrage Footman", -- [1] "Blackrock Depths", -- [2] }, [30385] = { "Twilight Volunteer", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [182071] = { "Guardian Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [18420] = { "Sunseeker Geomancer", -- [1] "Tempest Keep: The Botanica", -- [2] }, [160061] = { "Crawling Corruption", -- [1] "Horrific Vision of Stormwind", -- [2] }, [176953] = { "Mawsworn Flamehand", -- [1] "Sanctum of Domination", -- [2] }, [26802] = { "Alliance Ranger", -- [1] "The Nexus", -- [2] }, [26930] = { "Grand Magus Telestra", -- [1] "The Nexus", -- [2] }, [112039] = { "Screeching Spiderling", -- [1] "The Emerald Nightmare", -- [2] }, [146753] = { "Kul Tiran Marine", -- [1] "Battle of Dazar'alor", -- [2] }, [129699] = { "Ludwig Von Tortollan", -- [1] "Freehold", -- [2] }, [19508] = { "Sunseeker Herbalist", -- [1] "Tempest Keep: The Botanica", -- [2] }, [136005] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [137029] = { "Ordnance Specialist", -- [1] "The MOTHERLODE!!", -- [2] }, [71858] = { "Wavebinder Kardris", -- [1] "Siege of Orgrimmar", -- [2] }, [176956] = { "Shadowsteel Goliath", -- [1] "Sanctum of Domination", -- [2] }, [152898] = { "Deadsoul Chorus", -- [1] "Torghast, Tower of the Damned", -- [2] }, [80816] = { "Ahri'ok Dugru", -- [1] "Iron Docks", -- [2] }, [78001] = { "Cloudburst Totem", -- [1] "Sepulcher of the First Ones", -- [2] }, [176957] = { "Shadowsteel Colossus", -- [1] "Sanctum of Domination", -- [2] }, [37729] = { "Wrathbone Reaver", -- [1] "Pit of Saron", -- [2] }, [71603] = { "Sha Puddle", -- [1] "Siege of Orgrimmar", -- [2] }, [71859] = { "Earthbreaker Haromm", -- [1] "Siege of Orgrimmar", -- [2] }, [84400] = { "Gnarled Ancient", -- [1] "The Everbloom", -- [2] }, [97197] = { "Valarjar Purifier", -- [1] "Halls of Valor", -- [2] }, [17397] = { "Shadowmoon Adept", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [131402] = { "Underrot Tick", -- [1] "The Underrot", -- [2] }, [176959] = { "Mawsworn Soulmage", -- [1] "Sanctum of Domination", -- [2] }, [94894] = { "Keen-Eyed Gronnstalker", -- [1] "Hellfire Citadel", -- [2] }, [107435] = { "Suspicious Noble", -- [1] "Court of Stars", -- [2] }, [162115] = { "Koda Steelclaw", -- [1] "Vision of Ysera Scenario", -- [2] }, [84401] = { "Swift Sproutling", -- [1] "The Everbloom", -- [2] }, [162116] = { "Lyanis Moonfall", -- [1] "Vision of Ysera Scenario", -- [2] }, [133963] = { "Test Subject", -- [1] "The MOTHERLODE!!", -- [2] }, [18421] = { "Sunseeker Researcher", -- [1] "Tempest Keep: The Botanica", -- [2] }, [162117] = { "Tyrande Whisperwind", -- [1] "Vision of Ysera Scenario", -- [2] }, [100526] = { "Tormented Bloodseeker", -- [1] "Darkheart Thicket", -- [2] }, [165189] = { "Dusckcloak", -- [1] "Waycrest Manor", -- [2] }, [179010] = { "Fatespawn Anomaly", -- [1] "Sanctum of Domination", -- [2] }, [118698] = { "Hand from Beyond", -- [1] "Dread Scar Rift - Warlock Scenario Platform", -- [2] }, [19509] = { "Sunseeker Harvester", -- [1] "Tempest Keep: The Botanica", -- [2] }, [152905] = { "Tower Sentinel", -- [1] "Torghast, Tower of the Damned", -- [2] }, [95408] = { "Anetheron", -- [1] "Hellfire Citadel", -- [2] }, [138061] = { "Venture Co. Longshoreman", -- [1] "The MOTHERLODE!!", -- [2] }, [171333] = { "Atal'ai Devoted", -- [1] "De Other Side", -- [2] }, [100527] = { "Dreadfire Imp", -- [1] "Darkheart Thicket", -- [2] }, [185154] = { "Overthrown Protector", -- [1] "Sepulcher of the First Ones", -- [2] }, [185155] = { "Overthrown Protector", -- [1] "Sepulcher of the First Ones", -- [2] }, [157002] = { "Imperial Enforcer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [83892] = { "Life Warden Gola", -- [1] "The Everbloom", -- [2] }, [121003] = { "Rez the Tombwatcher", -- [1] "Tomb of Sargeras", -- [2] }, [157003] = { "Imperial Duelist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [89011] = { "Rylak Skyterror", -- [1] "Iron Docks", -- [2] }, [17398] = { "Nascent Fel Orc", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [17462] = { "Shattered Hand Zealot", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [103344] = { "Oakheart", -- [1] "Darkheart Thicket", -- [2] }, [8893] = { "Anvilrage Soldier", -- [1] "Blackrock Depths", -- [2] }, [83893] = { "Earthshaper Telu", -- [1] "The Everbloom", -- [2] }, [164171] = { "Honored Duelist", -- [1] "Revendreth Scenario", -- [2] }, [97202] = { "Olmyr the Enlightened", -- [1] "Halls of Valor", -- [2] }, [18422] = { "Sunseeker Botanist", -- [1] "Tempest Keep: The Botanica", -- [2] }, [83894] = { "Dulhu", -- [1] "The Everbloom", -- [2] }, [71865] = { "Garrosh Hellscream", -- [1] "Siege of Orgrimmar", -- [2] }, [165197] = { "Skeletal Monstrosity", -- [1] "The Necrotic Wake", -- [2] }, [105393] = { "Il'gynoth", -- [1] "The Emerald Nightmare", -- [2] }, [172099] = { "Mort", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [172102] = { "Imer", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [172101] = { "Ortim", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [172829] = { "Phylactery of Suffering", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [172830] = { "Phylactery of Death", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [172831] = { "Phylactery of Destruction", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [168969] = { "Gushing Slime", -- [1] "Plaguefall", -- [2] }, [75193] = { "Bloodmaul Overseer", -- [1] "Bloodmaul Slag Mines", -- [2] }, [167246] = { "Unleashed Trauma", -- [1] "Bastion Scenario", -- [2] }, [19958] = { "White Seedling", -- [1] "Tempest Keep: The Botanica", -- [2] }, [100531] = { "Bloodtainted Fury", -- [1] "Darkheart Thicket", -- [2] }, [172682] = { "Splinterbark Nightmare", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [96609] = { "Gildedfur Stag", -- [1] "Halls of Valor", -- [2] }, [172690] = { "Faerie", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [133463] = { "Venture Co. War Machine", -- [1] "The MOTHERLODE!!", -- [2] }, [105906] = { "Eye of Il'gynoth", -- [1] "The Emerald Nightmare", -- [2] }, [171342] = { "Juvenile Runestag", -- [1] "De Other Side", -- [2] }, [172179] = { "Crawler", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [184651] = { "Subjugator Zeltoth", -- [1] "Sepulcher of the First Ones", -- [2] }, [176973] = { "Unstoppable Abomination", -- [1] "Sanctum of Domination", -- [2] }, [83764] = { "Grom'kar Deadeye", -- [1] "Iron Docks", -- [2] }, [190174] = { "Hypnosis Bat", -- [1] "Iron Docks", -- [2] }, [25588] = { "Hand of the Deceiver", -- [1] "The Sunwell", -- [2] }, [25508] = { "Shadowsword Guardian", -- [1] "The Sunwell", -- [2] }, [171343] = { "Bladebeak Matriarch", -- [1] "De Other Side", -- [2] }, [184140] = { "Xy Acolyte", -- [1] "Sepulcher of the First Ones", -- [2] }, [100532] = { "Bloodtainted Burster", -- [1] "Darkheart Thicket", -- [2] }, [176974] = { "Soul Reaver", -- [1] "Sanctum of Domination", -- [2] }, [97083] = { "King Ranulf", -- [1] "Halls of Valor", -- [2] }, [102781] = { "Fel Bat Pup", -- [1] "Black Rook Hold", -- [2] }, [158035] = { "Magister Umbric", -- [1] "Horrific Vision of Stormwind", -- [2] }, [25165] = { "Lady Sacrolash", -- [1] "The Sunwell", -- [2] }, [183992] = { "Automated Defense Matrix", -- [1] "Sepulcher of the First Ones", -- [2] }, [17399] = { "Seductress", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [122972] = { "Dazar'ai Augur", -- [1] "Atal'Dazar", -- [2] }, [36499] = { "Soulguard Reaper", -- [1] "The Forge of Souls", -- [2] }, [25837] = { "Shadowsword Commander", -- [1] "The Sunwell", -- [2] }, [29098] = { "Anub'ar Necromancer", -- [1] "Azjol-Nerub", -- [2] }, [25867] = { "Sunblade Dragonhawk", -- [1] "The Sunwell", -- [2] }, [28825] = { "Cyclone", -- [1] "Halls of Lightning", -- [2] }, [26101] = { "Fire Fiend", -- [1] "The Sunwell", -- [2] }, [104372] = { "Eredar Portal-Lord", -- [1] "Niskara", -- [2] }, [17975] = { "High Botanist Freywinn", -- [1] "Tempest Keep: The Botanica", -- [2] }, [111370] = { "Creature in the Shadows", -- [1] "The Emerald Nightmare", -- [2] }, [102788] = { "Felspite Dominator", -- [1] "Black Rook Hold", -- [2] }, [25372] = { "Sunblade Scout", -- [1] "The Sunwell", -- [2] }, [153942] = { "Annihilator Lak'hal", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [28368] = { "Ymirjar Necromancer", -- [1] "Utgarde Pinnacle", -- [2] }, [156142] = { "Seeker of Souls", -- [1] "Torghast, Tower of the Damned", -- [2] }, [25369] = { "Sunblade Vindicator", -- [1] "The Sunwell", -- [2] }, [90296] = { "Soulbound Construct", -- [1] "Hellfire Citadel", -- [2] }, [184494] = { "Anduin's Doubt", -- [1] "Sepulcher of the First Ones", -- [2] }, [26805] = { "Alliance Cleric", -- [1] "The Nexus", -- [2] }, [36620] = { "Soulguard Adept", -- [1] "The Forge of Souls", -- [2] }, [153943] = { "Decimator Shiq'voth", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [19598] = { "Mutate Fleshlasher", -- [1] "Tempest Keep: The Botanica", -- [2] }, [163157] = { "Amarth", -- [1] "The Necrotic Wake", -- [2] }, [104373] = { "Icy Gaze of Qormaladon", -- [1] "Niskara", -- [2] }, [75964] = { "Ranjit", -- [1] "Skyreach", -- [2] }, [76220] = { "Blazing Trickster", -- [1] "Auchindoun", -- [2] }, [185680] = { "Vy Relic", -- [1] "Mists of Tirna Scithe", -- [2] }, [28695] = { "Molten Golem", -- [1] "Halls of Lightning", -- [2] }, [72893] = { "Orgrimmar Peon", -- [1] "Siege of Orgrimmar", -- [2] }, [19557] = { "Greater Frayer", -- [1] "Tempest Keep: The Botanica", -- [2] }, [28581] = { "Stormforged Tactician", -- [1] "Halls of Lightning", -- [2] }, [17994] = { "Bloodwarder Falconer", -- [1] "Tempest Keep: The Botanica", -- [2] }, [19511] = { "Nethervine Inciter", -- [1] "Tempest Keep: The Botanica", -- [2] }, [29153] = { "Animated Bones", -- [1] "Azjol-Nerub", -- [2] }, [157016] = { "Imperial Archivist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [25507] = { "Sunblade Protector", -- [1] "The Sunwell", -- [2] }, [19507] = { "Sunseeker Gene-Splicer", -- [1] "Tempest Keep: The Botanica", -- [2] }, [162647] = { "Willing Sacrifice", -- [1] "Ny'alotha, the Waking City", -- [2] }, [17771] = { "Murkblood Oracle", -- [1] "Coilfang: The Underbog", -- [2] }, [104374] = { "Fiery Gaze of Qormaladon", -- [1] "Niskara", -- [2] }, [137830] = { "Pallid Gorger", -- [1] "Waycrest Manor", -- [2] }, [17827] = { "Claw", -- [1] "Coilfang: The Underbog", -- [2] }, [157017] = { "Lithic Watcher", -- [1] "Torghast, Tower of the Damned", -- [2] }, [21466] = { "Harbinger Skyriss", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [158041] = { "N'Zoth the Corruptor", -- [1] "Ny'alotha, the Waking City", -- [2] }, [170838] = { "Unyielding Contender", -- [1] "Theater of Pain", -- [2] }, [93881] = { "Contracted Engineer", -- [1] "Hellfire Citadel", -- [2] }, [91008] = { "Rockbound Pelter", -- [1] "Neltharion's Lair", -- [2] }, [102583] = { "Fel Scorcher", -- [1] "Vault of the Wardens", -- [2] }, [170323] = { "General Grashaal", -- [1] "Revendreth Scenario", -- [2] }, [185683] = { "Wo Relic", -- [1] "Mists of Tirna Scithe", -- [2] }, [101269] = { "High Inquisitor Qormaladon", -- [1] "Niskara", -- [2] }, [20465] = { "Underbog Frenzy", -- [1] "Coilfang: The Underbog", -- [2] }, [75198] = { "Bloodmaul Geomancer", -- [1] "Bloodmaul Slag Mines", -- [2] }, [96028] = { "Wrath of Azshara", -- [1] "Eye of Azshara", -- [2] }, [159578] = { "Exposed Synapse", -- [1] "Ny'alotha, the Waking City", -- [2] }, [164185] = { "Echelon", -- [1] "Halls of Atonement", -- [2] }, [91794] = { "Saltscale Lurker", -- [1] "Eye of Azshara", -- [2] }, [136688] = { "Fanatical Driller", -- [1] "The MOTHERLODE!!", -- [2] }, [159764] = { "Jesh'ra", -- [1] "Ny'alotha, the Waking City", -- [2] }, [18331] = { "Ethereal Darkcaster", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [129601] = { "Cutwater Harpooner", -- [1] "Freehold", -- [2] }, [18317] = { "Ethereal Priest", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [17400] = { "Felguard Annihilator", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [17464] = { "Shattered Hand Gladiator", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [29063] = { "Anub'ar Crypt Fiend", -- [1] "Azjol-Nerub", -- [2] }, [185685] = { "Urh Relic", -- [1] "Mists of Tirna Scithe", -- [2] }, [159417] = { "Demented Knife-Twister", -- [1] "Ny'alotha, the Waking City", -- [2] }, [17653] = { "Shadowmoon Channeler", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [128434] = { "Feasting Skyscreamer", -- [1] "Atal'Dazar", -- [2] }, [17429] = { "Fel Orc Neophyte", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [91793] = { "Seaspray Crab", -- [1] "Eye of Azshara", -- [2] }, [17976] = { "Commander Sarannis", -- [1] "Tempest Keep: The Botanica", -- [2] }, [17380] = { "Broggok", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [126969] = { "Trothak", -- [1] "Freehold", -- [2] }, [178008] = { "Decrepit Orb", -- [1] "Sanctum of Domination", -- [2] }, [184962] = { "Gnarled Scavenger", -- [1] "Sepulcher of the First Ones", -- [2] }, [73152] = { "Storeroom Guard", -- [1] "Siege of Orgrimmar", -- [2] }, [26550] = { "Dragonflayer Deathseeker", -- [1] "Utgarde Pinnacle", -- [2] }, [36840] = { "Ymirjar Wrathbringer", -- [1] "Pit of Saron", -- [2] }, [17491] = { "Laughing Skull Rogue", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [185032] = { "Taskmaster Xy'pro", -- [1] "Sepulcher of the First Ones", -- [2] }, [181549] = { "Prototype of War", -- [1] "Sepulcher of the First Ones", -- [2] }, [100364] = { "Spirit of Vengeance", -- [1] "Vault of the Wardens", -- [2] }, [128435] = { "Toxic Saurid", -- [1] "Atal'Dazar", -- [2] }, [83390] = { "Thunderlord Wrangler", -- [1] "Iron Docks", -- [2] }, [28231] = { "Crystalline Tender", -- [1] "The Nexus", -- [2] }, [73775] = { "War Master Kragg", -- [1] "Siege of Orgrimmar", -- [2] }, [184520] = { "Anduin's Despair", -- [1] "Sepulcher of the First Ones", -- [2] }, [182778] = { "Collapsing Quasar", -- [1] "Sepulcher of the First Ones", -- [2] }, [17957] = { "Coilfang Champion", -- [1] "Coilfang: The Slave Pens", -- [2] }, [102430] = { "Tarspitter Slug", -- [1] "Neltharion's Lair", -- [2] }, [182053] = { "Degeneration Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [97720] = { "Blightshard Skitter", -- [1] "Neltharion's Lair", -- [2] }, [36788] = { "Deathwhisper Necrolyte", -- [1] "Pit of Saron", -- [2] }, [180058] = { "Shadowsteel Colossus", -- [1] "Sanctum of Domination", -- [2] }, [19512] = { "Nethervine Reaper", -- [1] "Tempest Keep: The Botanica", -- [2] }, [164702] = { "Carrion Worm", -- [1] "The Necrotic Wake", -- [2] }, [98177] = { "Glayvianna Soulrender", -- [1] "Vault of the Wardens", -- [2] }, [181244] = { "Domination Core", -- [1] "Sepulcher of the First Ones", -- [2] }, [181551] = { "Prototype of Duty", -- [1] "Sepulcher of the First Ones", -- [2] }, [95676] = { "Odyn", -- [1] "Halls of Valor", -- [2] }, [116407] = { "Harjatan", -- [1] "Tomb of Sargeras", -- [2] }, [185581] = { "Eternal Forger", -- [1] "Sepulcher of the First Ones", -- [2] }, [164191] = { "Noble Courtier", -- [1] "Revendreth Scenario", -- [2] }, [98926] = { "Shadow Hunter", -- [1] "Vault of the Wardens", -- [2] }, [183033] = { "Grim Reflection", -- [1] "Sepulcher of the First Ones", -- [2] }, [98965] = { "Kur'talos Ravencrest", -- [1] "Black Rook Hold", -- [2] }, [17770] = { "Hungarfen", -- [1] "Coilfang: The Underbog", -- [2] }, [119072] = { "The Desolate Host", -- [1] "Tomb of Sargeras", -- [2] }, [184091] = { "Spirit Wolf", -- [1] "Sepulcher of the First Ones", -- [2] }, [36841] = { "Fallen Warrior", -- [1] "Pit of Saron", -- [2] }, [146409] = { "Lady Jaina Proudmoore", -- [1] "Battle of Dazar'alor", -- [2] }, [183404] = { "Eternal Assembler", -- [1] "Sepulcher of the First Ones", -- [2] }, [91790] = { "Mak'rana Siltwalker", -- [1] "Eye of Azshara", -- [2] }, [169823] = { "Gorm Behemoth", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157158] = { "Cultist Slavedriver", -- [1] "Horrific Vision of Stormwind", -- [2] }, [83392] = { "Rampaging Clefthoof", -- [1] "Iron Docks", -- [2] }, [185610] = { "Unmade Steward", -- [1] "Sepulcher of the First Ones", -- [2] }, [182045] = { "Necrotic Ritualist", -- [1] "Sepulcher of the First Ones", -- [2] }, [92350] = { "Understone Drudge", -- [1] "Neltharion's Lair", -- [2] }, [164705] = { "Pestilence Slime", -- [1] "Plaguefall", -- [2] }, [36874] = { "Disturbed Glacial Revenant", -- [1] "Pit of Saron", -- [2] }, [95885] = { "Tirathon Saltheril", -- [1] "Vault of the Wardens", -- [2] }, [183496] = { "Foul Gorger", -- [1] "Sepulcher of the First Ones", -- [2] }, [130485] = { "Mechanized Peacekeeper", -- [1] "The MOTHERLODE!!", -- [2] }, [185181] = { "Automated Eliminator", -- [1] "Sepulcher of the First Ones", -- [2] }, [25591] = { "Painbringer", -- [1] "The Sunwell", -- [2] }, [17465] = { "Shattered Hand Centurion", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [144231] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [17370] = { "Laughing Skull Enforcer", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [104636] = { "Cenarius", -- [1] "The Emerald Nightmare", -- [2] }, [133482] = { "Crawler Mine", -- [1] "The MOTHERLODE!!", -- [2] }, [161124] = { "Urg'roth, Breaker of Heroes", -- [1] "Freehold", -- [2] }, [116409] = { "Raest Magespear", -- [1] "Dread Scar Rift - Warlock Scenario Platform", -- [2] }, [171873] = { "Athanos", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [17977] = { "Warp Splinter", -- [1] "Tempest Keep: The Botanica", -- [2] }, [164707] = { "Congealed Slime", -- [1] "Plaguefall", -- [2] }, [18105] = { "Ghaz'an", -- [1] "Coilfang: The Underbog", -- [2] }, [17993] = { "Bloodwarder Protector", -- [1] "Tempest Keep: The Botanica", -- [2] }, [155483] = { "Faeleaf Shimmerwing", -- [1] "Torghast, Tower of the Damned", -- [2] }, [158565] = { "Naros", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [91787] = { "Cove Seagull", -- [1] "Eye of Azshara", -- [2] }, [36842] = { "Wrathbone Coldwraith", -- [1] "Pit of Saron", -- [2] }, [139626] = { "Dredged Sailor", -- [1] "Shrine of the Storm", -- [2] }, [181850] = { "Pre-Fabricated Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [70341] = { "Tormented Spirit", -- [1] "Throne of Thunder", -- [2] }, [71979] = { "Kor'kron Warbringer", -- [1] "Siege of Orgrimmar", -- [2] }, [107114] = { "Tormenting Orb", -- [1] "Vault of the Wardens", -- [2] }, [161251] = { "Cultist Sycophant", -- [1] "Ny'alotha, the Waking City", -- [2] }, [116410] = { "Karam Magespear", -- [1] "Dread Scar Rift - Warlock Scenario Platform", -- [2] }, [183499] = { "Hired Muscle", -- [1] "Sepulcher of the First Ones", -- [2] }, [181398] = { "Mal'Ganis", -- [1] "Sepulcher of the First Ones", -- [2] }, [172899] = { "Nathrian Enforcer", -- [1] "Castle Nathria", -- [2] }, [184882] = { "Mawsworn Warden", -- [1] "Path of the Primus", -- [2] }, [178018] = { "Vicious Ghoul", -- [1] "9.1 Andorhal - Kyrian Chapter Scenario", -- [2] }, [183398] = { "Ancient Sentinel", -- [1] "Sepulcher of the First Ones", -- [2] }, [158567] = { "Tormented Kor'kron Annihilator", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [81603] = { "Champion Druna", -- [1] "Iron Docks", -- [2] }, [83765] = { "Grom'kar Footsoldier", -- [1] "Iron Docks", -- [2] }, [19513] = { "Mutate Fear-Shrieker", -- [1] "Tempest Keep: The Botanica", -- [2] }, [24687] = { "Sunblade Physician", -- [1] "Magisters' Terrace", -- [2] }, [165222] = { "Zolramus Bonemender", -- [1] "The Necrotic Wake", -- [2] }, [184522] = { "Vigilant Custodian", -- [1] "Sepulcher of the First Ones", -- [2] }, [158056] = { "Rat", -- [1] "Horrific Vision of Stormwind", -- [2] }, [183138] = { "Inchoate Shadow", -- [1] "Sepulcher of the First Ones", -- [2] }, [167994] = { "Ossified Conscript", -- [1] "Theater of Pain", -- [2] }, [164873] = { "Runestag Elderhorn", -- [1] "De Other Side", -- [2] }, [96587] = { "Felsworn Infester", -- [1] "Vault of the Wardens", -- [2] }, [26735] = { "Azure Scale-Binder", -- [1] "The Nexus", -- [2] }, [94224] = { "Petrifying Totem", -- [1] "Neltharion's Lair", -- [2] }, [29062] = { "Anub'ar Champion", -- [1] "Azjol-Nerub", -- [2] }, [61029] = { "Primal Fire Elemental", -- [1] "Theater of Pain", -- [2] }, [6112] = { "Windfury Totem", -- [1] "Theater of Pain", -- [2] }, [73414] = { "Kor'kron Reaper", -- [1] "Siege of Orgrimmar", -- [2] }, [102335] = { "Portal Guardian", -- [1] "Assault on Violet Hold", -- [2] }, [105636] = { "Understone Drudge", -- [1] "Neltharion's Lair", -- [2] }, [24696] = { "Coilskar Witch", -- [1] "Magisters' Terrace", -- [2] }, [165224] = { "Feederfly", -- [1] "Halls of Lightning", -- [2] }, [153451] = { "Kosarus the Fallen", -- [1] "Torghast, Tower of the Damned", -- [2] }, [171184] = { "Mythresh, Sky's Talons", -- [1] "De Other Side", -- [2] }, [20857] = { "Arcatraz Defender", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [133835] = { "Feral Bloodswarmer", -- [1] "The Underrot", -- [2] }, [156642] = { "Enthralled Laborer", -- [1] "Horrific Vision of Stormwind", -- [2] }, [100497] = { "Ursoc", -- [1] "The Emerald Nightmare", -- [2] }, [156523] = { "Maut", -- [1] "Ny'alotha, the Waking City", -- [2] }, [130909] = { "Fetid Maggot", -- [1] "The Underrot", -- [2] }, [113998] = { "Mightstone Breaker", -- [1] "Neltharion's Lair", -- [2] }, [72903] = { "Kor'kron Siegemaster", -- [1] "Siege of Orgrimmar", -- [2] }, [184954] = { "Ancient Shaper", -- [1] "Sepulcher of the First Ones", -- [2] }, [73415] = { "Ichor of Y'Shaarj", -- [1] "Siege of Orgrimmar", -- [2] }, [25592] = { "Doomfire Destroyer", -- [1] "The Sunwell", -- [2] }, [81983] = { "Verdant Mandragora", -- [1] "The Everbloom", -- [2] }, [8914] = { "Twilight Bodyguard", -- [1] "Blackrock Depths", -- [2] }, [181859] = { "Volatile Materium", -- [1] "Sepulcher of the First Ones", -- [2] }, [156641] = { "Enthralled Weaponsmith", -- [1] "Horrific Vision of Stormwind", -- [2] }, [91331] = { "Archimonde", -- [1] "Hellfire Citadel", -- [2] }, [8895] = { "Anvilrage Officer", -- [1] "Blackrock Depths", -- [2] }, [134514] = { "Abyssal Cultist", -- [1] "Shrine of the Storm", -- [2] }, [120721] = { "Lunar Archer", -- [1] "Tomb of Sargeras", -- [2] }, [17978] = { "Thorngrin the Tender", -- [1] "Tempest Keep: The Botanica", -- [2] }, [183500] = { "Thieveing Agent", -- [1] "Sepulcher of the First Ones", -- [2] }, [75975] = { "Skyreach Overlord", -- [1] "Skyreach", -- [2] }, [98368] = { "Ghostly Protector", -- [1] "Black Rook Hold", -- [2] }, [77889] = { "Grom'tash the Destructor", -- [1] "Auchindoun", -- [2] }, [117269] = { "Kil'jaeden", -- [1] "Tomb of Sargeras", -- [2] }, [106786] = { "Bitterbrine Slave", -- [1] "Eye of Azshara", -- [2] }, [102337] = { "Portal Guardian", -- [1] "Assault on Violet Hold", -- [2] }, [103695] = { "Corruption Horror", -- [1] "The Emerald Nightmare", -- [2] }, [94995] = { "Graggra", -- [1] "Hellfire Citadel", -- [2] }, [98406] = { "Embershard Scorpion", -- [1] "Neltharion's Lair", -- [2] }, [121004] = { "Razorjaw Myrmidon", -- [1] "Tomb of Sargeras", -- [2] }, [91332] = { "Stoneclaw Hunter", -- [1] "Neltharion's Lair", -- [2] }, [79303] = { "Adorned Bladetalon", -- [1] "Skyreach", -- [2] }, [95939] = { "Skrog Tidestomper", -- [1] "Eye of Azshara", -- [2] }, [117776] = { "Shadow Council Warlock", -- [1] "Tomb of Sargeras", -- [2] }, [121021] = { "Shadowsworn Invader", -- [1] "Tomb of Sargeras", -- [2] }, [83613] = { "Koramar", -- [1] "Iron Docks", -- [2] }, [152708] = { "Mawsworn Seeker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [97219] = { "Solsten", -- [1] "Halls of Valor", -- [2] }, [162298] = { "Yulkatar the Cruel", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [93830] = { "Iron Dragoon", -- [1] "Hellfire Citadel", -- [2] }, [118462] = { "Soul Queen Dejahna", -- [1] "Tomb of Sargeras", -- [2] }, [98243] = { "Soul-Torn Champion", -- [1] "Black Rook Hold", -- [2] }, [120463] = { "Undersea Custodian", -- [1] "Tomb of Sargeras", -- [2] }, [99655] = { "Void-Touched Juggernaut", -- [1] "Vault of the Wardens", -- [2] }, [94916] = { "Fel Touched Seer", -- [1] "Hellfire Citadel", -- [2] }, [119742] = { "Felguard Invader", -- [1] "Tomb of Sargeras", -- [2] }, [178539] = { "Mawsworn Eradicator", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [75209] = { "Molten Earth Elemental", -- [1] "Bloodmaul Slag Mines", -- [2] }, [102273] = { "Doomguard Infiltrator", -- [1] "Assault on Violet Hold", -- [2] }, [102584] = { "Malignant Defiler", -- [1] "Vault of the Wardens", -- [2] }, [160112] = { "Stone Legion Nightblade", -- [1] "Revendreth Scenario", -- [2] }, [177004] = { "Tortured Amalgamation", -- [1] "Sanctum of Domination", -- [2] }, [94806] = { "Fel Hellweaver", -- [1] "Hellfire Citadel", -- [2] }, [121790] = { "Fleetlord Dominator", -- [1] "Tomb of Sargeras", -- [2] }, [72493] = { "Trak'gen", -- [1] "Siege of Orgrimmar", -- [2] }, [91792] = { "Stormwake Hydra", -- [1] "Eye of Azshara", -- [2] }, [17941] = { "Mennu the Betrayer", -- [1] "Coilfang: The Slave Pens", -- [2] }, [81864] = { "Dreadpetal", -- [1] "The Everbloom", -- [2] }, [184791] = { "Inner Hatred", -- [1] "Sepulcher of the First Ones", -- [2] }, [24697] = { "Sister of Torment", -- [1] "Magisters' Terrace", -- [2] }, [24761] = { "Brightscale Wyrm", -- [1] "Magisters' Terrace", -- [2] }, [178029] = { "Mawsworn Wingsoldier", -- [1] "Sanctum of Domination", -- [2] }, [16699] = { "Shattered Hand Reaver", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [75210] = { "Bloodmaul Warder", -- [1] "Bloodmaul Slag Mines", -- [2] }, [92610] = { "Understone Drummer", -- [1] "Neltharion's Lair", -- [2] }, [171887] = { "Slimy Smorgasbord", -- [1] "Plaguefall", -- [2] }, [29240] = { "Stormforged Lieutenant", -- [1] "Halls of Lightning", -- [2] }, [113089] = { "Defiled Keeper", -- [1] "The Emerald Nightmare", -- [2] }, [17083] = { "Fel Orc Convert", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [28920] = { "Stormforged Giant", -- [1] "Halls of Lightning", -- [2] }, [180387] = { "Mawsworn Paindrinker", -- [1] "Sanctum of Domination", -- [2] }, [94832] = { "Gorebound Assassin", -- [1] "Hellfire Citadel", -- [2] }, [171376] = { "Head Custodian Javlin", -- [1] "Sanguine Depths", -- [2] }, [25593] = { "Apocalypse Guard", -- [1] "The Sunwell", -- [2] }, [164345] = { "Scavenging Soul Eater", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [97677] = { "Barbed Spiderling", -- [1] "Vault of the Wardens", -- [2] }, [91785] = { "Wandering Shellback", -- [1] "Eye of Azshara", -- [2] }, [21818] = { "Infinite Whelp", -- [1] "Opening of the Dark Portal", -- [2] }, [17723] = { "Bog Giant", -- [1] "Coilfang: The Underbog", -- [2] }, [75211] = { "Magma Lord", -- [1] "Bloodmaul Slag Mines", -- [2] }, [112732] = { "Brood of Sael'orn", -- [1] "Assault on Violet Hold", -- [2] }, [161140] = { "Bwemba", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [129214] = { "Coin-Operated Crowd Pummeler", -- [1] "The MOTHERLODE!!", -- [2] }, [144248] = { "Head Machinist Sparkflux", -- [1] "Operation: Mechagon", -- [2] }, [169330] = { "Mucky Grunt", -- [1] "Revendreth Scenario", -- [2] }, [8902] = { "Shadowforge Citizen", -- [1] "Blackrock Depths", -- [2] }, [113088] = { "Corrupted Feeler", -- [1] "The Emerald Nightmare", -- [2] }, [93985] = { "Corrupted Talonpriest", -- [1] "Hellfire Citadel", -- [2] }, [26553] = { "Dragonflayer Fanatic", -- [1] "Utgarde Pinnacle", -- [2] }, [161243] = { "Samh'rek, Beckoner of Chaos", -- [1] "Freehold", -- [2] }, [156022] = { "Bubbling Soulmass", -- [1] "Torghast, Tower of the Damned", -- [2] }, [144249] = { "Omega Buster", -- [1] "Operation: Mechagon", -- [2] }, [111398] = { "Nightmare Amalgamation", -- [1] "The Emerald Nightmare", -- [2] }, [95843] = { "King Haldor", -- [1] "Halls of Valor", -- [2] }, [26728] = { "Mage Hunter Initiate", -- [1] "The Nexus", -- [2] }, [104275] = { "Imacu'tya", -- [1] "Court of Stars", -- [2] }, [163966] = { "Dread Siphonist", -- [1] "Revendreth Scenario", -- [2] }, [170199] = { "Harnessed Specter", -- [1] "Castle Nathria", -- [2] }, [156023] = { "Miniature Soulmass", -- [1] "Torghast, Tower of the Damned", -- [2] }, [113091] = { "Tainted Plainstrider", -- [1] "The Emerald Nightmare", -- [2] }, [77605] = { "Whirling Dervish", -- [1] "Skyreach", -- [2] }, [95674] = { "Fenryr", -- [1] "Halls of Valor", -- [2] }, [85194] = { "Entanglement", -- [1] "The Everbloom", -- [2] }, [72191] = { "Overlord Runthak", -- [1] "Siege of Orgrimmar", -- [2] }, [98900] = { "Wyrmtongue Trickster", -- [1] "Black Rook Hold", -- [2] }, [73742] = { "Thresher Turret", -- [1] "Siege of Orgrimmar", -- [2] }, [83025] = { "Grom'kar Battlemaster", -- [1] "Iron Docks", -- [2] }, [168580] = { "Plagueborer", -- [1] "Plaguefall", -- [2] }, [76309] = { "Grand Defense Construct", -- [1] "Skyreach", -- [2] }, [98677] = { "Rook Spiderling", -- [1] "Black Rook Hold", -- [2] }, [72986] = { "Shanna Sparkfizz", -- [1] "Siege of Orgrimmar", -- [2] }, [74790] = { "Gug'rokk", -- [1] "Bloodmaul Slag Mines", -- [2] }, [101639] = { "Valarjar Shieldmaiden", -- [1] "Halls of Valor", -- [2] }, [8894] = { "Anvilrage Medic", -- [1] "Blackrock Depths", -- [2] }, [168310] = { "Plagueroc", -- [1] "Plaguefall", -- [2] }, [113092] = { "Swarming Dread", -- [1] "The Emerald Nightmare", -- [2] }, [97081] = { "King Bjorn", -- [1] "Halls of Valor", -- [2] }, [121011] = { "Tidescale Witch", -- [1] "Tomb of Sargeras", -- [2] }, [135169] = { "Spirit Drain Totem", -- [1] "The Underrot", -- [2] }, [172858] = { "Stone Legion Goliath", -- [1] "Castle Nathria", -- [2] }, [69465] = { "Jin'rokh the Breaker", -- [1] "Throne of Thunder", -- [2] }, [171341] = { "Bladebeak Hatchling", -- [1] "De Other Side", -- [2] }, [28729] = { "Watcher Narjil", -- [1] "Azjol-Nerub", -- [2] }, [24698] = { "Ethereum Smuggler", -- [1] "Magisters' Terrace", -- [2] }, [77080] = { "Sargerei Arbiter", -- [1] "Auchindoun", -- [2] }, [28921] = { "Hadronox", -- [1] "Azjol-Nerub", -- [2] }, [120003] = { "Warlord Darjah", -- [1] "Tomb of Sargeras", -- [2] }, [150396] = { "Aerial Unit R-21/X", -- [1] "Operation: Mechagon", -- [2] }, [20923] = { "Blood Guard Porung", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [164363] = { "Undying Stonefiend", -- [1] "Halls of Atonement", -- [2] }, [135552] = { "Deathtouched Slaver", -- [1] "Waycrest Manor", -- [2] }, [113093] = { "Infected Gazelle", -- [1] "The Emerald Nightmare", -- [2] }, [153244] = { "Oblivion Elemental", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [72655] = { "Fragment of Pride", -- [1] "Siege of Orgrimmar", -- [2] }, [164218] = { "Lord Chamberlain", -- [1] "Halls of Atonement", -- [2] }, [150397] = { "King Mechagon", -- [1] "Operation: Mechagon", -- [2] }, [171384] = { "Research Scribe", -- [1] "Sanguine Depths", -- [2] }, [131009] = { "Spirit of Gold", -- [1] "Atal'Dazar", -- [2] }, [172408] = { "Alderyn", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [132126] = { "Gilded Priestess", -- [1] "Atal'Dazar", -- [2] }, [55659] = { "Wild Imp", -- [1] "Sepulcher of the First Ones", -- [2] }, [172409] = { "Myn'ir", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [17724] = { "Underbat", -- [1] "Coilfang: The Underbog", -- [2] }, [158588] = { "Gamon", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [120516] = { "Razorjaw Swiftfin", -- [1] "Tomb of Sargeras", -- [2] }, [175992] = { "Dutiful Attendant", -- [1] "Castle Nathria", -- [2] }, [17980] = { "Laj", -- [1] "Tempest Keep: The Botanica", -- [2] }, [30329] = { "Savage Cave Beast", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [9056] = { "Fineous Darkvire", -- [1] "Blackrock Depths", -- [2] }, [157340] = { "Skeletal Remains", -- [1] "Torghast, Tower of the Damned", -- [2] }, [117957] = { "Tormented Soul", -- [1] "Tomb of Sargeras", -- [2] }, [172410] = { "Nuuminuuru", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [26554] = { "Dragonflayer Seer", -- [1] "Utgarde Pinnacle", -- [2] }, [163708] = { "Umbral Gatekeeper", -- [1] "Ny'alotha, the Waking City", -- [2] }, [90316] = { "Shadow-Lord Iskar", -- [1] "Hellfire Citadel", -- [2] }, [26746] = { "Crazed Mana-Wraith", -- [1] "The Nexus", -- [2] }, [76177] = { "Soulbinder Nyami", -- [1] "Auchindoun", -- [2] }, [178041] = { "Mawsworn Shackler", -- [1] "Sanctum of Domination", -- [2] }, [112153] = { "Dire Shaman", -- [1] "The Emerald Nightmare", -- [2] }, [157366] = { "Void Hunter", -- [1] "Ny'alotha, the Waking City", -- [2] }, [95947] = { "Mak'rana Hardshell", -- [1] "Eye of Azshara", -- [2] }, [28580] = { "Hardened Steel Skycaller", -- [1] "Halls of Lightning", -- [2] }, [172411] = { "Thran'tiok", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [21395] = { "Protean Spawn", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [24690] = { "Wretched Husk", -- [1] "Magisters' Terrace", -- [2] }, [79462] = { "Blinding Solar Flare", -- [1] "Skyreach", -- [2] }, [72353] = { "Dragonmaw Flameslinger", -- [1] "Siege of Orgrimmar", -- [2] }, [162664] = { "Aqir Swarmer", -- [1] "Ny'alotha, the Waking City", -- [2] }, [167892] = { "Tormented Soul", -- [1] "Halls of Atonement", -- [2] }, [78933] = { "Herald of Sunrise", -- [1] "Skyreach", -- [2] }, [172412] = { "Craven Corinth", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [69388] = { "Zandalari Spear-Shaper", -- [1] "Throne of Thunder", -- [2] }, [94924] = { "Iron Peon", -- [1] "Hellfire Citadel", -- [2] }, [178043] = { "Mawsworn Lancer", -- [1] "Sanctum of Domination", -- [2] }, [93068] = { "Xhul'horac", -- [1] "Hellfire Citadel", -- [2] }, [111528] = { "Deathroot Ancient", -- [1] "The Emerald Nightmare", -- [2] }, [71378] = { "Quilen Guardian", -- [1] "Siege of Orgrimmar", -- [2] }, [167806] = { "Animated Sin", -- [1] "Halls of Atonement", -- [2] }, [168318] = { "Forsworn Goliath", -- [1] "Spires of Ascension", -- [2] }, [122963] = { "Rezan", -- [1] "Atal'Dazar", -- [2] }, [72658] = { "Amalgamated Hubris", -- [1] "Siege of Orgrimmar", -- [2] }, [173949] = { "Nathrian Soldier", -- [1] "Castle Nathria", -- [2] }, [133870] = { "Diseased Lasher", -- [1] "The Underrot", -- [2] }, [156406] = { "Voidbound Honor Guard", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [90284] = { "Iron Reaver", -- [1] "Hellfire Citadel", -- [2] }, [163712] = { "Dying Voidspawn", -- [1] "Ny'alotha, the Waking City", -- [2] }, [28730] = { "Watcher Gashra", -- [1] "Azjol-Nerub", -- [2] }, [156157] = { "Coldheart Ascendant", -- [1] "Torghast, Tower of the Damned", -- [2] }, [173191] = { "Soulstalker V'lara", -- [1] "Torghast, Tower of the Damned", -- [2] }, [28922] = { "Anub'ar Crusher", -- [1] "Azjol-Nerub", -- [2] }, [36830] = { "Wrathbone Laborer", -- [1] "Pit of Saron", -- [2] }, [162689] = { "Surgeon Stitchflesh", -- [1] "The Necrotic Wake", -- [2] }, [122971] = { "Dazar'ai Juggernaut", -- [1] "Atal'Dazar", -- [2] }, [135048] = { "Gorestained Piglet", -- [1] "Waycrest Manor", -- [2] }, [76307] = { "Grand Defense Construct", -- [1] "Skyreach", -- [2] }, [164737] = { "Brood Ambusher", -- [1] "Plaguefall", -- [2] }, [17991] = { "Rokmar the Crackler", -- [1] "Coilfang: The Slave Pens", -- [2] }, [157571] = { "Mawsworn Flametender", -- [1] "Torghast, Tower of the Damned", -- [2] }, [134024] = { "Devouring Maggot", -- [1] "Waycrest Manor", -- [2] }, [25595] = { "Chaos Gazer", -- [1] "The Sunwell", -- [2] }, [135049] = { "Dreadwing Raven", -- [1] "Waycrest Manor", -- [2] }, [118728] = { "Ghastly Bonewarden", -- [1] "Tomb of Sargeras", -- [2] }, [17735] = { "Wrathfin Warrior", -- [1] "Coilfang: The Underbog", -- [2] }, [150250] = { "Pistonhead Blaster", -- [1] "Operation: Mechagon", -- [2] }, [157572] = { "Mawsworn Firecaller", -- [1] "Torghast, Tower of the Damned", -- [2] }, [25851] = { "Volatile Fiend", -- [1] "The Sunwell", -- [2] }, [17725] = { "Underbog Lurker", -- [1] "Coilfang: The Underbog", -- [2] }, [162691] = { "Blightbone", -- [1] "The Necrotic Wake", -- [2] }, [71380] = { "Animated Stone Mogu", -- [1] "Siege of Orgrimmar", -- [2] }, [94607] = { "Gorebound Cauterizer", -- [1] "Hellfire Citadel", -- [2] }, [175234] = { "Tractus the Icebreaker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [170882] = { "Bone Magus", -- [1] "Theater of Pain", -- [2] }, [165251] = { "Illusionary Vulpin", -- [1] "Mists of Tirna Scithe", -- [2] }, [173953] = { "Loyal Gargon", -- [1] "Castle Nathria", -- [2] }, [166275] = { "Mistveil Shaper", -- [1] "Mists of Tirna Scithe", -- [2] }, [162692] = { "Amarth", -- [1] "The Necrotic Wake", -- [2] }, [26555] = { "Scourge Hulk", -- [1] "Utgarde Pinnacle", -- [2] }, [18429] = { "Arcane Fiend", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [26683] = { "Frenzied Worgen", -- [1] "Utgarde Pinnacle", -- [2] }, [165764] = { "Rockbound Vanquisher", -- [1] "Castle Nathria", -- [2] }, [128455] = { "T'lonja", -- [1] "Atal'Dazar", -- [2] }, [169859] = { "Observer Zelgar", -- [1] "Torghast, Tower of the Damned", -- [2] }, [166276] = { "Mistveil Guardian", -- [1] "Mists of Tirna Scithe", -- [2] }, [162693] = { "Nalthor the Rimebinder", -- [1] "The Necrotic Wake", -- [2] }, [133593] = { "Expert Technician", -- [1] "The MOTHERLODE!!", -- [2] }, [120777] = { "Guardian Sentry", -- [1] "Tomb of Sargeras", -- [2] }, [161746] = { "Ossirat", -- [1] "Ny'alotha, the Waking City", -- [2] }, [58605] = { "Scarlet Judicator", -- [1] "Scarlet Monastery", -- [2] }, [165763] = { "Vile Occultist", -- [1] "Castle Nathria", -- [2] }, [72661] = { "Zeal", -- [1] "Siege of Orgrimmar", -- [2] }, [93392] = { "Captured Prisoner", -- [1] "Hellfire Citadel", -- [2] }, [21126] = { "Coilfang Scale-Healer", -- [1] "Coilfang: The Slave Pens", -- [2] }, [171396] = { "Kyrian Goliath", -- [1] "Sepulcher of the First Ones", -- [2] }, [118730] = { "Soul Residue", -- [1] "Tomb of Sargeras", -- [2] }, [20886] = { "Wrath-Scryer Soccothrates", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [168837] = { "Stealthling", -- [1] "Plaguefall", -- [2] }, [173444] = { "Caramain", -- [1] "Castle Nathria", -- [2] }, [169861] = { "Ickor Bileflesh", -- [1] "Plaguefall", -- [2] }, [135052] = { "Blight Toad", -- [1] "Waycrest Manor", -- [2] }, [102672] = { "Nythendra", -- [1] "The Emerald Nightmare", -- [2] }, [71382] = { "Burial Urn", -- [1] "Siege of Orgrimmar", -- [2] }, [99828] = { "Trained Hawk", -- [1] "Halls of Valor", -- [2] }, [116939] = { "Fallen Avatar", -- [1] "Tomb of Sargeras", -- [2] }, [72150] = { "Kor'kron Shadowmage", -- [1] "Siege of Orgrimmar", -- [2] }, [173445] = { "Sindrel", -- [1] "Castle Nathria", -- [2] }, [133007] = { "Unbound Abomination", -- [1] "The Underrot", -- [2] }, [165762] = { "Soul Infuser", -- [1] "Castle Nathria", -- [2] }, [101839] = { "Risen Companion", -- [1] "Black Rook Hold", -- [2] }, [102095] = { "Risen Lancer", -- [1] "Black Rook Hold", -- [2] }, [165108] = { "Illusionary Clone", -- [1] "Mists of Tirna Scithe", -- [2] }, [28731] = { "Watcher Silthik", -- [1] "Azjol-Nerub", -- [2] }, [113090] = { "Corrupted Gatewarden", -- [1] "The Emerald Nightmare", -- [2] }, [173446] = { "Hargitas", -- [1] "Castle Nathria", -- [2] }, [137103] = { "Blood Visage", -- [1] "The Underrot", -- [2] }, [24892] = { "Sathrovarr the Corruptor", -- [1] "The Sunwell", -- [2] }, [29051] = { "Anub'ar Crypt Fiend", -- [1] "Azjol-Nerub", -- [2] }, [71383] = { "Kor'thik Warcaller", -- [1] "Siege of Orgrimmar", -- [2] }, [102336] = { "Portal Keeper", -- [1] "Assault on Violet Hold", -- [2] }, [162038] = { "Regal Mistdancer", -- [1] "Sanguine Depths", -- [2] }, [168326] = { "Shattered Visage", -- [1] "De Other Side", -- [2] }, [122969] = { "Zanchuli Witch-Doctor", -- [1] "Atal'Dazar", -- [2] }, [72358] = { "Kor'kron Cannon", -- [1] "Siege of Orgrimmar", -- [2] }, [155225] = { "Faeleaf Grovesinger", -- [1] "Torghast, Tower of the Damned", -- [2] }, [91783] = { "Hatecoil Stormweaver", -- [1] "Eye of Azshara", -- [2] }, [164897] = { "Fog Dweller", -- [1] "Torghast, Tower of the Damned", -- [2] }, [91540] = { "Illusionary Outcast", -- [1] "Hellfire Citadel", -- [2] }, [175861] = { "Glacial Spike", -- [1] "Sanctum of Domination", -- [2] }, [111563] = { "Duskwatch Guard", -- [1] "Court of Stars", -- [2] }, [173448] = { "Dragost", -- [1] "Castle Nathria", -- [2] }, [158092] = { "Fallen Heartpiercer", -- [1] "Horrific Vision of Stormwind", -- [2] }, [17726] = { "Wrathfin Myrmidon", -- [1] "Coilfang: The Underbog", -- [2] }, [8897] = { "Doomforge Craftsman", -- [1] "Blackrock Depths", -- [2] }, [71770] = { "Kor'kron Ironblade", -- [1] "Siege of Orgrimmar", -- [2] }, [80211] = { "Frostspinner Widow", -- [1] "FW Horde Garrison Level 1", -- [2] }, [176520] = { "Ocular Commander", -- [1] "Sanctum of Domination", -- [2] }, [9025] = { "Lord Roccor", -- [1] "Blackrock Depths", -- [2] }, [72408] = { "Anti-Air Turret", -- [1] "Siege of Orgrimmar", -- [2] }, [84767] = { "Twisted Abomination", -- [1] "The Everbloom", -- [2] }, [112733] = { "Venomhide Shadowspinner", -- [1] "Assault on Violet Hold", -- [2] }, [179080] = { "Empowered Mawsworn Cremator", -- [1] "Torghast, Tower of the Damned", -- [2] }, [159416] = { "Spiked Tentacle", -- [1] "Ny'alotha, the Waking City", -- [2] }, [168843] = { "Klotos", -- [1] "Spires of Ascension", -- [2] }, [176521] = { "Stygian Abductor", -- [1] "Sanctum of Domination", -- [2] }, [136083] = { "Forgotten Denizen", -- [1] "Shrine of the Storm", -- [2] }, [165260] = { "Oozing Leftovers", -- [1] "Theater of Pain", -- [2] }, [152939] = { "Boundless Corruption", -- [1] "Horrific Vision of Stormwind", -- [2] }, [156212] = { "Coldheart Agent", -- [1] "Torghast, Tower of the Damned", -- [2] }, [183688] = { "Stasis Trap", -- [1] "Sepulcher of the First Ones", -- [2] }, [71385] = { "Sri'thik Bombardier", -- [1] "Siege of Orgrimmar", -- [2] }, [81283] = { "Grom'kar Footsoldier", -- [1] "Iron Docks", -- [2] }, [129227] = { "Azerokk", -- [1] "The MOTHERLODE!!", -- [2] }, [113103] = { "Corrupted Swoop", -- [1] "The Emerald Nightmare", -- [2] }, [101074] = { "Hatespawn Whelpling", -- [1] "Darkheart Thicket", -- [2] }, [157583] = { "Forge Keeper", -- [1] "Torghast, Tower of the Damned", -- [2] }, [134418] = { "Drowned Depthbringer", -- [1] "Shrine of the Storm", -- [2] }, [169696] = { "Mire Soldier", -- [1] "Plaguefall", -- [2] }, [72492] = { "Shimra", -- [1] "Siege of Orgrimmar", -- [2] }, [28835] = { "Stormforged Construct", -- [1] "Halls of Lightning", -- [2] }, [176523] = { "Painsmith Raznal", -- [1] "Sanctum of Domination", -- [2] }, [168845] = { "Astronos", -- [1] "Spires of Ascension", -- [2] }, [8896] = { "Shadowforge Peasant", -- [1] "Blackrock Depths", -- [2] }, [157584] = { "Flameforge Master", -- [1] "Torghast, Tower of the Damned", -- [2] }, [91349] = { "Mannoroth", -- [1] "Hellfire Citadel", -- [2] }, [131436] = { "Chosen Blood Matron", -- [1] "The Underrot", -- [2] }, [173641] = { "Nathrian Gargon", -- [1] "Castle Nathria", -- [2] }, [159632] = { "Cultist Shadowblade", -- [1] "Horrific Vision of Stormwind", -- [2] }, [173142] = { "Dread Feaster", -- [1] "Castle Nathria", -- [2] }, [159514] = { "Blood of Ny'alotha", -- [1] "Ny'alotha, the Waking City", -- [2] }, [101075] = { "Wormspeaker Devout", -- [1] "Neltharion's Lair", -- [2] }, [173190] = { "Court Hawkeye", -- [1] "Castle Nathria", -- [2] }, [164362] = { "Slimy Morsel", -- [1] "Plaguefall", -- [2] }, [180426] = { "Feeding Horror", -- [1] "Sanctum of Domination", -- [2] }, [163520] = { "Forsworn Squad-Leader", -- [1] "Spires of Ascension", -- [2] }, [159633] = { "Cultist Executioner", -- [1] "Horrific Vision of Stormwind", -- [2] }, [28732] = { "Anub'ar Warrior", -- [1] "Azjol-Nerub", -- [2] }, [130488] = { "Mech Jockey", -- [1] "The MOTHERLODE!!", -- [2] }, [70246] = { "Spirit Flayer", -- [1] "Throne of Thunder", -- [2] }, [28924] = { "Anub'ar Champion", -- [1] "Azjol-Nerub", -- [2] }, [165414] = { "Depraved Obliterator", -- [1] "Halls of Atonement", -- [2] }, [133663] = { "Fanatical Headhunter", -- [1] "The Underrot", -- [2] }, [168960] = { "Fulfir the Scarred", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [167607] = { "Stoneborn Slasher", -- [1] "Halls of Atonement", -- [2] }, [17990] = { "Underbog Mushroom", -- [1] "Coilfang: The Underbog", -- [2] }, [29308] = { "Prince Taldaram", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [72411] = { "Kor'kron Provisioner", -- [1] "Siege of Orgrimmar", -- [2] }, [125828] = { "Ronjead", -- [1] "Atal'Dazar", -- [2] }, [168579] = { "Fen Hatchling", -- [1] "Plaguefall", -- [2] }, [134041] = { "Infected Peasant", -- [1] "Waycrest Manor", -- [2] }, [162763] = { "Soulforged Bonereaver", -- [1] "Theater of Pain", -- [2] }, [25597] = { "Oblivion Mage", -- [1] "The Sunwell", -- [2] }, [168337] = { "Moldovaak", -- [1] "Castle Nathria", -- [2] }, [17734] = { "Underbog Lord", -- [1] "Coilfang: The Underbog", -- [2] }, [171520] = { "Blighted Creeper", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [17727] = { "Wrathfin Sentry", -- [1] "Coilfang: The Underbog", -- [2] }, [170385] = { "Writhing Misery", -- [1] "Torghast, Tower of the Damned", -- [2] }, [151773] = { "Junkyard D.0.G.", -- [1] "Operation: Mechagon", -- [2] }, [71388] = { "Amber-Encased Kunchong", -- [1] "Siege of Orgrimmar", -- [2] }, [116689] = { "Atrigan", -- [1] "Tomb of Sargeras", -- [2] }, [77905] = { "Felborne Abyssal", -- [1] "Auchindoun", -- [2] }, [113106] = { "Sickly Cougar", -- [1] "The Emerald Nightmare", -- [2] }, [72412] = { "Kor'kron Grunt", -- [1] "Siege of Orgrimmar", -- [2] }, [92523] = { "Vazeel'fazag", -- [1] "Hellfire Citadel", -- [2] }, [168968] = { "Plaguebound Fallen", -- [1] "Plaguefall", -- [2] }, [168949] = { "Risen Bonesoldier", -- [1] "De Other Side", -- [2] }, [164861] = { "Spriggan Barkbinder", -- [1] "De Other Side", -- [2] }, [18431] = { "Ethereal Beacon", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [26685] = { "Massive Jormungar", -- [1] "Utgarde Pinnacle", -- [2] }, [83616] = { "Zoggosh", -- [1] "Iron Docks", -- [2] }, [161173] = { "Abyssal Watcher", -- [1] "Ny'alotha, the Waking City", -- [2] }, [169875] = { "Shackled Soul", -- [1] "Theater of Pain", -- [2] }, [99868] = { "Fenryr", -- [1] "Halls of Valor", -- [2] }, [100539] = { "Taintheart Deadeye", -- [1] "Darkheart Thicket", -- [2] }, [76116] = { "Diving Chakram Spinner", -- [1] "Skyreach", -- [2] }, [175123] = { "Warden Arkoban", -- [1] "Torghast, Tower of the Damned", -- [2] }, [129231] = { "Rixxa Fluxflame", -- [1] "The MOTHERLODE!!", -- [2] }, [163690] = { "Shath'Yar Scribe", -- [1] "Ny'alotha, the Waking City", -- [2] }, [17879] = { "Chrono Lord Deja", -- [1] "Opening of the Dark Portal", -- [2] }, [16700] = { "Shattered Hand Legionnaire", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [134144] = { "Living Current", -- [1] "Shrine of the Storm", -- [2] }, [175652] = { "Lord of Woe", -- [1] "Torghast, Tower of the Damned", -- [2] }, [174843] = { "Stoneborn Maitre D'", -- [1] "Castle Nathria", -- [2] }, [126928] = { "Irontide Corsair", -- [1] "Freehold", -- [2] }, [73949] = { "Commander Na'kaz", -- [1] "Siege of Orgrimmar", -- [2] }, [169265] = { "Creepy Crawler", -- [1] "Plaguefall", -- [2] }, [17940] = { "Coilfang Technician", -- [1] "Coilfang: The Slave Pens", -- [2] }, [136214] = { "Windspeaker Heldis", -- [1] "Shrine of the Storm", -- [2] }, [81297] = { "Dreadfang", -- [1] "Iron Docks", -- [2] }, [90409] = { "Gorebound Felcaster", -- [1] "Hellfire Citadel", -- [2] }, [104918] = { "Vigilant Duskwatch", -- [1] "Court of Stars", -- [2] }, [116691] = { "Belac", -- [1] "Tomb of Sargeras", -- [2] }, [129232] = { "Mogul Razdunk", -- [1] "The MOTHERLODE!!", -- [2] }, [76253] = { "Dread Raven Hatchling", -- [1] "Skyreach", -- [2] }, [76087] = { "Defense Construct", -- [1] "Skyreach", -- [2] }, [173973] = { "Nathrian Tracker", -- [1] "Castle Nathria", -- [2] }, [176531] = { "Deathseeker Eye", -- [1] "Sanctum of Domination", -- [2] }, [163077] = { "Azules", -- [1] "Spires of Ascension", -- [2] }, [93913] = { "Fel Scorcher", -- [1] "Hellfire Citadel", -- [2] }, [161335] = { "Void Horror", -- [1] "Ny'alotha, the Waking City", -- [2] }, [28733] = { "Anub'ar Shadowcaster", -- [1] "Azjol-Nerub", -- [2] }, [16704] = { "Shattered Hand Sharpshooter", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [152987] = { "Faceless Willbreaker", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [157594] = { "Lesser Void Elemental", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [154011] = { "Armed Prisoner", -- [1] "Torghast, Tower of the Damned", -- [2] }, [131669] = { "Jagged Hound", -- [1] "Waycrest Manor", -- [2] }, [29117] = { "Anub'ar Champion", -- [1] "Azjol-Nerub", -- [2] }, [144286] = { "Asset Manager", -- [1] "The MOTHERLODE!!", -- [2] }, [152988] = { "Faceless Shadowcaller", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [29309] = { "Elder Nadox", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [157083] = { "Stonewing Ravager", -- [1] "Torghast, Tower of the Damned", -- [2] }, [24722] = { "Fel Crystal", -- [1] "Magisters' Terrace", -- [2] }, [72927] = { "Kovok", -- [1] "Siege of Orgrimmar", -- [2] }, [154524] = { "K'thir Mindcarver", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [93615] = { "Felborne Overfiend", -- [1] "Hellfire Citadel", -- [2] }, [98521] = { "Lord Etheldrin Ravencrest", -- [1] "Black Rook Hold", -- [2] }, [176535] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [8898] = { "Anvilrage Marshal", -- [1] "Blackrock Depths", -- [2] }, [173464] = { "Deplina", -- [1] "Castle Nathria", -- [2] }, [178071] = { "Maw Assassin", -- [1] "Sanctum of Domination", -- [2] }, [17728] = { "Murkblood Tribesman", -- [1] "Coilfang: The Underbog", -- [2] }, [162715] = { "Fanatical Cultist", -- [1] "Ny'alotha, the Waking City", -- [2] }, [71392] = { "Shadow Ritualist Phylactery", -- [1] "Siege of Orgrimmar", -- [2] }, [72498] = { "Theramore Citizen", -- [1] "Siege of Orgrimmar", -- [2] }, [178072] = { "Anduin Wrynn", -- [1] "Sanctum of Domination", -- [2] }, [73184] = { "Starved Yeti", -- [1] "Siege of Orgrimmar", -- [2] }, [165275] = { "Fallen Legionnaire", -- [1] "Bastion Scenario", -- [2] }, [84957] = { "Putrid Pyromancer", -- [1] "The Everbloom", -- [2] }, [166299] = { "Mistveil Tender", -- [1] "Mists of Tirna Scithe", -- [2] }, [162716] = { "Spellbound Ritualist", -- [1] "Ny'alotha, the Waking City", -- [2] }, [169924] = { "Veteran Stoneguard", -- [1] "Castle Nathria", -- [2] }, [165276] = { "Forsworn Javelineer", -- [1] "Bastion Scenario", -- [2] }, [176537] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [120789] = { "Lieutenant Silvermight", -- [1] "Tomb of Sargeras", -- [2] }, [173466] = { "Fara", -- [1] "Castle Nathria", -- [2] }, [72929] = { "Sra'thik Amber-Master", -- [1] "Siege of Orgrimmar", -- [2] }, [154015] = { "Escaped Ritualist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [162717] = { "Sinister Soulcarver", -- [1] "Ny'alotha, the Waking City", -- [2] }, [71393] = { "Mogu Shadow Ritualist", -- [1] "Siege of Orgrimmar", -- [2] }, [176026] = { "Dancing Fools", -- [1] "Castle Nathria", -- [2] }, [176538] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [156575] = { "Dark Inquisitor Xanesh", -- [1] "Ny'alotha, the Waking City", -- [2] }, [92144] = { "Dia Darkwhisper", -- [1] "Hellfire Citadel", -- [2] }, [182169] = { "Lihuvim", -- [1] "Sepulcher of the First Ones", -- [2] }, [154016] = { "Prisonbreak Soulmender", -- [1] "Torghast, Tower of the Damned", -- [2] }, [162718] = { "Iron-Willed Enforcer", -- [1] "Ny'alotha, the Waking City", -- [2] }, [136541] = { "Bile Oozeling", -- [1] "Waycrest Manor", -- [2] }, [154567] = { "Purity's Cleansing", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [176539] = { "Infused Goliath", -- [1] "Sanctum of Domination", -- [2] }, [178625] = { "Mawsworn Archer", -- [1] "Sanctum of Domination", -- [2] }, [75976] = { "Low-Born Arakkoa", -- [1] "Skyreach", -- [2] }, [131492] = { "Devout Blood Priest", -- [1] "The Underrot", -- [2] }, [166302] = { "Corpse Harvester", -- [1] "The Necrotic Wake", -- [2] }, [162719] = { "Void Ascendant", -- [1] "Ny'alotha, the Waking City", -- [2] }, [164804] = { "Droman Oulfarran", -- [1] "Mists of Tirna Scithe", -- [2] }, [26691] = { "Ymirjar Witch Doctor", -- [1] "Utgarde Pinnacle", -- [2] }, [164255] = { "Globgrog", -- [1] "Plaguefall", -- [2] }, [156577] = { "Therum Deepforge", -- [1] "Horrific Vision of Stormwind", -- [2] }, [173469] = { "Kullan", -- [1] "Castle Nathria", -- [2] }, [151331] = { "Cellblock Sentinel", -- [1] "Torghast, Tower of the Damned", -- [2] }, [154018] = { "Prisonbreak Mauler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [171422] = { "Arch-Suppressor Laguas", -- [1] "Torghast, Tower of the Damned", -- [2] }, [183707] = { "Xy Spellslinger", -- [1] "Sepulcher of the First Ones", -- [2] }, [18309] = { "Ethereal Scavenger", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [160161] = { "Fog Dweller", -- [1] "Torghast, Tower of the Damned", -- [2] }, [144293] = { "Waste Processing Unit", -- [1] "Operation: Mechagon", -- [2] }, [152995] = { "Warden of Souls", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157602] = { "Drest'agath", -- [1] "Ny'alotha, the Waking City", -- [2] }, [166304] = { "Mistveil Stinger", -- [1] "Mists of Tirna Scithe", -- [2] }, [134056] = { "Aqu'sirr", -- [1] "Shrine of the Storm", -- [2] }, [29118] = { "Anub'ar Crypt Fiend", -- [1] "Azjol-Nerub", -- [2] }, [165279] = { "Avowed Soulbinder", -- [1] "Bastion Scenario", -- [2] }, [29310] = { "Jedoga Shadowseeker", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [144294] = { "Mechagon Tinkerer", -- [1] "Operation: Mechagon", -- [2] }, [177600] = { "Mawsworn Realmbreaker", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [157603] = { "Void Globule", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [154020] = { "Prisonbreak Cursewalker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [174336] = { "Kennel Overseer", -- [1] "Castle Nathria", -- [2] }, [178079] = { "The Jailer", -- [1] "Sanctum of Domination", -- [2] }, [25599] = { "Cataclysm Hound", -- [1] "The Sunwell", -- [2] }, [184733] = { "Dominated Grunt", -- [1] "Sepulcher of the First Ones", -- [2] }, [144295] = { "Mechagon Mechanic", -- [1] "Operation: Mechagon", -- [2] }, [59764] = { "Healing Tide Totem", -- [1] "Sanctum of Domination", -- [2] }, [91103] = { "Felfire Demolisher", -- [1] "Hellfire Citadel", -- [2] }, [17729] = { "Murkblood Spearman", -- [1] "Coilfang: The Underbog", -- [2] }, [134058] = { "Galecaller Faye", -- [1] "Shrine of the Storm", -- [2] }, [28926] = { "Spark of Ionar", -- [1] "Halls of Lightning", -- [2] }, [76259] = { "Felguard", -- [1] "Auchindoun", -- [2] }, [184734] = { "Sacred Matrix Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [144296] = { "Spider Tank", -- [1] "Operation: Mechagon", -- [2] }, [71156] = { "Kaz'tik the Manipulator", -- [1] "Siege of Orgrimmar", -- [2] }, [157605] = { "Burrowing Appendage", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [93625] = { "Phantasmal Resonance", -- [1] "Hellfire Citadel", -- [2] }, [73188] = { "Captive Cave Bat", -- [1] "Siege of Orgrimmar", -- [2] }, [17669] = { "Rabid Warhound", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [184735] = { "Degeneration Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [26687] = { "Gortok Palehoof", -- [1] "Utgarde Pinnacle", -- [2] }, [155951] = { "Ruffer", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [157094] = { "Imperial Curator", -- [1] "Torghast, Tower of the Damned", -- [2] }, [17477] = { "Hellfire Imp", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [157253] = { "Ka'zir", -- [1] "Ny'alotha, the Waking City", -- [2] }, [134060] = { "Lord Stormsong", -- [1] "Shrine of the Storm", -- [2] }, [71397] = { "Zar'thik Amber Priest", -- [1] "Siege of Orgrimmar", -- [2] }, [131667] = { "Soulbound Goliath", -- [1] "Waycrest Manor", -- [2] }, [164261] = { "Hungering Destroyer", -- [1] "Castle Nathria", -- [2] }, [144298] = { "Defense Bot Mk III", -- [1] "Operation: Mechagon", -- [2] }, [72421] = { "Kor'kron Overseer", -- [1] "Siege of Orgrimmar", -- [2] }, [157607] = { "Faceless Shadowcaller", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [28734] = { "Anub'ar Skirmisher", -- [1] "Azjol-Nerub", -- [2] }, [77042] = { "Sargerei Defender", -- [1] "Auchindoun", -- [2] }, [97084] = { "King Tor", -- [1] "Halls of Valor", -- [2] }, [136006] = { "Rowdy Reveler", -- [1] "The MOTHERLODE!!", -- [2] }, [184737] = { "Acquisitions Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [144299] = { "Workshop Defender", -- [1] "Operation: Mechagon", -- [2] }, [169893] = { "Nefarious Darkspeaker", -- [1] "Theater of Pain", -- [2] }, [157608] = { "Faceless Willbreaker", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [176574] = { "Mawsworn Soulkeeper", -- [1] "Torghast, Tower of the Damned", -- [2] }, [183202] = { "Mawsworn Warden", -- [1] "Path of the Primus", -- [2] }, [71398] = { "Zar'thik Swarmer", -- [1] "Siege of Orgrimmar", -- [2] }, [184738] = { "Guardian Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [96480] = { "Viletongue Belcher", -- [1] "Vault of the Wardens", -- [2] }, [144300] = { "Mechagon Citizen", -- [1] "Operation: Mechagon", -- [2] }, [175550] = { "Volatile Faerie", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [157609] = { "K'thir Mindcarver", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [71155] = { "Korven the Prime", -- [1] "Siege of Orgrimmar", -- [2] }, [134063] = { "Brother Ironhull", -- [1] "Shrine of the Storm", -- [2] }, [76260] = { "Cackling Pyromaniac", -- [1] "Auchindoun", -- [2] }, [165824] = { "Nar'zudah", -- [1] "The Necrotic Wake", -- [2] }, [160169] = { "Honored Duelist", -- [1] "Revendreth Scenario", -- [2] }, [144301] = { "Living Waste", -- [1] "Operation: Mechagon", -- [2] }, [153003] = { "Soul Fragment", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157610] = { "K'thir Dominator", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [161217] = { "Aqir Skitterer", -- [1] "Ny'alotha, the Waking City", -- [2] }, [20865] = { "Protean Horror", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [171431] = { "Suppressor Vellon", -- [1] "Torghast, Tower of the Damned", -- [2] }, [113113] = { "Essence of Nightmare", -- [1] "The Emerald Nightmare", -- [2] }, [26686] = { "Ferocious Rhino", -- [1] "Utgarde Pinnacle", -- [2] }, [29311] = { "Herald Volazj", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [157099] = { "Imperial Censor", -- [1] "Torghast, Tower of the Damned", -- [2] }, [93154] = { "Gorebound Crone", -- [1] "Hellfire Citadel", -- [2] }, [130521] = { "Freehold Deckhand", -- [1] "Freehold", -- [2] }, [73191] = { "Aqueous Defender", -- [1] "Siege of Orgrimmar", -- [2] }, [171432] = { "Suppressor Hersi", -- [1] "Torghast, Tower of the Damned", -- [2] }, [89012] = { "Ravenous Wolf", -- [1] "Iron Docks", -- [2] }, [168361] = { "Fen Hornet", -- [1] "Plaguefall", -- [2] }, [144303] = { "G.U.A.R.D.", -- [1] "Operation: Mechagon", -- [2] }, [164406] = { "Shriekwing", -- [1] "Castle Nathria", -- [2] }, [157612] = { "Eye of Drest'agath", -- [1] "Ny'alotha, the Waking City", -- [2] }, [17730] = { "Murkblood Healer", -- [1] "Coilfang: The Underbog", -- [2] }, [8899] = { "Doomforge Dragoon", -- [1] "Blackrock Depths", -- [2] }, [150958] = { "Mawsworn Guard", -- [1] "Torghast, Tower of the Damned", -- [2] }, [29119] = { "Anub'ar Necromancer", -- [1] "Azjol-Nerub", -- [2] }, [92387] = { "Drums of War", -- [1] "Neltharion's Lair", -- [2] }, [76263] = { "Sargerei Magus", -- [1] "Auchindoun", -- [2] }, [150959] = { "Mawsworn Interceptor", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157613] = { "Maw of Drest'agath", -- [1] "Ny'alotha, the Waking City", -- [2] }, [154030] = { "Oddly Large Mawrat", -- [1] "Torghast, Tower of the Damned", -- [2] }, [130522] = { "Freehold Shipmate", -- [1] "Freehold", -- [2] }, [81638] = { "Aqueous Globule", -- [1] "The Everbloom", -- [2] }, [156980] = { "Essence of Void", -- [1] "Ny'alotha, the Waking City", -- [2] }, [157102] = { "Imperial Consular", -- [1] "Torghast, Tower of the Damned", -- [2] }, [176572] = { "Mawsworn Accursed", -- [1] "Torghast, Tower of the Damned", -- [2] }, [94947] = { "Fel-Starved Trainee", -- [1] "Hellfire Citadel", -- [2] }, [157614] = { "Tentacle of Drest'agath", -- [1] "Ny'alotha, the Waking City", -- [2] }, [178601] = { "Kevin's Oozeling", -- [1] "Sepulcher of the First Ones", -- [2] }, [183206] = { "Winged Soul Eater", -- [1] "Path of the Primus", -- [2] }, [164266] = { "Domina Venomblade", -- [1] "Plaguefall", -- [2] }, [171433] = { "Suppressor Cer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [152594] = { "Broker Ve'ken", -- [1] "Torghast, Tower of the Damned", -- [2] }, [165805] = { "Shade of Kael'thas", -- [1] "Castle Nathria", -- [2] }, [161198] = { "Warpweaver Dushar", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [130011] = { "Irontide Buccaneer", -- [1] "Freehold", -- [2] }, [36907] = { "Wrathbone Siegesmith", -- [1] "Pit of Saron", -- [2] }, [134069] = { "Vol'zith the Whisperer", -- [1] "Shrine of the Storm", -- [2] }, [183209] = { "Soulseeker", -- [1] "Path of the Primus", -- [2] }, [98275] = { "Risen Archer", -- [1] "Black Rook Hold", -- [2] }, [168365] = { "Fungret Shroomtender", -- [1] "Plaguefall", -- [2] }, [164267] = { "Margrave Stradama", -- [1] "Plaguefall", -- [2] }, [173484] = { "Conjured Manifestation", -- [1] "Castle Nathria", -- [2] }, [28923] = { "Loken", -- [1] "Halls of Lightning", -- [2] }, [155953] = { "C'Thuffer", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [71160] = { "Iyyokuk the Lucid", -- [1] "Siege of Orgrimmar", -- [2] }, [72945] = { "Dragonmaw Bonecrusher", -- [1] "Siege of Orgrimmar", -- [2] }, [149441] = { "Frozen Ballista", -- [1] "Battle of Dazar'alor", -- [2] }, [20864] = { "Protean Nightmare", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [168878] = { "Rigged Plagueborer", -- [1] "Plaguefall", -- [2] }, [93156] = { "Eredar Faithbreaker", -- [1] "Hellfire Citadel", -- [2] }, [130012] = { "Irontide Ravager", -- [1] "Freehold", -- [2] }, [170414] = { "Howling Spectre", -- [1] "Torghast, Tower of the Damned", -- [2] }, [73194] = { "Kor'kron Iron Scorpion", -- [1] "Siege of Orgrimmar", -- [2] }, [180665] = { "Gibbering Soul", -- [1] "Sanctum of Domination", -- [2] }, [164517] = { "Tred'ova", -- [1] "Mists of Tirna Scithe", -- [2] }, [28736] = { "Skittering Infector", -- [1] "Azjol-Nerub", -- [2] }, [94693] = { "Siegeworks Technician", -- [1] "Hellfire Citadel", -- [2] }, [151333] = { "Sentinel Shard", -- [1] "Torghast, Tower of the Damned", -- [2] }, [20866] = { "Soul Devourer", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [76266] = { "High Sage Viryx", -- [1] "Skyreach", -- [2] }, [170927] = { "Erupting Ooze", -- [1] "Plaguefall", -- [2] }, [29120] = { "Anub'arak", -- [1] "Azjol-Nerub", -- [2] }, [151476] = { "Blastatron X-80", -- [1] "Operation: Mechagon", -- [2] }, [152500] = { "Deadsoul Amalgam", -- [1] "Torghast, Tower of the Damned", -- [2] }, [100836] = { "Herald Xarbizuld", -- [1] "Niskara", -- [2] }, [72427] = { "Orgrimmar Peon", -- [1] "Siege of Orgrimmar", -- [2] }, [76778] = { "Life-Pact Familiar", -- [1] "Skyreach", -- [2] }, [105699] = { "Mana Saber", -- [1] "Court of Stars", -- [2] }, [73195] = { "Kor'kron Jailer", -- [1] "Siege of Orgrimmar", -- [2] }, [150965] = { "Mawsworn Shackler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [122847] = { "Umbral Priestess", -- [1] "Tomb of Sargeras", -- [2] }, [98533] = { "Foul Mother", -- [1] "Vault of the Wardens", -- [2] }, [189878] = { "Nathrezim Infiltrator", -- [1] "Iron Docks", -- [2] }, [74475] = { "Magmolatus", -- [1] "Bloodmaul Slag Mines", -- [2] }, [157620] = { "Prophet Skitra", -- [1] "Ny'alotha, the Waking City", -- [2] }, [170417] = { "Animated Stygia", -- [1] "Torghast, Tower of the Damned", -- [2] }, [185271] = { "Stellar Mote", -- [1] "Sepulcher of the First Ones", -- [2] }, [26690] = { "Ymirjar Warrior", -- [1] "Utgarde Pinnacle", -- [2] }, [129758] = { "Irontide Grenadier", -- [1] "Freehold", -- [2] }, [92391] = { "Gorebound Bloodletter", -- [1] "Hellfire Citadel", -- [2] }, [168882] = { "Fleeting Manifestation", -- [1] "Sanguine Depths", -- [2] }, [157109] = { "Vampire Bat", -- [1] "Torghast, Tower of the Damned", -- [2] }, [153526] = { "Aqir Swarmer", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [36478] = { "Soulguard Watchman", -- [1] "The Forge of Souls", -- [2] }, [163260] = { "Vicious Ghoul", -- [1] "Redridge - 9xp Bastion", -- [2] }, [73452] = { "Harbinger of Y'Shaarj", -- [1] "Siege of Orgrimmar", -- [2] }, [81820] = { "Everbloom Mender", -- [1] "The Everbloom", -- [2] }, [160181] = { "Royal Arcanist", -- [1] "Revendreth Scenario", -- [2] }, [91305] = { "Fel Iron Summoner", -- [1] "Hellfire Citadel", -- [2] }, [111331] = { "Lurking Horror", -- [1] "The Emerald Nightmare", -- [2] }, [153527] = { "Aqir Swarmleader", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [170419] = { "Lost Dredger", -- [1] "Torghast, Tower of the Damned", -- [2] }, [31104] = { "Ahn'kahar Watcher", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [71405] = { "Set'thik Wind Wielder", -- [1] "Siege of Orgrimmar", -- [2] }, [177162] = { "Mawsworn Interrogator", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [160182] = { "Void Initiate", -- [1] "Ny'alotha, the Waking City", -- [2] }, [153022] = { "Snang", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [17731] = { "Fen Ray", -- [1] "Coilfang: The Underbog", -- [2] }, [80875] = { "Bombsquad", -- [1] "Iron Docks", -- [2] }, [72941] = { "Dragonmaw Grunt", -- [1] "Siege of Orgrimmar", -- [2] }, [73197] = { "Lesser Sha Puddle", -- [1] "Siege of Orgrimmar", -- [2] }, [36476] = { "Ick", -- [1] "Pit of Saron", -- [2] }, [18177] = { "Tainted Stoneskin Totem", -- [1] "Coilfang: The Slave Pens", -- [2] }, [160183] = { "Void Fanatic", -- [1] "Ny'alotha, the Waking City", -- [2] }, [23682] = { "Headless Horseman", -- [1] "Scarlet Monastery", -- [2] }, [178862] = { "Screamspike", -- [1] "Sanctum of Domination", -- [2] }, [71152] = { "Skeer the Bloodseeker", -- [1] "Siege of Orgrimmar", -- [2] }, [158136] = { "Inquisitor Darkspeak", -- [1] "Horrific Vision of Stormwind", -- [2] }, [19843] = { "Nethervine Trickster", -- [1] "Tempest Keep: The Botanica", -- [2] }, [17732] = { "Lykul Wasp", -- [1] "Coilfang: The Underbog", -- [2] }, [79852] = { "Oshir", -- [1] "Iron Docks", -- [2] }, [156089] = { "Aqir Venomweaver", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [172981] = { "Kyrian Stitchwerk", -- [1] "The Necrotic Wake", -- [2] }, [177588] = { "Lordaeron Footman", -- [1] "Stratholme - Paladin Class Mount", -- [2] }, [162744] = { "Nekthara the Mangler", -- [1] "Theater of Pain", -- [2] }, [72942] = { "Dragonmaw Flagbearer", -- [1] "Siege of Orgrimmar", -- [2] }, [179124] = { "Shade of Destiny", -- [1] "Sanctum of Domination", -- [2] }, [76097] = { "Solar Familiar", -- [1] "Skyreach", -- [2] }, [98280] = { "Risen Arcanist", -- [1] "Black Rook Hold", -- [2] }, [72564] = { "Doomlord", -- [1] "Siege of Orgrimmar", -- [2] }, [98792] = { "Wyrmtongue Scavenger", -- [1] "Black Rook Hold", -- [2] }, [111333] = { "Taintheart Trickster", -- [1] "The Emerald Nightmare", -- [2] }, [153531] = { "Aqir Bonecrusher", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [170418] = { "Goxul the Devourer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [20867] = { "Death Watcher", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [94617] = { "Glynevere", -- [1] "Hellfire Citadel", -- [2] }, [185268] = { "Ebonsteel Construct", -- [1] "Sepulcher of the First Ones", -- [2] }, [153532] = { "Aqir Mindhunter", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [152508] = { "Dusky Tremorbeast", -- [1] "Torghast, Tower of the Damned", -- [2] }, [72943] = { "Dragonmaw Proto-Drake", -- [1] "Siege of Orgrimmar", -- [2] }, [169912] = { "Enraged Mask", -- [1] "De Other Side", -- [2] }, [105703] = { "Mana Wyrm", -- [1] "Court of Stars", -- [2] }, [93162] = { "Umbral Supplicant", -- [1] "Hellfire Citadel", -- [2] }, [171448] = { "Dreadful Huntmaster", -- [1] "Sanguine Depths", -- [2] }, [122851] = { "Umbral Archer", -- [1] "Tomb of Sargeras", -- [2] }, [168886] = { "Virulax Blightweaver", -- [1] "Plaguefall", -- [2] }, [94697] = { "Siegeworks Technician", -- [1] "Hellfire Citadel", -- [2] }, [122850] = { "Umbral Guard", -- [1] "Tomb of Sargeras", -- [2] }, [153885] = { "Deadsoul Shambler", -- [1] "Torghast, Tower of the Damned", -- [2] }, [158140] = { "Frenzied Rat", -- [1] "Horrific Vision of Stormwind", -- [2] }, [8900] = { "Doomforge Arcanasmith", -- [1] "Blackrock Depths", -- [2] }, [71408] = { "Kun-Da", -- [1] "Siege of Orgrimmar", -- [2] }, [72131] = { "Blind Blademaster", -- [1] "Siege of Orgrimmar", -- [2] }, [158781] = { "Shredded Psyche", -- [1] "Ny'alotha, the Waking City", -- [2] }, [168107] = { "Empowered Mawsworn Interceptor", -- [1] "Torghast, Tower of the Damned", -- [2] }, [177592] = { "Silver Hand Betrayer", -- [1] "Stratholme - Paladin Class Mount", -- [2] }, [157118] = { "Royal Advisor", -- [1] "Torghast, Tower of the Damned", -- [2] }, [105704] = { "Arcane Manifestation", -- [1] "Court of Stars", -- [2] }, [9156] = { "Ambassador Flamelash", -- [1] "Blackrock Depths", -- [2] }, [93931] = { "Gorebound Felcaster", -- [1] "Hellfire Citadel", -- [2] }, [76267] = { "Solar Zealot", -- [1] "Skyreach", -- [2] }, [180664] = { "Mawsworn Infuser", -- [1] "Sanctum of Domination", -- [2] }, [168891] = { "Rigged Plagueborer", -- [1] "Plaguefall", -- [2] }, [136643] = { "Azerite Extractor", -- [1] "The MOTHERLODE!!", -- [2] }, [169905] = { "Risen Warlord", -- [1] "De Other Side", -- [2] }, [180141] = { "Vil'thras the Dreadbound", -- [1] "Torghast, Tower of the Damned", -- [2] }, [71153] = { "Hisek the Swarmkeeper", -- [1] "Siege of Orgrimmar", -- [2] }, [167955] = { "Sanguine Cadet", -- [1] "Sanguine Depths", -- [2] }, [167615] = { "Depraved Darkblade", -- [1] "Halls of Atonement", -- [2] }, [71921] = { "Darkfang", -- [1] "Siege of Orgrimmar", -- [2] }, [164177] = { "Royal Nightcloak", -- [1] "Revendreth Scenario", -- [2] }, [177594] = { "Mawsworn Agonizer", -- [1] "Sanctum of Domination", -- [2] }, [97259] = { "Blazing Hydra Spawn", -- [1] "Eye of Azshara", -- [2] }, [105705] = { "Bound Energy", -- [1] "Court of Stars", -- [2] }, [75191] = { "Bloodmaul Slaver", -- [1] "Bloodmaul Slag Mines", -- [2] }, [8916] = { "Arena Spectator", -- [1] "Blackrock Depths", -- [2] }, [165408] = { "Halkias", -- [1] "Halls of Atonement", -- [2] }, [176571] = { "Mawsworn Ward", -- [1] "Torghast, Tower of the Damned", -- [2] }, [99192] = { "Shade of Xavius", -- [1] "Darkheart Thicket", -- [2] }, [157238] = { "Prophet Skitra", -- [1] "Ny'alotha, the Waking City", -- [2] }, [174012] = { "Executrix Ophelia", -- [1] "Castle Nathria", -- [2] }, [72947] = { "Kor'kron Demolisher", -- [1] "Siege of Orgrimmar", -- [2] }, [71154] = { "Ka'roz the Locust", -- [1] "Siege of Orgrimmar", -- [2] }, [184742] = { "Dominated Shaper", -- [1] "Sepulcher of the First Ones", -- [2] }, [179133] = { "Lumbering Creation", -- [1] "Torghast, Tower of the Damned", -- [2] }, [131527] = { "Lord Waycrest", -- [1] "Waycrest Manor", -- [2] }, [185274] = { "Astral Particle", -- [1] "Sepulcher of the First Ones", -- [2] }, [72434] = { "Treasury Guard", -- [1] "Siege of Orgrimmar", -- [2] }, [97260] = { "Arcane Hydra Spawn", -- [1] "Eye of Azshara", -- [2] }, [157604] = { "Crawling Corruption", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [28546] = { "Ionar", -- [1] "Halls of Lightning", -- [2] }, [162729] = { "Patchwerk Soldier", -- [1] "The Necrotic Wake", -- [2] }, [156237] = { "Imperator Dara", -- [1] "Torghast, Tower of the Damned", -- [2] }, [176573] = { "Mawsworn Woebringer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [72490] = { "Overseer Mojka", -- [1] "Siege of Orgrimmar", -- [2] }, [157122] = { "Patrician Cromwell", -- [1] "Torghast, Tower of the Damned", -- [2] }, [157634] = { "Flameforge Enforcer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [158146] = { "Fallen Riftwalker", -- [1] "Horrific Vision of Stormwind", -- [2] }, [20868] = { "Entropic Eye", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [171455] = { "Stonewall Gargon", -- [1] "Sanguine Depths", -- [2] }, [92142] = { "Blademaster Jubei'thos", -- [1] "Hellfire Citadel", -- [2] }, [71923] = { "Bloodclaw", -- [1] "Siege of Orgrimmar", -- [2] }, [172991] = { "Drust Soulcleaver", -- [1] "Mists of Tirna Scithe", -- [2] }, [161218] = { "Aqir Crusher", -- [1] "Ny'alotha, the Waking City", -- [2] }, [71157] = { "Xaril the Poisoned Mind", -- [1] "Siege of Orgrimmar", -- [2] }, [85232] = { "Infested Venomfang", -- [1] "The Everbloom", -- [2] }, [26684] = { "Ravenous Furbolg", -- [1] "Utgarde Pinnacle", -- [2] }, [93616] = { "Dreadstalker", -- [1] "Hellfire Citadel", -- [2] }, [152612] = { "Subjugator Klontzas", -- [1] "Torghast, Tower of the Damned", -- [2] }, [176575] = { "Mawsworn Soulwarden", -- [1] "Torghast, Tower of the Damned", -- [2] }, [152517] = { "Deadsoul Lifetaker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [81985] = { "Everbloom Tender", -- [1] "The Everbloom", -- [2] }, [153541] = { "Slavemaster Ul'rok", -- [1] "Horrific Vision of Stormwind", -- [2] }, [178623] = { "Mawsworn Guard", -- [1] "Sanctum of Domination", -- [2] }, [179135] = { "Forge Keeper", -- [1] "Torghast, Tower of the Damned", -- [2] }, [83697] = { "Grom'kar Deckhand", -- [1] "Iron Docks", -- [2] }, [120808] = { "Lylth the Silent", -- [1] "Tomb of Sargeras", -- [2] }, [176576] = { "Mawsworn Pyremancer", -- [1] "Torghast, Tower of the Damned", -- [2] }, [30338] = { "Ahn'kahar Swarmer", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [92911] = { "Hulking Berserker", -- [1] "Hellfire Citadel", -- [2] }, [167493] = { "Venomous Sniper", -- [1] "Plaguefall", -- [2] }, [178624] = { "Mawsworn Sentry", -- [1] "Sanctum of Domination", -- [2] }, [179136] = { "Coldheart Guardian", -- [1] "Torghast, Tower of the Damned", -- [2] }, [71395] = { "Modified Anima Golem", -- [1] "Siege of Orgrimmar", -- [2] }, [99804] = { "Valarjar Falconer", -- [1] "Halls of Valor", -- [2] }, [176577] = { "Mawsworn Cremator", -- [1] "Torghast, Tower of the Damned", -- [2] }, [136139] = { "Mechanized Peacekeeper", -- [1] "The MOTHERLODE!!", -- [2] }, [177601] = { "Mawsworn Invoker", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [73185] = { "Enraged Mushan Beast", -- [1] "Siege of Orgrimmar", -- [2] }, [166340] = { "Fallen Legionnaire", -- [1] "Bastion Scenario", -- [2] }, [138187] = { "Grotesque Horror", -- [1] "The Underrot", -- [2] }, [168718] = { "Forsworn Warden", -- [1] "Spires of Ascension", -- [2] }, [167876] = { "Inquisitor Sigar", -- [1] "Halls of Atonement", -- [2] }, [166301] = { "Mistveil Stalker", -- [1] "Mists of Tirna Scithe", -- [2] }, [157475] = { "Synthesis Growth", -- [1] "Ny'alotha, the Waking City", -- [2] }, [164929] = { "Tirnenn Villager", -- [1] "Mists of Tirna Scithe", -- [2] }, [84978] = { "Bloodmaul Enforcer", -- [1] "Bloodmaul Slag Mines", -- [2] }, [178626] = { "Mawrat", -- [1] "Sanctum of Domination", -- [2] }, [154014] = { "Imprisoned Cabalist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [183745] = { "Acquisitions Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [77812] = { "Sargerei Soulbinder", -- [1] "Auchindoun", -- [2] }, [176579] = { "Keeper Hazaduum", -- [1] "Torghast, Tower of the Damned", -- [2] }, [72662] = { "Vanity", -- [1] "Siege of Orgrimmar", -- [2] }, [94960] = { "Hymdall", -- [1] "Halls of Valor", -- [2] }, [169925] = { "Begrudging Waiter", -- [1] "Castle Nathria", -- [2] }, [111852] = { "Rothos", -- [1] "The Emerald Nightmare", -- [2] }, [71158] = { "Rik'kal the Dissector", -- [1] "Siege of Orgrimmar", -- [2] }, [171461] = { "Blighted Servitor", -- [1] "9.0 Ardenweald Covenant Finale Drust Scenario", -- [2] }, [28925] = { "Anub'ar Necromancer", -- [1] "Azjol-Nerub", -- [2] }, [28579] = { "Hardened Steel Berserker", -- [1] "Halls of Lightning", -- [2] }, [155828] = { "Runecarved Colossus", -- [1] "Torghast, Tower of the Damned", -- [2] }, [92913] = { "Gorebound Berserker", -- [1] "Hellfire Citadel", -- [2] }, [130024] = { "Soggy Shiprat", -- [1] "Freehold", -- [2] }, [178628] = { "Mawsworn Darkcaster", -- [1] "Sanctum of Domination", -- [2] }, [28547] = { "Storming Vortex", -- [1] "Halls of Lightning", -- [2] }, [154128] = { "Blazing Elemental", -- [1] "Torghast, Tower of the Damned", -- [2] }, [133912] = { "Bloodsworn Defiler", -- [1] "The Underrot", -- [2] }, [176581] = { "Spiked Ball", -- [1] "Sanctum of Domination", -- [2] }, [100529] = { "Hatespawn Slime", -- [1] "Darkheart Thicket", -- [2] }, [168109] = { "Empowered Mawsworn Ritualist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [169927] = { "Putrid Butcher", -- [1] "Theater of Pain", -- [2] }, [79093] = { "Skyreach Sun Talon", -- [1] "Skyreach", -- [2] }, [20869] = { "Arcatraz Sentinel", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [83389] = { "Ironwing Flamespitter", -- [1] "Iron Docks", -- [2] }, [92146] = { "Gurtogg Bloodboil", -- [1] "Hellfire Citadel", -- [2] }, [95675] = { "God-King Skovald", -- [1] "Halls of Valor", -- [2] }, [177094] = { "Signe", -- [1] "Sanctum of Domination", -- [2] }, [117484] = { "Jormog the Behemoth", -- [1] "Artifact - Highmountain - Dual Boss", -- [2] }, [152699] = { "Voidbound Berserker", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [178630] = { "Mawsworn Seeker", -- [1] "Sanctum of Domination", -- [2] }, [166225] = { "Beckoned Doubt", -- [1] "Bastion Scenario", -- [2] }, [175559] = { "Kel'Thuzad", -- [1] "Sanctum of Domination", -- [2] }, [17414] = { "Shadowmoon Technician", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [168393] = { "Plaguebelcher", -- [1] "Plaguefall", -- [2] }, [177095] = { "Kyra", -- [1] "Sanctum of Domination", -- [2] }, [144244] = { "The Platinum Pummeler", -- [1] "Operation: Mechagon", -- [2] }, [17670] = { "Shattered Hand Houndmaster", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [178631] = { "Mawsworn Commander", -- [1] "Sanctum of Domination", -- [2] }, [8901] = { "Anvilrage Reservist", -- [1] "Blackrock Depths", -- [2] }, [37728] = { "Wrathbone Sorcerer", -- [1] "Pit of Saron", -- [2] }, [175726] = { "Skyja", -- [1] "Sanctum of Domination", -- [2] }, [168394] = { "Slimy Morsel", -- [1] "Plaguefall", -- [2] }, [163331] = { "Stone Legion Nightblade", -- [1] "Revendreth Scenario", -- [2] }, [163089] = { "Disgusting Refuse", -- [1] "Theater of Pain", -- [2] }, [173189] = { "Nathrian Hawkeye", -- [1] "Castle Nathria", -- [2] }, [158157] = { "Overlord Mathias Shaw", -- [1] "Horrific Vision of Stormwind", -- [2] }, [162764] = { "Twisted Appendage", -- [1] "Ny'alotha, the Waking City", -- [2] }, [77559] = { "Solar Magnifier", -- [1] "Skyreach", -- [2] }, [72249] = { "Galakras", -- [1] "Siege of Orgrimmar", -- [2] }, [26692] = { "Ymirjar Harpooner", -- [1] "Utgarde Pinnacle", -- [2] }, [168907] = { "Slime Tentacle", -- [1] "Plaguefall", -- [2] }, [161229] = { "Aqir Venomweaver", -- [1] "Ny'alotha, the Waking City", -- [2] }, [76102] = { "Air Familiar", -- [1] "Skyreach", -- [2] }, [158158] = { "Forge-Guard Hurrul", -- [1] "Horrific Vision of Stormwind", -- [2] }, [71161] = { "Kil'ruk the Wind-Reaver", -- [1] "Siege of Orgrimmar", -- [2] }, [134612] = { "Grasping Tentacles", -- [1] "Shrine of the Storm", -- [2] }, [129548] = { "Blacktooth Brute", -- [1] "Freehold", -- [2] }, [168396] = { "Plaguebelcher", -- [1] "Plaguefall", -- [2] }, [117230] = { "Tugar Bloodtotem", -- [1] "Artifact - Highmountain - Dual Boss", -- [2] }, [95642] = { "Korvos", -- [1] "Hellfire Citadel", -- [2] }, [153552] = { "Weeping Wraith", -- [1] "Torghast, Tower of the Damned", -- [2] }, [168844] = { "Lakesis", -- [1] "Spires of Ascension", -- [2] }, [83026] = { "Siegemaster Olugar", -- [1] "Iron Docks", -- [2] }, [98035] = { "Dreadstalker", -- [1] "Sepulcher of the First Ones", -- [2] }, [162319] = { "Paladin", -- [1] "Vision of Ysera Scenario", -- [2] }, [172938] = { "Coalesced Anima", -- [1] "9.0 Bastion Arena - Path of Ascension", -- [2] }, [20859] = { "Arcatraz Warder", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [155250] = { "Decayspeaker", -- [1] "Torghast, Tower of the Damned", -- [2] }, [96574] = { "Stormforged Sentinel", -- [1] "Halls of Valor", -- [2] }, [111856] = { "Guardian Gorroc", -- [1] "The Emerald Nightmare", -- [2] }, [20912] = { "Harbinger Skyriss", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [73904] = { "Kor'kron Iron Sentinel", -- [1] "Siege of Orgrimmar", -- [2] }, [172128] = { "Hero", -- [1] "Vision of Ysera Scenario", -- [2] }, [168398] = { "Slimy Morsel", -- [1] "Plaguefall", -- [2] }, [164815] = { "Zolramus Siphoner", -- [1] "The Necrotic Wake", -- [2] }, [155824] = { "Lumbering Creation", -- [1] "Torghast, Tower of the Damned", -- [2] }, [84983] = { "Spore Image", -- [1] "The Everbloom", -- [2] }, [72954] = { "Kor'thik Honor Guard", -- [1] "Siege of Orgrimmar", -- [2] }, [92961] = { "Gorebound Brute", -- [1] "Hellfire Citadel", -- [2] }, [166933] = { "Ventun the Ravenous", -- [1] "Torghast, Tower of the Damned", -- [2] }, [102387] = { "Sael'orn", -- [1] "Assault on Violet Hold", -- [2] }, [170850] = { "Raging Bloodhorn", -- [1] "Theater of Pain", -- [2] }, [132056] = { "Venture Co. Skyscorcher", -- [1] "The MOTHERLODE!!", -- [2] }, [166169] = { "Adonias", -- [1] "Bastion Scenario", -- [2] }, [161745] = { "Hepthys", -- [1] "Ny'alotha, the Waking City", -- [2] }, [172265] = { "Remnant of Fury", -- [1] "Sanguine Depths", -- [2] }, [20870] = { "Zereketh the Unbound", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [30111] = { "Twilight Worshipper", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [86684] = { "Feral Lasher", -- [1] "The Everbloom", -- [2] }, [131545] = { "Lady Waycrest", -- [1] "Waycrest Manor", -- [2] }, [129517] = { "Reanimated Raptor", -- [1] "Atal'Dazar", -- [2] }, [102094] = { "Risen Swordsman", -- [1] "Black Rook Hold", -- [2] }, [84984] = { "Spore Image", -- [1] "The Everbloom", -- [2] }, [105715] = { "Watchful Inquisitor", -- [1] "Court of Stars", -- [2] }, [140038] = { "Abyssal Eel", -- [1] "Shrine of the Storm", -- [2] }, [91541] = { "Shadowfel Warden", -- [1] "Hellfire Citadel", -- [2] }, [126919] = { "Irontide Stormcaller", -- [1] "Freehold", -- [2] }, [118729] = { "Fallen Priestess", -- [1] "Tomb of Sargeras", -- [2] }, [28837] = { "Stormforged Sentinel", -- [1] "Halls of Lightning", -- [2] }, [21702] = { "Ethereum Life-Binder", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [17671] = { "Shattered Hand Champion", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [111858] = { "Guardian Rurson", -- [1] "The Emerald Nightmare", -- [2] }, [126918] = { "Irontide Crackshot", -- [1] "Freehold", -- [2] }, [151815] = { "Deadsoul Echo", -- [1] "Torghast, Tower of the Damned", -- [2] }, [129547] = { "Blacktooth Knuckleduster", -- [1] "Freehold", -- [2] }, [30276] = { "Ahn'kahar Web Winder", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [74356] = { "Captured Miner", -- [1] "Bloodmaul Slag Mines", -- [2] }, [165415] = { "Toiling Groundskeeper", -- [1] "Halls of Atonement", -- [2] }, [84985] = { "Spore Image", -- [1] "The Everbloom", -- [2] }, [90269] = { "Tyrant Velhari", -- [1] "Hellfire Citadel", -- [2] }, [18311] = { "Ethereal Crypt Raider", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [171474] = { "Finger Food", -- [1] "Plaguefall", -- [2] }, [155251] = { "Elder Longbranch", -- [1] "Torghast, Tower of the Damned", -- [2] }, [26693] = { "Skadi the Ruthless", -- [1] "Utgarde Pinnacle", -- [2] }, [131823] = { "Sister Malady", -- [1] "Waycrest Manor", -- [2] }, [82682] = { "Archmage Sol", -- [1] "The Everbloom", -- [2] }, [70236] = { "Zandalari Storm-Caller", -- [1] "Throne of Thunder", -- [2] }, [16807] = { "Grand Warlock Nethekurse", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [95769] = { "Mindshattered Screecher", -- [1] "Darkheart Thicket", -- [2] }, [159190] = { "Synod", -- [1] "Torghast, Tower of the Damned", -- [2] }, [96247] = { "Vileshard Crawler", -- [1] "Neltharion's Lair", -- [2] }, [155812] = { "Mawsworn Ritualist", -- [1] "Torghast, Tower of the Damned", -- [2] }, [172030] = { "Tormenter Overlord", -- [1] "Torghast, Tower of the Damned", -- [2] }, [71480] = { "Sun Tenderheart", -- [1] "Siege of Orgrimmar", -- [2] }, [30418] = { "Bound Air Elemental", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [170452] = { "Essence Orb", -- [1] "Torghast, Tower of the Damned", -- [2] }, [127119] = { "Freehold Deckhand", -- [1] "Freehold", -- [2] }, [9024] = { "Pyromancer Loregrain", -- [1] "Blackrock Depths", -- [2] }, [73725] = { "Xiang-Lin", -- [1] "Siege of Orgrimmar", -- [2] }, [180690] = { "Vazzaren the Seeker", -- [1] "Sanctum of Domination", -- [2] }, [91539] = { "Fel Raven", -- [1] "Hellfire Citadel", -- [2] }, [102302] = { "Portal Keeper", -- [1] "Assault on Violet Hold", -- [2] }, [166266] = { "Spare Parts", -- [1] "The Necrotic Wake", -- [2] }, [111860] = { "Bo'lan the Marked", -- [1] "The Emerald Nightmare", -- [2] }, [183669] = { "Fiendish Soul", -- [1] "Sepulcher of the First Ones", -- [2] }, [131858] = { "Thornguard", -- [1] "Waycrest Manor", -- [2] }, [136330] = { "Soul Thorns", -- [1] "Waycrest Manor", -- [2] }, [166264] = { "Spare Parts", -- [1] "The Necrotic Wake", -- [2] }, [16507] = { "Shattered Hand Sentry", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [157145] = { "Gravitas", -- [1] "Torghast, Tower of the Damned", -- [2] }, [76595] = { "Sargerei Soulpriest", -- [1] "Auchindoun", -- [2] }, [72958] = { "Dragonmaw Tidal Shaman", -- [1] "Siege of Orgrimmar", -- [2] }, [80247] = { "Frostspinner Spiderling", -- [1] "FW Horde Garrison Level 1", -- [2] }, [155098] = { "Rexxar", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [122968] = { "Yazma", -- [1] "Atal'Dazar", -- [2] }, [104274] = { "Baalgar the Watchful", -- [1] "Court of Stars", -- [2] }, [93023] = { "Siegemaster Mar'tak", -- [1] "Hellfire Citadel", -- [2] }, [161241] = { "Voidweaver Mal'thir", -- [1] "Freehold", -- [2] }, [71529] = { "Thok the Bloodthirsty", -- [1] "Siege of Orgrimmar", -- [2] }, [174550] = { "Myskia", -- [1] "Revendreth Scenario", -- [2] }, [94779] = { "Sovokk", -- [1] "Hellfire Citadel", -- [2] }, [73073] = { "Corrupted Boil", -- [1] "Siege of Orgrimmar", -- [2] }, [131864] = { "Gorak Tul", -- [1] "Waycrest Manor", -- [2] }, [176598] = { "Torment Golem", -- [1] "Torghast, Tower of the Damned", -- [2] }, [21127] = { "Coilfang Tempest", -- [1] "Coilfang: The Slave Pens", -- [2] }, [74349] = { "Bloodmaul Magma Binder", -- [1] "Bloodmaul Slag Mines", -- [2] }, [79510] = { "Cackling Pyromaniac", -- [1] "Auchindoun", -- [2] }, [72828] = { "Nameless Windwalker Spirit", -- [1] "Siege of Orgrimmar", -- [2] }, [16809] = { "Warbringer O'mrogg", -- [1] "Hellfire Citadel: The Shattered Halls", -- [2] }, [162133] = { "General Kaal", -- [1] "Sanguine Depths", -- [2] }, [158690] = { "Cultist Tormenter", -- [1] "Horrific Vision of Stormwind", -- [2] }, [94859] = { "Armored Skullsmasher", -- [1] "Hellfire Citadel", -- [2] }, [173016] = { "Corpse Collector", -- [1] "The Necrotic Wake", -- [2] }, [111350] = { "Skittering Shadows", -- [1] "The Emerald Nightmare", -- [2] }, [168104] = { "Empowered Flameforge Master", -- [1] "Torghast, Tower of the Damned", -- [2] }, [61245] = { "Capacitor Totem", -- [1] "Theater of Pain", -- [2] }, [112118] = { "Tainted Bloodpetal", -- [1] "The Emerald Nightmare", -- [2] }, [21140] = { "Rift Lord", -- [1] "Opening of the Dark Portal", -- [2] }, [167898] = { "Manifestation of Envy", -- [1] "Halls of Atonement", -- [2] }, [30277] = { "Ahn'kahar Slasher", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [118460] = { "Engine of Souls", -- [1] "Tomb of Sargeras", -- [2] }, [161244] = { "Blood of the Corruptor", -- [1] "Freehold", -- [2] }, [84989] = { "Infested Icecaller", -- [1] "The Everbloom", -- [2] }, [105720] = { "Understone Drudge", -- [1] "Neltharion's Lair", -- [2] }, [18312] = { "Ethereal Spellbinder", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [8910] = { "Blazing Fireguard", -- [1] "Blackrock Depths", -- [2] }, [144246] = { "K.U.-J.0.", -- [1] "Operation: Mechagon", -- [2] }, [26694] = { "Ymirjar Dusk Shaman", -- [1] "Utgarde Pinnacle", -- [2] }, [98810] = { "Wrathguard Bladelord", -- [1] "Black Rook Hold", -- [2] }, [101637] = { "Valarjar Aspirant", -- [1] "Halls of Valor", -- [2] }, [131818] = { "Marked Sister", -- [1] "Waycrest Manor", -- [2] }, [168418] = { "Forsworn Inquisitor", -- [1] "Spires of Ascension", -- [2] }, [161502] = { "Ravenous Fleshfiend", -- [1] "Freehold", -- [2] }, [133852] = { "Living Rot", -- [1] "The Underrot", -- [2] }, [101514] = { "Eredar Portal-Lord", -- [1] "Niskara", -- [2] }, [19016] = { "Hellfire Familiar", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [177114] = { "Sylvanas Windrunner", -- [1] "9.1 Battle of Ardenweald", -- [2] }, [72981] = { "Aggron", -- [1] "Siege of Orgrimmar", -- [2] }, [84990] = { "Addled Arcanomancer", -- [1] "The Everbloom", -- [2] }, [105721] = { "Nightmare Ichor", -- [1] "The Emerald Nightmare", -- [2] }, [156015] = { "Writhing Soulmass", -- [1] "Torghast, Tower of the Damned", -- [2] }, [118518] = { "Priestess Lunaspyre", -- [1] "Tomb of Sargeras", -- [2] }, [91796] = { "Skrog Wavecrasher", -- [1] "Eye of Azshara", -- [2] }, [152033] = { "Inconspicuous Plant", -- [1] "Operation: Mechagon", -- [2] }, [86526] = { "Grom'kar Chainmaster", -- [1] "Iron Docks", -- [2] }, [130400] = { "Irontide Crusher", -- [1] "Freehold", -- [2] }, [53006] = { "Spirit Link Totem", -- [1] "Sanctum of Domination", -- [2] }, [90378] = { "Kilrogg Deadeye", -- [1] "Hellfire Citadel", -- [2] }, [98081] = { "Bellowing Idol", -- [1] "Neltharion's Lair", -- [2] }, [158376] = { "Psychus", -- [1] "Ny'alotha, the Waking City", -- [2] }, [69792] = { "Shaol", -- [1] "Theater of Pain", -- [2] }, [157349] = { "Void Boar", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [72194] = { "Hellscream Demolisher", -- [1] "Siege of Orgrimmar", -- [2] }, [30414] = { "Forgotten One", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [74357] = { "Captured Miner", -- [1] "Bloodmaul Slag Mines", -- [2] }, [95887] = { "Glazer", -- [1] "Vault of the Wardens", -- [2] }, [180070] = { "Mawsworn Scryer", -- [1] "Sanctum of Domination", -- [2] }, [152661] = { "Mawsworn Ward", -- [1] "Torghast, Tower of the Damned", -- [2] }, [102395] = { "Infiltrator Assassin", -- [1] "Assault on Violet Hold", -- [2] }, [176605] = { "Bloodberry", -- [1] "Sanctum of Domination", -- [2] }, [177117] = { "Orb of Torment", -- [1] "Sanctum of Domination", -- [2] }, [101549] = { "Arcane Minion", -- [1] "Black Rook Hold", -- [2] }, [112261] = { "Dreadsoul Corruptor", -- [1] "The Emerald Nightmare", -- [2] }, [120188] = { "Wailing Soul", -- [1] "Tomb of Sargeras", -- [2] }, [91646] = { "Grim Collaborator", -- [1] "Hellfire Citadel", -- [2] }, [118715] = { "Reanimated Templar", -- [1] "Tomb of Sargeras", -- [2] }, [181856] = { "Point Defense Drone", -- [1] "Sepulcher of the First Ones", -- [2] }, [164558] = { "Hakkar the Soulflayer", -- [1] "De Other Side", -- [2] }, [21128] = { "Coilfang Ray", -- [1] "Coilfang: The Slave Pens", -- [2] }, [72451] = { "Kor'kron Dark Shaman", -- [1] "Siege of Orgrimmar", -- [2] }, [115844] = { "Goroth", -- [1] "Tomb of Sargeras", -- [2] }, [184533] = { "Overthrown Protector", -- [1] "Sepulcher of the First Ones", -- [2] }, [99956] = { "Fel-Infused Fury", -- [1] "Vault of the Wardens", -- [2] }, [98691] = { "Risen Scout", -- [1] "Black Rook Hold", -- [2] }, [121498] = { "Twilight Soul", -- [1] "Tomb of Sargeras", -- [2] }, [30178] = { "Ahn'kahar Swarmer", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [98813] = { "Bloodscent Felhound", -- [1] "Black Rook Hold", -- [2] }, [111354] = { "Taintheart Befouler", -- [1] "The Emerald Nightmare", -- [2] }, [131849] = { "Crazed Marksman", -- [1] "Waycrest Manor", -- [2] }, [99200] = { "Dresaron", -- [1] "Darkheart Thicket", -- [2] }, [31260] = { "Ymirjar Skycaller", -- [1] "Pit of Saron", -- [2] }, [182311] = { "Pre-Fabricated Sentry", -- [1] "Sepulcher of the First Ones", -- [2] }, [95920] = { "Animated Storm", -- [1] "Eye of Azshara", -- [2] }, [30278] = { "Ahn'kahar Spell Flinger", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [129526] = { "Bilge Rat Swabby", -- [1] "Freehold", -- [2] }, [72452] = { "Kor'kron Dire Wolf", -- [1] "Siege of Orgrimmar", -- [2] }, [102253] = { "Understone Demolisher", -- [1] "Neltharion's Lair", -- [2] }, [72964] = { "Goro'dan", -- [1] "Siege of Orgrimmar", -- [2] }, [18313] = { "Ethereal Sorcerer", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [105591] = { "Nightmare Horror", -- [1] "The Emerald Nightmare", -- [2] }, [102397] = { "Wrathlord Bulwark", -- [1] "Assault on Violet Hold", -- [2] }, [156134] = { "Ghastly Charger", -- [1] "Torghast, Tower of the Damned", -- [2] }, [185584] = { "Blasphemy", -- [1] "Sepulcher of the First Ones", -- [2] }, [111355] = { "Taintheart Tormenter", -- [1] "The Emerald Nightmare", -- [2] }, [104246] = { "Duskwatch Guard", -- [1] "Court of Stars", -- [2] }, [77132] = { "Sargerei Zealot", -- [1] "Auchindoun", -- [2] }, [91648] = { "Somber Guardian", -- [1] "Hellfire Citadel", -- [2] }, [184659] = { "Dominated Sentinel", -- [1] "Sepulcher of the First Ones", -- [2] }, [185347] = { "Dominated Eradicator", -- [1] "Sepulcher of the First Ones", -- [2] }, [168420] = { "Forsworn Champion", -- [1] "Spires of Ascension", -- [2] }, [129527] = { "Bilge Rat Buccaneer", -- [1] "Freehold", -- [2] }, [184910] = { "Wo Drifter", -- [1] "Mists of Tirna Scithe", -- [2] }, [151658] = { "Strider Tonk", -- [1] "Operation: Mechagon", -- [2] }, [91808] = { "Serpentrix", -- [1] "Eye of Azshara", -- [2] }, [91543] = { "Corrupted Talonpriest", -- [1] "Hellfire Citadel", -- [2] }, [93952] = { "Fel Raven", -- [1] "Hellfire Citadel", -- [2] }, [102398] = { "Blazing Infernal", -- [1] "Assault on Violet Hold", -- [2] }, [185346] = { "Dominated Eradicator", -- [1] "Sepulcher of the First Ones", -- [2] }, [185537] = { "Foul Controller", -- [1] "Sepulcher of the First Ones", -- [2] }, [153065] = { "Voidbound Ravager", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [100248] = { "Ritualist Lesha", -- [1] "Eye of Azshara", -- [2] }, [181011] = { "Ancient Guardian", -- [1] "Sepulcher of the First Ones", -- [2] }, [18315] = { "Ethereal Theurgist", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [182074] = { "Acquisitions Automa", -- [1] "Sepulcher of the First Ones", -- [2] }, [172005] = { "Furrowed Colossus", -- [1] "Torghast, Tower of the Damned", -- [2] }, [96512] = { "Archdruid Glaidalis", -- [1] "Darkheart Thicket", -- [2] }, [168934] = { "Enraged Spirit", -- [1] "De Other Side", -- [2] }, [21138] = { "Infinite Executioner", -- [1] "Opening of the Dark Portal", -- [2] }, [91003] = { "Rokmora", -- [1] "Neltharion's Lair", -- [2] }, [91786] = { "Gritslime Snail", -- [1] "Eye of Azshara", -- [2] }, [17371] = { "Shadowmoon Warlock", -- [1] "Hellfire Citadel: The Blood Furnace", -- [2] }, [118523] = { "Huntress Kasparian", -- [1] "Tomb of Sargeras", -- [2] }, [90114] = { "Iron Dragoon", -- [1] "Hellfire Citadel", -- [2] }, [98954] = { "Felsworn Myrmidon", -- [1] "Vault of the Wardens", -- [2] }, [156650] = { "Dark Manifestation", -- [1] "Ny'alotha, the Waking City", -- [2] }, [18341] = { "Pandemonius", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [182777] = { "Rygelon", -- [1] "Sepulcher of the First Ones", -- [2] }, [178661] = { "Mawsworn Interceptor", -- [1] "Sanctum of Domination", -- [2] }, [20873] = { "Negaton Warp-Master", -- [1] "Tempest Keep: The Arcatraz", -- [2] }, [102295] = { "Emberhusk Dominator", -- [1] "Neltharion's Lair", -- [2] }, [106787] = { "Bitterbrine Slave", -- [1] "Eye of Azshara", -- [2] }, [94816] = { "Togdrov", -- [1] "Hellfire Citadel", -- [2] }, [129529] = { "Blacktooth Scrapper", -- [1] "Freehold", -- [2] }, [72455] = { "Overseer Komak", -- [1] "Siege of Orgrimmar", -- [2] }, [164351] = { "Fading Shade", -- [1] "Ardenweald Covenant Chapter 2 Scenario", -- [2] }, [102282] = { "Lord Malgath", -- [1] "Assault on Violet Hold", -- [2] }, [73223] = { "Pterrordax", -- [1] "Siege of Orgrimmar", -- [2] }, [84499] = { "Entanglement", -- [1] "The Everbloom", -- [2] }, [102400] = { "Eredar Shadow Mender", -- [1] "Assault on Violet Hold", -- [2] }, [183497] = { "Foul Controller", -- [1] "Sepulcher of the First Ones", -- [2] }, [8983] = { "Golem Lord Argelmach", -- [1] "Blackrock Depths", -- [2] }, [159767] = { "Sanguimar", -- [1] "Ny'alotha, the Waking City", -- [2] }, [18405] = { "Tempest-Forge Peacekeeper", -- [1] "Tempest Keep: The Botanica", -- [2] }, [137713] = { "Big Money Crab", -- [1] "The MOTHERLODE!!", -- [2] }, [18404] = { "Bloodwarder Steward", -- [1] "Tempest Keep: The Botanica", -- [2] }, [95888] = { "Cordana Felsong", -- [1] "Vault of the Wardens", -- [2] }, [181954] = { "Anduin Wrynn", -- [1] "Sepulcher of the First Ones", -- [2] }, [30279] = { "Deep Crawler", -- [1] "Ahn'kahet: The Old Kingdom", -- [2] }, [156653] = { "Coagulated Horror", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [72456] = { "Korgra the Snake", -- [1] "Siege of Orgrimmar", -- [2] }, [74158] = { "Kor'kron Gunner", -- [1] "Siege of Orgrimmar", -- [2] }, [170474] = { "Brood Assassin", -- [1] "Plaguefall", -- [2] }, [18314] = { "Nexus Stalker", -- [1] "Auchindoun: Mana-Tombs", -- [2] }, [93955] = { "Delusional Zealot", -- [1] "Hellfire Citadel", -- [2] }, [100713] = { "Rockbait Fisher", -- [1] "Neltharion's Lair", -- [2] }, [26696] = { "Ymirjar Berserker", -- [1] "Utgarde Pinnacle", -- [2] }, [181224] = { "Dausegne", -- [1] "Sepulcher of the First Ones", -- [2] }, [17826] = { "Swamplord Musel'ek", -- [1] "Coilfang: The Underbog", -- [2] }, [156158] = { "Adjutant Felipos", -- [1] "Torghast, Tower of the Damned", -- [2] }, [18419] = { "Bloodwarder Greenkeeper", -- [1] "Tempest Keep: The Botanica", -- [2] }, [75272] = { "Bloodmaul Ogre Mage", -- [1] "Bloodmaul Slag Mines", -- [2] }, [71433] = { "Spark of Life", -- [1] "Siege of Orgrimmar", -- [2] }, [133436] = { "Venture Co. Skyscorcher", -- [1] "The MOTHERLODE!!", -- [2] }, [156143] = { "Voidcrazed Hulk", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [29097] = { "Anub'ar Crypt Fiend", -- [1] "Azjol-Nerub", -- [2] }, [165357] = { "Pestilence Slime", -- [1] "Plaguefall", -- [2] }, [25367] = { "Sunblade Arch Mage", -- [1] "The Sunwell", -- [2] }, [137716] = { "Bottom Feeder", -- [1] "The MOTHERLODE!!", -- [2] }, [29216] = { "Anub'ar Guardian", -- [1] "Azjol-Nerub", -- [2] }, [171500] = { "Shuffling Corpse", -- [1] "The Necrotic Wake", -- [2] }, [25483] = { "Shadowsword Manafiend", -- [1] "The Sunwell", -- [2] }, [25371] = { "Sunblade Dawn Priest", -- [1] "The Sunwell", -- [2] }, [94724] = { "Bryanda", -- [1] "Hellfire Citadel", -- [2] }, [25484] = { "Shadowsword Assassin", -- [1] "The Sunwell", -- [2] }, [24850] = { "Kalecgos", -- [1] "The Sunwell", -- [2] }, [17942] = { "Quagmirran", -- [1] "Coilfang: The Slave Pens", -- [2] }, [25038] = { "Felmyst", -- [1] "The Sunwell", -- [2] }, [167406] = { "Sire Denathrius", -- [1] "Castle Nathria", -- [2] }, [25506] = { "Shadowsword Lifeshaper", -- [1] "The Sunwell", -- [2] }, [156145] = { "Burrowing Appendage", -- [1] "Horrific Vision of Orgrimmar", -- [2] }, [168942] = { "Death Speaker", -- [1] "De Other Side", -- [2] }, [129788] = { "Irontide Bonesaw", -- [1] "Freehold", -- [2] }, [76146] = { "Grand Defense Construct", -- [1] "Skyreach", -- [2] }, [113920] = { "Flail of Il'gynoth", -- [1] "The Emerald Nightmare", -- [2] }, [73226] = { "Lesser Sha Puddle", -- [1] "Siege of Orgrimmar", -- [2] }, [25509] = { "Priestess of Torment", -- [1] "The Sunwell", -- [2] }, }, ["OptionsPanelDB"] = { ["PlaterOptionsPanelFrame"] = { ["scale"] = 1, }, }, ["first_run3"] = true, ["script_auto_imported"] = { ["Unit - Important"] = 11, ["Aura - Buff Alert"] = 13, ["Unit - Show Energy"] = 11, ["Relics 9.2 M Dungeons"] = 2, ["Cast - Very Important"] = 12, ["Explosion Affix M+"] = 11, ["Cast - Important Target [P]"] = 1, ["Aura - Debuff Alert"] = 11, ["Aura is Shield [P]"] = 1, ["Cast - Glowing [P]"] = 2, ["Cast - Castbar is Timer [P]"] = 2, ["Cast - Ultra Important"] = 11, ["Cast - Big Alert"] = 12, ["Color Change"] = 1, ["Cast - Small Alert"] = 11, ["Unit - Health Markers"] = 12, ["Aura - Invalidate Unit"] = 1, ["Auto Set Skull"] = 11, ["Fixate by Unit Buff [P]"] = 1, ["Unit - Main Target"] = 11, ["Aura - Blink Time Left"] = 13, ["Aura Border Color"] = 1, ["Countdown"] = 11, ["Unit Power"] = 1, ["Cast - Frontal Cone"] = 11, ["Fixate"] = 11, ["Cast - Tank Interrupt"] = 12, ["Spiteful Affix"] = 3, ["Cast - Alert + Timer [P]"] = 2, ["Fixate On You"] = 11, }, ["number_region_first_run"] = true, ["patch_version"] = 20, ["class_colors"] = { ["DEATHKNIGHT"] = { ["colorStr"] = "ffc31d3a", }, ["WARRIOR"] = { ["colorStr"] = "ffc69a6d", }, ["PALADIN"] = { ["colorStr"] = "fff48bb9", }, ["WARLOCK"] = { ["colorStr"] = "ff8687ed", }, ["DEMONHUNTER"] = { ["colorStr"] = "ffa22fc8", }, ["SHAMAN"] = { ["colorStr"] = "ff006fdd", }, ["DRUID"] = { ["colorStr"] = "ffff7c09", }, ["EVOKER"] = { ["colorStr"] = "ff33937e", }, ["ROGUE"] = { ["colorStr"] = "fffff467", }, }, ["aura_alpha"] = 0.8499999642372131, ["aura_tracker"] = { ["buff_tracked"] = { [227931] = true, [233210] = true, [209859] = true, [163689] = true, [297133] = true, }, }, ["health_selection_overlay_alpha"] = 0.09999999403953552, ["hover_highlight_alpha"] = 0.2999999821186066, ["minor_height_scale"] = 0.949999988079071, ["pet_height_scale"] = 0.949999988079071, ["ghost_auras"] = { ["auras"] = { ["WARLOCK"] = { { [172] = true, [980] = true, }, -- [1] }, ["PRIEST"] = { [3] = { [589] = true, [34914] = true, }, }, }, }, ["saved_cvars"] = { ["ShowClassColorInNameplate"] = "1", ["nameplateOverlapV"] = "0.8353898525238", ["ShowNamePlateLoseAggroFlash"] = "1", ["nameplateShowEnemyMinus"] = "1", ["NamePlateClassificationScale"] = "1", ["nameplateShowFriendlyTotems"] = "0", ["nameplatePersonalHideDelaySeconds"] = "0.2", ["nameplateShowFriendlyPets"] = "0", ["nameplatePersonalShowInCombat"] = "1", ["nameplatePersonalShowWithTarget"] = "0", ["nameplateMinAlpha"] = "0.90135484", ["nameplateResourceOnTarget"] = "0", ["nameplateShowAll"] = "1", ["nameplateMaxDistance"] = "100", ["nameplateShowFriendlyMinions"] = "0", ["nameplateSelfScale"] = "0.6", ["nameplateShowEnemies"] = "1", ["NamePlateVerticalScale"] = "1", ["nameplateSelectedAlpha"] = "1", ["nameplateShowSelf"] = "0", ["nameplateSelfTopInset"] = "0.5", ["nameplateMotionSpeed"] = "0.05", ["nameplateGlobalScale"] = "1.0499999523163", ["nameplateShowEnemyMinions"] = "1", ["nameplateShowFriendlyNPCs"] = "1", ["nameplateSelectedScale"] = "1", ["nameplateShowFriends"] = "0", ["nameplateMotion"] = "1", ["nameplateMinScale"] = "1", ["nameplateOtherTopInset"] = "0.085", ["nameplateSelfBottomInset"] = "0.2", ["nameplateShowFriendlyGuardians"] = "0", ["NamePlateHorizontalScale"] = "1", ["nameplateSelfAlpha"] = "1", ["nameplateOccludedAlphaMult"] = "1", ["nameplatePersonalShowAlways"] = "0", ["nameplateMinAlphaDistance"] = "-158489.31924611", }, }, }, ["profileKeys"] = { ["Quillidania - Deathwing"] = "Default", ["Quillox - Deathwing"] = "Default", ["Quillstrum - Deathwing"] = "Default", ["Quilligan - Deathwing"] = "Default", ["Quillmog - Deathwing"] = "Default", ["Quilladin - Deathwing"] = "Default", ["Quillten - Deathwing"] = "Default", ["Quilladona - Thunderhorn"] = "Default", ["Quillcroft - Thunderhorn"] = "Default", ["Quillastra - Deathwing"] = "Default", ["Quillika - Thunderhorn"] = "Default", ["Quillika - Deathwing"] = "Quillika - Deathwing", ["Quillandria - Thunderhorn"] = "Default", ["Quilago - Thunderhorn"] = "Default", ["Quillphis - Deathwing"] = "Default", ["Quildra - Thunderhorn"] = "Default", ["Quillandrus - Deathwing"] = "Default", ["Quilberg - Thunderhorn"] = "Default", ["Quilkin - Thunderhorn"] = "Default", ["Quillum - Deathwing"] = "Default", ["Charsig - Thunderhorn"] = "Default", ["Quilldraka - Deathwing"] = "Pixel Perfect with M+ Npc Color and Scripts", ["Quillspeth - Thunderhorn"] = "Default", ["Quillson - Thunderhorn"] = "Default", ["Quildra - Deathwing"] = "Default", ["Quillzana - Thunderhorn"] = "Default", ["Quillidan - Thunderhorn"] = "Default", ["Quillikus - Thunderhorn"] = "Default", ["Quillisium - Deathwing"] = "Default", ["Quillikan - Deathwing"] = "Default", ["Quillow - Thunderhorn"] = "Default", ["Quilenko - Thunderhorn"] = "Default", ["Quilbee - Thunderhorn"] = "Default", ["Quillick - Thunderhorn"] = "Default", }, ["captured_casts"] = { [36807] = { ["npcID"] = 17771, }, [345554] = { ["npcID"] = 177168, }, [124800] = { ["npcID"] = 61502, }, [294362] = { ["npcID"] = 151127, }, [329174] = { ["npcID"] = 169200, }, [39367] = { ["encounterName"] = "Zereketh the Unbound", ["encounterID"] = 1916, ["npcID"] = 20870, }, [329175] = { ["npcID"] = 169200, }, [331223] = { ["npcID"] = 162763, }, [195320] = { ["npcID"] = 95866, }, [212726] = { ["encounterName"] = "Cenarius", ["npcID"] = 104636, ["encounterID"] = 1877, }, [339415] = { ["encounterName"] = "Xav the Unfallen", ["npcID"] = 162329, ["encounterID"] = 2366, }, [161533] = { ["npcID"] = 80699, }, [327130] = { ["npcID"] = 165872, }, [271841] = { ["npcID"] = 157002, }, [392659] = { ["event"] = "SPELL_CAST_START", ["source"] = "Crazed Alpha", ["npcID"] = 194224, }, [347609] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [228086] = { ["npcID"] = 114584, }, [320989] = { ["npcID"] = 156561, }, [347610] = { ["encounterName"] = "So'azmi", ["encounterID"] = 2437, ["npcID"] = 175806, }, [390613] = { ["event"] = "SPELL_CAST_START", ["source"] = "Snarglebone", ["npcID"] = 197344, }, [376279] = { ["encounterName"] = "Terros", ["source"] = "Terros", ["encounterID"] = 2639, ["event"] = "SPELL_CAST_START", ["npcID"] = 190496, }, [329181] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 167406, }, [384471] = { ["source"] = "Magma Skitter", ["event"] = "SPELL_CAST_START", ["npcID"] = 196758, }, [320991] = { ["npcID"] = 162038, }, [300514] = { ["npcID"] = 150146, }, [392665] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Thunderhide", ["npcID"] = 187258, }, [355806] = { ["npcID"] = 179891, }, [349663] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176556, }, [339425] = { ["npcID"] = 173447, }, [384476] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Longbow", ["npcID"] = 192789, }, [363999] = { ["npcID"] = 183747, }, [318949] = { ["npcID"] = 163894, }, [386526] = { ["source"] = "Nullmagic Hornswog", ["event"] = "SPELL_CAST_START", ["npcID"] = 187246, }, [76682] = { ["npcID"] = 40017, }, [31717] = { ["encounterName"] = "The Black Stalker", ["encounterID"] = 1948, ["npcID"] = 17882, }, [353763] = { ["npcID"] = 179135, }, [355811] = { ["npcID"] = 177204, }, [321000] = { ["npcID"] = 177134, }, [323048] = { ["npcID"] = 160345, }, [390624] = { ["event"] = "SPELL_CAST_START", ["source"] = "Snarglebone", ["npcID"] = 197344, }, [347623] = { ["encounterName"] = "So'azmi", ["encounterID"] = 2437, ["npcID"] = 175806, }, [357862] = { ["npcID"] = 177903, }, [376292] = { ["encounterName"] = "Chrono-Lord Deios", ["npcID"] = 184125, ["encounterID"] = 2559, }, [310765] = { ["npcID"] = 159677, }, [148232] = { ["encounterName"] = "Galakras", ["npcID"] = 72560, ["encounterID"] = 1622, }, [164615] = { ["npcID"] = 81767, }, [396774] = { ["npcID"] = 191105, }, [333294] = { ["npcID"] = 169893, }, [396775] = { ["event"] = "SPELL_CAST_START", ["source"] = "Klozicc the Ascended", ["npcID"] = 187209, }, [321009] = { ["encounterName"] = "Kin-Tara", ["npcID"] = 162059, ["encounterID"] = 2357, }, [255741] = { ["npcID"] = 134321, }, [390633] = { ["npcID"] = 189954, }, [167688] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 82721, }, [323058] = { ["npcID"] = 165609, }, [164617] = { ["npcID"] = 81767, }, [323059] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 164804, ["encounterID"] = 2397, }, [366062] = { ["encounterName"] = "Prototype Pantheon", ["encounterID"] = 2544, ["npcID"] = 181549, }, [384492] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Beastmaster", ["npcID"] = 192794, }, [394731] = { ["event"] = "SPELL_CAST_START", ["source"] = "Unstable Earth", ["npcID"] = 198709, }, [357872] = { ["npcID"] = 177427, }, [384493] = { ["source"] = "Shikaar Hunter", ["event"] = "SPELL_CAST_START", ["npcID"] = 184657, }, [396780] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rimebound Subjugator", ["npcID"] = 195837, }, [265725] = { ["npcID"] = 158278, }, [392686] = { ["event"] = "SPELL_CAST_START", ["source"] = "Uurtus", ["npcID"] = 193724, }, [172810] = { ["npcID"] = 81603, }, [323064] = { ["encounterName"] = "Hakkar, the Soulflayer", ["npcID"] = 164558, ["encounterID"] = 2395, }, [188169] = { ["encounterName"] = "Rokmora", ["npcID"] = 91003, ["encounterID"] = 1790, }, [353782] = { ["npcID"] = 179136, }, [353783] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176565, }, [396786] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rimebound Controller", ["npcID"] = 191654, }, [296447] = { ["npcID"] = 152644, }, [339450] = { ["npcID"] = 173418, }, [390644] = { ["npcID"] = 189954, }, [114571] = { ["encounterName"] = "Lorewalker Stonestep", ["encounterID"] = 1417, ["npcID"] = 59051, }, [294401] = { ["npcID"] = 151815, }, [366074] = { ["npcID"] = 183927, }, [337406] = { ["npcID"] = 172690, }, [235271] = { ["encounterName"] = "Maiden of Vigilance", ["npcID"] = 118289, ["encounterID"] = 2052, }, [219913] = { ["npcID"] = 95916, }, [321025] = { ["npcID"] = 157754, }, [150290] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74571, }, [366077] = { ["npcID"] = 183925, }, [296454] = { ["npcID"] = 152656, }, [209676] = { ["encounterName"] = "Advisor Melandrus", ["npcID"] = 104218, ["encounterID"] = 1870, }, [372222] = { ["encounterName"] = "Azureblade", ["source"] = "Azureblade", ["encounterID"] = 2585, ["event"] = "SPELL_CAST_START", ["npcID"] = 186739, }, [372223] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Bonetender", ["npcID"] = 189265, }, [392701] = { ["source"] = "Stormshroud Defender", ["event"] = "SPELL_CAST_START", ["npcID"] = 192536, }, [394749] = { ["event"] = "SPELL_CAST_START", ["source"] = "Unstable Storm", ["npcID"] = 198716, }, [343556] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [189200] = { ["npcID"] = 156244, }, [396798] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ohn'ir Windcaster", ["npcID"] = 199498, }, [166675] = { ["npcID"] = 80937, }, [372226] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Bonetender", ["npcID"] = 189265, }, [195344] = { ["npcID"] = 95866, }, [329224] = { ["npcID"] = 168022, }, [275983] = { ["npcID"] = 157820, }, [361989] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [34254] = { ["npcID"] = 18422, }, [275984] = { ["npcID"] = 166936, }, [331274] = { ["npcID"] = 167923, }, [331275] = { ["npcID"] = 167533, }, [337419] = { ["npcID"] = 172682, }, [364040] = { ["encounterName"] = "Artificer Xy'mox", ["npcID"] = 184140, ["encounterID"] = 2553, }, [300560] = { ["npcID"] = 150142, }, [46029] = { ["npcID"] = 24684, }, [321038] = { ["npcID"] = 162039, }, [396805] = { ["source"] = "Gorger", ["event"] = "SPELL_CAST_START", ["npcID"] = 192759, }, [337422] = { ["npcID"] = 172682, }, [396807] = { ["source"] = "Gorger", ["event"] = "SPELL_CAST_START", ["npcID"] = 192759, }, [366091] = { ["npcID"] = 181011, }, [392712] = { ["source"] = "Stormshroud Defender", ["event"] = "SPELL_CAST_START", ["npcID"] = 192536, }, [157465] = { ["encounterName"] = "Vigilant Kaathar", ["encounterID"] = 1686, ["npcID"] = 75839, }, [382474] = { ["event"] = "SPELL_CAST_START", ["source"] = "Decay Speaker", ["npcID"] = 186191, }, [341520] = { ["npcID"] = 173973, }, [318995] = { ["npcID"] = 155945, }, [345616] = { ["npcID"] = 172207, }, [265754] = { ["npcID"] = 125458, }, [225042] = { ["npcID"] = 113088, }, [394763] = { ["event"] = "SPELL_CAST_START", ["source"] = "Private Shikzar", ["npcID"] = 193127, }, [396812] = { ["source"] = "Spellbound Scepter", ["event"] = "SPELL_CAST_START", ["npcID"] = 196576, }, [351762] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176533, }, [394765] = { ["event"] = "SPELL_CAST_START", ["source"] = "Morgg", ["npcID"] = 189244, }, [154396] = { ["encounterName"] = "High Sage Viryx", ["encounterID"] = 1701, ["npcID"] = 76266, }, [278044] = { ["source"] = "Greater Venomsprout", ["event"] = "SPELL_CAST_START", ["npcID"] = 188814, }, [396814] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rimebound Controller", ["npcID"] = 195836, }, [325143] = { ["npcID"] = 157212, }, [278045] = { ["npcID"] = 164759, }, [329239] = { ["npcID"] = 163882, }, [331288] = { ["npcID"] = 167532, }, [316954] = { ["npcID"] = 160845, }, [345623] = { ["npcID"] = 165824, }, [384531] = { ["encounterName"] = "Gutshot", ["source"] = "Rotfang Hyena", ["npcID"] = 194745, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2567, }, [366102] = { ["npcID"] = 181011, }, [80279] = { ["npcID"] = 42691, }, [359960] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181398, }, [345627] = { ["npcID"] = 178462, }, [126354] = { ["npcID"] = 173419, }, [357915] = { ["npcID"] = 177903, }, [368155] = { ["npcID"] = 185505, }, [198428] = { ["encounterName"] = "Ularogg Cragshaper", ["npcID"] = 91004, ["encounterID"] = 1791, }, [390681] = { ["npcID"] = 189954, }, [319010] = { ["npcID"] = 170333, }, [347679] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [278056] = { ["npcID"] = 164759, }, [378397] = { ["npcID"] = 191095, }, [357920] = { ["npcID"] = 179684, }, [321061] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164555, ["encounterID"] = 2394, }, [392733] = { ["source"] = "Clearwater Turtle", ["event"] = "SPELL_CAST_START", ["npcID"] = 192637, }, [394782] = { ["source"] = "Ty'foon the Ascended", ["event"] = "SPELL_CAST_START", ["npcID"] = 191354, }, [335398] = { ["npcID"] = 161246, }, [368163] = { ["npcID"] = 178229, }, [329256] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 169271, }, [364068] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 183666, ["encounterID"] = 2546, }, [12470] = { ["npcID"] = 40831, }, [370212] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Metalshaper", ["npcID"] = 190767, }, [331305] = { ["npcID"] = 161599, }, [392738] = { ["source"] = "Kargpaw the Fetid", ["event"] = "SPELL_CAST_START", ["npcID"] = 186660, }, [325163] = { ["npcID"] = 171772, }, [368166] = { ["npcID"] = 183814, }, [372262] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Bonesplitter", ["npcID"] = 189467, }, [265780] = { ["npcID"] = 183265, }, [319022] = { ["npcID"] = 158259, }, [364073] = { ["npcID"] = 184735, }, [351787] = { ["encounterName"] = "Soulrender Dormazain", ["encounterID"] = 2434, ["npcID"] = 177594, }, [353835] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176565, }, [39378] = { ["npcID"] = 21126, }, [359979] = { ["encounterName"] = "Skolex, the Insatiable Ravener", ["npcID"] = 181395, ["encounterID"] = 2542, }, [353836] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176565, }, [357932] = { ["npcID"] = 178810, }, [362028] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [319026] = { ["npcID"] = 164604, }, [355887] = { ["npcID"] = 177394, }, [325171] = { ["npcID"] = 157212, }, [378413] = { ["source"] = "Water Fury", ["event"] = "SPELL_CAST_START", ["npcID"] = 191111, }, [355888] = { ["npcID"] = 177807, }, [341554] = { ["npcID"] = 166146, }, [205605] = { ["npcID"] = 166137, }, [331316] = { ["npcID"] = 167538, }, [335412] = { ["npcID"] = 178660, }, [226083] = { ["npcID"] = 161528, }, [314935] = { ["npcID"] = 160409, }, [284219] = { ["npcID"] = 150297, }, [183081] = { ["npcID"] = 165793, }, [394800] = { ["event"] = "SPELL_CAST_START", ["source"] = "Council Earthcaller", ["npcID"] = 198500, }, [146223] = { ["npcID"] = 72847, }, [378420] = { ["source"] = "Stonegrabber Shard", ["event"] = "SPELL_CAST_START", ["npcID"] = 187506, }, [357943] = { ["npcID"] = 180013, }, [327227] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 167406, }, [242468] = { ["npcID"] = 121460, }, [357944] = { ["npcID"] = 179768, }, [197418] = { ["encounterName"] = "Ilysanna Ravencrest", ["npcID"] = 98696, ["encounterID"] = 1833, }, [314942] = { ["npcID"] = 166869, }, [392757] = { ["source"] = "Stormbound Proto-Drake", ["event"] = "SPELL_CAST_START", ["npcID"] = 195094, }, [77216] = { ["npcID"] = 41182, }, [396854] = { ["source"] = "Brutal Motivator", ["event"] = "SPELL_CAST_START", ["npcID"] = 184453, }, [325183] = { ["npcID"] = 157883, }, [355900] = { ["npcID"] = 177807, }, [316993] = { ["npcID"] = 167443, }, [396856] = { ["npcID"] = 191401, }, [308803] = { ["npcID"] = 158259, }, [327233] = { ["npcID"] = 168393, }, [323138] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 164567, ["encounterID"] = 2397, }, [59346] = { ["npcID"] = 28922, }, [378428] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Avalanche", ["npcID"] = 187082, }, [339521] = { ["npcID"] = 173484, }, [366142] = { ["npcID"] = 184651, }, [351808] = { ["npcID"] = 176577, }, [396859] = { ["npcID"] = 191105, }, [366143] = { ["npcID"] = 184651, }, [197422] = { ["encounterName"] = "Cordana Felsong", ["npcID"] = 95888, ["encounterID"] = 1818, }, [239401] = { ["encounterName"] = "Demonic Inquisition", ["npcID"] = 116691, ["encounterID"] = 2048, }, [357953] = { ["npcID"] = 180013, }, [208685] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["encounterID"] = 1873, ["npcID"] = 105304, }, [331333] = { ["npcID"] = 174024, }, [347716] = { ["npcID"] = 176394, }, [296523] = { ["npcID"] = 152708, }, [298571] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 153756, ["encounterID"] = 2312, }, [327240] = { ["npcID"] = 165911, }, [339527] = { ["npcID"] = 173469, }, [374339] = { ["event"] = "SPELL_CAST_START", ["source"] = "Refti Defender", ["npcID"] = 190340, }, [355910] = { ["npcID"] = 178666, }, [360006] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181398, }, [59603] = { ["npcID"] = 24849, }, [339529] = { ["npcID"] = 173448, }, [366150] = { ["npcID"] = 180906, }, [347721] = { ["npcID"] = 176396, }, [195378] = { ["npcID"] = 95869, }, [212784] = { ["npcID"] = 105715, }, [362056] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 181447, }, [323149] = { ["encounterName"] = "Ingra Maloch", ["encounterID"] = 2397, ["npcID"] = 164567, }, [374343] = { ["encounterName"] = "Echo of Doragosa", ["source"] = "Echo of Doragosa", ["encounterID"] = 2565, ["event"] = "SPELL_CAST_START", ["npcID"] = 190609, }, [75684] = { ["npcID"] = 39584, }, [355914] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [39126] = { ["npcID"] = 18422, }, [191284] = { ["encounterName"] = "Hymdall", ["source"] = "Hymdall", ["npcID"] = 94960, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1805, }, [347726] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [225073] = { ["npcID"] = 113089, }, [162617] = { ["encounterName"] = "Rocketspark and Borka", ["encounterID"] = 1715, ["npcID"] = 77816, }, [345680] = { ["npcID"] = 175550, }, [357967] = { ["npcID"] = 178897, }, [394827] = { ["source"] = "Windseeker Avash", ["event"] = "SPELL_CAST_START", ["npcID"] = 192045, }, [325205] = { ["npcID"] = 166936, }, [376399] = { ["npcID"] = 3255, }, [117665] = { ["encounterName"] = "Sha of Doubt", ["source"] = "Sha of Doubt", ["npcID"] = 56439, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1439, }, [335445] = { ["npcID"] = 180032, }, [39127] = { ["npcID"] = 19486, }, [364114] = { ["encounterName"] = "Rygelon", ["npcID"] = 182777, ["encounterID"] = 2549, }, [302682] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150712, ["encounterID"] = 2312, }, [32364] = { ["encounterName"] = "Nexus-Prince Shaffar", ["encounterID"] = 1899, ["npcID"] = 18344, }, [370259] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Earth Elemental", ["npcID"] = 187322, }, [294493] = { ["event"] = "SPELL_CAST_START", ["source"] = "Timeless Causality", ["npcID"] = 186464, }, [394833] = { ["source"] = "Plainswalker Bull", ["event"] = "SPELL_CAST_START", ["npcID"] = 187937, }, [172860] = { ["npcID"] = 83025, }, [191290] = { ["event"] = "SPELL_CAST_START", ["source"] = "Crashin' Thrashin' Mortar", ["npcID"] = 76642, }, [372310] = { ["event"] = "SPELL_CAST_START", ["source"] = "Jadzigeth", ["npcID"] = 188447, }, [384597] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Warden", ["npcID"] = 193293, }, [378454] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Avalanche", ["npcID"] = 187082, }, [355929] = { ["npcID"] = 177803, }, [319070] = { ["npcID"] = 163891, }, [323166] = { ["encounterName"] = "Hakkar, the Soulflayer", ["npcID"] = 164558, ["encounterID"] = 2395, }, [351835] = { ["npcID"] = 179894, }, [329310] = { ["npcID"] = 158813, }, [357979] = { ["npcID"] = 178897, }, [347741] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [366171] = { ["npcID"] = 184952, }, [372315] = { ["encounterName"] = "The Primal Council", ["source"] = "Kadros Icewrath", ["npcID"] = 187771, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [355934] = { ["npcID"] = 177817, }, [382555] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bracken Warscourge", ["npcID"] = 185529, }, [374365] = { ["encounterName"] = "Magmatusk", ["source"] = "Magmatusk", ["npcID"] = 181861, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2610, }, [44504] = { ["encounterName"] = "Selin Fireheart", ["encounterID"] = 1897, ["npcID"] = 24690, }, [185152] = { ["npcID"] = 157820, }, [339557] = { ["npcID"] = 173464, }, [325223] = { ["npcID"] = 166304, }, [349797] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176556, }, [362084] = { ["npcID"] = 181324, }, [82858] = { ["npcID"] = 42333, }, [388706] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rampaging Wind", ["npcID"] = 187494, }, [382563] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 184986, }, [337513] = { ["npcID"] = 158259, }, [366182] = { ["npcID"] = 183498, }, [288368] = { ["npcID"] = 145802, }, [366183] = { ["npcID"] = 183498, }, [106920] = { ["npcID"] = 56763, }, [355945] = { ["npcID"] = 179940, }, [183108] = { ["source"] = "Larivi", ["event"] = "SPELL_CAST_START", ["npcID"] = 192747, }, [329325] = { ["npcID"] = 175834, }, [366185] = { ["npcID"] = 183499, }, [329326] = { ["npcID"] = 155831, }, [355947] = { ["npcID"] = 177805, }, [349805] = { ["npcID"] = 180473, }, [376426] = { ["event"] = "SPELL_CAST_START", ["source"] = "Summoned Ripple", ["npcID"] = 187542, }, [294517] = { ["npcID"] = 151816, }, [337520] = { ["npcID"] = 159412, }, [355950] = { ["npcID"] = 178029, }, [154442] = { ["encounterName"] = "Ner'zhul", ["encounterID"] = 1682, ["npcID"] = 76407, }, [343664] = { ["npcID"] = 162452, }, [366190] = { ["npcID"] = 183495, }, [335474] = { ["npcID"] = 169502, }, [242496] = { ["npcID"] = 121499, }, [331379] = { ["npcID"] = 167965, }, [333427] = { ["npcID"] = 165175, }, [321141] = { ["npcID"] = 156562, }, [46042] = { ["npcID"] = 24686, }, [394861] = { ["event"] = "SPELL_CAST_START", ["source"] = "Henlare", ["npcID"] = 193229, }, [323190] = { ["npcID"] = 163121, }, [384623] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Blacksmith", ["npcID"] = 189471, }, [339573] = { ["encounterName"] = "Mordretha", ["npcID"] = 165946, ["encounterID"] = 2404, }, [341621] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [228164] = { ["npcID"] = 114584, }, [106923] = { ["encounterName"] = "Gu Cloudstrike", ["encounterID"] = 1303, ["npcID"] = 56754, }, [382578] = { ["npcID"] = 184131, }, [76719] = { ["npcID"] = 40021, }, [366197] = { ["npcID"] = 183500, }, [294526] = { ["npcID"] = 151817, }, [386675] = { ["event"] = "SPELL_CAST_START", ["source"] = "Siaszerathel", ["npcID"] = 189583, }, [341625] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [337530] = { ["npcID"] = 158259, }, [366199] = { ["npcID"] = 183495, }, [329340] = { ["npcID"] = 165410, }, [339579] = { ["npcID"] = 173455, }, [46043] = { ["npcID"] = 24686, }, [394869] = { ["source"] = "Boneshaper Jardak", ["event"] = "SPELL_CAST_START", ["npcID"] = 188693, }, [335485] = { ["npcID"] = 179029, }, [355963] = { ["npcID"] = 152594, }, [358011] = { ["npcID"] = 178789, }, [327296] = { ["npcID"] = 156561, }, [294533] = { ["npcID"] = 151817, }, [347775] = { ["npcID"] = 176395, }, [163665] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80805, }, [360064] = { ["npcID"] = 181945, }, [46044] = { ["npcID"] = 24815, }, [209741] = { ["encounterName"] = "Advisor Melandrus", ["npcID"] = 105754, ["encounterID"] = 1870, }, [355970] = { ["npcID"] = 152594, }, [325254] = { ["encounterName"] = "Grand Proctor Beryllia", ["npcID"] = 162102, ["encounterID"] = 2362, }, [171858] = { ["npcID"] = 177877, }, [39133] = { ["encounterName"] = "Warp Splinter", ["encounterID"] = 1929, ["npcID"] = 17977, }, [331398] = { ["npcID"] = 170147, }, [341637] = { ["npcID"] = 174126, }, [216909] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 109082, }, [325256] = { ["npcID"] = 170010, }, [335495] = { ["npcID"] = 180032, }, [370307] = { ["encounterName"] = "Eranog", ["source"] = "Eranog", ["encounterID"] = 2587, ["event"] = "SPELL_CAST_START", ["npcID"] = 184972, }, [272016] = { ["npcID"] = 154014, }, [325258] = { ["encounterName"] = "Mueh'zala", ["npcID"] = 166608, ["encounterID"] = 2396, }, [335497] = { ["npcID"] = 171873, }, [331402] = { ["npcID"] = 180028, }, [358023] = { ["npcID"] = 180474, }, [300687] = { ["npcID"] = 150168, }, [388741] = { ["source"] = "Ukhel Gravestirrer", ["event"] = "SPELL_CAST_START", ["npcID"] = 189928, }, [386694] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stormsurge Totem", ["npcID"] = 194897, }, [46557] = { ["npcID"] = 25368, }, [398981] = { ["source"] = "Stalwart Broodwarden", ["event"] = "SPELL_CAST_START", ["npcID"] = 198263, }, [355979] = { ["npcID"] = 177911, }, [360075] = { ["npcID"] = 182210, }, [360076] = { ["npcID"] = 181839, }, [388745] = { ["source"] = "Steamed Crab", ["event"] = "SPELL_CAST_START", ["npcID"] = 197079, }, [392841] = { ["source"] = "Degmakh", ["event"] = "SPELL_CAST_START", ["npcID"] = 194251, }, [337552] = { ["npcID"] = 162853, }, [341648] = { ["npcID"] = 174134, }, [335505] = { ["npcID"] = 179108, }, [353935] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [386700] = { ["event"] = "SPELL_CAST_START", ["source"] = "Hailbringer Marauder", ["npcID"] = 189228, }, [331412] = { ["npcID"] = 177130, }, [46046] = { ["npcID"] = 24687, }, [337556] = { ["npcID"] = 162853, }, [319127] = { ["npcID"] = 161528, }, [372369] = { ["source"] = "Shadepaw Hunter", ["event"] = "SPELL_CAST_START", ["npcID"] = 186490, }, [298651] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 153756, ["encounterID"] = 2312, }, [366227] = { ["npcID"] = 183496, }, [364180] = { ["npcID"] = 183596, }, [351894] = { ["npcID"] = 178180, }, [321178] = { ["npcID"] = 162047, }, [358038] = { ["npcID"] = 179802, }, [59357] = { ["encounterName"] = "Krik'thir the Gatewatcher", ["npcID"] = 28733, ["encounterID"] = 1971, }, [331418] = { ["npcID"] = 170160, }, [227158] = { ["event"] = "SPELL_CAST_START", ["source"] = "Darkspear Headhunter", ["npcID"] = 113034, }, [343706] = { ["npcID"] = 172577, }, [90550] = { ["npcID"] = 41659, }, [323229] = { ["npcID"] = 172073, }, [358041] = { ["npcID"] = 180160, }, [345755] = { ["npcID"] = 166658, }, [384663] = { ["event"] = "SPELL_CAST_START", ["source"] = "Forgewrought Monstrosity", ["npcID"] = 194816, }, [337566] = { ["npcID"] = 164147, }, [169823] = { ["npcID"] = 84983, }, [374426] = { ["source"] = "Initiate Radiya", ["event"] = "SPELL_CAST_START", ["npcID"] = 190014, }, [106421] = { ["npcID"] = 59741, }, [329376] = { ["npcID"] = 179913, }, [169824] = { ["npcID"] = 84984, }, [34785] = { ["npcID"] = 18405, }, [358047] = { ["npcID"] = 179931, }, [353952] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [323236] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 164218, ["encounterID"] = 2381, }, [374430] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Tectonic Crusher", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 190588, }, [327332] = { ["npcID"] = 163459, }, [222043] = { ["npcID"] = 111370, }, [356001] = { ["npcID"] = 177808, }, [193375] = { ["encounterName"] = "Ularogg Cragshaper", ["npcID"] = 91004, ["encounterID"] = 1791, }, [210781] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["npcID"] = 105393, ["encounterID"] = 1873, }, [333477] = { ["npcID"] = 163621, }, [343716] = { ["npcID"] = 172577, }, [213853] = { ["encounterName"] = "Spellblade Aluriel", ["encounterID"] = 1871, ["npcID"] = 104881, }, [32369] = { ["encounterName"] = "Nexus-Prince Shaffar", ["encounterID"] = 1899, ["npcID"] = 18430, }, [356004] = { ["npcID"] = 177514, }, [333479] = { ["npcID"] = 163620, }, [82362] = { ["encounterName"] = "Corla, Herald of Twilight", ["npcID"] = 50284, ["encounterID"] = 1038, }, [198496] = { ["encounterName"] = "Ularogg Cragshaper", ["npcID"] = 91004, ["encounterID"] = 1791, }, [358053] = { ["npcID"] = 180160, }, [335528] = { ["npcID"] = 159755, }, [386722] = { ["event"] = "SPELL_CAST_START", ["source"] = "Alerted Stormsmith", ["npcID"] = 192236, }, [298669] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150712, ["encounterID"] = 2312, }, [341672] = { ["npcID"] = 174861, }, [59359] = { ["encounterName"] = "Anub'arak", ["npcID"] = 29217, ["encounterID"] = 1973, }, [358055] = { ["npcID"] = 179254, }, [368294] = { ["npcID"] = 185752, }, [362151] = { ["npcID"] = 182745, }, [343722] = { ["npcID"] = 162965, }, [388773] = { ["encounterName"] = "Umbrelskul", ["source"] = "Umbrelskul", ["encounterID"] = 2584, ["event"] = "SPELL_CAST_START", ["npcID"] = 186738, }, [341675] = { ["npcID"] = 174861, }, [356010] = { ["npcID"] = 178041, }, [27634] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24555, }, [362154] = { ["npcID"] = 182879, }, [339629] = { ["npcID"] = 173145, }, [372394] = { ["encounterName"] = "The Primal Council", ["source"] = "Dathea Stormlash", ["npcID"] = 187768, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [329392] = { ["npcID"] = 166993, }, [333488] = { ["encounterName"] = "Amarth, The Harvester", ["encounterID"] = 2388, ["npcID"] = 163157, }, [362157] = { ["npcID"] = 182879, }, [356014] = { ["npcID"] = 177356, }, [163689] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80816, }, [59616] = { ["npcID"] = 23960, }, [372397] = { ["source"] = "Brackenhide Warrior", ["event"] = "SPELL_CAST_START", ["npcID"] = 183956, }, [341681] = { ["npcID"] = 174861, }, [329395] = { ["npcID"] = 170044, }, [353969] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [384686] = { ["encounterName"] = "The Raging Tempest", ["source"] = "The Raging Tempest", ["npcID"] = 186615, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2636, }, [358067] = { ["npcID"] = 178877, }, [360115] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [32370] = { ["encounterName"] = "Nexus-Prince Shaffar", ["encounterID"] = 1899, ["npcID"] = 18430, }, [396975] = { ["npcID"] = 191401, }, [57825] = { ["npcID"] = 42361, }, [256865] = { ["npcID"] = 171303, }, [329401] = { ["npcID"] = 156919, }, [69056] = { ["npcID"] = 36478, }, [59617] = { ["npcID"] = 23960, }, [96189] = { ["npcID"] = 24938, }, [45027] = { ["encounterName"] = "Kalecgos", ["npcID"] = 24891, ["encounterID"] = 724, }, [329404] = { ["npcID"] = 160675, }, [116155] = { ["npcID"] = 59521, }, [351931] = { ["npcID"] = 176579, }, [321216] = { ["npcID"] = 166615, }, [169839] = { ["npcID"] = 84957, }, [366267] = { ["npcID"] = 185008, }, [386745] = { ["npcID"] = 189206, }, [169840] = { ["npcID"] = 84989, }, [59362] = { ["npcID"] = 29335, }, [356031] = { ["npcID"] = 177816, }, [135029] = { ["npcID"] = 78116, }, [169841] = { ["npcID"] = 84990, }, [366272] = { ["npcID"] = 185032, }, [315079] = { ["npcID"] = 161388, }, [358082] = { ["npcID"] = 179608, }, [351939] = { ["encounterName"] = "Sylvanas Windrunner", ["npcID"] = 177891, }, [329414] = { ["npcID"] = 160640, }, [356035] = { ["npcID"] = 177427, }, [329415] = { ["npcID"] = 161345, }, [169843] = { ["npcID"] = 84957, }, [315082] = { ["npcID"] = 158259, }, [358085] = { ["npcID"] = 179859, }, [366278] = { ["npcID"] = 185032, }, [388804] = { ["encounterName"] = "Umbrelskul", ["source"] = "Umbrelskul", ["encounterID"] = 2584, ["event"] = "SPELL_CAST_START", ["npcID"] = 186738, }, [362184] = { ["encounterName"] = "Rygelon", ["npcID"] = 182777, ["encounterID"] = 2549, }, [329422] = { ["npcID"] = 157571, }, [341709] = { ["encounterName"] = "Mistcaller", ["npcID"] = 164501, ["encounterID"] = 2392, }, [169847] = { ["npcID"] = 84989, }, [337616] = { ["npcID"] = 158989, }, [34791] = { ["npcID"] = 18405, }, [256878] = { ["npcID"] = 171303, }, [358096] = { ["npcID"] = 177425, }, [364240] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181549, ["encounterID"] = 2544, }, [366288] = { ["npcID"] = 184911, }, [360145] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181399, }, [364241] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181546, ["encounterID"] = 2544, }, [267997] = { ["npcID"] = 135816, }, [394959] = { ["source"] = "Acequian", ["event"] = "SPELL_CAST_START", ["npcID"] = 187617, }, [169851] = { ["npcID"] = 84990, }, [329432] = { ["npcID"] = 177861, }, [115650] = { ["npcID"] = 59522, }, [300764] = { ["npcID"] = 150165, }, [397010] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Honor Guard", ["npcID"] = 197147, }, [397011] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Honor Guard", ["npcID"] = 197147, }, [333531] = { ["npcID"] = 159707, }, [45031] = { ["encounterName"] = "Kalecgos", ["encounterID"] = 724, ["npcID"] = 24892, }, [175997] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83894, }, [9532] = { ["npcID"] = 39874, }, [388822] = { ["encounterName"] = "Echo of Doragosa", ["source"] = "Echo of Doragosa", ["encounterID"] = 2565, ["event"] = "SPELL_CAST_START", ["npcID"] = 190609, }, [366297] = { ["npcID"] = 184911, }, [354011] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [372441] = { ["source"] = "Hyenamaster Durgun", ["event"] = "SPELL_CAST_START", ["npcID"] = 186515, }, [262004] = { ["npcID"] = 132701, }, [321249] = { ["npcID"] = 162051, }, [115652] = { ["npcID"] = 59518, }, [327393] = { ["npcID"] = 163618, }, [341728] = { ["npcID"] = 174161, }, [59366] = { ["encounterName"] = "Krik'thir the Gatewatcher", ["npcID"] = 28731, ["encounterID"] = 1971, }, [339681] = { ["npcID"] = 173455, }, [366303] = { ["npcID"] = 183927, }, [351969] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 175730, ["encounterID"] = 2431, }, [386781] = { ["encounterName"] = "Telash Greywing", ["source"] = "Telash Greywing", ["encounterID"] = 2583, ["event"] = "SPELL_CAST_START", ["npcID"] = 186737, }, [300777] = { ["npcID"] = 150165, }, [360162] = { ["encounterName"] = "Vigilant Guardian", ["npcID"] = 180773, ["encounterID"] = 2512, }, [362210] = { ["npcID"] = 181963, }, [358115] = { ["npcID"] = 178467, }, [145286] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71405, }, [358116] = { ["npcID"] = 180627, }, [106439] = { ["npcID"] = 56395, }, [341735] = { ["npcID"] = 174336, }, [366309] = { ["npcID"] = 180917, }, [351976] = { ["npcID"] = 176579, }, [145288] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71395, }, [323309] = { ["npcID"] = 166932, }, [372456] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 184986, }, [382696] = { ["npcID"] = 184131, }, [167815] = { ["npcID"] = 83390, }, [329455] = { ["encounterName"] = "Hungering Destroyer", ["npcID"] = 164261, ["encounterID"] = 2383, }, [137099] = { ["npcID"] = 69455, }, [325360] = { ["encounterName"] = "Grand Proctor Beryllia", ["npcID"] = 162102, ["encounterID"] = 2362, }, [337647] = { ["npcID"] = 172411, }, [325361] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [59368] = { ["encounterName"] = "Krik'thir the Gatewatcher", ["npcID"] = 28684, ["encounterID"] = 1971, }, [337649] = { ["npcID"] = 172411, }, [337650] = { ["npcID"] = 172411, }, [15228] = { ["npcID"] = 17771, }, [221059] = { ["npcID"] = 111004, }, [356081] = { ["npcID"] = 177390, }, [341747] = { ["npcID"] = 174158, }, [327413] = { ["npcID"] = 168318, }, [31478] = { ["npcID"] = 17918, }, [211845] = { ["npcID"] = 150805, }, [331510] = { ["npcID"] = 170838, }, [358131] = { ["encounterName"] = "Hylbrande", ["npcID"] = 180640, ["encounterID"] = 2426, }, [167819] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [386800] = { ["source"] = "Honmor", ["event"] = "SPELL_CAST_START", ["npcID"] = 193704, }, [153485] = { ["source"] = "Carrion Worm", ["event"] = "SPELL_CAST_START", ["npcID"] = 76057, }, [337655] = { ["npcID"] = 172411, }, [390897] = { ["source"] = "Scalepiercer", ["event"] = "SPELL_CAST_START", ["npcID"] = 186632, }, [368373] = { ["npcID"] = 183516, }, [366326] = { ["npcID"] = 183497, }, [356088] = { ["npcID"] = 177390, }, [172941] = { ["npcID"] = 80691, }, [360185] = { ["npcID"] = 183580, }, [356090] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 175731, ["encounterID"] = 2436, }, [38892] = { ["npcID"] = 20883, }, [351996] = { ["npcID"] = 178384, }, [372474] = { ["source"] = "Shikaar Ranger", ["event"] = "SPELL_CAST_START", ["npcID"] = 180393, }, [368379] = { ["npcID"] = 183516, }, [397048] = { ["source"] = "Frostbreath Arachnid", ["event"] = "SPELL_CAST_START", ["npcID"] = 199333, }, [337664] = { ["npcID"] = 172411, }, [347903] = { ["npcID"] = 176395, }, [341760] = { ["npcID"] = 172958, }, [397051] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cyclas", ["npcID"] = 199029, }, [349954] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176555, }, [392957] = { ["event"] = "SPELL_CAST_START", ["source"] = "Elegant Vorquin", ["npcID"] = 193752, }, [388862] = { ["source"] = "Corrupted Manafiend", ["event"] = "SPELL_CAST_START", ["npcID"] = 196045, }, [356099] = { ["npcID"] = 177395, }, [356100] = { ["npcID"] = 177395, }, [390912] = { ["source"] = "Vile Lasher", ["event"] = "SPELL_CAST_START", ["npcID"] = 197219, }, [106447] = { ["npcID"] = 56395, }, [178067] = { ["npcID"] = 88094, }, [325386] = { ["npcID"] = 166941, }, [34798] = { ["npcID"] = 18419, }, [309005] = { ["npcID"] = 158181, }, [151447] = { ["npcID"] = 84978, }, [81363] = { ["npcID"] = 172060, }, [341771] = { ["npcID"] = 170882, }, [337676] = { ["npcID"] = 172411, }, [169878] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 84399, }, [300818] = { ["npcID"] = 150195, }, [341775] = { ["npcID"] = 167528, }, [172952] = { ["npcID"] = 83026, }, [325395] = { ["encounterName"] = "Domina Venomblade", ["npcID"] = 166813, ["encounterID"] = 2385, }, [352016] = { ["npcID"] = 176578, }, [372495] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rampaging Water", ["npcID"] = 187493, }, [374544] = { ["source"] = "Fetid Rotsinger", ["event"] = "SPELL_CAST_START", ["npcID"] = 186226, }, [325399] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [354068] = { ["encounterName"] = "Sylvanas Windrunner", ["npcID"] = 175732, }, [331543] = { ["npcID"] = 170196, }, [343830] = { ["npcID"] = 157964, }, [116178] = { ["npcID"] = 59522, }, [360213] = { ["npcID"] = 181839, }, [388882] = { ["event"] = "SPELL_CAST_START", ["source"] = "Infuser Sariya", ["npcID"] = 190405, }, [390930] = { ["npcID"] = 185784, }, [78807] = { ["encounterName"] = "Ozruk", ["npcID"] = 42188, ["encounterID"] = 1058, }, [44271] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24555, }, [341786] = { ["npcID"] = 167528, }, [331548] = { ["npcID"] = 167964, }, [288546] = { ["npcID"] = 148797, }, [388886] = { ["source"] = "Spellbound Scepter", ["event"] = "SPELL_CAST_START", ["npcID"] = 196576, }, [331550] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 170197, ["encounterID"] = 2406, }, [358171] = { ["npcID"] = 179070, }, [80344] = { ["npcID"] = 43014, }, [186269] = { ["npcID"] = 90998, }, [341790] = { ["npcID"] = 167528, }, [196508] = { ["encounterName"] = "Inquisitor Tormentorum", ["npcID"] = 99657, ["encounterID"] = 1850, }, [272167] = { ["npcID"] = 136404, }, [319266] = { ["npcID"] = 167921, }, [390938] = { ["source"] = "Aggravated Skitterfly", ["event"] = "SPELL_CAST_START", ["npcID"] = 197406, }, [176032] = { ["npcID"] = 88163, }, [354080] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [382749] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cantankerous Hornswog", ["npcID"] = 187140, }, [333604] = { ["npcID"] = 169312, }, [327461] = { ["npcID"] = 166658, }, [329509] = { ["encounterName"] = "Sun King's Salvation", ["npcID"] = 165805, ["encounterID"] = 2402, }, [349987] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176555, }, [390943] = { ["npcID"] = 185784, }, [362275] = { ["encounterName"] = "Rygelon", ["npcID"] = 182777, ["encounterID"] = 2549, }, [323368] = { ["npcID"] = 159609, }, [360228] = { ["npcID"] = 181839, }, [296748] = { ["npcID"] = 169173, }, [356133] = { ["npcID"] = 180015, }, [374563] = { ["event"] = "SPELL_CAST_START", ["source"] = "Dazzling Dragonfly", ["npcID"] = 190362, }, [12542] = { ["npcID"] = 21104, }, [325418] = { ["npcID"] = 167113, }, [319275] = { ["npcID"] = 165323, }, [222110] = { ["npcID"] = 111405, }, [240540] = { ["npcID"] = 120516, }, [327467] = { ["npcID"] = 153165, }, [339754] = { ["npcID"] = 173455, }, [228254] = { ["npcID"] = 114626, }, [149416] = { ["npcID"] = 183257, }, [333612] = { ["npcID"] = 160811, }, [397093] = { ["source"] = "Wild Kelp Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 196809, }, [317231] = { ["encounterName"] = "Xav the Unfallen", ["npcID"] = 162329, ["encounterID"] = 2366, }, [196515] = { ["npcID"] = 100250, }, [329518] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165805, }, [356139] = { ["npcID"] = 178043, }, [241566] = { ["encounterName"] = "The Desolate Host", ["encounterID"] = 2054, ["npcID"] = 118462, }, [304946] = { ["npcID"] = 178349, }, [339758] = { ["npcID"] = 173455, }, [390952] = { ["source"] = "Grand Flame", ["event"] = "SPELL_CAST_START", ["npcID"] = 188009, }, [196516] = { ["npcID"] = 100248, }, [327474] = { ["npcID"] = 168299, }, [15230] = { ["encounterName"] = "Temporus", ["encounterID"] = 1921, ["npcID"] = 17892, }, [61168] = { ["npcID"] = 41517, }, [362288] = { ["npcID"] = 181968, }, [397100] = { ["event"] = "SPELL_CAST_START", ["source"] = "Magmas", ["npcID"] = 199027, }, [350002] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176533, }, [319286] = { ["npcID"] = 164084, }, [331573] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 170199, ["encounterID"] = 2406, }, [38899] = { ["npcID"] = 21702, }, [372529] = { ["source"] = "Shadepaw Thief", ["event"] = "SPELL_CAST_START", ["npcID"] = 192748, }, [366387] = { ["npcID"] = 180978, }, [191401] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Marksman", ["npcID"] = 96640, }, [327481] = { ["encounterName"] = "Kin-Tara", ["npcID"] = 162059, ["encounterID"] = 2357, }, [386866] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gorging Stagbeetle", ["npcID"] = 195709, }, [339768] = { ["npcID"] = 158891, }, [362294] = { ["npcID"] = 181968, }, [339770] = { ["npcID"] = 173568, }, [197546] = { ["encounterName"] = "Ilysanna Ravencrest", ["npcID"] = 98696, ["encounterID"] = 1833, }, [397108] = { ["source"] = "Wild Kelp Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 196809, }, [395061] = { ["source"] = "Molka The Grinder", ["event"] = "SPELL_CAST_START", ["npcID"] = 193443, }, [397109] = { ["npcID"] = 190008, }, [333629] = { ["encounterName"] = "Amarth, The Harvester", ["encounterID"] = 2388, ["npcID"] = 168246, }, [384823] = { ["encounterName"] = "Kokia Blazehoof", ["source"] = "Blazebound Firestorm", ["npcID"] = 189886, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2606, }, [238502] = { ["encounterName"] = "Kil'jaeden", ["npcID"] = 117269, ["encounterID"] = 2051, }, [397110] = { ["npcID"] = 190008, }, [153521] = { ["npcID"] = 79467, }, [325440] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165764, }, [323393] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 164218, ["encounterID"] = 2381, }, [358205] = { ["npcID"] = 178862, }, [335680] = { ["npcID"] = 165992, }, [339776] = { ["npcID"] = 173568, }, [384827] = { ["encounterName"] = "Gutshot", ["source"] = "Gutshot", ["npcID"] = 186116, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2567, }, [388923] = { ["encounterName"] = "Overgrown Ancient", ["source"] = "Overgrown Ancient", ["encounterID"] = 2563, ["event"] = "SPELL_CAST_START", ["npcID"] = 196482, }, [368446] = { ["npcID"] = 180978, }, [113629] = { ["npcID"] = 59193, }, [354114] = { ["npcID"] = 179234, }, [153524] = { ["source"] = "Plagued Bat", ["event"] = "SPELL_CAST_START", ["npcID"] = 75459, }, [341828] = { ["npcID"] = 172637, }, [39413] = { ["npcID"] = 17729, }, [158644] = { ["npcID"] = 77559, }, [341830] = { ["npcID"] = 172961, }, [362308] = { ["npcID"] = 185755, }, [327497] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166970, ["encounterID"] = 2412, }, [333641] = { ["npcID"] = 169905, }, [376644] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["encounterID"] = 2580, ["event"] = "SPELL_CAST_START", ["npcID"] = 186151, }, [358215] = { ["encounterName"] = "Sylvanas Windrunner", ["npcID"] = 177892, }, [168885] = { ["encounterName"] = "Archmage Sol", ["encounterID"] = 1751, ["npcID"] = 82682, }, [366409] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 184908, ["encounterID"] = 2397, }, [368457] = { ["npcID"] = 180746, }, [345932] = { ["npcID"] = 169827, }, [339789] = { ["npcID"] = 166046, }, [358219] = { ["npcID"] = 179070, }, [393031] = { ["event"] = "SPELL_CAST_START", ["source"] = "Colossal Causality", ["npcID"] = 186672, }, [337742] = { ["npcID"] = 156919, }, [390984] = { ["source"] = "Summoned Lava Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 182815, }, [362316] = { ["npcID"] = 185034, }, [366412] = { ["npcID"] = 183746, }, [360270] = { ["npcID"] = 181625, }, [345936] = { ["encounterName"] = "Shriekwing", ["npcID"] = 164406, ["encounterID"] = 2398, }, [372557] = { ["event"] = "SPELL_CAST_START", ["source"] = "Darktooth Howler", ["npcID"] = 195273, }, [45046] = { ["npcID"] = 25033, }, [197558] = { ["encounterName"] = "Fenryr", ["source"] = "Fenryr", ["npcID"] = 95674, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1807, }, [388941] = { ["source"] = "Hulking Wave", ["event"] = "SPELL_CAST_START", ["npcID"] = 187793, }, [358225] = { ["npcID"] = 178732, }, [393037] = { ["event"] = "SPELL_CAST_START", ["source"] = "Colossal Causality", ["npcID"] = 186672, }, [388942] = { ["source"] = "Arcane Ravager", ["event"] = "SPELL_CAST_START", ["npcID"] = 196671, }, [341844] = { ["npcID"] = 172962, }, [38903] = { ["npcID"] = 20898, }, [321367] = { ["npcID"] = 162165, }, [39415] = { ["encounterName"] = "Harbinger Skyriss", ["encounterID"] = 1914, ["npcID"] = 20912, }, [358227] = { ["npcID"] = 176959, }, [343893] = { ["npcID"] = 162829, }, [388944] = { ["npcID"] = 190904, }, [114658] = { ["encounterName"] = "Instructor Chillheart", ["encounterID"] = 1426, ["npcID"] = 58633, }, [298844] = { ["npcID"] = 173136, }, [382802] = { ["source"] = "Vile Rothexer", ["event"] = "SPELL_CAST_START", ["npcID"] = 194241, }, [329561] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165778, }, [341848] = { ["npcID"] = 172962, }, [339801] = { ["npcID"] = 166046, }, [327515] = { ["npcID"] = 168361, }, [329563] = { ["encounterName"] = "Horridon", ["npcID"] = 152508, }, [372566] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Hunter", ["npcID"] = 189227, }, [358232] = { ["npcID"] = 180104, }, [302943] = { ["npcID"] = 154222, }, [337755] = { ["npcID"] = 163213, }, [339803] = { ["npcID"] = 172524, }, [325469] = { ["npcID"] = 166928, }, [393045] = { ["event"] = "SPELL_CAST_START", ["source"] = "Colossal Causality", ["npcID"] = 186672, }, [226231] = { ["npcID"] = 111170, }, [298849] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150712, ["encounterID"] = 2312, }, [228279] = { ["npcID"] = 114632, }, [388952] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ravenous Riversnapper", ["npcID"] = 192684, }, [228280] = { ["npcID"] = 114629, }, [360284] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181399, }, [354142] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [210875] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stormforged Sentinel", ["npcID"] = 96574, }, [358238] = { ["npcID"] = 178851, }, [335713] = { ["npcID"] = 160770, }, [337761] = { ["npcID"] = 163213, }, [358239] = { ["npcID"] = 178851, }, [368478] = { ["npcID"] = 180746, }, [374622] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Thundering Ravager", ["npcID"] = 190690, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2605, }, [37113] = { ["npcID"] = 17371, }, [374623] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Frozen Destroyer", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 190686, }, [391006] = { ["source"] = "Blisterhide", ["event"] = "SPELL_CAST_START", ["npcID"] = 197353, }, [139206] = { ["npcID"] = 69390, }, [354147] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [364386] = { ["encounterName"] = "Rygelon", ["encounterID"] = 2549, ["npcID"] = 182823, }, [256952] = { ["npcID"] = 134004, }, [32637] = { ["npcID"] = 167749, }, [147398] = { ["npcID"] = 73342, }, [335720] = { ["npcID"] = 178191, }, [341864] = { ["npcID"] = 174092, }, [343912] = { ["npcID"] = 169551, }, [348008] = { ["npcID"] = 176394, }, [341865] = { ["npcID"] = 174194, }, [360295] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181549, ["encounterID"] = 2544, }, [106984] = { ["encounterName"] = "Gu Cloudstrike", ["encounterID"] = 1303, ["npcID"] = 56747, }, [323437] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 164218, ["encounterID"] = 2381, }, [341867] = { ["npcID"] = 165469, }, [153544] = { ["npcID"] = 76116, }, [341868] = { ["npcID"] = 172412, }, [343916] = { ["npcID"] = 169102, }, [198595] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Thundercaller", ["npcID"] = 95842, }, [341869] = { ["npcID"] = 172412, }, [176070] = { ["npcID"] = 173114, }, [341870] = { ["npcID"] = 172412, }, [360300] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181398, }, [386921] = { ["encounterName"] = "Granyth", ["source"] = "Dragonkiller Lance", ["npcID"] = 194367, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2637, }, [364396] = { ["npcID"] = 184272, }, [33787] = { ["npcID"] = 17962, }, [378731] = { ["npcID"] = 190938, }, [341872] = { ["npcID"] = 173834, }, [206788] = { ["encounterName"] = "Trilliax", ["encounterID"] = 1867, ["npcID"] = 104288, }, [44538] = { ["npcID"] = 24698, }, [360304] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181399, }, [321399] = { ["npcID"] = 164128, }, [317304] = { ["npcID"] = 163084, }, [388976] = { ["source"] = "Arcane Ravager", ["event"] = "SPELL_CAST_START", ["npcID"] = 196671, }, [350071] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 177117, }, [337785] = { ["npcID"] = 171160, }, [348024] = { ["npcID"] = 176520, }, [382836] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Maruuk", ["npcID"] = 186338, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [368502] = { ["npcID"] = 180924, }, [341883] = { ["npcID"] = 173834, }, [321406] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 169498, ["encounterID"] = 2384, }, [372600] = { ["encounterName"] = "Sentinel Talondras", ["source"] = "Sentinel Talondras", ["encounterID"] = 2557, ["event"] = "SPELL_CAST_START", ["npcID"] = 184124, }, [102381] = { ["encounterName"] = "Murozond", ["npcID"] = 54432, ["encounterID"] = 1271, }, [393079] = { ["source"] = "Koroleth", ["event"] = "SPELL_CAST_START", ["npcID"] = 188180, }, [327552] = { ["npcID"] = 168573, }, [325506] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165764, }, [358271] = { ["npcID"] = 179914, }, [296839] = { ["npcID"] = 152898, }, [360320] = { ["npcID"] = 181942, }, [214988] = { ["npcID"] = 100364, }, [335748] = { ["npcID"] = 171873, }, [222156] = { ["npcID"] = 111554, }, [214989] = { ["npcID"] = 100364, }, [368514] = { ["npcID"] = 183764, }, [339846] = { ["npcID"] = 166052, }, [391040] = { ["npcID"] = 185784, }, [329608] = { ["npcID"] = 155828, }, [350086] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176705, }, [329609] = { ["npcID"] = 155828, }, [384899] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rotbow Stalker", ["npcID"] = 186208, }, [111599] = { ["encounterName"] = "Instructor Chillheart", ["encounterID"] = 1426, ["npcID"] = 58757, }, [391043] = { ["npcID"] = 185784, }, [372615] = { ["event"] = "SPELL_CAST_START", ["source"] = "Tamed Phoenix", ["npcID"] = 189247, }, [298897] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150712, ["encounterID"] = 2312, }, [236494] = { ["encounterName"] = "Fallen Avatar", ["npcID"] = 116939, ["encounterID"] = 2038, }, [298898] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 153755, ["encounterID"] = 2312, }, [368522] = { ["npcID"] = 183764, }, [113136] = { ["npcID"] = 59080, }, [341902] = { ["npcID"] = 174197, }, [352141] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 176974, }, [391050] = { ["event"] = "SPELL_CAST_START", ["source"] = "High Channeler Ryvati", ["npcID"] = 197535, }, [360334] = { ["npcID"] = 183953, }, [325523] = { ["npcID"] = 165515, }, [319380] = { ["npcID"] = 159233, }, [329619] = { ["npcID"] = 159407, }, [341906] = { ["npcID"] = 173834, }, [163802] = { ["encounterName"] = "Gug'rokk", ["encounterID"] = 1654, ["npcID"] = 74790, }, [372623] = { ["encounterName"] = "Sentinel Talondras", ["npcID"] = 184124, ["encounterID"] = 2557, }, [83445] = { ["encounterName"] = "General Husam", ["npcID"] = 44577, ["encounterID"] = 1052, }, [233426] = { ["encounterName"] = "Demonic Inquisition", ["npcID"] = 116689, ["encounterID"] = 2048, }, [333717] = { ["npcID"] = 170872, }, [319383] = { ["npcID"] = 165706, }, [207830] = { ["npcID"] = 103695, }, [350101] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176705, }, [360340] = { ["npcID"] = 182425, }, [346006] = { ["encounterName"] = "Zo'phex the Sentinel", ["encounterID"] = 2425, ["npcID"] = 175616, }, [376723] = { ["encounterName"] = "Balakar Khan", ["source"] = "Nokhud Stormcaster", ["npcID"] = 190294, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [354198] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [211927] = { ["encounterName"] = "Chronomatic Anomaly", ["encounterID"] = 1865, ["npcID"] = 104415, }, [59389] = { ["encounterName"] = "Prince Keleseth", ["npcID"] = 23953, ["encounterID"] = 2026, }, [362390] = { ["encounterName"] = "Rygelon", ["encounterID"] = 2549, ["npcID"] = 182777, }, [79351] = { ["encounterName"] = "High Priestess Azil", ["npcID"] = 42333, ["encounterID"] = 1057, }, [376725] = { ["encounterName"] = "Balakar Khan", ["source"] = "Nokhud Stormcaster", ["npcID"] = 190294, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [327581] = { ["npcID"] = 168396, }, [38912] = { ["npcID"] = 20901, }, [364442] = { ["npcID"] = 180089, }, [325535] = { ["npcID"] = 164562, }, [270246] = { ["npcID"] = 154128, }, [327584] = { ["npcID"] = 168393, }, [270248] = { ["npcID"] = 154129, }, [364445] = { ["npcID"] = 180089, }, [358302] = { ["npcID"] = 179911, }, [183263] = { ["encounterName"] = "Horridon", ["npcID"] = 155219, }, [360351] = { ["npcID"] = 179043, }, [193502] = { ["npcID"] = 98177, }, [372638] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 189706, }, [164834] = { ["npcID"] = 81819, }, [368544] = { ["npcID"] = 184597, }, [364449] = { ["npcID"] = 179939, }, [368545] = { ["npcID"] = 184599, }, [358307] = { ["npcID"] = 179913, }, [217053] = { ["npcID"] = 104220, }, [356260] = { ["npcID"] = 179388, }, [335783] = { ["npcID"] = 155812, }, [333736] = { ["npcID"] = 165477, }, [368548] = { ["npcID"] = 185145, }, [193505] = { ["npcID"] = 91000, }, [331689] = { ["npcID"] = 165181, }, [382883] = { ["source"] = "Vile Rothexer", ["event"] = "SPELL_CAST_START", ["npcID"] = 194241, }, [25602] = { ["npcID"] = 19306, }, [78331] = { ["npcID"] = 41641, }, [368551] = { ["npcID"] = 184605, }, [348074] = { ["npcID"] = 178041, }, [325549] = { ["npcID"] = 172080, }, [319406] = { ["npcID"] = 159233, }, [358314] = { ["npcID"] = 180162, }, [38914] = { ["npcID"] = 20901, }, [362410] = { ["npcID"] = 181349, }, [352172] = { ["npcID"] = 178102, }, [358316] = { ["npcID"] = 180681, }, [374699] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamecaller Aymi", ["npcID"] = 190368, }, [270264] = { ["npcID"] = 154131, }, [362413] = { ["npcID"] = 179939, }, [164841] = { ["encounterName"] = "Teron'gor", ["encounterID"] = 1714, ["npcID"] = 77734, }, [356271] = { ["npcID"] = 180059, }, [358320] = { ["npcID"] = 180162, }, [386991] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Proto-Drake", ["npcID"] = 184869, }, [111610] = { ["encounterName"] = "Instructor Chillheart", ["encounterID"] = 1426, ["npcID"] = 58633, }, [178154] = { ["encounterName"] = "Oshir", ["encounterID"] = 1750, ["npcID"] = 89011, }, [374706] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamecaller Aymi", ["npcID"] = 190368, }, [319417] = { ["npcID"] = 157036, }, [395184] = { ["source"] = "Blazing Proto-Dragon", ["event"] = "SPELL_CAST_START", ["npcID"] = 185883, }, [298940] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 153755, ["encounterID"] = 2312, }, [224229] = { ["npcID"] = 112655, }, [75775] = { ["npcID"] = 41146, }, [386994] = { ["source"] = "Wild Proto-Drake", ["event"] = "SPELL_CAST_START", ["npcID"] = 194086, }, [202728] = { ["npcID"] = 99649, }, [323515] = { ["encounterName"] = "Gorechop", ["npcID"] = 162317, ["encounterID"] = 2365, }, [358327] = { ["npcID"] = 179760, }, [44547] = { ["npcID"] = 24697, }, [358328] = { ["npcID"] = 179760, }, [370615] = { ["encounterName"] = "Eranog", ["source"] = "Eranog", ["encounterID"] = 2587, ["event"] = "SPELL_CAST_START", ["npcID"] = 184972, }, [83455] = { ["encounterName"] = "Siamat", ["npcID"] = 44704, ["encounterID"] = 1055, }, [236518] = { ["encounterName"] = "Sisters of the Moon", ["npcID"] = 118518, ["encounterID"] = 2050, }, [196587] = { ["encounterName"] = "Amalgam of Souls", ["npcID"] = 98542, ["encounterID"] = 1832, }, [298946] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 153755, ["encounterID"] = 2312, }, [79872] = { ["npcID"] = 177586, }, [348094] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [288710] = { ["npcID"] = 157683, }, [127483] = { ["npcID"] = 166987, }, [354240] = { ["npcID"] = 179433, }, [393148] = { ["source"] = "Maneet", ["event"] = "SPELL_CAST_START", ["npcID"] = 188704, }, [30851] = { ["npcID"] = 17395, }, [216044] = { ["npcID"] = 108678, }, [344003] = { ["npcID"] = 168580, }, [387006] = { ["source"] = "Rotting Treant", ["event"] = "SPELL_CAST_START", ["npcID"] = 186361, }, [389054] = { ["source"] = "Arcane Forager", ["event"] = "SPELL_CAST_START", ["npcID"] = 196694, }, [31747] = { ["npcID"] = 22466, }, [331718] = { ["npcID"] = 171772, }, [199663] = { ["npcID"] = 98370, }, [260072] = { ["npcID"] = 131834, }, [57091] = { ["encounterName"] = "Keristrasza", ["encounterID"] = 2011, ["npcID"] = 26723, }, [384961] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rotbow Stalker", ["npcID"] = 186208, }, [140279] = { ["npcID"] = 70069, }, [12675] = { ["npcID"] = 17963, }, [374724] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamecaller Aymi", ["npcID"] = 190368, }, [335817] = { ["encounterName"] = "Devos, Paragon of Loyalty", ["npcID"] = 162061, ["encounterID"] = 2359, }, [356295] = { ["npcID"] = 170257, }, [228334] = { ["encounterName"] = "Shade of Medivh", ["npcID"] = 114350, ["encounterID"] = 1965, }, [364488] = { ["encounterName"] = "The Jailer", ["npcID"] = 180990, ["encounterID"] = 2537, }, [354250] = { ["npcID"] = 179434, }, [38918] = { ["npcID"] = 20902, }, [214001] = { ["npcID"] = 102095, }, [151545] = { ["npcID"] = 75210, }, [329679] = { ["npcID"] = 158256, }, [358348] = { ["npcID"] = 179472, }, [372683] = { ["event"] = "SPELL_CAST_START", ["source"] = "Infused Whelp", ["npcID"] = 187894, }, [378827] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Plunderer", ["npcID"] = 192786, }, [323538] = { ["encounterName"] = "High Adjudicator Aleez", ["npcID"] = 165410, ["encounterID"] = 2403, }, [376780] = { ["encounterName"] = "Warlord Sargha", ["source"] = "Warlord Sargha", ["npcID"] = 189901, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2611, }, [214003] = { ["npcID"] = 102094, }, [356303] = { ["npcID"] = 180162, }, [341969] = { ["npcID"] = 174210, }, [354256] = { ["npcID"] = 177413, }, [364495] = { ["npcID"] = 181625, }, [236529] = { ["encounterName"] = "Sisters of the Moon", ["npcID"] = 118523, ["encounterID"] = 2050, }, [387021] = { ["event"] = "SPELL_CAST_START", ["source"] = "Agitated Essence", ["npcID"] = 192238, }, [166906] = { ["npcID"] = 178645, }, [151548] = { ["npcID"] = 75272, }, [356306] = { ["npcID"] = 182214, }, [325590] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165763, }, [319447] = { ["npcID"] = 157099, }, [378832] = { ["event"] = "SPELL_CAST_START", ["source"] = "Skulking Bruiser", ["npcID"] = 196384, }, [325591] = { ["npcID"] = 157212, }, [192504] = { ["encounterName"] = "Tirathon Saltheril", ["npcID"] = 95885, ["encounterID"] = 1815, }, [56837] = { ["npcID"] = 26727, }, [339927] = { ["npcID"] = 173553, }, [384978] = { ["encounterName"] = "Umbrelskul", ["source"] = "Umbrelskul", ["encounterID"] = 2584, ["event"] = "SPELL_CAST_START", ["npcID"] = 186738, }, [378835] = { ["source"] = "Brackenhide Rotflinger", ["event"] = "SPELL_CAST_START", ["npcID"] = 186362, }, [366549] = { ["npcID"] = 185154, }, [352215] = { ["npcID"] = 176578, }, [341977] = { ["npcID"] = 170690, }, [176124] = { ["npcID"] = 173114, }, [154623] = { ["npcID"] = 77131, }, [354265] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 175730, ["encounterID"] = 2431, }, [75272] = { ["encounterName"] = "Rom'ogg Bonecrusher", ["npcID"] = 39665, ["encounterID"] = 1040, }, [372696] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Juggernaut", ["npcID"] = 188244, }, [327646] = { ["encounterName"] = "Mueh'zala", ["npcID"] = 166608, ["encounterID"] = 2396, }, [395222] = { ["source"] = "Kain Firebrand", ["event"] = "SPELL_CAST_START", ["npcID"] = 193675, }, [142338] = { ["npcID"] = 72451, }, [226296] = { ["npcID"] = 91000, }, [331743] = { ["npcID"] = 166276, }, [360412] = { ["encounterName"] = "Vigilant Guardian", ["npcID"] = 180773, ["encounterID"] = 2512, }, [200700] = { ["encounterName"] = "Dargrul the Underking", ["npcID"] = 91007, ["encounterID"] = 1793, }, [352223] = { ["npcID"] = 176578, }, [372701] = { ["encounterName"] = "Sentinel Talondras", ["npcID"] = 184124, ["encounterID"] = 2557, }, [366559] = { ["npcID"] = 185154, }, [30853] = { ["npcID"] = 17395, }, [325605] = { ["npcID"] = 169630, }, [378847] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Spinecrusher", ["npcID"] = 192787, }, [389086] = { ["source"] = "Hunting Bakar", ["event"] = "SPELL_CAST_START", ["npcID"] = 193741, }, [69131] = { ["npcID"] = 36516, }, [387039] = { ["source"] = "Nokhud Brute", ["event"] = "SPELL_CAST_START", ["npcID"] = 187299, }, [350180] = { ["npcID"] = 177286, }, [327655] = { ["npcID"] = 168420, }, [329703] = { ["npcID"] = 159106, }, [391136] = { ["source"] = "Drakonid Breaker", ["event"] = "SPELL_CAST_START", ["npcID"] = 187240, }, [319465] = { ["npcID"] = 164184, }, [378850] = { ["source"] = "Destabilized Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 181536, }, [151558] = { ["npcID"] = 75272, }, [17287] = { ["npcID"] = 19633, }, [329706] = { ["npcID"] = 177397, }, [366566] = { ["npcID"] = 184910, }, [329707] = { ["npcID"] = 158290, }, [45065] = { ["encounterName"] = "Brutallus", ["npcID"] = 24895, ["encounterID"] = 725, }, [387045] = { ["source"] = "Ezrigeth", ["event"] = "SPELL_CAST_START", ["npcID"] = 187666, }, [305136] = { ["npcID"] = 156212, }, [335853] = { ["npcID"] = 177068, }, [226304] = { ["npcID"] = 91000, }, [389096] = { ["event"] = "SPELL_CAST_START", ["source"] = "Alia Sunsoar", ["npcID"] = 196737, }, [327664] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [387049] = { ["event"] = "SPELL_CAST_START", ["source"] = "Wild Proto-Dragon", ["npcID"] = 194089, }, [376811] = { ["encounterName"] = "Treemouth", ["source"] = "Treemouth", ["encounterID"] = 2568, ["event"] = "SPELL_CAST_START", ["npcID"] = 186120, }, [395241] = { ["source"] = "Primalist Voltweaver", ["event"] = "SPELL_CAST_START", ["npcID"] = 198868, }, [389098] = { ["event"] = "SPELL_CAST_START", ["source"] = "Alia Sunsoar", ["npcID"] = 196737, }, [366573] = { ["npcID"] = 185154, }, [313332] = { ["npcID"] = 166987, }, [374765] = { ["event"] = "SPELL_CAST_START", ["source"] = "Tamed Vulture", ["npcID"] = 190931, }, [201733] = { ["encounterName"] = "Lord Kur'talos Ravencrest", ["npcID"] = 98970, ["encounterID"] = 1835, }, [360432] = { ["npcID"] = 178803, }, [362480] = { ["npcID"] = 182322, }, [372719] = { ["encounterName"] = "Sentinel Talondras", ["npcID"] = 184124, ["encounterID"] = 2557, }, [387054] = { ["event"] = "SPELL_CAST_START", ["source"] = "Soggymaw Crabtrapper", ["npcID"] = 187971, }, [212997] = { ["encounterName"] = "Tichondrius", ["encounterID"] = 1862, ["npcID"] = 103685, }, [166923] = { ["npcID"] = 81603, }, [272382] = { ["npcID"] = 155250, }, [296956] = { ["npcID"] = 152995, }, [151566] = { ["npcID"] = 74349, }, [354297] = { ["npcID"] = 177817, }, [207881] = { ["encounterName"] = "Talixae Flamewreath", ["npcID"] = 104217, }, [333821] = { ["npcID"] = 161896, }, [395254] = { ["source"] = "Primalist Tempestmaker", ["event"] = "SPELL_CAST_START", ["npcID"] = 198878, }, [329727] = { ["npcID"] = 156919, }, [339966] = { ["npcID"] = 164861, }, [358396] = { ["npcID"] = 179460, }, [376827] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [348159] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 164967, ["encounterID"] = 2384, }, [387067] = { ["source"] = "Forgotten Creation", ["event"] = "SPELL_CAST_START", ["npcID"] = 193214, }, [348160] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 164967, ["encounterID"] = 2384, }, [376829] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [333827] = { ["npcID"] = 167533, }, [372735] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flashfrost Earthshaper", ["npcID"] = 187969, }, [270348] = { ["npcID"] = 154131, }, [331781] = { ["npcID"] = 170164, }, [31623] = { ["encounterName"] = "Swamplord Musel'ek", ["encounterID"] = 1947, ["npcID"] = 17826, }, [352259] = { ["npcID"] = 179433, }, [360451] = { ["encounterName"] = "Skolex, the Insatiable Ravener", ["npcID"] = 181395, ["encounterID"] = 2542, }, [339975] = { ["npcID"] = 173609, }, [393217] = { ["source"] = "Blazing Inferno", ["event"] = "SPELL_CAST_START", ["npcID"] = 189043, }, [227341] = { ["encounterName"] = "Opera Hall", ["npcID"] = 114251, ["encounterID"] = 1957, }, [59147] = { ["npcID"] = 28580, }, [111631] = { ["encounterName"] = "Instructor Chillheart", ["encounterID"] = 1426, ["npcID"] = 58633, }, [374789] = { ["encounterName"] = "Leymor", ["source"] = "Leymor", ["encounterID"] = 2582, ["event"] = "SPELL_CAST_START", ["npcID"] = 186644, }, [153623] = { ["encounterName"] = "Nhallish", ["encounterID"] = 1688, ["npcID"] = 75829, }, [385029] = { ["event"] = "SPELL_CAST_START", ["source"] = "Fleshripper Vulture", ["npcID"] = 186246, }, [329740] = { ["npcID"] = 158290, }, [143385] = { ["encounterName"] = "Siegecrafter Blackfuse", ["encounterID"] = 1601, ["npcID"] = 71504, }, [296978] = { ["npcID"] = 153003, }, [191508] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Aspirant", ["npcID"] = 101637, }, [225296] = { ["npcID"] = 111528, }, [362507] = { ["npcID"] = 182690, }, [333839] = { ["npcID"] = 167534, }, [191509] = { ["npcID"] = 102886, }, [319506] = { ["npcID"] = 164232, }, [395273] = { ["source"] = "Primal Stormsentry", ["event"] = "SPELL_CAST_START", ["npcID"] = 196856, }, [59148] = { ["npcID"] = 28580, }, [352271] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [387083] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Briarback", ["npcID"] = 187264, }, [241680] = { ["encounterName"] = "Harjatan", ["npcID"] = 121184, ["encounterID"] = 2036, }, [36879] = { ["npcID"] = 20977, }, [333845] = { ["npcID"] = 167534, }, [151581] = { ["npcID"] = 75426, }, [323608] = { ["encounterName"] = "Mordretha", ["npcID"] = 165946, ["encounterID"] = 2404, }, [376851] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Dathea, Ascended", ["npcID"] = 189813, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [329753] = { ["npcID"] = 185099, }, [339992] = { ["npcID"] = 173609, }, [17290] = { ["npcID"] = 17477, }, [368661] = { ["npcID"] = 179386, }, [387091] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Sunseeker", ["npcID"] = 187239, }, [391187] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bisquius", ["npcID"] = 197557, }, [368662] = { ["npcID"] = 180015, }, [321564] = { ["npcID"] = 165124, }, [360472] = { ["npcID"] = 178803, }, [321565] = { ["npcID"] = 165829, }, [301088] = { ["npcID"] = 151657, }, [167966] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83893, }, [358426] = { ["npcID"] = 178004, }, [9734] = { ["npcID"] = 41608, }, [79896] = { ["npcID"] = 184080, }, [189469] = { ["npcID"] = 100364, }, [241687] = { ["npcID"] = 117484, }, [397338] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Tectonic Crusher", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 190588, }, [292903] = { ["npcID"] = 166714, }, [208924] = { ["encounterName"] = "Trilliax", ["encounterID"] = 1867, ["npcID"] = 104288, }, [356384] = { ["npcID"] = 178907, }, [331812] = { ["npcID"] = 164388, }, [356386] = { ["npcID"] = 178907, }, [333861] = { ["npcID"] = 167536, }, [376865] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [352293] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [274480] = { ["encounterName"] = "High Prophet Barim", ["npcID"] = 139842, ["encounterID"] = 1053, }, [366629] = { ["npcID"] = 185155, }, [329770] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [393251] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frenzied Grovetalon", ["npcID"] = 187507, }, [391204] = { ["event"] = "SPELL_CAST_START", ["source"] = "Uurtus", ["npcID"] = 193724, }, [395300] = { ["source"] = "Azure Pathfinder", ["event"] = "SPELL_CAST_START", ["npcID"] = 194210, }, [340011] = { ["npcID"] = 173613, }, [374823] = { ["event"] = "SPELL_CAST_START", ["source"] = "Squallbringer Cyraz", ["npcID"] = 190370, }, [208929] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["npcID"] = 105383, ["encounterID"] = 1873, }, [101401] = { ["encounterName"] = "Echo of Sylvanas", ["npcID"] = 54123, ["encounterID"] = 1882, }, [366633] = { ["npcID"] = 185155, }, [385063] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Cinderweaver", ["npcID"] = 190207, }, [329774] = { ["encounterName"] = "Hungering Destroyer", ["npcID"] = 164261, ["encounterID"] = 2383, }, [282676] = { ["npcID"] = 145811, }, [191524] = { ["npcID"] = 96657, }, [346157] = { ["npcID"] = 175699, }, [148522] = { ["encounterName"] = "Galakras", ["npcID"] = 72958, ["encounterID"] = 1622, }, [206883] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104534, }, [358446] = { ["npcID"] = 179460, }, [393259] = { ["source"] = "Blazing Inferno", ["event"] = "SPELL_CAST_START", ["npcID"] = 189043, }, [340018] = { ["npcID"] = 172523, }, [333875] = { ["npcID"] = 168942, }, [340019] = { ["npcID"] = 173604, }, [191527] = { ["npcID"] = 96657, }, [297017] = { ["npcID"] = 152995, }, [227363] = { ["encounterName"] = "Attumen the Huntsman", ["npcID"] = 114264, ["encounterID"] = 1960, }, [118297] = { ["npcID"] = 61029, }, [297018] = { ["npcID"] = 152995, }, [329783] = { ["npcID"] = 156226, }, [356404] = { ["npcID"] = 180091, }, [297020] = { ["npcID"] = 185015, }, [393265] = { ["source"] = "Tombcaller Ganzaya", ["event"] = "SPELL_CAST_START", ["npcID"] = 188509, }, [387122] = { ["source"] = "Arcane Construct", ["event"] = "SPELL_CAST_START", ["npcID"] = 186740, }, [170028] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 84358, }, [292926] = { ["npcID"] = 151127, }, [319547] = { ["npcID"] = 165706, }, [156718] = { ["npcID"] = 76104, }, [356407] = { ["npcID"] = 180091, }, [358455] = { ["npcID"] = 177972, }, [81439] = { ["npcID"] = 43391, }, [387125] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Thunderbeast", ["npcID"] = 195696, }, [315454] = { ["npcID"] = 157212, }, [374839] = { ["encounterName"] = "Forgemaster Gorek", ["source"] = "Forgemaster Gorek", ["npcID"] = 189478, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2612, }, [325694] = { ["npcID"] = 160359, }, [387127] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Thunderbeast", ["npcID"] = 195696, }, [241702] = { ["encounterName"] = "Kil'jaeden", ["npcID"] = 121193, ["encounterID"] = 2051, }, [337982] = { ["npcID"] = 162872, }, [81440] = { ["npcID"] = 43391, }, [356414] = { ["npcID"] = 179892, }, [59154] = { ["npcID"] = 28920, }, [51219] = { ["npcID"] = 46859, }, [156722] = { ["npcID"] = 77700, }, [389179] = { ["encounterName"] = "Watcher Irideus", ["source"] = "Watcher Irideus", ["npcID"] = 189719, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2615, }, [325700] = { ["npcID"] = 165529, }, [106526] = { ["encounterName"] = "Wise Mari", ["encounterID"] = 1418, ["npcID"] = 56448, }, [325701] = { ["npcID"] = 165529, }, [226347] = { ["npcID"] = 102404, }, [372800] = { ["event"] = "SPELL_CAST_START", ["source"] = "Expedition Guardian", ["npcID"] = 187125, }, [358466] = { ["npcID"] = 178898, }, [387135] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Arcblade", ["npcID"] = 194898, }, [331846] = { ["npcID"] = 167964, }, [183345] = { ["npcID"] = 185015, }, [319560] = { ["npcID"] = 158179, }, [170035] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 84358, }, [81442] = { ["npcID"] = 43391, }, [193585] = { ["npcID"] = 102232, }, [292942] = { ["npcID"] = 166714, }, [350280] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [184371] = { ["npcID"] = 185125, }, [346186] = { ["npcID"] = 167323, }, [364616] = { ["npcID"] = 183596, }, [391237] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bisquius", ["npcID"] = 197557, }, [368712] = { ["npcID"] = 184058, }, [242733] = { ["npcID"] = 117230, }, [372808] = { ["encounterName"] = "Melidrussa Chillworn", ["source"] = "Melidrussa Chillworn", ["npcID"] = 188252, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2609, }, [350283] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 177094, }, [358475] = { ["npcID"] = 178898, }, [362572] = { ["npcID"] = 182728, }, [374859] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [209971] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 106643, }, [356430] = { ["npcID"] = 178958, }, [173112] = { ["npcID"] = 83697, }, [356431] = { ["npcID"] = 180113, }, [370766] = { ["source"] = "Crystal Thrasher", ["event"] = "SPELL_CAST_START", ["npcID"] = 187139, }, [362576] = { ["npcID"] = 182728, }, [295001] = { ["encounterName"] = "Horridon", ["npcID"] = 151128, }, [101411] = { ["encounterName"] = "Echo of Sylvanas", ["npcID"] = 54123, ["encounterID"] = 1882, }, [338005] = { ["npcID"] = 165415, }, [374865] = { ["source"] = "Konkhular", ["event"] = "SPELL_CAST_START", ["npcID"] = 194544, }, [364628] = { ["npcID"] = 183596, }, [338008] = { ["npcID"] = 163213, }, [229429] = { ["npcID"] = 115388, }, [173116] = { ["npcID"] = 80700, }, [340057] = { ["npcID"] = 174336, }, [385108] = { ["source"] = "Restless Podling", ["event"] = "SPELL_CAST_START", ["npcID"] = 187317, }, [352345] = { ["encounterName"] = "Timecap'n Hooktail", ["npcID"] = 176178, ["encounterID"] = 2419, }, [338011] = { ["npcID"] = 166318, }, [325725] = { ["encounterName"] = "Mueh'zala", ["npcID"] = 166608, ["encounterID"] = 2396, }, [9672] = { ["npcID"] = 41795, }, [352347] = { ["encounterName"] = "Hylbrande", ["npcID"] = 176551, ["encounterID"] = 2426, }, [346204] = { ["encounterName"] = "Zo'phex the Sentinel", ["encounterID"] = 2425, ["npcID"] = 175616, }, [182333] = { ["npcID"] = 88087, }, [352348] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [346205] = { ["npcID"] = 173717, }, [270439] = { ["npcID"] = 134309, }, [321633] = { ["npcID"] = 166600, }, [393305] = { ["source"] = "Primalist Earthwarden", ["event"] = "SPELL_CAST_START", ["npcID"] = 193709, }, [193597] = { ["encounterName"] = "Lady Hatecoil", ["npcID"] = 91789, }, [323682] = { ["npcID"] = 163501, }, [366685] = { ["npcID"] = 185271, }, [393306] = { ["source"] = "Primalist Earthwarden", ["event"] = "SPELL_CAST_START", ["npcID"] = 193709, }, [346208] = { ["npcID"] = 167323, }, [323683] = { ["encounterName"] = "Mordretha", ["npcID"] = 165946, ["encounterID"] = 2404, }, [270442] = { ["npcID"] = 134306, }, [393308] = { ["source"] = "Primalist Flamecaller", ["event"] = "SPELL_CAST_START", ["npcID"] = 193558, }, [389213] = { ["source"] = "Flame Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 192764, }, [235578] = { ["npcID"] = 118698, }, [366689] = { ["npcID"] = 185268, }, [352355] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 176929, }, [364643] = { ["npcID"] = 181057, }, [383073] = { ["encounterName"] = "Terros", ["source"] = "Terros", ["encounterID"] = 2639, ["event"] = "SPELL_CAST_START", ["npcID"] = 190496, }, [354405] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [323689] = { ["npcID"] = 166650, }, [333929] = { ["npcID"] = 177443, }, [329834] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 169267, }, [206912] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 111054, }, [374885] = { ["source"] = "Astral Attendant", ["event"] = "SPELL_CAST_START", ["npcID"] = 189555, }, [364647] = { ["npcID"] = 181057, }, [333931] = { ["npcID"] = 177443, }, [376934] = { ["encounterName"] = "Treemouth", ["source"] = "Treemouth", ["encounterID"] = 2568, ["event"] = "SPELL_CAST_START", ["npcID"] = 186120, }, [372839] = { ["source"] = "Nokhud Spearthrower", ["event"] = "SPELL_CAST_START", ["npcID"] = 191570, }, [333932] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 169813, }, [362601] = { ["encounterName"] = "Lihuvim, Principal Architect", ["npcID"] = 182169, ["encounterID"] = 2539, }, [329838] = { ["npcID"] = 169876, }, [342125] = { ["npcID"] = 167538, }, [325744] = { ["npcID"] = 167065, }, [364652] = { ["encounterName"] = "Lihuvim, Principal Architect", ["npcID"] = 182169, ["encounterID"] = 2539, }, [374892] = { ["event"] = "SPELL_CAST_START", ["source"] = "Magmammoth Calf", ["npcID"] = 180705, }, [383084] = { ["event"] = "SPELL_CAST_START", ["source"] = "Water Primalist", ["npcID"] = 190066, }, [321652] = { ["npcID"] = 166615, }, [333939] = { ["npcID"] = 165206, }, [376943] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Dathea, Ascended", ["npcID"] = 189813, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [301177] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150190, ["encounterID"] = 2291, }, [360562] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [374898] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Devilsaur", ["npcID"] = 187262, }, [372851] = { ["encounterName"] = "Melidrussa Chillworn", ["source"] = "Melidrussa Chillworn", ["npcID"] = 188252, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2609, }, [342135] = { ["npcID"] = 167532, }, [75823] = { ["encounterName"] = "Corla, Herald of Twilight", ["npcID"] = 39679, ["encounterID"] = 1038, }, [395377] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thondrozus", ["npcID"] = 192769, }, [146511] = { ["npcID"] = 72929, }, [206920] = { ["encounterName"] = "Xavius", ["encounterID"] = 1864, ["npcID"] = 104592, }, [153679] = { ["encounterName"] = "Slave Watcher Crushto", ["encounterID"] = 1653, ["npcID"] = 74787, }, [385141] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Galesinger", ["npcID"] = 190373, }, [387189] = { ["source"] = "Rendvith", ["event"] = "SPELL_CAST_START", ["npcID"] = 196971, }, [206921] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 103758, }, [342139] = { ["npcID"] = 167538, }, [360569] = { ["npcID"] = 180930, }, [362617] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [145489] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 73724, }, [352379] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 176929, }, [387191] = { ["event"] = "SPELL_CAST_START", ["source"] = "Strunraan", ["npcID"] = 193534, }, [364666] = { ["npcID"] = 178563, }, [397431] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Volatile Infuser", ["npcID"] = 192934, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [385145] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Raptor", ["npcID"] = 187256, }, [173135] = { ["npcID"] = 83578, }, [366716] = { ["npcID"] = 185274, }, [389242] = { ["source"] = "Stormed Blackpaw", ["event"] = "SPELL_CAST_START", ["npcID"] = 193827, }, [110125] = { ["npcID"] = 57109, }, [338049] = { ["npcID"] = 163213, }, [331906] = { ["npcID"] = 157847, }, [372862] = { ["source"] = "Churning Splash", ["event"] = "SPELL_CAST_START", ["npcID"] = 187318, }, [244808] = { ["npcID"] = 145337, }, [321669] = { ["encounterName"] = "Mistcaller", ["npcID"] = 165108, ["encounterID"] = 2392, }, [389245] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blacktalon Assassin", ["npcID"] = 190111, }, [358529] = { ["npcID"] = 179853, }, [360577] = { ["npcID"] = 180930, }, [346243] = { ["npcID"] = 168233, }, [331909] = { ["npcID"] = 165473, }, [350339] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 177407, }, [329862] = { ["npcID"] = 177427, }, [389247] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blacktalon Avenger", ["npcID"] = 187187, }, [79922] = { ["npcID"] = 42808, }, [323720] = { ["npcID"] = 184465, }, [350342] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 177095, }, [200784] = { ["npcID"] = 98792, }, [125997] = { ["npcID"] = 63764, }, [270481] = { ["npcID"] = 135002, }, [319628] = { ["npcID"] = 156564, }, [235597] = { ["encounterName"] = "Fallen Avatar", ["npcID"] = 116939, ["encounterID"] = 2038, }, [81459] = { ["npcID"] = 43537, }, [385157] = { ["event"] = "SPELL_CAST_START", ["source"] = "Riverback Rambler", ["npcID"] = 189463, }, [387205] = { ["event"] = "SPELL_CAST_START", ["source"] = "Forgotten Gryphon", ["npcID"] = 193154, }, [346251] = { ["npcID"] = 178490, }, [299153] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150712, ["encounterID"] = 2312, }, [38942] = { ["npcID"] = 20901, }, [56860] = { ["npcID"] = 26728, }, [358540] = { ["npcID"] = 177974, }, [360589] = { ["npcID"] = 182114, }, [346255] = { ["npcID"] = 173637, }, [42526] = { ["npcID"] = 23876, }, [360590] = { ["npcID"] = 182114, }, [360591] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 182045, ["encounterID"] = 2544, }, [391308] = { ["source"] = "Boolk", ["event"] = "SPELL_CAST_START", ["npcID"] = 191450, }, [106546] = { ["npcID"] = 59518, }, [148572] = { ["npcID"] = 73742, }, [15497] = { ["npcID"] = 20977, }, [379023] = { ["source"] = "Hillside Forager", ["event"] = "SPELL_CAST_START", ["npcID"] = 191240, }, [325782] = { ["npcID"] = 165401, }, [323735] = { ["npcID"] = 179853, }, [152669] = { ["npcID"] = 72881, }, [331927] = { ["npcID"] = 167962, }, [358548] = { ["npcID"] = 180664, }, [106547] = { ["npcID"] = 56395, }, [299164] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 153756, ["encounterID"] = 2312, }, [233556] = { ["encounterName"] = "Fallen Avatar", ["npcID"] = 117279, ["encounterID"] = 2038, }, [342168] = { ["npcID"] = 156331, }, [173148] = { ["npcID"] = 81279, }, [78903] = { ["encounterName"] = "Ozruk", ["npcID"] = 42188, ["encounterID"] = 1058, }, [385172] = { ["event"] = "SPELL_CAST_START", ["source"] = "Wind Serpent", ["npcID"] = 191645, }, [389268] = { ["event"] = "SPELL_CAST_START", ["source"] = "Expedition Guardian", ["npcID"] = 187135, }, [389269] = { ["event"] = "SPELL_CAST_START", ["source"] = "Expedition Guarantor", ["npcID"] = 187061, }, [37664] = { ["npcID"] = 17961, }, [389270] = { ["event"] = "SPELL_CAST_START", ["source"] = "Expedition Guarantor", ["npcID"] = 187061, }, [325790] = { ["npcID"] = 158629, }, [111668] = { ["npcID"] = 56877, }, [379033] = { ["source"] = "Loyal Bakar", ["event"] = "SPELL_CAST_START", ["npcID"] = 184656, }, [331935] = { ["npcID"] = 170385, }, [350365] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 177095, }, [338079] = { ["npcID"] = 164737, }, [206939] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [199772] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Champion", ["npcID"] = 97087, }, [319650] = { ["encounterName"] = "Kryxis the Voracious", ["npcID"] = 162100, ["encounterID"] = 2360, }, [389274] = { ["npcID"] = 190070, }, [157794] = { ["npcID"] = 76263, }, [321700] = { ["npcID"] = 165147, }, [340130] = { ["npcID"] = 166658, }, [317605] = { ["npcID"] = 162744, }, [385181] = { ["encounterName"] = "Gulping Goliath", ["source"] = "Gulping Goliath", ["npcID"] = 189722, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2616, }, [297128] = { ["npcID"] = 144298, }, [198750] = { ["encounterName"] = "Odyn", ["source"] = "Stormforged Obliterator", ["npcID"] = 102019, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1809, }, [338084] = { ["npcID"] = 172982, }, [333989] = { ["npcID"] = 171187, }, [336037] = { ["npcID"] = 181186, }, [358563] = { ["npcID"] = 175616, }, [344230] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168112, ["encounterID"] = 2417, }, [321705] = { ["npcID"] = 165147, }, [157797] = { ["npcID"] = 77080, }, [167012] = { ["npcID"] = 170694, }, [193633] = { ["npcID"] = 98275, }, [325802] = { ["npcID"] = 166936, }, [164965] = { ["npcID"] = 81820, }, [78907] = { ["event"] = "SPELL_CAST_START", ["source"] = "Kaldorei Starcaller", ["npcID"] = 183994, }, [376997] = { ["encounterName"] = "Crawth", ["source"] = "Crawth", ["encounterID"] = 2564, ["event"] = "SPELL_CAST_START", ["npcID"] = 191736, }, [395427] = { ["event"] = "SPELL_CAST_START", ["source"] = "Overseer Lahar", ["npcID"] = 189235, }, [366759] = { ["npcID"] = 183498, }, [131178] = { ["npcID"] = 66768, }, [333997] = { ["npcID"] = 165206, }, [342189] = { ["npcID"] = 174175, }, [346286] = { ["encounterName"] = "Mailroom Mayhem", ["encounterID"] = 2424, ["npcID"] = 175646, }, [358573] = { ["npcID"] = 179423, }, [336048] = { ["npcID"] = 167704, }, [329905] = { ["npcID"] = 157118, }, [180327] = { ["npcID"] = 115009, }, [387243] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Murhulk", ["npcID"] = 195095, }, [334002] = { ["npcID"] = 166975, }, [168041] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83893, }, [350385] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 177094, }, [319669] = { ["encounterName"] = "Kul'tharok", ["npcID"] = 162309, ["encounterID"] = 2364, }, [329908] = { ["npcID"] = 157017, }, [329909] = { ["npcID"] = 157017, }, [210022] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 106643, }, [192617] = { ["encounterName"] = "Wrath of Azshara", ["npcID"] = 96028, ["encounterID"] = 1814, }, [334009] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [164973] = { ["npcID"] = 81985, }, [226406] = { ["npcID"] = 113537, }, [52770] = { ["encounterName"] = "Ionar", ["encounterID"] = 1984, ["npcID"] = 28546, }, [329916] = { ["npcID"] = 171173, }, [356537] = { ["npcID"] = 179334, }, [191595] = { ["npcID"] = 96587, }, [354490] = { ["npcID"] = 179526, }, [374969] = { ["encounterName"] = "Forgemaster Gorek", ["source"] = "Forgemaster Gorek", ["npcID"] = 189478, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2612, }, [377017] = { ["encounterName"] = "Warlord Sargha", ["source"] = "Warlord Sargha", ["npcID"] = 189901, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2611, }, [360636] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181549, ["encounterID"] = 2544, }, [230504] = { ["encounterName"] = "Spellblade Aluriel", ["encounterID"] = 1871, ["npcID"] = 115905, }, [348350] = { ["encounterName"] = "Zo'phex the Sentinel", ["encounterID"] = 2425, ["npcID"] = 175616, }, [207979] = { ["npcID"] = 104273, }, [192621] = { ["encounterName"] = "Ash'Golm", ["npcID"] = 95886, ["encounterID"] = 1816, }, [340160] = { ["npcID"] = 173655, }, [334017] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 170199, ["encounterID"] = 2406, }, [77889] = { ["npcID"] = 41780, }, [293063] = { ["npcID"] = 151331, }, [336066] = { ["npcID"] = 179911, }, [319685] = { ["encounterName"] = "Kryxis the Voracious", ["npcID"] = 162100, ["encounterID"] = 2360, }, [336068] = { ["npcID"] = 182686, }, [321734] = { ["npcID"] = 156564, }, [340165] = { ["npcID"] = 161527, }, [356548] = { ["npcID"] = 178392, }, [334023] = { ["npcID"] = 167536, }, [360644] = { ["npcID"] = 184660, }, [231532] = { ["npcID"] = 114845, }, [329929] = { ["npcID"] = 157083, }, [323786] = { ["npcID"] = 163524, }, [358598] = { ["npcID"] = 178897, }, [327882] = { ["npcID"] = 168153, }, [329930] = { ["npcID"] = 157083, }, [393411] = { ["source"] = "Gethrel the South Wind", ["event"] = "SPELL_CAST_START", ["npcID"] = 193848, }, [13323] = { ["npcID"] = 21148, }, [327885] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 164218, ["encounterID"] = 2381, }, [194675] = { ["npcID"] = 98963, }, [350411] = { ["encounterName"] = "Soulrender Dormazain", ["encounterID"] = 2434, ["npcID"] = 175728, }, [358603] = { ["npcID"] = 178937, }, [327887] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [377034] = { ["encounterName"] = "Crawth", ["source"] = "Crawth", ["encounterID"] = 2564, ["event"] = "SPELL_CAST_START", ["npcID"] = 191736, }, [156793] = { ["encounterName"] = "Ranjit", ["encounterID"] = 1698, ["npcID"] = 75964, }, [366797] = { ["npcID"] = 184804, }, [393419] = { ["source"] = "Penumbrus", ["event"] = "SPELL_CAST_START", ["npcID"] = 189289, }, [387277] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Revenant", ["npcID"] = 195917, }, [37671] = { ["npcID"] = 17940, }, [192631] = { ["encounterName"] = "Ash'Golm", ["npcID"] = 95886, ["encounterID"] = 1816, }, [55077] = { ["npcID"] = 29735, }, [39207] = { ["npcID"] = 45618, }, [389327] = { ["event"] = "SPELL_CAST_START", ["source"] = "Malsiran", ["npcID"] = 188141, }, [358611] = { ["npcID"] = 179760, }, [329943] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 168156, }, [178298] = { ["npcID"] = 83763, }, [350421] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 175730, ["encounterID"] = 2431, }, [106563] = { ["encounterName"] = "Yan-Zhu the Uncasked", ["encounterID"] = 1414, ["npcID"] = 59479, }, [350422] = { ["encounterName"] = "Soulrender Dormazain", ["encounterID"] = 2434, ["npcID"] = 175727, }, [325850] = { ["npcID"] = 166942, }, [362710] = { ["npcID"] = 182804, }, [336090] = { ["npcID"] = 172102, }, [194682] = { ["npcID"] = 98963, }, [391380] = { ["source"] = "Ohn'ir Windsage", ["event"] = "SPELL_CAST_START", ["npcID"] = 195352, }, [193659] = { ["encounterName"] = "God-King Skovald", ["source"] = "God-King Skovald", ["npcID"] = 95675, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1808, }, [227447] = { ["encounterName"] = "Opera Hall", ["npcID"] = 114284, ["encounterID"] = 1957, }, [319711] = { ["npcID"] = 166872, }, [340189] = { ["npcID"] = 173655, }, [325855] = { ["npcID"] = 163370, }, [305378] = { ["npcID"] = 177853, }, [319713] = { ["encounterName"] = "Kryxis the Voracious", ["npcID"] = 162100, ["encounterID"] = 2360, }, [391385] = { ["event"] = "SPELL_CAST_START", ["source"] = "Summoned Lava Elemental", ["npcID"] = 182815, }, [323810] = { ["encounterName"] = "General Kaal", ["npcID"] = 166085, ["encounterID"] = 2363, }, [59430] = { ["encounterName"] = "Anub'arak", ["encounterID"] = 1973, ["npcID"] = 29120, }, [332002] = { ["npcID"] = 170417, }, [358623] = { ["npcID"] = 179552, }, [241784] = { ["npcID"] = 114629, }, [321764] = { ["npcID"] = 164861, }, [334051] = { ["npcID"] = 168942, }, [30741] = { ["npcID"] = 16807, }, [338147] = { ["npcID"] = 169885, }, [364769] = { ["npcID"] = 181360, }, [334053] = { ["encounterName"] = "Oryphrion", ["npcID"] = 162060, ["encounterID"] = 2358, }, [346340] = { ["npcID"] = 175819, }, [366818] = { ["npcID"] = 185275, }, [225404] = { ["npcID"] = 112804, }, [106055] = { ["encounterName"] = "Wise Mari", ["encounterID"] = 1418, ["npcID"] = 56448, }, [387297] = { ["source"] = "Kerzanthi", ["event"] = "SPELL_CAST_START", ["npcID"] = 196973, }, [375011] = { ["npcID"] = 191019, }, [368868] = { ["npcID"] = 184738, }, [42281] = { ["npcID"] = 23694, }, [325866] = { ["npcID"] = 159442, }, [102472] = { ["encounterName"] = "Echo of Tyrande", ["npcID"] = 54544, ["encounterID"] = 1884, }, [241788] = { ["npcID"] = 114632, }, [387300] = { ["source"] = "Feasting Wyrm", ["event"] = "SPELL_CAST_START", ["npcID"] = 192739, }, [366823] = { ["npcID"] = 185275, }, [323821] = { ["encounterName"] = "General Kaal", ["npcID"] = 162099, ["encounterID"] = 2363, }, [225407] = { ["npcID"] = 113128, }, [338157] = { ["npcID"] = 165047, }, [364778] = { ["encounterName"] = "Skolex, the Insatiable Ravener", ["npcID"] = 181395, }, [240766] = { ["npcID"] = 120777, }, [346349] = { ["npcID"] = 175821, }, [323825] = { ["encounterName"] = "Mordretha", ["npcID"] = 165994, ["encounterID"] = 2404, }, [340208] = { ["npcID"] = 173655, }, [358638] = { ["npcID"] = 178997, }, [225410] = { ["npcID"] = 113128, }, [325876] = { ["npcID"] = 165414, }, [319733] = { ["encounterName"] = "Echelon", ["npcID"] = 164185, ["encounterID"] = 2380, }, [325877] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165805, }, [395501] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Volatile Infuser", ["npcID"] = 192934, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [393454] = { ["source"] = "Battlehorn Pyrhus", ["event"] = "SPELL_CAST_START", ["npcID"] = 190986, }, [145550] = { ["npcID"] = 72150, }, [350453] = { ["npcID"] = 179894, }, [170124] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 83846, }, [59433] = { ["encounterName"] = "Anub'arak", ["npcID"] = 29120, ["encounterID"] = 1973, }, [44843] = { ["encounterName"] = "Brutallus", ["npcID"] = 24895, ["encounterID"] = 725, }, [387317] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ruby Culler", ["npcID"] = 190093, }, [334076] = { ["npcID"] = 168942, }, [356602] = { ["npcID"] = 180164, }, [368890] = { ["npcID"] = 181408, }, [76881] = { ["npcID"] = 41102, }, [366847] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 182144, ["encounterID"] = 2544, }, [385277] = { ["source"] = "Worldcarver A'tir", ["event"] = "SPELL_CAST_START", ["npcID"] = 186859, }, [379134] = { ["npcID"] = 191092, }, [168082] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83892, }, [329989] = { ["npcID"] = 174069, }, [350467] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 175726, }, [329990] = { ["npcID"] = 158978, }, [150677] = { ["encounterName"] = "Gug'rokk", ["encounterID"] = 1654, ["npcID"] = 74790, }, [350469] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 175729, }, [342280] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [342281] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [6535] = { ["npcID"] = 3273, }, [193682] = { ["encounterName"] = "Lady Hatecoil", ["npcID"] = 91789, }, [383237] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Lava Elemental", ["npcID"] = 187321, }, [45101] = { ["npcID"] = 24979, }, [364808] = { ["npcID"] = 181145, }, [350475] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 175726, }, [270613] = { ["npcID"] = 179079, }, [321807] = { ["npcID"] = 163619, }, [348428] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 176605, }, [366858] = { ["npcID"] = 183748, }, [354572] = { ["npcID"] = 176561, }, [364811] = { ["npcID"] = 185037, }, [387337] = { ["npcID"] = 191093, }, [360717] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181399, }, [368909] = { ["npcID"] = 185861, }, [313621] = { ["npcID"] = 163461, }, [15245] = { ["npcID"] = 146809, }, [350482] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 175726, }, [241809] = { ["npcID"] = 183424, }, [375056] = { ["encounterName"] = "Chargath, Bane of Scales", ["source"] = "Chargath, Bane of Scales", ["npcID"] = 189340, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2613, }, [387343] = { ["source"] = "Therrocite", ["event"] = "SPELL_CAST_START", ["npcID"] = 197749, }, [366866] = { ["npcID"] = 184651, }, [377105] = { ["source"] = "Vault Guard", ["event"] = "SPELL_CAST_START", ["npcID"] = 190510, }, [362771] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 183463, ["encounterID"] = 2546, }, [145566] = { ["npcID"] = 71770, }, [375058] = { ["source"] = "Old Arbhog", ["event"] = "SPELL_CAST_START", ["npcID"] = 196897, }, [156829] = { ["npcID"] = 78437, }, [223381] = { ["npcID"] = 112153, }, [168092] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83892, }, [227477] = { ["encounterName"] = "Opera Hall", ["npcID"] = 114284, ["encounterID"] = 1957, }, [366869] = { ["npcID"] = 184651, }, [352538] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 175731, ["encounterID"] = 2436, }, [354586] = { ["npcID"] = 179526, }, [145569] = { ["npcID"] = 72194, }, [236694] = { ["encounterName"] = "Sisters of the Moon", ["npcID"] = 118374, ["encounterID"] = 2050, }, [319775] = { ["npcID"] = 162636, }, [373017] = { ["encounterName"] = "Kokia Blazehoof", ["source"] = "Blazebound Firestorm", ["npcID"] = 189886, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2606, }, [375065] = { ["source"] = "Fetid Rotsinger", ["event"] = "SPELL_CAST_START", ["npcID"] = 186226, }, [336158] = { ["npcID"] = 172217, }, [389401] = { ["event"] = "SPELL_CAST_START", ["source"] = "Alora Mistbreeze", ["npcID"] = 189243, }, [59182] = { ["npcID"] = 28584, }, [297254] = { ["encounterName"] = "King Gobbamak", ["npcID"] = 150159, ["encounterID"] = 2290, }, [321828] = { ["encounterName"] = "Mistcaller", ["npcID"] = 164501, ["encounterID"] = 2392, }, [301351] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150190, ["encounterID"] = 2291, }, [172193] = { ["npcID"] = 172589, }, [360737] = { ["npcID"] = 181116, }, [364833] = { ["npcID"] = 181111, }, [368930] = { ["npcID"] = 185838, }, [342310] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [385313] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Shockcaster", ["npcID"] = 195119, }, [373027] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [321834] = { ["encounterName"] = "Mistcaller", ["npcID"] = 164501, ["encounterID"] = 2392, }, [59183] = { ["npcID"] = 28584, }, [358695] = { ["npcID"] = 180426, }, [375079] = { ["event"] = "SPELL_CAST_START", ["source"] = "Squallbringer Cyraz", ["npcID"] = 190370, }, [223392] = { ["npcID"] = 112153, }, [358699] = { ["npcID"] = 180417, }, [393511] = { ["source"] = "Cauldronbearer Blakor", ["event"] = "SPELL_CAST_START", ["npcID"] = 186783, }, [373034] = { ["event"] = "SPELL_CAST_START", ["source"] = "Windyfin Squallstalker", ["npcID"] = 187433, }, [358700] = { ["npcID"] = 180417, }, [342320] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [59696] = { ["npcID"] = 24082, }, [342321] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [168105] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83892, }, [169129] = { ["encounterName"] = "Skulloc, Son of Gruul", ["encounterID"] = 1754, ["npcID"] = 84464, }, [332084] = { ["npcID"] = 167965, }, [362801] = { ["encounterName"] = "Artificer Xy'mox", ["npcID"] = 183501, ["encounterID"] = 2553, }, [391470] = { ["source"] = "Lockjaw", ["event"] = "SPELL_CAST_START", ["npcID"] = 194459, }, [214181] = { ["npcID"] = 112251, }, [389423] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thieving Conjurer", ["npcID"] = 196388, }, [183465] = { ["npcID"] = 91001, }, [350517] = { ["encounterName"] = "Timecap'n Hooktail", ["npcID"] = 175546, ["encounterID"] = 2419, }, [393520] = { ["source"] = "Ceeqa the Peacetaker", ["event"] = "SPELL_CAST_START", ["npcID"] = 188708, }, [340279] = { ["npcID"] = 173714, }, [169132] = { ["encounterName"] = "Skulloc, Son of Gruul", ["encounterID"] = 1754, ["npcID"] = 84464, }, [227493] = { ["encounterName"] = "Attumen the Huntsman", ["npcID"] = 114262, ["encounterID"] = 1960, }, [377140] = { ["source"] = "River Hornswog", ["event"] = "SPELL_CAST_START", ["npcID"] = 191618, }, [35124] = { ["npcID"] = 18420, }, [327995] = { ["npcID"] = 168574, }, [373046] = { ["encounterName"] = "Melidrussa Chillworn", ["source"] = "Melidrussa Chillworn", ["npcID"] = 188252, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2609, }, [375094] = { ["source"] = "Swift Hornstrider", ["event"] = "SPELL_CAST_START", ["npcID"] = 190029, }, [368951] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [274755] = { ["npcID"] = 146443, }, [393525] = { ["source"] = "Ceeqa the Peacetaker", ["event"] = "SPELL_CAST_START", ["npcID"] = 188708, }, [160943] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 77483, }, [356666] = { ["npcID"] = 179892, }, [391480] = { ["source"] = "Fragment of Jealousy", ["event"] = "SPELL_CAST_START", ["npcID"] = 196442, }, [229544] = { ["npcID"] = 115401, }, [373051] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mudfin Salamancer", ["npcID"] = 186669, }, [346431] = { ["npcID"] = 173637, }, [328002] = { ["npcID"] = 168574, }, [371005] = { ["source"] = "Crystal Thrasher", ["event"] = "SPELL_CAST_START", ["npcID"] = 187139, }, [340289] = { ["npcID"] = 173714, }, [360767] = { ["npcID"] = 181879, }, [387388] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thieving Conjurer", ["npcID"] = 196388, }, [217260] = { ["npcID"] = 88087, }, [364865] = { ["encounterName"] = "Prototype Pantheon", ["encounterID"] = 2544, ["npcID"] = 181548, }, [221356] = { ["npcID"] = 111164, }, [340294] = { ["npcID"] = 162727, }, [377154] = { ["source"] = "Ripsaw the Stalker", ["event"] = "SPELL_CAST_START", ["npcID"] = 193153, }, [297292] = { ["npcID"] = 153165, }, [373059] = { ["encounterName"] = "The Primal Council", ["source"] = "Kadros Icewrath", ["npcID"] = 187771, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [167092] = { ["npcID"] = 79510, }, [34358] = { ["npcID"] = 19486, }, [198833] = { ["encounterName"] = "Lord Kur'talos Ravencrest", ["npcID"] = 98970, ["encounterID"] = 1835, }, [60211] = { ["npcID"] = 24079, }, [360775] = { ["npcID"] = 185511, }, [356680] = { ["npcID"] = 177133, }, [358728] = { ["npcID"] = 176940, }, [319821] = { ["npcID"] = 158254, }, [387398] = { ["source"] = "Worldbreaker Brute", ["event"] = "SPELL_CAST_START", ["npcID"] = 185589, }, [340300] = { ["npcID"] = 173720, }, [360778] = { ["npcID"] = 181116, }, [342349] = { ["npcID"] = 174346, }, [193716] = { ["encounterName"] = "Lady Hatecoil", ["npcID"] = 91789, }, [138427] = { ["npcID"] = 69916, }, [328016] = { ["npcID"] = 168578, }, [193717] = { ["encounterName"] = "Lady Hatecoil", ["npcID"] = 91789, }, [340304] = { ["npcID"] = 173720, }, [334161] = { ["npcID"] = 171290, }, [34871] = { ["npcID"] = 20115, }, [340305] = { ["npcID"] = 173720, }, [120416] = { ["npcID"] = 61302, }, [377166] = { ["encounterName"] = "Terros", ["source"] = "Terros", ["encounterID"] = 2639, ["event"] = "SPELL_CAST_START", ["npcID"] = 190496, }, [15503] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24559, }, [344403] = { ["npcID"] = 175012, }, [356690] = { ["npcID"] = 177135, }, [344404] = { ["npcID"] = 175012, }, [285020] = { ["encounterName"] = "Tussle Tonks", ["npcID"] = 144244, ["encounterID"] = 2257, }, [227508] = { ["encounterName"] = "Maiden of Virtue", ["npcID"] = 113971, ["encounterID"] = 1954, }, [387410] = { ["source"] = "Miraveth", ["event"] = "SPELL_CAST_START", ["npcID"] = 187554, }, [34616] = { ["npcID"] = 19511, }, [385363] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mature Riverbeast", ["npcID"] = 194075, }, [387411] = { ["event"] = "SPELL_CAST_START", ["source"] = "Soulharvester Mandakh", ["npcID"] = 195930, }, [368983] = { ["npcID"] = 191378, }, [315742] = { ["npcID"] = 158891, }, [350554] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 175730, ["encounterID"] = 2431, }, [368984] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Flameshatter", ["npcID"] = 191136, }, [346459] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [317791] = { ["npcID"] = 163366, }, [358747] = { ["npcID"] = 178824, }, [393559] = { ["source"] = "Gethrel the South Wind", ["event"] = "SPELL_CAST_START", ["npcID"] = 193848, }, [136387] = { ["npcID"] = 23682, }, [364891] = { ["npcID"] = 183737, }, [358748] = { ["npcID"] = 178824, }, [196796] = { ["npcID"] = 99956, }, [354653] = { ["npcID"] = 179560, }, [223417] = { ["npcID"] = 112162, }, [358749] = { ["npcID"] = 178824, }, [153794] = { ["encounterName"] = "Rukhran", ["encounterID"] = 1700, ["npcID"] = 76143, }, [319843] = { ["npcID"] = 161881, }, [321891] = { ["encounterName"] = "Mistcaller", ["npcID"] = 165251, ["encounterID"] = 2392, }, [191678] = { ["npcID"] = 96480, }, [368990] = { ["encounterName"] = "Emberon", ["npcID"] = 184422, ["encounterID"] = 2558, }, [348513] = { ["encounterName"] = "Painsmith Raznal", ["encounterID"] = 2430, ["npcID"] = 176523, }, [229562] = { ["npcID"] = 115406, }, [223419] = { ["npcID"] = 112178, }, [336228] = { ["npcID"] = 170694, }, [321894] = { ["encounterName"] = "Nalthor the Rimebinder", ["encounterID"] = 2390, ["npcID"] = 162693, }, [274796] = { ["npcID"] = 146459, }, [196799] = { ["npcID"] = 99956, }, [323943] = { ["encounterName"] = "Devos, Paragon of Loyalty", ["npcID"] = 162061, ["encounterID"] = 2359, }, [362851] = { ["npcID"] = 181539, }, [364900] = { ["npcID"] = 183737, }, [92265] = { ["encounterName"] = "Slabhide", ["npcID"] = 43214, ["encounterID"] = 1059, }, [389474] = { ["npcID"] = 190904, }, [387427] = { ["source"] = "Uncontrolled Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 181775, }, [358760] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 176521, }, [200898] = { ["encounterName"] = "Inquisitor Tormentorum", ["npcID"] = 96015, ["encounterID"] = 1850, }, [354666] = { ["npcID"] = 179580, }, [389478] = { ["event"] = "SPELL_CAST_START", ["source"] = "Darktooth Spirit-Caller", ["npcID"] = 195267, }, [358762] = { ["npcID"] = 180389, }, [229567] = { ["npcID"] = 115407, }, [354667] = { ["npcID"] = 179580, }, [323951] = { ["npcID"] = 177380, }, [387433] = { ["source"] = "Teerai Battlemaster", ["event"] = "SPELL_CAST_START", ["npcID"] = 191494, }, [142539] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71397, }, [385386] = { ["source"] = "Forge-Keep Sentinel", ["event"] = "SPELL_CAST_START", ["npcID"] = 192700, }, [239808] = { ["npcID"] = 120191, }, [200901] = { ["encounterName"] = "Hyrja", ["source"] = "Solsten", ["npcID"] = 97219, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1806, }, [358769] = { ["npcID"] = 180782, }, [385390] = { ["source"] = "Forge-Keep Overseer", ["event"] = "SPELL_CAST_START", ["npcID"] = 192699, }, [346483] = { ["npcID"] = 173580, }, [358770] = { ["npcID"] = 176880, }, [393582] = { ["source"] = "Cindershard Igniter", ["event"] = "SPELL_CAST_START", ["npcID"] = 198382, }, [346484] = { ["npcID"] = 173580, }, [389487] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lookout Mordren", ["npcID"] = 193668, }, [387440] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ukhel Beastcaller", ["npcID"] = 195878, }, [389488] = { ["npcID"] = 191378, }, [393584] = { ["source"] = "Gladehorn Armoredon", ["event"] = "SPELL_CAST_START", ["npcID"] = 196555, }, [334200] = { ["npcID"] = 161613, }, [377204] = { ["encounterName"] = "Warlord Sargha", ["source"] = "Warlord Sargha", ["npcID"] = 189901, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2611, }, [340345] = { ["npcID"] = 156208, }, [52026] = { ["encounterName"] = "General Bjarngrim", ["encounterID"] = 1987, ["npcID"] = 28586, }, [332156] = { ["npcID"] = 167963, }, [385399] = { ["encounterName"] = "Umbrelskul", ["source"] = "Umbrelskul", ["npcID"] = 186738, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2584, }, [215241] = { ["npcID"] = 111621, }, [257220] = { ["npcID"] = 166029, }, [395639] = { ["event"] = "SPELL_CAST_START", ["source"] = "Spellforged Horror", ["npcID"] = 194401, }, [137427] = { ["npcID"] = 170031, }, [393592] = { ["source"] = "Gethrel the South Wind", ["event"] = "SPELL_CAST_START", ["npcID"] = 193848, }, [389497] = { ["event"] = "SPELL_CAST_START", ["source"] = "Eternal Sand", ["npcID"] = 187475, }, [167120] = { ["npcID"] = 81279, }, [278919] = { ["npcID"] = 169629, }, [153810] = { ["encounterName"] = "Rukhran", ["encounterID"] = 1700, ["npcID"] = 76143, }, [336257] = { ["npcID"] = 164351, }, [358784] = { ["npcID"] = 179891, }, [387453] = { ["source"] = "Professor Maxdormu", ["event"] = "SPELL_CAST_START", ["npcID"] = 189668, }, [326021] = { ["npcID"] = 172312, }, [328069] = { ["npcID"] = 172072, }, [330118] = { ["npcID"] = 159755, }, [175314] = { ["npcID"] = 185744, }, [360835] = { ["npcID"] = 180722, }, [395648] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sogglmoggl", ["npcID"] = 188859, }, [223437] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109038, }, [391553] = { ["event"] = "SPELL_CAST_START", ["source"] = "Andantenormu", ["npcID"] = 199609, }, [369028] = { ["npcID"] = 185823, }, [332169] = { ["npcID"] = 170400, }, [395650] = { ["event"] = "SPELL_CAST_START", ["source"] = "Conjured Nightmare", ["npcID"] = 199014, }, [200913] = { ["npcID"] = 98792, }, [211152] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [395652] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sogglmoggl", ["npcID"] = 188859, }, [152792] = { ["encounterName"] = "Nhallish", ["encounterID"] = 1688, ["npcID"] = 75829, }, [228559] = { ["npcID"] = 183424, }, [321935] = { ["npcID"] = 164707, }, [319889] = { ["npcID"] = 166591, }, [360845] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181551, ["encounterID"] = 2544, }, [344464] = { ["npcID"] = 166398, }, [364942] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [346513] = { ["npcID"] = 157833, }, [328084] = { ["npcID"] = 172072, }, [257231] = { ["npcID"] = 166057, }, [389518] = { ["source"] = "Koroleth", ["event"] = "SPELL_CAST_START", ["npcID"] = 188180, }, [336277] = { ["npcID"] = 172265, }, [326039] = { ["encounterName"] = "Grand Proctor Beryllia", ["npcID"] = 162102, ["encounterID"] = 2362, }, [352660] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 175731, ["encounterID"] = 2436, }, [362899] = { ["npcID"] = 181559, }, [387473] = { ["source"] = "Brinetooth Bruiser", ["event"] = "SPELL_CAST_START", ["npcID"] = 187285, }, [348566] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 180159, }, [319898] = { ["npcID"] = 168022, }, [350615] = { ["encounterName"] = "Soulrender Dormazain", ["encounterID"] = 2434, ["npcID"] = 175727, }, [352663] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [119922] = { ["encounterName"] = "Trial of the King", ["encounterID"] = 1442, ["npcID"] = 61442, }, [342425] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [313757] = { ["npcID"] = 160974, }, [227542] = { ["encounterName"] = "Moroes", ["npcID"] = 114317, ["encounterID"] = 1961, }, [114291] = { ["npcID"] = 59464, }, [360856] = { ["npcID"] = 182392, }, [227543] = { ["encounterName"] = "Opera Hall", ["npcID"] = 114284, ["encounterID"] = 1957, }, [326046] = { ["npcID"] = 167111, }, [369049] = { ["encounterName"] = "Emberon", ["npcID"] = 186107, ["encounterID"] = 2558, }, [395670] = { ["event"] = "SPELL_CAST_START", ["source"] = "Spellforged Horror", ["npcID"] = 194401, }, [150753] = { ["encounterName"] = "Slave Watcher Crushto", ["encounterID"] = 1653, ["npcID"] = 74787, }, [360859] = { ["npcID"] = 181047, }, [152801] = { ["encounterName"] = "Nhallish", ["encounterID"] = 1688, ["npcID"] = 75829, }, [356764] = { ["npcID"] = 175697, }, [383385] = { ["source"] = "Filth Caller", ["event"] = "SPELL_CAST_START", ["npcID"] = 185656, }, [319906] = { ["npcID"] = 177252, }, [227545] = { ["encounterName"] = "Moroes", ["npcID"] = 114316, ["encounterID"] = 1961, }, [297382] = { ["encounterName"] = "King Gobbamak", ["npcID"] = 153172, ["encounterID"] = 2290, }, [340385] = { ["npcID"] = 168147, }, [150755] = { ["encounterName"] = "Gug'rokk", ["encounterID"] = 1654, ["npcID"] = 74790, }, [360863] = { ["npcID"] = 183249, }, [395675] = { ["event"] = "SPELL_CAST_START", ["source"] = "Embar Firepath", ["npcID"] = 187767, }, [389532] = { ["source"] = "Laden Lasher", ["event"] = "SPELL_CAST_START", ["npcID"] = 193541, }, [369055] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Crustshaper", ["npcID"] = 186638, }, [332196] = { ["npcID"] = 167963, }, [319910] = { ["npcID"] = 158771, }, [389534] = { ["source"] = "Korthrox the Destroyer", ["event"] = "SPELL_CAST_START", ["npcID"] = 183422, }, [228571] = { ["npcID"] = 114794, }, [397726] = { ["source"] = "Shrieking Whelp", ["event"] = "SPELL_CAST_START", ["npcID"] = 187159, }, [375201] = { ["event"] = "SPELL_CAST_START", ["source"] = "Trained Ohuna", ["npcID"] = 198852, }, [81530] = { ["npcID"] = 43537, }, [385442] = { ["encounterName"] = "Gulping Goliath", ["source"] = "Gulping Goliath", ["npcID"] = 189722, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2616, }, [369061] = { ["encounterName"] = "Emberon", ["npcID"] = 184422, ["encounterID"] = 2558, }, [165093] = { ["npcID"] = 81983, }, [299438] = { ["npcID"] = 150249, }, [150759] = { ["encounterName"] = "Slave Watcher Crushto", ["encounterID"] = 1653, ["npcID"] = 74787, }, [319916] = { ["npcID"] = 160095, }, [346539] = { ["npcID"] = 175721, }, [221408] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 111070, }, [14034] = { ["encounterName"] = "Harbinger Skyriss", ["encounterID"] = 1914, ["npcID"] = 20977, }, [360875] = { ["npcID"] = 180722, }, [321968] = { ["npcID"] = 164929, }, [360876] = { ["npcID"] = 185755, }, [387497] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Destroyer", ["npcID"] = 187244, }, [344496] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [338353] = { ["npcID"] = 173016, }, [381356] = { ["source"] = "Luddy Quicksnap", ["event"] = "SPELL_CAST_START", ["npcID"] = 193292, }, [381357] = { ["source"] = "Wild Ottuk", ["event"] = "SPELL_CAST_START", ["npcID"] = 188338, }, [196838] = { ["encounterName"] = "Fenryr", ["source"] = "Fenryr", ["npcID"] = 99868, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1807, }, [157931] = { ["npcID"] = 76263, }, [369072] = { ["source"] = "Plainswalker Mammoth", ["event"] = "SPELL_CAST_START", ["npcID"] = 187938, }, [340404] = { ["npcID"] = 166975, }, [118905] = { ["npcID"] = 61245, }, [338357] = { ["npcID"] = 172981, }, [364978] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 181047, }, [317880] = { ["npcID"] = 158992, }, [210150] = { ["encounterName"] = "Naraxas", ["npcID"] = 91005, ["encounterID"] = 1792, }, [364979] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [358836] = { ["npcID"] = 180664, }, [198888] = { ["event"] = "SPELL_CAST_START", ["source"] = "Storm Drake", ["npcID"] = 97068, }, [152814] = { ["npcID"] = 75713, }, [362934] = { ["npcID"] = 182326, }, [79487] = { ["npcID"] = 41566, }, [362935] = { ["npcID"] = 181493, }, [178412] = { ["npcID"] = 83761, }, [377270] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cliffdrip Wavemender", ["npcID"] = 189814, }, [313790] = { ["npcID"] = 160974, }, [385462] = { ["source"] = "Rellen, The Learned", ["event"] = "SPELL_CAST_START", ["npcID"] = 190949, }, [364986] = { ["npcID"] = 181360, }, [224488] = { ["npcID"] = 112676, }, [229608] = { ["npcID"] = 115486, }, [299460] = { ["npcID"] = 150250, }, [358845] = { ["npcID"] = 181133, }, [152818] = { ["npcID"] = 75713, }, [391610] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gusting Proto-Dragon", ["npcID"] = 190401, }, [257254] = { ["npcID"] = 171302, }, [121468] = { ["npcID"] = 61177, }, [319941] = { ["encounterName"] = "Echelon", ["npcID"] = 164185, ["encounterID"] = 2380, }, [317894] = { ["npcID"] = 161488, }, [373184] = { ["source"] = "Dying Mage", ["event"] = "SPELL_CAST_START", ["npcID"] = 189769, }, [229611] = { ["npcID"] = 115486, }, [356804] = { ["npcID"] = 178578, }, [332234] = { ["npcID"] = 167967, }, [334282] = { ["npcID"] = 154330, }, [362951] = { ["npcID"] = 181587, }, [389572] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Devilsaur", ["npcID"] = 187262, }, [342474] = { ["npcID"] = 165759, }, [150776] = { ["encounterName"] = "Gug'rokk", ["encounterID"] = 1654, ["npcID"] = 74790, }, [324046] = { ["encounterName"] = "Oryphrion", ["npcID"] = 162060, ["encounterID"] = 2358, }, [221424] = { ["npcID"] = 146809, }, [321999] = { ["npcID"] = 164705, }, [299474] = { ["npcID"] = 150154, }, [387528] = { ["source"] = "Mountain Shaper", ["event"] = "SPELL_CAST_START", ["npcID"] = 186329, }, [373194] = { ["event"] = "SPELL_CAST_START", ["source"] = "Windyfin Windbringer", ["npcID"] = 187432, }, [317905] = { ["npcID"] = 172539, }, [326098] = { ["npcID"] = 167480, }, [328146] = { ["encounterName"] = "Blightbone", ["encounterID"] = 2387, ["npcID"] = 164702, }, [174328] = { ["npcID"] = 76177, }, [319956] = { ["npcID"] = 167922, }, [319957] = { ["npcID"] = 177134, }, [365008] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 183033, ["encounterID"] = 2546, }, [191735] = { ["npcID"] = 98954, }, [125056] = { ["npcID"] = 165189, }, [365009] = { ["npcID"] = 184409, }, [389583] = { ["source"] = "Dragonspawn Spell Weaver", ["event"] = "SPELL_CAST_START", ["npcID"] = 196119, }, [375249] = { ["source"] = "Jadethroat Mallard", ["event"] = "SPELL_CAST_START", ["npcID"] = 190708, }, [213238] = { ["encounterName"] = "Tichondrius", ["encounterID"] = 1862, ["npcID"] = 103685, }, [173307] = { ["npcID"] = 83390, }, [375251] = { ["encounterName"] = "Magmatusk", ["source"] = "Magmatusk", ["npcID"] = 181861, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2610, }, [391634] = { ["event"] = "SPELL_CAST_START", ["source"] = "Glacial Proto-Dragon", ["npcID"] = 190403, }, [118914] = { ["npcID"] = 61252, }, [317916] = { ["npcID"] = 159112, }, [369110] = { ["encounterName"] = "Emberon", ["npcID"] = 184422, ["encounterID"] = 2558, }, [358872] = { ["npcID"] = 178592, }, [336347] = { ["npcID"] = 160640, }, [107140] = { ["encounterName"] = "Gu Cloudstrike", ["encounterID"] = 1303, ["npcID"] = 56754, }, [215288] = { ["encounterName"] = "Elerethe Renferal", ["npcID"] = 106087, ["encounterID"] = 1876, }, [183548] = { ["npcID"] = 102404, }, [319966] = { ["npcID"] = 167078, }, [227575] = { ["encounterName"] = "Moroes", ["npcID"] = 114316, ["encounterID"] = 1961, }, [393686] = { ["source"] = "Turboris", ["event"] = "SPELL_CAST_START", ["npcID"] = 187886, }, [255220] = { ["npcID"] = 166032, }, [332254] = { ["npcID"] = 169890, }, [340446] = { ["npcID"] = 167898, }, [173311] = { ["npcID"] = 83390, }, [10452] = { ["npcID"] = 45569, }, [389594] = { ["event"] = "SPELL_CAST_START", ["source"] = "Horace \"Scalding\" Stern", ["npcID"] = 186430, }, [350687] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 175726, }, [383452] = { ["source"] = "Snowscruff Bakar", ["event"] = "SPELL_CAST_START", ["npcID"] = 193401, }, [44872] = { ["encounterName"] = "Brutallus", ["npcID"] = 24895, ["encounterID"] = 725, }, [344546] = { ["npcID"] = 162880, }, [165122] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80816, }, [228603] = { ["npcID"] = 114804, }, [365026] = { ["npcID"] = 182318, }, [201983] = { ["npcID"] = 113537, }, [260344] = { ["npcID"] = 166027, }, [338407] = { ["npcID"] = 165339, }, [346599] = { ["npcID"] = 168975, }, [328170] = { ["npcID"] = 162057, }, [348648] = { ["npcID"] = 176520, }, [326123] = { ["npcID"] = 159665, }, [228606] = { ["npcID"] = 114803, }, [164102] = { ["npcID"] = 81235, }, [182532] = { ["npcID"] = 174183, }, [362985] = { ["npcID"] = 183714, }, [365033] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [369129] = { ["event"] = "SPELL_CAST_START", ["source"] = "Modak Flamespit", ["npcID"] = 186509, }, [346604] = { ["npcID"] = 175792, }, [356843] = { ["npcID"] = 179388, }, [317936] = { ["npcID"] = 163459, }, [346605] = { ["npcID"] = 175801, }, [365036] = { ["encounterName"] = "Lihuvim, Principal Architect", ["encounterID"] = 2539, ["npcID"] = 184126, }, [268792] = { ["npcID"] = 163429, }, [328177] = { ["npcID"] = 168572, }, [346607] = { ["npcID"] = 175857, }, [397801] = { ["encounterName"] = "Wise Mari", ["source"] = "Wise Mari", ["npcID"] = 56448, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1418, }, [358894] = { ["npcID"] = 179892, }, [309749] = { ["npcID"] = 172556, }, [387564] = { ["source"] = "Conjured Lasher", ["event"] = "SPELL_CAST_START", ["npcID"] = 196102, }, [162058] = { ["encounterName"] = "Skylord Tovra", ["encounterID"] = 1736, ["npcID"] = 80005, }, [328180] = { ["npcID"] = 168627, }, [395756] = { ["source"] = "Djaradin Magmathrower", ["event"] = "SPELL_CAST_START", ["npcID"] = 190117, }, [340467] = { ["encounterName"] = "The Tarragrue", ["npcID"] = 173756, ["encounterID"] = 2423, }, [334324] = { ["npcID"] = 171376, }, [340468] = { ["npcID"] = 159105, }, [317943] = { ["npcID"] = 163457, }, [346612] = { ["npcID"] = 175849, }, [334326] = { ["npcID"] = 171376, }, [336374] = { ["npcID"] = 172101, }, [114826] = { ["npcID"] = 59553, }, [365044] = { ["npcID"] = 182318, }, [319994] = { ["npcID"] = 168216, }, [334329] = { ["npcID"] = 171376, }, [319995] = { ["npcID"] = 158771, }, [387571] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primal Tsunami", ["npcID"] = 189729, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2618, }, [200969] = { ["event"] = "SPELL_CAST_START", ["source"] = "King Tor", ["npcID"] = 97084, }, [395763] = { ["event"] = "SPELL_CAST_START", ["source"] = "Scalemelter Dorbane", ["npcID"] = 192744, }, [319997] = { ["npcID"] = 166611, }, [381430] = { ["npcID"] = 190388, }, [336380] = { ["npcID"] = 172142, }, [393718] = { ["source"] = "Huntmaster Amaa", ["event"] = "SPELL_CAST_START", ["npcID"] = 188715, }, [150801] = { ["encounterName"] = "Slave Watcher Crushto", ["encounterID"] = 1653, ["npcID"] = 74787, }, [227592] = { ["encounterName"] = "Shade of Medivh", ["npcID"] = 114350, ["encounterID"] = 1965, }, [336383] = { ["npcID"] = 179768, }, [299525] = { ["npcID"] = 150250, }, [34637] = { ["npcID"] = 19505, }, [385531] = { ["encounterName"] = "Gulping Goliath", ["source"] = "Gulping Goliath", ["npcID"] = 189722, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2616, }, [377341] = { ["event"] = "SPELL_CAST_START", ["source"] = "Aqua Rager", ["npcID"] = 190407, }, [338434] = { ["npcID"] = 162875, }, [340482] = { ["npcID"] = 174131, }, [360960] = { ["encounterName"] = "Dausegne, the Fallen Oracle", ["npcID"] = 181224, ["encounterID"] = 2540, }, [356865] = { ["npcID"] = 177271, }, [37965] = { ["npcID"] = 17871, }, [317959] = { ["npcID"] = 163458, }, [377344] = { ["source"] = "Territorial Eagle", ["event"] = "SPELL_CAST_START", ["npcID"] = 192329, }, [324103] = { ["npcID"] = 162133, }, [320008] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164556, ["encounterID"] = 2394, }, [346630] = { ["npcID"] = 175851, }, [367108] = { ["npcID"] = 184413, }, [346631] = { ["npcID"] = 175930, }, [317963] = { ["npcID"] = 163458, }, [369157] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Tarasek", ["npcID"] = 188372, }, [381444] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Rira Hackclaw", ["npcID"] = 186122, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [369158] = { ["npcID"] = 185841, }, [61515] = { ["npcID"] = 28580, }, [358921] = { ["npcID"] = 178615, }, [328206] = { ["encounterName"] = "Echelon", ["npcID"] = 164185, ["encounterID"] = 2380, }, [240910] = { ["encounterName"] = "Kil'jaeden", ["npcID"] = 117269, ["encounterID"] = 2051, }, [136475] = { ["npcID"] = 23682, }, [365067] = { ["npcID"] = 182318, }, [148762] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 73948, }, [363021] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 183463, ["encounterID"] = 2546, }, [203028] = { ["encounterName"] = "Dragons of Nightmare", ["encounterID"] = 1854, ["npcID"] = 102679, }, [342544] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [320019] = { ["npcID"] = 161308, }, [60236] = { ["npcID"] = 28547, }, [387596] = { ["event"] = "SPELL_CAST_START", ["source"] = "Risen Mystic", ["npcID"] = 195877, }, [15253] = { ["npcID"] = 18429, }, [363024] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 183671, ["encounterID"] = 2546, }, [198934] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Mystic", ["npcID"] = 95834, }, [360977] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [340500] = { ["npcID"] = 167078, }, [385551] = { ["encounterName"] = "Gulping Goliath", ["source"] = "Gulping Goliath", ["npcID"] = 189722, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2616, }, [356885] = { ["npcID"] = 177833, }, [338456] = { ["npcID"] = 172981, }, [332313] = { ["encounterName"] = "Domina Venomblade", ["npcID"] = 164266, ["encounterID"] = 2385, }, [326171] = { ["encounterName"] = "Mueh'zala", ["npcID"] = 166608, ["encounterID"] = 2396, }, [320028] = { ["npcID"] = 177252, }, [356888] = { ["npcID"] = 177833, }, [328221] = { ["npcID"] = 166723, }, [395797] = { ["source"] = "Primalist Frostsculptor", ["event"] = "SPELL_CAST_START", ["npcID"] = 198424, }, [358938] = { ["npcID"] = 180840, }, [221464] = { ["npcID"] = 111225, }, [332318] = { ["encounterName"] = "Sludgefist", ["npcID"] = 164407, ["encounterID"] = 2399, }, [128658] = { ["npcID"] = 176864, }, [270886] = { ["npcID"] = 151333, }, [317985] = { ["npcID"] = 163520, }, [393752] = { ["source"] = "Vadne Bleakheart", ["event"] = "SPELL_CAST_START", ["npcID"] = 195764, }, [346654] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166969, ["encounterID"] = 2412, }, [326177] = { ["npcID"] = 167437, }, [340512] = { ["npcID"] = 167078, }, [336418] = { ["npcID"] = 175857, }, [346657] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166969, ["encounterID"] = 2412, }, [30633] = { ["encounterName"] = "Warbringer O'mrogg", ["encounterID"] = 1937, ["npcID"] = 16809, }, [106646] = { ["npcID"] = 56473, }, [387613] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ukhel Corruptor", ["npcID"] = 195842, }, [373279] = { ["npcID"] = 189988, }, [277035] = { ["npcID"] = 154018, }, [338468] = { ["npcID"] = 171718, }, [363042] = { ["npcID"] = 182350, }, [277037] = { ["npcID"] = 146329, }, [168227] = { ["encounterName"] = "Skulloc, Son of Gruul", ["encounterID"] = 1754, ["npcID"] = 83612, }, [145702] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71385, }, [356901] = { ["npcID"] = 177004, }, [375331] = { ["encounterName"] = "The Primal Council", ["source"] = "Dathea Stormlash", ["npcID"] = 187768, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [387618] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primalist Infuser", ["npcID"] = 196043, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2618, }, [332329] = { ["npcID"] = 170486, }, [228637] = { ["npcID"] = 114802, }, [277041] = { ["npcID"] = 154020, }, [395811] = { ["source"] = "Qalashi Bonebreakers", ["event"] = "SPELL_CAST_START", ["npcID"] = 187599, }, [354857] = { ["npcID"] = 179347, }, [277043] = { ["npcID"] = 154018, }, [361001] = { ["encounterName"] = "Vigilant Guardian", ["npcID"] = 184522, ["encounterID"] = 2512, }, [227615] = { ["encounterName"] = "Shade of Medivh", ["npcID"] = 114350, ["encounterID"] = 1965, }, [334381] = { ["npcID"] = 171384, }, [369193] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Crustshaper", ["npcID"] = 186638, }, [202019] = { ["encounterName"] = "Lord Kur'talos Ravencrest", ["npcID"] = 98970, ["encounterID"] = 1835, }, [227616] = { ["encounterName"] = "Moroes", ["npcID"] = 114319, ["encounterID"] = 1961, }, [212258] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [395816] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Ironskin", ["npcID"] = 191524, }, [159017] = { ["npcID"] = 78734, }, [385578] = { ["encounterName"] = "Azureblade", ["source"] = "Azureblade", ["encounterID"] = 2585, ["event"] = "SPELL_CAST_START", ["npcID"] = 186739, }, [324146] = { ["encounterName"] = "Ventunax", ["npcID"] = 162058, ["encounterID"] = 2356, }, [369197] = { ["source"] = "Dragonbane Firebinder", ["event"] = "SPELL_CAST_START", ["npcID"] = 186605, }, [391723] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamegullet", ["npcID"] = 197697, }, [377389] = { ["source"] = "Alpha Eagle", ["event"] = "SPELL_CAST_START", ["npcID"] = 192333, }, [395819] = { ["source"] = "Qalashi Scaleripper", ["event"] = "SPELL_CAST_START", ["npcID"] = 187602, }, [340530] = { ["npcID"] = 162528, }, [393772] = { ["source"] = "Hihveer", ["event"] = "SPELL_CAST_START", ["npcID"] = 188717, }, [222499] = { ["npcID"] = 162829, }, [356913] = { ["npcID"] = 177833, }, [208165] = { ["encounterName"] = "Talixae Flamewreath", ["npcID"] = 104217, }, [391726] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thunderhead", ["npcID"] = 197698, }, [387631] = { ["source"] = "Khomuur", ["event"] = "SPELL_CAST_START", ["npcID"] = 194438, }, [358963] = { ["npcID"] = 180864, }, [328248] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165763, }, [159021] = { ["npcID"] = 77890, }, [338488] = { ["npcID"] = 173066, }, [340536] = { ["npcID"] = 173783, }, [301629] = { ["npcID"] = 150297, }, [365110] = { ["npcID"] = 183746, }, [358967] = { ["npcID"] = 179446, }, [303678] = { ["npcID"] = 155824, }, [338490] = { ["npcID"] = 162875, }, [145712] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71385, }, [361016] = { ["npcID"] = 183253, }, [375351] = { ["event"] = "SPELL_CAST_START", ["source"] = "Glacial Proto-Dragon", ["npcID"] = 190403, }, [393781] = { ["source"] = "Flame Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 192764, }, [389686] = { ["source"] = "Crystal Fury", ["event"] = "SPELL_CAST_START", ["npcID"] = 187160, }, [358970] = { ["npcID"] = 179891, }, [328254] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 168700, }, [356923] = { ["npcID"] = 179890, }, [358971] = { ["npcID"] = 179890, }, [393783] = { ["source"] = "Iskakx", ["event"] = "SPELL_CAST_START", ["npcID"] = 192761, }, [356924] = { ["npcID"] = 179890, }, [377402] = { ["event"] = "SPELL_CAST_START", ["source"] = "Infuser Sariya", ["npcID"] = 190405, }, [299588] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150251, ["encounterID"] = 2312, }, [395833] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mara'nar the Thunderous", ["npcID"] = 196913, }, [397881] = { ["event"] = "SPELL_CAST_START", ["source"] = "Corrupt Living Water", ["npcID"] = 59873, }, [320067] = { ["npcID"] = 177217, }, [395834] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bonebolt Hunter", ["npcID"] = 197121, }, [361023] = { ["npcID"] = 181005, }, [169265] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 83846, }, [356928] = { ["npcID"] = 177131, }, [361024] = { ["npcID"] = 180085, }, [346690] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166971, ["encounterID"] = 2412, }, [356929] = { ["npcID"] = 179837, }, [334404] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165066, ["encounterID"] = 2418, }, [352834] = { ["npcID"] = 176959, }, [397886] = { ["event"] = "SPELL_CAST_START", ["source"] = "Corrupt Droplet", ["npcID"] = 62358, }, [361027] = { ["npcID"] = 180088, }, [358980] = { ["npcID"] = 180864, }, [397888] = { ["event"] = "SPELL_CAST_START", ["source"] = "Fallen Waterspeaker", ["npcID"] = 200126, }, [377411] = { ["source"] = "Shadepelt Prowler", ["event"] = "SPELL_CAST_START", ["npcID"] = 189852, }, [395841] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bracken Warscourge", ["npcID"] = 197120, }, [397889] = { ["event"] = "SPELL_CAST_START", ["source"] = "Fallen Waterspeaker", ["npcID"] = 200126, }, [358982] = { ["npcID"] = 180865, }, [365126] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181548, ["encounterID"] = 2544, }, [358983] = { ["npcID"] = 180865, }, [387652] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frozen Revenant", ["npcID"] = 187203, }, [346698] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166971, ["encounterID"] = 2412, }, [198962] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Runecarver", ["npcID"] = 96664, }, [367176] = { ["npcID"] = 184409, }, [352842] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176532, }, [352843] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176533, }, [371273] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 188302, ["encounterID"] = 2418, }, [381512] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Erkhart Stormvein", ["npcID"] = 190485, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [350796] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [320081] = { ["npcID"] = 170029, }, [387657] = { ["source"] = "Mountain Shaper", ["event"] = "SPELL_CAST_START", ["npcID"] = 186329, }, [356941] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 178081, }, [33623] = { ["encounterName"] = "Temporus", ["encounterID"] = 1921, ["npcID"] = 17892, }, [356942] = { ["npcID"] = 179837, }, [381516] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Erkhart Stormvein", ["npcID"] = 190485, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [326227] = { ["npcID"] = 158630, }, [377421] = { ["source"] = "Shadepelt Prowler", ["event"] = "SPELL_CAST_START", ["npcID"] = 189852, }, [381517] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Erkhart Stormvein", ["npcID"] = 190485, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [393804] = { ["event"] = "SPELL_CAST_START", ["source"] = "Whirglgurgl", ["npcID"] = 188860, }, [363088] = { ["encounterName"] = "Lihuvim, Principal Architect", ["npcID"] = 182169, ["encounterID"] = 2539, }, [373327] = { ["encounterName"] = "Eranog", ["source"] = "Primal Flame", ["encounterID"] = 2587, ["event"] = "SPELL_CAST_START", ["npcID"] = 187593, }, [159035] = { ["npcID"] = 78728, }, [354898] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176532, }, [340564] = { ["npcID"] = 169206, }, [326230] = { ["npcID"] = 165124, }, [348756] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [354900] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176532, }, [381521] = { ["event"] = "SPELL_CAST_START", ["source"] = "Encroaching Downpour", ["npcID"] = 191324, }, [279134] = { ["npcID"] = 145120, }, [340567] = { ["npcID"] = 162741, }, [232756] = { ["encounterName"] = "Mistress Sassz'ine", ["encounterID"] = 2037, ["npcID"] = 115767, }, [152894] = { ["npcID"] = 79466, }, [340568] = { ["npcID"] = 172800, }, [356951] = { ["npcID"] = 177004, }, [358999] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [393811] = { ["source"] = "Maiden of Diligence", ["event"] = "SPELL_CAST_START", ["npcID"] = 192718, }, [354904] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176532, }, [227638] = { ["encounterName"] = "Attumen the Huntsman", ["npcID"] = 114262, ["encounterID"] = 1960, }, [393812] = { ["event"] = "SPELL_CAST_START", ["source"] = "Whirglgurgl", ["npcID"] = 188860, }, [395860] = { ["source"] = "Gargantuan Hornswog", ["event"] = "SPELL_CAST_START", ["npcID"] = 191606, }, [218424] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109041, }, [375384] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Earthshaker", ["npcID"] = 190371, }, [39000] = { ["npcID"] = 22095, }, [322143] = { ["npcID"] = 156559, }, [356955] = { ["npcID"] = 176880, }, [375385] = { ["event"] = "SPELL_CAST_START", ["source"] = "Steam Reaver", ["npcID"] = 190700, }, [328287] = { ["npcID"] = 165265, }, [356956] = { ["npcID"] = 177551, }, [301667] = { ["npcID"] = 150292, }, [361052] = { ["npcID"] = 180722, }, [381530] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Thunderfist", ["npcID"] = 193373, }, [377435] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Geomancer", ["npcID"] = 187265, }, [375388] = { ["npcID"] = 190900, }, [59734] = { ["encounterName"] = "Ingvar the Plunderer", ["npcID"] = 23954, ["encounterID"] = 2025, }, [397914] = { ["event"] = "SPELL_CAST_START", ["source"] = "Depraved Mistweaver", ["npcID"] = 200137, }, [350816] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 176531, }, [161090] = { ["encounterName"] = "Rocketspark and Borka", ["encounterID"] = 1715, ["npcID"] = 77816, }, [393820] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sturdy Gladehorn", ["npcID"] = 196655, }, [387677] = { ["event"] = "SPELL_CAST_START", ["source"] = "Deathling Destroyer", ["npcID"] = 190214, }, [381535] = { ["npcID"] = 190388, }, [340581] = { ["npcID"] = 166263, }, [32173] = { ["npcID"] = 17961, }, [328295] = { ["npcID"] = 168718, }, [395871] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Stonebinder", ["npcID"] = 189834, }, [56919] = { ["encounterName"] = "Frozen Commander", ["encounterID"] = 519, ["npcID"] = 26805, }, [12248] = { ["npcID"] = 17771, }, [395872] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Talking Fish", ["npcID"] = 59546, }, [354918] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176532, }, [387683] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frozen Revenant", ["npcID"] = 187203, }, [332394] = { ["npcID"] = 164371, }, [369254] = { ["npcID"] = 185886, }, [330347] = { ["npcID"] = 157583, }, [359016] = { ["npcID"] = 179460, }, [295536] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150190, ["encounterID"] = 2291, }, [324205] = { ["encounterName"] = "Ventunax", ["npcID"] = 162058, ["encounterID"] = 2356, }, [377447] = { ["event"] = "SPELL_CAST_START", ["source"] = "Obsidian Wingguard", ["npcID"] = 192220, }, [301681] = { ["npcID"] = 150292, }, [361066] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181551, ["encounterID"] = 2544, }, [86699] = { ["npcID"] = 61252, }, [356971] = { ["npcID"] = 180087, }, [167239] = { ["npcID"] = 83028, }, [371306] = { ["source"] = "Arcane Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 186741, }, [164168] = { ["npcID"] = 81212, }, [157001] = { ["npcID"] = 77890, }, [167240] = { ["npcID"] = 83028, }, [241983] = { ["encounterName"] = "Kil'jaeden", ["npcID"] = 117269, ["encounterID"] = 2051, }, [146763] = { ["encounterName"] = "Galakras", ["npcID"] = 72353, ["encounterID"] = 1622, }, [354927] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 178081, }, [340593] = { ["npcID"] = 172050, }, [397931] = { ["event"] = "SPELL_CAST_START", ["source"] = "Minion of Doubt", ["npcID"] = 57109, }, [367215] = { ["npcID"] = 184395, }, [336499] = { ["encounterName"] = "Mistcaller", ["npcID"] = 164501, ["encounterID"] = 2392, }, [365168] = { ["npcID"] = 184530, }, [37979] = { ["npcID"] = 17730, }, [365169] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [371313] = { ["npcID"] = 4127, }, [391791] = { ["source"] = "Empowered Water Fury", ["event"] = "SPELL_CAST_START", ["npcID"] = 188691, }, [320120] = { ["encounterName"] = "An Affront of Challengers", ["npcID"] = 164463, ["encounterID"] = 2391, }, [354932] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 178081, }, [359028] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176563, }, [354933] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176533, }, [356981] = { ["npcID"] = 177529, }, [391793] = { ["source"] = "Empowered Water Fury", ["event"] = "SPELL_CAST_START", ["npcID"] = 188691, }, [218438] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109040, }, [373364] = { ["npcID"] = 189878, }, [320123] = { ["npcID"] = 168966, }, [322171] = { ["npcID"] = 172596, }, [356984] = { ["npcID"] = 178402, }, [146768] = { ["encounterName"] = "Galakras", ["npcID"] = 72561, ["encounterID"] = 1622, }, [114859] = { ["npcID"] = 59614, }, [354938] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176533, }, [391798] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rebel Incinerator", ["npcID"] = 195062, }, [328318] = { ["npcID"] = 166875, }, [363130] = { ["encounterName"] = "Lihuvim, Principal Architect", ["npcID"] = 182169, ["encounterID"] = 2539, }, [391799] = { ["source"] = "Wilted Oak", ["event"] = "SPELL_CAST_START", ["npcID"] = 197131, }, [373370] = { ["npcID"] = 189878, }, [82608] = { ["npcID"] = 3255, }, [367228] = { ["npcID"] = 184767, }, [338560] = { ["npcID"] = 173078, }, [375420] = { ["source"] = "Tenacious Timbertooth", ["event"] = "SPELL_CAST_START", ["npcID"] = 196185, }, [328322] = { ["encounterName"] = "Echelon", ["npcID"] = 164363, ["encounterID"] = 2380, }, [320132] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164556, ["encounterID"] = 2394, }, [387708] = { ["source"] = "Disoriented Watcher", ["event"] = "SPELL_CAST_START", ["npcID"] = 187745, }, [375422] = { ["event"] = "SPELL_CAST_START", ["source"] = "Riverbend Gnasher", ["npcID"] = 190888, }, [361088] = { ["npcID"] = 182378, }, [191823] = { ["encounterName"] = "Tirathon Saltheril", ["npcID"] = 95885, ["encounterID"] = 1815, }, [365185] = { ["npcID"] = 184659, }, [146773] = { ["encounterName"] = "Galakras", ["npcID"] = 72356, ["encounterID"] = 1622, }, [320135] = { ["npcID"] = 170082, }, [119981] = { ["encounterName"] = "Trial of the King", ["encounterID"] = 1442, ["npcID"] = 61444, }, [183633] = { ["npcID"] = 91008, }, [377473] = { ["encounterName"] = "Warlord Sargha", ["source"] = "Warlord Sargha", ["npcID"] = 189901, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2611, }, [152917] = { ["npcID"] = 77559, }, [179538] = { ["npcID"] = 89025, }, [328328] = { ["npcID"] = 167853, }, [381570] = { ["npcID"] = 190388, }, [197969] = { ["encounterName"] = "Ursoc", ["encounterID"] = 1841, ["npcID"] = 100497, }, [328331] = { ["npcID"] = 168717, }, [145752] = { ["npcID"] = 72656, }, [320141] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164556, ["encounterID"] = 2394, }, [346762] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166969, ["encounterID"] = 2412, }, [340619] = { ["npcID"] = 172071, }, [334476] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [381575] = { ["source"] = "Rustpine Immolator", ["event"] = "SPELL_CAST_START", ["npcID"] = 187396, }, [39006] = { ["encounterName"] = "Wrath-Scryer Soccothrates", ["encounterID"] = 1915, ["npcID"] = 20886, }, [332430] = { ["npcID"] = 177132, }, [320144] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164555, ["encounterID"] = 2394, }, [340622] = { ["npcID"] = 173798, }, [393864] = { ["source"] = "Trap-Layer Kerwal", ["event"] = "SPELL_CAST_START", ["npcID"] = 186516, }, [322193] = { ["npcID"] = 157054, }, [340623] = { ["npcID"] = 173798, }, [285335] = { ["npcID"] = 177131, }, [328338] = { ["npcID"] = 167493, }, [330386] = { ["npcID"] = 158976, }, [330387] = { ["npcID"] = 159178, }, [350865] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 177154, }, [377486] = { ["npcID"] = 184335, }, [330388] = { ["npcID"] = 159178, }, [340627] = { ["npcID"] = 173798, }, [391821] = { ["event"] = "SPELL_CAST_START", ["source"] = "Snowhide Shaman", ["npcID"] = 189654, }, [373392] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Longbow", ["npcID"] = 192789, }, [334485] = { ["encounterName"] = "Ventunax", ["npcID"] = 162058, ["encounterID"] = 2356, }, [164187] = { ["npcID"] = 81407, }, [157020] = { ["npcID"] = 79462, }, [357011] = { ["npcID"] = 177514, }, [330391] = { ["npcID"] = 159178, }, [377490] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thunderspine Crasher", ["npcID"] = 191057, }, [340631] = { ["npcID"] = 173800, }, [334488] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [165213] = { ["npcID"] = 81985, }, [389779] = { ["npcID"] = 46914, }, [96437] = { ["npcID"] = 33193, }, [387732] = { ["npcID"] = 3272, }, [375446] = { ["source"] = "Sunhide Stomphoof", ["event"] = "SPELL_CAST_START", ["npcID"] = 187960, }, [330397] = { ["npcID"] = 178281, }, [334493] = { ["npcID"] = 164862, }, [118963] = { ["npcID"] = 61240, }, [381592] = { ["source"] = "Brutal Motivator", ["event"] = "SPELL_CAST_START", ["npcID"] = 184453, }, [381593] = { ["npcID"] = 184300, }, [146786] = { ["encounterName"] = "Galakras", ["npcID"] = 73909, ["encounterID"] = 1622, }, [164192] = { ["npcID"] = 81236, }, [330400] = { ["npcID"] = 161553, }, [365212] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [391833] = { ["source"] = "Sherath", ["event"] = "SPELL_CAST_START", ["npcID"] = 188710, }, [330401] = { ["npcID"] = 161553, }, [275112] = { ["source"] = "Blisterhide", ["event"] = "SPELL_CAST_START", ["npcID"] = 197353, }, [147811] = { ["encounterName"] = "Garrosh Hellscream", ["encounterID"] = 1623, ["npcID"] = 73483, }, [373405] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [334498] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [330403] = { ["npcID"] = 168153, }, [365215] = { ["npcID"] = 178563, }, [377502] = { ["event"] = "SPELL_CAST_START", ["source"] = "Soggymaw Seabasher", ["npcID"] = 187320, }, [45664] = { ["encounterName"] = "Kil'jaeden", ["npcID"] = 25315, ["encounterID"] = 729, }, [391837] = { ["event"] = "SPELL_CAST_START", ["source"] = "Emerald Warden", ["npcID"] = 191252, }, [377503] = { ["source"] = "Rune Seal Keeper", ["event"] = "SPELL_CAST_START", ["npcID"] = 187155, }, [330405] = { ["npcID"] = 168525, }, [39009] = { ["encounterName"] = "Dalliah the Doomsayer", ["encounterID"] = 1913, ["npcID"] = 20885, }, [395934] = { ["event"] = "SPELL_CAST_START", ["source"] = "Trickclaw Mystic", ["npcID"] = 197119, }, [316072] = { ["npcID"] = 170951, }, [375457] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Juvenile Frost Proto-Dragon", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 191222, }, [320168] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164555, ["encounterID"] = 2394, }, [340646] = { ["npcID"] = 173802, }, [228700] = { ["npcID"] = 114338, }, [346790] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 169924, ["encounterID"] = 2412, }, [381602] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Kyrakka", ["npcID"] = 190484, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [375459] = { ["source"] = "Thunderspine Rumbler", ["event"] = "SPELL_CAST_START", ["npcID"] = 192941, }, [320170] = { ["encounterName"] = "Amarth, The Harvester", ["encounterID"] = 2388, ["npcID"] = 162692, }, [330409] = { ["npcID"] = 158420, }, [383651] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Lavamancer", ["npcID"] = 193944, }, [320171] = { ["encounterName"] = "Amarth, The Harvester", ["encounterID"] = 2388, ["npcID"] = 163157, }, [340649] = { ["npcID"] = 180096, }, [17843] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24560, }, [395939] = { ["event"] = "SPELL_CAST_START", ["source"] = "Riverbeast Elder", ["npcID"] = 191687, }, [381605] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Kyrakka", ["npcID"] = 190484, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [326316] = { ["npcID"] = 160445, }, [336556] = { ["npcID"] = 179913, }, [395941] = { ["event"] = "SPELL_CAST_START", ["source"] = "Riverbeast Elder", ["npcID"] = 191687, }, [334509] = { ["npcID"] = 169901, }, [377512] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lava Snail", ["npcID"] = 184851, }, [326319] = { ["npcID"] = 164921, }, [338606] = { ["npcID"] = 167731, }, [114872] = { ["npcID"] = 59614, }, [340655] = { ["npcID"] = 172077, }, [391849] = { ["npcID"] = 191406, }, [336560] = { ["npcID"] = 180627, }, [330417] = { ["npcID"] = 169696, }, [211299] = { ["npcID"] = 105715, }, [346800] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166970, ["encounterID"] = 2412, }, [111801] = { ["npcID"] = 58822, }, [152939] = { ["encounterName"] = "Roltall", ["encounterID"] = 1652, ["npcID"] = 75786, }, [389804] = { ["source"] = "Unstable Curator", ["event"] = "SPELL_CAST_START", ["npcID"] = 187154, }, [114873] = { ["npcID"] = 59613, }, [250208] = { ["npcID"] = 170334, }, [152940] = { ["encounterName"] = "Roltall", ["encounterID"] = 1652, ["npcID"] = 75786, }, [373424] = { ["encounterName"] = "Chargath, Bane of Scales", ["source"] = "Chargath, Bane of Scales", ["npcID"] = 189340, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2613, }, [391855] = { ["source"] = "Korthrox the Destroyer", ["event"] = "SPELL_CAST_START", ["npcID"] = 183422, }, [330423] = { ["npcID"] = 168572, }, [340662] = { ["npcID"] = 172078, }, [195944] = { ["npcID"] = 91796, }, [114874] = { ["npcID"] = 59613, }, [395952] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bonecrusher", ["npcID"] = 197125, }, [159085] = { ["npcID"] = 85775, }, [346807] = { ["npcID"] = 177852, }, [373429] = { ["npcID"] = 189878, }, [334522] = { ["encounterName"] = "Hungering Destroyer", ["npcID"] = 164261, ["encounterID"] = 2383, }, [393907] = { ["source"] = "Discordant Watcher", ["event"] = "SPELL_CAST_START", ["npcID"] = 189149, }, [322236] = { ["encounterName"] = "Stradama Margrave", ["npcID"] = 165430, ["encounterID"] = 2386, }, [359096] = { ["npcID"] = 179460, }, [369335] = { ["npcID"] = 184107, }, [371383] = { ["event"] = "SPELL_CAST_START", ["source"] = "Hailbringer Theurgist", ["npcID"] = 189229, }, [346811] = { ["npcID"] = 177453, }, [389814] = { ["npcID"] = 189955, }, [148849] = { ["encounterName"] = "Galakras", ["npcID"] = 73909, ["encounterID"] = 1622, }, [367290] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [346813] = { ["npcID"] = 152905, }, [359102] = { ["npcID"] = 176533, }, [377532] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thunderspine Crasher", ["npcID"] = 191057, }, [307909] = { ["npcID"] = 157872, }, [320196] = { ["npcID"] = 166600, }, [314053] = { ["npcID"] = 161261, }, [157043] = { ["npcID"] = 77130, }, [324293] = { ["npcID"] = 165919, }, [39013] = { ["encounterName"] = "Dalliah the Doomsayer", ["encounterID"] = 1913, ["npcID"] = 20885, }, [330438] = { ["npcID"] = 165976, }, [350916] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 179269, }, [320200] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [395967] = { ["event"] = "SPELL_CAST_START", ["source"] = "Vicious Hyena", ["npcID"] = 197123, }, [340678] = { ["npcID"] = 169631, }, [336584] = { ["npcID"] = 164476, }, [346823] = { ["npcID"] = 176252, }, [350919] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176563, }, [334538] = { ["npcID"] = 171422, }, [328395] = { ["npcID"] = 171656, }, [340683] = { ["npcID"] = 172079, }, [350922] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 179269, }, [338636] = { ["npcID"] = 167731, }, [365257] = { ["encounterName"] = "Lihuvim, Principal Architect", ["npcID"] = 182071, ["encounterID"] = 2539, }, [387783] = { ["source"] = "Windseeker Avash", ["event"] = "SPELL_CAST_START", ["npcID"] = 192045, }, [334542] = { ["npcID"] = 171422, }, [320208] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 164578, }, [346829] = { ["npcID"] = 175863, }, [145786] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71397, }, [328400] = { ["npcID"] = 164737, }, [157049] = { ["npcID"] = 77889, }, [152954] = { ["encounterName"] = "Vigilant Kaathar", ["encounterID"] = 1686, ["npcID"] = 75839, }, [346832] = { ["npcID"] = 175974, }, [35943] = { ["npcID"] = 16594, }, [383693] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Beastmaster", ["npcID"] = 192794, }, [164218] = { ["npcID"] = 81407, }, [157051] = { ["npcID"] = 77889, }, [332500] = { ["npcID"] = 173582, }, [361169] = { ["npcID"] = 182466, }, [162171] = { ["encounterName"] = "Rocketspark and Borka", ["encounterID"] = 1715, ["npcID"] = 77803, }, [38759] = { ["encounterName"] = "Pandemonius", ["encounterID"] = 1900, ["npcID"] = 18341, }, [342741] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 172858, ["encounterID"] = 2417, }, [209270] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [157053] = { ["npcID"] = 77890, }, [393937] = { ["source"] = "Discordant Watcher", ["event"] = "SPELL_CAST_START", ["npcID"] = 189149, }, [279264] = { ["npcID"] = 164334, }, [330458] = { ["npcID"] = 151331, }, [328411] = { ["npcID"] = 165270, }, [169341] = { ["npcID"] = 81283, }, [365272] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181551, ["encounterID"] = 2544, }, [328413] = { ["npcID"] = 170981, }, [332509] = { ["npcID"] = 164555, }, [38760] = { ["encounterName"] = "Pandemonius", ["encounterID"] = 1900, ["npcID"] = 18341, }, [328414] = { ["npcID"] = 165270, }, [338653] = { ["npcID"] = 173044, }, [357083] = { ["npcID"] = 180864, }, [334558] = { ["npcID"] = 171448, }, [395991] = { ["source"] = "Raging Torrent", ["event"] = "SPELL_CAST_START", ["npcID"] = 197221, }, [357084] = { ["npcID"] = 180379, }, [391896] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ruby Lifetender", ["npcID"] = 196647, }, [357085] = { ["npcID"] = 176959, }, [342751] = { ["npcID"] = 171596, }, [322274] = { ["encounterName"] = "Nalthor the Rimebinder", ["encounterID"] = 2390, ["npcID"] = 164815, }, [381659] = { ["source"] = "Cascade", ["event"] = "SPELL_CAST_START", ["npcID"] = 186962, }, [342752] = { ["npcID"] = 173633, }, [207228] = { ["encounterName"] = "Chronomatic Anomaly", ["encounterID"] = 1865, ["npcID"] = 104676, }, [35945] = { ["npcID"] = 16704, }, [194942] = { ["encounterName"] = "Glazer", ["npcID"] = 95887, ["encounterID"] = 1817, }, [318181] = { ["npcID"] = 157274, }, [340707] = { ["npcID"] = 172084, }, [320230] = { ["encounterName"] = "Dealer Xy'exa", ["npcID"] = 164450, ["encounterID"] = 2400, }, [152964] = { ["npcID"] = 75652, }, [381663] = { ["event"] = "SPELL_CAST_START", ["source"] = "Apex Blazewing", ["npcID"] = 193291, }, [357091] = { ["npcID"] = 178731, }, [128708] = { ["npcID"] = 59521, }, [334567] = { ["npcID"] = 171448, }, [322281] = { ["npcID"] = 156559, }, [396001] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Songbird Queen", ["npcID"] = 59553, }, [340712] = { ["npcID"] = 162697, }, [373477] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bound Shoresnapper", ["npcID"] = 190193, }, [391907] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stalag-MIGHT!", ["npcID"] = 197850, }, [355048] = { ["npcID"] = 178139, }, [355049] = { ["npcID"] = 176535, }, [328429] = { ["npcID"] = 168022, }, [355050] = { ["npcID"] = 176535, }, [332525] = { ["npcID"] = 171396, }, [391910] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mordigan Ironjaw", ["npcID"] = 187353, }, [102601] = { ["npcID"] = 54920, }, [332526] = { ["npcID"] = 171396, }, [79564] = { ["npcID"] = 41657, }, [330479] = { ["npcID"] = 153382, }, [391912] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stalag-MIGHT!", ["npcID"] = 197853, }, [373483] = { ["event"] = "SPELL_CAST_START", ["source"] = "Soggymaw Wavebringer", ["npcID"] = 187263, }, [346863] = { ["npcID"] = 158406, }, [357102] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176533, }, [320243] = { ["npcID"] = 166425, }, [355055] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 176929, }, [256382] = { ["npcID"] = 127807, }, [391915] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cragsworn Stoneshaper", ["npcID"] = 195838, }, [365295] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [342770] = { ["npcID"] = 173604, }, [346866] = { ["npcID"] = 174175, }, [326389] = { ["encounterName"] = "Echelon", ["npcID"] = 164185, ["encounterID"] = 2380, }, [328437] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [340724] = { ["npcID"] = 177217, }, [39019] = { ["encounterName"] = "Harbinger Skyriss", ["encounterID"] = 1914, ["npcID"] = 20912, }, [357107] = { ["npcID"] = 177144, }, [152973] = { ["npcID"] = 76087, }, [365299] = { ["npcID"] = 184539, }, [326392] = { ["npcID"] = 157212, }, [241027] = { ["npcID"] = 120808, }, [355062] = { ["npcID"] = 178623, }, [381683] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Warspear", ["npcID"] = 192791, }, [355063] = { ["npcID"] = 178623, }, [277249] = { ["npcID"] = 158177, }, [9053] = { ["npcID"] = 18583, }, [357112] = { ["npcID"] = 177831, }, [369399] = { ["npcID"] = 186420, }, [396020] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Golden Beetle", ["npcID"] = 59545, }, [199050] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Shieldmaiden", ["npcID"] = 95832, }, [361209] = { ["npcID"] = 182466, }, [39020] = { ["encounterName"] = "Harbinger Skyriss", ["encounterID"] = 1914, ["npcID"] = 20912, }, [357115] = { ["npcID"] = 177915, }, [326399] = { ["npcID"] = 155251, }, [361211] = { ["npcID"] = 182161, }, [396023] = { ["encounterName"] = "Eranog", ["source"] = "Eranog", ["encounterID"] = 2587, ["event"] = "SPELL_CAST_START", ["npcID"] = 184972, }, [194956] = { ["encounterName"] = "Amalgam of Souls", ["npcID"] = 98542, ["encounterID"] = 1832, }, [221577] = { ["npcID"] = 111170, }, [355069] = { ["npcID"] = 178625, }, [20792] = { ["npcID"] = 16308, }, [375547] = { ["npcID"] = 191286, }, [355070] = { ["npcID"] = 178625, }, [118988] = { ["encounterName"] = "Gekkan", ["encounterID"] = 2129, ["npcID"] = 61243, }, [355072] = { ["npcID"] = 178628, }, [340738] = { ["npcID"] = 167848, }, [330500] = { ["npcID"] = 155251, }, [340739] = { ["npcID"] = 173855, }, [355074] = { ["npcID"] = 178628, }, [369409] = { ["npcID"] = 184130, }, [206222] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [332550] = { ["npcID"] = 169875, }, [357124] = { ["npcID"] = 180780, }, [310026] = { ["npcID"] = 166071, }, [369411] = { ["npcID"] = 184301, }, [357125] = { ["npcID"] = 176879, }, [326409] = { ["npcID"] = 164557, }, [328458] = { ["npcID"] = 168844, }, [387843] = { ["source"] = "Spectral Invoker", ["event"] = "SPELL_CAST_START", ["npcID"] = 196202, }, [391939] = { ["npcID"] = 189206, }, [35950] = { ["npcID"] = 17670, }, [381701] = { ["npcID"] = 190933, }, [342794] = { ["npcID"] = 174336, }, [377608] = { ["npcID"] = 190938, }, [373513] = { ["npcID"] = 190128, }, [377609] = { ["event"] = "SPELL_CAST_START", ["source"] = "Obsidian Soldier", ["npcID"] = 186919, }, [340750] = { ["npcID"] = 167548, }, [387849] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Dathea, Ascended", ["npcID"] = 189813, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [200084] = { ["npcID"] = 98366, }, [193941] = { ["npcID"] = 98406, }, [389898] = { ["source"] = "Arcane Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 196992, }, [361230] = { ["npcID"] = 182561, }, [357135] = { ["npcID"] = 180387, }, [310037] = { ["npcID"] = 166071, }, [344849] = { ["npcID"] = 175240, }, [367375] = { ["npcID"] = 178778, }, [336659] = { ["npcID"] = 166993, }, [396044] = { ["encounterName"] = "Melidrussa Chillworn", ["source"] = "Melidrussa Chillworn", ["npcID"] = 188252, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2609, }, [174489] = { ["npcID"] = 77559, }, [310039] = { ["npcID"] = 167089, }, [336660] = { ["npcID"] = 165981, }, [355090] = { ["npcID"] = 178628, }, [39023] = { ["npcID"] = 20905, }, [357139] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 176532, }, [310041] = { ["npcID"] = 166071, }, [151965] = { ["npcID"] = 75191, }, [340758] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [367379] = { ["npcID"] = 178778, }, [340759] = { ["npcID"] = 174732, }, [241043] = { ["npcID"] = 120808, }, [377619] = { ["npcID"] = 46859, }, [332569] = { ["npcID"] = 156559, }, [367381] = { ["npcID"] = 178778, }, [273185] = { ["npcID"] = 150251, }, [357143] = { ["npcID"] = 178646, }, [336666] = { ["npcID"] = 158891, }, [177564] = { ["npcID"] = 177586, }, [348953] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [221591] = { ["npcID"] = 111164, }, [375575] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Dragonspawn Flamebender", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 191230, }, [46191] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24558, }, [357146] = { ["npcID"] = 177938, }, [391958] = { ["event"] = "SPELL_CAST_START", ["source"] = "Relentless Gust", ["npcID"] = 194159, }, [391959] = { ["source"] = "Ganmat the Wise", ["event"] = "SPELL_CAST_START", ["npcID"] = 192226, }, [381721] = { ["npcID"] = 3273, }, [238999] = { ["encounterName"] = "Kil'jaeden", ["npcID"] = 117269, ["encounterID"] = 2051, }, [334625] = { ["encounterName"] = "Devos, Paragon of Loyalty", ["npcID"] = 162061, ["encounterID"] = 2359, }, [324387] = { ["npcID"] = 165197, }, [72922] = { ["source"] = "Tolliver Houndstooth", ["event"] = "SPELL_CAST_START", ["npcID"] = 38804, }, [82137] = { ["npcID"] = 39665, }, [330532] = { ["npcID"] = 166611, }, [193951] = { ["npcID"] = 97677, }, [39025] = { ["npcID"] = 20909, }, [359203] = { ["npcID"] = 182356, }, [369442] = { ["event"] = "SPELL_CAST_START", ["source"] = "Infused Proto-Drake", ["npcID"] = 189515, }, [326441] = { ["npcID"] = 164557, }, [152998] = { ["npcID"] = 76145, }, [324394] = { ["npcID"] = 165197, }, [34930] = { ["npcID"] = 18331, }, [320300] = { ["encounterName"] = "An Affront of Challengers", ["npcID"] = 164461, ["encounterID"] = 2391, }, [375591] = { ["source"] = "Bubbling Sapling", ["event"] = "SPELL_CAST_START", ["npcID"] = 191313, }, [344875] = { ["npcID"] = 171317, }, [396069] = { ["npcID"] = 191095, }, [318255] = { ["npcID"] = 163575, }, [39026] = { ["npcID"] = 20909, }, [373545] = { ["source"] = "Tranquil Tideskipper", ["event"] = "SPELL_CAST_START", ["npcID"] = 192148, }, [348974] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [303924] = { ["npcID"] = 155911, }, [153002] = { ["encounterName"] = "Vigilant Kaathar", ["encounterID"] = 1686, ["npcID"] = 75839, }, [326450] = { ["npcID"] = 164562, }, [173480] = { ["npcID"] = 83389, }, [373549] = { ["source"] = "Grimy Skimmer", ["event"] = "SPELL_CAST_START", ["npcID"] = 189614, }, [396075] = { ["source"] = "Raging Torrent", ["event"] = "SPELL_CAST_START", ["npcID"] = 197221, }, [241057] = { ["npcID"] = 120808, }, [322358] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 164967, ["encounterID"] = 2384, }, [340788] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [391982] = { ["event"] = "SPELL_CAST_START", ["source"] = "Magmatalon", ["npcID"] = 189538, }, [221604] = { ["npcID"] = 111164, }, [396078] = { ["source"] = "Summoned Destroyer", ["event"] = "SPELL_CAST_START", ["npcID"] = 193288, }, [326455] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165805, }, [357172] = { ["npcID"] = 178575, }, [115418] = { ["npcID"] = 59801, }, [316218] = { ["npcID"] = 166282, }, [330553] = { ["npcID"] = 166649, }, [365365] = { ["npcID"] = 185312, }, [359222] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176561, }, [375605] = { ["source"] = "Unbound Attendant", ["event"] = "SPELL_CAST_START", ["npcID"] = 187036, }, [130265] = { ["npcID"] = 66291, }, [326460] = { ["npcID"] = 160654, }, [396084] = { ["npcID"] = 190933, }, [394037] = { ["source"] = "Unbound Attendant", ["event"] = "SPELL_CAST_START", ["npcID"] = 187036, }, [332605] = { ["npcID"] = 170572, }, [334653] = { ["npcID"] = 165076, }, [369465] = { ["npcID"] = 186420, }, [322367] = { ["npcID"] = 165485, }, [47731] = { ["encounterName"] = "Grand Magus Telestra", ["encounterID"] = 2010, ["npcID"] = 26929, }, [326463] = { ["npcID"] = 164036, }, [355132] = { ["npcID"] = 178141, }, [130266] = { ["npcID"] = 66200, }, [326464] = { ["npcID"] = 164036, }, [377658] = { ["encounterName"] = "Raszageth the Storm-Eater", ["source"] = "Raszageth", ["encounterID"] = 2607, ["event"] = "SPELL_CAST_START", ["npcID"] = 189492, }, [332608] = { ["npcID"] = 170572, }, [322370] = { ["npcID"] = 157054, }, [330562] = { ["npcID"] = 164506, }, [357183] = { ["npcID"] = 177938, }, [377661] = { ["event"] = "SPELL_CAST_START", ["source"] = "Elegant Vorquin", ["npcID"] = 193752, }, [389948] = { ["source"] = "Overseer Zambul", ["event"] = "SPELL_CAST_START", ["npcID"] = 191145, }, [389949] = { ["source"] = "Nokhud Brute", ["event"] = "SPELL_CAST_START", ["npcID"] = 187299, }, [359233] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 181047, }, [394045] = { ["source"] = "Vadne Bleakheart", ["event"] = "SPELL_CAST_START", ["npcID"] = 195764, }, [346947] = { ["encounterName"] = "Mailroom Mayhem", ["encounterID"] = 2424, ["npcID"] = 175646, }, [391998] = { ["npcID"] = 191403, }, [336709] = { ["npcID"] = 172177, }, [149941] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74570, }, [359235] = { ["npcID"] = 180906, }, [357188] = { ["encounterName"] = "So'azmi", ["encounterID"] = 2437, ["npcID"] = 175806, }, [359236] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [205231] = { ["npcID"] = 103673, }, [330568] = { ["npcID"] = 167484, }, [324425] = { ["npcID"] = 169986, }, [334664] = { ["npcID"] = 171341, }, [332617] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 164967, ["encounterID"] = 2384, }, [351047] = { ["npcID"] = 178392, }, [34934] = { ["npcID"] = 18394, }, [324427] = { ["encounterName"] = "Oryphrion", ["npcID"] = 162060, ["encounterID"] = 2358, }, [357192] = { ["npcID"] = 178576, }, [336715] = { ["npcID"] = 172177, }, [231854] = { ["encounterName"] = "Harjatan", ["encounterID"] = 2036, ["npcID"] = 116407, }, [385862] = { ["event"] = "SPELL_CAST_START", ["source"] = "Murloc Hopper", ["npcID"] = 195218, }, [330573] = { ["npcID"] = 155251, }, [365385] = { ["encounterName"] = "The Jailer", ["npcID"] = 184622, ["encounterID"] = 2537, }, [392006] = { ["source"] = "Sickly Brute", ["event"] = "SPELL_CAST_START", ["npcID"] = 186668, }, [330574] = { ["npcID"] = 179755, }, [398150] = { ["source"] = "Shadowmoon Dominator", ["event"] = "SPELL_CAST_START", ["npcID"] = 76446, }, [392007] = { ["source"] = "Shadepaw Thief", ["event"] = "SPELL_CAST_START", ["npcID"] = 192748, }, [320336] = { ["npcID"] = 163126, }, [346957] = { ["encounterName"] = "Hylbrande", ["npcID"] = 175667, ["encounterID"] = 2426, }, [381770] = { ["encounterName"] = "Treemouth", ["source"] = "Decaying Slime", ["encounterID"] = 2568, ["event"] = "SPELL_CAST_START", ["npcID"] = 192481, }, [342863] = { ["encounterName"] = "Shriekwing", ["npcID"] = 164406, ["encounterID"] = 2398, }, [316244] = { ["npcID"] = 159458, }, [396107] = { ["event"] = "SPELL_CAST_START", ["source"] = "Hungry Hungry Lava", ["npcID"] = 194878, }, [340818] = { ["npcID"] = 165404, }, [351057] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [73958] = { ["source"] = "Drowned Thunder Lizard", ["event"] = "SPELL_CAST_START", ["npcID"] = 39464, }, [392013] = { ["source"] = "Unbound Attendant", ["event"] = "SPELL_CAST_START", ["npcID"] = 187036, }, [328533] = { ["npcID"] = 163862, }, [383823] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Hornsounder", ["npcID"] = 192796, }, [357203] = { ["npcID"] = 178056, }, [342869] = { ["npcID"] = 168934, }, [261552] = { ["npcID"] = 132701, }, [361300] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181546, ["encounterID"] = 2544, }, [330586] = { ["npcID"] = 169927, }, [342873] = { ["npcID"] = 177589, }, [365399] = { ["npcID"] = 184804, }, [344922] = { ["npcID"] = 168148, }, [83175] = { ["npcID"] = 42062, }, [342875] = { ["npcID"] = 167827, }, [196027] = { ["npcID"] = 100248, }, [346972] = { ["npcID"] = 179283, }, [166335] = { ["npcID"] = 82579, }, [334686] = { ["npcID"] = 162096, }, [168383] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83894, }, [342878] = { ["npcID"] = 167036, }, [180670] = { ["npcID"] = 90215, }, [330593] = { ["npcID"] = 168724, }, [34425] = { ["npcID"] = 17153, }, [385883] = { ["source"] = "Forge-Keep Custodian", ["event"] = "SPELL_CAST_START", ["npcID"] = 192703, }, [198077] = { ["encounterName"] = "Odyn", ["source"] = "Odyn", ["npcID"] = 95676, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1809, }, [351073] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 175729, }, [357217] = { ["npcID"] = 180389, }, [359265] = { ["npcID"] = 184357, }, [320358] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [330597] = { ["npcID"] = 177418, }, [357218] = { ["npcID"] = 176957, }, [351075] = { ["encounterName"] = "Sylvanas Windrunner", ["npcID"] = 177154, }, [86249] = { ["npcID"] = 166656, }, [297834] = { ["encounterName"] = "Gunker", ["npcID"] = 150222, ["encounterID"] = 2292, }, [357219] = { ["npcID"] = 176957, }, [318312] = { ["npcID"] = 166581, }, [297835] = { ["encounterName"] = "Gunker", ["npcID"] = 150222, ["encounterID"] = 2292, }, [349030] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [34170] = { ["npcID"] = 18420, }, [375652] = { ["source"] = "Arcane Tender", ["event"] = "SPELL_CAST_START", ["npcID"] = 196115, }, [344936] = { ["npcID"] = 168975, }, [308077] = { ["npcID"] = 157956, }, [346985] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [332651] = { ["npcID"] = 160675, }, [330604] = { ["npcID"] = 168724, }, [383846] = { ["source"] = "Springs Heater", ["event"] = "SPELL_CAST_START", ["npcID"] = 196168, }, [357226] = { ["npcID"] = 180429, }, [328558] = { ["npcID"] = 159027, }, [344941] = { ["npcID"] = 162845, }, [227776] = { ["encounterName"] = "Opera Hall", ["npcID"] = 114251, ["encounterID"] = 1957, }, [361324] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [191941] = { ["encounterName"] = "Tirathon Saltheril", ["npcID"] = 95885, ["encounterID"] = 1815, }, [338800] = { ["npcID"] = 173202, }, [332657] = { ["npcID"] = 164587, }, [371565] = { ["source"] = "Ohn'ir Windcaller", ["event"] = "SPELL_CAST_START", ["npcID"] = 191244, }, [342897] = { ["npcID"] = 174130, }, [338802] = { ["npcID"] = 173202, }, [357232] = { ["npcID"] = 179108, }, [342898] = { ["npcID"] = 170753, }, [338803] = { ["npcID"] = 173202, }, [357233] = { ["npcID"] = 178462, }, [351090] = { ["npcID"] = 176574, }, [387950] = { ["event"] = "SPELL_CAST_START", ["source"] = "Caldera Stomper", ["npcID"] = 187919, }, [227779] = { ["encounterName"] = "Shade of Medivh", ["encounterID"] = 1965, ["npcID"] = 114350, }, [359282] = { ["npcID"] = 181957, }, [330614] = { ["npcID"] = 163086, }, [365426] = { ["npcID"] = 184413, }, [320376] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 164578, }, [373618] = { ["npcID"] = 190174, }, [357238] = { ["npcID"] = 180429, }, [342904] = { ["npcID"] = 174383, }, [387955] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ethereal Restorer", ["npcID"] = 196203, }, [357239] = { ["npcID"] = 180407, }, [351096] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [336763] = { ["npcID"] = 176133, }, [322429] = { ["npcID"] = 162057, }, [375671] = { ["npcID"] = 190900, }, [168398] = { ["encounterName"] = "Skulloc, Son of Gruul", ["encounterID"] = 1754, ["npcID"] = 84215, }, [367481] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cruel Bonecrusher", ["npcID"] = 186206, }, [344956] = { ["npcID"] = 162829, }, [357243] = { ["npcID"] = 180433, }, [383864] = { ["npcID"] = 191403, }, [387960] = { ["event"] = "SPELL_CAST_START", ["source"] = "Caldera Stomper", ["npcID"] = 187919, }, [332671] = { ["npcID"] = 170480, }, [322433] = { ["npcID"] = 162057, }, [357245] = { ["npcID"] = 176953, }, [334720] = { ["npcID"] = 162096, }, [324483] = { ["npcID"] = 177211, }, [361343] = { ["npcID"] = 178963, }, [387965] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Bladewing", ["npcID"] = 187232, }, [320390] = { ["npcID"] = 177140, }, [371584] = { ["npcID"] = 3272, }, [78066] = { ["npcID"] = 41876, }, [111854] = { ["npcID"] = 58633, }, [383872] = { ["source"] = "Springs Heater", ["event"] = "SPELL_CAST_START", ["npcID"] = 196168, }, [396159] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lava Burster", ["npcID"] = 186836, }, [351109] = { ["encounterName"] = "Sylvanas Windrunner", ["npcID"] = 177787, }, [363396] = { ["npcID"] = 181572, }, [373636] = { ["source"] = "Konkhular", ["event"] = "SPELL_CAST_START", ["npcID"] = 194544, }, [59259] = { ["npcID"] = 28579, }, [377732] = { ["npcID"] = 184319, }, [149975] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74571, }, [340874] = { ["npcID"] = 162657, }, [363400] = { ["npcID"] = 178159, }, [367496] = { ["npcID"] = 183497, }, [344971] = { ["npcID"] = 170301, }, [357259] = { ["npcID"] = 180392, }, [355212] = { ["npcID"] = 178630, }, [357260] = { ["npcID"] = 180431, }, [351117] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 177889, }, [330640] = { ["npcID"] = 169823, }, [381834] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Rira Hackclaw", ["npcID"] = 186122, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [29120] = { ["npcID"] = 18147, }, [344975] = { ["npcID"] = 175331, }, [355214] = { ["npcID"] = 178630, }, [351119] = { ["encounterName"] = "So'leah", ["npcID"] = 177716, ["encounterID"] = 2442, }, [367502] = { ["npcID"] = 181059, }, [367503] = { ["event"] = "SPELL_CAST_START", ["source"] = "Decay Speaker", ["npcID"] = 186191, }, [359313] = { ["npcID"] = 182350, }, [367505] = { ["npcID"] = 181059, }, [330646] = { ["npcID"] = 169823, }, [365458] = { ["npcID"] = 184651, }, [351124] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [392080] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mature Riverbeast", ["npcID"] = 194075, }, [214486] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 103758, }, [201176] = { ["npcID"] = 98792, }, [283551] = { ["encounterName"] = "King Mechagon", ["npcID"] = 144249, ["encounterID"] = 2260, }, [342936] = { ["npcID"] = 173387, }, [79607] = { ["source"] = "Venomtail Scorpid", ["event"] = "SPELL_CAST_START", ["npcID"] = 3127, }, [355224] = { ["encounterName"] = "Horridon", ["npcID"] = 155483, }, [334747] = { ["npcID"] = 166302, }, [344986] = { ["npcID"] = 158314, }, [396180] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lava Burster", ["npcID"] = 186836, }, [334748] = { ["npcID"] = 166302, }, [355226] = { ["encounterName"] = "Horridon", ["npcID"] = 168104, }, [392087] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cantankerous Hornswog", ["npcID"] = 187140, }, [40064] = { ["npcID"] = 17414, }, [338846] = { ["npcID"] = 167525, }, [227800] = { ["encounterName"] = "Maiden of Virtue", ["npcID"] = 113971, ["encounterID"] = 1954, }, [369563] = { ["encounterName"] = "The Lost Dwarves", ["npcID"] = 184581, ["encounterID"] = 2555, }, [338847] = { ["npcID"] = 167525, }, [28993] = { ["npcID"] = 16314, }, [338848] = { ["npcID"] = 167525, }, [349087] = { ["npcID"] = 176705, }, [326562] = { ["npcID"] = 166721, }, [332706] = { ["npcID"] = 170490, }, [357280] = { ["npcID"] = 180387, }, [336803] = { ["npcID"] = 165974, }, [338851] = { ["npcID"] = 167525, }, [332708] = { ["npcID"] = 167532, }, [385950] = { ["event"] = "SPELL_CAST_START", ["source"] = "Deathwingurlugull", ["npcID"] = 195314, }, [355234] = { ["npcID"] = 178142, }, [334757] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 169457, ["encounterID"] = 2418, }, [367522] = { ["npcID"] = 181059, }, [347045] = { ["npcID"] = 176131, }, [357284] = { ["npcID"] = 180432, }, [365477] = { ["npcID"] = 181884, }, [359334] = { ["npcID"] = 181942, }, [369573] = { ["encounterName"] = "The Lost Dwarves", ["npcID"] = 184581, ["encounterID"] = 2555, }, [377765] = { ["npcID"] = 189205, }, [169445] = { ["npcID"] = 84767, }, [345002] = { ["npcID"] = 168977, }, [359337] = { ["npcID"] = 181967, }, [385958] = { ["encounterName"] = "Vexamus", ["source"] = "Vexamus", ["encounterID"] = 2562, ["event"] = "SPELL_CAST_START", ["npcID"] = 194181, }, [332717] = { ["npcID"] = 166178, }, [334765] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168112, ["encounterID"] = 2417, }, [345004] = { ["npcID"] = 175347, }, [324527] = { ["encounterName"] = "Globgrog", ["npcID"] = 164255, ["encounterID"] = 2382, }, [209378] = { ["npcID"] = 104275, }, [388008] = { ["encounterName"] = "Telash Greywing", ["source"] = "Telash Greywing", ["encounterID"] = 2583, ["event"] = "SPELL_CAST_START", ["npcID"] = 186737, }, [275382] = { ["npcID"] = 140787, }, [338863] = { ["npcID"] = 167526, }, [57984] = { ["npcID"] = 61029, }, [338864] = { ["npcID"] = 167526, }, [227809] = { ["encounterName"] = "Maiden of Virtue", ["npcID"] = 113971, ["encounterID"] = 1954, }, [392194] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [338865] = { ["npcID"] = 173191, }, [380174] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [388918] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [395080] = { ["source"] = "Enkine the Voracious", ["event"] = "SPELL_CAST_START", ["npcID"] = 193134, }, [153067] = { ["encounterName"] = "Nhallish", ["source"] = "Nhallish", ["encounterID"] = 1688, ["event"] = "SPELL_CAST_START", ["npcID"] = 75829, }, [373678] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 184986, }, [375630] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Drakonid Stormbringer", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 191232, }, [378112] = { ["source"] = "Nibbling Hornswog", ["event"] = "SPELL_CAST_START", ["npcID"] = 189026, }, [330676] = { ["npcID"] = 172388, }, [375716] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Primalist Mage", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 191206, }, [342963] = { ["npcID"] = 158259, }, [345011] = { ["npcID"] = 173580, }, [338868] = { ["npcID"] = 167526, }, [31554] = { ["npcID"] = 17958, }, [388716] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [382561] = { ["event"] = "SPELL_CAST_START", ["source"] = "Snowhide Shaman", ["npcID"] = 189654, }, [396206] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Apprentice", ["npcID"] = 200948, }, [199143] = { ["encounterName"] = "Lord Kur'talos Ravencrest", ["npcID"] = 98970, ["encounterID"] = 1835, }, [330822] = { ["encounterName"] = "Horridon", ["npcID"] = 169859, }, [368529] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [398985] = { ["source"] = "Broodguardian Ziruss", ["event"] = "SPELL_CAST_START", ["npcID"] = 198214, }, [393348] = { ["source"] = "Stalwart Broodwarden", ["event"] = "SPELL_CAST_START", ["npcID"] = 198263, }, [261600] = { ["npcID"] = 132701, }, [391326] = { ["source"] = "Honmor", ["event"] = "SPELL_CAST_START", ["npcID"] = 193704, }, [157165] = { ["npcID"] = 77132, }, [166380] = { ["npcID"] = 82597, }, [391666] = { ["source"] = "Honmor", ["event"] = "SPELL_CAST_START", ["npcID"] = 193704, }, [388696] = { ["source"] = "Moth'go Deeploom", ["event"] = "SPELL_CAST_START", ["npcID"] = 193735, }, [338872] = { ["npcID"] = 167526, }, [329171] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 165737, ["encounterID"] = 2381, }, [247041] = { ["source"] = "Seereel, the Spring", ["event"] = "SPELL_CAST_START", ["npcID"] = 193710, }, [396751] = { ["source"] = "Moth'go Deeploom", ["event"] = "SPELL_CAST_START", ["npcID"] = 193735, }, [51586] = { ["npcID"] = 28410, }, [395899] = { ["source"] = "Primalist Chillblaster", ["event"] = "SPELL_CAST_START", ["npcID"] = 199124, }, [345552] = { ["npcID"] = 177168, }, [44163] = { ["npcID"] = 24558, }, [355256] = { ["npcID"] = 178631, }, [327122] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 168158, }, [390983] = { ["source"] = "Qalashi Scaleripper", ["event"] = "SPELL_CAST_START", ["npcID"] = 187602, }, [304063] = { ["npcID"] = 155909, }, [387826] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ukhel Beastcaller", ["npcID"] = 195878, }, [374624] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Frozen Destroyer", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 190686, }, [386849] = { ["source"] = "Unleashed Storm", ["event"] = "SPELL_CAST_START", ["npcID"] = 195846, }, [385974] = { ["encounterName"] = "Vexamus", ["source"] = "Professor Maxdormu", ["encounterID"] = 2562, ["event"] = "SPELL_CAST_START", ["npcID"] = 189668, }, [275927] = { ["npcID"] = 182728, }, [375580] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Dathea, Ascended", ["npcID"] = 189813, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [329168] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 165737, ["encounterID"] = 2381, }, [385955] = { ["source"] = "Professor Intinosa", ["event"] = "SPELL_CAST_START", ["npcID"] = 195354, }, [372539] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [199090] = { ["event"] = "SPELL_CAST_START", ["source"] = "Angerhoof Bull", ["npcID"] = 96611, }, [293827] = { ["npcID"] = 144294, }, [394167] = { ["source"] = "Cygenoth", ["event"] = "SPELL_CAST_START", ["npcID"] = 185660, }, [69051] = { ["encounterName"] = "Devourer of Souls", ["npcID"] = 36502, ["encounterID"] = 2007, }, [329904] = { ["npcID"] = 157118, }, [393787] = { ["source"] = "Iskakx", ["event"] = "SPELL_CAST_START", ["npcID"] = 192761, }, [15232] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24558, }, [397014] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Emissary", ["npcID"] = 197146, }, [200732] = { ["encounterName"] = "Dargrul the Underking", ["npcID"] = 91007, ["encounterID"] = 1793, }, [394972] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Lavabearer", ["npcID"] = 197148, }, [373692] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blazebound Destroyer", ["npcID"] = 190034, }, [394891] = { ["event"] = "SPELL_CAST_START", ["source"] = "Braekkas", ["npcID"] = 196855, }, [227817] = { ["encounterName"] = "Maiden of Virtue", ["npcID"] = 113971, ["encounterID"] = 1954, }, [396925] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Lavamancer", ["npcID"] = 197149, }, [393298] = { ["source"] = "Smoldering Colossus", ["event"] = "SPELL_CAST_START", ["npcID"] = 188673, }, [157170] = { ["npcID"] = 77812, }, [373693] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blazebound Destroyer", ["npcID"] = 190034, }, [288798] = { ["npcID"] = 146809, }, [44164] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24656, }, [52611] = { ["encounterName"] = "Skarvold & Dalronn", ["npcID"] = 24201, }, [394802] = { ["event"] = "SPELL_CAST_START", ["source"] = "Council Stormcaller", ["npcID"] = 198502, }, [196078] = { ["encounterName"] = "Amalgam of Souls", ["npcID"] = 98542, ["encounterID"] = 1832, }, [395784] = { ["source"] = "Raszageth", ["event"] = "SPELL_CAST_START", ["npcID"] = 199031, }, [396907] = { ["encounterName"] = "Liu Flameheart", ["source"] = "Yu'lon", ["npcID"] = 56762, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1416, }, [396739] = { ["source"] = "Gargantuan Hornswog", ["event"] = "SPELL_CAST_START", ["npcID"] = 191606, }, [318406] = { ["encounterName"] = "Gorechop", ["npcID"] = 162317, ["encounterID"] = 2365, }, [393385] = { ["source"] = "Chalsec of the Earth", ["event"] = "SPELL_CAST_START", ["npcID"] = 193847, }, [193668] = { ["encounterName"] = "God-King Skovald", ["source"] = "God-King Skovald", ["npcID"] = 95675, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1808, }, [38533] = { ["npcID"] = 21104, }, [153680] = { ["encounterName"] = "Bonemaw", ["source"] = "Bonemaw", ["encounterID"] = 1679, ["event"] = "SPELL_CAST_START", ["npcID"] = 75452, }, [395893] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["npcID"] = 184986, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2605, }, [337353] = { ["npcID"] = 159459, }, [199151] = { ["event"] = "SPELL_CAST_START", ["source"] = "Angerhoof Bull", ["npcID"] = 96611, }, [367554] = { ["npcID"] = 183416, }, [336838] = { ["npcID"] = 164345, }, [398206] = { ["source"] = "Exhumed Spirit", ["event"] = "SPELL_CAST_START", ["npcID"] = 75979, }, [199652] = { ["event"] = "SPELL_CAST_START", ["source"] = "King Haldor", ["npcID"] = 95843, }, [32707] = { ["npcID"] = 21902, }, [304075] = { ["npcID"] = 155908, }, [157173] = { ["npcID"] = 79507, }, [193826] = { ["encounterName"] = "God-King Skovald", ["source"] = "God-King Skovald", ["npcID"] = 95675, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1808, }, [334792] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165066, ["encounterID"] = 2418, }, [393302] = { ["source"] = "Smoldering Colossus", ["event"] = "SPELL_CAST_START", ["npcID"] = 188673, }, [330697] = { ["npcID"] = 170690, }, [308172] = { ["npcID"] = 166319, }, [326602] = { ["npcID"] = 165400, }, [197105] = { ["npcID"] = 100249, }, [386555] = { ["event"] = "SPELL_CAST_START", ["source"] = "Dathea Stormlash", ["npcID"] = 187768, }, [391840] = { ["source"] = "Taresh", ["event"] = "SPELL_CAST_START", ["npcID"] = 188711, }, [361304] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 183421, ["encounterID"] = 2544, }, [328651] = { ["npcID"] = 167493, }, [389040] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thondrozus", ["npcID"] = 192769, }, [240006] = { ["npcID"] = 182863, }, [397899] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sha-Touched Guardian", ["npcID"] = 200131, }, [388544] = { ["encounterName"] = "Overgrown Ancient", ["source"] = "Overgrown Ancient", ["encounterID"] = 2563, ["event"] = "SPELL_CAST_START", ["npcID"] = 196482, }, [396189] = { ["source"] = "Fetid Rotsinger", ["event"] = "SPELL_CAST_START", ["npcID"] = 197129, }, [198944] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Shieldmaiden", ["npcID"] = 95832, }, [188404] = { ["encounterName"] = "Hymdall", ["source"] = "Storm Drake", ["npcID"] = 97788, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1805, }, [320462] = { ["npcID"] = 163618, }, [215433] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Mystic", ["npcID"] = 95834, }, [38534] = { ["npcID"] = 21148, }, [334797] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 169457, ["encounterID"] = 2418, }, [320463] = { ["npcID"] = 177252, }, [198892] = { ["event"] = "SPELL_CAST_START", ["source"] = "Storm Drake", ["npcID"] = 97068, }, [384761] = { ["encounterName"] = "The Raging Tempest", ["source"] = "The Raging Tempest", ["npcID"] = 186615, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2636, }, [326607] = { ["npcID"] = 167612, }, [170738] = { ["npcID"] = 85496, }, [330703] = { ["npcID"] = 174210, }, [314823] = { ["npcID"] = 161814, }, [204275] = { ["encounterName"] = "Skorpyron", ["encounterID"] = 1849, ["npcID"] = 102263, }, [320465] = { ["npcID"] = 177252, }, [320966] = { ["encounterName"] = "Kin-Tara", ["npcID"] = 162059, ["encounterID"] = 2357, }, [329425] = { ["npcID"] = 157824, }, [333299] = { ["npcID"] = 169893, }, [395240] = { ["source"] = "Enkine the Voracious", ["event"] = "SPELL_CAST_START", ["npcID"] = 193134, }, [396073] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Nodding Tiger", ["npcID"] = 59544, }, [355118] = { ["npcID"] = 178133, }, [359374] = { ["npcID"] = 181862, }, [338867] = { ["npcID"] = 167526, }, [114646] = { ["event"] = "SPELL_CAST_START", ["source"] = "Haunting Sha", ["npcID"] = 59555, }, [391051] = { ["event"] = "SPELL_CAST_START", ["source"] = "Uurtus", ["npcID"] = 193724, }, [392635] = { ["source"] = "Kaurdyth", ["event"] = "SPELL_CAST_START", ["npcID"] = 197835, }, [15043] = { ["event"] = "SPELL_CAST_START", ["source"] = "Yu'lon Adept", ["npcID"] = 57316, }, [397783] = { ["encounterName"] = "Wise Mari", ["source"] = "Wise Mari", ["npcID"] = 56448, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1418, }, [123648] = { ["npcID"] = 61946, }, [187895] = { ["npcID"] = 146341, }, [241798] = { ["npcID"] = 183423, }, [347090] = { ["npcID"] = 178263, }, [393439] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sundered Supplyhand", ["npcID"] = 193790, }, [15587] = { ["npcID"] = 16594, }, [339392] = { ["npcID"] = 158259, }, [347091] = { ["npcID"] = 164047, }, [38535] = { ["npcID"] = 21148, }, [198959] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Runecarver", ["npcID"] = 96664, }, [345044] = { ["npcID"] = 170028, }, [376356] = { ["source"] = "Scout Watu", ["event"] = "SPELL_CAST_START", ["npcID"] = 190025, }, [397904] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sha-Touched Guardian", ["npcID"] = 200131, }, [388537] = { ["encounterName"] = "Vexamus", ["source"] = "Vexamus", ["encounterID"] = 2562, ["event"] = "SPELL_CAST_START", ["npcID"] = 194181, }, [394680] = { ["source"] = "Reclaimer Makko", ["event"] = "SPELL_CAST_START", ["npcID"] = 191536, }, [330711] = { ["encounterName"] = "Shriekwing", ["npcID"] = 164406, ["encounterID"] = 2398, }, [196543] = { ["encounterName"] = "Fenryr", ["source"] = "Fenryr", ["npcID"] = 95674, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1807, }, [228852] = { ["encounterName"] = "Attumen the Huntsman", ["npcID"] = 114262, ["encounterID"] = 1960, }, [318243] = { ["npcID"] = 172674, }, [347094] = { ["encounterName"] = "Hylbrande", ["npcID"] = 175663, ["encounterID"] = 2426, }, [392014] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rokzul", ["npcID"] = 194458, }, [395855] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gargantuan Hornswog", ["npcID"] = 191606, }, [366189] = { ["npcID"] = 183500, }, [347095] = { ["npcID"] = 178263, }, [154110] = { ["encounterName"] = "Araknath", ["encounterID"] = 1699, ["npcID"] = 76141, }, [293854] = { ["npcID"] = 144294, }, [304093] = { ["npcID"] = 155908, }, [391842] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rebel Mender", ["npcID"] = 195064, }, [166397] = { ["npcID"] = 82590, }, [326619] = { ["npcID"] = 166873, }, [328667] = { ["npcID"] = 163126, }, [326459] = { ["npcID"] = 160654, }, [357336] = { ["npcID"] = 180355, }, [389267] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sunscale Snapper", ["npcID"] = 192776, }, [336859] = { ["npcID"] = 162873, }, [330716] = { ["npcID"] = 167998, }, [385359] = { ["encounterName"] = "Gutshot", ["source"] = "Gutshot", ["npcID"] = 186116, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2567, }, [396007] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Songbird Queen", ["npcID"] = 59553, }, [320478] = { ["npcID"] = 180379, }, [381694] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Gashtooth", ["npcID"] = 186124, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [361913] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181398, }, [395878] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Talking Fish", ["npcID"] = 59546, }, [342282] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [376483] = { ["event"] = "SPELL_CAST_START", ["source"] = "Charred Cinderling", ["npcID"] = 187404, }, [353721] = { ["npcID"] = 179135, }, [343005] = { ["encounterName"] = "Shriekwing", ["npcID"] = 164406, ["encounterID"] = 2398, }, [391198] = { ["event"] = "SPELL_CAST_START", ["source"] = "Tserasor the Preserver", ["npcID"] = 190598, }, [380487] = { ["encounterName"] = "Terros", ["source"] = "Terros", ["encounterID"] = 2639, ["event"] = "SPELL_CAST_START", ["npcID"] = 190496, }, [154113] = { ["encounterName"] = "Araknath", ["encounterID"] = 1699, ["npcID"] = 76141, }, [398154] = { ["source"] = "Defiled Spirit", ["event"] = "SPELL_CAST_START", ["npcID"] = 75451, }, [356072] = { ["npcID"] = 177394, }, [161150] = { ["npcID"] = 80936, }, [398296] = { ["event"] = "SPELL_CAST_START", ["source"] = "Shambling Infester", ["npcID"] = 200387, }, [293861] = { ["npcID"] = 151613, }, [179091] = { ["npcID"] = 88783, }, [355294] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 175726, }, [393540] = { ["event"] = "SPELL_CAST_START", ["source"] = "Zhurtan the Riverboiler", ["npcID"] = 188687, }, [34697] = { ["encounterName"] = "Laj", ["encounterID"] = 1927, ["npcID"] = 17980, }, [183197] = { ["npcID"] = 155221, }, [351680] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 175730, ["encounterID"] = 2431, }, [357343] = { ["npcID"] = 180427, }, [277481] = { ["npcID"] = 154011, }, [386012] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stormcaller Boroo", ["npcID"] = 194317, }, [338914] = { ["npcID"] = 177628, }, [333241] = { ["npcID"] = 170850, }, [381681] = { ["source"] = "Rustpine Immolator", ["event"] = "SPELL_CAST_START", ["npcID"] = 187396, }, [173138] = { ["npcID"] = 80700, }, [123652] = { ["npcID"] = 61947, }, [398300] = { ["event"] = "SPELL_CAST_START", ["source"] = "Shambling Infester", ["npcID"] = 200387, }, [385517] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rotbow Sentry", ["npcID"] = 187021, }, [336868] = { ["npcID"] = 184606, }, [375719] = { ["event"] = "SPELL_CAST_START", ["source"] = "Steam Reaver", ["npcID"] = 190700, }, [388529] = { ["source"] = "Seabreaker Skrog", ["event"] = "SPELL_CAST_START", ["npcID"] = 192931, }, [102151] = { ["encounterName"] = "Echo of Tyrande", ["npcID"] = 54544, ["encounterID"] = 1884, }, [39049] = { ["encounterName"] = "Aeonus", ["encounterID"] = 1919, ["npcID"] = 17881, }, [47496] = { ["npcID"] = 99541, }, [373729] = { ["npcID"] = 190128, }, [389495] = { ["event"] = "SPELL_CAST_START", ["source"] = "Terillod the Devout", ["npcID"] = 193171, }, [388760] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primal Tsunami", ["encounterID"] = 2618, ["event"] = "SPELL_CAST_START", ["npcID"] = 189729, }, [391118] = { ["source"] = "Scalebane Lieutenant", ["event"] = "SPELL_CAST_START", ["npcID"] = 191739, }, [385419] = { ["source"] = "Forge-Keep Custodian", ["event"] = "SPELL_CAST_START", ["npcID"] = 192703, }, [372296] = { ["event"] = "SPELL_CAST_START", ["source"] = "Irontorch Commander", ["npcID"] = 189466, }, [396991] = { ["source"] = "Drakonid Breaker", ["event"] = "SPELL_CAST_START", ["npcID"] = 187240, }, [329917] = { ["npcID"] = 168578, }, [391081] = { ["source"] = "Tserasor the Preserver", ["event"] = "SPELL_CAST_START", ["npcID"] = 190598, }, [351206] = { ["npcID"] = 176575, }, [372553] = { ["event"] = "SPELL_CAST_START", ["source"] = "Darktooth Howler", ["npcID"] = 195273, }, [391003] = { ["source"] = "High Shaman Rotknuckle", ["event"] = "SPELL_CAST_START", ["npcID"] = 197356, }, [275440] = { ["npcID"] = 146564, }, [316855] = { ["npcID"] = 165267, }, [164357] = { ["encounterName"] = "Witherbark", ["encounterID"] = 1746, ["npcID"] = 81522, }, [338921] = { ["npcID"] = 163186, }, [150023] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74475, }, [394060] = { ["source"] = "Productive Pollinator", ["event"] = "SPELL_CAST_START", ["npcID"] = 193809, }, [361447] = { ["npcID"] = 182425, }, [386660] = { ["encounterName"] = "Leymor", ["source"] = "Leymor", ["encounterID"] = 2582, ["event"] = "SPELL_CAST_START", ["npcID"] = 186644, }, [393430] = { ["source"] = "Forge-Keep Custodian", ["event"] = "SPELL_CAST_START", ["npcID"] = 192703, }, [163334] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80808, }, [361448] = { ["npcID"] = 182368, }, [173573] = { ["npcID"] = 167721, }, [324589] = { ["encounterName"] = "Mordretha", ["npcID"] = 166524, ["encounterID"] = 2404, }, [192003] = { ["encounterName"] = "Serpentrix", ["npcID"] = 97259, ["encounterID"] = 1813, }, [390115] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sarana", ["npcID"] = 190161, }, [355306] = { ["npcID"] = 179778, }, [357354] = { ["npcID"] = 180427, }, [387504] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primal Tsunami", ["npcID"] = 189729, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2618, }, [13860] = { ["npcID"] = 16323, }, [382593] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cruel Bonecrusher", ["npcID"] = 186206, }, [324591] = { ["npcID"] = 166554, }, [368047] = { ["npcID"] = 178508, }, [328687] = { ["npcID"] = 166079, }, [152962] = { ["encounterName"] = "Nhallish", ["encounterID"] = 1688, ["npcID"] = 75829, }, [357356] = { ["npcID"] = 178369, }, [176127] = { ["npcID"] = 80935, }, [361452] = { ["npcID"] = 180722, }, [114864] = { ["npcID"] = 59614, }, [340975] = { ["npcID"] = 170481, }, [192005] = { ["encounterName"] = "Serpentrix", ["npcID"] = 97260, ["encounterID"] = 1813, }, [386026] = { ["event"] = "SPELL_CAST_START", ["source"] = "Unstable Squall", ["npcID"] = 194895, }, [164907] = { ["source"] = "Reanimated Ritual Bones", ["event"] = "SPELL_CAST_START", ["npcID"] = 75715, }, [389435] = { ["event"] = "SPELL_CAST_START", ["source"] = "Darktooth Spirit-Caller", ["npcID"] = 195267, }, [382620] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bonebolt Hunter", ["npcID"] = 185534, }, [59528] = { ["encounterName"] = "Volkhan", ["encounterID"] = 1985, ["npcID"] = 28587, }, [111813] = { ["npcID"] = 58822, }, [367521] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bonebolt Hunter", ["npcID"] = 185534, }, [376892] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["encounterID"] = 2580, ["event"] = "SPELL_CAST_START", ["npcID"] = 186151, }, [386028] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Thunderbeast", ["npcID"] = 195696, }, [367484] = { ["event"] = "SPELL_CAST_START", ["source"] = "Claw Fighter", ["npcID"] = 185508, }, [373742] = { ["encounterName"] = "Chargath, Bane of Scales", ["source"] = "Chargath, Bane of Scales", ["npcID"] = 189340, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2613, }, [291613] = { ["encounterName"] = "King Mechagon", ["npcID"] = 150396, ["encounterID"] = 2260, }, [374364] = { ["encounterName"] = "Leymor", ["source"] = "Leymor", ["encounterID"] = 2582, ["event"] = "SPELL_CAST_START", ["npcID"] = 186644, }, [393361] = { ["source"] = "Nightrot", ["event"] = "SPELL_CAST_START", ["npcID"] = 188707, }, [227789] = { ["encounterName"] = "Maiden of Virtue", ["npcID"] = 113971, ["encounterID"] = 1954, }, [296372] = { ["npcID"] = 152612, }, [209413] = { ["npcID"] = 104270, }, [322550] = { ["encounterName"] = "Tred'ova", ["npcID"] = 164517, ["encounterID"] = 2393, }, [38539] = { ["encounterName"] = "Chrono Lord Deja", ["encounterID"] = 1920, ["npcID"] = 17879, }, [343470] = { ["npcID"] = 165919, }, [345076] = { ["npcID"] = 170037, }, [31942] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24555, }, [341422] = { ["npcID"] = 174194, }, [393458] = { ["source"] = "Malifron", ["event"] = "SPELL_CAST_START", ["npcID"] = 190278, }, [345077] = { ["npcID"] = 170044, }, [374735] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamecaller Aymi", ["npcID"] = 190368, }, [56969] = { ["npcID"] = 26735, }, [322000] = { ["npcID"] = 165008, }, [295932] = { ["npcID"] = 151329, }, [229698] = { ["npcID"] = 115417, }, [331845] = { ["npcID"] = 165687, }, [387748] = { ["source"] = "Overseer Zambul", ["event"] = "SPELL_CAST_START", ["npcID"] = 191145, }, [345079] = { ["npcID"] = 170031, }, [338936] = { ["npcID"] = 167433, }, [385005] = { ["source"] = "Rustpine Rager", ["event"] = "SPELL_CAST_START", ["npcID"] = 188803, }, [389446] = { ["encounterName"] = "Watcher Irideus", ["source"] = "Nullification Device", ["npcID"] = 196712, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2615, }, [377844] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Rira Hackclaw", ["npcID"] = 186122, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [395112] = { ["source"] = "Enkine the Voracious", ["event"] = "SPELL_CAST_START", ["npcID"] = 193134, }, [26098] = { ["npcID"] = 18539, }, [355123] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 175729, }, [394102] = { ["event"] = "SPELL_CAST_START", ["source"] = "Terillod the Devout", ["npcID"] = 193171, }, [390111] = { ["encounterName"] = "Khajin the Unyielding", ["source"] = "Khajin the Unyielding", ["encounterID"] = 2617, ["event"] = "SPELL_CAST_START", ["npcID"] = 189727, }, [211464] = { ["npcID"] = 104278, }, [375687] = { ["source"] = "Decay Totem", ["event"] = "SPELL_CAST_START", ["npcID"] = 190426, }, [382708] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Warden", ["npcID"] = 193293, }, [338939] = { ["npcID"] = 166928, }, [357369] = { ["npcID"] = 178294, }, [351226] = { ["npcID"] = 178071, }, [325036] = { ["npcID"] = 178467, }, [387559] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primal Tsunami", ["npcID"] = 189729, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2618, }, [357370] = { ["npcID"] = 178294, }, [391195] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bisquius", ["npcID"] = 197557, }, [336893] = { ["npcID"] = 162873, }, [39005] = { ["encounterName"] = "Zereketh the Unbound", ["encounterID"] = 1916, ["npcID"] = 20870, }, [393998] = { ["source"] = "Discordant Watcher", ["event"] = "SPELL_CAST_START", ["npcID"] = 189149, }, [391230] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bisquius", ["npcID"] = 197557, }, [320512] = { ["npcID"] = 163892, }, [382670] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Teera", ["npcID"] = 186339, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [324608] = { ["encounterName"] = "Oryphrion", ["encounterID"] = 2358, ["npcID"] = 162060, }, [383298] = { ["source"] = "Summoned Lava Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 182815, }, [10277] = { ["npcID"] = 18452, }, [68988] = { ["encounterName"] = "Bronjahm", ["npcID"] = 36497, ["encounterID"] = 2006, }, [324609] = { ["npcID"] = 166396, }, [339368] = { ["npcID"] = 158259, }, [361469] = { ["npcID"] = 185800, }, [395694] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Shocktrooper", ["npcID"] = 199037, }, [389433] = { ["event"] = "SPELL_CAST_START", ["source"] = "Darktooth Spirit-Caller", ["npcID"] = 195267, }, [343040] = { ["npcID"] = 165869, }, [295942] = { ["npcID"] = 162845, }, [395214] = { ["source"] = "Worldcarver A'tir", ["event"] = "SPELL_CAST_START", ["npcID"] = 186859, }, [388623] = { ["encounterName"] = "Overgrown Ancient", ["source"] = "Overgrown Ancient", ["encounterID"] = 2563, ["event"] = "SPELL_CAST_START", ["npcID"] = 196482, }, [200205] = { ["npcID"] = 101462, }, [328707] = { ["npcID"] = 168992, }, [330755] = { ["encounterName"] = "Horridon", ["npcID"] = 169859, }, [91263] = { ["encounterName"] = "General Husam", ["npcID"] = 44577, ["encounterID"] = 1052, }, [212492] = { ["encounterName"] = "Spellblade Aluriel", ["encounterID"] = 1871, ["npcID"] = 104881, }, [320517] = { ["npcID"] = 163894, }, [224378] = { ["npcID"] = 112655, }, [324114] = { ["npcID"] = 161896, }, [334852] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 169458, ["encounterID"] = 2418, }, [355225] = { ["npcID"] = 178142, }, [379406] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Lavabearer", ["npcID"] = 189472, }, [227851] = { ["encounterName"] = "Moroes", ["npcID"] = 114312, ["encounterID"] = 1961, }, [196111] = { ["npcID"] = 91793, }, [279564] = { ["npcID"] = 167154, }, [368034] = { ["npcID"] = 183722, }, [385075] = { ["encounterName"] = "Umbrelskul", ["source"] = "Umbrelskul", ["encounterID"] = 2584, ["event"] = "SPELL_CAST_START", ["npcID"] = 186738, }, [277517] = { ["npcID"] = 177862, }, [389271] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sunscale Snapper", ["npcID"] = 192776, }, [389273] = { ["source"] = "Wyrmeater", ["event"] = "SPELL_CAST_START", ["npcID"] = 186612, }, [373084] = { ["event"] = "SPELL_CAST_START", ["source"] = "Irontorch Commander", ["npcID"] = 189466, }, [324490] = { ["encounterName"] = "Globgrog", ["npcID"] = 164255, ["encounterID"] = 2382, }, [390760] = { ["source"] = "Chief Grrlgllmesh", ["event"] = "SPELL_CAST_START", ["npcID"] = 186678, }, [363524] = { ["npcID"] = 181572, }, [365572] = { ["npcID"] = 184733, }, [75539] = { ["encounterName"] = "Rom'ogg Bonecrusher", ["npcID"] = 39665, ["encounterID"] = 1040, }, [279567] = { ["npcID"] = 167154, }, [363525] = { ["npcID"] = 183652, }, [372538] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lava Flare", ["npcID"] = 189470, }, [228877] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 106643, }, [218148] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109038, }, [363526] = { ["npcID"] = 183947, }, [393432] = { ["event"] = "SPELL_CAST_START", ["source"] = "Refti Defender", ["npcID"] = 190340, }, [192018] = { ["encounterName"] = "Hyrja", ["source"] = "Hyrja", ["npcID"] = 95833, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1806, }, [112911] = { ["npcID"] = 58810, }, [377559] = { ["encounterName"] = "Treemouth", ["source"] = "Treemouth", ["encounterID"] = 2568, ["event"] = "SPELL_CAST_START", ["npcID"] = 186120, }, [154135] = { ["encounterName"] = "Araknath", ["encounterID"] = 1699, ["npcID"] = 76141, }, [394746] = { ["source"] = "Liskron the Dazzling", ["event"] = "SPELL_CAST_START", ["npcID"] = 193273, }, [388911] = { ["source"] = "Spellbound Battleaxe", ["event"] = "SPELL_CAST_START", ["npcID"] = 196577, }, [338955] = { ["npcID"] = 165427, }, [358226] = { ["npcID"] = 176949, }, [322980] = { ["npcID"] = 160077, }, [209628] = { ["encounterName"] = "Advisor Melandrus", ["npcID"] = 104218, ["encounterID"] = 1870, }, [383062] = { ["event"] = "SPELL_CAST_START", ["source"] = "Decayed Elder", ["npcID"] = 189531, }, [390150] = { ["source"] = "Wyrmeater", ["event"] = "SPELL_CAST_START", ["npcID"] = 186612, }, [166341] = { ["npcID"] = 82579, }, [228278] = { ["npcID"] = 114633, }, [381470] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Tricktotem", ["npcID"] = 186125, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [390151] = { ["npcID"] = 189955, }, [397394] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Thunderfist", ["npcID"] = 193373, }, [369674] = { ["npcID"] = 184022, }, [347149] = { ["encounterName"] = "Timecap'n Hooktail", ["npcID"] = 175546, ["encounterID"] = 2419, }, [387910] = { ["source"] = "Algeth'ar Echoknight", ["event"] = "SPELL_CAST_START", ["npcID"] = 196200, }, [387614] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ukhel Deathspeaker", ["npcID"] = 195851, }, [369675] = { ["npcID"] = 184022, }, [338959] = { ["npcID"] = 168697, }, [389056] = { ["encounterName"] = "Watcher Irideus", ["source"] = "Watcher Irideus", ["npcID"] = 189719, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2615, }, [343055] = { ["npcID"] = 178988, }, [372971] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Blacksmith", ["npcID"] = 189471, }, [347151] = { ["encounterName"] = "Timecap'n Hooktail", ["npcID"] = 175546, ["encounterID"] = 2419, }, [378818] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Thaumaturge", ["npcID"] = 192788, }, [343056] = { ["npcID"] = 172025, }, [369677] = { ["encounterName"] = "The Lost Dwarves", ["npcID"] = 184580, ["encounterID"] = 2555, }, [201139] = { ["npcID"] = 98810, }, [377338] = { ["event"] = "SPELL_CAST_START", ["source"] = "Aqualing", ["npcID"] = 190406, }, [343057] = { ["npcID"] = 178988, }, [368027] = { ["encounterName"] = "Lihuvim, Principal Architect", ["encounterID"] = 2539, ["npcID"] = 182169, }, [338962] = { ["npcID"] = 165404, }, [367500] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bracken Warscourge", ["npcID"] = 185529, }, [343058] = { ["npcID"] = 178988, }, [330565] = { ["npcID"] = 164506, }, [388046] = { ["source"] = "Stinkbreath", ["event"] = "SPELL_CAST_START", ["npcID"] = 187033, }, [291865] = { ["encounterName"] = "King Mechagon", ["npcID"] = 150396, ["encounterID"] = 2260, }, [384014] = { ["encounterName"] = "Watcher Irideus", ["source"] = "Watcher Irideus", ["npcID"] = 189719, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2615, }, [385046] = { ["event"] = "SPELL_CAST_START", ["source"] = "Skulking Gutstabber", ["npcID"] = 186242, }, [381438] = { ["source"] = "Tormented Steam", ["event"] = "SPELL_CAST_START", ["npcID"] = 188696, }, [211477] = { ["npcID"] = 104277, }, [343060] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [386063] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Maruuk", ["npcID"] = 186338, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [365298] = { ["npcID"] = 184539, }, [394893] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lookout Mordren", ["npcID"] = 193668, }, [374533] = { ["encounterName"] = "Forgemaster Gorek", ["source"] = "Forgemaster Gorek", ["npcID"] = 189478, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2612, }, [357786] = { ["npcID"] = 177718, }, [381525] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Kyrakka", ["npcID"] = 190484, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [357396] = { ["npcID"] = 180070, }, [56938] = { ["encounterName"] = "Grand Magus Telestra", ["encounterID"] = 2010, ["npcID"] = 26928, }, [360730] = { ["npcID"] = 181112, }, [363540] = { ["npcID"] = 183947, }, [308026] = { ["npcID"] = 157824, }, [200216] = { ["npcID"] = 101462, }, [160285] = { ["npcID"] = 80690, }, [365120] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [336804] = { ["npcID"] = 177295, }, [355228] = { ["npcID"] = 178631, }, [372201] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Irontorch", ["npcID"] = 189464, }, [395957] = { ["event"] = "SPELL_CAST_START", ["source"] = "Spellforged Horror", ["npcID"] = 194401, }, [396802] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ohn'ir Windcaster", ["npcID"] = 199498, }, [386559] = { ["encounterName"] = "Khajin the Unyielding", ["source"] = "Khajin the Unyielding", ["npcID"] = 189727, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2617, }, [51963] = { ["npcID"] = 27829, }, [355352] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 175731, ["encounterID"] = 2436, }, [342931] = { ["npcID"] = 169410, }, [59347] = { ["npcID"] = 29063, }, [387151] = { ["encounterName"] = "Telash Greywing", ["source"] = "Telash Greywing", ["encounterID"] = 2583, ["event"] = "SPELL_CAST_START", ["npcID"] = 186737, }, [183088] = { ["npcID"] = 113998, }, [150048] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74579, }, [200218] = { ["npcID"] = 101462, }, [394261] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gurblbrblr the Invader", ["npcID"] = 197211, }, [347163] = { ["npcID"] = 170157, }, [357402] = { ["npcID"] = 180070, }, [396689] = { ["source"] = "Worldcarver A'tir", ["event"] = "SPELL_CAST_START", ["npcID"] = 186859, }, [394262] = { ["source"] = "Cygenoth", ["event"] = "SPELL_CAST_START", ["npcID"] = 185660, }, [330782] = { ["npcID"] = 161531, }, [345495] = { ["npcID"] = 175519, }, [343069] = { ["npcID"] = 178478, }, [386072] = { ["source"] = "Professor Intinosa", ["event"] = "SPELL_CAST_START", ["npcID"] = 195354, }, [395035] = { ["event"] = "SPELL_CAST_START", ["source"] = "Soulharvester Mandakh", ["npcID"] = 195930, }, [387145] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stormcaller Boroo", ["npcID"] = 194317, }, [375834] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [394264] = { ["source"] = "Hyenamaster Durgun", ["event"] = "SPELL_CAST_START", ["npcID"] = 186515, }, [330784] = { ["npcID"] = 174197, }, [365596] = { ["npcID"] = 180917, }, [385558] = { ["encounterName"] = "Kyrakka and Erkhart Stormvein", ["source"] = "Erkhart Stormvein", ["npcID"] = 190485, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2623, }, [348117] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [396313] = { ["npcID"] = 189542, }, [291878] = { ["encounterName"] = "King Mechagon", ["npcID"] = 150396, ["encounterID"] = 2260, }, [343072] = { ["npcID"] = 172025, }, [213531] = { ["encounterName"] = "Tichondrius", ["encounterID"] = 1862, ["npcID"] = 103685, }, [396314] = { ["source"] = "Filth Caller", ["event"] = "SPELL_CAST_START", ["npcID"] = 197122, }, [373614] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blazebound Destroyer", ["npcID"] = 190034, }, [355732] = { ["npcID"] = 179446, }, [353312] = { ["encounterName"] = "Hylbrande", ["npcID"] = 175663, ["encounterID"] = 2426, }, [139231] = { ["npcID"] = 69390, }, [168929] = { ["encounterName"] = "Skulloc, Son of Gruul", ["encounterID"] = 1754, ["npcID"] = 83612, }, [61326] = { ["npcID"] = 26735, }, [328740] = { ["npcID"] = 168992, }, [396316] = { ["source"] = "Nokhud Huntmaster", ["event"] = "SPELL_CAST_START", ["npcID"] = 185353, }, [332836] = { ["npcID"] = 169927, }, [334884] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 171577, ["encounterID"] = 2418, }, [386078] = { ["source"] = "Echo of Loss", ["event"] = "SPELL_CAST_START", ["npcID"] = 190259, }, [396317] = { ["event"] = "SPELL_CAST_START", ["source"] = "Loamas", ["npcID"] = 199030, }, [382791] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Lavamancer", ["npcID"] = 193944, }, [196127] = { ["npcID"] = 91790, }, [47248] = { ["npcID"] = 25363, }, [377383] = { ["source"] = "Alpha Eagle", ["event"] = "SPELL_CAST_START", ["npcID"] = 192333, }, [200154] = { ["npcID"] = 102253, }, [359459] = { ["npcID"] = 182392, }, [376208] = { ["encounterName"] = "Chrono-Lord Deios", ["npcID"] = 184125, ["encounterID"] = 2559, }, [336727] = { ["npcID"] = 172409, }, [391613] = { ["event"] = "SPELL_CAST_START", ["source"] = "Subterranean Proto-Dragon", ["npcID"] = 190404, }, [372225] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Bonesplitter", ["npcID"] = 189467, }, [372828] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mudfin Shaman", ["npcID"] = 186679, }, [16587] = { ["npcID"] = 8548, }, [227529] = { ["npcID"] = 114334, }, [375068] = { ["encounterName"] = "Magmatusk", ["source"] = "Lava Tentacles", ["npcID"] = 190023, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2610, }, [235308] = { ["npcID"] = 116410, }, [330793] = { ["npcID"] = 179911, }, [202108] = { ["npcID"] = 90998, }, [16033] = { ["npcID"] = 18069, }, [345128] = { ["npcID"] = 173637, }, [384868] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Longbow", ["npcID"] = 192789, }, [331414] = { ["npcID"] = 157754, }, [332567] = { ["npcID"] = 170228, }, [394275] = { ["source"] = "Cygenoth", ["event"] = "SPELL_CAST_START", ["npcID"] = 185660, }, [386547] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Teera", ["npcID"] = 186339, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [389443] = { ["encounterName"] = "Watcher Irideus", ["source"] = "Nullification Device", ["npcID"] = 196712, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2615, }, [254920] = { ["npcID"] = 169206, }, [369703] = { ["encounterName"] = "Bromach", ["npcID"] = 184018, ["encounterID"] = 2556, }, [360373] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [384524] = { ["encounterName"] = "Watcher Irideus", ["source"] = "Watcher Irideus", ["npcID"] = 189719, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2615, }, [367656] = { ["npcID"] = 185037, }, [361513] = { ["encounterName"] = "Dausegne, the Fallen Oracle", ["npcID"] = 181224, ["encounterID"] = 2540, }, [76572] = { ["encounterName"] = "Rom'ogg Bonecrusher", ["npcID"] = 39980, ["encounterID"] = 1040, }, [357418] = { ["npcID"] = 178443, }, [75543] = { ["encounterName"] = "Rom'ogg Bonecrusher", ["npcID"] = 39665, ["encounterID"] = 1040, }, [91872] = { ["encounterName"] = "Siamat", ["npcID"] = 45259, ["encounterID"] = 1055, }, [325232] = { ["npcID"] = 177214, }, [324417] = { ["npcID"] = 162133, }, [331152] = { ["npcID"] = 167164, }, [234015] = { ["encounterName"] = "Demonic Inquisition", ["npcID"] = 116691, ["encounterID"] = 2048, }, [396327] = { ["event"] = "SPELL_CAST_START", ["source"] = "Glacias", ["npcID"] = 199028, }, [381765] = { ["event"] = "SPELL_CAST_START", ["source"] = "Colossal Glacier", ["npcID"] = 194798, }, [343086] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168112, ["encounterID"] = 2417, }, [101592] = { ["npcID"] = 54432, }, [32011] = { ["npcID"] = 45618, }, [324657] = { ["npcID"] = 166551, }, [336810] = { ["npcID"] = 160785, }, [21067] = { ["npcID"] = 17154, }, [381408] = { ["event"] = "SPELL_CAST_START", ["source"] = "Shiverweb Crawler", ["npcID"] = 192591, }, [371618] = { ["source"] = "Cindershard Igniter", ["event"] = "SPELL_CAST_START", ["npcID"] = 198382, }, [233983] = { ["encounterName"] = "Demonic Inquisition", ["npcID"] = 116691, ["encounterID"] = 2048, }, [377900] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Scavenger", ["npcID"] = 191833, }, [372863] = { ["encounterName"] = "Kokia Blazehoof", ["source"] = "Kokia Blazehoof", ["npcID"] = 189232, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2606, }, [357423] = { ["npcID"] = 178004, }, [326707] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 167406, }, [295991] = { ["npcID"] = 151331, }, [333787] = { ["npcID"] = 168934, }, [300087] = { ["encounterName"] = "Trixie & Naeno", ["npcID"] = 150251, ["encounterID"] = 2312, }, [334899] = { ["npcID"] = 174802, }, [336947] = { ["npcID"] = 162853, }, [273467] = { ["npcID"] = 145660, }, [294290] = { ["npcID"] = 144293, }, [343091] = { ["npcID"] = 172862, }, [376727] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [322614] = { ["encounterName"] = "Tred'ova", ["npcID"] = 164517, ["encounterID"] = 2393, }, [68895] = { ["npcID"] = 36551, }, [328475] = { ["npcID"] = 164737, }, [209617] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 105301, }, [386024] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Stormspeaker", ["npcID"] = 194894, }, [123654] = { ["encounterName"] = "Trial of the King", ["encounterID"] = 1442, ["npcID"] = 61444, }, [16102] = { ["npcID"] = 17395, }, [386096] = { ["event"] = "SPELL_CAST_START", ["source"] = "Screechflight Cursewife", ["npcID"] = 184816, }, [382002] = { ["event"] = "SPELL_CAST_START", ["source"] = "Apex Blazewing", ["npcID"] = 193291, }, [230094] = { ["npcID"] = 115765, }, [351285] = { ["npcID"] = 178006, }, [394288] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gurblbrblr the Invader", ["npcID"] = 197211, }, [355381] = { ["npcID"] = 177646, }, [357429] = { ["npcID"] = 178824, }, [50066] = { ["npcID"] = 27936, }, [42131] = { ["npcID"] = 23883, }, [371764] = { ["npcID"] = 176864, }, [324666] = { ["npcID"] = 166551, }, [338604] = { ["npcID"] = 173066, }, [172588] = { ["npcID"] = 86372, }, [358375] = { ["npcID"] = 179472, }, [324667] = { ["encounterName"] = "Globgrog", ["npcID"] = 164255, ["encounterID"] = 2382, }, [364447] = { ["encounterName"] = "Vigilant Guardian", ["npcID"] = 184522, ["encounterID"] = 2512, }, [345145] = { ["npcID"] = 170303, }, [328365] = { ["npcID"] = 167493, }, [172982] = { ["npcID"] = 83026, }, [390531] = { ["source"] = "Uranto the Swift", ["event"] = "SPELL_CAST_START", ["npcID"] = 191103, }, [386101] = { ["source"] = "Screechflight Bellower", ["event"] = "SPELL_CAST_START", ["npcID"] = 187124, }, [396674] = { ["source"] = "Ripsaw the Stalker", ["event"] = "SPELL_CAST_START", ["npcID"] = 193153, }, [199210] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Marksman", ["npcID"] = 96640, }, [350894] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 175729, }, [40317] = { ["npcID"] = 17729, }, [323552] = { ["encounterName"] = "High Adjudicator Aleez", ["npcID"] = 165410, ["encounterID"] = 2403, }, [338591] = { ["npcID"] = 173066, }, [102173] = { ["encounterName"] = "Echo of Tyrande", ["npcID"] = 54544, ["encounterID"] = 1884, }, [394294] = { ["source"] = "Doventhal the Chosen", ["event"] = "SPELL_CAST_START", ["npcID"] = 186163, }, [230951] = { ["encounterName"] = "Spellblade Aluriel", ["encounterID"] = 1871, ["npcID"] = 115905, }, [377912] = { ["source"] = "Guardian Sentry", ["event"] = "SPELL_CAST_START", ["npcID"] = 192680, }, [359483] = { ["encounterName"] = "Dausegne, the Fallen Oracle", ["npcID"] = 181224, ["encounterID"] = 2540, }, [336958] = { ["npcID"] = 162853, }, [339006] = { ["npcID"] = 185121, }, [365627] = { ["npcID"] = 184954, }, [163376] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80808, }, [334708] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 171557, ["encounterID"] = 2418, }, [330816] = { ["npcID"] = 169861, }, [323496] = { ["npcID"] = 165872, }, [387037] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Revenant", ["npcID"] = 195917, }, [193069] = { ["npcID"] = 96587, }, [339008] = { ["npcID"] = 161704, }, [224632] = { ["npcID"] = 112803, }, [343104] = { ["npcID"] = 156203, }, [386107] = { ["source"] = "Screechflight Hexclaw", ["event"] = "SPELL_CAST_START", ["npcID"] = 183995, }, [396346] = { ["event"] = "SPELL_CAST_START", ["source"] = "Warmonger Kharad", ["npcID"] = 190932, }, [357439] = { ["npcID"] = 178653, }, [343105] = { ["npcID"] = 170208, }, [392576] = { ["event"] = "SPELL_CAST_START", ["source"] = "Tempest Channeler", ["npcID"] = 198047, }, [339010] = { ["npcID"] = 185121, }, [173563] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 86684, }, [375870] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [328772] = { ["npcID"] = 168644, }, [396348] = { ["source"] = "Gutchewer Bear", ["event"] = "SPELL_CAST_START", ["npcID"] = 197134, }, [365632] = { ["npcID"] = 184742, }, [375871] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [336964] = { ["npcID"] = 168515, }, [396349] = { ["source"] = "Fleshripper Vulture", ["event"] = "SPELL_CAST_START", ["npcID"] = 197133, }, [68899] = { ["encounterName"] = "Devourer of Souls", ["npcID"] = 36502, ["encounterID"] = 2007, }, [163379] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80875, }, [332431] = { ["npcID"] = 178212, }, [396350] = { ["source"] = "Fleshripper Vulture", ["event"] = "SPELL_CAST_START", ["npcID"] = 197133, }, [330408] = { ["npcID"] = 168525, }, [334918] = { ["npcID"] = 162047, }, [209454] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 105630, }, [150032] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74475, }, [341623] = { ["encounterName"] = "Lady Inerva Darkvein", ["npcID"] = 165521, ["encounterID"] = 2406, }, [321520] = { ["npcID"] = 166926, }, [341966] = { ["npcID"] = 162690, }, [386015] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Stormspeaker", ["npcID"] = 194894, }, [355930] = { ["npcID"] = 177816, }, [392257] = { ["event"] = "SPELL_CAST_START", ["source"] = "Parched Broadhoof", ["npcID"] = 194351, }, [377923] = { ["source"] = "Bound Spark", ["event"] = "SPELL_CAST_START", ["npcID"] = 186624, }, [394838] = { ["event"] = "SPELL_CAST_START", ["source"] = "Henlare", ["npcID"] = 193229, }, [390210] = { ["event"] = "SPELL_CAST_START", ["source"] = "Monstrous Decay", ["npcID"] = 197130, }, [343112] = { ["npcID"] = 166156, }, [32330] = { ["npcID"] = 17732, }, [342939] = { ["npcID"] = 169410, }, [325552] = { ["encounterName"] = "Domina Venomblade", ["npcID"] = 164266, ["encounterID"] = 2385, }, [192050] = { ["encounterName"] = "Serpentrix", ["npcID"] = 91808, ["encounterID"] = 1813, }, [156515] = { ["npcID"] = 77605, }, [396355] = { ["source"] = "Ritual Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 186787, }, [355057] = { ["npcID"] = 178139, }, [204337] = { ["npcID"] = 118787, }, [205361] = { ["encounterName"] = "Krosus", ["encounterID"] = 1842, ["npcID"] = 101002, }, [361387] = { ["npcID"] = 182466, }, [335473] = { ["encounterName"] = "Sludgefist", ["npcID"] = 164407, ["encounterID"] = 2399, }, [331811] = { ["npcID"] = 164388, }, [377927] = { ["source"] = "Smoldering Feather", ["event"] = "SPELL_CAST_START", ["npcID"] = 192690, }, [396825] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rimebound Controller", ["npcID"] = 195836, }, [226287] = { ["npcID"] = 101438, }, [351307] = { ["npcID"] = 176572, }, [358353] = { ["npcID"] = 179760, }, [333729] = { ["npcID"] = 168949, }, [157652] = { ["npcID"] = 77694, }, [334926] = { ["npcID"] = 168891, }, [296019] = { ["encounterName"] = "Horridon", ["npcID"] = 151128, }, [396836] = { ["event"] = "SPELL_CAST_START", ["source"] = "Colossal Glacier", ["npcID"] = 194798, }, [160274] = { ["npcID"] = 79466, }, [212530] = { ["encounterName"] = "Spellblade Aluriel", ["encounterID"] = 1871, ["npcID"] = 104881, }, [166766] = { ["npcID"] = 178107, }, [396360] = { ["source"] = "Ritual Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 186787, }, [331634] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166970, ["encounterID"] = 2412, }, [225790] = { ["npcID"] = 106482, }, [167385] = { ["npcID"] = 175451, }, [294491] = { ["event"] = "SPELL_CAST_START", ["source"] = "Timeling", ["npcID"] = 186479, }, [206351] = { ["encounterName"] = "Krosus", ["encounterID"] = 1842, ["npcID"] = 104262, }, [334929] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168112, ["encounterID"] = 2417, }, [320063] = { ["encounterName"] = "An Affront of Challengers", ["npcID"] = 164451, ["encounterID"] = 2391, }, [206388] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 103758, }, [365646] = { ["npcID"] = 184651, }, [159290] = { ["npcID"] = 76097, }, [320596] = { ["encounterName"] = "Blightbone", ["encounterID"] = 2387, ["npcID"] = 162691, }, [348128] = { ["encounterName"] = "Zo'phex the Sentinel", ["encounterID"] = 2425, ["npcID"] = 175616, }, [291928] = { ["encounterName"] = "King Mechagon", ["npcID"] = 150396, ["encounterID"] = 2260, }, [147815] = { ["npcID"] = 73483, }, [356759] = { ["npcID"] = 177129, }, [339325] = { ["npcID"] = 173298, }, [329383] = { ["npcID"] = 175721, }, [205862] = { ["encounterName"] = "Krosus", ["encounterID"] = 1842, ["npcID"] = 101002, }, [328789] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 169062, }, [298073] = { ["npcID"] = 156241, }, [365649] = { ["npcID"] = 184734, }, [39022] = { ["npcID"] = 20905, }, [148029] = { ["npcID"] = 73223, }, [31948] = { ["encounterName"] = "Rokmar the Crackler", ["encounterID"] = 1941, ["npcID"] = 17991, }, [390223] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flashfrost Tarasek", ["npcID"] = 187089, }, [342675] = { ["npcID"] = 170882, }, [320600] = { ["npcID"] = 162965, }, [396367] = { ["source"] = "Decayed Elder", ["event"] = "SPELL_CAST_START", ["npcID"] = 197142, }, [395936] = { ["event"] = "SPELL_CAST_START", ["source"] = "Riverbeast Elder", ["npcID"] = 191687, }, [392272] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thickmane Matriach", ["npcID"] = 194439, }, [361556] = { ["npcID"] = 181685, }, [224387] = { ["npcID"] = 112718, }, [346742] = { ["encounterName"] = "Mailroom Mayhem", ["encounterID"] = 2424, ["npcID"] = 175646, }, [326745] = { ["npcID"] = 170016, }, [225845] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 112973, }, [152893] = { ["npcID"] = 78933, }, [329635] = { ["npcID"] = 158256, }, [204344] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blacktalon Assassin", ["npcID"] = 186634, }, [157762] = { ["npcID"] = 77696, }, [396370] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rimebound Controller", ["npcID"] = 195836, }, [350847] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [322940] = { ["npcID"] = 172073, }, [369750] = { ["source"] = "Qalashi Scaleripper", ["event"] = "SPELL_CAST_START", ["npcID"] = 187602, }, [363607] = { ["encounterName"] = "Dausegne, the Fallen Oracle", ["npcID"] = 181244, ["encounterID"] = 2540, }, [154175] = { ["encounterName"] = "Bonemaw", ["encounterID"] = 1679, ["npcID"] = 75452, }, [163390] = { ["encounterName"] = "Grimrail Enforcers", ["encounterID"] = 1748, ["npcID"] = 80808, }, [369751] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Djaradin", ["npcID"] = 188296, }, [152953] = { ["npcID"] = 76097, }, [310969] = { ["npcID"] = 159011, }, [300414] = { ["npcID"] = 150143, }, [225847] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 112973, }, [355418] = { ["npcID"] = 178527, }, [341084] = { ["npcID"] = 160295, }, [293986] = { ["npcID"] = 151476, }, [205370] = { ["encounterName"] = "Krosus", ["encounterID"] = 1842, ["npcID"] = 101002, }, [193611] = { ["encounterName"] = "Lady Hatecoil", ["npcID"] = 91789, }, [193376] = { ["encounterName"] = "Ularogg Cragshaper", ["npcID"] = 91004, ["encounterID"] = 1791, }, [392279] = { ["event"] = "SPELL_CAST_START", ["source"] = "Wild Proto-Dragon", ["npcID"] = 194089, }, [328799] = { ["npcID"] = 177420, }, [259597] = { ["npcID"] = 158110, }, [346766] = { ["encounterName"] = "Hylbrande", ["npcID"] = 175663, ["encounterID"] = 2426, }, [392280] = { ["source"] = "Kaurdyth", ["event"] = "SPELL_CAST_START", ["npcID"] = 197835, }, [81576] = { ["npcID"] = 43537, }, [322557] = { ["npcID"] = 164920, }, [390233] = { ["source"] = "Rendvith", ["event"] = "SPELL_CAST_START", ["npcID"] = 196971, }, [323150] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 165737, ["encounterID"] = 2381, }, [320610] = { ["npcID"] = 165909, }, [363533] = { ["encounterName"] = "Rygelon", ["npcID"] = 182777, ["encounterID"] = 2549, }, [365661] = { ["npcID"] = 184651, }, [331161] = { ["npcID"] = 165147, }, [368295] = { ["npcID"] = 183953, }, [342911] = { ["npcID"] = 170753, }, [34661] = { ["encounterName"] = "Thorngrin the Tender", ["encounterID"] = 1928, ["npcID"] = 17978, }, [384092] = { ["source"] = "Timetender Athekk", ["event"] = "SPELL_CAST_START", ["npcID"] = 193042, }, [372082] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [394607] = { ["source"] = "Captain Lancer", ["event"] = "SPELL_CAST_START", ["npcID"] = 193198, }, [327648] = { ["npcID"] = 168418, }, [343138] = { ["npcID"] = 173575, }, [377950] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Tricktotem", ["npcID"] = 186125, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [194611] = { ["npcID"] = 98926, }, [288765] = { ["npcID"] = 177637, }, [329711] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 169196, }, [336996] = { ["npcID"] = 162744, }, [321247] = { ["encounterName"] = "Amarth, The Harvester", ["encounterID"] = 2388, ["npcID"] = 163157, }, [291946] = { ["encounterName"] = "K.U.-J.0.", ["npcID"] = 144246, ["encounterID"] = 2258, }, [384095] = { ["source"] = "Ohuna Companion", ["event"] = "SPELL_CAST_START", ["npcID"] = 194254, }, [394334] = { ["source"] = "Matriarch Avethyra", ["event"] = "SPELL_CAST_START", ["npcID"] = 184847, }, [383866] = { ["npcID"] = 194526, }, [339046] = { ["npcID"] = 179755, }, [164887] = { ["npcID"] = 81820, }, [48280] = { ["npcID"] = 153897, }, [194112] = { ["encounterName"] = "God-King Skovald", ["source"] = "God-King Skovald", ["npcID"] = 95675, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1808, }, [241345] = { ["npcID"] = 120449, }, [76584] = { ["encounterName"] = "Corla, Herald of Twilight", ["npcID"] = 39990, ["encounterID"] = 1038, }, [394336] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mordigan Ironjaw", ["npcID"] = 187353, }, [355429] = { ["npcID"] = 178165, }, [165578] = { ["encounterName"] = "Bonemaw", ["encounterID"] = 1679, ["npcID"] = 75452, }, [200256] = { ["npcID"] = 101549, }, [209471] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["npcID"] = 105721, ["encounterID"] = 1873, }, [371812] = { ["npcID"] = 46914, }, [275568] = { ["npcID"] = 168442, }, [386146] = { ["source"] = "Professor Intinosa", ["event"] = "SPELL_CAST_START", ["npcID"] = 195354, }, [312428] = { ["npcID"] = 160399, }, [57046] = { ["npcID"] = 26737, }, [275569] = { ["npcID"] = 168442, }, [275452] = { ["npcID"] = 146564, }, [350202] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 177095, }, [322232] = { ["encounterName"] = "Stradama Margrave", ["npcID"] = 164267, ["encounterID"] = 2386, }, [275570] = { ["npcID"] = 166027, }, [209443] = { ["encounterName"] = "Xavius", ["npcID"] = 103769, ["encounterID"] = 1864, }, [334716] = { ["npcID"] = 162096, }, [396388] = { ["event"] = "SPELL_CAST_START", ["source"] = "Glacias", ["npcID"] = 199028, }, [390245] = { ["event"] = "SPELL_CAST_START", ["source"] = "Embertooth Spearhunter", ["npcID"] = 188725, }, [347242] = { ["npcID"] = 175876, }, [365155] = { ["npcID"] = 183746, }, [76588] = { ["encounterName"] = "Corla, Herald of Twilight", ["npcID"] = 39990, ["encounterID"] = 1038, }, [316527] = { ["npcID"] = 158992, }, [38810] = { ["npcID"] = 20864, }, [369754] = { ["encounterName"] = "Bromach", ["npcID"] = 184018, ["encounterID"] = 2556, }, [347244] = { ["npcID"] = 175877, }, [360414] = { ["encounterName"] = "Vigilant Guardian", ["npcID"] = 180773, ["encounterID"] = 2512, }, [343149] = { ["npcID"] = 173575, }, [193092] = { ["encounterName"] = "Hymdall", ["source"] = "Hymdall", ["npcID"] = 94960, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1805, }, [156717] = { ["npcID"] = 76104, }, [204316] = { ["encounterName"] = "Skorpyron", ["encounterID"] = 1849, ["npcID"] = 102263, }, [347153] = { ["npcID"] = 171849, }, [377962] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frostfoot Yeti", ["npcID"] = 192914, }, [396392] = { ["event"] = "SPELL_CAST_START", ["source"] = "Dueling Student", ["npcID"] = 199377, }, [365676] = { ["npcID"] = 184734, }, [277060] = { ["npcID"] = 154020, }, [361581] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 182822, ["encounterID"] = 2544, }, [355438] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 176563, }, [300102] = { ["npcID"] = 152009, }, [297966] = { ["npcID"] = 153382, }, [365678] = { ["npcID"] = 184734, }, [59800] = { ["encounterName"] = "Ionar", ["encounterID"] = 1984, ["npcID"] = 28546, }, [373869] = { ["event"] = "SPELL_CAST_START", ["source"] = "Scorchling", ["npcID"] = 190205, }, [200261] = { ["npcID"] = 98243, }, [345201] = { ["npcID"] = 170037, }, [347249] = { ["encounterName"] = "So'azmi", ["encounterID"] = 2437, ["npcID"] = 175806, }, [343155] = { ["npcID"] = 173446, }, [292910] = { ["npcID"] = 178107, }, [164426] = { ["encounterName"] = "Fleshrender Nok'gar", ["encounterID"] = 1749, ["npcID"] = 81305, }, [330868] = { ["npcID"] = 160495, }, [182856] = { ["npcID"] = 161785, }, [375919] = { ["source"] = "Streamside Scythid", ["event"] = "SPELL_CAST_START", ["npcID"] = 191469, }, [47001] = { ["npcID"] = 25368, }, [371824] = { ["npcID"] = 46859, }, [359538] = { ["npcID"] = 182353, }, [310392] = { ["npcID"] = 185023, }, [337013] = { ["npcID"] = 172408, }, [390256] = { ["source"] = "Kaighan Keeper", ["event"] = "SPELL_CAST_START", ["npcID"] = 190680, }, [365682] = { ["encounterName"] = "Artificer Xy'mox", ["npcID"] = 184140, ["encounterID"] = 2553, }, [343158] = { ["npcID"] = 160770, }, [69633] = { ["npcID"] = 36666, }, [371826] = { ["npcID"] = 176864, }, [300155] = { ["npcID"] = 164929, }, [392304] = { ["source"] = "Khomuur", ["event"] = "SPELL_CAST_START", ["npcID"] = 194438, }, [38618] = { ["npcID"] = 182155, }, [396400] = { ["event"] = "SPELL_CAST_START", ["source"] = "Glacias", ["npcID"] = 199028, }, [107045] = { ["encounterName"] = "Liu Flameheart", ["encounterID"] = 1416, ["npcID"] = 56762, }, [343159] = { ["npcID"] = 173444, }, [377971] = { ["source"] = "Spawning Thresher", ["event"] = "SPELL_CAST_START", ["npcID"] = 194342, }, [329172] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 165737, ["encounterID"] = 2381, }, [322554] = { ["encounterName"] = "Executor Tarvold", ["npcID"] = 162103, ["encounterID"] = 2361, }, [375924] = { ["encounterName"] = "The Lost Dwarves", ["npcID"] = 184581, ["encounterID"] = 2555, }, [369781] = { ["encounterName"] = "The Lost Dwarves", ["npcID"] = 184582, ["encounterID"] = 2555, }, [86830] = { ["npcID"] = 43391, }, [365686] = { ["npcID"] = 184533, }, [294015] = { ["npcID"] = 151476, }, [44141] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24558, }, [330875] = { ["npcID"] = 169893, }, [300159] = { ["npcID"] = 150276, }, [351353] = { ["encounterName"] = "Sylvanas Windrunner", ["npcID"] = 177891, }, [345210] = { ["npcID"] = 170016, }, [59160] = { ["encounterName"] = "General Bjarngrim", ["encounterID"] = 1987, ["npcID"] = 29240, }, [357497] = { ["npcID"] = 179070, }, [328756] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 164567, ["encounterID"] = 2397, }, [345207] = { ["npcID"] = 170031, }, [355450] = { ["npcID"] = 180598, }, [38556] = { ["npcID"] = 74228, }, [235969] = { ["encounterName"] = "The Desolate Host", ["encounterID"] = 2054, ["npcID"] = 118729, }, [39068] = { ["npcID"] = 22375, }, [364617] = { ["npcID"] = 181057, }, [90551] = { ["npcID"] = 41659, }, [375929] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [333921] = { ["npcID"] = 166614, }, [220957] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 111022, }, [320637] = { ["encounterName"] = "Blightbone", ["encounterID"] = 2387, ["npcID"] = 162691, }, [192985] = { ["encounterName"] = "Wrath of Azshara", ["npcID"] = 96028, ["encounterID"] = 1814, }, [106797] = { ["encounterName"] = "Liu Flameheart", ["encounterID"] = 1416, ["npcID"] = 56732, }, [340070] = { ["npcID"] = 166503, }, [291973] = { ["encounterName"] = "K.U.-J.0.", ["npcID"] = 144246, ["encounterID"] = 2258, }, [392239] = { ["source"] = "Sunhide Stomphoof", ["event"] = "SPELL_CAST_START", ["npcID"] = 187960, }, [369788] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Djaradin", ["npcID"] = 188296, }, [341352] = { ["npcID"] = 174092, }, [356897] = { ["npcID"] = 177294, }, [355389] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 176703, }, [394362] = { ["source"] = "Rasnar the War Ender", ["event"] = "SPELL_CAST_START", ["npcID"] = 193232, }, [343083] = { ["npcID"] = 166156, }, [329808] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 168113, ["encounterID"] = 2417, }, [396640] = { ["encounterName"] = "Overgrown Ancient", ["source"] = "Ancient Branch", ["encounterID"] = 2563, ["event"] = "SPELL_CAST_START", ["npcID"] = 196548, }, [320644] = { ["encounterName"] = "Xav the Unfallen", ["npcID"] = 162329, ["encounterID"] = 2366, }, [355456] = { ["npcID"] = 178958, }, [198442] = { ["npcID"] = 165909, }, [318825] = { ["npcID"] = 170731, }, [369791] = { ["encounterName"] = "The Lost Dwarves", ["source"] = "Eric \"The Swift\"", ["encounterID"] = 2555, ["event"] = "SPELL_CAST_START", ["npcID"] = 184582, }, [386173] = { ["encounterName"] = "Vexamus", ["source"] = "Vexamus", ["encounterID"] = 2562, ["event"] = "SPELL_CAST_START", ["npcID"] = 194181, }, [38940] = { ["npcID"] = 20901, }, [392317] = { ["source"] = "Khomuur", ["event"] = "SPELL_CAST_START", ["npcID"] = 194438, }, [394591] = { ["source"] = "Tombcaller Arban", ["event"] = "SPELL_CAST_START", ["npcID"] = 190047, }, [20802] = { ["npcID"] = 16358, }, [38557] = { ["npcID"] = 41995, }, [392318] = { ["source"] = "Ohn'ir Initiate", ["event"] = "SPELL_CAST_START", ["npcID"] = 193985, }, [339820] = { ["npcID"] = 172524, }, [357871] = { ["npcID"] = 177903, }, [353635] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [375937] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [394367] = { ["source"] = "Morchok", ["event"] = "SPELL_CAST_START", ["npcID"] = 187306, }, [396415] = { ["event"] = "SPELL_CAST_START", ["source"] = "Galestrike Proto-Dragon", ["npcID"] = 187211, }, [357508] = { ["npcID"] = 180495, }, [398012] = { ["npcID"] = 191093, }, [374112] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Frostbreath Arachnid", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 189234, }, [388225] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frostfist", ["npcID"] = 192030, }, [341127] = { ["npcID"] = 158259, }, [162066] = { ["encounterName"] = "Skylord Tovra", ["encounterID"] = 1736, ["npcID"] = 80005, }, [114062] = { ["encounterName"] = "Jandice Barov", ["encounterID"] = 1427, ["npcID"] = 59184, }, [323057] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 164567, ["encounterID"] = 2397, }, [332937] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 170710, }, [326794] = { ["npcID"] = 167876, }, [34974] = { ["encounterName"] = "Swamplord Musel'ek", ["encounterID"] = 1947, ["npcID"] = 17826, }, [46035] = { ["npcID"] = 24685, }, [347490] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [294031] = { ["npcID"] = 168234, }, [258634] = { ["npcID"] = 154129, }, [355464] = { ["npcID"] = 178165, }, [357512] = { ["npcID"] = 180495, }, [209489] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 106545, }, [353417] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [334988] = { ["npcID"] = 171596, }, [341131] = { ["npcID"] = 174194, }, [384134] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Warspear", ["npcID"] = 192791, }, [353418] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [357513] = { ["encounterName"] = "Myza's Oasis", ["npcID"] = 180485, ["encounterID"] = 2440, }, [300177] = { ["npcID"] = 150276, }, [102193] = { ["encounterName"] = "Echo of Tyrande", ["npcID"] = 54544, ["encounterID"] = 1884, }, [320655] = { ["encounterName"] = "Blightbone", ["encounterID"] = 2387, ["npcID"] = 162691, }, [347668] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [341133] = { ["npcID"] = 165470, }, [375945] = { ["event"] = "SPELL_CAST_START", ["source"] = "Wild Argali", ["npcID"] = 191553, }, [112944] = { ["encounterName"] = "Hoptallus", ["encounterID"] = 1413, ["npcID"] = 56717, }, [396423] = { ["event"] = "SPELL_CAST_START", ["source"] = "Galestrike Proto-Dragon", ["npcID"] = 187211, }, [365707] = { ["npcID"] = 183429, }, [153581] = { ["npcID"] = 76132, }, [320657] = { ["npcID"] = 167484, }, [392539] = { ["source"] = "Awakened Terrasentry", ["event"] = "SPELL_CAST_START", ["npcID"] = 197801, }, [365708] = { ["npcID"] = 183432, }, [224515] = { ["npcID"] = 112676, }, [325498] = { ["npcID"] = 157212, }, [37668] = { ["npcID"] = 17938, }, [324079] = { ["encounterName"] = "Mordretha", ["npcID"] = 165946, ["encounterID"] = 2404, }, [204372] = { ["encounterName"] = "Skorpyron", ["encounterID"] = 1849, ["npcID"] = 102263, }, [110099] = { ["npcID"] = 57109, }, [332650] = { ["npcID"] = 166615, }, [207906] = { ["encounterName"] = "Talixae Flamewreath", ["npcID"] = 104217, }, [316511] = { ["npcID"] = 159458, }, [369806] = { ["npcID"] = 184020, }, [366287] = { ["npcID"] = 185032, }, [177731] = { ["encounterName"] = "Witherbark", ["encounterID"] = 1746, ["npcID"] = 88862, }, [375950] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Icecaller", ["npcID"] = 190377, }, [312674] = { ["npcID"] = 161388, }, [355473] = { ["npcID"] = 179821, }, [396430] = { ["source"] = "Arcane Golem", ["event"] = "SPELL_CAST_START", ["npcID"] = 190779, }, [241233] = { ["npcID"] = 121003, }, [295929] = { ["npcID"] = 178148, }, [347283] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [15785] = { ["npcID"] = 19306, }, [38815] = { ["npcID"] = 21346, }, [345236] = { ["npcID"] = 170157, }, [322711] = { ["encounterName"] = "Halkias, the Sin-Stained Goliath", ["npcID"] = 165408, ["encounterID"] = 2401, }, [345239] = { ["npcID"] = 165124, }, [241234] = { ["npcID"] = 122851, }, [345237] = { ["npcID"] = 165124, }, [154415] = { ["encounterName"] = "Soulbinder Nyami", ["encounterID"] = 1685, ["npcID"] = 76177, }, [365715] = { ["npcID"] = 184530, }, [392336] = { ["source"] = "Uncontrolled Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 181775, }, [345238] = { ["npcID"] = 165124, }, [396432] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ancient Proto-Dragon", ["npcID"] = 189798, }, [300188] = { ["npcID"] = 150253, }, [167516] = { ["npcID"] = 86809, }, [328857] = { ["encounterName"] = "Shriekwing", ["npcID"] = 164406, ["encounterID"] = 2398, }, [365717] = { ["npcID"] = 183432, }, [390290] = { ["event"] = "SPELL_CAST_START", ["source"] = "Infuser Sariya", ["npcID"] = 190405, }, [334971] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165067, ["encounterID"] = 2418, }, [369813] = { ["source"] = "Summoned Destroyer", ["event"] = "SPELL_CAST_START", ["npcID"] = 193288, }, [355479] = { ["npcID"] = 179821, }, [341145] = { ["npcID"] = 174090, }, [235968] = { ["encounterName"] = "The Desolate Host", ["encounterID"] = 2054, ["npcID"] = 118728, }, [300525] = { ["npcID"] = 150142, }, [357516] = { ["npcID"] = 177137, }, [332955] = { ["npcID"] = 168036, }, [328856] = { ["npcID"] = 165561, }, [221783] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [396629] = { ["source"] = "Prime Salamanther", ["event"] = "SPELL_CAST_START", ["npcID"] = 191659, }, [382102] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rebel Conjurer", ["npcID"] = 195063, }, [208944] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 106643, }, [345243] = { ["npcID"] = 165124, }, [347291] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [373912] = { ["encounterName"] = "Decatriarch Wratheye", ["source"] = "Decatriarch Wratheye", ["encounterID"] = 2569, ["event"] = "SPELL_CAST_START", ["npcID"] = 186121, }, [168040] = { ["encounterName"] = "Ancient Protectors", ["encounterID"] = 1757, ["npcID"] = 83893, }, [350803] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [338003] = { ["npcID"] = 165414, }, [320861] = { ["npcID"] = 162046, }, [359768] = { ["npcID"] = 181360, }, [369818] = { ["npcID"] = 184020, }, [341854] = { ["npcID"] = 173832, }, [365723] = { ["npcID"] = 183438, }, [83877] = { ["npcID"] = 44926, }, [394392] = { ["source"] = "Echo of Loss", ["event"] = "SPELL_CAST_START", ["npcID"] = 190259, }, [392284] = { ["event"] = "SPELL_CAST_START", ["source"] = "Wild Proto-Drake", ["npcID"] = 191787, }, [346980] = { ["encounterName"] = "Hylbrande", ["npcID"] = 176551, ["encounterID"] = 2426, }, [142947] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71395, }, [336963] = { ["npcID"] = 172409, }, [203163] = { ["npcID"] = 102788, }, [389981] = { ["npcID"] = 189955, }, [328559] = { ["npcID"] = 166677, }, [378012] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lavacaller Primalist", ["npcID"] = 186823, }, [322723] = { ["npcID"] = 165591, }, [341856] = { ["npcID"] = 173832, }, [228269] = { ["encounterName"] = "Shade of Medivh", ["npcID"] = 114350, ["encounterID"] = 1965, }, [336971] = { ["npcID"] = 168118, }, [347247] = { ["npcID"] = 175877, }, [390481] = { ["source"] = "Uranto the Swift", ["event"] = "SPELL_CAST_START", ["npcID"] = 191103, }, [351066] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 175729, }, [369823] = { ["npcID"] = 184023, }, [115509] = { ["npcID"] = 59751, }, [353621] = { ["npcID"] = 177521, }, [169929] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 84400, }, [328869] = { ["npcID"] = 185024, }, [243289] = { ["npcID"] = 121399, }, [345066] = { ["npcID"] = 164064, }, [335013] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [353443] = { ["npcID"] = 179080, }, [196870] = { ["npcID"] = 98173, }, [263344] = { ["npcID"] = 168111, }, [400542] = { ["source"] = "Kalecgos", ["event"] = "SPELL_CAST_START", ["npcID"] = 193460, }, [359587] = { ["npcID"] = 180052, }, [396447] = { ["event"] = "SPELL_CAST_START", ["source"] = "Apex Proto-Dragon", ["npcID"] = 192717, }, [324776] = { ["npcID"] = 166275, }, [326824] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 167999, }, [106807] = { ["encounterName"] = "Ook-Ook", ["encounterID"] = 1412, ["npcID"] = 56637, }, [371875] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Trainee", ["npcID"] = 189266, }, [390305] = { ["source"] = "Rendvith", ["event"] = "SPELL_CAST_START", ["npcID"] = 196971, }, [332610] = { ["npcID"] = 156333, }, [369828] = { ["npcID"] = 184023, }, [227917] = { ["npcID"] = 114526, }, [361044] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 182305, ["encounterID"] = 2544, }, [79675] = { ["npcID"] = 41648, }, [205408] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 103758, }, [363686] = { ["npcID"] = 179043, }, [151697] = { ["npcID"] = 75426, }, [326827] = { ["npcID"] = 162040, }, [240066] = { ["encounterName"] = "Harjatan", ["encounterID"] = 2036, ["npcID"] = 116569, }, [331248] = { ["npcID"] = 165015, }, [300207] = { ["npcID"] = 150253, }, [335019] = { ["npcID"] = 156434, }, [114999] = { ["encounterName"] = "Taran Zhu", ["encounterID"] = 1306, ["npcID"] = 56884, }, [298160] = { ["npcID"] = 185016, }, [341163] = { ["npcID"] = 171396, }, [326829] = { ["npcID"] = 167876, }, [362405] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [382101] = { ["source"] = "Echo of Loss", ["event"] = "SPELL_CAST_START", ["npcID"] = 190259, }, [162407] = { ["encounterName"] = "Rocketspark and Borka", ["encounterID"] = 1715, ["npcID"] = 77803, }, [326830] = { ["npcID"] = 160076, }, [345202] = { ["npcID"] = 170044, }, [337235] = { ["encounterName"] = "Tred'ova", ["npcID"] = 164517, ["encounterID"] = 2393, }, [59685] = { ["npcID"] = 23956, }, [200291] = { ["npcID"] = 98691, }, [195254] = { ["encounterName"] = "Amalgam of Souls", ["npcID"] = 98542, ["encounterID"] = 1832, }, [322736] = { ["encounterName"] = "Hakkar, the Soulflayer", ["npcID"] = 164558, ["encounterID"] = 2395, }, [236115] = { ["encounterName"] = "Sisters of the Moon", ["npcID"] = 118374, ["encounterID"] = 2050, }, [362333] = { ["npcID"] = 181223, }, [337071] = { ["npcID"] = 170301, }, [384161] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Irontorch", ["npcID"] = 189464, }, [120160] = { ["encounterName"] = "Trial of the King", ["encounterID"] = 1442, ["npcID"] = 61445, }, [347992] = { ["encounterName"] = "Zo'phex the Sentinel", ["encounterID"] = 2425, ["npcID"] = 175616, }, [33919] = { ["encounterName"] = "Tavarok", ["encounterID"] = 1901, ["npcID"] = 18343, }, [243295] = { ["npcID"] = 121400, }, [357550] = { ["npcID"] = 176940, }, [110117] = { ["npcID"] = 65414, }, [373932] = { ["encounterName"] = "Azureblade", ["source"] = "Draconic Image", ["encounterID"] = 2585, ["event"] = "SPELL_CAST_START", ["npcID"] = 190187, }, [357479] = { ["npcID"] = 178653, }, [56934] = { ["encounterName"] = "Grand Magus Telestra", ["encounterID"] = 2010, ["npcID"] = 26731, }, [22907] = { ["npcID"] = 24696, }, [378029] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Gashtooth", ["npcID"] = 186124, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [339122] = { ["npcID"] = 167525, }, [324323] = { ["npcID"] = 165919, }, [326836] = { ["npcID"] = 162039, }, [172649] = { ["npcID"] = 81432, }, [57780] = { ["npcID"] = 41592, }, [365744] = { ["npcID"] = 184651, }, [326837] = { ["npcID"] = 162040, }, [328885] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 168973, }, [323748] = { ["npcID"] = 158642, }, [345267] = { ["npcID"] = 162937, }, [392366] = { ["source"] = "Awakened Juggernaut", ["event"] = "SPELL_CAST_START", ["npcID"] = 197793, }, [386223] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Stormshield", ["npcID"] = 194896, }, [322743] = { ["npcID"] = 155824, }, [308409] = { ["npcID"] = 154330, }, [335030] = { ["npcID"] = 156331, }, [320696] = { ["npcID"] = 163121, }, [352833] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 175731, ["encounterID"] = 2436, }, [154221] = { ["encounterName"] = "Azzakel, Vanguard of the Legion", ["encounterID"] = 1678, ["npcID"] = 76260, }, [351413] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [115002] = { ["encounterName"] = "Taran Zhu", ["encounterID"] = 1306, ["npcID"] = 56884, }, [322745] = { ["npcID"] = 170205, }, [373939] = { ["encounterName"] = "Decatriarch Wratheye", ["source"] = "Rotburst Totem", ["encounterID"] = 2569, ["event"] = "SPELL_CAST_START", ["npcID"] = 190381, }, [392369] = { ["source"] = "Earth Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 190173, }, [396615] = { ["source"] = "Sunscale Behemoth", ["event"] = "SPELL_CAST_START", ["npcID"] = 193133, }, [243299] = { ["npcID"] = 117776, }, [332985] = { ["npcID"] = 170654, }, [375988] = { ["event"] = "SPELL_CAST_START", ["source"] = "Snowypelt Slyvern", ["npcID"] = 193438, }, [323804] = { ["npcID"] = 163524, }, [319644] = { ["npcID"] = 158254, }, [390323] = { ["npcID"] = 189933, }, [367798] = { ["npcID"] = 181249, }, [202661] = { ["npcID"] = 102583, }, [243300] = { ["npcID"] = 117776, }, [373942] = { ["encounterName"] = "Decatriarch Wratheye", ["source"] = "Decatriarch Wratheye", ["encounterID"] = 2569, ["event"] = "SPELL_CAST_START", ["npcID"] = 186121, }, [153006] = { ["encounterName"] = "Vigilant Kaathar", ["encounterID"] = 1686, ["npcID"] = 75839, }, [357281] = { ["npcID"] = 180432, }, [330940] = { ["npcID"] = 168244, }, [116027] = { ["encounterName"] = "Hoptallus", ["encounterID"] = 1413, ["npcID"] = 59464, }, [302272] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150190, ["encounterID"] = 2291, }, [102241] = { ["encounterName"] = "Echo of Tyrande", ["npcID"] = 54544, ["encounterID"] = 1884, }, [84799] = { ["encounterName"] = "Lockmaw", ["npcID"] = 45379, ["encounterID"] = 1054, }, [337064] = { ["npcID"] = 170301, }, [357087] = { ["npcID"] = 178731, }, [300547] = { ["npcID"] = 150142, }, [141427] = { ["npcID"] = 183257, }, [367079] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [326847] = { ["npcID"] = 167876, }, [394423] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rohzor Forgesmash", ["npcID"] = 187598, }, [334534] = { ["npcID"] = 171805, }, [203371] = { ["npcID"] = 102886, }, [326848] = { ["npcID"] = 165398, }, [196345] = { ["npcID"] = 98003, }, [95826] = { ["npcID"] = 172997, }, [373947] = { ["source"] = "Skaara", ["event"] = "SPELL_CAST_START", ["npcID"] = 192949, }, [365895] = { ["npcID"] = 183412, }, [322892] = { ["npcID"] = 157054, }, [330631] = { ["npcID"] = 180013, }, [394426] = { ["event"] = "SPELL_CAST_START", ["source"] = "Council Flamecaller", ["npcID"] = 198503, }, [332335] = { ["npcID"] = 170488, }, [205420] = { ["encounterName"] = "Krosus", ["encounterID"] = 1842, ["npcID"] = 101002, }, [388283] = { ["encounterName"] = "Granyth", ["source"] = "Granyth", ["npcID"] = 186616, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2637, }, [317643] = { ["npcID"] = 163255, }, [326851] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 167406, }, [44196] = { ["encounterName"] = "Kael'thas Sunstrider", ["encounterID"] = 1894, ["npcID"] = 24674, }, [396475] = { ["event"] = "SPELL_CAST_START", ["source"] = "Apex Proto-Dragon", ["npcID"] = 191705, }, [227736] = { ["encounterName"] = "Moroes", ["npcID"] = 114312, ["encounterID"] = 1961, }, [367807] = { ["source"] = "Worldbreaker Escapee", ["event"] = "SPELL_CAST_START", ["npcID"] = 185626, }, [32363] = { ["encounterName"] = "Nexus-Prince Shaffar", ["encounterID"] = 1899, ["npcID"] = 18344, }, [363712] = { ["npcID"] = 184010, }, [59179] = { ["npcID"] = 28965, }, [364330] = { ["npcID"] = 184737, }, [332239] = { ["npcID"] = 170418, }, [40248] = { ["npcID"] = 17670, }, [382143] = { ["source"] = "Reclaimer Makko", ["event"] = "SPELL_CAST_START", ["npcID"] = 191536, }, [212423] = { ["npcID"] = 99541, }, [394430] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primordial Wrath", ["npcID"] = 190579, }, [322759] = { ["encounterName"] = "Hakkar, the Soulflayer", ["npcID"] = 164558, ["encounterID"] = 2395, }, [111752] = { ["encounterName"] = "Instructor Chillheart", ["encounterID"] = 1426, ["npcID"] = 58823, }, [57047] = { ["npcID"] = 26737, }, [206219] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [361630] = { ["encounterName"] = "Dausegne, the Fallen Oracle", ["npcID"] = 181224, ["encounterID"] = 2540, }, [354242] = { ["npcID"] = 179434, }, [335047] = { ["npcID"] = 166721, }, [115006] = { ["npcID"] = 66917, }, [355525] = { ["encounterName"] = "Painsmith Raznal", ["encounterID"] = 2430, ["npcID"] = 176523, }, [143497] = { ["encounterName"] = "Fallen Protectors", ["npcID"] = 71480, ["encounterID"] = 1598, }, [384194] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Cinderweaver", ["npcID"] = 190207, }, [302274] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150295, ["encounterID"] = 2291, }, [330953] = { ["npcID"] = 166649, }, [46164] = { ["encounterName"] = "Kael'thas Sunstrider", ["encounterID"] = 1894, ["npcID"] = 24664, }, [348313] = { ["encounterName"] = "The Tarragrue", ["encounterID"] = 2423, ["npcID"] = 175611, }, [205486] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 103758, }, [152183] = { ["npcID"] = 75406, }, [333002] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 165763, }, [320716] = { ["npcID"] = 177210, }, [80195] = { ["npcID"] = 42692, }, [360229] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 181399, }, [330919] = { ["npcID"] = 169912, }, [329322] = { ["npcID"] = 155831, }, [394436] = { ["source"] = "Shas'ith", ["event"] = "SPELL_CAST_START", ["npcID"] = 189822, }, [332612] = { ["npcID"] = 170572, }, [336601] = { ["npcID"] = 165976, }, [76686] = { ["npcID"] = 40019, }, [123649] = { ["npcID"] = 61947, }, [224560] = { ["npcID"] = 112803, }, [236142] = { ["encounterName"] = "The Desolate Host", ["npcID"] = 118460, ["encounterID"] = 2054, }, [373960] = { ["encounterName"] = "Decatriarch Wratheye", ["source"] = "Decatriarch Wratheye", ["encounterID"] = 2569, ["event"] = "SPELL_CAST_START", ["npcID"] = 186121, }, [369865] = { ["event"] = "SPELL_CAST_START", ["source"] = "Dragonhunter Igordan", ["npcID"] = 191611, }, [322767] = { ["npcID"] = 164921, }, [394439] = { ["source"] = "Acequian", ["event"] = "SPELL_CAST_START", ["npcID"] = 187617, }, [359743] = { ["npcID"] = 183249, }, [345293] = { ["npcID"] = 170527, }, [223914] = { ["npcID"] = 111860, }, [394440] = { ["event"] = "SPELL_CAST_START", ["source"] = "Eaglemaster Niraak", ["npcID"] = 192020, }, [362976] = { ["npcID"] = 185944, }, [361676] = { ["encounterName"] = "Halondrus the Reclaimer", ["encounterID"] = 2529, ["npcID"] = 180906, }, [329569] = { ["npcID"] = 158160, }, [341199] = { ["npcID"] = 174093, }, [359629] = { ["npcID"] = 181359, }, [209495] = { ["npcID"] = 104270, }, [355646] = { ["npcID"] = 178191, }, [211571] = { ["encounterName"] = "Tichondrius", ["encounterID"] = 1862, ["npcID"] = 113012, }, [392394] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamegullet", ["npcID"] = 197697, }, [341200] = { ["npcID"] = 174100, }, [320571] = { ["npcID"] = 163128, }, [228567] = { ["npcID"] = 114794, }, [392395] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thunderhead", ["npcID"] = 197698, }, [394443] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primordial Wrath", ["npcID"] = 190579, }, [396600] = { ["source"] = "Gorger", ["event"] = "SPELL_CAST_START", ["npcID"] = 192759, }, [333011] = { ["npcID"] = 168562, }, [335059] = { ["npcID"] = 171696, }, [136986] = { ["npcID"] = 69388, }, [328288] = { ["npcID"] = 168718, }, [330965] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166971, ["encounterID"] = 2412, }, [200637] = { ["encounterName"] = "Dargrul the Underking", ["npcID"] = 91007, ["encounterID"] = 1793, }, [320726] = { ["npcID"] = 166670, }, [388302] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Dathea, Ascended", ["npcID"] = 189813, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [357586] = { ["npcID"] = 178653, }, [392398] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Thundercloud", ["npcID"] = 197509, }, [340746] = { ["npcID"] = 167848, }, [371921] = { ["npcID"] = 176865, }, [195473] = { ["npcID"] = 91786, }, [294107] = { ["npcID"] = 150254, }, [337110] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166969, ["encounterID"] = 2412, }, [355540] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [119684] = { ["encounterName"] = "Xin the Weaponmaster", ["encounterID"] = 1441, ["npcID"] = 61398, }, [338858] = { ["npcID"] = 167526, }, [115010] = { ["encounterName"] = "Taran Zhu", ["encounterID"] = 1306, ["npcID"] = 59804, }, [330968] = { ["npcID"] = 174842, }, [34359] = { ["npcID"] = 19486, }, [330969] = { ["npcID"] = 177437, }, [276754] = { ["npcID"] = 156245, }, [355542] = { ["npcID"] = 177917, }, [341208] = { ["npcID"] = 166317, }, [331069] = { ["npcID"] = 179615, }, [34984] = { ["npcID"] = 21128, }, [330970] = { ["npcID"] = 177437, }, [349934] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176555, }, [224510] = { ["npcID"] = 112671, }, [227365] = { ["encounterName"] = "Attumen the Huntsman", ["npcID"] = 114264, ["encounterID"] = 1960, }, [322780] = { ["npcID"] = 156560, }, [357082] = { ["npcID"] = 178733, }, [317792] = { ["npcID"] = 163366, }, [392724] = { ["event"] = "SPELL_CAST_START", ["source"] = "Jadzigeth", ["npcID"] = 188447, }, [201959] = { ["npcID"] = 113536, }, [355640] = { ["npcID"] = 179840, }, [366406] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 184908, ["encounterID"] = 2397, }, [320734] = { ["npcID"] = 166670, }, [388310] = { ["source"] = "Custodial Protector", ["event"] = "SPELL_CAST_START", ["npcID"] = 192694, }, [328462] = { ["npcID"] = 168845, }, [392406] = { ["event"] = "SPELL_CAST_START", ["source"] = "Storm Warrior", ["npcID"] = 197982, }, [147650] = { ["npcID"] = 172071, }, [81008] = { ["npcID"] = 42810, }, [353603] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 175730, ["encounterID"] = 2431, }, [112084] = { ["encounterName"] = "Lorewalker Stonestep", ["encounterID"] = 1417, ["npcID"] = 58826, }, [198073] = { ["encounterName"] = "Smashspite the Hateful", ["npcID"] = 98949, ["encounterID"] = 1834, }, [396503] = { ["event"] = "SPELL_CAST_START", ["source"] = "Loamas", ["npcID"] = 199030, }, [89415] = { ["npcID"] = 57783, }, [241828] = { ["npcID"] = 114804, }, [13878] = { ["npcID"] = 45569, }, [82760] = { ["npcID"] = 44982, }, [390361] = { ["npcID"] = 190070, }, [154055] = { ["encounterName"] = "High Sage Viryx", ["encounterID"] = 1701, ["npcID"] = 76292, }, [297166] = { ["npcID"] = 152875, }, [227463] = { ["encounterName"] = "Moroes", ["npcID"] = 114320, ["encounterID"] = 1961, }, [329162] = { ["npcID"] = 165834, }, [77626] = { ["npcID"] = 41467, }, [374066] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Geomancer", ["npcID"] = 190345, }, [330978] = { ["encounterName"] = "The Council of Blood", ["npcID"] = 166971, ["encounterID"] = 2412, }, [235317] = { ["npcID"] = 116409, }, [353588] = { ["npcID"] = 177917, }, [199915] = { ["encounterName"] = "Inquisitor Tormentorum", ["npcID"] = 99651, ["encounterID"] = 1850, }, [388316] = { ["source"] = "Oppressive Artificer", ["event"] = "SPELL_CAST_START", ["npcID"] = 184444, }, [154527] = { ["npcID"] = 77812, }, [299502] = { ["npcID"] = 155094, }, [172673] = { ["npcID"] = 119841, }, [320823] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164555, ["encounterID"] = 2394, }, [334266] = { ["encounterName"] = "Hungering Destroyer", ["npcID"] = 164261, ["encounterID"] = 2383, }, [333975] = { ["npcID"] = 166975, }, [345315] = { ["npcID"] = 162849, }, [69564] = { ["npcID"] = 36620, }, [68939] = { ["encounterName"] = "Devourer of Souls", ["npcID"] = 36502, ["encounterID"] = 2007, }, [351459] = { ["npcID"] = 176572, }, [227461] = { ["encounterName"] = "Opera Hall", ["npcID"] = 114324, ["encounterID"] = 1957, }, [34639] = { ["npcID"] = 19509, }, [173514] = { ["npcID"] = 83389, }, [372028] = { ["npcID"] = 185828, }, [193152] = { ["encounterName"] = "King Deepbeard", ["npcID"] = 91797, ["encounterID"] = 1812, }, [11538] = { ["event"] = "SPELL_CAST_START", ["source"] = "Marius Sunshard", ["npcID"] = 113542, }, [391999] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Scavenger", ["npcID"] = 185445, }, [352589] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 176583, ["encounterID"] = 2436, }, [106823] = { ["encounterName"] = "Liu Flameheart", ["source"] = "Liu Flameheart", ["npcID"] = 56732, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1416, }, [332272] = { ["npcID"] = 180028, }, [228526] = { ["npcID"] = 183423, }, [322470] = { ["npcID"] = 157054, }, [70043] = { ["encounterName"] = "Bronjahm", ["npcID"] = 36497, ["encounterID"] = 2006, }, [219049] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109041, }, [342317] = { ["npcID"] = 180085, }, [388817] = { ["encounterName"] = "Granyth", ["source"] = "Granyth", ["npcID"] = 186616, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2637, }, [394466] = { ["source"] = "Primordial Hail", ["event"] = "SPELL_CAST_START", ["npcID"] = 189039, }, [338406] = { ["encounterName"] = "Horridon", ["npcID"] = 173051, }, [365798] = { ["npcID"] = 183439, }, [357286] = { ["npcID"] = 180392, }, [345321] = { ["npcID"] = 162849, }, [153395] = { ["npcID"] = 76057, }, [351044] = { ["npcID"] = 177797, }, [76508] = { ["npcID"] = 39982, }, [337131] = { ["npcID"] = 162872, }, [339179] = { ["npcID"] = 166393, }, [345772] = { ["npcID"] = 175579, }, [196787] = { ["npcID"] = 99956, }, [228991] = { ["encounterName"] = "Shade of Medivh", ["npcID"] = 114675, ["encounterID"] = 1965, }, [342350] = { ["npcID"] = 174346, }, [349419] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [343276] = { ["npcID"] = 173178, }, [394470] = { ["source"] = "Ko'jo", ["event"] = "SPELL_CAST_START", ["npcID"] = 186367, }, [336910] = { ["npcID"] = 162872, }, [319831] = { ["npcID"] = 167433, }, [384296] = { ["source"] = "Ayanga", ["event"] = "SPELL_CAST_START", ["npcID"] = 192961, }, [385024] = { ["event"] = "SPELL_CAST_START", ["source"] = "Salty Salamander", ["npcID"] = 188027, }, [53333] = { ["npcID"] = 29064, }, [183111] = { ["npcID"] = 165793, }, [367851] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [172679] = { ["npcID"] = 80685, }, [396520] = { ["event"] = "SPELL_CAST_START", ["source"] = "Rumbling Proto-Dragon", ["npcID"] = 187212, }, [118903] = { ["npcID"] = 61216, }, [360538] = { ["npcID"] = 182120, }, [386801] = { ["event"] = "SPELL_CAST_START", ["source"] = "Grounded Primalist", ["npcID"] = 187204, }, [322802] = { ["npcID"] = 160143, }, [365805] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [369901] = { ["event"] = "SPELL_CAST_START", ["source"] = "Smoldering Feather", ["npcID"] = 186965, }, [345328] = { ["npcID"] = 173086, }, [274792] = { ["npcID"] = 140149, }, [347073] = { ["npcID"] = 177187, }, [241280] = { ["npcID"] = 119742, }, [44202] = { ["encounterName"] = "Kael'thas Sunstrider", ["encounterID"] = 1894, ["npcID"] = 24674, }, [388332] = { ["source"] = "Kalecgos", ["event"] = "SPELL_CAST_START", ["npcID"] = 196439, }, [39121] = { ["npcID"] = 18419, }, [39128] = { ["npcID"] = 19486, }, [207642] = { ["npcID"] = 178409, }, [82765] = { ["npcID"] = 44982, }, [366336] = { ["npcID"] = 183927, }, [328773] = { ["npcID"] = 168644, }, [209568] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 105301, }, [344411] = { ["npcID"] = 154330, }, [106612] = { ["encounterName"] = "Wise Mari", ["encounterID"] = 1418, ["npcID"] = 56448, }, [324368] = { ["encounterName"] = "Kin-Tara", ["npcID"] = 163077, ["encounterID"] = 2357, }, [352520] = { ["npcID"] = 178601, }, [355571] = { ["encounterName"] = "Painsmith Raznal", ["encounterID"] = 2430, ["npcID"] = 176523, }, [204448] = { ["encounterName"] = "Skorpyron", ["encounterID"] = 1849, ["npcID"] = 102263, }, [376049] = { ["encounterName"] = "Chrono-Lord Deios", ["npcID"] = 184125, ["encounterID"] = 2559, }, [394479] = { ["source"] = "Primordial Hail", ["event"] = "SPELL_CAST_START", ["npcID"] = 189039, }, [153905] = { ["npcID"] = 77605, }, [357620] = { ["npcID"] = 177422, }, [359668] = { ["npcID"] = 180051, }, [156301] = { ["npcID"] = 80935, }, [320293] = { ["encounterName"] = "An Affront of Challengers", ["npcID"] = 164461, ["encounterID"] = 2391, }, [357144] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 180323, ["encounterID"] = 2431, }, [343287] = { ["npcID"] = 173633, }, [362849] = { ["encounterName"] = "Artificer Xy'mox", ["npcID"] = 183501, ["encounterID"] = 2553, }, [371956] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Terrasentry", ["npcID"] = 188011, }, [340642] = { ["npcID"] = 172078, }, [334162] = { ["npcID"] = 166908, }, [296190] = { ["npcID"] = 185120, }, [215443] = { ["encounterName"] = "Elerethe Renferal", ["npcID"] = 106087, ["encounterID"] = 1876, }, [335143] = { ["npcID"] = 165222, }, [169613] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 83846, }, [173384] = { ["npcID"] = 83392, }, [388340] = { ["source"] = "Kalecgos", ["event"] = "SPELL_CAST_START", ["npcID"] = 196439, }, [377500] = { ["npcID"] = 184335, }, [61353] = { ["npcID"] = 96779, }, [15254] = { ["encounterName"] = "Nexus-Prince Shaffar", ["encounterID"] = 1899, ["npcID"] = 18431, }, [355577] = { ["npcID"] = 178171, }, [212735] = { ["encounterName"] = "Spellblade Aluriel", ["encounterID"] = 1871, ["npcID"] = 104881, }, [326909] = { ["npcID"] = 165398, }, [394485] = { ["source"] = "Hypoxicron", ["event"] = "SPELL_CAST_START", ["npcID"] = 186334, }, [388383] = { ["event"] = "SPELL_CAST_START", ["source"] = "Iskaara Defender", ["npcID"] = 186431, }, [357626] = { ["npcID"] = 177443, }, [218415] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["npcID"] = 105906, ["encounterID"] = 1873, }, [46279] = { ["npcID"] = 25597, }, [167119] = { ["npcID"] = 173114, }, [166543] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 82721, }, [330037] = { ["npcID"] = 168361, }, [394487] = { ["source"] = "Death's Shadow", ["event"] = "SPELL_CAST_START", ["npcID"] = 190985, }, [322486] = { ["npcID"] = 164929, }, [241305] = { ["npcID"] = 117154, }, [111600] = { ["encounterName"] = "Raigonn", ["encounterID"] = 1419, ["npcID"] = 56930, }, [331044] = { ["npcID"] = 169050, }, [323137] = { ["encounterName"] = "Ingra Maloch", ["npcID"] = 164804, ["encounterID"] = 2397, }, [228625] = { ["npcID"] = 114796, }, [345242] = { ["npcID"] = 165124, }, [331574] = { ["npcID"] = 170217, }, [322818] = { ["encounterName"] = "Devos, Paragon of Loyalty", ["npcID"] = 162061, ["encounterID"] = 2359, }, [153234] = { ["encounterName"] = "Azzakel, Vanguard of the Legion", ["encounterID"] = 1678, ["npcID"] = 75927, }, [188046] = { ["npcID"] = 198489, }, [320771] = { ["encounterName"] = "Nalthor the Rimebinder", ["encounterID"] = 2390, ["npcID"] = 162693, }, [371965] = { ["npcID"] = 185828, }, [13322] = { ["npcID"] = 474, }, [339706] = { ["encounterName"] = "Mordretha", ["npcID"] = 173549, ["encounterID"] = 2404, }, [320772] = { ["encounterName"] = "Nalthor the Rimebinder", ["encounterID"] = 2390, ["npcID"] = 162693, }, [355584] = { ["npcID"] = 178171, }, [79479] = { ["npcID"] = 41569, }, [229558] = { ["npcID"] = 115402, }, [288548] = { ["npcID"] = 148797, }, [157331] = { ["npcID"] = 77942, }, [300296] = { ["npcID"] = 150143, }, [206744] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [394493] = { ["source"] = "Ko'jo", ["event"] = "SPELL_CAST_START", ["npcID"] = 186367, }, [41448] = { ["npcID"] = 177637, }, [365825] = { ["npcID"] = 181884, }, [336567] = { ["npcID"] = 165976, }, [369921] = { ["source"] = "Blazing Firesquall", ["event"] = "SPELL_CAST_START", ["npcID"] = 195448, }, [358773] = { ["npcID"] = 179891, }, [328094] = { ["npcID"] = 168627, }, [241290] = { ["npcID"] = 121011, }, [250505] = { ["event"] = "SPELL_CAST_START", ["source"] = "Forgotten Gryphon", ["npcID"] = 193154, }, [355613] = { ["npcID"] = 178958, }, [359547] = { ["npcID"] = 182353, }, [343302] = { ["npcID"] = 173446, }, [353769] = { ["npcID"] = 179135, }, [363780] = { ["npcID"] = 184043, }, [365851] = { ["npcID"] = 183404, }, [392449] = { ["source"] = "Earth Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 190173, }, [3110] = { ["npcID"] = 58959, }, [159382] = { ["encounterName"] = "Rukhran", ["encounterID"] = 1700, ["npcID"] = 76143, }, [374020] = { ["event"] = "SPELL_CAST_START", ["source"] = "Containment Apparatus", ["npcID"] = 190342, }, [392451] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flame Channeler", ["npcID"] = 197985, }, [369925] = { ["source"] = "Transformed Dreadsquall", ["event"] = "SPELL_CAST_START", ["npcID"] = 197225, }, [357659] = { ["npcID"] = 178878, }, [357639] = { ["npcID"] = 177443, }, [335114] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165066, ["encounterID"] = 2418, }, [345353] = { ["npcID"] = 172862, }, [364426] = { ["npcID"] = 180088, }, [365831] = { ["npcID"] = 182357, }, [359688] = { ["npcID"] = 181625, }, [374022] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 184986, }, [17194] = { ["npcID"] = 19633, }, [369365] = { ["npcID"] = 184132, }, [373201] = { ["event"] = "SPELL_CAST_START", ["source"] = "Windyfin Skybasher", ["npcID"] = 187431, }, [160680] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 79548, }, [371976] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [178837] = { ["npcID"] = 79510, }, [325119] = { ["npcID"] = 157212, }, [378120] = { ["source"] = "Unstable Rock", ["event"] = "SPELL_CAST_START", ["npcID"] = 192799, }, [347404] = { ["npcID"] = 177291, }, [340749] = { ["npcID"] = 167548, }, [376073] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Broodkeeper Diurna", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 190245, }, [340375] = { ["npcID"] = 168148, }, [343322] = { ["npcID"] = 168337, }, [316689] = { ["npcID"] = 162682, }, [335119] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165066, ["encounterID"] = 2418, }, [365847] = { ["npcID"] = 183229, }, [396552] = { ["event"] = "SPELL_CAST_START", ["source"] = "Magmas", ["npcID"] = 199027, }, [365835] = { ["npcID"] = 183407, }, [294165] = { ["npcID"] = 178190, }, [337178] = { ["npcID"] = 170838, }, [347814] = { ["npcID"] = 176396, }, [68950] = { ["encounterName"] = "Bronjahm", ["npcID"] = 36497, ["encounterID"] = 2006, }, [358585] = { ["npcID"] = 176669, }, [320787] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164556, ["encounterID"] = 2394, }, [331026] = { ["npcID"] = 160185, }, [320999] = { ["npcID"] = 164852, }, [227981] = { ["npcID"] = 114541, }, [320788] = { ["encounterName"] = "Nalthor the Rimebinder", ["encounterID"] = 2390, ["npcID"] = 162693, }, [343320] = { ["npcID"] = 173444, }, [240273] = { ["npcID"] = 120477, }, [218774] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109038, }, [328980] = { ["npcID"] = 157464, }, [371983] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [37551] = { ["npcID"] = 16704, }, [341796] = { ["npcID"] = 165066, }, [356812] = { ["npcID"] = 180286, }, [371984] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flashfrost Chillweaver", ["npcID"] = 188067, }, [317661] = { ["npcID"] = 163503, }, [102227] = { ["event"] = "SPELL_CAST_START", ["source"] = "Enemy Tonk", ["npcID"] = 54642, }, [205462] = { ["npcID"] = 166137, }, [347414] = { ["encounterName"] = "So'azmi", ["encounterID"] = 2437, ["npcID"] = 175806, }, [337175] = { ["npcID"] = 172408, }, [294171] = { ["npcID"] = 150959, }, [339222] = { ["npcID"] = 158259, }, [396559] = { ["source"] = "Raszageth", ["event"] = "SPELL_CAST_START", ["npcID"] = 199031, }, [350541] = { ["encounterName"] = "The Nine", ["encounterID"] = 2429, ["npcID"] = 175726, }, [212630] = { ["encounterName"] = "Cenarius", ["npcID"] = 106482, ["encounterID"] = 1877, }, [394512] = { ["source"] = "Void Spawn", ["event"] = "SPELL_CAST_START", ["npcID"] = 75652, }, [339223] = { ["npcID"] = 158259, }, [343316] = { ["npcID"] = 173446, }, [46150] = { ["npcID"] = 24696, }, [324987] = { ["npcID"] = 166301, }, [363797] = { ["npcID"] = 184043, }, [366187] = { ["npcID"] = 183499, }, [335129] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165066, ["encounterID"] = 2418, }, [328986] = { ["npcID"] = 169159, }, [116] = { ["npcID"] = 188027, }, [256658] = { ["npcID"] = 166029, }, [107120] = { ["encounterName"] = "Commander Ri'mok", ["encounterID"] = 1406, ["npcID"] = 56636, }, [369942] = { ["event"] = "SPELL_CAST_START", ["source"] = "Blazing Dreadsquall", ["npcID"] = 191509, }, [153247] = { ["encounterName"] = "Roltall", ["encounterID"] = 1652, ["npcID"] = 75786, }, [374038] = { ["encounterName"] = "The Primal Council", ["source"] = "Embar Firepath", ["npcID"] = 187767, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [359704] = { ["npcID"] = 181626, }, [317284] = { ["npcID"] = 162880, }, [369423] = { ["npcID"] = 184303, }, [228528] = { ["npcID"] = 183423, }, [322491] = { ["encounterName"] = "Stradama Margrave", ["npcID"] = 164267, ["encounterID"] = 2386, }, [271652] = { ["npcID"] = 176434, }, [369400] = { ["npcID"] = 184132, }, [390422] = { ["npcID"] = 189933, }, [44503] = { ["encounterName"] = "Selin Fireheart", ["encounterID"] = 1897, ["npcID"] = 24690, }, [369050] = { ["source"] = "Nokhud Storm Adept", ["event"] = "SPELL_CAST_START", ["npcID"] = 187149, }, [113999] = { ["encounterName"] = "Rattlegore", ["encounterID"] = 1428, ["npcID"] = 59153, }, [365850] = { ["npcID"] = 181652, }, [343325] = { ["npcID"] = 173445, }, [369946] = { ["event"] = "SPELL_CAST_START", ["source"] = "Dragonhunter Igordan", ["npcID"] = 191611, }, [283422] = { ["encounterName"] = "Tussle Tonks", ["npcID"] = 145185, ["encounterID"] = 2257, }, [382233] = { ["event"] = "SPELL_CAST_START", ["source"] = "Batak", ["npcID"] = 193462, }, [294180] = { ["npcID"] = 151773, }, [172703] = { ["npcID"] = 83763, }, [388377] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ravenous Dreadsquall", ["npcID"] = 191831, }, [353540] = { ["npcID"] = 179152, }, [121165] = { ["encounterName"] = "Gekkan", ["npcID"] = 61392, }, [357108] = { ["npcID"] = 177144, }, [154216] = { ["npcID"] = 76094, }, [271628] = { ["npcID"] = 176434, }, [344471] = { ["npcID"] = 170634, }, [172704] = { ["npcID"] = 80698, }, [354801] = { ["npcID"] = 179580, }, [374045] = { ["event"] = "SPELL_CAST_START", ["source"] = "Containment Apparatus", ["npcID"] = 190342, }, [192158] = { ["encounterName"] = "Hyrja", ["source"] = "Olmyr the Enlightened", ["npcID"] = 97202, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1806, }, [320804] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164561, ["encounterID"] = 2394, }, [361233] = { ["npcID"] = 182158, }, [339260] = { ["npcID"] = 158259, }, [303952] = { ["npcID"] = 155910, }, [320805] = { ["npcID"] = 156561, }, [30937] = { ["npcID"] = 17653, }, [285388] = { ["encounterName"] = "Tussle Tonks", ["npcID"] = 145185, ["encounterID"] = 2257, }, [75610] = { ["npcID"] = 39679, }, [378143] = { ["event"] = "SPELL_CAST_START", ["source"] = "Earthshatter Primalist", ["npcID"] = 187173, }, [331045] = { ["npcID"] = 169050, }, [150324] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74570, }, [335141] = { ["npcID"] = 165824, }, [169179] = { ["encounterName"] = "Yalnu", ["encounterID"] = 1756, ["npcID"] = 83846, }, [157348] = { ["npcID"] = 77942, }, [120149] = { ["source"] = "Mirror Image", ["event"] = "SPELL_CAST_START", ["npcID"] = 194853, }, [278935] = { ["npcID"] = 169629, }, [210931] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["npcID"] = 105906, ["encounterID"] = 1873, }, [385434] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Teera", ["npcID"] = 186339, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [356817] = { ["npcID"] = 178578, }, [326952] = { ["npcID"] = 168058, }, [353573] = { ["npcID"] = 179136, }, [331048] = { ["npcID"] = 168475, }, [334942] = { ["encounterName"] = "Huntsman Altimor", ["npcID"] = 165067, ["encounterID"] = 2418, }, [340807] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [111775] = { ["npcID"] = 58722, }, [388335] = { ["source"] = "Arcane Manipulator Tharohn", ["event"] = "SPELL_CAST_START", ["npcID"] = 188171, }, [357670] = { ["npcID"] = 178859, }, [384291] = { ["source"] = "Ayanga", ["event"] = "SPELL_CAST_START", ["npcID"] = 192961, }, [394530] = { ["source"] = "Acequian", ["event"] = "SPELL_CAST_START", ["npcID"] = 187617, }, [218954] = { ["npcID"] = 165094, }, [166565] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 79548, }, [167589] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 79548, }, [121174] = { ["encounterName"] = "Gekkan", ["npcID"] = 61392, }, [356123] = { ["npcID"] = 177395, }, [391903] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ruby Egg Guardian", ["npcID"] = 190171, }, [73564] = { ["encounterName"] = "Siamat", ["npcID"] = 44819, ["encounterID"] = 1055, }, [378150] = { ["npcID"] = 191376, }, [214688] = { ["npcID"] = 107435, }, [324909] = { ["npcID"] = 164926, }, [366938] = { ["npcID"] = 185032, }, [315802] = { ["npcID"] = 150959, }, [394464] = { ["event"] = "SPELL_CAST_START", ["source"] = "Piercer Gigra", ["npcID"] = 186511, }, [227999] = { ["npcID"] = 114542, }, [392486] = { ["event"] = "SPELL_CAST_START", ["source"] = "Tempest Channeler", ["npcID"] = 198047, }, [118940] = { ["npcID"] = 61239, }, [255644] = { ["npcID"] = 145005, }, [368528] = { ["npcID"] = 183764, }, [294195] = { ["npcID"] = 151649, }, [342496] = { ["npcID"] = 168961, }, [388392] = { ["source"] = "Unruly Textbook", ["event"] = "SPELL_CAST_START", ["npcID"] = 196044, }, [382249] = { ["event"] = "SPELL_CAST_START", ["source"] = "Trickclaw Mystic", ["npcID"] = 185528, }, [327891] = { ["encounterName"] = "Mueh'zala", ["npcID"] = 169506, ["encounterID"] = 2396, }, [106841] = { ["encounterName"] = "Liu Flameheart", ["source"] = "Liu Flameheart", ["npcID"] = 56732, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1416, }, [214690] = { ["npcID"] = 107435, }, [328940] = { ["npcID"] = 165336, }, [239781] = { ["npcID"] = 120194, }, [378155] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Tricktotem", ["npcID"] = 186125, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [102573] = { ["encounterName"] = "Gu Cloudstrike", ["encounterID"] = 1303, ["npcID"] = 56754, }, [324914] = { ["npcID"] = 166299, }, [153764] = { ["encounterName"] = "Azzakel, Vanguard of the Legion", ["encounterID"] = 1678, ["npcID"] = 75927, }, [167095] = { ["npcID"] = 83390, }, [300129] = { ["npcID"] = 152009, }, [365870] = { ["npcID"] = 183404, }, [106428] = { ["npcID"] = 56395, }, [358725] = { ["npcID"] = 180232, }, [285440] = { ["encounterName"] = "Machinist's Garden", ["npcID"] = 144248, ["encounterID"] = 2259, }, [365871] = { ["npcID"] = 184604, }, [318773] = { ["npcID"] = 167834, }, [230050] = { ["npcID"] = 115765, }, [394903] = { ["event"] = "SPELL_CAST_START", ["source"] = "Lookout Mordren", ["npcID"] = 193668, }, [365872] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [327016] = { ["npcID"] = 159156, }, [320822] = { ["npcID"] = 165222, }, [384223] = { ["encounterName"] = "Azureblade", ["source"] = "Azureblade", ["encounterID"] = 2585, ["event"] = "SPELL_CAST_START", ["npcID"] = 186739, }, [11985] = { ["npcID"] = 46914, }, [346506] = { ["npcID"] = 171581, }, [172714] = { ["npcID"] = 80696, }, [39347] = { ["npcID"] = 19507, }, [229151] = { ["encounterName"] = "Viz'aduum the Watcher", ["npcID"] = 114790, ["encounterID"] = 2017, }, [162105] = { ["npcID"] = 88509, }, [345397] = { ["encounterName"] = "Shriekwing", ["npcID"] = 164406, ["encounterID"] = 2398, }, [228277] = { ["npcID"] = 114634, }, [357684] = { ["npcID"] = 178855, }, [358624] = { ["npcID"] = 178997, }, [320825] = { ["encounterName"] = "The Manastorms", ["npcID"] = 164568, ["encounterID"] = 2394, }, [355637] = { ["npcID"] = 179840, }, [365876] = { ["npcID"] = 184002, }, [359733] = { ["npcID"] = 182272, }, [206459] = { ["encounterName"] = "Cordana Felsong", ["npcID"] = 104293, ["encounterID"] = 1818, }, [331065] = { ["npcID"] = 159192, }, [356853] = { ["npcID"] = 178577, }, [359734] = { ["npcID"] = 185755, }, [336451] = { ["npcID"] = 163862, }, [331066] = { ["npcID"] = 168475, }, [324923] = { ["npcID"] = 164926, }, [302279] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150295, ["encounterID"] = 2291, }, [337210] = { ["npcID"] = 172408, }, [136881] = { ["npcID"] = 69455, }, [206221] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 104154, }, [188587] = { ["npcID"] = 102253, }, [45235] = { ["encounterName"] = "Eredar Twins", ["npcID"] = 25166, ["encounterID"] = 727, }, [355641] = { ["npcID"] = 179841, }, [349498] = { ["encounterName"] = "The Grand Menagerie", ["encounterID"] = 2441, ["npcID"] = 176556, }, [397112] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ancient Proto-Dragon", ["npcID"] = 189798, }, [341742] = { ["npcID"] = 174336, }, [355642] = { ["npcID"] = 179841, }, [341308] = { ["encounterName"] = "Sun King's Salvation", ["npcID"] = 165764, ["encounterID"] = 2402, }, [320729] = { ["encounterName"] = "Xav the Unfallen", ["npcID"] = 162329, ["encounterID"] = 2366, }, [221864] = { ["encounterName"] = "Grand Magistrix Elisande", ["encounterID"] = 1872, ["npcID"] = 105299, }, [300650] = { ["npcID"] = 150169, }, [374073] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Geomancer", ["npcID"] = 190345, }, [330958] = { ["npcID"] = 177418, }, [198263] = { ["encounterName"] = "Odyn", ["source"] = "Odyn", ["npcID"] = 95676, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1809, }, [59169] = { ["npcID"] = 28547, }, [365883] = { ["npcID"] = 181045, }, [332181] = { ["npcID"] = 170418, }, [389947] = { ["event"] = "SPELL_CAST_START", ["source"] = "Warmonger Kharad", ["npcID"] = 190932, }, [372027] = { ["encounterName"] = "The Primal Council", ["source"] = "Embar Firepath", ["npcID"] = 187767, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [335694] = { ["npcID"] = 158314, }, [350828] = { ["encounterName"] = "The Eye of the Jailer", ["encounterID"] = 2433, ["npcID"] = 175725, }, [361789] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 183149, ["encounterID"] = 2544, }, [388410] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Dathea, Ascended", ["npcID"] = 189813, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [331479] = { ["npcID"] = 167923, }, [83780] = { ["npcID"] = 44897, }, [293670] = { ["npcID"] = 144299, }, [351912] = { ["npcID"] = 178366, }, [199341] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Trapper", ["npcID"] = 96934, }, [384316] = { ["encounterName"] = "The Raging Tempest", ["source"] = "The Raging Tempest", ["npcID"] = 186615, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2636, }, [329396] = { ["npcID"] = 178287, }, [146327] = { ["npcID"] = 72881, }, [365887] = { ["npcID"] = 184878, }, [328117] = { ["encounterName"] = "Sire Denathrius", ["encounterID"] = 2407, ["npcID"] = 167406, }, [293729] = { ["npcID"] = 144295, }, [341146] = { ["npcID"] = 174194, }, [365888] = { ["npcID"] = 184879, }, [367428] = { ["npcID"] = 184962, }, [320838] = { ["npcID"] = 160356, }, [153268] = { ["npcID"] = 77700, }, [374080] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Ravager", ["npcID"] = 190348, }, [31707] = { ["npcID"] = 78116, }, [394558] = { ["event"] = "SPELL_CAST_START", ["source"] = "Unstable Flame", ["npcID"] = 198577, }, [272272] = { ["npcID"] = 161692, }, [374081] = { ["source"] = "Godoloto", ["event"] = "SPELL_CAST_START", ["npcID"] = 190022, }, [359747] = { ["npcID"] = 181453, }, [79515] = { ["npcID"] = 41609, }, [31516] = { ["npcID"] = 21285, }, [9613] = { ["npcID"] = 116409, }, [169825] = { ["npcID"] = 84990, }, [327054] = { ["npcID"] = 158869, }, [207980] = { ["npcID"] = 104274, }, [393539] = { ["event"] = "SPELL_CAST_START", ["source"] = "Champion Choruk", ["npcID"] = 186592, }, [328880] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 166644, }, [325034] = { ["npcID"] = 178467, }, [326146] = { ["npcID"] = 158630, }, [368085] = { ["npcID"] = 183722, }, [328860] = { ["npcID"] = 165561, }, [34642] = { ["npcID"] = 19507, }, [369853] = { ["npcID"] = 184019, }, [351045] = { ["npcID"] = 177797, }, [210537] = { ["npcID"] = 159104, }, [394563] = { ["source"] = "Death's Shadow", ["event"] = "SPELL_CAST_START", ["npcID"] = 190985, }, [339274] = { ["npcID"] = 173298, }, [382277] = { ["event"] = "SPELL_CAST_START", ["source"] = "Balara", ["npcID"] = 193457, }, [343224] = { ["npcID"] = 172972, }, [337227] = { ["npcID"] = 169102, }, [275560] = { ["npcID"] = 146564, }, [341323] = { ["npcID"] = 173973, }, [224943] = { ["encounterName"] = "Tichondrius", ["encounterID"] = 1862, ["npcID"] = 113012, }, [256099] = { ["npcID"] = 166032, }, [396613] = { ["source"] = "Sunscale Behemoth", ["event"] = "SPELL_CAST_START", ["npcID"] = 193133, }, [390470] = { ["npcID"] = 189933, }, [38838] = { ["npcID"] = 20875, }, [59167] = { ["npcID"] = 28826, }, [341176] = { ["npcID"] = 166317, }, [365898] = { ["npcID"] = 185346, }, [224944] = { ["encounterName"] = "Tichondrius", ["encounterID"] = 1862, ["npcID"] = 113012, }, [112992] = { ["encounterName"] = "Hoptallus", ["encounterID"] = 1413, ["npcID"] = 56717, }, [388424] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primal Tsunami", ["npcID"] = 189729, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2618, }, [390472] = { ["npcID"] = 189933, }, [341143] = { ["npcID"] = 164476, }, [296276] = { ["npcID"] = 154181, }, [173751] = { ["encounterName"] = "Horridon", ["npcID"] = 155216, }, [382303] = { ["encounterName"] = "Bromach", ["npcID"] = 184018, ["encounterID"] = 2556, }, [329437] = { ["npcID"] = 182791, }, [33975] = { ["encounterName"] = "Harbinger Skyriss", ["encounterID"] = 1914, ["npcID"] = 20977, }, [37967] = { ["npcID"] = 17871, }, [365901] = { ["npcID"] = 185346, }, [153896] = { ["encounterName"] = "Rukhran", ["encounterID"] = 1700, ["npcID"] = 76143, }, [172728] = { ["npcID"] = 80697, }, [372045] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Caustic Spiderling", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 189233, }, [35511] = { ["npcID"] = 16704, }, [361644] = { ["encounterName"] = "Dausegne, the Fallen Oracle", ["npcID"] = 181224, ["encounterID"] = 2540, }, [351067] = { ["encounterName"] = "Remnant of Ner'zhul", ["encounterID"] = 2432, ["npcID"] = 175729, }, [169657] = { ["npcID"] = 84767, }, [365903] = { ["npcID"] = 185346, }, [335187] = { ["npcID"] = 179859, }, [221875] = { ["encounterName"] = "Star Augur Etraeus", ["encounterID"] = 1863, ["npcID"] = 103758, }, [372047] = { ["event"] = "SPELL_CAST_START", ["source"] = "Defier Draghar", ["npcID"] = 187897, }, [223923] = { ["npcID"] = 112474, }, [326997] = { ["npcID"] = 167607, }, [294064] = { ["npcID"] = 151658, }, [333938] = { ["npcID"] = 171187, }, [365905] = { ["npcID"] = 184860, }, [102569] = { ["encounterName"] = "Murozond", ["npcID"] = 54432, ["encounterID"] = 1271, }, [345428] = { ["npcID"] = 172410, }, [322903] = { ["encounterName"] = "General Kaal", ["npcID"] = 162099, ["encounterID"] = 2363, }, [39016] = { ["npcID"] = 20885, }, [384336] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Lancemaster", ["npcID"] = 192800, }, [111772] = { ["encounterName"] = "Instructor Chillheart", ["encounterID"] = 1426, ["npcID"] = 58757, }, [196883] = { ["npcID"] = 98521, }, [365907] = { ["npcID"] = 184880, }, [204471] = { ["encounterName"] = "Skorpyron", ["encounterID"] = 1849, ["npcID"] = 102263, }, [106851] = { ["npcID"] = 59519, }, [46036] = { ["npcID"] = 24685, }, [365908] = { ["npcID"] = 184880, }, [324447] = { ["npcID"] = 177211, }, [206641] = { ["encounterName"] = "Trilliax", ["encounterID"] = 1867, ["npcID"] = 104288, }, [218806] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109038, }, [333145] = { ["encounterName"] = "Sun King's Salvation", ["encounterID"] = 2402, ["npcID"] = 167566, }, [392530] = { ["source"] = "Quarry Infuser", ["event"] = "SPELL_CAST_START", ["npcID"] = 197799, }, [86374] = { ["npcID"] = 61252, }, [323640] = { ["npcID"] = 165473, }, [390483] = { ["event"] = "SPELL_CAST_START", ["source"] = "Riverbend Gnasher", ["npcID"] = 190888, }, [355477] = { ["npcID"] = 179842, }, [361815] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [218807] = { ["encounterName"] = "High Botanist Tel'arn", ["encounterID"] = 1886, ["npcID"] = 109040, }, [341715] = { ["npcID"] = 174162, }, [155327] = { ["encounterName"] = "Soulbinder Nyami", ["encounterID"] = 1685, ["npcID"] = 76177, }, [304479] = { ["npcID"] = 156015, }, [322909] = { ["npcID"] = 160143, }, [308575] = { ["npcID"] = 166319, }, [337587] = { ["npcID"] = 162880, }, [357529] = { ["npcID"] = 178653, }, [372056] = { ["encounterName"] = "The Primal Council", ["source"] = "Opalfang", ["npcID"] = 187772, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [51587] = { ["npcID"] = 28410, }, [359770] = { ["encounterName"] = "Skolex, the Insatiable Ravener", ["npcID"] = 181395, ["encounterID"] = 2542, }, [356886] = { ["npcID"] = 180331, }, [355675] = { ["npcID"] = 176705, }, [381519] = { ["source"] = "Tarasek Raider", ["event"] = "SPELL_CAST_START", ["npcID"] = 191047, }, [384344] = { ["event"] = "SPELL_CAST_START", ["source"] = "Humid Drizzle", ["npcID"] = 194068, }, [378003] = { ["source"] = "Guardian Sentry", ["event"] = "SPELL_CAST_START", ["npcID"] = 192680, }, [273766] = { ["npcID"] = 158991, }, [369811] = { ["npcID"] = 184020, }, [368465] = { ["npcID"] = 180746, }, [106853] = { ["encounterName"] = "Master Snowdrift", ["encounterID"] = 1304, ["npcID"] = 56541, }, [273767] = { ["npcID"] = 157003, }, [337021] = { ["npcID"] = 169286, }, [224953] = { ["npcID"] = 163662, }, [320576] = { ["npcID"] = 168886, }, [352390] = { ["npcID"] = 179334, }, [270464] = { ["npcID"] = 134004, }, [225249] = { ["npcID"] = 111528, }, [337249] = { ["encounterName"] = "Tred'ova", ["npcID"] = 164517, ["encounterID"] = 2393, }, [328791] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 164218, ["encounterID"] = 2381, }, [384132] = { ["encounterName"] = "Azureblade", ["source"] = "Azureblade", ["encounterID"] = 2585, ["event"] = "SPELL_CAST_START", ["npcID"] = 186739, }, [367966] = { ["npcID"] = 184901, }, [340073] = { ["npcID"] = 168697, }, [366701] = { ["npcID"] = 185268, }, [320614] = { ["encounterName"] = "Blightbone", ["encounterID"] = 2387, ["npcID"] = 164702, }, [377991] = { ["source"] = "Guardian Sentry", ["event"] = "SPELL_CAST_START", ["npcID"] = 192680, }, [375943] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [331108] = { ["npcID"] = 160048, }, [357729] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 178072, }, [22127] = { ["npcID"] = 19508, }, [224205] = { ["npcID"] = 112638, }, [300171] = { ["npcID"] = 150276, }, [365921] = { ["npcID"] = 183416, }, [46564] = { ["npcID"] = 25371, }, [378208] = { ["encounterName"] = "Hackclaw's War-Band", ["source"] = "Gashtooth", ["npcID"] = 186124, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2570, }, [173762] = { ["encounterName"] = "Horridon", ["npcID"] = 155216, }, [341349] = { ["npcID"] = 173973, }, [339444] = { ["npcID"] = 173276, }, [112998] = { ["npcID"] = 58803, }, [295985] = { ["npcID"] = 151331, }, [162500] = { ["encounterName"] = "Rocketspark and Borka", ["encounterID"] = 1715, ["npcID"] = 77803, }, [384353] = { ["encounterName"] = "Gutshot", ["source"] = "Gutshot", ["npcID"] = 186116, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2567, }, [337255] = { ["encounterName"] = "Tred'ova", ["npcID"] = 164517, ["encounterID"] = 2393, }, [82794] = { ["npcID"] = 44926, }, [150038] = { ["encounterName"] = "Magmolatus", ["encounterID"] = 1655, ["npcID"] = 74475, }, [323438] = { ["npcID"] = 166073, }, [394593] = { ["source"] = "Captain Lancer", ["event"] = "SPELL_CAST_START", ["npcID"] = 193198, }, [208697] = { ["encounterName"] = "Il'gynoth, The Heart of Corruption", ["npcID"] = 105322, ["encounterID"] = 1873, }, [316779] = { ["npcID"] = 178043, }, [33111] = { ["npcID"] = 17371, }, [59575] = { ["encounterName"] = "Skarvold & Dalronn", ["npcID"] = 24201, ["encounterID"] = 2024, }, [200248] = { ["npcID"] = 98280, }, [199361] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Trapper", ["npcID"] = 96934, }, [375727] = { ["encounterName"] = "Chrono-Lord Deios", ["npcID"] = 184125, ["encounterID"] = 2559, }, [353398] = { ["encounterName"] = "Fatescribe Roh-Kalo", ["npcID"] = 179010, ["encounterID"] = 2431, }, [363879] = { ["npcID"] = 183747, }, [334377] = { ["npcID"] = 171805, }, [355349] = { ["npcID"] = 177646, }, [106856] = { ["encounterName"] = "Liu Flameheart", ["source"] = "Liu Flameheart", ["npcID"] = 56732, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1416, }, [351621] = { ["npcID"] = 178964, }, [68872] = { ["encounterName"] = "Bronjahm", ["npcID"] = 36497, ["encounterID"] = 2006, }, [350875] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [76325] = { ["npcID"] = 39708, }, [3264] = { ["source"] = "Serena Bloodfeather", ["event"] = "SPELL_CAST_START", ["npcID"] = 3452, }, [239923] = { ["npcID"] = 120182, }, [320114] = { ["encounterName"] = "Xav the Unfallen", ["npcID"] = 162329, ["encounterID"] = 2366, }, [334967] = { ["npcID"] = 171343, }, [396646] = { ["event"] = "SPELL_CAST_START", ["source"] = "Loamas", ["npcID"] = 199030, }, [231222] = { ["npcID"] = 115078, }, [376169] = { ["event"] = "SPELL_CAST_START", ["source"] = "High Thaumaturge Fural", ["npcID"] = 189905, }, [209602] = { ["encounterName"] = "Advisor Melandrus", ["npcID"] = 104218, ["encounterID"] = 1870, }, [227008] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 111022, }, [394348] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mordigan Ironjaw", ["npcID"] = 187353, }, [376170] = { ["encounterName"] = "Decatriarch Wratheye", ["source"] = "Decatriarch Wratheye", ["encounterID"] = 2569, ["event"] = "SPELL_CAST_START", ["npcID"] = 186121, }, [345454] = { ["npcID"] = 157833, }, [270241] = { ["npcID"] = 154129, }, [193093] = { ["encounterName"] = "King Deepbeard", ["npcID"] = 91797, ["encounterID"] = 1812, }, [376171] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Icecaller", ["npcID"] = 190377, }, [394344] = { ["source"] = "Death's Shadow", ["event"] = "SPELL_CAST_START", ["npcID"] = 190985, }, [227339] = { ["encounterName"] = "Attumen the Huntsman", ["npcID"] = 114264, ["encounterID"] = 1960, }, [331377] = { ["npcID"] = 162401, }, [318835] = { ["npcID"] = 170787, }, [386411] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Teera", ["npcID"] = 186339, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [322931] = { ["npcID"] = 166930, }, [365934] = { ["npcID"] = 184860, }, [336911] = { ["npcID"] = 178820, }, [345457] = { ["npcID"] = 157833, }, [152427] = { ["npcID"] = 75211, }, [374126] = { ["event"] = "SPELL_CAST_START", ["source"] = "Parched Broadhoof", ["npcID"] = 194351, }, [384365] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Lancemaster", ["npcID"] = 192800, }, [378222] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Charged Hornswog", ["npcID"] = 187324, }, [15472] = { ["npcID"] = 17371, }, [395857] = { ["source"] = "Qalashi Stonebinder", ["event"] = "SPELL_CAST_START", ["npcID"] = 189834, }, [384366] = { ["event"] = "SPELL_CAST_START", ["source"] = "Shifting Falcon", ["npcID"] = 195324, }, [341962] = { ["npcID"] = 162109, }, [326712] = { ["npcID"] = 167956, }, [144089] = { ["encounterName"] = "Kor'kron Dark Shaman", ["npcID"] = 71859, ["encounterID"] = 1606, }, [325696] = { ["npcID"] = 172080, }, [102606] = { ["encounterName"] = "Echo of Tyrande", ["npcID"] = 54544, ["encounterID"] = 1884, }, [160312] = { ["npcID"] = 77134, }, [390511] = { ["npcID"] = 189954, }, [361568] = { ["encounterName"] = "Prototype Pantheon", ["npcID"] = 181546, ["encounterID"] = 2544, }, [345461] = { ["npcID"] = 172524, }, [322936] = { ["encounterName"] = "Halkias, the Sin-Stained Goliath", ["npcID"] = 165408, ["encounterID"] = 2401, }, [357987] = { ["npcID"] = 178757, }, [196296] = { ["npcID"] = 91792, }, [59152] = { ["npcID"] = 28835, }, [359975] = { ["encounterName"] = "Skolex, the Insatiable Ravener", ["npcID"] = 181395, ["encounterID"] = 2542, }, [341367] = { ["npcID"] = 163370, }, [7279] = { ["npcID"] = 6518, }, [166464] = { ["encounterName"] = "Archmage Sol", ["encounterID"] = 1751, ["npcID"] = 82682, }, [395196] = { ["source"] = "Blazing Proto-Dragon", ["event"] = "SPELL_CAST_START", ["npcID"] = 185883, }, [320529] = { ["npcID"] = 168886, }, [357436] = { ["encounterName"] = "Myza's Oasis", ["npcID"] = 180470, ["encounterID"] = 2440, }, [329082] = { ["npcID"] = 166042, }, [144923] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71380, }, [341369] = { ["npcID"] = 163370, }, [350732] = { ["encounterName"] = "Guardian of the First Ones", ["npcID"] = 175731, ["encounterID"] = 2436, }, [374743] = { ["npcID"] = 115488, }, [44475] = { ["npcID"] = 24683, }, [357364] = { ["npcID"] = 178294, }, [230239] = { ["npcID"] = 115831, }, [217583] = { ["npcID"] = 111620, }, [372087] = { ["event"] = "SPELL_CAST_START", ["source"] = "Defier Draghar", ["npcID"] = 187897, }, [374135] = { ["source"] = "Desiccated Deer", ["event"] = "SPELL_CAST_START", ["npcID"] = 193420, }, [385916] = { ["encounterName"] = "Granyth", ["source"] = "Granyth", ["npcID"] = 186616, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2637, }, [227823] = { ["encounterName"] = "Maiden of Virtue", ["npcID"] = 113971, ["encounterID"] = 1954, }, [331133] = { ["npcID"] = 160048, }, [358006] = { ["npcID"] = 179608, }, [262145] = { ["npcID"] = 175670, }, [389999] = { ["npcID"] = 189955, }, [322943] = { ["encounterName"] = "Halkias, the Sin-Stained Goliath", ["npcID"] = 165408, ["encounterID"] = 2401, }, [374137] = { ["event"] = "SPELL_CAST_START", ["source"] = "Parched Broadhoof Bull", ["npcID"] = 194352, }, [320069] = { ["encounterName"] = "An Affront of Challengers", ["npcID"] = 164451, ["encounterID"] = 2391, }, [144922] = { ["encounterName"] = "Spoils of Pandaria", ["encounterID"] = 1594, ["npcID"] = 71380, }, [352158] = { ["npcID"] = 175727, }, [372730] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Juggernaut", ["npcID"] = 188244, }, [376186] = { ["event"] = "SPELL_CAST_START", ["source"] = "Overseer Lahar", ["npcID"] = 189235, }, [355299] = { ["npcID"] = 178661, }, [56937] = { ["encounterName"] = "Grand Magus Telestra", ["encounterID"] = 2010, ["npcID"] = 26930, }, [215754] = { ["npcID"] = 108655, }, [392569] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flamegullet", ["npcID"] = 197697, }, [387508] = { ["event"] = "SPELL_CAST_START", ["source"] = "Time-Lost Destroyer", ["npcID"] = 187244, }, [396665] = { ["event"] = "SPELL_CAST_START", ["source"] = "Magmas", ["npcID"] = 199027, }, [222716] = { ["npcID"] = 111354, }, [335233] = { ["npcID"] = 179859, }, [20791] = { ["npcID"] = 16329, }, [372093] = { ["source"] = "Flame Blister", ["event"] = "SPELL_CAST_START", ["npcID"] = 197413, }, [157534] = { ["npcID"] = 88087, }, [328781] = { ["npcID"] = 159916, }, [200551] = { ["encounterName"] = "Dargrul the Underking", ["npcID"] = 91007, ["encounterID"] = 1793, }, [193018] = { ["encounterName"] = "King Deepbeard", ["npcID"] = 91797, ["encounterID"] = 1812, }, [211439] = { ["encounterName"] = "Gul'dan", ["encounterID"] = 1866, ["npcID"] = 111022, }, [369359] = { ["event"] = "SPELL_CAST_START", ["source"] = "Infused Proto-Drake", ["npcID"] = 189515, }, [394620] = { ["source"] = "Nightrot", ["event"] = "SPELL_CAST_START", ["npcID"] = 188707, }, [79050] = { ["encounterName"] = "High Priestess Azil", ["npcID"] = 42333, ["encounterID"] = 1057, }, [300424] = { ["npcID"] = 150160, }, [69068] = { ["npcID"] = 36620, }, [335697] = { ["npcID"] = 171873, }, [357081] = { ["npcID"] = 176956, }, [197942] = { ["encounterName"] = "Ursoc", ["encounterID"] = 1841, ["npcID"] = 100497, }, [392574] = { ["event"] = "SPELL_CAST_START", ["source"] = "Tempest Channeler", ["npcID"] = 198047, }, [394622] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gnarls", ["npcID"] = 197354, }, [206685] = { ["npcID"] = 104493, }, [323544] = { ["encounterName"] = "Hakkar, the Soulflayer", ["npcID"] = 165905, ["encounterID"] = 2395, }, [392924] = { ["event"] = "SPELL_CAST_START", ["source"] = "High Channeler Ryvati", ["npcID"] = 197535, }, [385310] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Shockcaster", ["npcID"] = 195119, }, [69080] = { ["npcID"] = 36564, }, [15585] = { ["npcID"] = 17730, }, [384385] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frostsnout Bear", ["npcID"] = 199354, }, [184381] = { ["npcID"] = 185023, }, [295856] = { ["npcID"] = 152396, }, [360176] = { ["encounterName"] = "Vigilant Guardian", ["npcID"] = 181856, ["encounterID"] = 2512, }, [59638] = { ["npcID"] = 31216, }, [242379] = { ["npcID"] = 121459, }, [315076] = { ["npcID"] = 170821, }, [330496] = { ["npcID"] = 155250, }, [188114] = { ["encounterName"] = "Rokmora", ["npcID"] = 91003, ["encounterID"] = 1790, }, [321043] = { ["npcID"] = 158867, }, [59835] = { ["encounterName"] = "Loken", ["encounterID"] = 1986, ["npcID"] = 28923, }, [365958] = { ["encounterName"] = "Anduin Wrynn", ["npcID"] = 181954, ["encounterID"] = 2546, }, [392579] = { ["source"] = "Quarry Stonebreaker", ["event"] = "SPELL_CAST_START", ["npcID"] = 197831, }, [370054] = { ["event"] = "SPELL_CAST_START", ["source"] = "Olphis the Molten", ["npcID"] = 181875, }, [396675] = { ["source"] = "Nergazurai", ["event"] = "SPELL_CAST_START", ["npcID"] = 195895, }, [325312] = { ["npcID"] = 177214, }, [390194] = { ["source"] = "Uranto the Swift", ["event"] = "SPELL_CAST_START", ["npcID"] = 191103, }, [106864] = { ["encounterName"] = "Liu Flameheart", ["source"] = "Liu Flameheart", ["npcID"] = 56732, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1416, }, [374719] = { ["source"] = "Muckjaw Basilisk", ["event"] = "SPELL_CAST_START", ["npcID"] = 193579, }, [80158] = { ["npcID"] = 42696, }, [277907] = { ["npcID"] = 175671, }, [193235] = { ["encounterName"] = "Hymdall", ["source"] = "Hymdall", ["npcID"] = 94960, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1805, }, [390169] = { ["event"] = "SPELL_CAST_START", ["source"] = "Magmaclaw Raider", ["npcID"] = 187218, }, [365961] = { ["npcID"] = 183416, }, [376200] = { ["event"] = "SPELL_CAST_START", ["source"] = "Forgewrought Monstrosity", ["npcID"] = 194816, }, [391825] = { ["npcID"] = 190900, }, [353328] = { ["npcID"] = 178964, }, [300434] = { ["npcID"] = 150160, }, [377488] = { ["source"] = "Rune Seal Keeper", ["event"] = "SPELL_CAST_START", ["npcID"] = 187155, }, [329103] = { ["npcID"] = 165834, }, [373803] = { ["encounterName"] = "Melidrussa Chillworn", ["source"] = "Infused Whelp", ["npcID"] = 189893, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2609, }, [341390] = { ["npcID"] = 174012, }, [318865] = { ["npcID"] = 162849, }, [329104] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 164218, ["encounterID"] = 2381, }, [372107] = { ["encounterName"] = "Kokia Blazehoof", ["source"] = "Kokia Blazehoof", ["npcID"] = 189232, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2606, }, [300436] = { ["npcID"] = 150146, }, [357123] = { ["npcID"] = 180779, }, [387629] = { ["event"] = "SPELL_CAST_START", ["source"] = "Desecrated Ohuna", ["npcID"] = 195876, }, [340207] = { ["npcID"] = 161528, }, [68982] = { ["encounterName"] = "Devourer of Souls", ["npcID"] = 36502, ["encounterID"] = 2007, }, [375296] = { ["event"] = "SPELL_CAST_START", ["source"] = "Skulking Bruiser", ["npcID"] = 196384, }, [326574] = { ["encounterName"] = "Stichflesh", ["encounterID"] = 2389, ["npcID"] = 162689, }, [121601] = { ["npcID"] = 61946, }, [357128] = { ["npcID"] = 176879, }, [355230] = { ["encounterName"] = "Horridon", ["npcID"] = 173051, }, [329107] = { ["encounterName"] = "Artificer Xy'mox", ["encounterID"] = 2405, ["npcID"] = 169219, }, [169689] = { ["npcID"] = 76116, }, [225635] = { ["npcID"] = 122851, }, [335251] = { ["npcID"] = 170064, }, [276316] = { ["npcID"] = 145120, }, [322965] = { ["npcID"] = 160143, }, [341395] = { ["npcID"] = 174012, }, [396861] = { ["source"] = "Arcane Golem", ["event"] = "SPELL_CAST_START", ["npcID"] = 190779, }, [353682] = { ["npcID"] = 176880, }, [169690] = { ["npcID"] = 76116, }, [158083] = { ["npcID"] = 79303, }, [368017] = { ["npcID"] = 185663, }, [329110] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 164967, ["encounterID"] = 2384, }, [222932] = { ["npcID"] = 111856, }, [388863] = { ["source"] = "Corrupted Manafiend", ["event"] = "SPELL_CAST_START", ["npcID"] = 196045, }, [298025] = { ["npcID"] = 166319, }, [258768] = { ["event"] = "SPELL_CAST_START", ["source"] = "Forgotten Gryphon", ["npcID"] = 193154, }, [322968] = { ["npcID"] = 165111, }, [383231] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Lavamancer", ["npcID"] = 193944, }, [330786] = { ["npcID"] = 169861, }, [373733] = { ["encounterName"] = "Chargath, Bane of Scales", ["source"] = "Chargath, Bane of Scales", ["npcID"] = 189340, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2613, }, [332705] = { ["npcID"] = 170490, }, [169418] = { ["npcID"] = 84767, }, [359829] = { ["encounterName"] = "Skolex, the Insatiable Ravener", ["npcID"] = 181395, ["encounterID"] = 2542, }, [394641] = { ["event"] = "SPELL_CAST_START", ["source"] = "Frostfist", ["npcID"] = 192030, }, [322970] = { ["npcID"] = 178462, }, [357086] = { ["npcID"] = 176959, }, [392594] = { ["event"] = "SPELL_CAST_START", ["source"] = "Meatgrinder Sotok", ["npcID"] = 186777, }, [35008] = { ["encounterName"] = "Rokmar the Crackler", ["encounterID"] = 1941, ["npcID"] = 17991, }, [339353] = { ["npcID"] = 158259, }, [351091] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 177787, }, [373395] = { ["event"] = "SPELL_CAST_START", ["source"] = "Nokhud Defender", ["npcID"] = 199717, }, [375348] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gusting Proto-Dragon", ["npcID"] = 190401, }, [331163] = { ["npcID"] = 165147, }, [390548] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["encounterID"] = 2605, ["event"] = "SPELL_CAST_START", ["npcID"] = 184986, }, [163550] = { ["encounterName"] = "Nitrogg Thundertower", ["encounterID"] = 1732, ["npcID"] = 79545, }, [111723] = { ["encounterName"] = "Raigonn", ["encounterID"] = 1419, ["npcID"] = 56877, }, [355737] = { ["npcID"] = 179446, }, [316830] = { ["npcID"] = 161947, }, [381280] = { ["source"] = "Uktulut Trainee", ["event"] = "SPELL_CAST_START", ["npcID"] = 193204, }, [388743] = { ["source"] = "Risen Bakar", ["event"] = "SPELL_CAST_START", ["npcID"] = 188510, }, [370764] = { ["source"] = "Crystal Fury", ["event"] = "SPELL_CAST_START", ["npcID"] = 187160, }, [341404] = { ["npcID"] = 174017, }, [384620] = { ["encounterName"] = "The Raging Tempest", ["source"] = "The Raging Tempest", ["npcID"] = 186615, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2636, }, [374361] = { ["encounterName"] = "Echo of Doragosa", ["source"] = "Echo of Doragosa", ["encounterID"] = 2565, ["event"] = "SPELL_CAST_START", ["npcID"] = 190609, }, [347548] = { ["encounterName"] = "Sylvanas Windrunner", ["encounterID"] = 2435, ["npcID"] = 175732, }, [385036] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primalist Galesinger", ["npcID"] = 190373, }, [385339] = { ["encounterName"] = "Teera and Maruuk", ["source"] = "Maruuk", ["npcID"] = 186338, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2581, }, [296355] = { ["npcID"] = 152612, }, [336888] = { ["npcID"] = 168233, }, [341406] = { ["npcID"] = 174012, }, [114548] = { ["encounterName"] = "Yan-Zhu the Uncasked", ["encounterID"] = 1414, ["npcID"] = 59479, }, [392130] = { ["source"] = "Professor Maxdormu", ["event"] = "SPELL_CAST_START", ["npcID"] = 189668, }, [322977] = { ["encounterName"] = "Halkias, the Sin-Stained Goliath", ["npcID"] = 165408, ["encounterID"] = 2401, }, [386640] = { ["source"] = "Tarasek Looter", ["event"] = "SPELL_CAST_START", ["npcID"] = 187242, }, [351646] = { ["encounterName"] = "So'leah", ["npcID"] = 177269, ["encounterID"] = 2442, }, [242391] = { ["npcID"] = 156212, }, [322978] = { ["npcID"] = 178462, }, [377384] = { ["event"] = "SPELL_CAST_START", ["source"] = "Aqua Rager", ["npcID"] = 190407, }, [222082] = { ["npcID"] = 111398, }, [189697] = { ["npcID"] = 161785, }, [386546] = { ["source"] = "Arcane Elemental", ["event"] = "SPELL_CAST_START", ["npcID"] = 186741, }, [316836] = { ["npcID"] = 158992, }, [389505] = { ["source"] = "Korvelnor", ["event"] = "SPELL_CAST_START", ["npcID"] = 196972, }, [44224] = { ["encounterName"] = "Kael'thas Sunstrider", ["encounterID"] = 1894, ["npcID"] = 24664, }, [153315] = { ["encounterName"] = "Ranjit", ["encounterID"] = 1698, ["npcID"] = 75964, }, [292264] = { ["encounterName"] = "King Mechagon", ["npcID"] = 144249, ["encounterID"] = 2260, }, [351649] = { ["npcID"] = 176576, }, [374567] = { ["encounterName"] = "Leymor", ["source"] = "Leymor", ["encounterID"] = 2582, ["event"] = "SPELL_CAST_START", ["npcID"] = 186644, }, [332683] = { ["encounterName"] = "Stone Legion Generals", ["npcID"] = 169835, ["encounterID"] = 2417, }, [60227] = { ["npcID"] = 23956, }, [335268] = { ["npcID"] = 170064, }, [372561] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Hunter", ["npcID"] = 189227, }, [389101] = { ["event"] = "SPELL_CAST_START", ["source"] = "Alia Sunsoar", ["npcID"] = 196737, }, [388801] = { ["event"] = "SPELL_CAST_START", ["source"] = "Risen Warrior", ["npcID"] = 195855, }, [229083] = { ["encounterName"] = "Viz'aduum the Watcher", ["npcID"] = 114790, ["encounterID"] = 2017, }, [361890] = { ["npcID"] = 181453, }, [372129] = { ["encounterName"] = "Sennarth, The Cold Breath", ["source"] = "Sennarth", ["encounterID"] = 2592, ["event"] = "SPELL_CAST_START", ["npcID"] = 187967, }, [79226] = { ["npcID"] = 41228, }, [384416] = { ["encounterName"] = "Gutshot", ["source"] = "Gutshot", ["npcID"] = 186116, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2567, }, [371358] = { ["source"] = "Unstable Curator", ["event"] = "SPELL_CAST_START", ["npcID"] = 187154, }, [374451] = { ["event"] = "SPELL_CAST_START", ["source"] = "Burning Chain Caster", ["npcID"] = 195919, }, [375439] = { ["encounterName"] = "Magmatusk", ["source"] = "Magmatusk", ["npcID"] = 181861, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2610, }, [94336] = { ["npcID"] = 42063, }, [172771] = { ["npcID"] = 86809, }, [339367] = { ["npcID"] = 172486, }, [325033] = { ["npcID"] = 178467, }, [377004] = { ["encounterName"] = "Crawth", ["source"] = "Crawth", ["encounterID"] = 2564, ["event"] = "SPELL_CAST_START", ["npcID"] = 191736, }, [296365] = { ["npcID"] = 152612, }, [161509] = { ["npcID"] = 80699, }, [333225] = { ["encounterName"] = "Doctor Ickus", ["npcID"] = 170851, ["encounterID"] = 2384, }, [368037] = { ["npcID"] = 185677, }, [35010] = { ["encounterName"] = "Mennu the Betrayer", ["encounterID"] = 1939, ["npcID"] = 17941, }, [295939] = { ["encounterName"] = "HK-8 Aerial Oppression Unit", ["npcID"] = 150190, ["encounterID"] = 2291, }, [164592] = { ["npcID"] = 75198, }, [372562] = { ["source"] = "Shadepaw Hunter", ["event"] = "SPELL_CAST_START", ["npcID"] = 186490, }, [382435] = { ["event"] = "SPELL_CAST_START", ["source"] = "Decay Speaker", ["npcID"] = 186191, }, [382787] = { ["source"] = "Disease Slasher", ["event"] = "SPELL_CAST_START", ["npcID"] = 187315, }, [333227] = { ["npcID"] = 169905, }, [318893] = { ["npcID"] = 170731, }, [394660] = { ["source"] = "Bluescale", ["event"] = "SPELL_CAST_START", ["npcID"] = 188723, }, [355753] = { ["npcID"] = 179894, }, [381582] = { ["source"] = "Brutal Motivator", ["event"] = "SPELL_CAST_START", ["npcID"] = 184453, }, [310703] = { ["npcID"] = 159459, }, [353706] = { ["encounterName"] = "Myza's Oasis", ["encounterID"] = 2440, ["npcID"] = 180159, }, [396709] = { ["source"] = "Gutchewer Bear", ["event"] = "SPELL_CAST_START", ["npcID"] = 197134, }, [59529] = { ["encounterName"] = "Volkhan", ["encounterID"] = 1985, ["npcID"] = 28587, }, [375327] = { ["source"] = "Subterranean Proto-Dragon", ["event"] = "SPELL_CAST_START", ["npcID"] = 190404, }, [385383] = { ["source"] = "Forge-Keep Overseer", ["event"] = "SPELL_CAST_START", ["npcID"] = 192699, }, [388060] = { ["source"] = "Stinkbreath", ["event"] = "SPELL_CAST_START", ["npcID"] = 187033, }, [386757] = { ["encounterName"] = "Khajin the Unyielding", ["source"] = "Khajin the Unyielding", ["npcID"] = 189727, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2617, }, [368042] = { ["npcID"] = 178508, }, [393803] = { ["event"] = "SPELL_CAST_START", ["source"] = "Trakhan", ["npcID"] = 193783, }, [354223] = { ["npcID"] = 177514, }, [333231] = { ["encounterName"] = "An Affront of Challengers", ["npcID"] = 164461, ["encounterID"] = 2391, }, [294324] = { ["npcID"] = 144293, }, [378282] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Thaumaturge", ["npcID"] = 192788, }, [123767] = { ["npcID"] = 68241, }, [395946] = { ["event"] = "SPELL_CAST_START", ["source"] = "Trickclaw Mystic", ["npcID"] = 197119, }, [75645] = { ["npcID"] = 39679, }, [152298] = { ["npcID"] = 75820, }, [395695] = { ["source"] = "Sleeping Whelp", ["event"] = "SPELL_CAST_START", ["npcID"] = 196073, }, [387740] = { ["source"] = "Disoriented Watcher", ["event"] = "SPELL_CAST_START", ["npcID"] = 187745, }, [376683] = { ["encounterName"] = "Balakar Khan", ["source"] = "Balakar Khan", ["npcID"] = 186151, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2580, }, [345520] = { ["npcID"] = 157833, }, [377033] = { ["source"] = "Ripsaw the Stalker", ["event"] = "SPELL_CAST_START", ["npcID"] = 193153, }, [395827] = { ["event"] = "SPELL_CAST_START", ["source"] = "Parched Broadhoof Bull", ["npcID"] = 194352, }, [172818] = { ["npcID"] = 184073, }, [113017] = { ["encounterName"] = "Lorewalker Stonestep", ["encounterID"] = 1417, ["npcID"] = 58826, }, [332646] = { ["npcID"] = 162872, }, [34879] = { ["npcID"] = 17994, }, [359856] = { ["encounterName"] = "The Jailer", ["encounterID"] = 2537, ["npcID"] = 180990, }, [23601] = { ["npcID"] = 20901, }, [393615] = { ["source"] = "Huntmaster Amaa", ["event"] = "SPELL_CAST_START", ["npcID"] = 188715, }, [22883] = { ["npcID"] = 18317, }, [396041] = { ["source"] = "Cracked Concretion", ["event"] = "SPELL_CAST_START", ["npcID"] = 197074, }, [345523] = { ["npcID"] = 156203, }, [396717] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cyclas", ["npcID"] = 199029, }, [38595] = { ["encounterName"] = "Priestess Delrissa", ["encounterID"] = 1895, ["npcID"] = 24558, }, [192288] = { ["encounterName"] = "Hyrja", ["source"] = "Olmyr the Enlightened", ["npcID"] = 97202, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1806, }, [393750] = { ["source"] = "Taresh", ["event"] = "SPELL_CAST_START", ["npcID"] = 188711, }, [322999] = { ["encounterName"] = "Devos, Paragon of Loyalty", ["npcID"] = 162061, ["encounterID"] = 2359, }, [294884] = { ["npcID"] = 152009, }, [391491] = { ["source"] = "Sootscale the Indomitable", ["event"] = "SPELL_CAST_START", ["npcID"] = 190307, }, [389360] = { ["event"] = "SPELL_CAST_START", ["source"] = "Ancient Timekeeper", ["npcID"] = 192516, }, [392926] = { ["event"] = "SPELL_CAST_START", ["source"] = "Flickering Ember", ["npcID"] = 197906, }, [368506] = { ["npcID"] = 180924, }, [390788] = { ["source"] = "Chief Grrlgllmesh", ["event"] = "SPELL_CAST_START", ["npcID"] = 186678, }, [383953] = { ["source"] = "Bakar Companion", ["event"] = "SPELL_CAST_START", ["npcID"] = 194255, }, [372147] = { ["event"] = "SPELL_CAST_START", ["source"] = "Balara", ["npcID"] = 193457, }, [393434] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sundered Supplyhand", ["npcID"] = 193790, }, [385959] = { ["source"] = "Titan Defense Matrix", ["event"] = "SPELL_CAST_START", ["npcID"] = 193244, }, [387585] = { ["encounterName"] = "Primal Tsunami", ["source"] = "Primal Tsunami", ["encounterID"] = 2618, ["event"] = "SPELL_CAST_START", ["npcID"] = 189729, }, [372311] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Trainee", ["npcID"] = 189266, }, [316859] = { ["npcID"] = 166710, }, [395859] = { ["event"] = "SPELL_CAST_START", ["source"] = "Haunting Sha", ["npcID"] = 59555, }, [331237] = { ["npcID"] = 162763, }, [384648] = { ["source"] = "Gnarls", ["event"] = "SPELL_CAST_START", ["npcID"] = 197354, }, [390940] = { ["source"] = "Gnarls", ["event"] = "SPELL_CAST_START", ["npcID"] = 197354, }, [393859] = { ["source"] = "Skittering Woodborer", ["event"] = "SPELL_CAST_START", ["npcID"] = 189750, }, [348071] = { ["encounterName"] = "Kel'Thuzad", ["encounterID"] = 2422, ["npcID"] = 175559, }, [391871] = { ["source"] = "Duskpaw Tendontearer", ["event"] = "SPELL_CAST_START", ["npcID"] = 197820, }, [391948] = { ["source"] = "Sulfuric Rager", ["event"] = "SPELL_CAST_START", ["npcID"] = 191682, }, [383143] = { ["source"] = "High Shaman Rotknuckle", ["event"] = "SPELL_CAST_START", ["npcID"] = 197356, }, [394676] = { ["event"] = "SPELL_CAST_START", ["source"] = "Council Icecaller", ["npcID"] = 198501, }, [372151] = { ["event"] = "SPELL_CAST_START", ["source"] = "Gutchewer Bear", ["npcID"] = 186284, }, [333244] = { ["npcID"] = 170654, }, [192307] = { ["encounterName"] = "Hyrja", ["source"] = "Hyrja", ["npcID"] = 95833, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1806, }, [370104] = { ["event"] = "SPELL_CAST_START", ["source"] = "Qalashi Metalshaper", ["npcID"] = 190767, }, [221521] = { ["npcID"] = 111166, }, [292290] = { ["encounterName"] = "King Mechagon", ["npcID"] = 144249, ["encounterID"] = 2260, }, [390834] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sarana", ["npcID"] = 190161, }, [391898] = { ["event"] = "SPELL_CAST_START", ["source"] = "Mistyvale Firestarter", ["npcID"] = 193969, }, [192563] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Purifier", ["npcID"] = 97197, }, [393307] = { ["source"] = "Primalist Flamecaller", ["event"] = "SPELL_CAST_START", ["npcID"] = 193558, }, [394795] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stonewrecker Tokara", ["npcID"] = 193442, }, [329151] = { ["npcID"] = 165834, }, [382542] = { ["event"] = "SPELL_CAST_START", ["source"] = "Vicious Ice Slitherer", ["npcID"] = 186391, }, [299475] = { ["npcID"] = 150254, }, [377029] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Scythid Queen", ["npcID"] = 184853, }, [106877] = { ["encounterName"] = "Sha of Violence", ["encounterID"] = 1305, ["npcID"] = 56719, }, [339391] = { ["npcID"] = 158259, }, [365400] = { ["npcID"] = 184413, }, [199674] = { ["event"] = "SPELL_CAST_START", ["source"] = "King Bjorn", ["npcID"] = 97081, }, [337344] = { ["npcID"] = 159459, }, [363965] = { ["npcID"] = 183747, }, [396018] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Crybaby Hozen", ["npcID"] = 59552, }, [392854] = { ["event"] = "SPELL_CAST_START", ["source"] = "Primal Scythid Queen", ["npcID"] = 184853, }, [336809] = { ["npcID"] = 162873, }, [391895] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stalag-MIGHT!", ["npcID"] = 197848, }, [341441] = { ["npcID"] = 174069, }, [104318] = { ["npcID"] = 55659, }, [337346] = { ["npcID"] = 171718, }, [363967] = { ["npcID"] = 184109, }, [396019] = { ["event"] = "SPELL_CAST_START", ["source"] = "The Golden Beetle", ["npcID"] = 59545, }, [395351] = { ["source"] = "Azure Pathfinder", ["event"] = "SPELL_CAST_START", ["npcID"] = 194210, }, [205549] = { ["encounterName"] = "Naraxas", ["npcID"] = 91005, ["encounterID"] = 1792, }, [397878] = { ["event"] = "SPELL_CAST_START", ["source"] = "Corrupt Living Water", ["npcID"] = 59873, }, [360949] = { ["npcID"] = 184268, }, [52238] = { ["encounterName"] = "Volkhan", ["encounterID"] = 1985, ["npcID"] = 28587, }, [337348] = { ["npcID"] = 159459, }, [169714] = { ["npcID"] = 81984, }, [154356] = { ["npcID"] = 76595, }, [76717] = { ["npcID"] = 40023, }, [337349] = { ["npcID"] = 159459, }, [199805] = { ["event"] = "SPELL_CAST_START", ["source"] = "Stormforged Sentinel", ["npcID"] = 96574, }, [390715] = { ["encounterName"] = "Eranog", ["source"] = "Eranog", ["encounterID"] = 2587, ["event"] = "SPELL_CAST_START", ["npcID"] = 184972, }, [376257] = { ["encounterName"] = "Broodkeeper Diurna", ["source"] = "Tarasek Earthreaver", ["encounterID"] = 2614, ["event"] = "SPELL_CAST_START", ["npcID"] = 191225, }, [361923] = { ["encounterName"] = "Lords of Dread", ["encounterID"] = 2543, ["npcID"] = 183138, }, [314825] = { ["npcID"] = 161814, }, [395947] = { ["event"] = "SPELL_CAST_START", ["source"] = "Decay Speaker", ["npcID"] = 197124, }, [392640] = { ["event"] = "SPELL_CAST_START", ["source"] = "Thunderhead", ["npcID"] = 197698, }, [337351] = { ["npcID"] = 159459, }, [393780] = { ["source"] = "Flame Guardian", ["event"] = "SPELL_CAST_START", ["npcID"] = 192764, }, [373087] = { ["encounterName"] = "Kokia Blazehoof", ["source"] = "Blazebound Firestorm", ["npcID"] = 189886, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2606, }, [294349] = { ["npcID"] = 144301, }, [165193] = { ["source"] = "Stele", ["event"] = "SPELL_CAST_START", ["npcID"] = 72627, }, [355782] = { ["npcID"] = 179842, }, [258162] = { ["source"] = "Lago the Drowned", ["event"] = "SPELL_CAST_START", ["npcID"] = 193025, }, [335305] = { ["npcID"] = 171799, }, [164597] = { ["npcID"] = 75198, }, [395908] = { ["source"] = "Primal Icebulk", ["event"] = "SPELL_CAST_START", ["npcID"] = 192767, }, [199726] = { ["event"] = "SPELL_CAST_START", ["source"] = "King Ranulf", ["npcID"] = 97083, }, [197961] = { ["encounterName"] = "Odyn", ["source"] = "Odyn", ["npcID"] = 95676, ["event"] = "SPELL_CAST_START", ["encounterID"] = 1809, }, [329163] = { ["npcID"] = 168837, }, [136953] = { ["npcID"] = 69455, }, [394706] = { ["event"] = "SPELL_CAST_START", ["source"] = "Unstable Frost", ["npcID"] = 198702, }, [302543] = { ["encounterName"] = "Horridon", ["npcID"] = 155483, }, [336834] = { ["npcID"] = 177295, }, [385980] = { ["event"] = "SPELL_CAST_START", ["source"] = "Strunraan", ["npcID"] = 193534, }, [374215] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["npcID"] = 184986, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2605, }, [335308] = { ["npcID"] = 171799, }, [288210] = { ["npcID"] = 163032, }, [199034] = { ["event"] = "SPELL_CAST_START", ["source"] = "Valarjar Aspirant", ["npcID"] = 101637, }, [109952] = { ["npcID"] = 54511, }, [392832] = { ["source"] = "Degmakh", ["event"] = "SPELL_CAST_START", ["npcID"] = 194251, }, [395707] = { ["event"] = "SPELL_CAST_START", ["source"] = "Raszageth", ["npcID"] = 199031, }, [355787] = { ["encounterName"] = "Painsmith Raznal", ["encounterID"] = 2430, ["npcID"] = 176523, }, [386509] = { ["source"] = "Ezrigeth", ["event"] = "SPELL_CAST_START", ["npcID"] = 187666, }, [368287] = { ["event"] = "SPELL_CAST_START", ["source"] = "Bonebolt Hunter", ["npcID"] = 185534, }, [372279] = { ["encounterName"] = "The Primal Council", ["source"] = "Dathea Stormlash", ["npcID"] = 187768, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [397043] = { ["event"] = "SPELL_CAST_START", ["source"] = "Cyclas", ["npcID"] = 199029, }, [397134] = { ["encounterName"] = "The Primal Council", ["source"] = "Opalfang", ["npcID"] = 187772, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2590, }, [395987] = { ["source"] = "Jumping Spiderling", ["event"] = "SPELL_CAST_START", ["npcID"] = 199182, }, [353741] = { ["npcID"] = 178958, }, [339407] = { ["npcID"] = 173280, }, [382410] = { ["event"] = "SPELL_CAST_START", ["source"] = "Trickclaw Mystic", ["npcID"] = 185528, }, [385812] = { ["encounterName"] = "Dathea, Ascended", ["source"] = "Volatile Infuser", ["npcID"] = 192934, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2635, }, [374691] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["npcID"] = 184986, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2605, }, [397341] = { ["encounterName"] = "Kurog Grimtotem", ["source"] = "Kurog Grimtotem", ["npcID"] = 184986, ["event"] = "SPELL_CAST_START", ["encounterID"] = 2605, }, [389430] = { ["source"] = "Unleashed Storm", ["event"] = "SPELL_CAST_START", ["npcID"] = 195846, }, [34759] = { ["encounterName"] = "High Botanist Freywinn", ["encounterID"] = 1926, ["npcID"] = 17975, }, [329170] = { ["encounterName"] = "Lord Chamberlain", ["npcID"] = 165737, ["encounterID"] = 2381, }, [214771] = { ["encounterName"] = "Inquisitor Tormentorum", ["npcID"] = 99651, ["encounterID"] = 1850, }, [393832] = { ["event"] = "SPELL_CAST_START", ["source"] = "Sturdy Gladehorn", ["npcID"] = 196655, }, [389951] = { ["event"] = "SPELL_CAST_START", ["source"] = "Strunraan", ["npcID"] = 193534, }, [345553] = { ["npcID"] = 174843, }, [383496] = { ["event"] = "SPELL_CAST_START", ["source"] = "Strunraan", ["npcID"] = 193534, }, [198715] = { ["event"] = "SPELL_CAST_START", ["source"] = "Val'kyr Battlemaiden", ["npcID"] = 100876, }, [393609] = { ["event"] = "SPELL_CAST_START", ["source"] = "Krojek The Shoreprowler", ["npcID"] = 187645, }, }, }