*Fix broken cone spells and chain spells.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-01-27 17:30:21 -06:00
parent beb293383c
commit f9754e3630
2 changed files with 6 additions and 11 deletions

View File

@@ -1397,11 +1397,6 @@ void Spell::SearchAreaTarget(std::list<Unit*> &TagUnitMap, float radius, const u
x = m_targets.m_destX;
y = m_targets.m_destY;
}
else if(type == PUSH_SELF_CENTER)
{
x = m_caster->GetPositionX();
y = m_caster->GetPositionY();
}
else if(type == PUSH_TARGET_CENTER)
{
Unit *target = m_targets.getUnitTarget();
@@ -1413,6 +1408,11 @@ void Spell::SearchAreaTarget(std::list<Unit*> &TagUnitMap, float radius, const u
x = target->GetPositionX();
y = target->GetPositionY();
}
else
{
x = m_caster->GetPositionX();
y = m_caster->GetPositionY();
}
Trinity::SpellNotifierCreatureAndPlayer notifier(*this, TagUnitMap, radius, type, TargetType, entry);
if((m_spellInfo->AttributesEx3 & SPELL_ATTR_EX3_PLAYERS_ONLY)

View File

@@ -81,7 +81,6 @@ enum SpellNotifyPushType
PUSH_IN_FRONT,
PUSH_IN_BACK,
PUSH_IN_LINE,
PUSH_SELF_CENTER,
PUSH_DEST_CENTER,
PUSH_TARGET_CENTER,
};
@@ -653,11 +652,7 @@ namespace Trinity
if(i_caster->isInLine((Unit*)(itr->getSource()), i_radius ))
i_data->push_back(itr->getSource());
break;
case PUSH_SELF_CENTER:
if(i_caster->IsWithinDistInMap((Unit*)(itr->getSource()), i_radius))
i_data->push_back(itr->getSource());
break;
case PUSH_DEST_CENTER:
default:
if((itr->getSource()->GetDistance(i_spell.m_targets.m_destX, i_spell.m_targets.m_destY, i_spell.m_targets.m_destZ) < i_radius ))
i_data->push_back(itr->getSource());
break;