41 static_assert(
DATA_UPPERSPIRE_TELE_ACT == 41,
"icecrown_citadel.h DATA_UPPERSPIRE_TELE_ACT set to value != 41, gossip condition of the teleporters won't work as intended.");
102 transport->RemovePassenger(target);
#define RegisterGameObjectAIWithFactory(ai_name, factory_fn)
#define RegisterSpellScript(spell_script)
void ClearGossipMenuFor(Player *player)
void CloseGossipMenuFor(Player *player)
@ SPELL_FAILED_AFFECTING_COMBAT
@ SPELL_FAILED_BAD_TARGETS
#define SpellCheckCastFn(F)
GameObjectAI(GameObject *go, uint32 scriptId={}) noexcept
EncounterState GetBossState(uint32 id) const
HookList< CheckCastHandler > OnCheckCast
Unit * GetExplTargetUnit() const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TransportBase * GetTransport() const
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
at_frozen_throne_teleport()
void OnPrecast() override
SpellCastResult CheckCombat() const
void AddSC_icecrown_citadel_teleport()
static constexpr std::array< uint32, 7 > TeleportSpells
@ ORATORY_OF_THE_DAMNED_TELEPORT
@ DEATHBRINGER_S_RISE_TELEPORT
@ SINDRAGOSA_S_LAIR_TELEPORT
@ LIGHT_S_HAMMER_TELEPORT
@ RAMPART_OF_SKULLS_TELEPORT
@ DATA_UPPERSPIRE_TELE_ACT
@ DATA_BLOOD_QUEEN_LANA_THEL
@ DATA_PROFESSOR_PUTRICIDE
AI * GetIcecrownCitadelAI(T *obj)
bool OnGossipSelect(Player *player, uint32, uint32 gossipListId) override