Skip to content

Commit

Permalink
Merge pull request #79 from MysteryDragon/add-rg-and-ka-mechs
Browse files Browse the repository at this point in the history
Adding Rockgrove and some Kyne's Aegis trial mechanic announcements
  • Loading branch information
memus authored Nov 9, 2021
2 parents 5c11b88 + 30554c4 commit 1cc3a5d
Show file tree
Hide file tree
Showing 9 changed files with 567 additions and 140 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# IntelliJ IDEA project files
/.idea

*.psd
*.png
53 changes: 45 additions & 8 deletions BuffsDebuffs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ sanctum.spreading_poison[52036] = 1 -- \\
sanctum.spreading_poison[58663] = 1 -- >> Cast 1.9s, Enemy, 28m Range
sanctum.spreading_poison[82591] = 1 -- //
sanctum.spreading_poison[54419] = 2 -- \\ (the actual poison)
sanctum.spreading_poison[58669] = 2 -- >> Instant Cast, Enemy, 28m Range, 2.5s
sanctum.spreading_poison[58669] = 2 -- >> Instant Cast, Enemy, 28m Range, 2.5s
sanctum.spreading_poison[82597] = 2 -- //
sanctum.spreading_poison[54420] = 3 -- Instant Cast, Area, 3.5m Radius
sanctum.spreading_poison[80794] = 4 -- Cast 1.9s, Cone??, 0m Range??, 28m Radius
Expand Down Expand Up @@ -173,7 +173,7 @@ maw_lorkhaj.zhajBoss_curseduration = 25
maw_lorkhaj.zhajBoss_glyphability = 57525
maw_lorkhaj.zhajBoss_glyphcooldown = 25
maw_lorkhaj.zhajBoss_knownGlyphs = {}
maw_lorkhaj.zhajBoss_glyphs =
maw_lorkhaj.zhajBoss_glyphs =
{
{x=0.55496829748154, y=0.29175475239754},
{x=0.56342494487762, y=0.25405216217041},
Expand All @@ -183,7 +183,7 @@ maw_lorkhaj.zhajBoss_glyphs =
{x=0.62508809566498, y=0.32699084281921},
}

--False Moon Twins, S’Kinrai and Vashai
--False Moon Twins, S’Kinrai and Vashai
-- Holy Aspect
maw_lorkhaj.twinBoss_lunaraspect = {}
maw_lorkhaj.twinBoss_lunaraspect[59472] = true
Expand Down Expand Up @@ -318,7 +318,7 @@ halls_fab.hunters_spawn_sphere = 90414
-- Pinnacle Factotum (2nd boss)
halls_fab.pinnacleBoss_fluxburst = 90755 -- the streak-like attack
halls_fab.pinnacleBoss_conduit_spawn = 91781 -- sadly not targeted on somebody
halls_fab.pinnacleBoss_conduit_drain = 91792
halls_fab.pinnacleBoss_conduit_drain = 91792
halls_fab.pinnacleBoss_scalded_debuff = 90916

-- Refabrication Committee (4th bosses)
Expand Down Expand Up @@ -403,7 +403,7 @@ asylum.interest_list[99990] = true
-- "Enrage", called when bosses enrage, 2240 on start, 2250 on stop (also when they go to sleep), seems to repeat each 20s (does that mean the enrage stacks up?), tUnitId == boss-in-question
asylum.interest_list[101354] = true
-- easy debugging when put here (see above for what these do)
asylum.interest_list[64508] = true
asylum.interest_list[64508] = true

RaidNotifier.BuffsDebuffs[RAID_ASYLUM_SANCTORIUM] = asylum

Expand Down Expand Up @@ -527,12 +527,12 @@ sunspire.focus_fire_tick = { -- remove
}
-- Lokkestiiz ice boss
sunspire.door_protection_ice = 120417 -- 2200
sunspire.frozen_tomb = 119632
sunspire.frozen_tomb = 119632
sunspire.frozen_tomb_wipe_time = 60000

sunspire.fire_trail = 122727 -- lighting breath while flying mechanic
sunspire.raid_mr3_conjuredReflection = 124051
sunspire.frozen_prison = 124335
sunspire.frozen_prison = 124335
sunspire.storm_fury = {
[115871] = true,
[115702] = true,
Expand Down Expand Up @@ -567,7 +567,7 @@ sunspire.translation_apocalypse = 121436
2240 time shift 124280
laduje portal na prawo (od startu okolo 3 sek)
2245 time shift 121502
]]

sunspire.negate_field = 121411 -- 2200 hitvalue
Expand Down Expand Up @@ -597,5 +597,42 @@ kynes_aegis.yandir_harpy_totem_spawn = 133511
kynes_aegis.yandir_gargoyle_totem_spawn = 133514
-- Chaurus Totem spawn at Yandir the Butcher boss
kynes_aegis.yandir_chaurus_totem_spawn = 133516
-- Meteor casted by Vrolsworn Fire Mage during the Captain Vrol boss encounter
kynes_aegis.vrol_firemage_meteor = 134023
-- Effect which fires when Lord Falgravn starts his Ichor Eruption mechanic
kynes_aegis.falgravn_ichor_eruption_timer = 136548

RaidNotifier.BuffsDebuffs[RAID_KYNES_AEGIS] = kynes_aegis

-- ------------------------------------------------------
-- -- Rockgrove------------------------------------------
-- -- ---------------------------------------------------
local rockgrove = {}

-- Sul-Xan Reaver's Sundering Strike
rockgrove.sulxan_reaver_sundering_strike = 149524
-- Sul-Xan Soulweaver's Astral Shield: casting
rockgrove.sulxan_soulweaver_astral_shield_cast = 149089
-- Sul-Xan Soulweaver's Astral Shield: gained shield by himself
rockgrove.sulxan_soulweaver_astral_shield_self = 149099
-- Havocrel Barbarian's Hasted Assault
rockgrove.havocrel_barbarian_hasted_assault = {
[149261] = true,
[149268] = true,
}
-- Oaxiltso's Savage Blitz
rockgrove.oaxiltso_savage_blitz = {
[149414] = true,
[157932] = true,
}
-- Oaxiltso's Noxious Sludge
rockgrove.oaxiltso_noxious_sludge = 157860
-- Radiating Heat (player gains this effect while Prime Meteor is present)
rockgrove.meteor_radiating_heat = {
[152462] = true, -- on trash
[157383] = true, -- on second boss
}
-- Flame-Herald Bahsei's Death Touch debuff (caused by Embrace of Death mech)
rockgrove.bahsei_death_touch = 150078

RaidNotifier.BuffsDebuffs[RAID_ROCKGROVE] = rockgrove
69 changes: 69 additions & 0 deletions DelayedEventHandler.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
local EventArgumentBag = ZO_Object:Subclass()

function EventArgumentBag:New()
local object = ZO_Object.New(self)

object.allEventArgs = {}

return object
end

function EventArgumentBag:Push(args)
table.insert(self.allEventArgs, args)
end

function EventArgumentBag:ContainsArgumentWithValue(name, value)
for _, arguments in ipairs(self.allEventArgs) do
if arguments[name] == value then
return true
end
end

return false
end

function EventArgumentBag:GetEventCount()
return #self.allEventArgs
end

function EventArgumentBag:GetValues()
return self.allEventArgs
end

function EventArgumentBag:GetArgValues(name)
local values = {}

for _, arguments in ipairs(self.allEventArgs) do
table.insert(values, arguments[name])
end

return values
end

local Handler = {}

local eventStorage = {}

function Handler.Add(name, arguments, releaseFunction, delayInMs)
if eventStorage[name] == nil then
eventStorage[name] = {
callId = nil,
argsBag = EventArgumentBag:New(),
}
end

eventStorage[name].argsBag:Push(arguments)

if eventStorage[name].callId == nil then
eventStorage[name].callId = zo_callLater(
function()
releaseFunction(eventStorage[name].argsBag)
eventStorage[name] = nil
end,
delayInMs
)
end
end

RaidNotifier = RaidNotifier or {}
RaidNotifier.DelayedEventHandler = Handler
Loading

0 comments on commit 1cc3a5d

Please sign in to comment.