Fixed summon follow mode after target is killed.

Contributed by Sahar.
This commit is contained in:
MobiusDevelopment
2020-06-20 22:18:28 +00:00
parent 0077cdb62d
commit 64fc5677a3
15 changed files with 195 additions and 15 deletions

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {

View File

@@ -98,13 +98,18 @@ public class SummonAI extends PlayableAI implements Runnable
if (checkTargetLostOrDead(attackTarget)) if (checkTargetLostOrDead(attackTarget))
{ {
setTarget(null); setTarget(null);
if (_startFollow)
{
((Summon) _actor).setFollowStatus(true); ((Summon) _actor).setFollowStatus(true);
}
return; return;
} }
if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange())) if (maybeMoveToPawn(attackTarget, _actor.getPhysicalAttackRange()))
{ {
return; return;
} }
clientStopMoving(null); clientStopMoving(null);
_actor.doAutoAttack(attackTarget); _actor.doAutoAttack(attackTarget);
} }
@@ -124,11 +129,13 @@ public class SummonAI extends PlayableAI implements Runnable
summon.setFollowStatus(true); summon.setFollowStatus(true);
return; return;
} }
final boolean val = _startFollow; final boolean val = _startFollow;
if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill))) if (maybeMoveToPawn(target, _actor.getMagicalAttackRange(_skill)))
{ {
return; return;
} }
summon.setFollowStatus(false); summon.setFollowStatus(false);
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
_startFollow = val; _startFollow = val;
@@ -142,10 +149,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
getActor().doPickupItem(target); getActor().doPickupItem(target);
} }
@@ -157,10 +166,12 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
if (maybeMoveToPawn(target, 36)) if (maybeMoveToPawn(target, 36))
{ {
return; return;
} }
setIntention(AI_INTENTION_IDLE); setIntention(AI_INTENTION_IDLE);
} }
@@ -171,6 +182,7 @@ public class SummonAI extends PlayableAI implements Runnable
{ {
return; return;
} }
_thinking = true; _thinking = true;
try try
{ {