From fff2cae4b462273a8d576aa7bdc79d247da05aaf Mon Sep 17 00:00:00 2001 From: qsa Date: Mon, 28 Sep 2009 15:11:45 +0300 Subject: [PATCH] [8545] Implement implicit target type 54, TARGET_LARGE_FRONTAL_CONE Signed-off-by: Ambal --- src/game/SharedDefines.h | 1 + src/game/Spell.cpp | 3 +++ src/game/Spell.h | 5 +++++ src/shared/revision_nr.h | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index cf941c0bf..323939397 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -1048,6 +1048,7 @@ enum Targets TARGET_DYNAMIC_OBJECT_RIGHT_SIDE = 50, TARGET_AREAEFFECT_CUSTOM_2 = 52, TARGET_CURRENT_ENEMY_COORDINATES = 53, // set unit coordinates as dest, only 16 target B imlemented + TARGET_LARGE_FRONTAL_CONE = 54, TARGET_ALL_RAID_AROUND_CASTER = 56, TARGET_SINGLE_FRIEND_2 = 57, TARGET_NARROW_FRONTAL_CONE = 60, diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index e450851f4..a0c587e77 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1776,6 +1776,9 @@ void Spell::SetTargetMap(uint32 effIndex,uint32 targetMode,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_LARGE_FRONTAL_CONE: + FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_90, SPELL_TARGETS_AOE_DAMAGE); + break; case TARGET_NARROW_FRONTAL_CONE: FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_15, SPELL_TARGETS_AOE_DAMAGE); break; diff --git a/src/game/Spell.h b/src/game/Spell.h index b4c42b104..25d34c098 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -83,6 +83,7 @@ enum SpellCastFlags enum SpellNotifyPushType { PUSH_IN_FRONT, + PUSH_IN_FRONT_90, PUSH_IN_FRONT_30, PUSH_IN_FRONT_15, PUSH_IN_BACK, @@ -711,6 +712,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_90: + if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, M_PI/2 )) + 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()); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index ff7d3620f..35c6292ef 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8544" + #define REVISION_NR "8545" #endif // __REVISION_NR_H__