aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Pozzoni <giacomopoz@gmail.com>2021-08-09 17:00:34 +0200
committerShauren <shauren.trinity@gmail.com>2022-03-12 14:45:04 +0100
commit71c2f0af46b3ccec8c3422534e4403f3650b757d (patch)
tree824556b76e51acd3698bb3b80fa3475e99f1a449
parent5f38fd2f2d4fc2f7caba8c6b9e0b3286d8d79339 (diff)
Core/AI: Add DamageEffectType and SpellInfo parameters to UnitAI::DamageTaken (#26787)
* Core/AI: Add DamageEffectType and SpellInfo parameters to UnitAI::DamageTaken * Update scripts (cherry picked from commit 0800ab20a8039620fd271a43c173c008af68c22a)
-rw-r--r--src/server/game/AI/CoreAI/PetAI.h2
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.h2
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp2
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.h2
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
-rw-r--r--src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/TheStockade/boss_hogger.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/TheStockade/boss_randolph_moloch.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp4
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp8
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp2
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp2
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp2
-rw-r--r--src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp2
-rw-r--r--src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp2
-rw-r--r--src/server/scripts/Maelstrom/Stonecore/stonecore.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp4
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp4
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_eck.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp6
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp6
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp6
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp4
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp2
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp2
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp8
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp2
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp8
-rw-r--r--src/server/scripts/World/npcs_special.cpp2
141 files changed, 198 insertions, 198 deletions
diff --git a/src/server/game/AI/CoreAI/PetAI.h b/src/server/game/AI/CoreAI/PetAI.h
index 1c4035d302b..05836c1715b 100644
--- a/src/server/game/AI/CoreAI/PetAI.h
+++ b/src/server/game/AI/CoreAI/PetAI.h
@@ -42,7 +42,7 @@ class TC_GAME_API PetAI : public CreatureAI
void MovementInform(uint32 type, uint32 id) override;
void OwnerAttackedBy(Unit* attacker) override;
void OwnerAttacked(Unit* target) override;
- void DamageTaken(Unit* attacker, uint32& /*damage*/) override { AttackStart(attacker); }
+ void DamageTaken(Unit* attacker, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override { AttackStart(attacker); }
void ReceiveEmote(Player* player, uint32 textEmote) override;
void JustEnteredCombat(Unit* who) override { EngagementStart(who); }
void JustExitedCombat() override { EngagementOver(); }
diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h
index 56a880457c4..68c3811864a 100644
--- a/src/server/game/AI/CoreAI/UnitAI.h
+++ b/src/server/game/AI/CoreAI/UnitAI.h
@@ -302,7 +302,7 @@ class TC_GAME_API UnitAI
// Called at any Damage from any attacker (before damage apply)
// Note: it for recalculation damage or special reaction at damage
- virtual void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) { }
+ virtual void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) { }
// Called when the creature receives heal
virtual void HealReceived(Unit* /*done_by*/, uint32& /*addhealth*/) { }
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp
index a84cfee5ebf..099b3599d49 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/server/game/AI/SmartScripts/SmartAI.cpp
@@ -625,7 +625,7 @@ void SmartAI::SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo)
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT_TARGET, target->ToUnit(), 0, 0, false, spellInfo, target->ToGameObject());
}
-void SmartAI::DamageTaken(Unit* doneBy, uint32& damage)
+void SmartAI::DamageTaken(Unit* doneBy, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/)
{
GetScript()->ProcessEventsFor(SMART_EVENT_DAMAGED, doneBy, damage);
diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h
index 38625f3045c..1f888ea673c 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.h
+++ b/src/server/game/AI/SmartScripts/SmartAI.h
@@ -125,7 +125,7 @@ class TC_GAME_API SmartAI : public CreatureAI
void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override;
// Called at any Damage from any attacker (before damage apply)
- void DamageTaken(Unit* doneBy, uint32& damage) override;
+ void DamageTaken(Unit* doneBy, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override;
// Called when the creature receives heal
void HealReceived(Unit* doneBy, uint32& addhealth) override;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index de3012895cd..fd4748128b4 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -715,7 +715,7 @@ bool Unit::HasBreakableByDamageCrowdControlAura(Unit* excludeCasterChannel) cons
/*static*/ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage const* cleanDamage, DamageEffectType damagetype, SpellSchoolMask damageSchoolMask, SpellInfo const* spellProto, bool durabilityLoss)
{
if (UnitAI* victimAI = victim->GetAI())
- victimAI->DamageTaken(attacker, damage);
+ victimAI->DamageTaken(attacker, damage, damagetype, spellProto);
if (UnitAI* attackerAI = attacker ? attacker->GetAI() : nullptr)
attackerAI->DamageDealt(victim, damage, damagetype);
diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
index aa6f2630ddf..e51eb5c3f9d 100644
--- a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
+++ b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
@@ -266,7 +266,7 @@ struct boss_garothi_worldbreaker : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(_apocalypseDriveHealthLimit[_apocalypseDriveCount], damage))
{
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 4b66eec3bfc..7aa746954dd 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -107,7 +107,7 @@ struct boss_balinda : public ScriptedAI
Talk(SAY_AGGRO);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(40, damage) && !HasCastIceblock)
{
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
index d77d22d7570..5983022826b 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
@@ -66,7 +66,7 @@ class boss_pit_lord_argaloth : public CreatureScript
_DespawnAtEvade();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(33, damage) ||
me->HealthBelowPctDamaged(66, damage))
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp
index c03cc6f21ca..67c8444e607 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp
@@ -179,7 +179,7 @@ struct boss_coren_direbrew : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(66, damage) && events.IsInPhase(PHASE_ONE))
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
index 1bc0d397adb..8542582f61a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
@@ -63,7 +63,7 @@ class boss_general_angerforge : public CreatureScript
_events.ScheduleEvent(EVENT_CLEAVE, 16s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(20, damage) && _events.IsInPhase(PHASE_ONE))
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
index fe4810ff741..af79183a553 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
@@ -60,7 +60,7 @@ class boss_magmus : public CreatureScript
_events.ScheduleEvent(EVENT_FIERY_BURST, 5s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(50, damage) && _events.IsInPhase(PHASE_ONE))
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
index cecee57cb37..e3af3869ce8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
@@ -172,7 +172,7 @@ class boss_doomrel : public CreatureScript
_events.ScheduleEvent(EVENT_DEMONARMOR, 16s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_voidwalkers && !HealthAbovePct(50))
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
index e647d75ff68..787174d54d9 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
@@ -53,7 +53,7 @@ struct boss_mother_smolderweb : public BossAI
_JustDied();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->GetHealth() <= damage)
DoCast(me, SPELL_SUMMON_SPIRE_SPIDERLING, true);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
index 684836b10d3..a3d07b4ad77 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
@@ -110,7 +110,7 @@ struct boss_razorgore : public BossAI
DoChangePhase();
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// @todo this is wrong - razorgore should still take damage, he should just nuke the whole room and respawn if he dies during P1
if (!secondPhase)
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
index 1717f2b3f86..4738485ad65 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
@@ -128,7 +128,7 @@ struct npc_firesworn : public ScriptedAI
ScheduleTasks();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
uint32 const health10pct = me->CountPctFromMaxHealth(10);
uint32 health = me->GetHealth();
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
index b7661629ae5..febe22cd777 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
@@ -68,7 +68,7 @@ struct boss_golemagg : public BossAI
events.ScheduleEvent(EVENT_PYROBLAST, 7s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!HealthBelowPct(10) || me->HasAura(SPELL_ENRAGE))
return;
@@ -133,7 +133,7 @@ struct npc_core_rager : public ScriptedAI
});
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (HealthAbovePct(50) || !_instance)
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
index db867c1cce8..76ddeabca4d 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
@@ -86,7 +86,7 @@ public:
events.ScheduleEvent(EVENT_BERSERK, 12min);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!HealthAbovePct(15) && !_infused)
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index a1ddc0f5470..a6d81bf851c 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -122,7 +122,7 @@ public:
});
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// Attumen does not die until he mounts Midnight, let health fall to 1 and prevent further damage.
if (damage >= me->GetHealth() && _phase != PHASE_MOUNTED)
@@ -305,7 +305,7 @@ public:
me->SetReactState(REACT_DEFENSIVE);
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// Midnight never dies, let health fall to 1 and prevent further damage.
if (damage >= me->GetHealth())
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index 7f78d2383ee..66071e585d3 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -188,7 +188,7 @@ public:
SetupGroundPhase();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (events.IsInPhase(PHASE_FLY))
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index 03699326393..32f201bbdc2 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -164,7 +164,7 @@ public:
}
}
- void DamageTaken(Unit* done_by, uint32 &damage) override
+ void DamageTaken(Unit* done_by, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!done_by || done_by->GetGUID() != malchezaar)
damage = 0;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
index 9438841c464..b2e71646759 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -492,7 +492,7 @@ public:
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*pAttacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!DrinkInturrupted && Drinking && damage)
DrinkInturrupted = true;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index f655288f977..3464709de23 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -1144,7 +1144,7 @@ public:
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override;
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override;
void JustDied(Unit* /*killer*/) override
{
@@ -1222,7 +1222,7 @@ public:
me->DespawnOrUnsummon();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage < me->GetHealth())
return;
@@ -1484,7 +1484,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff)
DoMeleeAttackIfReady();
}
-void boss_julianne::boss_julianneAI::DamageTaken(Unit* /*done_by*/, uint32 &damage)
+void boss_julianne::boss_julianneAI::DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/)
{
if (damage < me->GetHealth())
return;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index bb149e270a1..8797c87e690 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -171,7 +171,7 @@ struct boss_felblood_kaelthas : public BossAI
_DespawnAtEvade();
}
- void DamageTaken(Unit* attacker, uint32 &damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// Checking for lethal damage first so we trigger the outro phase without triggering phase two in case of oneshot attacks
if (damage >= me->GetHealth() && !events.IsInPhase(PHASE_OUTRO))
@@ -401,7 +401,7 @@ struct npc_felblood_kaelthas_phoenix : public ScriptedAI
void JustEngagedWith(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index d048918591a..ccad5296b58 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -100,7 +100,7 @@ class boss_vexallus : public CreatureScript
summons.Summon(summoned);
}
- void DamageTaken(Unit* /*who*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*who*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_enraged)
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 9929bb3240a..73e4c203e1e 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -586,7 +586,7 @@ public:
}
}
- void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override
+ void DamageTaken(Unit* pDoneBy, uint32 &uiDamage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (m_bIsDuelInProgress && pDoneBy && pDoneBy->IsControlledByPlayer())
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
index 80179501e2f..e7c3471c5dc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
@@ -53,7 +53,7 @@ struct boss_azshir_the_sleepless : public BossAI
events.ScheduleEvent(EVENT_TERRIFY, 20s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_siphon && me->HealthBelowPctDamaged(50, damage))
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
index e399baa0c59..86e4d4b4058 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
@@ -71,7 +71,7 @@ struct boss_bloodmage_thalnos : public BossAI
Talk(SAY_KILL);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_hpYell && me->HealthBelowPctDamaged(35, damage))
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 25d74a7300e..3e82146e7bf 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -454,7 +454,7 @@ struct boss_headless_horseman : public ScriptedAI
}
}
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && who != me)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
index f9bf6b9cfcd..81219de4fe0 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
@@ -92,7 +92,7 @@ struct boss_herod : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_enrage && me->HealthBelowPctDamaged(30, damage))
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
index d72ce5f5381..3ac6ec3bb60 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -83,7 +83,7 @@ struct boss_high_inquisitor_fairbanks : public BossAI
me->SetStandState(UNIT_STAND_STATE_STAND);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(25, damage))
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
index a2a0280b331..e33baa461da 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
@@ -80,7 +80,7 @@ struct boss_interrogator_vishas : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(60, damage) && _yellCount < 1)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index 9ae4dfa0b90..203e791b893 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -148,7 +148,7 @@ public:
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && !_fakeDeath)
{
@@ -346,7 +346,7 @@ public:
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// When Whitemane falls below 50% cast Deep sleep and schedule to ressurrect
if (me->HealthBelowPctDamaged(50, damage) && !_ressurectionInProgress)
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
index 0b373d807c9..3672bf89ff4 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
@@ -44,7 +44,7 @@ public:
{
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->GetHealth() <= damage)
DoCast(me, 23261, true); //Summon Darkreaver's Fallen Charger
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
index fcac84df441..b5fd8141e25 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
@@ -77,7 +77,7 @@ public:
summoned->AI()->AttackStart(me->GetVictim());
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(25, damage) && !Mages)
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index d819490d7c3..6558325f19d 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -59,7 +59,7 @@ public:
events.ScheduleEvent(EVENT_BLAST_WAVE, 14s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(25, damage))
{
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
index adc6d29ac56..4fa6faaa4cd 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
@@ -137,7 +137,7 @@ struct boss_apothecary_hummel : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
if (_deadCount < 2)
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index 75240dd4feb..ebaf536ccdb 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -241,7 +241,7 @@ public:
events.ScheduleEvent(EVENT_FLIGHT_SEQUENCE, 1ms);
}
- void DamageTaken(Unit*, uint32 &damage) override
+ void DamageTaken(Unit*, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (phase != PHASE_GROUND && damage >= me->GetHealth())
damage = 0;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 92fd5fdb021..c6b116441a9 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -201,7 +201,7 @@ struct boss_kalecgos : public BossAI
}
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && (!who || who->GetGUID() != me->GetGUID()))
damage = 0;
@@ -369,7 +369,7 @@ struct boss_kalecgos_human : public ScriptedAI
Talk(SAY_GOOD_DEATH);
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!who || who->GetGUID() != _sathGUID)
damage = 0;
@@ -486,7 +486,7 @@ struct boss_sathrovarr : public BossAI
}
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && (!who || who->GetGUID() != me->GetGUID()))
damage = 0;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index faf644e4b90..346e7060b79 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -1095,7 +1095,7 @@ public:
Initialize();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage > me->GetHealth())
DoCast(me, SPELL_FELFIRE_FISSION, true);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index 2ee58ef3c0d..24749d2b347 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -268,7 +268,7 @@ struct boss_muru : public BossAI
DoCast(me, SPELL_NEGATIVE_ENERGY_PERIODIC, true);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/EasternKingdoms/TheStockade/boss_hogger.cpp b/src/server/scripts/EasternKingdoms/TheStockade/boss_hogger.cpp
index b3d815dc329..48704d899b8 100644
--- a/src/server/scripts/EasternKingdoms/TheStockade/boss_hogger.cpp
+++ b/src/server/scripts/EasternKingdoms/TheStockade/boss_hogger.cpp
@@ -110,7 +110,7 @@ struct boss_hogger : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(30, damage) && !_hasEnraged)
{
diff --git a/src/server/scripts/EasternKingdoms/TheStockade/boss_randolph_moloch.cpp b/src/server/scripts/EasternKingdoms/TheStockade/boss_randolph_moloch.cpp
index 71577ef7cb4..b9e45a54389 100644
--- a/src/server/scripts/EasternKingdoms/TheStockade/boss_randolph_moloch.cpp
+++ b/src/server/scripts/EasternKingdoms/TheStockade/boss_randolph_moloch.cpp
@@ -127,7 +127,7 @@ struct boss_randolph_moloch : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(71, damage) && me->HealthAbovePct(59) && !_firstVanish)
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index 975b659c05a..0467f4b4316 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -165,7 +165,7 @@ struct boss_mandokir : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(20, damage) && !me->HasAura(SPELL_FRENZY))
{
@@ -301,7 +301,7 @@ struct npc_ohgan : public ScriptedAI
DoCastAOE(SPELL_OHGAN_ORDERS, true);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
index 064d3783667..0a515e8fe6d 100644
--- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
@@ -64,7 +64,7 @@ public:
});
}
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if ((!who || who->GetTypeId() == TYPEID_UNIT) && me->HealthBelowPctDamaged(82, damage))
damage = 0;
@@ -99,7 +99,7 @@ public:
{
npc_big_earlAI(Creature* creature) : ScriptedAI(creature) { }
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if ((!who || who->GetTypeId() == TYPEID_UNIT) && me->HealthBelowPctDamaged(82, damage))
damage = 0;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index d61a7b3b482..dd4aba1e6f5 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -108,7 +108,7 @@ struct npc_blackfathom_deeps_event : public ScriptedAI
_instance->SetData(DATA_EVENT, _instance->GetData(DATA_EVENT) + 1);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->GetEntry() != NPC_MURKSHALLOW_SOFTSHELL && me->GetEntry() != NPC_BARBED_CRUSTACEAN)
return;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
index cd62b3e03d4..d335caa85da 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
@@ -55,7 +55,7 @@ struct boss_aku_mai : public BossAI
events.ScheduleEvent(EVENT_POISON_CLOUD, 5s, 9s);
}
- void DamageTaken(Unit* /*atacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*atacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!IsEnraged && me->HealthBelowPctDamaged(30, damage))
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index 353d596e855..f04ff828af0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -132,7 +132,7 @@ public:
void JustEngagedWith(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;
}
@@ -176,7 +176,7 @@ public:
void JustEngagedWith(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;
}
@@ -226,7 +226,7 @@ public:
void JustEngagedWith(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;
}
@@ -398,7 +398,7 @@ public:
}
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(10, damage))
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 89a948921ba..993b80e443d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -191,7 +191,7 @@ hyjal_trashAI::hyjal_trashAI(Creature* creature) : EscortAI(creature)
Reset();
}
-void hyjal_trashAI::DamageTaken(Unit* done_by, uint32 &damage)
+void hyjal_trashAI::DamageTaken(Unit* done_by, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/)
{
if (!done_by || done_by->GetTypeId() == TYPEID_PLAYER || done_by->IsPet())
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
index 2f5e6fcb4c8..ce0944422db 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
@@ -28,7 +28,7 @@ struct hyjal_trashAI : public EscortAI
void JustDied(Unit* /*killer*/) override;
- void DamageTaken(Unit* done_by, uint32 &damage) override;
+ void DamageTaken(Unit* done_by, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override;
public:
InstanceScript* instance;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
index 8dd011c4e85..c56dbef37d6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -74,7 +74,7 @@ class boss_mal_ganis : public CreatureScript
instance->SetBossState(DATA_MAL_GANIS, NOT_STARTED);
}
- void DamageTaken(Unit* /*source*/, uint32 &damage) override
+ void DamageTaken(Unit* /*source*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
index 31ec4005ce5..12e961e19c6 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
@@ -126,7 +126,7 @@ public:
events.ScheduleEvent(EVENT_EARTH_SPIKE, 16s, 21s, 0, PHASE_NORMAL);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(50, damage) && (events.GetPhaseMask() & PHASE_MASK_NORMAL) && !_hasDispersed)
{
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
index 5b79934cc08..e583613e6ae 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
@@ -114,7 +114,7 @@ public:
events.ScheduleEvent(EVENT_BURNING_LIGHT, 12s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if ((me->HealthBelowPctDamaged(66, damage) && _phase == PHASE_FIRST_SHIELD) ||
(me->HealthBelowPctDamaged(33, damage) && _phase == PHASE_SECOND_SHIELD))
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index 397fc3b5093..0d6d854d46e 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -72,7 +72,7 @@ class boss_kurinnaxx : public CreatureScript
events.ScheduleEvent(EVENT_WIDE_SLASH, 11s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_enraged && HealthBelowPct(30))
{
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
index a534f190642..f1d61cd9013 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
@@ -77,7 +77,7 @@ class boss_moam : public CreatureScript
//events.ScheduleEvent(EVENT_WIDE_SLASH, 11s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_isStonePhase && HealthBelowPct(45))
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index 1064bd74a8c..b9e02cd77dd 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -403,7 +403,7 @@ public:
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
switch (instance->GetData(DATA_CTHUN_PHASE))
{
@@ -841,7 +841,7 @@ public:
instance->SetData(DATA_CTHUN_PHASE, PHASE_CTHUN_DONE);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
switch (instance->GetData(DATA_CTHUN_PHASE))
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index e605cbebc59..26d4bc82e44 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -108,7 +108,7 @@ struct boss_twinemperorsAI : public BossAI
return instance->GetCreature(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
Unit* pOtherBoss = GetOtherBoss();
if (pOtherBoss)
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index 321f94d1e9e..279de4a3365 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -111,7 +111,7 @@ class boss_viscidus : public CreatureScript
Initialize();
}
- void DamageTaken(Unit* attacker, uint32& /*damage*/) override
+ void DamageTaken(Unit* attacker, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_phase != PHASE_MELEE)
return;
diff --git a/src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp b/src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp
index 8ae80f93c8b..4e0e280abc0 100644
--- a/src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp
+++ b/src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp
@@ -110,7 +110,7 @@ class boss_ozruk : public CreatureScript
BossAI::JustSummoned(summon);
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32 &damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!me->HealthBelowPctDamaged(25, damage) || me->HasAura(SPELL_ENRAGE))
return;
diff --git a/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp b/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp
index 5bb168d4ffc..b2c798bd8d0 100644
--- a/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp
+++ b/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp
@@ -146,7 +146,7 @@ class boss_slabhide : public CreatureScript
events.ScheduleEvent(EVENT_AIR_PHASE, 10s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_isFlying && damage >= me->GetHealth())
damage = me->GetHealth() - 1; // Let creature health fall to 1 hp but prevent it from dying during air phase.
diff --git a/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp
index cfc60d7b494..76c33e3b73d 100644
--- a/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp
+++ b/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp
@@ -117,7 +117,7 @@ class npc_sc_millhouse_manastorm : public CreatureScript
events.ScheduleEvent(EVENT_FEAR, 8s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index acb8911e07f..1ecfc994adb 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -141,7 +141,7 @@ struct boss_volazj : public BossAI
return 100*(me->GetHealth()-damage)/me->GetMaxHealth();
}
- void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*pAttacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE))
damage = 0;
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
index ce04929e26a..caf0426979c 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -205,7 +205,7 @@ struct boss_jedoga_shadowseeker : public BossAI
return 0;
}
- void DamageTaken(Unit* /*done_by*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*done_by*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (HealthBelowPct(55) && events.IsInPhase(PHASE_ONE))
{
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
index b4d989bc912..9bfd42e6c0b 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -220,7 +220,7 @@ struct boss_prince_taldaram : public BossAI
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
Unit* embraceTarget = GetEmbraceTarget();
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index 452ba55f07f..aed3f57dcfc 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -342,7 +342,7 @@ struct boss_anub_arak : public BossAI
}
}
- void DamageTaken(Unit* /*source*/, uint32& damage) override
+ void DamageTaken(Unit* /*source*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HasAura(SPELL_SUBMERGE))
damage = 0;
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index dc4d85056fc..63490558494 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -353,7 +353,7 @@ struct boss_hadronox : public BossAI
}
// Safeguard to prevent Hadronox dying to NPCs
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if ((!who || !who->IsControlledByPlayer()) && me->HealthBelowPct(70))
{
@@ -514,7 +514,7 @@ struct npc_anub_ar_crusher : public npc_hadronox_crusherPackAI
Talk(CRUSHER_SAY_AGGRO);
}
- void DamageTaken(Unit* /*source*/, uint32& damage) override
+ void DamageTaken(Unit* /*source*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_hadFrenzy || !me->HealthBelowPctDamaged(25, damage))
return;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
index f869a4b5c12..5f795d585ae 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
@@ -135,7 +135,7 @@ struct boss_baltharus_the_warborn : public BossAI
events.ScheduleEvent(EVENT_SUMMONS_ATTACK, 2s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (GetDifficulty() == DIFFICULTY_10_N)
{
@@ -247,7 +247,7 @@ struct npc_baltharus_the_warborn_clone : public BossAI
void EnterEvadeMode(EvadeReason /*why*/) override { }
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// Setting DATA_BALTHARUS_SHARED_HEALTH to 0 when killed would bug the boss.
if (me->GetHealth() > damage)
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index 18cc5869c5b..08c5ba98979 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -279,7 +279,7 @@ class boss_halion : public CreatureScript
Position const* GetMeteorStrikePosition() const { return &_meteorStrikePos; }
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && !events.IsInPhase(PHASE_THREE))
damage = me->GetHealth() - 1;
@@ -466,7 +466,7 @@ class boss_twilight_halion : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && !events.IsInPhase(PHASE_THREE))
damage = me->GetHealth() - 1;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
index 2399721e58d..fb8b71c8d96 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -190,7 +190,7 @@ public:
Initialize();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -318,7 +318,7 @@ public:
me->RemoveAura(SPELL_SHIELD);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
index 9cc5ecf2db9..44078696c35 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -265,7 +265,7 @@ public:
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) override
+ void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (uiDamage > me->GetHealth() && uiPhase <= PHASE_SKELETON)
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
index 4bf1415cdc6..a70fd4bb30d 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -593,7 +593,7 @@ struct npc_frost_sphere : public ScriptedAI
me->GetMotionMaster()->MoveRandom(20.0f);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->GetHealth() <= damage)
{
@@ -676,7 +676,7 @@ struct npc_anubarak_spike : public ScriptedAI
}
}
- void DamageTaken(Unit* /*who*/, uint32& uiDamage) override
+ void DamageTaken(Unit* /*who*/, uint32& uiDamage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
uiDamage = 0;
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index 6797ebd1005..a0cdc280f13 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -109,7 +109,7 @@ struct boss_bronjahm : public BossAI
Talk(SAY_SLAY);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (events.IsInPhase(PHASE_1) && !HealthAbovePct(30))
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index fad436fcae1..02c441d8b86 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -83,7 +83,7 @@ class boss_falric : public CreatureScript
events.ScheduleEvent(EVENT_DEFILING_HORROR, 21s, 39s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if ((_hopelessnessCount < 1 && me->HealthBelowPctDamaged(66, damage))
|| (_hopelessnessCount < 2 && me->HealthBelowPctDamaged(33, damage))
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
index d595f6a8f35..b2198546d65 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -845,7 +845,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
lichking->AI()->EnterEvadeMode(); // event failed
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && _invincibility)
damage = me->GetHealth() - 1;
@@ -1195,7 +1195,7 @@ class npc_the_lich_king_escape_hor : public CreatureScript
_despawn = false;
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
@@ -2476,7 +2476,7 @@ class npc_uther_quel_delar : public CreatureScript
_events.ScheduleEvent(EVENT_UTHER_1, 1ms);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index 51db578edad..36984217ccc 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -124,7 +124,7 @@ struct boss_garfrost : public BossAI
tyrannus->AI()->Talk(SAY_TYRANNUS_DEATH);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (events.IsInPhase(PHASE_ONE) && !HealthAbovePct(66))
{
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index cef349cb430..17c6645df02 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -153,7 +153,7 @@ struct boss_drakkari_colossus : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->IsImmuneToPC())
damage = 0;
@@ -295,7 +295,7 @@ struct boss_drakkari_elemental : public ScriptedAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (HealthBelowPct(50))
{
diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
index b4d1b3ecd7d..a69b8783ab7 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
@@ -69,7 +69,7 @@ struct boss_eck : public BossAI
events.ScheduleEvent(EVENT_BERSERK, 60s, 90s); // 60-90 secs according to wowwiki
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_berserk && me->HealthBelowPctDamaged(20, damage))
{
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index d8220e4a6c4..fcc36315e6a 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -139,7 +139,7 @@ struct boss_slad_ran : public BossAI
});
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_phase == Phase::PHASE_NONE && HealthBelowPct(30))
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 42ff3e83f10..5abe0b8bea2 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -493,7 +493,7 @@ struct BloodPrincesBossAI : public BossAI
me->SetHealth(_spawnHealth);
}
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_isEmpowered)
{
@@ -1068,7 +1068,7 @@ struct npc_dark_nucleus : public ScriptedAI
DoCast(who, SPELL_SHADOW_RESONANCE_RESIST);
}
- void DamageTaken(Unit* attacker, uint32& /*damage*/) override
+ void DamageTaken(Unit* attacker, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (attacker == me)
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 0bc3f759d3e..0122053e478 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -347,7 +347,7 @@ struct boss_deathbringer_saurfang : public BossAI
Talk(SAY_KILL);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index 0afb7939c81..157ed3c3baf 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -675,7 +675,7 @@ class npc_gunship : public CreatureScript
me->SetRegenerateHealth(false);
}
- void DamageTaken(Unit* /*source*/, uint32& damage) override
+ void DamageTaken(Unit* /*source*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -960,7 +960,7 @@ struct npc_high_overlord_saurfang_igb : public ScriptedAI
return false;
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(65, damage) && !me->HasAura(SPELL_TASTE_OF_BLOOD))
DoCast(me, SPELL_TASTE_OF_BLOOD, true);
@@ -1214,7 +1214,7 @@ struct npc_muradin_bronzebeard_igb : public ScriptedAI
return false;
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(65, damage) && me->HasAura(SPELL_TASTE_OF_BLOOD))
DoCast(me, SPELL_TASTE_OF_BLOOD, true);
@@ -1445,7 +1445,7 @@ struct npc_gunship_boarding_addAI : public gunship_npc_AI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_usedDesperateResolve)
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index 972b0ee2361..a9651493b49 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -403,7 +403,7 @@ struct boss_lady_deathwhisper : public BossAI
Talk(SAY_KILL);
}
- void DamageTaken(Unit* /*damageDealer*/, uint32& damage) override
+ void DamageTaken(Unit* /*damageDealer*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// phase transition
if (_phase == PHASE_ONE && damage > uint32(me->GetPower(POWER_MANA)))
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index e6a979bbd79..c3f0187e25d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -340,7 +340,7 @@ struct boss_professor_putricide : public BossAI
DoZoneInCombat(summon);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 6247b73161d..9d742bd133c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -402,7 +402,7 @@ struct boss_sindragosa : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_isThirdPhase && !HealthAbovePct(35))
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
index 883e6c046f5..428f8a44a13 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
@@ -677,7 +677,7 @@ struct npc_crok_scourgebane : public EscortAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// check wipe
if (!_wipeCheckTimer)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index acc75c525c8..ceffb7f0222 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -659,7 +659,7 @@ struct boss_the_lich_king : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (events.IsInPhase(PHASE_ONE) && !HealthAbovePct(70))
{
@@ -1281,7 +1281,7 @@ struct npc_shambling_horror_icc : public ScriptedAI
_events.ScheduleEvent(EVENT_ENRAGE, 11s, 14s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_frenzied && IsHeroic() && me->HealthBelowPctDamaged(20, damage))
{
@@ -1438,7 +1438,7 @@ struct npc_valkyr_shadowguard : public ScriptedAI
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 2500ms);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!IsHeroic())
return;
@@ -1707,7 +1707,7 @@ struct npc_terenas_menethil : public ScriptedAI
EngagementOver();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index 3bf12d00ce2..2c641c4186b 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -347,7 +347,7 @@ struct boss_valithria_dreamwalker : public ScriptedAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(25, damage))
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 5cc22887613..b24321559f9 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -372,7 +372,7 @@ struct boss_gothik : public BossAI
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!events.IsInPhase(PHASE_TWO))
damage = 0;
@@ -561,7 +561,7 @@ struct npc_gothik_minion_baseAI : public ScriptedAI
return IsOnSameSide(me, who);
}
- void DamageTaken(Unit* attacker, uint32 &damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{ // do not allow minions to take damage before the gate is opened
if (!_gateIsOpen && (!attacker || !isOnSameSide(attacker)))
damage = 0;
@@ -793,7 +793,7 @@ struct npc_gothik_trigger : public ScriptedAI
void EnterEvadeMode(EvadeReason /*why*/) override { }
void UpdateAI(uint32 /*diff*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*who*/, uint32& damage) override { damage = 0; }
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override { damage = 0; }
Creature* SelectRandomSkullPile()
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 811147bb72b..447cb288525 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -272,7 +272,7 @@ struct boss_kelthuzad : public BossAI
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (events.IsInPhase(PHASE_ONE))
damage = 0;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index 2800b87ef96..b6a34756534 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -163,7 +163,7 @@ struct boss_noth : public BossAI
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override // prevent noth from somehow dying in the balcony phase
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override // prevent noth from somehow dying in the balcony phase
{
if (!events.IsInPhase(PHASE_BALCONY))
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index 45f24d1e00e..7012d142b6e 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -163,7 +163,7 @@ struct boss_sapphiron : public BossAI
Initialize();
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage < me->GetHealth() || !events.IsInPhase(PHASE_FLIGHT))
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
index ce8b5954732..ce586f33fa0 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
@@ -557,7 +557,7 @@ public:
AddThreat(who, 0.0f, feugen);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage < me->GetHealth())
return;
@@ -796,7 +796,7 @@ public:
AddThreat(who, 0.0f, stalagg);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage < me->GetHealth())
return;
@@ -936,7 +936,7 @@ struct npc_tesla : public ScriptedAI
void EnterEvadeMode(EvadeReason /*why*/) override { } // never stop casting due to evade
void UpdateAI(uint32 /*diff*/) override { } // never do anything unless told
void JustEngagedWith(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*who*/, uint32& damage) override { damage = 0; } // no, you can't kill it
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override { damage = 0; } // no, you can't kill it
};
// 28062 - Positive Charge
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 7f9627abcec..879078215c3 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -716,7 +716,7 @@ struct boss_malygos : public BossAI
}
}
- void DamageTaken(Unit* /*cause*/, uint32& damage) override
+ void DamageTaken(Unit* /*cause*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage > me->GetHealth() && _phase != PHASE_THREE)
damage = me->GetHealth() - 1;
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index 1c5e8e8d981..3b3a121e1ed 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -147,7 +147,7 @@ struct boss_keristrasza : public BossAI
_intenseColdList.push_back(guid);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_enrage && me->HealthBelowPctDamaged(25, damage))
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
index f0bf6b2e8c0..8ee87833f93 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
@@ -92,7 +92,7 @@ struct boss_ormorok : public BossAI
Talk(SAY_AGGRO);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!frenzy && HealthBelowPct(25))
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
index 520439fbf54..e8f85b0d0e6 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
@@ -173,7 +173,7 @@ struct boss_eregos : public BossAI
summon->CastSpell(summon, SPELL_PLANAR_BLAST, true);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!IsHeroic())
return;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index bf5e2e25c8c..1f4c23b67bf 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -315,7 +315,7 @@ struct boss_urom : public BossAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// If killed while in center, teleport to a valid ground position before dying
if (damage >= me->GetHealth())
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
index d0fed8e2e5a..f6adf4c462e 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
@@ -181,7 +181,7 @@ struct boss_ionar : public ScriptedAI
}
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) override
+ void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!me->IsVisible())
uiDamage = 0;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
index 6e500733efc..48e42e8665d 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
@@ -172,7 +172,7 @@ struct boss_loken : public BossAI
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(100 - 25 * _healthAmountModifier, damage))
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index 17b5b6a50a3..3f49f348070 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -401,7 +401,7 @@ struct npc_molten_golem : public ScriptedAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
index 8174e6745e0..0fc67ea3555 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
@@ -386,7 +386,7 @@ struct npc_brann_hos : public EscortAI
Start();
}
- void DamageTaken(Unit* /*done_by*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*done_by*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (instance->GetBossState(DATA_TRIBUNAL_OF_AGES) == IN_PROGRESS)
brannSparklinNews = false;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index d05c09edcf4..063f195b02b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -453,7 +453,7 @@ struct boss_algalon_the_observer : public BossAI
me->SetSheath(SHEATH_STATE_UNARMED);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_fightWon)
{
@@ -858,7 +858,7 @@ struct npc_collapsing_star : public PassiveAI
me->DespawnOrUnsummon(1ms);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_dying)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index f98788f926a..222b5bddc1b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -440,7 +440,7 @@ struct npc_feral_defender : public ScriptedAI
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && me->HasAura(SPELL_FERAL_ESSENCE))
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index e133699f660..2612561bf83 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -737,7 +737,7 @@ class boss_flame_leviathan_defense_turret : public CreatureScript
{
boss_flame_leviathan_defense_turretAI(Creature* creature) : TurretAI(creature) { }
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!CanAIAttack(who))
damage = 0;
@@ -908,7 +908,7 @@ class npc_pool_of_tar : public CreatureScript
me->CastSpell(me, SPELL_TAR_PASSIVE, true);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index 9b6fb374e77..0e19d1d0b14 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -330,7 +330,7 @@ class boss_freya : public CreatureScript
Talk(SAY_SLAY);
}
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -838,7 +838,7 @@ class boss_elder_stonebark : public CreatureScript
Talk(SAY_ELDER_AGGRO);
}
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!who || who == me)
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
index c8e8870201d..e9ddc2dd1e8 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -417,7 +417,7 @@ class npc_saronite_vapors : public CreatureScript
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// This can't be on JustDied. In 63322 dummy handler caster needs to be this NPC
// if caster == target then damage mods will increase the damage taken
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 96d07436752..786fca32389 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -298,7 +298,7 @@ class npc_ice_block : public CreatureScript
}
}
- void DamageTaken(Unit* who, uint32& /*damage*/) override
+ void DamageTaken(Unit* who, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (Creature* helper = ObjectAccessor::GetCreature(*me, targetGUID))
{
@@ -393,7 +393,7 @@ class boss_hodir : public CreatureScript
Talk(SAY_SLAY);
}
- void DamageTaken(Unit* who, uint32& damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index 6218529c100..c38c7caf3cc 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -324,7 +324,7 @@ class npc_iron_construct : public CreatureScript
Initialize();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HasAura(RAID_MODE(SPELL_BRITTLE, SPELL_BRITTLE_25)) && damage >= 5000)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 0be09d2470a..a9ee3ca5685 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -698,7 +698,7 @@ class boss_leviathan_mk_ii : public CreatureScript
_setupRocket = true;
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -944,7 +944,7 @@ class boss_vx_001 : public CreatureScript
_fireFighter = false;
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -1128,7 +1128,7 @@ class boss_aerial_command_unit : public CreatureScript
fireFigther = false;
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index 44b8fa3a14d..65693c7a4cf 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -542,7 +542,7 @@ struct boss_razorscale : public BossAI
me->SummonCreature(NPC_RAZORSCALE_SPAWNER, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 15s);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_permaGround && me->HealthBelowPctDamaged(50, damage) && events.IsInPhase(PHASE_GROUND))
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 4d4ddbf3a53..59980325c56 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -899,7 +899,7 @@ class boss_thorim : public CreatureScript
return runicColossus && !runicColossus->IsAlive() && runeGiant && !runeGiant->IsAlive();
}
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (events.IsInPhase(PHASE_1) && CanStartPhase2(attacker))
{
@@ -1153,7 +1153,7 @@ class npc_thorim_pre_phase : public CreatureScript
return !target->GetAffectingPlayer();
}
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// nullify spell damage
if (!attacker || !attacker->GetAffectingPlayer())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index f2c98ea3fd2..b05ceeb4ff6 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -585,7 +585,7 @@ struct npc_boombot : public ScriptedAI
});
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= (me->GetHealth() - me->GetMaxHealth() * 0.5f) && !_boomed)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index 5f7e098a061..13797008a8e 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -715,7 +715,7 @@ class boss_sara : public CreatureScript
_linkData.erase(player1);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -1065,7 +1065,7 @@ class boss_brain_of_yogg_saron : public CreatureScript
_summons.DespawnAll();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(30, damage) && !me->HasAura(SPELL_BRAIN_HURT_VISUAL))
{
@@ -1490,7 +1490,7 @@ class npc_immortal_guardian : public CreatureScript
_events.ScheduleEvent(EVENT_DRAIN_LIFE, 3s, 13s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(1, damage))
damage = me->GetHealth() - me->CountPctFromMaxHealth(1); // or set immune to damage? should be done here or in SPELL_WEAKENED spell script?
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
index 52f3a0c1cd9..35f691d4a4d 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
@@ -113,7 +113,7 @@ struct boss_ingvar_the_plunderer : public BossAI
_Reset();
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && events.IsInPhase(PHASE_HUMAN))
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index e69f93831e4..bb21d67d6d2 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -232,7 +232,7 @@ struct npc_vrykul_skeleton : public ScriptedAI
events.ScheduleEvent(EVENT_DECREPIFY, 4s, 6s);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
index 7629ec94c6e..eab6e918cc5 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
@@ -212,7 +212,7 @@ struct boss_skarvald_the_constructor : public generic_boss_controllerAI
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!Enraged && !IsInGhostForm && me->HealthBelowPctDamaged(15, damage))
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 5d850c00c30..eb10452a775 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -502,7 +502,7 @@ struct npc_scourge_hulk : public ScriptedAI
return type == DATA_INCREDIBLE_HULK ? killedByRitualStrike : 0;
}
- void DamageTaken(Unit* attacker, uint32 &damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && attacker && attacker->GetEntry() == NPC_SVALA_SORROWGRAVE)
killedByRitualStrike = true;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index 6cd73d9e0f0..e3f60122e9a 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -200,7 +200,7 @@ struct boss_ymiron : public BossAI
summons.Summon(summon);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(100 - HealthAmountMultipler * HealthAmountModifier, damage) && !(damage >= me->GetHealth()))
{
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index a58ac368564..b3e6a626256 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -260,7 +260,7 @@ struct npc_ichor_globule : public ScriptedAI
// on retail spell casted on a creature's death are not casted after death but keeping mob at 1 health, casting it and then letting the mob die.
// this feature should be still implemented
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_splashTriggered)
return;
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index 5a1f9febe1c..f4cfa028751 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -71,7 +71,7 @@ public:
me->SetFaction(FACTION_MONSTER);
}
- void DamageTaken(Unit* pDoneBy, uint32& uiDamage) override
+ void DamageTaken(Unit* pDoneBy, uint32& uiDamage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (uiDamage > me->GetHealth() && pDoneBy && pDoneBy->GetTypeId() == TYPEID_PLAYER)
{
@@ -227,7 +227,7 @@ class npc_tournament_training_dummy : public CreatureScript
Reset();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;
events.RescheduleEvent(EVENT_DUMMY_RESET, 10s);
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index dbb0225ceb1..dbf030cafdb 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -792,7 +792,7 @@ public:
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
index a33153c43a7..db3559a32de 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
@@ -92,7 +92,7 @@ struct boss_anzu : public BossAI
_JustDied();
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) override
+ void DamageTaken(Unit* /*killer*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(33, damage) && !_under33Percent)
{
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
index 77eed42e9fe..0206f61eba0 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -124,7 +124,7 @@ struct boss_darkweaver_syth : public BossAI
summons.Summon(summoned);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(90, damage) && !_summon90)
{
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp
index da3ce3a033e..c832d7bbdcb 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp
@@ -124,7 +124,7 @@ struct boss_talon_king_ikiss : public BossAI
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!ManaShield && me->HealthBelowPctDamaged(20, damage))
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 7b9215be52a..dcc8271d137 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -711,7 +711,7 @@ struct boss_illidan_stormrage : public BossAI
}
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && (!who || who->GetGUID() != me->GetGUID()))
{
@@ -1203,7 +1203,7 @@ struct npc_akama_illidan : public ScriptedAI
}
}
- void DamageTaken(Unit* /*who*/, uint32 &damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
@@ -1660,7 +1660,7 @@ struct npc_maiev : public ScriptedAI
_canDown = true;
}
- void DamageTaken(Unit* /*who*/, uint32 &damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && _canDown)
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
index f29b0fae409..466532df271 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
@@ -274,7 +274,7 @@ struct IllidariCouncilBossAI : public BossAI
illidari->AI()->EnterEvadeMode(why);
}
- void DamageTaken(Unit* who, uint32 &damage) override
+ void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && (!who || who->GetGUID() != me->GetGUID()))
damage = me->GetHealth() - 1;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index 830acc59b64..9a0f3bda655 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -134,7 +134,7 @@ struct boss_mother_shahraz : public BossAI
_DespawnAtEvade();
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_enraged && me->HealthBelowPctDamaged(10, damage))
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
index c8785f30bdf..0bde38f7a19 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -311,7 +311,7 @@ struct boss_essence_of_suffering : public BossAI
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -422,7 +422,7 @@ struct boss_essence_of_desire : public BossAI
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -621,7 +621,7 @@ struct npc_enslaved_soul : public ScriptedAI
me->m_Events.AddEventAtOffset([this]() { me->KillSelf(); }, 500ms);
}
- void DamageTaken(Unit* /*done_by*/, uint32& damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth())
{
@@ -683,7 +683,7 @@ struct npc_reliquary_combat_trigger : public ScriptedAI
}
}
- void DamageTaken(Unit* /*done_by*/, uint32& damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;
}
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 5a173298087..52887bccfa6 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -397,7 +397,7 @@ struct npc_akama_shade : public ScriptedAI
}
}
- void DamageTaken(Unit* /*who*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*who*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPct(20) && !_hasYelledOnce)
{
@@ -982,7 +982,7 @@ struct npc_ashtongue_spiritbinder : public ScriptedAI
_events.ScheduleEvent(EVENT_SPIRIT_HEAL, 5s, 6s);
}
- void DamageTaken(Unit* /*who*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*who*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!_spiritMend)
if (HealthBelowPct(30))
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
index ab2389ced15..7293fc9f6ee 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
@@ -126,7 +126,7 @@ public:
unit->RemoveAurasDueToSpell(SPELL_INSIDIOUS_WHISPER);
}
- void DamageTaken(Unit* done_by, uint32 &damage) override
+ void DamageTaken(Unit* done_by, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!done_by || (done_by->GetGUID() != victimGUID && done_by->GetGUID() != me->GetGUID()))
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
index a67aa4a0f69..3ef45fe782c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -88,7 +88,7 @@ public:
instance->SetData(DATA_DISTILLER, IN_PROGRESS);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
+ void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->GetHealth() <= damage)
instance->SetData(DATA_DISTILLER, DONE);
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index 3f25aaba4f0..bf06102bb4d 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -184,7 +184,7 @@ struct boss_magtheridon : public BossAI
Talk(SAY_BANISHED);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) override
+ void DamageTaken(Unit* /*who*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(30, damage) && !events.IsInPhase(PHASE_3))
{
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index 77698b3755c..9047b6cde0e 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -194,7 +194,7 @@ class boss_alar : public CreatureScript
ScriptedAI::AttackStart(who);
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) override
+ void DamageTaken(Unit* /*killer*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && Phase1)
{
@@ -516,7 +516,7 @@ class npc_ember_of_alar : public CreatureScript
me->setDeathState(JUST_DIED);
}
- void DamageTaken(Unit* killer, uint32& damage) override
+ void DamageTaken(Unit* killer, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && killer != me && !toDie)
{
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index b35812c58c6..cb6490b171e 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -445,7 +445,7 @@ struct boss_kaelthas : public BossAI
}
}
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (_phase == PHASE_NONE)
{
@@ -802,7 +802,7 @@ struct advisorbase_ai : public ScriptedAI
}
}
- void DamageTaken(Unit* killer, uint32 &damage) override
+ void DamageTaken(Unit* killer, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage >= me->GetHealth() && !_inFakeDeath && !_hasRessurrected)
{
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
index 19c462c2a07..11dbd778ab8 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
@@ -92,7 +92,7 @@ struct boss_pathaleon_the_calculator : public BossAI
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(20, damage) && !me->HasAura(SPELL_FRENZY))
{
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
index 4cc3cf527ea..fe845de505d 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
@@ -86,7 +86,7 @@ class boss_commander_sarannis : public CreatureScript
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) override
+ void DamageTaken(Unit* /*killer*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(50, damage) && _phase)
{
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
index 4d30e5724b6..1af1d6c10cd 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
@@ -91,7 +91,7 @@ class boss_thorngrin_the_tender : public CreatureScript
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) override
+ void DamageTaken(Unit* /*killer*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (me->HealthBelowPctDamaged(50, damage) && _phase1)
{
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index 3ebfa24c0d4..2f5291af8e0 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -553,7 +553,7 @@ public:
me->SetImmuneToPC(true);
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (damage > me->GetHealth() || me->HealthBelowPctDamaged(20, damage))
{
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index 70b94a9e0d8..37f5ec0a41a 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -529,7 +529,7 @@ public:
});
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!has_fled && me->GetHealth() > damage && me->HealthBelowPctDamaged(15, damage))
{
@@ -581,7 +581,7 @@ public:
used_bloodthirst = false;
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!used_bloodthirst && me->GetHealth() > damage && me->HealthBelowPctDamaged(50, damage))
{
@@ -610,7 +610,7 @@ public:
used_transform = false;
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!used_transform && me->GetHealth() > damage && me->HealthBelowPctDamaged(65, damage))
{
@@ -651,7 +651,7 @@ public:
});
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!used_healing && me->GetHealth() > damage && me->HealthBelowPctDamaged(50, damage))
{
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index b30ef7719a6..b74a428c7ec 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -94,7 +94,7 @@ public:
UnkorUnfriendly_Timer = 60000;
}
- void DamageTaken(Unit* done_by, uint32 &damage) override
+ void DamageTaken(Unit* done_by, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!done_by || !me->HealthBelowPctDamaged(30, damage))
return;
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 8535ebca83f..d3d915bd10d 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -278,7 +278,7 @@ class boss_ysondre : public CreatureScript
}
// Summon druid spirits on 75%, 50% and 25% health
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!HealthAbovePct(100 - 25 * _stage))
{
@@ -371,7 +371,7 @@ class boss_lethon : public CreatureScript
WorldBossAI::JustEngagedWith(who);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!HealthAbovePct(100 - 25 * _stage))
{
@@ -510,7 +510,7 @@ class boss_emeriss : public CreatureScript
WorldBossAI::JustEngagedWith(who);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
if (!HealthAbovePct(100 - 25 * _stage))
{
@@ -613,7 +613,7 @@ class boss_taerar : public CreatureScript
--_shades;
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
// At 75, 50 or 25 percent health, we need to activate the shades and go "banished"
// Note: _stage holds the amount of times they have been summoned
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index bd568901191..464705fea2e 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -1461,7 +1461,7 @@ struct npc_training_dummy : NullCreatureAI
{
npc_training_dummy(Creature* creature) : NullCreatureAI(creature) { }
- void DamageTaken(Unit* attacker, uint32& damage) override
+ void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
{
damage = 0;