AzerothCore 3.3.5a
OpenSource WoW Emulator
No Matches
spell_spawn_blood_pool Class Reference
Inheritance diagram for spell_spawn_blood_pool:
SpellScript _SpellScript

Private Member Functions

 PrepareSpellScript (spell_spawn_blood_pool)
void SetDest (SpellDestination &dest)
void Register () override

Additional Inherited Members

- Public Member Functions inherited from SpellScript
bool _Validate (SpellInfo const *entry) override
bool _Load (Spell *spell)
void _InitHit ()
bool _IsEffectPrevented (SpellEffIndex effIndex)
bool _IsDefaultEffectPrevented (SpellEffIndex effIndex)
void _PrepareScriptCall (SpellScriptHookType hookType)
void _FinishScriptCall ()
bool IsInCheckCastHook () const
bool IsInTargetHook () const
bool IsInHitPhase () const
bool IsInEffectHook () const
UnitGetCaster ()
UnitGetOriginalCaster ()
SpellInfo const * GetSpellInfo ()
SpellValue const * GetSpellValue ()
WorldLocation const * GetExplTargetDest ()
void SetExplTargetDest (WorldLocation &loc)
WorldObjectGetExplTargetWorldObject ()
UnitGetExplTargetUnit ()
GameObjectGetExplTargetGObj ()
ItemGetExplTargetItem ()
UnitGetHitUnit ()
CreatureGetHitCreature ()
PlayerGetHitPlayer ()
ItemGetHitItem ()
GameObjectGetHitGObj ()
WorldLocationGetHitDest ()
int32 GetHitDamage ()
void SetHitDamage (int32 damage)
void PreventHitDamage ()
int32 GetHitHeal ()
void SetHitHeal (int32 heal)
void PreventHitHeal ()
SpellGetSpell ()
AuraGetHitAura ()
void PreventHitAura ()
void PreventHitEffect (SpellEffIndex effIndex)
void PreventHitDefaultEffect (SpellEffIndex effIndex)
int32 GetEffectValue () const
void SetEffectValue (int32 value)
ItemGetCastItem ()
void CreateItem (uint32 effIndex, uint32 itemId)
SpellInfo const * GetTriggeringSpell ()
void FinishCast (SpellCastResult result)
void Cancel ()
void SetCustomCastResultMessage (SpellCustomErrors result)
- Public Member Functions inherited from _SpellScript
 _SpellScript ()
virtual ~_SpellScript ()
virtual void _Register ()
virtual void _Unload ()
virtual void _Init (std::string const *scriptname, uint32 spellId)
std::string const * _GetScriptName () const
virtual void Register ()=0
virtual bool Validate (SpellInfo const *)
virtual bool Load ()
virtual void Unload ()
- Static Public Member Functions inherited from _SpellScript
static bool ValidateSpellInfo (std::initializer_list< uint32 > spellIds)
template<class T >
static bool ValidateSpellInfo (T const &spellIds)
- Public Attributes inherited from SpellScript
HookList< CastHandlerBeforeCast
HookList< CastHandlerOnCast
HookList< CastHandlerAfterCast
HookList< CheckCastHandlerOnCheckCast
HookList< EffectHandlerOnEffectLaunch
HookList< EffectHandlerOnEffectLaunchTarget
HookList< EffectHandlerOnEffectHit
HookList< EffectHandlerOnEffectHitTarget
HookList< BeforeHitHandlerBeforeHit
HookList< HitHandlerOnHit
HookList< HitHandlerAfterHit
HookList< ObjectAreaTargetSelectHandlerOnObjectAreaTargetSelect
HookList< ObjectTargetSelectHandlerOnObjectTargetSelect
HookList< DestinationTargetSelectHandlerOnDestinationTargetSelect
virtual bool _Validate (SpellInfo const *entry)
- Protected Attributes inherited from _SpellScript
uint8 m_currentScriptState
std::string const * m_scriptName
uint32 m_scriptSpellId

Detailed Description

Member Function Documentation

◆ PrepareSpellScript()

spell_spawn_blood_pool::PrepareSpellScript ( spell_spawn_blood_pool  )

◆ Register()

void spell_spawn_blood_pool::Register ( )

Implements _SpellScript.

2059 {
2061 }
#define SpellDestinationTargetSelectFn(F, I, N)
Definition: SpellScript.h:364
Definition: SharedDefines.h:31
Definition: SharedDefines.h:1423
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
Definition: SpellScript.h:363
void SetDest(SpellDestination &dest)
Definition: spell_generic.cpp:2048

References EFFECT_0, SpellScript::OnDestinationTargetSelect, SetDest(), SpellDestinationTargetSelectFn, and TARGET_DEST_CASTER.

◆ SetDest()

void spell_spawn_blood_pool::SetDest ( SpellDestination dest)
2049 {
2050 Unit* caster = GetCaster();
2051 LiquidData liquidStatus = caster->GetMap()->GetLiquidData(caster->GetPhaseMask(), caster->GetPositionX(), caster->GetPositionY(), caster->GetPositionZ(), caster->GetCollisionHeight(), MAP_ALL_LIQUIDS);
2053 float level = liquidStatus.Level > INVALID_HEIGHT ? liquidStatus.Level : caster->GetPositionZ();
2054 Position pos = Position(caster->GetPositionX(), caster->GetPositionY(), level, caster->GetOrientation());
2055 dest.Relocate(pos);
2056 }
Definition: Map.h:160
Definition: Map.h:165
uint32 GetPhaseMask() const
Definition: Object.h:434
Map * GetMap() const
Definition: Object.h:517
Definition: Position.h:28
float GetPositionZ() const
Definition: Position.h:119
float GetOrientation() const
Definition: Position.h:120
float GetPositionX() const
Definition: Position.h:117
float GetPositionY() const
Definition: Position.h:118
Definition: Unit.h:1302
float GetCollisionHeight() const override
Return collision height sent to client.
Definition: Unit.cpp:21387
Definition: Map.h:171
float Level
Definition: Map.h:176
LiquidData const GetLiquidData(uint32 phaseMask, float x, float y, float z, float collisionHeight, uint8 ReqLiquidType)
Definition: Map.cpp:2204
void Relocate(Position const &pos)
Definition: Spell.cpp:92
Unit * GetCaster()
Definition: SpellScript.cpp:401

References SpellScript::GetCaster(), Unit::GetCollisionHeight(), Map::GetLiquidData(), WorldObject::GetMap(), Position::GetOrientation(), WorldObject::GetPhaseMask(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), INVALID_HEIGHT, LiquidData::Level, MAP_ALL_LIQUIDS, and SpellDestination::Relocate().

Referenced by Register().