77#define OZ_GM_GOSSIP1 "[GM] Change event to EVENT_OZ"
78#define OZ_GM_GOSSIP2 "[GM] Change event to EVENT_HOOD"
79#define OZ_GM_GOSSIP3 "[GM] Change event to EVENT_RAJ"
124#define SPAWN_O 4.738f
273 for (; index < count; ++index)
276 float PosX =
Spawns[index][1];
296 pSpotlight->DespawnOrUnsummon();
320 if (i->GetSource()->IsAlive() && !i->GetSource()->IsGameMaster())
406 return GetKarazhanAI<npc_barnesAI>(creature);
427static float MedivPos[4] = {-11161.49f, -1902.24f, 91.48f, 1.94f};
437 return GetKarazhanAI<npc_image_of_medivhAI>(creature);
518 case 0:
return 9999999;
561 arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f);
562 arca->setActive(
true);
563 arca->SetFarVisible(
true);
564 arca->InterruptNonMeleeSpells(
true);
579 if (i->GetSource()->IsAlive())
582 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)
#define RegisterSpellScript(spell_script)
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
void AddGossipItemFor(Player *player, GossipOptionIcon icon, std::string const &text, uint32 sender, uint32 action)
void ClearGossipMenuFor(Player *player)
void InitGossipMenuFor(Player *player, uint32 menuId)
void CloseGossipMenuFor(Player *player)
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_UNINTERACTIBLE
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={})
std::string ToString() const
static ObjectGuid GetGUID(Object const *o)
bool IsGameMaster() const
PlayerMenu * PlayerTalkClass
HookList< HitHandler > AfterHit
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)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_karazhan_charge)
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)
bool HasEscortState(uint32 escortState)
void EnterEvadeMode(EvadeReason=EVADE_REASON_OTHER) override
void LoadPath(uint32 pathId)
void SetEscortPaused(bool on)
void UpdateAI(uint32 diff) override
float GetPositionZ() const
void SetOrientation(float orientation)
float GetPositionX() const
float GetPositionY() 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)