mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-03-15 05:25:08 +00:00
fix(Core/Spells): Fixed calculating LoS for dynamic objects. (#12090)
Fixed #12080
This commit is contained in:
@@ -2868,10 +2868,15 @@ void DynObjAura::FillTargetMap(std::map<Unit*, uint8>& targets, Unit* /*caster*/
|
|||||||
|
|
||||||
for (UnitList::iterator itr = targetList.begin(); itr != targetList.end(); ++itr)
|
for (UnitList::iterator itr = targetList.begin(); itr != targetList.end(); ++itr)
|
||||||
{
|
{
|
||||||
|
// xinef: check z level and los dependence
|
||||||
Unit* target = *itr;
|
Unit* target = *itr;
|
||||||
if (!spellInfo->HasAttribute(SPELL_ATTR2_IGNORE_LINE_OF_SIGHT) && !spellInfo->HasAttribute(SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT) && !target->IsWithinLOSInMap(GetDynobjOwner()))
|
float zLevel = GetDynobjOwner()->GetPositionZ();
|
||||||
|
if (target->GetPositionZ() + 3.0f < zLevel || target->GetPositionZ() - 5.0f > zLevel)
|
||||||
{
|
{
|
||||||
continue;
|
if (!spellInfo->HasAttribute(SPELL_ATTR2_IGNORE_LINE_OF_SIGHT) && !spellInfo->HasAttribute(SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT) && !target->IsWithinLOSInMap(GetDynobjOwner()))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<Unit*, uint8>::iterator existing = targets.find(*itr);
|
std::map<Unit*, uint8>::iterator existing = targets.find(*itr);
|
||||||
|
|||||||
Reference in New Issue
Block a user