16#define GOSSIP_ITEM_DRAKES "So where do we go from here?"
17#define GOSSIP_ITEM_BELGARISTRASZ1 "I want to fly on the wings of the Red Flight"
18#define GOSSIP_ITEM_BELGARISTRASZ2 "What abilities do Ruby Drakes have?"
19#define GOSSIP_ITEM_VERDISA1 "I want to fly on the wings of the Green Flight"
20#define GOSSIP_ITEM_VERDISA2 "What abilities do Emerald Drakes have?"
21#define GOSSIP_ITEM_ETERNOS1 "I want to fly on the wings of the Bronze Flight"
22#define GOSSIP_ITEM_ETERNOS2 "What abilities do Amber Drakes have?"
24#define HAS_ESSENCE(a) ((a)->HasItemCount(ITEM_EMERALD_ESSENCE) || (a)->HasItemCount(ITEM_AMBER_ESSENCE) || (a)->HasItemCount(ITEM_RUBY_ESSENCE))
103 player->PlayerTalkClass->ClearMenus();
104 switch (creature->GetEntry())
129 player->CLOSE_GOSSIP_MENU();
161 player->CLOSE_GOSSIP_MENU();
193 player->CLOSE_GOSSIP_MENU();
209 if (creature->IsQuestGiver())
210 player->PrepareQuestMenu(creature->GetGUID());
262 me->DespawnOrUnsummon(60000);
264 if (summoner->GetEntry() ==
NPC_UROM)
267 me->DespawnOrUnsummon(60000);
326 eregos->DespawnOrUnsummon();
329 me->SetFacingToObject(summoner);
339 me->GetMotionMaster()->MovePoint(0, pos);
345 me->SetDisableGravity(
false);
393 if (
me->GetHealthPct() <= 40.0f)
417 me->DespawnOrUnsummon(2050);
418 me->SetOrientation(2.5f);
422 me->GetPosition(&pos);
426 me->GetMotionMaster()->MovePoint(1, pos);
456 for (
uint32 i = 0; i < 5; ++i)
485 Position offset = {0.0f, 0.0f, 12.0f, 0.0f};
494 Position offset = {0.0f, 0.0f, 12.0f, 0.0f};
550 amount =
int32(caster->CountPctFromMaxHealth(5));
552 canBeRecalculated =
false;
std::vector< ItemPosCount > ItemPosCountVec
@ SPELL_EFFECT_SCHOOL_DAMAGE
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_CONTROL_VEHICLE
@ SPELL_AURA_PERIODIC_HEAL
@ AURA_EFFECT_HANDLE_REAL
#define SpellEffectFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
CreatureScript(const char *name)
WorldLocation const * GetExplTargetDest()
void SetExplTargetDest(WorldLocation &loc)
HookList< EffectHandler > OnEffectHit
HookList< EffectHandler > OnEffectHitTarget
WorldLocation * GetHitDest()
void SetHitDamage(int32 damage)
HookList< EffectHandler > OnEffectLaunch
SpellScriptLoader(const char *name)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
InstanceScript * GetInstanceScript()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_image_belgaristrasz()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_ruby_emerald_amber_drake()
npc_verdisa_beglaristrasz_eternos()
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
void ChangeSummonPos(SpellEffIndex)
PrepareSpellScript(spell_call_ruby_emerald_amber_drake_SpellScript)
void ModDestHeight(SpellEffIndex)
spell_call_ruby_emerald_amber_drake()
SpellScript * GetSpellScript() const OVERRIDE
void Apply(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gen_stop_time_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
void HandleEffectCalcAmount(AuraEffect const *, int32 &amount, bool &canBeRecalculated)
PrepareAuraScript(spell_oculus_dream_funnel_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_oculus_dream_funnel()
void HandleDamageCalc(SpellEffIndex)
PrepareSpellScript(spell_oculus_touch_the_nightmare_SpellScript)
spell_oculus_touch_the_nightmare()
SpellScript * GetSpellScript() const OVERRIDE
@ WHISPER_DRAKES_LOWHEALTH
@ WHISPER_DRAKES_ABILITIES
#define GOSSIP_ITEM_DRAKES
@ SPELL_EMERALD_DREAM_FUNNEL
@ SPELL_RUBY_EVASIVE_MANEUVERS
@ SPELL_EMERALD_DRAKE_SADDLE
@ SPELL_RUBY_DRAKE_SADDLE
@ SPELL_EMERALD_TOUCH_THE_NIGHTMARE
@ SPELL_RUBY_EVASIVE_AURA
@ SPELL_RUBY_SEARING_WRATH
@ SPELL_RIDE_EMERALD_DRAKE_QUE
@ SPELL_RIDE_AMBER_DRAKE_QUE
@ SPELL_AMBER_TEMPORAL_RIFT
@ SPELL_EMERALD_LEECHING_POISON
@ SPELL_AMBER_DRAKE_SADDLE
@ SPELL_AMBER_SHOCK_LANCE
@ SPELL_RIDE_RUBY_DRAKE_QUE
#define GOSSIP_ITEM_VERDISA2
#define GOSSIP_ITEM_BELGARISTRASZ2
#define GOSSIP_ITEM_ETERNOS1
@ GOSSIP_TEXTID_BELGARISTRASZ2
@ GOSSIP_TEXTID_BELGARISTRASZ3
@ GOSSIP_TEXTID_BELGARISTRASZ1
#define GOSSIP_ITEM_VERDISA1
#define GOSSIP_ITEM_ETERNOS2
#define GOSSIP_ITEM_BELGARISTRASZ1
@ NPC_AMBER_DRAKE_VEHICLE
@ NPC_EMERALD_DRAKE_VEHICLE
void GetPosition(float &x, float &y) const
void RelocateOffset(Position const &offset)
ScriptedAI(Creature *creature)
npc_image_belgaristraszAI(Creature *creature)
void IsSummonedBy(Unit *summoner) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void MovementInform(uint32 type, uint32 id) OVERRIDE
InstanceScript * instance
npc_ruby_emerald_amber_drakeAI(Creature *creature)
uint32 WelcomeSequelTimer
void IsSummonedBy(Unit *summoner) OVERRIDE
void MovementInform(uint32, uint32 id) OVERRIDE
npc_verdisa_beglaristrasz_eternosAI(Creature *creature)