![]() |
TrinityCore
|
#include <Spell.h>
Inheritance diagram for Spell::TargetInfo:Public Member Functions | |
| void | PreprocessTarget (Spell *spell) override |
| void | DoTargetSpellHit (Spell *spell, SpellEffectInfo const &spellEffectInfo) override |
| void | DoDamageAndTriggers (Spell *spell) override |
Public Attributes | |
| ObjectGuid | TargetGUID |
| uint64 | TimeDelay = 0ULL |
| int32 | Damage = 0 |
| int32 | Healing = 0 |
| bool | Positive = true |
| SpellMissInfo | MissCondition = SPELL_MISS_NONE |
| SpellMissInfo | ReflectResult = SPELL_MISS_NONE |
| uint32 | ReflectingSpellId = 0 |
| bool | IsAlive = false |
| bool | IsCrit = false |
| DiminishingGroup | DRGroup = DIMINISHING_NONE |
| int32 | AuraDuration = 0 |
| SpellEffectValue | AuraBasePoints [MAX_SPELL_EFFECTS] = { } |
| UnitAura * | HitAura = nullptr |
| ProcFlagsHit | ProcHitMask = { } |
Public Attributes inherited from Spell::TargetInfoBase | |
| uint32 | EffectMask = 0 |
Private Attributes | |
| Unit * | _spellHitTarget = nullptr |
| bool | _enablePVP = false |
Additional Inherited Members | |
Protected Member Functions inherited from Spell::TargetInfoBase | |
| TargetInfoBase () | |
| virtual | ~TargetInfoBase () |
|
overridevirtual |
Reimplemented from Spell::TargetInfoBase.
Definition at line 2821 of file Spell.cpp.
References Spell::_spellAura, SpellNonMeleeDamage::absorb, Creature::AI(), GameObject::AI(), ASSERT_NOTNULL, SpellNonMeleeDamage::attacker, AURA_REMOVE_NONE, Unit::CalculateSpellDamageTaken(), Spell::CallScriptAfterHitHandlers(), Unit::CanProc(), Player::CastItemCombatSpell(), WorldObject::CastSpell(), createProcHitMask(), SpellNonMeleeDamage::damage, Damage, Unit::DealDamageMods(), Unit::DealSpellDamage(), DISPEL_STEALTH, SpellInfo::DmgClass, Spell::DoTriggersOnSpellHit(), Unit::EngageWithTarget(), Spell::FinalizeDataForTriggerSystem(), ThreatManager::ForwardThreatForAssistingMe(), AuraApplication::GetBase(), SpellInfo::GetEffects(), BaseEntity::GetGUID(), SpellInfo::GetSchoolMask(), Spell::GetSpellInfo(), Unit::GetThreatManager(), BaseEntity::GetTypeId(), ObjectAccessor::GetUnit(), SpellInfo::HasAttribute(), SpellInfo::HasEffect(), SpellInfo::HasInitialAggro(), Unit::HealBySpell(), Unit::IsAIEnabled(), WorldObject::IsFriendlyTo(), Unit::IsImmunedToDamage(), Spell::IsPositive(), SpellInfo::IsPositiveEffect(), Unit::IsStandState(), Spell::m_attackType, Spell::m_caster, Spell::m_castId, Spell::m_damage, Spell::m_healing, Spell::m_hitMask, Spell::m_originalCaster, Spell::m_procAttacker, Spell::m_procSpellType, Spell::m_procVictim, Spell::m_spellInfo, Spell::m_spellSchoolMask, Spell::m_SpellVisual, NODAMAGE, PROC_FLAG_TAKE_ANY_DAMAGE, PROC_HIT_CRITICAL, PROC_HIT_IMMUNE, PROC_HIT_NORMAL, PROC_SPELL_PHASE_HIT, PROC_SPELL_TYPE_DAMAGE, PROC_SPELL_TYPE_HEAL, PROC_SPELL_TYPE_NO_DMG_HEAL, PROC_SPELL_TYPE_NONE, Unit::ProcSkillsAndAuras(), SpellNonMeleeDamage::reflectingSpellId, Unit::RemoveAppliedAuras(), Unit::SendSpellNonMeleeDamageLog(), Unit::SetLastDamagedTargetGuid(), Unit::SetStandState(), SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT, SPELL_ATTR1_FAILURE_BREAKS_STEALTH, SPELL_ATTR3_DO_NOT_TRIGGER_TARGET_STAND, SPELL_ATTR4_SUPPRESS_WEAPON_PROCS, SPELL_ATTR6_TAPS_IMMEDIATELY, SPELL_ATTR7_CAN_CAUSE_INTERRUPT, SPELL_DAMAGE_CLASS_MELEE, SPELL_DAMAGE_CLASS_RANGED, SPELL_DIRECT_DAMAGE, SPELL_EFFECT_DISPEL, SPELL_INTERRUPT_NONPLAYER, SPELL_MISS_BLOCK, SPELL_MISS_EVADE, SPELL_MISS_NONE, SPELL_MISS_RESIST, Unit::SpellCriticalHealingBonus(), GameObjectAI::SpellHitTarget(), CreatureAI::SpellHitTarget(), SpellNonMeleeDamage::target, Object::ToCreature(), Object::ToGameObject(), Object::ToPlayer(), Object::ToUnit(), TYPEID_GAMEOBJECT, TYPEID_PLAYER, TYPEID_UNIT, UNIT_STAND_STATE_STAND, Spell::unitTarget, and Player::UpdatePvP().
|
overridevirtual |
Implements Spell::TargetInfoBase.
Definition at line 2792 of file Spell.cpp.
References Damage, Spell::DoSpellEffectHit(), GameTime::GetGameTimeMS(), BaseEntity::GetGUID(), Spell::getState(), ObjectAccessor::GetUnit(), SpellInfo::HasAttribute(), Unit::IsAlive(), Spell::IsPositive(), Spell::m_caster, Spell::m_damage, Spell::m_healing, Unit::m_lastSanctuaryTime, Spell::m_spellInfo, SPELL_ATTR8_IGNORE_SANCTUARY, SPELL_ATTR9_FORCE_CORPSE_TARGET, SPELL_STATE_LAUNCHED, Spell::targetMissInfo, Object::ToUnit(), and Spell::unitTarget.
|
overridevirtual |
Reimplemented from Spell::TargetInfoBase.
Definition at line 2744 of file Spell.cpp.
References _enablePVP, _spellHitTarget, Spell::CallScriptOnHitHandlers(), Damage, BaseEntity::GetGUID(), Spell::GetSpellInfo(), ObjectAccessor::GetUnit(), SpellInfo::HasAttribute(), SpellInfo::HasEffect(), SpellInfo::HasInitialAggro(), Healing, SpellInfo::Id, Unit::IsCharmedOwnedByPlayerOrPlayer(), Unit::IsEngaged(), WorldObject::IsFriendlyTo(), Unit::IsInCombat(), BaseEntity::IsPlayer(), SpellInfo::IsPositive(), Unit::IsPvP(), Spell::m_caster, Spell::m_damage, Spell::m_healing, Spell::m_originalCaster, Spell::m_spellInfo, MissCondition, Spell::PreprocessSpellHit(), ReflectResult, WorldObject::SendSpellMiss(), Unit::SetInCombatWith(), SPELL_ATTR3_COMPLETELY_BLOCKED, SPELL_ATTR3_PVP_ENABLING, SPELL_EFFECT_DISPEL, SPELL_MISS_BLOCK, SPELL_MISS_EVADE, SPELL_MISS_MISS, SPELL_MISS_NONE, SPELL_MISS_REFLECT, TargetGUID, Object::ToUnit(), and Spell::unitTarget.
|
private |
Definition at line 876 of file Spell.h.
Referenced by PreprocessTarget().
|
private |
Definition at line 875 of file Spell.h.
Referenced by PreprocessTarget().
| SpellEffectValue Spell::TargetInfo::AuraBasePoints[MAX_SPELL_EFFECTS] = { } |
Definition at line 870 of file Spell.h.
Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().
| int32 Spell::TargetInfo::AuraDuration = 0 |
Definition at line 869 of file Spell.h.
Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().
| int32 Spell::TargetInfo::Damage = 0 |
Definition at line 856 of file Spell.h.
Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), and PreprocessTarget().
| DiminishingGroup Spell::TargetInfo::DRGroup = DIMINISHING_NONE |
Definition at line 868 of file Spell.h.
Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().
| int32 Spell::TargetInfo::Healing = 0 |
Definition at line 857 of file Spell.h.
Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), and PreprocessTarget().
| UnitAura* Spell::TargetInfo::HitAura = nullptr |
Definition at line 871 of file Spell.h.
Referenced by Spell::DoSpellEffectHit().
| bool Spell::TargetInfo::IsAlive = false |
Definition at line 864 of file Spell.h.
Referenced by Spell::AddUnitTarget().
| bool Spell::TargetInfo::IsCrit = false |
Definition at line 865 of file Spell.h.
Referenced by Spell::AddUnitTarget(), and Spell::PreprocessSpellLaunch().
| SpellMissInfo Spell::TargetInfo::MissCondition = SPELL_MISS_NONE |
Definition at line 860 of file Spell.h.
Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), Spell::GetUnitTargetCountForEffect(), Spell::PreprocessSpellHit(), Spell::PreprocessSpellLaunch(), PreprocessTarget(), Spell::SelectSpellTargets(), and Spell::TakePower().
| bool Spell::TargetInfo::Positive = true |
Definition at line 858 of file Spell.h.
Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().
| ProcFlagsHit Spell::TargetInfo::ProcHitMask = { } |
| uint32 Spell::TargetInfo::ReflectingSpellId = 0 |
Definition at line 862 of file Spell.h.
Referenced by Spell::AddUnitTarget().
| SpellMissInfo Spell::TargetInfo::ReflectResult = SPELL_MISS_NONE |
Definition at line 861 of file Spell.h.
Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), Spell::PreprocessSpellLaunch(), and PreprocessTarget().
| ObjectGuid Spell::TargetInfo::TargetGUID |
Definition at line 854 of file Spell.h.
Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), Spell::EffectDispel(), Spell::EffectDispelMechanic(), Spell::EffectInterruptCast(), Spell::EffectStealBeneficialBuff(), Spell::EffectWeaponDmg(), SpellScript::IsHitCrit(), Spell::PreprocessSpellLaunch(), PreprocessTarget(), and Spell::TakePower().
| uint64 Spell::TargetInfo::TimeDelay = 0ULL |
Definition at line 855 of file Spell.h.
Referenced by Spell::AddUnitTarget(), Spell::handle_delayed(), and Spell::PreprocessSpellHit().