diff --git a/WarWithin/DarkflameCleft/Locales/deDE.lua b/WarWithin/DarkflameCleft/Locales/deDE.lua index 94572e310..0b5710b94 100644 --- a/WarWithin/DarkflameCleft/Locales/deDE.lua +++ b/WarWithin/DarkflameCleft/Locales/deDE.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "deDE") diff --git a/WarWithin/DarkflameCleft/Locales/esES.lua b/WarWithin/DarkflameCleft/Locales/esES.lua index 26e35856f..20074c58d 100644 --- a/WarWithin/DarkflameCleft/Locales/esES.lua +++ b/WarWithin/DarkflameCleft/Locales/esES.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "esES") or BigWigs:NewBossLocale("The Darkness", "esMX") diff --git a/WarWithin/DarkflameCleft/Locales/frFR.lua b/WarWithin/DarkflameCleft/Locales/frFR.lua index 9a74945a8..872c4447d 100644 --- a/WarWithin/DarkflameCleft/Locales/frFR.lua +++ b/WarWithin/DarkflameCleft/Locales/frFR.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "frFR") diff --git a/WarWithin/DarkflameCleft/Locales/itIT.lua b/WarWithin/DarkflameCleft/Locales/itIT.lua index c42d86099..bb0daa00c 100644 --- a/WarWithin/DarkflameCleft/Locales/itIT.lua +++ b/WarWithin/DarkflameCleft/Locales/itIT.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "itIT") diff --git a/WarWithin/DarkflameCleft/Locales/koKR.lua b/WarWithin/DarkflameCleft/Locales/koKR.lua index 41658580d..863f0de3c 100644 --- a/WarWithin/DarkflameCleft/Locales/koKR.lua +++ b/WarWithin/DarkflameCleft/Locales/koKR.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "koKR") diff --git a/WarWithin/DarkflameCleft/Locales/ptBR.lua b/WarWithin/DarkflameCleft/Locales/ptBR.lua index a3e3604f5..894eeb35b 100644 --- a/WarWithin/DarkflameCleft/Locales/ptBR.lua +++ b/WarWithin/DarkflameCleft/Locales/ptBR.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "ptBR") diff --git a/WarWithin/DarkflameCleft/Locales/ruRU.lua b/WarWithin/DarkflameCleft/Locales/ruRU.lua index 2cc6abe9a..3e89bad12 100644 --- a/WarWithin/DarkflameCleft/Locales/ruRU.lua +++ b/WarWithin/DarkflameCleft/Locales/ruRU.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "ruRU") diff --git a/WarWithin/DarkflameCleft/Locales/zhCN.lua b/WarWithin/DarkflameCleft/Locales/zhCN.lua index 165c854dc..0dd7a6a40 100644 --- a/WarWithin/DarkflameCleft/Locales/zhCN.lua +++ b/WarWithin/DarkflameCleft/Locales/zhCN.lua @@ -8,6 +8,11 @@ if L then L.sootsnout = "灰鼻" L.torchsnarl = "炬龇" L.shuffling_horror = "残步恐魔" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "zhCN") diff --git a/WarWithin/DarkflameCleft/Locales/zhTW.lua b/WarWithin/DarkflameCleft/Locales/zhTW.lua index 896a41314..a27d80a93 100644 --- a/WarWithin/DarkflameCleft/Locales/zhTW.lua +++ b/WarWithin/DarkflameCleft/Locales/zhTW.lua @@ -8,6 +8,11 @@ if L then --L.sootsnout = "Sootsnout" --L.torchsnarl = "Torchsnarl" --L.shuffling_horror = "Shuffling Horror" + --L.creaky_mine_cart = "Creaky Mine Cart" + + --L.minecart = "Mine Cart Minigame" + --L.hits = "Hits" + --L.minecart_over = "Winner: %s (%d hits)" end L = BigWigs:NewBossLocale("The Darkness", "zhTW") diff --git a/WarWithin/DarkflameCleft/Options/Colors.lua b/WarWithin/DarkflameCleft/Options/Colors.lua index ae5e276b6..74765623b 100644 --- a/WarWithin/DarkflameCleft/Options/Colors.lua +++ b/WarWithin/DarkflameCleft/Options/Colors.lua @@ -40,4 +40,5 @@ BigWigs:AddColors("Darkflame Cleft Trash", { [426295] = "red", [426619] = "purple", [440652] = "orange", + ["minecart"] = {"cyan","green"}, }) diff --git a/WarWithin/DarkflameCleft/Options/Sounds.lua b/WarWithin/DarkflameCleft/Options/Sounds.lua index 218ed275c..cf059f901 100644 --- a/WarWithin/DarkflameCleft/Options/Sounds.lua +++ b/WarWithin/DarkflameCleft/Options/Sounds.lua @@ -40,4 +40,5 @@ BigWigs:AddSounds("Darkflame Cleft Trash", { [426295] = "alert", [426619] = "alarm", [440652] = "alarm", + ["minecart"] = {"info","long"}, }) diff --git a/WarWithin/DarkflameCleft/Trash.lua b/WarWithin/DarkflameCleft/Trash.lua index e1e17445a..c7a939fdc 100644 --- a/WarWithin/DarkflameCleft/Trash.lua +++ b/WarWithin/DarkflameCleft/Trash.lua @@ -16,7 +16,9 @@ mod:RegisterEnableMob( 223777, -- Blazing Fiend 212412, -- Sootsnout 212411, -- Torchsnarl - 208456 -- Shuffling Horror + 208456, -- Shuffling Horror + 218475, -- Skitter + 212129 -- Creaky Mine Cart ) -------------------------------------------------------------------------------- @@ -32,6 +34,13 @@ if L then L.sootsnout = "Sootsnout" L.torchsnarl = "Torchsnarl" L.shuffling_horror = "Shuffling Horror" + L.creaky_mine_cart = "Creaky Mine Cart" + + L.minecart = "Mine Cart Minigame" + L.minecart_desc = 423374 -- Throw Dynamite + L.minecart_icon = 423374 -- Throw Dynamite + L.hits = "Hits" + L.minecart_over = "Winner: %s (%d hits)" end -------------------------------------------------------------------------------- @@ -57,6 +66,8 @@ function mod:GetOptions() -- Shuffling Horror 422414, -- Shadow Smash 422541, -- Drain Light + -- Creaky Mine Cart + {"minecart", "INFOBOX"}, }, { [423501] = L.rank_overseer, [425536] = L.lowly_moleherd, @@ -65,6 +76,7 @@ function mod:GetOptions() [426261] = L.sootsnout, [426619] = L.torchsnarl, [422414] = L.shuffling_horror, + ["minecart"] = L.creaky_mine_cart, } end @@ -95,7 +107,9 @@ function mod:OnBossEnable() self:Log("SPELL_CAST_START", "ShadowSmash", 422414) self:Log("SPELL_CAST_START", "DrainLight", 422541) - -- TODO Creaky Mine Cart minigame + -- Creaky Mine Cart + self:Log("SPELL_CAST_SUCCESS", "ShadowyCloak", 423566) -- start event + self:Log("SPELL_AURA_APPLIED", "Ouch", 423654) -- end event end -------------------------------------------------------------------------------- @@ -221,3 +235,56 @@ function mod:DrainLight(args) self:Message(args.spellId, "cyan") self:PlaySound(args.spellId, "info") end + +-- Creaky Mine Cart + +do + local playerHits = {} + + function mod:ShadowyCloak() -- start event + playerHits = {} + self:Log("SPELL_DAMAGE", "ThrowDynamite", 423384) + self:Bar("minecart", 38.3, L.minecart_icon, L.minecart_icon) + self:Message("minecart", "cyan", L.minecart_icon, L.minecart_icon) + self:PlaySound("minecart", "long") + end + + function mod:ThrowDynamite(args) -- scored a hit + if not next(playerHits) then + self:OpenInfo("minecart", L.hits) + end + local hits = playerHits[args.sourceName] + if not hits then + playerHits[args.sourceName] = 1 + else + playerHits[args.sourceName] = hits + 1 + end + self:SetInfoByTable("minecart", playerHits) + end + + function mod:Ouch(args) -- end event + if self:MobId(args.destGUID) == 218475 then -- Skitter + self:StopBar(L.minecart_icon) + self:RemoveLog("SPELL_DAMAGE", 423384) + local winnerList + local winnerCount = 0 + local score = 0 + for playerName, hits in next, playerHits do + if hits > score then + score = hits + winnerCount = 1 + winnerList = { self:ColorName(playerName) } + elseif hits == score then -- there's a tie + winnerCount = winnerCount + 1 + winnerList[winnerCount] = self:ColorName(playerName) + end + end + if winnerList and score > 0 then + self:Message("minecart", "green", L.minecart_over:format(self:TableToString(winnerList, winnerCount), score), L.minecart_icon) + self:PlaySound("minecart", "info") + -- close infobox after 10 seconds + self:SimpleTimer(function() self:CloseInfo("minecart") end, 10) + end + end + end +end