fix(Scripts/TempleOfAhnQiraj): Battleground Sartura should not be ski… (#11596)

* fix(Scripts/TempleOfAhnQiraj): Battleground Sartura should not be skippable

* Update instance_temple_of_ahnqiraj.cpp
This commit is contained in:
Skjalf
2022-05-03 07:26:42 -03:00
committed by GitHub
parent 12a0c6f1bc
commit e7531fa2a9
3 changed files with 43 additions and 8 deletions
@@ -0,0 +1,4 @@
--
DELETE FROM `areatrigger_scripts` WHERE `entry` = 4052 AND `ScriptName` = 'at_battleguard_sartura';
INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES
(4052, 'at_battleguard_sartura');
@@ -23,9 +23,15 @@ SDCategory: Temple of Ahn'Qiraj
EndScriptData */ EndScriptData */
#include "InstanceScript.h" #include "InstanceScript.h"
#include "Player.h"
#include "ScriptMgr.h" #include "ScriptMgr.h"
#include "temple_of_ahnqiraj.h" #include "temple_of_ahnqiraj.h"
ObjectData const creatureData[] =
{
{ NPC_SARTURA, DATA_SARTURA },
};
class instance_temple_of_ahnqiraj : public InstanceMapScript class instance_temple_of_ahnqiraj : public InstanceMapScript
{ {
public: public:
@@ -38,7 +44,10 @@ public:
struct instance_temple_of_ahnqiraj_InstanceMapScript : public InstanceScript struct instance_temple_of_ahnqiraj_InstanceMapScript : public InstanceScript
{ {
instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map) { } instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map)
{
LoadObjectData(creatureData, nullptr);
}
//If Vem is dead... //If Vem is dead...
bool IsBossDied[3]; bool IsBossDied[3];
@@ -89,12 +98,8 @@ public:
ViscidusGUID = creature->GetGUID(); ViscidusGUID = creature->GetGUID();
break; break;
} }
}
bool IsEncounterInProgress() const override InstanceScript::OnCreatureCreate(creature);
{
//not active in AQ40
return false;
} }
uint32 GetData(uint32 type) const override uint32 GetData(uint32 type) const override
@@ -174,7 +179,31 @@ public:
}; };
}; };
// 4052, At Battleguard Sartura
class at_battleguard_sartura : public AreaTriggerScript
{
public:
at_battleguard_sartura() : AreaTriggerScript("at_battleguard_sartura") { }
bool OnTrigger(Player* player, const AreaTrigger* /*at*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
{
if (Creature* sartura = instance->GetCreature(DATA_SARTURA))
{
if (sartura->IsAlive())
{
sartura->SetInCombatWith(player);
}
}
}
return true;
}
};
void AddSC_instance_temple_of_ahnqiraj() void AddSC_instance_temple_of_ahnqiraj()
{ {
new instance_temple_of_ahnqiraj(); new instance_temple_of_ahnqiraj();
new at_battleguard_sartura();
} }
@@ -37,7 +37,8 @@ enum DataTypes
DATA_VEKNILASH_DEATH = 11, DATA_VEKNILASH_DEATH = 11,
DATA_BUG_TRIO_DEATH = 14, DATA_BUG_TRIO_DEATH = 14,
DATA_CTHUN_PHASE = 20, DATA_CTHUN_PHASE = 20,
DATA_VISCIDUS = 21 DATA_VISCIDUS = 21,
DATA_SARTURA = 22
}; };
enum Creatures enum Creatures
@@ -61,7 +62,8 @@ enum Creatures
NPC_KRI = 15511, NPC_KRI = 15511,
NPC_VEKLOR = 15276, NPC_VEKLOR = 15276,
NPC_VEKNILASH = 15275, NPC_VEKNILASH = 15275,
NPC_OURO = 15517 NPC_OURO = 15517,
NPC_SARTURA = 15516
}; };
template <class AI, class T> template <class AI, class T>