From 654ad10b7fd4fe66857ce900403f6053f5d8df02 Mon Sep 17 00:00:00 2001 From: Maelthyr <100411212+Maelthyrr@users.noreply.github.com> Date: Tue, 12 Jul 2022 13:30:06 +0200 Subject: [PATCH] fix(Scripts/World): Ysondre - Spawn adds should scale with raid size v2 (Source: VMangos) (#12368) --- src/server/scripts/World/boss_emerald_dragons.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 06a315f5c..5d0a3d35e 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -268,7 +268,19 @@ public: { Talk(SAY_YSONDRE_SUMMON_DRUIDS); - for (uint8 i = 0; i < 10; ++i) + auto const& attackers = me->GetThreatMgr().getThreatList(); + uint8 attackersCount = 0; + + for (const auto attacker : attackers) + { + if ((*attacker)->ToPlayer() && (*attacker)->IsAlive()) + ++attackersCount; + } + + uint8 amount = attackersCount < 30 ? attackersCount * 0.5f : 15; + amount = amount < 1 ? 1 : amount; + + for (uint8 i = 0; i < amount; ++i) DoCast(me, SPELL_SUMMON_DRUID_SPIRITS, true); ++_stage; }