145 if (gossipListId >= 1 && gossipListId <= 3)
147 if (gossipListId == 2)
149 else if (gossipListId == 3)
157 if (gossipListId >= 1 && gossipListId <= 3)
159 if (gossipListId == 2)
161 else if (gossipListId == 3)
169 if (gossipListId <= 2)
171 if (gossipListId == 1)
173 else if (gossipListId == 2)
264 eregos->DespawnOrUnsummon();
356 Position offset = { 10.0f, 10.0f, 12.0f, 0.0f };
382 Position const offset = { 0.0f, 0.0f, 12.0f, 0.0f };
445 flatMod += shockCharges->GetAmount();
471 for (
uint32 i = 0; i < 5; ++i)
493 if (!damageInfo || !damageInfo->
GetDamage())
504 const_cast<AuraEffect*
>(aurEff)->SetAmount(amount);
533 amount =
int32(caster->CountPctFromMaxHealth(5));
535 canBeRecalculated =
false;
std::vector< ItemPosCount > ItemPosCountVec
#define RegisterSpellScript(spell_script)
@ TARGET_DEST_CASTER_FRONT
@ SPELL_EFFECT_SCHOOL_DAMAGE
@ AURA_EFFECT_HANDLE_REAL
@ AURA_REMOVE_BY_ENEMY_SPELL
@ 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 SpellCalcDamageFn(F)
#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 Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
EncounterState GetBossState(uint32 id) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
Item * StoreNewItem(ItemPosCountVec const &pos, uint32 itemId, bool update, ItemRandomBonusListId randomBonusListId=0, GuidSet const &allowedLooters=GuidSet(), ItemContext context=ItemContext::NONE, std::vector< int32 > const *bonusListIDs=nullptr, bool addToCollection=true)
uint32 DestroyItemCount(uint32 item, uint32 count, bool update, bool unequip_check=false)
InventoryResult CanStoreNewItem(uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 item, uint32 count, uint32 *no_space_count=nullptr) const
std::unique_ptr< PlayerMenu > PlayerTalkClass
void SendNewItem(Item *item, uint32 quantity, bool received, bool created, bool broadcast=false, uint32 dungeonEncounterId=0)
DamageInfo * GetDamageInfo() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< DamageAndHealingCalcHandler > CalcDamage
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
HookList< EffectHandler > OnEffectHitTarget
void SetHitDamage(int32 damage)
float GetHealthPct() const
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
ObjectGuid GetCreatorGUID() const override
void SetNpcFlag(NPCFlags flags)
void RemoveAuraFromStack(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, uint16 num=1)
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
void SetDest(SpellDestination &dest)
void HandleEffectCalcAmount(AuraEffect const *, int32 &amount, bool &canBeRecalculated)
void HandleProc(AuraEffect *, ProcEventInfo &)
bool Validate(SpellInfo const *) override
void HandlePeriodic(AuraEffect const *aurEff)
bool Validate(SpellInfo const *) override
void CalculateDamage(Unit const *victim, int32 &, int32 &flatMod, float &) const
void Apply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
void HandleDamageCalc(SpellEffIndex)
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)
constexpr void SetOrientation(float orientation)
constexpr 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)