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

Private Member Functions

 PrepareSpellScript (spell_gen_cannibalize)
bool Validate (SpellInfo const *) override
SpellCastResult CheckIfCorpseNear ()
void HandleDummy (SpellEffIndex)
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

◆ CheckIfCorpseNear()

SpellCastResult spell_gen_cannibalize::CheckIfCorpseNear ( )
1352 {
1353 Unit* caster = GetCaster();
1354 float max_range = GetSpellInfo()->GetMaxRange(false);
1355 WorldObject* result = nullptr;
1356 // search for nearby enemy corpse in range
1359 Cell::VisitWorldObjects(caster, searcher, max_range);
1360 if (!result)
1361 {
1362 Cell::VisitGridObjects(caster, searcher, max_range);
1363 }
1364 if (!result)
1365 {
1367 }
1368 return SPELL_CAST_OK;
1369 }
Definition: SpellInfo.h:122
Definition: SharedDefines.h:1110
Definition: SharedDefines.h:1062
Definition: Object.h:393
Definition: Unit.h:1290
static void VisitGridObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
Definition: CellImpl.h:179
static void VisitWorldObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
Definition: CellImpl.h:193
Definition: GridNotifiers.h:196
Definition: GridNotifiers.h:625
float GetMaxRange(bool positive=false, Unit *caster=nullptr, Spell *spell=nullptr) const
Definition: SpellInfo.cpp:2306
SpellInfo const * GetSpellInfo()
Definition: SpellScript.cpp:411
Unit * GetCaster()
Definition: SpellScript.cpp:401

References SpellScript::GetCaster(), SpellInfo::GetMaxRange(), SpellScript::GetSpellInfo(), SPELL_CAST_OK, SPELL_FAILED_NO_EDIBLE_CORPSES, TARGET_CHECK_CORPSE, Cell::VisitGridObjects(), and Cell::VisitWorldObjects().

Referenced by Register().

◆ HandleDummy()

void spell_gen_cannibalize::HandleDummy ( SpellEffIndex  )
1372 {
1374 }
Definition: spell_generic.cpp:1338
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:1169

References Unit::CastSpell(), SpellScript::GetCaster(), and SPELL_CANNIBALIZE_TRIGGERED.

Referenced by Register().

◆ PrepareSpellScript()

spell_gen_cannibalize::PrepareSpellScript ( spell_gen_cannibalize  )

◆ Register()

void spell_gen_cannibalize::Register ( )

Implements _SpellScript.

1377 {
1380 }
#define SpellCheckCastFn(F)
Definition: SpellScript.h:329
#define SpellEffectFn(F, I, N)
Definition: SpellScript.h:337
Definition: SharedDefines.h:30
Definition: SharedDefines.h:753
HookList< CheckCastHandler > OnCheckCast
Definition: SpellScript.h:328
HookList< EffectHandler > OnEffectHit
Definition: SpellScript.h:335
void HandleDummy(SpellEffIndex)
Definition: spell_generic.cpp:1371
SpellCastResult CheckIfCorpseNear()
Definition: spell_generic.cpp:1351

References CheckIfCorpseNear(), EFFECT_0, HandleDummy(), SpellScript::OnCheckCast, SpellScript::OnEffectHit, SPELL_EFFECT_DUMMY, SpellCheckCastFn, and SpellEffectFn.

◆ Validate()

bool spell_gen_cannibalize::Validate ( SpellInfo const *  )

Reimplemented from _SpellScript.

1347 {
1349 }
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Definition: SpellScript.h:125

References SPELL_CANNIBALIZE_TRIGGERED, and _SpellScript::ValidateSpellInfo().