Fixed moveToPawn offset stackoverflow.
Contributed by Sahar.
This commit is contained in:
parent
072ddd657c
commit
a29d7b915c
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -1006,14 +1006,13 @@ public class CreatureAI extends AbstractAI
|
||||
return false;
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().collisionRadius;
|
||||
|
||||
int offsetWithCollision = offset + _actor.getTemplate().collisionRadius;
|
||||
if (target instanceof Creature)
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().collisionRadius;
|
||||
offsetWithCollision += ((Creature) target).getTemplate().collisionRadius;
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius(target, offset, false, false))
|
||||
if (!_actor.isInsideRadius(target, offsetWithCollision, false, false))
|
||||
{
|
||||
final Creature follow = getFollowTarget();
|
||||
|
||||
@ -1043,7 +1042,7 @@ public class CreatureAI extends AbstractAI
|
||||
return true;
|
||||
}
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius(target, offset + 100, false, false))
|
||||
if (!_actor.isInsideRadius(target, offsetWithCollision + 100, false, false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -991,19 +991,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (getFollowTarget() != null)
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -991,19 +991,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (getFollowTarget() != null)
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -942,19 +942,19 @@ public class CreatureAI extends AbstractAI
|
||||
return false; // skill radius -1
|
||||
}
|
||||
|
||||
offset += _actor.getTemplate().getCollisionRadius();
|
||||
int offsetWithCollision = offset + _actor.getTemplate().getCollisionRadius();
|
||||
if (target.isCreature())
|
||||
{
|
||||
offset += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
offsetWithCollision += ((Creature) target).getTemplate().getCollisionRadius();
|
||||
}
|
||||
|
||||
if (!_actor.isInsideRadius2D(target, offset))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision))
|
||||
{
|
||||
// Caller should be Playable and thinkAttack/thinkCast/thinkInteract/thinkPickUp
|
||||
if (isFollowing())
|
||||
{
|
||||
// allow larger hit range when the target is moving (check is run only once per second)
|
||||
if (!_actor.isInsideRadius2D(target, offset + 100))
|
||||
if (!_actor.isInsideRadius2D(target, offsetWithCollision + 100))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user