Fixed summon follow mode after target is killed.
Contributed by Sahar.
This commit is contained in:
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user