mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 04:37:00 +00:00
[8264] Implement target mode 104 (forward 30 degries cone)
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
ee2fcde901
commit
48eb01666d
6 changed files with 12 additions and 1 deletions
|
|
@ -1044,6 +1044,7 @@ enum Targets
|
|||
TARGET_SELF2 = 87,
|
||||
TARGET_DIRECTLY_FORWARD = 89,
|
||||
TARGET_NONCOMBAT_PET = 90,
|
||||
TARGET_IN_FRONT_OF_CASTER_30 = 104,
|
||||
};
|
||||
|
||||
enum SpellMissInfo
|
||||
|
|
|
|||
|
|
@ -1812,6 +1812,9 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,UnitList& TagUnitMap)
|
|||
FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(),radius,inFront ? PUSH_IN_FRONT : PUSH_IN_BACK,SPELL_TARGETS_AOE_DAMAGE);
|
||||
break;
|
||||
}
|
||||
case TARGET_IN_FRONT_OF_CASTER_30:
|
||||
FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_30, SPELL_TARGETS_AOE_DAMAGE);
|
||||
break;
|
||||
case TARGET_DUELVSPLAYER:
|
||||
{
|
||||
Unit *target = m_targets.getUnitTarget();
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ enum SpellCastFlags
|
|||
enum SpellNotifyPushType
|
||||
{
|
||||
PUSH_IN_FRONT,
|
||||
PUSH_IN_FRONT_30,
|
||||
PUSH_IN_BACK,
|
||||
PUSH_SELF_CENTER,
|
||||
PUSH_DEST_CENTER,
|
||||
|
|
@ -706,6 +707,10 @@ namespace MaNGOS
|
|||
if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
|
||||
i_data->push_back(itr->getSource());
|
||||
break;
|
||||
case PUSH_IN_FRONT_30:
|
||||
if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, M_PI/6 ))
|
||||
i_data->push_back(itr->getSource());
|
||||
break;
|
||||
case PUSH_IN_BACK:
|
||||
if(i_spell.GetCaster()->isInBackInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
|
||||
i_data->push_back(itr->getSource());
|
||||
|
|
|
|||
|
|
@ -281,6 +281,7 @@ bool IsPositiveTarget(uint32 targetA, uint32 targetB)
|
|||
case TARGET_ALL_ENEMY_IN_AREA_CHANNELED:
|
||||
case TARGET_CURRENT_ENEMY_COORDINATES:
|
||||
case TARGET_SINGLE_ENEMY:
|
||||
case TARGET_IN_FRONT_OF_CASTER_30:
|
||||
return false;
|
||||
case TARGET_CASTER_COORDINATES:
|
||||
return (targetB == TARGET_ALL_PARTY || targetB == TARGET_ALL_FRIENDLY_UNITS_AROUND_CASTER);
|
||||
|
|
|
|||
|
|
@ -233,6 +233,7 @@ inline bool IsAreaEffectTarget( Targets target )
|
|||
case TARGET_AREAEFFECT_CUSTOM_2:
|
||||
case TARGET_ALL_RAID_AROUND_CASTER:
|
||||
case TARGET_AREAEFFECT_PARTY_AND_CLASS:
|
||||
case TARGET_IN_FRONT_OF_CASTER_30:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "8263"
|
||||
#define REVISION_NR "8264"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue