mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 13: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_SELF2 = 87,
|
||||||
TARGET_DIRECTLY_FORWARD = 89,
|
TARGET_DIRECTLY_FORWARD = 89,
|
||||||
TARGET_NONCOMBAT_PET = 90,
|
TARGET_NONCOMBAT_PET = 90,
|
||||||
|
TARGET_IN_FRONT_OF_CASTER_30 = 104,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SpellMissInfo
|
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);
|
FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(),radius,inFront ? PUSH_IN_FRONT : PUSH_IN_BACK,SPELL_TARGETS_AOE_DAMAGE);
|
||||||
break;
|
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:
|
case TARGET_DUELVSPLAYER:
|
||||||
{
|
{
|
||||||
Unit *target = m_targets.getUnitTarget();
|
Unit *target = m_targets.getUnitTarget();
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,7 @@ enum SpellCastFlags
|
||||||
enum SpellNotifyPushType
|
enum SpellNotifyPushType
|
||||||
{
|
{
|
||||||
PUSH_IN_FRONT,
|
PUSH_IN_FRONT,
|
||||||
|
PUSH_IN_FRONT_30,
|
||||||
PUSH_IN_BACK,
|
PUSH_IN_BACK,
|
||||||
PUSH_SELF_CENTER,
|
PUSH_SELF_CENTER,
|
||||||
PUSH_DEST_CENTER,
|
PUSH_DEST_CENTER,
|
||||||
|
|
@ -706,6 +707,10 @@ namespace MaNGOS
|
||||||
if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
|
if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
|
||||||
i_data->push_back(itr->getSource());
|
i_data->push_back(itr->getSource());
|
||||||
break;
|
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:
|
case PUSH_IN_BACK:
|
||||||
if(i_spell.GetCaster()->isInBackInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
|
if(i_spell.GetCaster()->isInBackInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
|
||||||
i_data->push_back(itr->getSource());
|
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_ALL_ENEMY_IN_AREA_CHANNELED:
|
||||||
case TARGET_CURRENT_ENEMY_COORDINATES:
|
case TARGET_CURRENT_ENEMY_COORDINATES:
|
||||||
case TARGET_SINGLE_ENEMY:
|
case TARGET_SINGLE_ENEMY:
|
||||||
|
case TARGET_IN_FRONT_OF_CASTER_30:
|
||||||
return false;
|
return false;
|
||||||
case TARGET_CASTER_COORDINATES:
|
case TARGET_CASTER_COORDINATES:
|
||||||
return (targetB == TARGET_ALL_PARTY || targetB == TARGET_ALL_FRIENDLY_UNITS_AROUND_CASTER);
|
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_AREAEFFECT_CUSTOM_2:
|
||||||
case TARGET_ALL_RAID_AROUND_CASTER:
|
case TARGET_ALL_RAID_AROUND_CASTER:
|
||||||
case TARGET_AREAEFFECT_PARTY_AND_CLASS:
|
case TARGET_AREAEFFECT_PARTY_AND_CLASS:
|
||||||
|
case TARGET_IN_FRONT_OF_CASTER_30:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "8263"
|
#define REVISION_NR "8264"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue