*Make range check dependent from target.
--HG-- branch : trunk
This commit is contained in:
1 parent
f506fde01e
commit
14d85a183e
15 files changed
+198
-131
No files matched your search
+14
-1
@@ -826,7 +826,20 @@ void GameObject::TriggeringLinkedGameObject( uint32 trapEntry, Unit* target)
|
||||
if(!trapSpell) // checked at load already
|
||||
return;
|
||||
|
||||
float range = GetSpellMaxRange(sSpellRangeStore.LookupEntry(trapSpell->rangeIndex));
|
||||
float range;
|
||||
SpellRangeEntry const * srentry = sSpellRangeStore.LookupEntry(trapSpell->rangeIndex);
|
||||
//get owner to check hostility of GameObject
|
||||
if (GetSpellMaxRangeForHostile(srentry) == GetSpellMaxRangeForHostile(srentry))
|
||||
range = GetSpellMaxRangeForHostile(srentry);
|
||||
else
|
||||
{
|
||||
Unit * owner=GetOwner();
|
||||
if (owner)
|
||||
range = owner->GetSpellMaxRangeForTarget(target, srentry);
|
||||
else
|
||||
//if no owner assume that object is hostile to target
|
||||
range = GetSpellMaxRangeForHostile(srentry);
|
||||
}
|
||||
|
||||
// search nearest linked GO
|
||||
GameObject* trapGO = NULL;
|
||||
|
||||
Reference in new issue
Block a user