Skip to content

Commit

Permalink
Merge pull request #87 from MysteryDragon/dsr-mechs-release
Browse files Browse the repository at this point in the history
Version 2.23: DSR mechanic & fix
  • Loading branch information
memus authored Aug 17, 2022
2 parents f9c6ebd + d6f7301 commit 60206aa
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 10 deletions.
10 changes: 10 additions & 0 deletions BuffsDebuffs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -655,8 +655,18 @@ dreadsail_reef.turlassil_imminent_chill = 168526
dreadsail_reef.lylanar_broiling_hew = 167273
-- Turlassil's Heavy Attack
dreadsail_reef.turlassil_stinging_shear = 167280
-- Destructive Ember (Fire Dome)
dreadsail_reef.destructive_ember = 166209
-- Piercing Hailstone (Ice Dome)
dreadsail_reef.piercing_hailstone = 166178
-- Reef Guardian's cast on Reef Heart
dreadsail_reef.reef_guardian_heartburn = 163692
-- Reef Guardian's buff that Reef Heart receives (60s)
dreadsail_reef.reef_guardian_heartburn_buff = 170481
-- Vulnerability in case Heart was destroyed in time
dreadsail_reef.reef_guardian_heartburn_vulnerability = 166031
-- Empowerment in case Heart wasn't destroyed in time
dreadsail_reef.reef_guardian_heartburn_empowerment = 166032
-- Tideborn Taleria's Rapid Deluge
dreadsail_reef.taleria_rapid_deluge = {
[174959] = true, -- Normal
Expand Down
2 changes: 1 addition & 1 deletion RaidNotifier.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ local RaidNotifier = RaidNotifier

RaidNotifier.Name = "RaidNotifier"
RaidNotifier.DisplayName = "Raid Notifier"
RaidNotifier.Version = "2.22"
RaidNotifier.Version = "2.23"
RaidNotifier.Author = "|c009ad6Kyoma, Memus, Woeler, silentgecko|r"
RaidNotifier.SV_Name = "RNVars"
RaidNotifier.SV_Version = 4
Expand Down
2 changes: 1 addition & 1 deletion RaidNotifier.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Title: |cEFEBBERaidNotifier|r
## Description: Displays on-screen notifications on different events during trials.
## Author: |c009ad6Kyoma, Memus, Woeler, silentgecko|r
## Version: 2.22
## Version: 2.23
## APIVersion: 101034
## SavedVariables: RNVars RN_DEBUG_LOG
## DependsOn: LibAddonMenu-2.0>=28 LibUnits2
Expand Down
15 changes: 15 additions & 0 deletions Settings.lua
Original file line number Diff line number Diff line change
Expand Up @@ -318,9 +318,11 @@ do ------------------
bahsei_embrace_of_death = 0, -- "Off"
},
dreadsailReef = {
dome_activation = false,
imminent_debuffs = false,
brothers_heavy_attack = 0, -- "Off"
reef_guardian_reef_heart = false,
reef_guardian_reef_heart_result = false,
taleria_rapid_deluge = 0, -- "Off"
},
dbg = {
Expand Down Expand Up @@ -1721,6 +1723,11 @@ function RaidNotifier:CreateSettingsMenu()

-- Dreadsail Reef
MakeSubmenu(L.Settings_DreadsailReef_Header, RaidNotifier:GetRaidDescription(RAID_DREADSAIL_REEF))
MakeControlEntry({
type = "checkbox",
name = L.Settings_DreadsailReef_Dome_Activation,
tooltip = L.Settings_DreadsailReef_Dome_Activation_TT,
}, "dreadsailReef", "dome_activation")
MakeControlEntry({
type = "checkbox",
name = L.Settings_DreadsailReef_Imminent_Debuffs,
Expand All @@ -1737,6 +1744,14 @@ function RaidNotifier:CreateSettingsMenu()
name = L.Settings_DreadsailReef_ReefGuardian_ReefHeart,
tooltip = L.Settings_DreadsailReef_ReefGuardian_ReefHeart_TT,
}, "dreadsailReef", "reef_guardian_reef_heart")
MakeControlEntry({
type = "checkbox",
name = L.Settings_DreadsailReef_ReefHeart_Result,
tooltip = L.Settings_DreadsailReef_ReefHeart_Result_TT,
disabled = function()
return savedVars.dreadsailReef.reef_guardian_reef_heart == false;
end,
}, "dreadsailReef", "reef_guardian_reef_heart_result")
MakeControlEntry({
type = "dropdown",
name = L.Settings_DreadsailReef_Rapid_Deluge,
Expand Down
65 changes: 57 additions & 8 deletions TrialDreadsailReef.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,15 @@ function RaidNotifier.DSR.Initialize()

data = {}
data.reefHeartCounter = 0
data.reefHearts = {}
end

function RaidNotifier.DSR.OnCombatStateChanged(inCombat)
if inCombat then
local bossCount, bossAlive, bossFull = RaidNotifier:GetNumBosses(true)

if bossCount == 0 or bossAlive == 0 or bossFull == bossCount then
data.reefHeartCounter = 0
data.reefHearts = {}
end
end

Expand Down Expand Up @@ -46,13 +50,6 @@ function RaidNotifier.DSR.OnCombatEvent(_, result, isError, aName, aGraphic, aAc
elseif (settings.brothers_heavy_attack == 2 and tName ~= "") then
self:AddAnnouncement(zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_STINGING_SHEAR_OTHER), tName), "dreadsailReef", "brothers_heavy_attack")
end
elseif (abilityId == buffsDebuffs.reef_guardian_heartburn and settings.reef_guardian_reef_heart) then
data.reefHeartCounter = data.reefHeartCounter + 1
self:AddAnnouncement(
zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_REEFGUARDIAN_REEFHEART), data.reefHeartCounter),
"dreadsailReef",
"reef_guardian_reef_heart"
)
end
elseif (result == ACTION_RESULT_EFFECT_GAINED_DURATION) then
-- Lylanar's Imminent Blister debuff
Expand All @@ -77,5 +74,57 @@ function RaidNotifier.DSR.OnCombatEvent(_, result, isError, aName, aGraphic, aAc
self:StartCountdown(hitValue, zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_RAPID_DELUGE_OTHER), tName), "dreadsailReef", "taleria_rapid_deluge", true)
end
end
elseif (result == ACTION_RESULT_EFFECT_GAINED) then
-- Player activated Fire Dome at the Lylanar&Turlassil encounter
if (abilityId == buffsDebuffs.destructive_ember and settings.dome_activation and tName ~= "") then
self:AddAnnouncement(
zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_DESTRUCTIVE_EMBER), tName),
"dreadsailReef",
"dome_activation"
)
-- Player activated Ice Dome at the Lylanar&Turlassil encounter
elseif (abilityId == buffsDebuffs.piercing_hailstone and settings.dome_activation and tName ~= "") then
self:AddAnnouncement(
zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_PIERCING_HAILSTONE), tName),
"dreadsailReef",
"dome_activation"
)
-- Reef Guardian's Heartburn buff on Reef Heart
elseif (abilityId == buffsDebuffs.reef_guardian_heartburn_buff and (settings.reef_guardian_reef_heart or settings.reef_guardian_reef_heart_result)) then
data.reefHeartCounter = data.reefHeartCounter + 1
data.reefHearts[tUnitId] = data.reefHeartCounter

if (settings.reef_guardian_reef_heart) then
self:AddAnnouncement(
zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_REEFGUARDIAN_REEFHEART), data.reefHeartCounter),
"dreadsailReef",
"reef_guardian_reef_heart"
)
end
-- Reef Heart was successfully destroyed
elseif (abilityId == buffsDebuffs.reef_guardian_heartburn_vulnerability and settings.reef_guardian_reef_heart_result) then
local alertMsg

if (tUnitId and data.reefHearts[tUnitId]) then
alertMsg = zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_REEFHEART_SUCCESS), data.reefHearts[tUnitId])
else
-- It shouldn't happen, but for now we'd like to handle it just in case
alertMsg = GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_REEFHEART_SUCCESS_UNKNOWN)
end

self:AddAnnouncement(alertMsg, "dreadsailReef", "reef_guardian_reef_heart_result")
-- Reef Heart wasn't destroyed in time
elseif (abilityId == buffsDebuffs.reef_guardian_heartburn_empowerment and settings.reef_guardian_reef_heart_result) then
local alertMsg

if (tUnitId and data.reefHearts[tUnitId]) then
alertMsg = zo_strformat(GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_REEFHEART_FAILURE), data.reefHearts[tUnitId])
else
-- It shouldn't happen, but for now we'd like to handle it just in case
alertMsg = GetString(RAIDNOTIFIER_ALERTS_DREADSAILREEF_REEFHEART_FAILURE_UNKNOWN)
end

self:AddAnnouncement(alertMsg, "dreadsailReef", "reef_guardian_reef_heart_result")
end
end
end
10 changes: 10 additions & 0 deletions lang/en.lua
Original file line number Diff line number Diff line change
Expand Up @@ -630,16 +630,22 @@ L.Alerts_Rockgrove_Embrace_Of_Death_Other = "|cFF0000<<!aC:1>>|r cursed
--------------------------------
L.Settings_DreadsailReef_Header = "Dreadsail Reef"
-- Settings
L.Settings_DreadsailReef_Dome_Activation = "Lylanar & Turlassil: Fire/Ice Dome activation"
L.Settings_DreadsailReef_Dome_Activation_TT = "Alerts you when someone gets Fire or Ice Dome."
L.Settings_DreadsailReef_Imminent_Debuffs = "Lylanar & Turlassil: Imminent Blister/Chill"
L.Settings_DreadsailReef_Imminent_Debuffs_TT = "Alerts you when tank receives Imminent Blister debuff from Lylanar or Imminent Chill debuff from Turlassil. Tanks should swap in 10 seconds."
L.Settings_DreadsailReef_Brothers_Heavy_Attack = "Lylanar & Turlassil: Heavy attack"
L.Settings_DreadsailReef_Brothers_Heavy_Attack_TT = "Alerts you when Lylanar or Turlassil makes their heavy attack (Broiling Hew / Stinging Shear)."
L.Settings_DreadsailReef_ReefGuardian_ReefHeart = "Reef Guardian: Reef Heart spawn"
L.Settings_DreadsailReef_ReefGuardian_ReefHeart_TT = "Alerts you when Reef Heart appears. You have 60 seconds to kill it or it's a group wipe. There can be several Hearts active at the same time."
L.Settings_DreadsailReef_ReefHeart_Result = "Reef Guardian: Reef Heart success/failure"
L.Settings_DreadsailReef_ReefHeart_Result_TT = "Alerts you if you have executed Reef Heart or not."
L.Settings_DreadsailReef_Rapid_Deluge = "Taleria: Rapid Deluge"
L.Settings_DreadsailReef_Rapid_Deluge_TT = "Alerts you when you or someone got Rapid Deluge debuff. They'll explode in 6 seconds, and the best option to handle the damage is to be swimming at that time."

-- Alerts
L.Alerts_DreadsailReef_Destructive_Ember = "<<!aC:1>> activated |cFFA500Fire Dome|r!"
L.Alerts_DreadsailReef_Piercing_Hailstone = "<<!aC:1>> activated |c20C3D0Ice Dome|r!"
L.Alerts_DreadsailReef_Imminent_Blister = "You're afflicted by |cF27D0CImminent Blister|r! Swap tanks until"
L.Alerts_DreadsailReef_Imminent_Blister_Other = "|cFF0000<<!aC:1>>|r afflicted by |cF27D0CImminent Blister|r! Swap tanks until"
L.Alerts_DreadsailReef_Imminent_Chill = "You're afflicted by |cB4CFFAImminent Chill|r! Swap tanks until"
Expand All @@ -649,6 +655,10 @@ L.Alerts_DreadsailReef_Broiling_Hew_Other = "Incoming |cCDCDCDBroiling
L.Alerts_DreadsailReef_Stinging_Shear = "Incoming |cCDCDCDStinging Shear|r on you!"
L.Alerts_DreadsailReef_Stinging_Shear_Other = "Incoming |cCDCDCDStinging Shear|r on |cFF0000<<!aC:1>>|r!"
L.Alerts_DreadsailReef_ReefGuardian_ReefHeart = "Reef Heart #|cFF0000<<1>>|r spawned!"
L.Alerts_DreadsailReef_ReefHeart_Success = "Reef Heart #|cFF0000<<1>>|r |c7CFC00destroyed|r!"
L.Alerts_DreadsailReef_ReefHeart_Success_Unknown = "Reef Heart |c7CFC00destroyed|r!"
L.Alerts_DreadsailReef_ReefHeart_Failure = "Reef Heart #|cFF0000<<1>>|r |cFF0000empowered|r. You're doomed!"
L.Alerts_DreadsailReef_ReefHeart_Failure_Unknown = "Reef Heart |cFF0000empowered|r. You're doomed!"
L.Alerts_DreadsailReef_Rapid_Deluge = "You got |c1CA3ECRapid Deluge|r! You should be swimming in"
L.Alerts_DreadsailReef_Rapid_Deluge_Other = "|cFF0000<<!aC:1>>|r got |c1CA3ECRapid Deluge|r! Swim in"

Expand Down

0 comments on commit 60206aa

Please sign in to comment.