From d63cb81dd99c8770f688831539a65a072a5d9b0b Mon Sep 17 00:00:00 2001 From: Jeffroiscool Date: Fri, 2 Sep 2016 12:04:16 +0200 Subject: [PATCH 01/62] Added Electroshock debuff. Added Electroshock datachron message. Added message for Liquidate stack. Added message when Electroshock is being cast. Added suspected timer values as locals for Electroshock. --- Encounters/RMT/Engineers.lua | 53 +++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/Encounters/RMT/Engineers.lua b/Encounters/RMT/Engineers.lua index d2a2299..bacbd0d 100644 --- a/Encounters/RMT/Engineers.lua +++ b/Encounters/RMT/Engineers.lua @@ -27,15 +27,18 @@ mod:RegisterEnglishLocale({ ["Cooling Turbine"] = "Cooling Turbine", ["Spark Plug"] = "Spark Plug", ["Lubricant Nozzle"] = "Lubricant Nozzle", + -- Engineer ["Head Engineer Orvulgh"] = "Head Engineer Orvulgh", + -- Warrior ["Chief Engineer Wilbargh"] = "Chief Engineer Wilbargh", ["Air Current"] = "Air Current", ["Friendly Invisible Unit for Fields"] = "Friendly Invisible Unit for Fields", ["Hostile Invisible Unit for Fields (0 hit radius)"] = "Hostile Invisible Unit for Fields (0 hit radius)", -- Cast names ["Liquidate"] = "Liquidate", + ["Electroshock"] = "Electroshock", -- Datachron - ["Hornious Eversong suffers from Electroshock"] = "", + ["suffers from Electroshock"] = "suffers from Electroshock", }) ---------------------------------------------------------------------------------------------------- -- Constants. @@ -47,6 +50,13 @@ mod:RegisterEnglishLocale({ local GetUnitById = GameLib.GetUnitById local GetPlayerUnit = GameLib.GetPlayerUnit local GetGameTime = GameLib.GetGameTime + +local DEBUFF_ION_CLASH = 84051 +local DEBUFF_UNSTABLE_VOLTAGE = 84045 + +local FIRST_ELECTROSHOCK_TIMER = 12 +local ELECTROSHOCK_TIMER = 20 + ---------------------------------------------------------------------------------------------------- -- Encounter description. ---------------------------------------------------------------------------------------------------- @@ -61,7 +71,19 @@ function mod:OnCastStart(nId, sCastName, nCastEndTime, sName) end function mod:OnDebuffAdd(nId, nSpellId, nStack, fTimeRemaining) + if DEBUFF_ION_CLASH == nSpellId then + mod:AddMsg("ION_CLASH_MSG", "KITE THE ORB", 5, "RunAway") + core:AddPicture(nId, nId, "Crosshair", 20) + end + if DEBUFF_UNSTABLE_VOLTAGE == nSpellId then + mod:AddMsg("UNSTABLE_VOLTAGE_MSG", "GET AWAY FROM THE CENTER", 5, "RunAway") + end +end +function mod:OnDebuffRemove(nId, nSpellId, nStack, fTimeRemaining) + if nSpellId == DEBUFF_ION_CLASH then + core:RemovePicture(nId) + end end function mod:OnUnitDestroyed(nId, tUnit, sName) @@ -85,15 +107,44 @@ mod:RegisterUnitEvents({ end, } ) + +-- Warrior mod:RegisterUnitEvents("Chief Engineer Wilbargh",{ ["OnCastStart"] = function (self, nId, sCastName, nCastEndTime, sName) if self.L["Liquidate"] == sCastName then --Stack + mod:AddMsg("LIQUIDATE", "Stack", 5, "Info") + end + end, + } +) + +-- Engineer +mod:RegisterUnitEvents("Head Engineer Orvulgh",{ + ["OnCastStart"] = function (self, nId, sCastName, nCastEndTime, sName) + if self.L["Electroshock"] == sCastName then + mod:AddMsg("Electroshock", "Electroshock", 5, "Info") + end end, } ) +mod:RegisterDatachronEvent("suffers from Electroshock", "FIND", function (self, sMessage) + local tElectroshockTarget = GetPlayerUnitByName(string.match(sMessage, "([^%s]+%s[^%s]+)".." "..self.L["suffers from Electroshock"])) + local bIsOnMyself = tElectroshockTarget == playerUnit + local sSound = "Info" + local sElectroshockOnX = "" + if bIsOnMyself then + sElectroshockOnX = self.L["YOU SWAP TO WARRIOR"] + else + sElectroshockOnX = self.L["%s SWAP TO WARRIOR"]:format(tElectroshockTarget:GetName()) + end + + mod:AddMsg("ELECTROSHOCK_MSG", sElectroshockOnX, 5, sSound, "Red") + end +) + -- mod:RegisterUnitEvents({"Friendly Invisible Unit for Fields"},{ -- ["OnUnitCreated"] = function (self, nId, tUnit, sName) -- core:AddPixie(nId, 2, tUnit, nil, "Green", 10, 50, 0) From 461d1362e868b05fedc19a5496aefc03190ef7b3 Mon Sep 17 00:00:00 2001 From: Jeffroiscool Date: Fri, 2 Sep 2016 12:04:53 +0200 Subject: [PATCH 02/62] Added minibosses. Addes lines to the bombs. Added bosses ability warnings. --- Encounters/RMT/miniboss/Skooty.lua | 68 ++++++++++++++++++++++++++++++ Encounters/RMT/miniboss/Thrag.lua | 68 ++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 Encounters/RMT/miniboss/Skooty.lua create mode 100644 Encounters/RMT/miniboss/Thrag.lua diff --git a/Encounters/RMT/miniboss/Skooty.lua b/Encounters/RMT/miniboss/Skooty.lua new file mode 100644 index 0000000..981bac3 --- /dev/null +++ b/Encounters/RMT/miniboss/Skooty.lua @@ -0,0 +1,68 @@ +---------------------------------------------------------------------------------------------------- +-- Client Lua Script for RaidCore Addon on WildStar Game. +-- +-- Copyright (C) 2015 RaidCore +---------------------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------- +-- Description: +-- TODO +---------------------------------------------------------------------------------------------------- +local core = Apollo.GetPackage("Gemini:Addon-1.1").tPackage:GetAddon("RaidCore") +local mod = core:NewEncounter("Skooty", 104, 548, 552) +if not mod then return end + +---------------------------------------------------------------------------------------------------- +-- Registering combat. +---------------------------------------------------------------------------------------------------- +mod:RegisterTrigMob("ALL", { "Assistant Technician Skooty" }) +mod:RegisterEnglishLocale({ + ["Assistant Technician Skooty"] = "Assistant Technician Skooty", + ["Hostile Invisible Unit for Fields (0 hit radius)"] = "Hostile Invisible Unit for Fields (0 hit radius)", + ["Pulse Cannon"] = "Pulse Cannon", + ["Jumpstart Charge"] = "Jumpstart Charge", + }) +---------------------------------------------------------------------------------------------------- +-- Settings. +---------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------- +-- Constants. +---------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------- +-- Locals. +---------------------------------------------------------------------------------------------------- +local jumpStarts + +---------------------------------------------------------------------------------------------------- +-- Encounter description. +---------------------------------------------------------------------------------------------------- +function mod:OnBossEnable() + +end + +mod:RegisterUnitEvents("Assistant Technician Skooty",{ + ["OnUnitCreated"] = function (self, nId, tUnit, sName) + core:AddUnit(tUnit) + core:WatchUnit(tUnit) + end, + ["OnCastStart"] = function (self, nId, sCastName, nCastEndTime, sName) + if self.L["Pulse Cannon"] == sCastName then + mod:AddMsg("PULSECANNON", "GET OUT", 5, "RunAway") + end + end, + } +) + +mod:RegisterUnitEvents("Jumpstart Charge",{ + ["OnUnitCreated"] = function (self, nId, tUnit, sName) + jumpStarts[nId] = tUnit + --core:WatchUnit(tUnit) + core:AddLineBetweenUnits(string.format("JUMP_START_LINE %d", nId), playerUnit:GetId(), nId, 5) + end, + ["OnUnitDestroyed"] = function (self, nId, tUnit, sName) + jumpStarts[nId] = nil + core:RemoveLineBetweenUnits(string.format("JUMP_START_LINE %d", nId)) + end, + } +) \ No newline at end of file diff --git a/Encounters/RMT/miniboss/Thrag.lua b/Encounters/RMT/miniboss/Thrag.lua new file mode 100644 index 0000000..9273358 --- /dev/null +++ b/Encounters/RMT/miniboss/Thrag.lua @@ -0,0 +1,68 @@ +---------------------------------------------------------------------------------------------------- +-- Client Lua Script for RaidCore Addon on WildStar Game. +-- +-- Copyright (C) 2015 RaidCore +---------------------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------- +-- Description: +-- TODO +---------------------------------------------------------------------------------------------------- +local core = Apollo.GetPackage("Gemini:Addon-1.1").tPackage:GetAddon("RaidCore") +local mod = core:NewEncounter("Thrag", 104, 548, 552) +if not mod then return end + +---------------------------------------------------------------------------------------------------- +-- Registering combat. +---------------------------------------------------------------------------------------------------- +mod:RegisterTrigMob("ALL", { "Chief Engine Scrubber Thrag" }) +mod:RegisterEnglishLocale({ + ["Chief Engine Scrubber Thrag"] = "Chief Engine Scrubber Thrag", + ["Hostile Invisible Unit for Fields (0 hit radius)"] = "Hostile Invisible Unit for Fields (0 hit radius)", + ["Gigavolt"] = "Gigavolt", + ["Jumpstart Charge"] = "Jumpstart Charge", + }) +---------------------------------------------------------------------------------------------------- +-- Settings. +---------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------- +-- Constants. +---------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------- +-- Locals. +---------------------------------------------------------------------------------------------------- +local jumpStarts + +---------------------------------------------------------------------------------------------------- +-- Encounter description. +---------------------------------------------------------------------------------------------------- +function mod:OnBossEnable() + +end + +mod:RegisterUnitEvents("Chief Engine Scrubber Thrag",{ + ["OnUnitCreated"] = function (self, nId, tUnit, sName) + core:AddUnit(tUnit) + core:WatchUnit(tUnit) + end, + ["OnCastStart"] = function (self, nId, sCastName, nCastEndTime, sName) + if self.L["Gigavolt"] == sCastName then + mod:AddMsg("GIGAVOLT", "GET OUT", 5, "RunAway") + end + end, + } +) + +mod:RegisterUnitEvents("Jumpstart Charge",{ + ["OnUnitCreated"] = function (self, nId, tUnit, sName) + jumpStarts[nId] = tUnit + --core:WatchUnit(tUnit) + core:AddLineBetweenUnits(string.format("JUMP_START_LINE %d", nId), playerUnit:GetId(), nId, 5) + end, + ["OnUnitDestroyed"] = function (self, nId, tUnit, sName) + jumpStarts[nId] = nil + core:RemoveLineBetweenUnits(string.format("JUMP_START_LINE %d", nId)) + end, + } +) \ No newline at end of file From 3ba1c5e4a603c46592a7f4da4b956eaa8e2230fb Mon Sep 17 00:00:00 2001 From: Jeffroiscool Date: Fri, 2 Sep 2016 12:05:11 +0200 Subject: [PATCH 03/62] Added new encounters to toc. --- toc.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/toc.xml b/toc.xml index 2c38ec2..17fd49f 100644 --- a/toc.xml +++ b/toc.xml @@ -68,4 +68,6 @@