diff options
| author | MrSmite <mrsmite@att.net> | 2012-12-06 09:58:32 -0500 |
|---|---|---|
| committer | MrSmite <mrsmite@att.net> | 2012-12-07 22:13:57 -0500 |
| commit | 777b287dff8bce806849a26d59fe40f864c385ed (patch) | |
| tree | 18a9231bd70d014083309b198b293576a3f63630 /src/server/game/Movement | |
| parent | b9442f3773ad8ab43dcc52b649a4f6d7a4869354 (diff) | |
PetAI - Overhaul / bug fix
* Aggressive pets now use aggro radius check based on level diff of target
* Aggro radius limited to max 45 yards (per wowwiki)
* Pets no longer "dance" when fighting a creature
* Pets returning will defend themselves (if not passive) if owner didn't click "follow"
* Pets at stay will properly pick up their owner's attackers that pass within range
* Fix "no empty line at end of file" warning in PetAI
* Fix typo in GetAggroRange()
* Fix spell "Eyes of the Beast" - player can move pet freely
* Code style cleanup
* Update commit comment
Closes #8398, #7455
Diffstat (limited to 'src/server/game/Movement')
| -rwxr-xr-x | src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index 7a669642e7e..8712b2cf527 100755 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -66,7 +66,9 @@ void TargetedMovementGeneratorMedium<T,D>::_setTargetLocation(T &owner) // We need to subtract GetObjectSize() because it gets added back further down the chain // and that makes pets too far away. Subtracting it allows pets to properly // be (GetCombatReach() + i_offset) away. - if (owner.isPet()) + // Only applies when i_target is pet's owner otherwise pets and mobs end up + // doing a "dance" while fighting + if (owner.isPet() && i_target->GetTypeId() == TYPEID_PLAYER) { dist = i_target->GetCombatReach(); size = i_target->GetCombatReach() - i_target->GetObjectSize(); |
