PlaterDB = { ["captured_spells"] = { [387186] = { ["isChanneled"] = false, ["source"] = "Infinite Ravager", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217557, }, [80264] = { ["isChanneled"] = false, ["source"] = "Infinite Observer", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217059, }, [125997] = { ["isChanneled"] = false, ["source"] = "Battleworn Paratrooper", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 63764, }, [125978] = { ["isChanneled"] = false, ["source"] = "Battleworn Paratrooper", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 63764, }, [372503] = { ["source"] = "Eternus", ["type"] = "BUFF", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 216591, }, [435263] = { ["isChanneled"] = false, ["source"] = "Infinite Ravager", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217557, }, [130266] = { ["isChanneled"] = false, ["source"] = "Thunder Hold Soldier", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 66200, }, [147289] = { ["isChanneled"] = false, ["source"] = "Death Adder", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 72841, }, [144530] = { ["isChanneled"] = false, ["source"] = "Yu'lon", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 71955, }, [436117] = { ["isChanneled"] = false, ["source"] = "Eratus, the Unwoven Paradox", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217190, }, [389269] = { ["isChanneled"] = false, ["source"] = "Archaios the Artificer", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217564, }, [126188] = { ["source"] = "Alani", ["type"] = "BUFF", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 64403, }, [435366] = { ["isChanneled"] = false, ["source"] = "Eratus, the Unwoven Paradox", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217190, }, [436118] = { ["source"] = "Eratus, the Unwoven Paradox", ["type"] = "BUFF", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 217190, }, [144630] = { ["isChanneled"] = false, ["source"] = "Yu'lon", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 71955, }, [117516] = { ["isChanneled"] = false, ["source"] = "Northwind Hawk", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 59700, }, [420476] = { ["isChanneled"] = false, ["source"] = "Eratus, the Unwoven Paradox", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 217190, }, [130265] = { ["isChanneled"] = false, ["source"] = "Thunder Hold Soldier", ["event"] = "SPELL_CAST_SUCCESS", ["npcID"] = 66291, }, [1604] = { ["source"] = "Displaced Moment", ["type"] = "DEBUFF", ["event"] = "SPELL_AURA_APPLIED", ["npcID"] = 217189, }, }, ["profileKeys"] = { ["Nighquill - Doomhammer"] = "Default", ["Nighquill - Deathwing"] = "Default", }, ["profiles"] = { ["Default"] = { ["script_data"] = { { ["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", ["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.", ["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"] = { 398151, 377738, 378149, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, 0.00392156862745098, 0, 1, }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, 0.3215686274509804, 0, 1, }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, }, ["version"] = -1, ["Name"] = "Aura - Buff Alert [Plater]", ["NpcNames"] = { }, }, { ["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", ["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, }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Cast - Effect After Cast [P]", ["NpcNames"] = { }, }, { ["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", ["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", ["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", ["SpellIds"] = { 240446, 385339, 198077, 210261, 360857, 389446, }, ["PlaterCore"] = 1, ["Options"] = { { ["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", }, { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, 0.5843137254901961, 0, 1, }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Changes the cast bar color to this one.", }, { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Arrow:", ["Value"] = "Arrow:", ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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.", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Arrow alpha.", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 1, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, { ["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, }, { ["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", }, { ["Type"] = 6, ["Name"] = "Option 13", ["Value"] = 0, ["Key"] = "option13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Dot Animation:", ["Value"] = "Dot Animation:", ["Key"] = "option12", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Dot Color", ["Value"] = { 1, 0.615686274509804, 0, 1, }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, { ["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", }, { ["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, }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "Option 18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option17", ["Value"] = "Nameplate Color", ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Change Nameplate Color", ["Value"] = false, ["Key"] = "useNameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, 0.1843137294054031, 0, 1, }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Health Bar Color", }, }, ["version"] = -1, ["Name"] = "Explosion Affix M+ [Plater]", ["NpcNames"] = { }, }, { ["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", ["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.", ["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"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Glow Enabled", ["Value"] = false, ["Key"] = "glowEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Glow Color", ["Value"] = { 0.403921568627451, 0.00392156862745098, 0, 1, }, ["Key"] = "glowColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Dots Enabled", ["Value"] = true, ["Key"] = "dotsEnabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, 0.3215686274509804, 0, 1, }, ["Name"] = "Dots Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, }, ["version"] = -1, ["Name"] = "Aura - Debuff Alert [Plater]", ["NpcNames"] = { }, }, { ["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.", ["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", ["SpellIds"] = { 350421, 355787, 348513, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Cast start animation settings", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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,", }, { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, 0.4313725490196079, 0, 1, }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["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", }, { ["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", }, { ["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, }, { ["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, }, { ["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", }, }, ["version"] = -1, ["Name"] = "Cast - Alert + Timer [P]", ["NpcNames"] = { }, }, { ["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", ["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, 382670, 388537, 372851, 200682, 192307, 196838, 193827, 194043, 209410, 211464, 361180, 156718, 395859, 358320, 374045, 386757, 367500, 370225, 376200, 372107, 388923, 376934, 384899, 373960, 374724, 385551, 259732, 373424, 373084, 87618, 255041, 428926, 76634, 200050, 197546, 198079, 199193, 266181, 253544, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a special animation showing the explosion time.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option3", ["Value"] = 0, ["Name"] = "Option 3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, { ["Type"] = 1, ["Key"] = "healthBarColor", ["Value"] = { 1, 0.5843137254901961, 0, 1, }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, 0.431372, 0, 1, }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast Bar Color", }, { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option6", ["Value"] = "Arrow:", ["Name"] = "Arrow:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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.", }, { ["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", }, { ["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", }, { ["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", }, { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option12", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation:", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 1, 0.615686274509804, 0, 1, }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dot animation.", }, { ["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, }, { ["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", }, { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "200682", "darkslateblue", }, { "192307", "goldenrod", }, { "196838", "maroon", }, { "193827", "darkgreen", }, { "194043", "darkgreen", }, { "156718", "DRUID", }, { "395859", "ROGUE", }, }, ["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", }, }, ["version"] = -1, ["Name"] = "Cast - Ultra Important [P]", ["NpcNames"] = { }, }, { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.lifePercent = { --dragonflight\n [197697] = {50}, --Flamegullet\n [59544] = {50}, --The Nodding Tiger\n [186227] = {20}, --Monstrous Decay\n [184020] = {40}, -- Hulking Berserker\n [91005] = {20}, --Naraxas\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"] = 1683596223, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\health_indicator", ["Enabled"] = true, ["Revision"] = 146, ["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"] = "", }, { ["Type"] = 6, ["Name"] = "blank line", ["Value"] = 0, ["Key"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Vertical Line Color", ["Value"] = { 1, 1, 1, 1, }, ["Key"] = "indicatorColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Indicator color.", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Indicator alpha.", ["Min"] = 0.1, ["Key"] = "indicatorAlpha", ["Value"] = 0.79, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Vertical Line Alpha", }, { ["Type"] = 6, ["Key"] = "", ["Value"] = 0, ["Name"] = "blank line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "fillColor", ["Value"] = { 1, 1, 1, 1, }, ["Name"] = "Fill Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Fill color.", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Fill alpha.", ["Min"] = 0, ["Name"] = "Fill Alpha", ["Value"] = 0.2, ["Key"] = "fillAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, }, ["version"] = -1, ["Name"] = "Add - Health Markers [P]", ["NpcNames"] = { "197697", "59544", "186227", "184020", "91005", }, }, { ["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", ["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.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n envTable.SmallFlashAnimationHub:Play()\n \nend\n\n\n", ["SpellIds"] = { 376851, 396044, 381517, 373932, 397801, 208165, 392576, 198750, 387843, 387411, 211299, 198595, 198934, 198962, 156722, 350554, 348513, 351779, 328180, 319898, 281420, 274383, 259092, 367521, 374544, 385039, 382474, 369823, 377500, 260879, 186269, 378818, 371875, 372225, 200658, 266036, 265407, 164965, 429176, 428526, 418200, 407124, 200630, 415437, 264050, 267824, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Option 2", ["Value"] = "Plays a small animation when the cast start.", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, { ["Type"] = 1, ["Name"] = "Flash Color", ["Value"] = { 1, 1, 1, 1, }, ["Key"] = "flashColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, }, ["version"] = -1, ["Name"] = "Cast - Small Alert [Plater]", ["NpcNames"] = { }, }, { ["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", ["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.", ["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", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 1, 0, 0.5254901960784314, 1, }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, { ["Type"] = 2, ["Max"] = 6, ["Desc"] = "increase the nameplate height by this value", ["Min"] = 0, ["Name"] = "Nameplate Size Offset", ["Value"] = 3, ["Key"] = "nameplateSizeOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "dotsColor", ["Value"] = { 1, 0.7137255072593689, 0, 0.5631310641765594, }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Dot Color", }, { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option10", ["Value"] = "Extra Texture", ["Name"] = "Extra Texture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "Extra Texture", }, { ["Type"] = 4, ["Name"] = "Show Extra Texture", ["Value"] = false, ["Key"] = "showExtraTexture", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Extra Texture", }, { ["Type"] = 1, ["Key"] = "skullColor", ["Value"] = { 1, 0.4627450980392157, 0, 1, }, ["Name"] = "Texture Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Alpha", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.2, ["Key"] = "skullAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Alpha", }, { ["Type"] = 2, ["Max"] = 2, ["Desc"] = "Scale", ["Min"] = 0.4, ["Name"] = "Scale", ["Value"] = 0.6, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "skullScale", }, { ["Type"] = 7, ["Name"] = "Npc Color By NpcID", ["Value"] = { { "196548", "forestgreen", }, { "195580", "forestgreen", }, { "195820", "forestgreen", }, { "195821", "forestgreen", }, { "189886", "forestgreen", }, { "75966", "forestgreen", }, { "102019 ", "forestgreen", }, { "187159", "forestgreen", }, { "194897", "forestgreen", }, { "104251", "forestgreen", }, }, ["Key"] = "npcColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the npcID, value is the color name", }, }, ["version"] = -1, ["Name"] = "Add - Important [P]", ["NpcNames"] = { "196548", "195580", "195820", "195821", "189886", "75966", "102019", "187159", "194897", "104251", "101326", "189669", "192464", 190381, 92538, 192464, 131009, 127315, 133361, 136330, 214117, 212483, 101008, 194745, 190426, }, }, { ["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"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "blinkEnabled", ["Value"] = true, ["Name"] = "Blink Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable blink", }, { ["Type"] = 4, ["Key"] = "glowEnabled", ["Value"] = true, ["Name"] = "Glow Enabled", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "set to 'false' to disable glows", }, { ["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", }, { ["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", }, { ["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", }, { ["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", }, { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, 1, 1, 1, }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color of the blink", }, { ["Type"] = 1, ["Key"] = "nameplateColor", ["Value"] = { 0.2862745098039216, 0.00392156862745098, 0, 1, }, ["Name"] = "Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "nameplate color if ChangeNameplateColor is true", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option10", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["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", }, { ["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", }, { ["Type"] = 1, ["Key"] = "warningColor", ["Value"] = { 1, 0.8705882352941177, 0, 1, }, ["Name"] = "Warning Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left entered in a warning zone", }, { ["Type"] = 1, ["Key"] = "criticalColor", ["Value"] = { 1, 0.07450980392156863, 0, 1, }, ["Name"] = "Critical Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "color when the time left is critical", }, }, ["version"] = -1, ["Name"] = "Aura - Blink by Time Left [Plater]", ["NpcNames"] = { }, }, { ["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"] = 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", "192955", "190294", "76518", }, }, { ["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\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", ["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 \n self.ThrottleUpdate = 0\nend", ["Time"] = 1672514190, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_glow", ["Enabled"] = true, ["Revision"] = 547, ["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\n\n", ["SpellIds"] = { 376644, 386781, 384823, 385536, 392398, 375596, 387135, 360850, 212784, 199033, 199034, 200969, 394512, 397881, 396020, 374430, 384353, 265376, 193941, 411002, 169445, }, ["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, }, { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, 1, 0.9882352941176471, 1, }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, 0.4313725490196079, 1, 1, }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 7, ["Key"] = "castColor", ["Value"] = { { "385536", "maroon", }, { "198750", "midnightblue", }, { "360850", "lime", }, { "212784", "deepskyblue", }, { "207980", "midnightblue", }, { "199033", "gold", }, { "199034", "gold", }, { "200969", "orange", }, { "394512", "indigo", }, { "397881", "deepskyblue", }, { "396020", "khaki", }, }, ["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", }, }, ["version"] = -1, ["Name"] = "Cast - Glowing [P]", ["NpcNames"] = { }, }, { ["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"] = 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", ["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"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Shows the target name in a separate box", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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, }, { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, 1, 1, 1, }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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, }, { ["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, }, { ["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, }, { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, 0.5647058823529412, 0.5647058823529412, 1, }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, { ["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", }, { ["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", }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, 1, 0, 1, }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, { ["Type"] = 6, ["Name"] = "Option 27", ["Value"] = 0, ["Key"] = "option27", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Option 28", ["Value"] = "Target Options", ["Key"] = "option28", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Name"] = "Text Size", ["Value"] = 14, ["Key"] = "targetNameSize", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["Type"] = 4, ["Name"] = "Use Class Color", ["Value"] = true, ["Key"] = "colorByClass", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Text Color", ["Value"] = { 1, 1, 1, 1, }, ["Key"] = "textColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Background Color", ["Value"] = { 0, 0, 0, 0.9846720322966576, }, ["Key"] = "targetBgColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Border Color", ["Value"] = { 0, 0, 0, 1, }, ["Key"] = "targetBgBorderColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 160, ["Desc"] = "", ["Min"] = 30, ["Name"] = "Frame Width", ["Value"] = 90, ["Key"] = "targetFrameWidth", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["Type"] = 2, ["Max"] = 32, ["Desc"] = "", ["Min"] = 8, ["Key"] = "targetFrameHeight", ["Value"] = 20, ["Fraction"] = false, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Frame Height", }, }, ["version"] = -1, ["Name"] = "Cast - Important Target [P]", ["NpcNames"] = { }, }, { ["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", ["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", ["SpellIds"] = { 392640, 397888, 209033, 385029, 374563, 377341, 369675, 369365, 369411, 278961, 202108, 88186, 255824, 252781, 250096, 200248, 197797, 264520, 418202, 201839, 412012, 411958, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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,", }, { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, 0.4313725490196079, 0, 1, }, ["Key"] = "castBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["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", }, { ["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", }, { ["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", }, { ["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", }, }, ["version"] = -1, ["Name"] = "Cast - Quick Flash [P]", ["NpcNames"] = { }, }, { ["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"] = 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)", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Aura is Shield [P]", ["NpcNames"] = { }, }, { ["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 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", ["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", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = true, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 1, 0.4392157196998596, 0.458823561668396, 1, }, ["Key"] = "healthBarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Flash Nameplate", ["Value"] = true, ["Key"] = "useFlash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Flash Nameplate", }, { ["Type"] = 7, ["Name"] = "NpcID to Color", ["Value"] = { { "189893", "olivedrab", }, { "190187", "olivedrab", }, { "99922", "olivedrab", }, { "153285", "olivedrab", }, { "104822", "olivedrab", }, }, ["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", }, }, ["version"] = -1, ["Name"] = "Add - Warning [P]", ["NpcNames"] = { "190187", "189893", "99922", "104822", 129758, 186696, 101075, 100818, 98081, 52019, }, }, { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \n local plateFrame = unitFrame.PlateFrame\n \n if (not plateFrame.BWC_RedBackground) then\n plateFrame.BWC_RedBackground = plateFrame:CreateTexture(nil, \"background\")\n plateFrame.BWC_RedBackground:SetAllPoints()\n end\n \n plateFrame.BWC_RedBackground:SetTexture([[Interface/AddOns/Plater/masks/mask1]])\n plateFrame.BWC_RedBackground:Hide()\n \n function envTable.ShowBackground(unitFrame)\n local plateFrame = unitFrame.PlateFrame\n plateFrame.BWC_RedBackground:SetVertexColor(1, 0, 0, 0.4)\n plateFrame.BWC_RedBackground:Show()\n end\n \n function envTable.HideBackground(unitFrame)\n plateFrame.BWC_RedBackground:Hide()\n end\nend\n\n\n\n\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n envTable.HideBackground(unitFrame)\nend\n\n\n", ["ScriptType"] = 1, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n if (Plater.UnitIsCasting(unitId)) then\n envTable.ShowBackground(unitFrame)\n else\n envTable.HideBackground(unitFrame)\n end\n \nend", ["Time"] = 1673726734, ["url"] = "", ["Icon"] = 236209, ["Enabled"] = true, ["Revision"] = 18, ["semver"] = "", ["Author"] = "Tiranaa-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "Highlight the nameplate of a unit when has a certain Buff (trigger) and start to cast a spell", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["SpellIds"] = { 372743, 372749, 384933, }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Aura While Casting [P]", ["NpcNames"] = { }, }, { ["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", ["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.", ["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", ["SpellIds"] = { 396640, 372743, 377389, 396812, 388392, 387955, 386546, 377503, 384808, 386024, 387615, 387606, 225100, 211401, 211470, 215433, 192563, 198959, 152818, 156776, 398206, 153524, 396073, 396018, 345202, 377950, 372223, 350421, 352158, 349985, 329239, 328400, 384194, 392451, 392924, 397889, 209413, 207980, 257397, 257736, 382787, 374699, 377402, 369602, 369465, 369400, 381593, 265091, 265433, 382791, 376780, 225573, 278444, 164887, 168082, 76813, 227913, 265368, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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,", }, { ["Type"] = 1, ["Name"] = "Cast Bar Color", ["Value"] = { 1, 0.4313725490196079, 0, 1, }, ["Key"] = "castbarColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, { ["Type"] = 6, ["Name"] = "Blank Line", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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, ["Key"] = "flashDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Increases the cast bar height by this value", ["Min"] = 0, ["Name"] = "Cast Bar Height Mod", ["Value"] = 5, ["Key"] = "castBarHeight", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["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, ["Key"] = "shakeDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, { ["Type"] = 2, ["Max"] = 100, ["Desc"] = "How strong is the shake.", ["Min"] = 2, ["Fraction"] = false, ["Value"] = 8, ["Key"] = "shakeAmplitude", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, { ["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", }, }, ["version"] = -1, ["Name"] = "Cast - Big Alert [Plater]", ["NpcNames"] = { }, }, { ["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, 20 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", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n local castBar = unitFrame.castBar\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 \n envTable.NextPercent = envTable.NextPercent + nextPercent \n envTable.CurrentTexture = envTable.CurrentTexture + 1\n \n --print(envTable.NextPercent, envTable.CurrentTexture)\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 \n self.ThrottleUpdate = 0\nend", ["Time"] = 1672514185, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\media\\stop_64", ["Enabled"] = true, ["Revision"] = 506, ["semver"] = "", ["Author"] = "Terciob", ["Initialization"] = "function (scriptTable)\n --insert code here\n \nend\n\n\n", ["Desc"] = "Just stop casting", ["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(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 --local duration = 0.6 --debug\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", ["SpellIds"] = { 377004, 381516, 196543, 199726, 200291, 268202, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 2, ["Max"] = 20, ["Desc"] = "Need a /reload", ["Min"] = 5, ["Fraction"] = false, ["Value"] = 20, ["Key"] = "segmentsAmount", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Amount of Segments", }, { ["Type"] = 1, ["Key"] = "sparkColor", ["Value"] = { 0.9568627450980391, 1, 0.9882352941176471, 1, }, ["Name"] = "Spark Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "glowColor", ["Value"] = { 0.8588235294117647, 0.4313725490196079, 1, 1, }, ["Name"] = "Glow Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, }, ["version"] = -1, ["Name"] = "Cast - Stop Casting [P]", ["NpcNames"] = { }, }, { ["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"] = "", }, { ["Type"] = 2, ["Max"] = 50, ["Desc"] = "", ["Min"] = 10, ["Key"] = "bgWidth", ["Value"] = 27, ["Name"] = "Width", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["Type"] = 1, ["Key"] = "bgColor", ["Value"] = { 0.5058823529411764, 0.07058823529411765, 1, 1, }, ["Name"] = "Background Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 24, ["Desc"] = "", ["Min"] = 7, ["Key"] = "textSize", ["Value"] = 8, ["Name"] = "Text Size", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["Type"] = 1, ["Key"] = "textColor", ["Value"] = { 1, 0.5843137254901961, 0, 1, }, ["Name"] = "Text Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "Option 7", ["Value"] = 0, ["Key"] = "option7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option11", ["Value"] = "Targeting", ["Name"] = "Targeting", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Show Target instead of Name", ["Value"] = true, ["Key"] = "switchTargetName", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Change Color if targeting You", ["Value"] = true, ["Key"] = "useTargetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 1, ["Name"] = "Color if targeting You", ["Value"] = { 0.07058823529411765, 0.6196078431372549, 0, 1, }, ["Key"] = "targetingColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option11", ["Value"] = 0, ["Name"] = "Option 11", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, }, ["version"] = -1, ["Name"] = "M+ Spiteful", ["NpcNames"] = { "174773", }, }, { ["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"] = "", }, { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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.", }, }, ["version"] = -1, ["Name"] = "Auto Set Skull", ["NpcNames"] = { "163520", "163618", "164506", }, }, { ["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"] = "", }, { ["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"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Key"] = "option2", ["Value"] = 0, ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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.", }, { ["Type"] = 6, ["Name"] = "Option 2", ["Value"] = 0, ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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", }, { ["Type"] = 1, ["Key"] = "fontColor", ["Value"] = { 0.803921568627451, 0.803921568627451, 0.803921568627451, 1, }, ["Name"] = "Font Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the text.", }, { ["Type"] = 4, ["Key"] = "outline", ["Value"] = true, ["Name"] = "Enable Text Outline", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "If enabled, the text uses outline.", }, }, ["version"] = -1, ["Name"] = "Unit - Show Energy [Plater]", ["NpcNames"] = { "164406", "164407", "162100", "162099", "162329", "164558", }, }, { ["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", ["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"] = "", ["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", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useNameplateColor", ["Value"] = false, ["Name"] = "Change Nameplate Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Color", }, { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0.062745101749897, 0.062745101749897, 0.0941176563501358, 1, }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Nameplate Color", }, { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Change Nameplate Scale", ["Value"] = true, ["Key"] = "useNameplateScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Change Nameplate Scale", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Nameplate Scale", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.8, ["Name"] = "Nameplate Scale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "scale", }, }, ["version"] = -1, ["Name"] = "Add - Non Elite Trash [P]", ["NpcNames"] = { "194622", "190205", "197398", "77006", }, }, { ["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", ["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", ["SpellIds"] = { 373688, 391050, }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Cast - Shield Interrupt [P]", ["NpcNames"] = { }, }, { ["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"] = 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.", ["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", ["SpellIds"] = { 385916, 386063, 388822, 373087, 397785, 106864, 193660, 198263, 387910, 370766, 375591, 384336, 209404, 209378, 210875, 396001, 397899, 386559, 382555, 258672, 258777, 257756, 257784, 256405, 256589, 393793, 388046, 375079, 390290, 369811, 369703, 226287, 410999, 372561, 256882, 172578, 412063, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 2, ["Max"] = 0.3, ["Desc"] = "Rotation Duration", ["Min"] = 0.1, ["Fraction"] = true, ["Value"] = 0.15, ["Key"] = "rotationDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Rotation Duration", }, { ["Type"] = 6, ["Name"] = "Option 5", ["Value"] = 0, ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 1.5, ["Desc"] = "Animation Start Duration", ["Min"] = 0, ["Name"] = "Animation Start Duration", ["Value"] = 0.3, ["Key"] = "animStartDuration", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, { ["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, ["Name"] = "Texture Start Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, { ["Type"] = 6, ["Key"] = "option5", ["Value"] = 0, ["Name"] = "Option 5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 1.2, ["Desc"] = "Texture Scale", ["Min"] = 0.6, ["Fraction"] = true, ["Value"] = 0.8, ["Key"] = "textureScale", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Scale", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Texture Alpha", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 1, ["Key"] = "textureAlpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Texture Alpha", }, { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, 1, 1, 1, }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Texture Color", }, }, ["version"] = -1, ["Name"] = "Cast - Circle AoE [P]", ["NpcNames"] = { }, }, { ["ConstructorCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n --create a flash texture which keep blinking while the cast in going on\n self.OGC_BlinkTexture = self.OGC_BlinkTexture or self:CreateTexture(nil, \"overlay\")\n self.OGC_BlinkTexture:SetColorTexture(1, 1, 1)\n self.OGC_BlinkTexture:SetAlpha(0)\n \n --create the animation group for the blinking texture\n self.OGC_BlinkAnimation = self.OGC_BlinkAnimation or Plater:CreateAnimationHub(self.OGC_BlinkTexture, function() self.OGC_BlinkTexture:Show() end, function() self.OGC_BlinkTexture:Hide() end)\n \n self.OGC_BlinkAnimation.In = self.OGC_BlinkAnimation.In or Plater:CreateAnimation(self.OGC_BlinkAnimation, \"alpha\", 1, 0.5, 0.3, 1)\n \n self.OGC_BlinkAnimation.Out = self.OGC_BlinkAnimation.Out or Plater:CreateAnimation(self.OGC_BlinkAnimation, \"alpha\", 2, 0.5, 1, 0.2) \n \n \nend\n\n\n", ["OnHideCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n self.OGC_BlinkAnimation:Stop()\n \n Plater.StopDotAnimation(self, envTable.dotAnimation1) \n Plater.StopDotAnimation(self, envTable.dotAnimation2) \n \nend\n\n\n", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["Time"] = 1676905232, ["url"] = "", ["Icon"] = 4038101, ["Enabled"] = true, ["Revision"] = 73, ["semver"] = "", ["Author"] = "Ditador-Azralon", ["Initialization"] = " function (scriptTable)\n --insert code here\n \n end\n ", ["Desc"] = "The background of the nameplate blinks a red color indicating the cast is being performed. Useful to indicate channeling spells doing damage overtime.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \n self.OGC_BlinkTexture:ClearAllPoints()\n self.OGC_BlinkTexture:SetPoint(\"topleft\", self, \"topleft\", 0, 0)\n self.OGC_BlinkTexture:SetPoint(\"bottomright\", self, \"bottomright\", 0, 0)\n \n local red, green, blue = Plater:ParseColors(scriptTable.config.blinkColor)\n self.OGC_BlinkTexture:SetVertexColor(red, green, blue)\n \n local blinkSpeed = scriptTable.config.speed\n \n self.OGC_BlinkAnimation.In:SetDuration(blinkSpeed)\n self.OGC_BlinkAnimation.Out:SetDuration(blinkSpeed)\n \n local minBlinkAlpha = scriptTable.config.minAlpha\n local maxBlinkAlpha = scriptTable.config.maxAlpha\n \n self.OGC_BlinkAnimation.In:SetFromAlpha(minBlinkAlpha)\n self.OGC_BlinkAnimation.In:SetToAlpha(maxBlinkAlpha)\n self.OGC_BlinkAnimation.Out:SetFromAlpha(maxBlinkAlpha) \n self.OGC_BlinkAnimation.Out:SetToAlpha(minBlinkAlpha)\n \n self.OGC_BlinkAnimation:SetLooping(\"repeat\")\n self.OGC_BlinkAnimation:Play()\n \n envTable.dotAnimation1 = Plater.PlayDotAnimation(self, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n envTable.dotAnimation1.textureInfo.speedMultiplier = 0.3\n \n envTable.dotAnimation2 = Plater.PlayDotAnimation(self, 2, scriptTable.config.dotColor, scriptTable.config.xOffset, scriptTable.config.yOffset)\n envTable.dotAnimation2.textureInfo.speedMultiplier = 1\n \nend", ["SpellIds"] = { 388886, 209676, 377912, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 1, ["Name"] = "Dots Color", ["Value"] = { 1, 1, 1, 0.4166216850280762, }, ["Key"] = "dotColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Dots Color", }, { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dots X Offset", ["Min"] = -10, ["Key"] = "xOffset", ["Value"] = 0, ["Name"] = "Dots X Offset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = false, }, { ["Type"] = 2, ["Max"] = 10, ["Desc"] = "Dots Y Offset", ["Min"] = -10, ["Fraction"] = false, ["Value"] = 0, ["Key"] = "yOffset", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Dots Y Offset", }, { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Adjust how fast the blinking occurs", ["Min"] = 0.2, ["Name"] = "Blink Speed", ["Value"] = 0.4, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "speed", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Min amount of transparency the blink can have", ["Min"] = 0, ["Name"] = "Blink Min Alpha", ["Value"] = 0, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "minAlpha", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Max amount of transparency the blink can have", ["Min"] = 0, ["Key"] = "maxAlpha", ["Value"] = 0.5, ["Name"] = "Blink Max Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Fraction"] = true, }, { ["Type"] = 1, ["Key"] = "blinkColor", ["Value"] = { 1, 0.01960784383118153, 0, 1, }, ["Name"] = "Blink Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the blinking texture", }, }, ["version"] = -1, ["Name"] = "Cast - On Going Cast [P]", ["NpcNames"] = { }, }, { ["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"] = 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.", ["OnShowCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n --insert code here\n \nend\n\n\n", ["SpellIds"] = { 426662, 426663, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 1, ["Name"] = "Nameplate Color", ["Value"] = { 0, 0.5568627450980392, 0.03529411764705882, 1, }, ["Key"] = "nameplateColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Change the enemy nameplate color to this color when fixating you!", }, }, ["version"] = -1, ["Name"] = "Fixate by Unit Buff [P]", ["NpcNames"] = { }, }, { ["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", ["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.", ["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", ["SpellIds"] = { 375943, 385958, 388623, 377034, 374361, 381525, 386660, 385578, 384699, 153501, 153686, 154442, 192018, 219488, 372087, 391726, 391723, 377383, 388976, 370764, 387067, 391118, 391136, 382233, 209027, 212031, 207261, 207979, 198888, 199805, 199050, 191508, 152792, 153395, 352833, 330403, 209495, 257426, 255952, 257870, 413147, 383107, 377559, 388060, 376170, 384524, 375351, 390111, 369791, 369573, 369563, 369335, 369061, 375727, 265016, 265019, 260793, 260292, 272457, 272609, 269843, 183465, 226296, 188169, 183088, 410873, 411012, 88308, 382708, 375251, 375439, 372311, 373742, 372201, 374533, 377204, 201226, 204667, 198379, 200768, 253239, 250258, 255567, 194956, 427510, 426645, 412505, 412129, 419351, 401482, 404916, 200345, 200261, 198641, 265372, 271174, 264694, 264923, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Name"] = "Option 1", ["Value"] = 0, ["Key"] = "option1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Name"] = "Option 3", ["Value"] = 0, ["Key"] = "option3", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "Set the alpha of the moving arrow", ["Min"] = 0, ["Fraction"] = true, ["Value"] = 0.73, ["Name"] = "Arrow Alpha", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Key"] = "arrowAlpha", }, { ["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", }, { ["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.", }, }, ["version"] = -1, ["Name"] = "Cast - Frontal Cone [Plater]", ["NpcNames"] = { }, }, { ["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"] = "", ["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", ["SpellIds"] = { }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 4, ["Key"] = "useReverse", ["Value"] = false, ["Name"] = "Reverse Health Bar", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option6", ["Value"] = 0, ["Name"] = "Option 6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "useShake", ["Value"] = false, ["Name"] = "Enable Shake", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 2, ["Max"] = 1, ["Desc"] = "How strong is the shake.", ["Min"] = 0.05, ["Key"] = "shakeAmplitude", ["Value"] = 0.2, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Amplitude", }, { ["Type"] = 2, ["Max"] = 80, ["Desc"] = "How fast the shake moves.", ["Min"] = 1, ["Key"] = "shakeFrequency", ["Value"] = 70, ["Fraction"] = true, ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_number", ["Name"] = "Shake Frequency", }, { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "useBackground", ["Value"] = true, ["Name"] = "Show Red Background", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show Red Background", }, }, ["version"] = -1, ["Name"] = "Add - Explode on Die [P]", ["NpcNames"] = { "194895", "105703", "59598", "58319", 200388, 189299, 131402, 135052, }, }, { ["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", }, }, { ["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", "164414", "164185", "164567", "165408", }, }, { ["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", ["ScriptType"] = 2, ["UpdateCode"] = "function (self, unitId, unitFrame, envTable, scriptTable)\n \nend\n\n\n", ["Time"] = 1673994690, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\cast_bar_darkorange", ["Enabled"] = true, ["Revision"] = 828, ["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 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)\n \n --Dominator on Shadowmoon Burial Grounds\n if (envTable._SpellID == 154327) then\n if (UnitHealth(unitId) == UnitHealthMax(unitId)) then\n if (envTable._Duration == 604800) then\n Plater.SetCastBarColorForScript(self, scriptTable.config.useCastbarColor, {1, 0, 0, 1}, envTable)\n end\n end\n end\nend", ["SpellIds"] = { 373046, 372863, 164686, 153072, 153680, 196497, 388886, 387145, 384365, 152964, 398150, 152801, 397878, 397914, 183263, 3636, 376171, 350687, 372735, 373017, 350687, 392488, 257732, 256060, 257899, 384633, 374339, 395694, 391634, 372701, 369328, 265487, 413044, 183526, 88194, 87762, 413385, 411001, 378282, 384161, 259572, 255371, 427460, 429172, 426500, 413607, 412922, 417481, 201399, 411994, 415770, 260907, 260703, 260741, 265876, 263959, 266225, 253517, 377488, }, ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Option 1", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Plays a big animation when the cast start.", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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"] = "", }, { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Option 4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Flash:", ["Name"] = "Flash", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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", }, { ["Type"] = 1, ["Key"] = "flashColor", ["Value"] = { 1, 1, 1, 1, }, ["Name"] = "Flash Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the Flash", }, { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Option 7", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Shake", ["Value"] = "Shake:", ["Key"] = "option2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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", }, { ["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", }, { ["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", }, { ["Type"] = 6, ["Key"] = "option13", ["Value"] = 0, ["Name"] = "Option 13", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option14", ["Value"] = "Dot Animation:", ["Name"] = "Dot Animation", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 1, ["Key"] = "dotColor", ["Value"] = { 0.5647058823529412, 0.5647058823529412, 0.5647058823529412, 1, }, ["Name"] = "Dot Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Adjust the color of the dots around the nameplate", }, { ["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, }, { ["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", }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option18", ["Value"] = 0, ["Name"] = "blank", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 6, ["Name"] = "blank", ["Value"] = 0, ["Key"] = "option18", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option19", ["Value"] = "Cast Bar", ["Name"] = "Option 19", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "useCastbarColor", ["Value"] = true, ["Name"] = "Use Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Use cast bar color.", }, { ["Type"] = 1, ["Key"] = "castBarColor", ["Value"] = { 0.4117647058823529, 1, 0, 1, }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Cast bar color.", }, }, ["version"] = -1, ["Name"] = "Cast - Very Important [Plater]", ["NpcNames"] = { }, }, { ["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", "smuggled crawg", "sergeant bainbridge", "blacktooth scrapper", "irontide grenadier", "feral bloodswarmer", "earthrager", "crawler mine", "rezan", }, ["PlaterCore"] = 1, ["Options"] = { }, ["version"] = -1, ["Name"] = "Fixate On You [Plater]", ["NpcNames"] = { }, }, }, ["saved_cvars_last_change"] = { ["nameplateMinAlpha"] = "[string \"=[C]\"]: ?\n[string \"=[C]\"]: ?\n[string \"=[C]\"]: in function `SetCVar'\n[string \"@Interface/AddOns/Plater/Plater.lua\"]:1567: in function \n", ["nameplateMinAlphaDistance"] = "[string \"=[C]\"]: ?\n[string \"=[C]\"]: ?\n[string \"=[C]\"]: in function `SetCVar'\n[string \"@Interface/AddOns/Plater/Plater.lua\"]:1567: in function \n", ["nameplateSelectedAlpha"] = "[string \"=[C]\"]: ?\n[string \"=[C]\"]: ?\n[string \"=[C]\"]: in function `SetCVar'\n[string \"@Interface/AddOns/Plater/Plater.lua\"]:1567: in function \n", }, ["aura2_y_offset"] = 5, ["expansion_triggerwipe"] = { [8] = true, }, ["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"] = 1718134338, ["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", ["Name"] = "Cast - Alert + Timer [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 6, ["Key"] = "option1", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Key"] = "option2", ["Value"] = "Cast start animation settings", ["Name"] = "Option 2", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 6, ["Key"] = "option4", ["Value"] = 0, ["Name"] = "Blank Space", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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,", }, { ["Type"] = 1, ["Key"] = "castbarColor", ["Value"] = { 1, 0.4313725490196079, 0, 1, }, ["Name"] = "Cast Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Color of the cast bar.", }, { ["Type"] = 6, ["Key"] = "option7", ["Value"] = 0, ["Name"] = "Blank Line", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["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, }, { ["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, }, { ["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, }, { ["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", }, { ["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", }, { ["Type"] = 7, ["Name"] = "Timer (Key is SpellId and Value is Time)", ["Value"] = { { "350421", "5", }, { "355787", "15", }, { "348513", "14", }, { "348513", "14", }, }, ["Key"] = "timerList", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_list", ["Desc"] = "Key is the spellId and value is the amount of time of the Timer", }, }, ["version"] = -1, ["SpellIds"] = { 350421, 355787, 348513, }, ["NpcNames"] = { }, }, }, ["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", }, }, ["script_auto_imported"] = { ["Aura - Buff Alert"] = 15, ["Cast - Effect After Cast [P]"] = 2, ["Cast - Circular Swipe"] = 4, ["Aura - Debuff Alert"] = 12, ["Cast - Castbar is Timer [P]"] = 2, ["Cast - Ultra Important"] = 14, ["Add - Health Markers [P]"] = 2, ["Cast - Small Alert"] = 12, ["Add - Important [P]"] = 4, ["Aura - Blink Time Left"] = 13, ["Add - Tag Number [P]"] = 2, ["Cast - Glowing [P]"] = 10, ["Cast - Important Target [P]"] = 2, ["Cast - Shield Interrupt"] = 2, ["Cast - Alert + Timer [P]"] = 4, ["Aura is Shield [P]"] = 2, ["Add - Warning [P]"] = 5, ["Aura While Casting [P]"] = 1, ["Cast - Big Alert"] = 14, ["Fixate On You"] = 11, ["Cast - Very Important"] = 15, ["Auto Set Skull"] = 11, ["Spiteful Affix"] = 3, ["Add - Non Elite Trash [P]"] = 4, ["Cast - Stop Casting"] = 4, ["Fixate"] = 11, ["Cast - On Going Cast [P]"] = 2, ["Fixate by Unit Buff [P]"] = 2, ["Cast - Frontal Cone"] = 15, ["Add - Explode on Die [P]"] = 1, ["Countdown"] = 11, ["Cast - Quick Flash"] = 2, ["Explosion Affix M+"] = 14, ["Unit - Show Energy"] = 11, }, ["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_x_offset"] = 0, ["saved_cvars"] = { ["nameplateMinAlpha"] = "0.90135484", ["nameplateMinAlphaDistance"] = "-158489.31924611", ["nameplateSelectedAlpha"] = "1", }, ["login_counter"] = 5, ["plate_config"] = { ["global_health_height"] = 12, ["global_health_width"] = 112, }, ["aura_y_offset"] = 5, ["hook_data"] = { { ["Enabled"] = false, ["Revision"] = 50, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Color Automation [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = "Interface\\AddOns\\Plater\\images\\color_bar", ["Time"] = 1547392935, }, { ["Enabled"] = false, ["Revision"] = 73, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Hide Neutral Units [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["race"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1990989, ["Time"] = 1541606242, }, { ["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"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["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, ["Options"] = { }, ["HooksTemp"] = { }, ["version"] = -1, }, { ["Enabled"] = false, ["Revision"] = 59, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Don't Have Aura [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = 136207, ["Time"] = 1554138845, }, { ["Enabled"] = false, ["Revision"] = 176, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Extra Border [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["url"] = "", ["Icon"] = 133689, ["Time"] = 1547409079, }, { ["Enabled"] = false, ["Revision"] = 93, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Current Target Color [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = 878211, ["Time"] = 1552354619, }, { ["LastHookEdited"] = "", ["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", }, ["Time"] = 1597097268, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["role"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["race"] = { }, }, ["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.", ["Name"] = "Cast Bar Icon Settings [P]", ["PlaterCore"] = 1, ["Options"] = { { ["Type"] = 5, ["Name"] = "Icon Settings", ["Value"] = "Icon Settings:", ["Key"] = "option4", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["Type"] = 4, ["Name"] = "Show Icon", ["Value"] = true, ["Key"] = "showIcon", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "Show the castbar icon when enabled", }, { ["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", }, { ["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", }, { ["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", }, { ["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", }, { ["Type"] = 6, ["Name"] = "Blank Space", ["Value"] = 0, ["Key"] = "option6", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_blank", ["Desc"] = "", }, { ["Type"] = 5, ["Name"] = "Interrupt Texture", ["Value"] = "Can't Interrupt Texture:", ["Key"] = "option5", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_label", ["Desc"] = "", }, { ["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", }, { ["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", }, { ["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", }, { ["Type"] = 1, ["Name"] = "Texture Color", ["Value"] = { 1, 1, 1, 0.3056715726852417, }, ["Key"] = "textureColor", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "Select the color of the texture", }, { ["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", }, { ["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", }, { ["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", }, { ["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, }, }, ["HooksTemp"] = { }, ["version"] = -1, }, { ["Enabled"] = false, ["Revision"] = 84, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Execute Range [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["spec"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["role"] = { }, }, ["url"] = "", ["Icon"] = 135358, ["Time"] = 1547406548, }, { ["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, 0.5019607843137255, 0, 1, }, ["Name"] = "Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_color", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "changeBarColor", ["Value"] = true, ["Name"] = "Change Bar Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "changeBorderColor", ["Value"] = false, ["Name"] = "Change Border Color", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, { ["Type"] = 4, ["Key"] = "resetColors", ["Value"] = true, ["Name"] = "Reset Colors", ["Icon"] = "Interface\\AddOns\\Plater\\images\\option_bool", ["Desc"] = "", }, }, ["HooksTemp"] = { }, ["version"] = -1, }, { ["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, }, { ["Enabled"] = false, ["Revision"] = 182, ["semver"] = "", ["LastHookEdited"] = "", ["version"] = -1, ["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", }, ["Name"] = "Players Targeting a Target [Plater]", ["PlaterCore"] = 1, ["LoadConditions"] = { ["talent"] = { }, ["group"] = { }, ["class"] = { }, ["map_ids"] = { }, ["race"] = { }, ["pvptalent"] = { }, ["role"] = { }, ["affix"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["url"] = "", ["Icon"] = 1966587, ["Time"] = 1548278227, }, { ["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"] = { }, ["affix"] = { }, ["race"] = { }, ["encounter_ids"] = { }, ["spec"] = { }, }, ["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, ["Options"] = { }, ["HooksTemp"] = { }, ["version"] = -1, }, }, ["ghost_auras"] = { ["auras"] = { ["PRIEST"] = { [3] = { [589] = true, [34914] = true, }, }, ["WARLOCK"] = { { [172] = true, [980] = true, }, }, }, }, ["aura_x_offset"] = 0, ["first_run3"] = true, ["use_ui_parent"] = true, ["ui_parent_scale_tune"] = 1.562500034924597, ["aura_tracker"] = { ["buff_tracked"] = { [209859] = true, }, }, ["patch_version"] = 36, ["number_region_first_run"] = true, }, }, ["InterruptableSpells"] = { }, ["performance_units"] = { [176920] = true, [214441] = true, [211306] = true, [196642] = true, [167999] = true, [189707] = true, }, ["captured_casts"] = { [125997] = { ["source"] = "Battleworn Paratrooper", ["event"] = "SPELL_CAST_START", ["npcID"] = 63764, }, [436117] = { ["source"] = "Eratus, the Unwoven Paradox", ["event"] = "SPELL_CAST_START", ["npcID"] = 217190, }, [420476] = { ["source"] = "Eratus, the Unwoven Paradox", ["event"] = "SPELL_CAST_START", ["npcID"] = 217190, }, [147289] = { ["source"] = "Death Adder", ["event"] = "SPELL_CAST_START", ["npcID"] = 72841, }, [116] = { ["npcID"] = 188027, }, [130265] = { ["source"] = "Thunder Hold Soldier", ["event"] = "SPELL_CAST_START", ["npcID"] = 66291, }, [130266] = { ["source"] = "Thunder Hold Soldier", ["event"] = "SPELL_CAST_START", ["npcID"] = 66200, }, [389269] = { ["source"] = "Archaios the Artificer", ["event"] = "SPELL_CAST_START", ["npcID"] = 217564, }, [144530] = { ["source"] = "Yu'lon", ["event"] = "SPELL_CAST_START", ["npcID"] = 71955, }, [435263] = { ["source"] = "Infinite Ravager", ["event"] = "SPELL_CAST_START", ["npcID"] = 218346, }, [387186] = { ["source"] = "Infinite Ravager", ["event"] = "SPELL_CAST_START", ["npcID"] = 217557, }, [435366] = { ["source"] = "Eratus, the Unwoven Paradox", ["event"] = "SPELL_CAST_START", ["npcID"] = 217190, }, }, } PlaterLanguage = { ["language"] = "enUS", ["version"] = 1, } PlaterLogs = { ["_general_logs"] = { "2024-06-11 20:41:19 | INIT | Plater-v581b-Retail | Framework v539 | 10.2.7 | enUS | Nighquill", "2024-06-11 20:39:53 | INIT | Plater-v581b-Retail | Framework v539 | 10.2.7 | enUS | Nighquill", "2024-06-11 20:32:18 | INIT | Plater-v581b-Retail | Framework v539 | 10.2.7 | enUS | Nighquill", }, ["_error_logs"] = { }, }