147 if (gossipListId >= 1 && gossipListId <= 3)
149 if (gossipListId == 2)
151 else if (gossipListId == 3)
159 if (gossipListId >= 1 && gossipListId <= 3)
161 if (gossipListId == 2)
163 else if (gossipListId == 3)
171 if (gossipListId <= 2)
173 if (gossipListId == 1)
175 else if (gossipListId == 2)
266 eregos->DespawnOrUnsummon();
358 Position offset = { 10.0f, 10.0f, 12.0f, 0.0f };
386 Position const offset = { 0.0f, 0.0f, 12.0f, 0.0f };
458 damage += shockCharges->GetAmount();
489 for (
uint32 i = 0; i < 5; ++i)
513 if (!damageInfo || !damageInfo->
GetDamage())
524 const_cast<AuraEffect*
>(aurEff)->SetAmount(amount);
557 amount =
int32(caster->CountPctFromMaxHealth(5));
559 canBeRecalculated =
false;
std::vector< ItemPosCount > ItemPosCountVec
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCHOOL_DAMAGE
@ TARGET_DEST_CASTER_FRONT
@ AURA_REMOVE_BY_ENEMY_SPELL
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_PERIODIC_HEAL
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define SpellDestinationTargetSelectFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
SpellEffectInfo const & GetSpellEffectInfo() const
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
void Remove(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
HookList< EffectProcHandler > OnEffectProc
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
EncounterState GetBossState(uint32 id) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
Item * StoreNewItem(ItemPosCountVec const &pos, uint32 item, bool update, int32 randomPropertyId=0, GuidSet const &allowedLooters=GuidSet())
uint32 DestroyItemCount(uint32 item, uint32 count, bool update, bool unequip_check=false)
void SendNewItem(Item *item, uint32 count, bool received, bool created, bool broadcast=false, bool sendChatMessage=true)
InventoryResult CanStoreNewItem(uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 item, uint32 count, uint32 *no_space_count=nullptr) const
PlayerMenu * PlayerTalkClass
DamageInfo * GetDamageInfo() const
void SetEffectValue(int32 value)
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
Unit * GetHitUnit() const
int32 GetEffectValue() const
HookList< EffectHandler > OnEffectHitTarget
HookList< EffectHandler > OnEffectLaunchTarget
void SetHitDamage(int32 damage)
float GetHealthPct() const
ObjectGuid GetCreatorGUID() const
MotionMaster * GetMotionMaster()
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetFacingToObject(WorldObject const *object, bool force=true, uint32 movementId=EVENT_FACE)
void RemoveAuraFromStack(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetNpcFlag(NPCFlags flags)
void SetSpeedRate(UnitMoveType mtype, float rate)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
virtual uint32 GetData(uint32) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void SetDest(SpellDestination &dest)
PrepareSpellScript(spell_oculus_call_ruby_emerald_amber_drake)
void HandleEffectCalcAmount(AuraEffect const *, int32 &amount, bool &canBeRecalculated)
PrepareAuraScript(spell_oculus_dream_funnel)
void HandleProc(AuraEffect const *, ProcEventInfo &)
PrepareAuraScript(spell_oculus_evasive_maneuvers)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_oculus_ride_ruby_emerald_amber_drake_que)
void HandlePeriodic(AuraEffect const *aurEff)
PrepareSpellScript(spell_oculus_shock_lance)
bool Validate(SpellInfo const *) override
void CalcDamage(SpellEffIndex)
void Apply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_oculus_stop_time)
PrepareAuraScript(spell_oculus_temporal_rift)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
void HandleDamageCalc(SpellEffIndex)
PrepareSpellScript(spell_oculus_touch_the_nightmare)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
@ WHISPER_GPS_1_CONSTRUCT
@ WHISPER_GPS_10_CONSTRUCTS
@ WHISPER_DRAKES_LOWHEALTH
@ WHISPER_DRAKES_ABILITIES
@ SPELL_AMBER_SHOCK_CHARGE
@ 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_RUBY_EVASIVE_CHARGES
@ 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
@ SPELL_CREATE_AMBER_ESSENCE
@ SPELL_CREATE_RUBY_ESSENCE
@ SPELL_CREATE_EMERALD_ESSENCE
@ GOSSIP_MENU_BELGARISTRASZ
@ NPC_AMBER_DRAKE_VEHICLE
@ NPC_EMERALD_DRAKE_VEHICLE
#define RegisterOculusCreatureAI(ai_name)
void SetOrientation(float orientation)
void GetPosition(float &x, float &y) const
void RelocateOffset(Position const &offset)
void RelocateOffset(Position const &offset)
void IsSummonedBy(WorldObject *summoner) override
npc_image_belgaristrasz(Creature *creature)
InstanceScript * _instance
npc_ruby_emerald_amber_drake(Creature *creature)
void MovementInform(uint32 type, uint32 id) override
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void IsSummonedBy(WorldObject *summoner) override
void PassengerBoarded(Unit *passenger, int8, bool apply) override
== Fields =======================================
npc_verdisa_beglaristrasz_eternos(Creature *creature)
void MovementInform(uint32, uint32 id) override
void StoreEssence(Player *player, uint32 itemId)
bool OnGossipSelect(Player *player, uint32 menuId, uint32 gossipListId) override
void RemoveEssence(Player *player, uint32 itemId)