76#define OZ_GM_GOSSIP1 "[GM] Change event to EVENT_OZ"
77#define OZ_GM_GOSSIP2 "[GM] Change event to EVENT_HOOD"
78#define OZ_GM_GOSSIP3 "[GM] Change event to EVENT_RAJ"
123#define SPAWN_O 4.738f
202 spotlight->SetUninteractible(
true);
272 for (; index < count; ++index)
275 float PosX =
Spawns[index][1];
295 pSpotlight->DespawnOrUnsummon();
319 if (i->GetSource()->IsAlive() && !i->GetSource()->IsGameMaster())
405 return GetKarazhanAI<npc_barnesAI>(creature);
426static float MedivPos[4] = {-11161.49f, -1902.24f, 91.48f, 1.94f};
436 return GetKarazhanAI<npc_image_of_medivhAI>(creature);
517 case 0:
return 9999999;
560 arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f);
561 arca->setActive(
true);
562 arca->SetFarVisible(
true);
563 arca->InterruptNonMeleeSpells(
true);
578 if (i->GetSource()->IsAlive())
581 i->GetSource()->CompleteQuest(9645);
#define TC_LOG_DEBUG(filterType__,...)
@ TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
@ QUEST_STATUS_INCOMPLETE
uint32 urand(uint32 min, uint32 max)
void AddGossipItemFor(Player *player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action)
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
void ClearGossipMenuFor(Player *player)
void InitGossipMenuFor(Player *player, uint32 menuId)
void CloseGossipMenuFor(Player *player)
@ UNIT_FLAG_NON_ATTACKABLE
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
virtual bool SetBossState(uint32 id, EncounterState state)
virtual ObjectGuid GetGuidData(uint32 type) const override
void DoUseDoorOrButton(ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
EncounterState GetBossState(uint32 id) const
PlayerList const & GetPlayers() const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
std::string ToString() const
static ObjectGuid GetGUID(Object const *o)
bool IsGameMaster() const
std::unique_ptr< PlayerMenu > PlayerTalkClass
SpellCastResult DoCast(uint32 spellId)
MotionMaster * GetMotionMaster()
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetUnitFlag(UnitFlags flags)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
virtual void SetGuidData(uint32, ObjectGuid)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
static float ArcanagosPos[4]
static Dialogue HoodDialogue[]
@ SPELL_CONFLAGRATION_BLAST
static Dialogue OzDialogue[]
static constexpr uint32 PATH_ESCORT_BARNES
static Dialogue RAJDialogue[]
@ DATA_OPERA_OZ_DEATHCOUNT
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void Start(bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
void EnterEvadeMode(EvadeReason why) override
bool HasEscortState(uint32 escortState)
void LoadPath(uint32 pathId)
void SetEscortPaused(bool on)
void UpdateAI(uint32 diff) override
constexpr void SetOrientation(float orientation)
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetPositionZ() const
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override
void WaypointReached(uint32 waypointId, uint32) override
bool OnGossipHello(Player *player) override
InstanceScript * instance
ObjectGuid m_uiSpotlightGUID
npc_barnesAI(Creature *creature)
uint32 FireArcanagosTimer
void JustEngagedWith(Unit *) override
void MovementInform(uint32 type, uint32 id) override
npc_image_of_medivhAI(Creature *creature)
InstanceScript * instance
void UpdateAI(uint32 diff) override
uint32 NextStep(uint32 step)