mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-15 10:00:28 +00:00
fix(Scripts/Karazhan): Cleanup in opera event (#2163)
This commit is contained in:
@@ -665,6 +665,7 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
CycloneTimer = 22000;
|
||||
ChainLightningTimer = 8000;
|
||||
}
|
||||
@@ -689,12 +690,7 @@ public:
|
||||
{
|
||||
Talk(SAY_CRONE_DEATH);
|
||||
|
||||
instance->SetData(DATA_OPERA_PERFORMANCE, DONE);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
|
||||
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
@@ -702,9 +698,6 @@ public:
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
|
||||
if (CycloneTimer <= diff)
|
||||
{
|
||||
if (Creature* Cyclone = DoSpawnCreature(CREATURE_CYCLONE, float(urand(0, 9)), float(urand(0, 9)), 0, 0, TEMPSUMMON_TIMED_DESPAWN, 15000))
|
||||
@@ -880,12 +873,7 @@ public:
|
||||
{
|
||||
DoPlaySoundToSet(me, SOUND_WOLF_DEATH);
|
||||
|
||||
instance->SetData(DATA_OPERA_PERFORMANCE, DONE);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
|
||||
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff)
|
||||
@@ -1130,11 +1118,7 @@ public:
|
||||
{
|
||||
Talk(SAY_JULIANNE_DEATH02);
|
||||
|
||||
instance->SetData(DATA_OPERA_PERFORMANCE, DONE);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
@@ -1283,12 +1267,7 @@ public:
|
||||
{
|
||||
Talk(SAY_ROMULO_DEATH);
|
||||
|
||||
instance->SetData(DATA_OPERA_PERFORMANCE, DONE);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
|
||||
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "Creature.h"
|
||||
#include "GameObject.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "karazhan.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "Map.h"
|
||||
#include "Player.h"
|
||||
|
||||
const Position OptionalSpawn[] =
|
||||
{
|
||||
@@ -122,7 +126,7 @@ public:
|
||||
HandleGameObject(m_uiStageDoorRightGUID, true);
|
||||
if (GameObject* sideEntrance = instance->GetGameObject(m_uiSideEntranceDoor))
|
||||
sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
|
||||
instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, nullptr);
|
||||
}
|
||||
break;
|
||||
case DATA_CHESS:
|
||||
@@ -136,6 +140,11 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
void SetData64(uint32 type, uint64 data) override
|
||||
{
|
||||
if (type == DATA_IMAGE_OF_MEDIVH)
|
||||
ImageGUID = data;
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
@@ -193,8 +202,6 @@ public:
|
||||
case GO_DUST_COVERED_CHEST:
|
||||
DustCoveredChest = go->GetGUID();
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
switch (OperaEvent)
|
||||
@@ -253,8 +260,6 @@ public:
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 data) const override
|
||||
|
||||
@@ -339,6 +339,7 @@ public:
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
CloseGossipMenuFor(player);
|
||||
pBarnesAI->m_uiEventId = urand(EVENT_OZ, EVENT_RAJ);
|
||||
pBarnesAI->StartEvent();
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
|
||||
Reference in New Issue
Block a user