diff --git a/src/Instances/Ragefire/boss_bazzalan.cpp b/src/Instances/Ragefire/boss_bazzalan.cpp new file mode 100644 index 0000000..a3c7004 --- /dev/null +++ b/src/Instances/Ragefire/boss_bazzalan.cpp @@ -0,0 +1,36 @@ +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "CreatureAI.h" +#include "MpLogger.h" + +class Ragefire_Bazzalan_Mythic : public CreatureScript +{ +public: + Ragefire_Bazzalan_Mythic() : CreatureScript("Ragefire_Bazzalan_Mythic") { } + + struct Ragefire_Bazzalan_MythicAI : public ScriptedAI + { + Ragefire_Bazzalan_MythicAI(Creature* creature) : ScriptedAI(creature) { } + + void Reset() override + { + MpLogger::debug(" >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ragefire Bazzalan Mythic reset, restoring custom health"); + uint32 health = 1000000; // Ensure max health is reset if the boss resets + me->SetCreateHealth(health); + me->SetMaxHealth(health); + me->SetHealth(health); + me->ResetPlayerDamageReq(); + me->SetModifierValue(UNIT_MOD_HEALTH, BASE_VALUE, (float)health); + } + }; + + CreatureAI* GetAI(Creature* creature) const override + { + return new Ragefire_Bazzalan_MythicAI(creature); + } +}; + +void AddSC_Ragefire_Bazzalan_Mythic() +{ + new Ragefire_Bazzalan_Mythic(); +} diff --git a/src/MythicPlus_loader.cpp b/src/MythicPlus_loader.cpp index bd63251..e6bcf0a 100755 --- a/src/MythicPlus_loader.cpp +++ b/src/MythicPlus_loader.cpp @@ -1,3 +1,5 @@ +// #include "ScriptMgr.h" +// #include "Instances/Ragefire/boss_bazzalan.cpp" void Addmod_mythic_plusScripts(); void Add_MP_AllCreatureScripts(); @@ -9,6 +11,9 @@ void Add_MP_PlayerScripts(); void Add_MP_UnitScripts(); void Add_MP_WorldScripts(); +// Mythic custom encounters for mythic+ dungeons +void AddSC_Ragefire_Bazzalan_Mythic(); + void Addmod_mythic_plusScripts() { Add_MP_AllCreatureScripts(); @@ -19,4 +24,7 @@ void Addmod_mythic_plusScripts() // Add_MP_PlayerScripts(); Add_MP_UnitScripts(); Add_MP_WorldScripts(); + + // Boss custom changes for mythic+ dungeons + AddSC_Ragefire_Bazzalan_Mythic(); }