AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Private Member Functions | |
PrepareSpellScript (spell_dk_raise_dead) | |
bool | Validate (SpellInfo const *) override |
bool | Load () override |
SpellCastResult | CheckCast () |
SpellCastResult | CheckReagents () |
void | CheckTargets (std::list< WorldObject * > &targets) |
void | CheckTarget (WorldObject *&target) |
void | ConsumeReagents () |
uint32 | GetGhoulSpellId () |
void | HandleRaiseDead (SpellEffIndex) |
void | Register () override |
Private Attributes | |
SpellCastResult | _result |
bool | _corpse |
|
inlineprivate |
process spell target selection before cast starts targets of effect_1 are used to check cast
cleanup spell target map, and fill it again on normal way
_result is set in spell target selection
References _result, Spell::CleanupTargetList(), SpellScript::GetSpell(), and Spell::SelectSpellTargets().
Referenced by Register().
|
inlineprivate |
@workaround: there is no access to castresult of other spells, check it manually
References Player::CanNoReagentCast(), SpellScript::GetCaster(), Player::HasItemCount(), MAX_SPELL_REAGENTS, SpellInfo::Reagent, SpellInfo::ReagentCount, Spell::SendCastResult(), SPELL_CAST_OK, SPELL_DK_RAISE_DEAD_USE_REAGENT, SPELL_FAILED_DONT_REPORT, SPELL_FAILED_REAGENTS, sSpellMgr, and Object::ToPlayer().
Referenced by CheckTargets().
|
inlineprivate |
References _corpse.
Referenced by Register().
|
inlineprivate |
References _corpse, _result, CheckReagents(), SpellScript::GetCaster(), SpellScript::GetSpell(), Acore::Containers::SelectRandomContainerElement(), and SPELL_STATE_PREPARING.
Referenced by Register().
|
inlineprivate |
References _corpse, Unit::CastSpell(), SpellScript::GetCaster(), SPELL_DK_RAISE_DEAD_USE_REAGENT, TRIGGERED_FULL_MASK, and TRIGGERED_IGNORE_POWER_AND_REAGENT_COST.
Referenced by Register().
|
inlineprivate |
References EFFECT_1, EFFECT_2, SpellInfo::Effects, SpellScript::GetCaster(), SpellScript::GetSpellInfo(), and SPELL_DK_MASTER_OF_GHOULS.
Referenced by HandleRaiseDead().
|
inlineprivate |
References Unit::CastSpell(), SpellScript::GetCaster(), GetGhoulSpellId(), SpellScript::GetHitUnit(), SpellScript::GetSpellInfo(), Player::RemoveSpellCooldown(), SpellCastTargets::SetDst(), sSpellMgr, Object::ToPlayer(), and TRIGGERED_FULL_MASK.
Referenced by Register().
|
inlineoverrideprivatevirtual |
Reimplemented from _SpellScript.
References _corpse, _result, SpellScript::GetCaster(), Object::IsPlayer(), and SPELL_CAST_OK.
|
private |
|
inlineoverrideprivatevirtual |
Implements _SpellScript.
References CheckCast(), CheckTarget(), CheckTargets(), ConsumeReagents(), EFFECT_1, EFFECT_2, HandleRaiseDead(), SpellScript::OnCast, SpellScript::OnCheckCast, SpellScript::OnEffectHitTarget, SpellScript::OnObjectAreaTargetSelect, SpellScript::OnObjectTargetSelect, SPELL_EFFECT_DUMMY, SPELL_EFFECT_SCRIPT_EFFECT, SpellCastFn, SpellCheckCastFn, SpellEffectFn, SpellObjectAreaTargetSelectFn, SpellObjectTargetSelectFn, TARGET_UNIT_CASTER, and TARGET_UNIT_DEST_AREA_ENTRY.
|
inlineoverrideprivatevirtual |
Reimplemented from _SpellScript.
References SPELL_DK_MASTER_OF_GHOULS, SPELL_DK_RAISE_DEAD_USE_REAGENT, and _SpellScript::ValidateSpellInfo().
|
private |
Referenced by CheckTarget(), CheckTargets(), ConsumeReagents(), and Load().
|
private |
Referenced by CheckCast(), CheckTargets(), and Load().