From 0fea133f099752e407ceaadf8804fc454b46812a Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Tue, 15 Feb 2022 01:07:46 +0100 Subject: [PATCH] fix(Scripts/BlackwingLair): Chromaggus should cast the same affliction spell among players. (#10644) Brood Affliction: Bronze should stun players in random intervals. - CLoses #10584 Co-authored-by: temperrr --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 6 +++++- .../BlackrockMountain/BlackwingLair/boss_chromaggus.cpp | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index bc538e8ef..db686de6d 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5943,7 +5943,11 @@ void AuraEffect::HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster) return; // Brood Affliction: Bronze case 23170: - triggerSpellId = 23171; + // Only 10% chance of triggering spell + if (roll_chance_f(10.f)) + { + triggerSpellId = 23171; + } break; // Restoration case 24379: diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp index f2e006014..414af4ee9 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp @@ -247,12 +247,13 @@ public: break; case EVENT_AFFLICTION: { + uint32 afflictionSpellID = RAND(SPELL_BROODAF_BLUE, SPELL_BROODAF_BLACK, SPELL_BROODAF_RED, SPELL_BROODAF_BRONZE, SPELL_BROODAF_GREEN); Map::PlayerList const& players = me->GetMap()->GetPlayers(); for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) { if (Player* player = itr->GetSource()->ToPlayer()) { - DoCast(player, RAND(SPELL_BROODAF_BLUE, SPELL_BROODAF_BLACK, SPELL_BROODAF_RED, SPELL_BROODAF_BRONZE, SPELL_BROODAF_GREEN), true); + DoCast(player, afflictionSpellID, true); if (player->HasAura(SPELL_BROODAF_BLUE) && player->HasAura(SPELL_BROODAF_BLACK) &&