AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Acore::WorldObjectSpellConeTargetCheck Struct Reference

#include "Spell.h"

Inheritance diagram for Acore::WorldObjectSpellConeTargetCheck:
Acore::WorldObjectSpellAreaTargetCheck Acore::WorldObjectSpellTargetCheck

Public Member Functions

 WorldObjectSpellConeTargetCheck (float coneAngle, float range, Unit *caster, SpellInfo const *spellInfo, SpellTargetCheckTypes selectionType, ConditionList *condList)
 
bool operator() (WorldObject *target)
 
- Public Member Functions inherited from Acore::WorldObjectSpellAreaTargetCheck
 WorldObjectSpellAreaTargetCheck (float range, Position const *position, Unit *caster, Unit *referer, SpellInfo const *spellInfo, SpellTargetCheckTypes selectionType, ConditionList *condList)
 
bool operator() (WorldObject *target)
 
- Public Member Functions inherited from Acore::WorldObjectSpellTargetCheck
 WorldObjectSpellTargetCheck (Unit *caster, Unit *referer, SpellInfo const *spellInfo, SpellTargetCheckTypes selectionType, ConditionList *condList)
 
 ~WorldObjectSpellTargetCheck ()
 
bool operator() (WorldObject *target)
 

Public Attributes

float _coneAngle
 
- Public Attributes inherited from Acore::WorldObjectSpellAreaTargetCheck
float _range
 
Position const * _position
 
- Public Attributes inherited from Acore::WorldObjectSpellTargetCheck
Unit_caster
 
Unit_referer
 
SpellInfo const * _spellInfo
 
SpellTargetCheckTypes _targetSelectionType
 
ConditionSourceInfo_condSrcInfo
 
ConditionList_condList
 

Detailed Description

Constructor & Destructor Documentation

◆ WorldObjectSpellConeTargetCheck()

Acore::WorldObjectSpellConeTargetCheck::WorldObjectSpellConeTargetCheck ( float  coneAngle,
float  range,
Unit caster,
SpellInfo const *  spellInfo,
SpellTargetCheckTypes  selectionType,
ConditionList condList 
)
9075 : WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList), _coneAngle(coneAngle)
9076 {
9077 }
WorldObjectSpellAreaTargetCheck(float range, Position const *position, Unit *caster, Unit *referer, SpellInfo const *spellInfo, SpellTargetCheckTypes selectionType, ConditionList *condList)
Definition: Spell.cpp:9053
float _coneAngle
Definition: Spell.h:833

Member Function Documentation

◆ operator()()

bool Acore::WorldObjectSpellConeTargetCheck::operator() ( WorldObject target)
9080 {
9082 {
9083 if (!_caster->isInBack(target, _coneAngle))
9084 return false;
9085 }
9087 {
9088 if (!_caster->HasInLine(target, _caster->GetObjectSize() + target->GetObjectSize()))
9089 return false;
9090 }
9091 else
9092 {
9093 if (!_caster->isInFront(target, _coneAngle))
9094 return false;
9095 }
9097 }
@ SPELL_ATTR0_CU_CONE_BACK
Definition: SpellInfo.h:177
@ SPELL_ATTR0_CU_CONE_LINE
Definition: SpellInfo.h:178
bool isInFront(WorldObject const *target, float arc=M_PI) const
Definition: Object.cpp:1503
bool isInBack(WorldObject const *target, float arc=M_PI) const
Definition: Object.cpp:1508
float GetObjectSize() const
Definition: Object.cpp:2782
bool HasInLine(Position const *pos, float width) const
Definition: Position.cpp:43
SpellInfo const * _spellInfo
Definition: Spell.h:802
Unit * _caster
Definition: Spell.h:800
bool operator()(WorldObject *target)
Definition: Spell.cpp:9059
bool HasAttribute(SpellAttr0 attribute) const
Definition: SpellInfo.h:415

References Acore::WorldObjectSpellTargetCheck::_caster, _coneAngle, Acore::WorldObjectSpellTargetCheck::_spellInfo, WorldObject::GetObjectSize(), SpellInfo::HasAttribute(), Position::HasInLine(), WorldObject::isInBack(), WorldObject::isInFront(), Acore::WorldObjectSpellAreaTargetCheck::operator()(), SPELL_ATTR0_CU_CONE_BACK, and SPELL_ATTR0_CU_CONE_LINE.

Member Data Documentation

◆ _coneAngle

float Acore::WorldObjectSpellConeTargetCheck::_coneAngle

Referenced by operator()().