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
 
SpellMissInfo MissCondition = SPELL_MISS_NONE
 
SpellMissInfo ReflectResult = SPELL_MISS_NONE
 
bool IsAlive = false
 
bool IsCrit = false
 
bool ScaleAura = false
 
DiminishingGroup DRGroup = DIMINISHING_NONE
 
int32 AuraDuration = 0
 
SpellInfo const * AuraSpellInfo = nullptr
 
int32 AuraBasePoints [MAX_SPELL_EFFECTS] = { }
 
bool Positive = true
 
UnitAura * HitAura = nullptr
 
- Public Attributes inherited from Spell::TargetInfoBase
uint8 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 578 of file Spell.h.

Member Function Documentation

◆ DoDamageAndTriggers()

void Spell::TargetInfo::DoDamageAndTriggers ( Spell *  spell)
overridevirtual

Reimplemented from Spell::TargetInfoBase.

Definition at line 2489 of file Spell.cpp.

References Spell::_spellAura, SpellNonMeleeDamage::absorb, Creature::AI(), GameObject::AI(), ASSERT_NOTNULL, AURA_INTERRUPT_FLAG_TALK, Unit::CalculateSpellDamageTaken(), Spell::CallScriptAfterHitHandlers(), Spell::CanExecuteTriggersOnHit(), Unit::CanProc(), Player::CastItemCombatSpell(), WorldObject::CastSpell(), createProcHitMask(), SpellNonMeleeDamage::damage, Unit::DealDamageMods(), Unit::DealSpellDamage(), SpellInfo::DmgClass, Spell::DoTriggersOnSpellHit(), Unit::EngageWithTarget(), ThreatManager::ForwardThreatForAssistingMe(), SpellInfo::GetEffects(), Object::GetGUID(), SpellInfo::GetSchoolMask(), Unit::GetThreatManager(), Object::GetTypeId(), ObjectAccessor::GetUnit(), SpellCastTargets::GetUnitTargetGUID(), SpellInfo::HasAttribute(), SpellInfo::HasEffect(), SpellInfo::HasInitialAggro(), Unit::HealBySpell(), SpellInfo::Id, Unit::IsAIEnabled(), WorldObject::IsFriendlyTo(), Unit::IsImmunedToDamage(), Spell::IsPositive(), SpellInfo::IsPositiveEffect(), Unit::IsStandState(), Spell::m_attackType, Spell::m_caster, Spell::m_damage, Spell::m_healing, Spell::m_hitMask, Spell::m_needComboPoints, Spell::m_originalCaster, Spell::m_procAttacker, Spell::m_procVictim, Spell::m_spellInfo, Spell::m_spellSchoolMask, Spell::m_targets, NODAMAGE, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS, PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG, PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS, PROC_FLAG_TAKEN_DAMAGE, PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG, PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS, PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG, PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS, PROC_HIT_CRITICAL, PROC_HIT_IMMUNE, PROC_HIT_NONE, 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(), Unit::RemoveAurasWithInterruptFlags(), Unit::SendSpellNonMeleeDamageLog(), Unit::SetLastDamagedTargetGuid(), Unit::SetStandState(), SPELL_ATTR0_CU_PICKPOCKET, SPELL_ATTR0_STOP_ATTACK_TARGET, SPELL_ATTR3_CANT_TRIGGER_PROC, SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS, SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER, SPELL_DAMAGE_CLASS_MAGIC, SPELL_DAMAGE_CLASS_MELEE, SPELL_DAMAGE_CLASS_NONE, SPELL_DAMAGE_CLASS_RANGED, SPELL_DIRECT_DAMAGE, SPELL_EFFECT_DISPEL, SPELL_INTERRUPT_NONPLAYER, SPELL_MISS_BLOCK, SPELL_MISS_EVADE, SPELL_MISS_IMMUNE, SPELL_MISS_IMMUNE2, 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 606 of file Spell.h.

Referenced by PreprocessTarget().

◆ _spellHitTarget

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

Definition at line 605 of file Spell.h.

Referenced by PreprocessTarget().

◆ AuraBasePoints

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

Definition at line 600 of file Spell.h.

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

◆ AuraDuration

int32 Spell::TargetInfo::AuraDuration = 0

Definition at line 598 of file Spell.h.

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

◆ AuraSpellInfo

SpellInfo const* Spell::TargetInfo::AuraSpellInfo = nullptr

Definition at line 599 of file Spell.h.

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

◆ Damage

int32 Spell::TargetInfo::Damage = 0

Definition at line 586 of file Spell.h.

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

◆ DRGroup

DiminishingGroup Spell::TargetInfo::DRGroup = DIMINISHING_NONE

Definition at line 597 of file Spell.h.

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

◆ Healing

int32 Spell::TargetInfo::Healing = 0

Definition at line 587 of file Spell.h.

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

◆ HitAura

UnitAura* Spell::TargetInfo::HitAura = nullptr

Definition at line 602 of file Spell.h.

Referenced by Spell::DoSpellEffectHit().

◆ IsAlive

bool Spell::TargetInfo::IsAlive = false

Definition at line 592 of file Spell.h.

Referenced by Spell::AddUnitTarget().

◆ IsCrit

bool Spell::TargetInfo::IsCrit = false

Definition at line 593 of file Spell.h.

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

◆ MissCondition

◆ Positive

bool Spell::TargetInfo::Positive = true

Definition at line 601 of file Spell.h.

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

◆ ReflectResult

SpellMissInfo Spell::TargetInfo::ReflectResult = SPELL_MISS_NONE

◆ ScaleAura

bool Spell::TargetInfo::ScaleAura = false

Definition at line 594 of file Spell.h.

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

◆ TargetGUID

◆ TimeDelay

uint64 Spell::TargetInfo::TimeDelay = 0ULL

Definition at line 585 of file Spell.h.

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


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