TrinityCore
Loading...
Searching...
No Matches
Spell::TargetInfo Struct Reference

#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 ()
 

Detailed Description

Definition at line 848 of file Spell.h.

Member Function Documentation

◆ DoDamageAndTriggers()

void Spell::TargetInfo::DoDamageAndTriggers ( Spell *  spell)
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().

◆ DoTargetSpellHit()

◆ PreprocessTarget()

Member Data Documentation

◆ _enablePVP

bool Spell::TargetInfo::_enablePVP = false
private

Definition at line 876 of file Spell.h.

Referenced by PreprocessTarget().

◆ _spellHitTarget

Unit* Spell::TargetInfo::_spellHitTarget = nullptr
private

Definition at line 875 of file Spell.h.

Referenced by PreprocessTarget().

◆ AuraBasePoints

SpellEffectValue Spell::TargetInfo::AuraBasePoints[MAX_SPELL_EFFECTS] = { }

Definition at line 870 of file Spell.h.

Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().

◆ AuraDuration

int32 Spell::TargetInfo::AuraDuration = 0

Definition at line 869 of file Spell.h.

Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().

◆ Damage

int32 Spell::TargetInfo::Damage = 0

Definition at line 856 of file Spell.h.

Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), and PreprocessTarget().

◆ DRGroup

DiminishingGroup Spell::TargetInfo::DRGroup = DIMINISHING_NONE

Definition at line 868 of file Spell.h.

Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().

◆ Healing

int32 Spell::TargetInfo::Healing = 0

Definition at line 857 of file Spell.h.

Referenced by Spell::AddUnitTarget(), Spell::DoEffectOnLaunchTarget(), and PreprocessTarget().

◆ HitAura

UnitAura* Spell::TargetInfo::HitAura = nullptr

Definition at line 871 of file Spell.h.

Referenced by Spell::DoSpellEffectHit().

◆ IsAlive

bool Spell::TargetInfo::IsAlive = false

Definition at line 864 of file Spell.h.

Referenced by Spell::AddUnitTarget().

◆ IsCrit

bool Spell::TargetInfo::IsCrit = false

Definition at line 865 of file Spell.h.

Referenced by Spell::AddUnitTarget(), and Spell::PreprocessSpellLaunch().

◆ MissCondition

◆ Positive

bool Spell::TargetInfo::Positive = true

Definition at line 858 of file Spell.h.

Referenced by Spell::DoSpellEffectHit(), and Spell::PreprocessSpellHit().

◆ ProcHitMask

ProcFlagsHit Spell::TargetInfo::ProcHitMask = { }

Definition at line 872 of file Spell.h.

◆ ReflectingSpellId

uint32 Spell::TargetInfo::ReflectingSpellId = 0

Definition at line 862 of file Spell.h.

Referenced by Spell::AddUnitTarget().

◆ ReflectResult

SpellMissInfo Spell::TargetInfo::ReflectResult = SPELL_MISS_NONE

◆ TargetGUID

◆ TimeDelay

uint64 Spell::TargetInfo::TimeDelay = 0ULL

Definition at line 855 of file Spell.h.

Referenced by Spell::AddUnitTarget(), Spell::handle_delayed(), and Spell::PreprocessSpellHit().


The documentation for this struct was generated from the following files: