Prohibit breaking summon following owner.

This commit is contained in:
MobiusDevelopment
2019-09-17 07:05:28 +00:00
parent b09d495694
commit d46b12d904
17 changed files with 152 additions and 32 deletions
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -869,7 +869,7 @@ abstract class AbstractAI implements Ctrl
_followTarget = null; _followTarget = null;
} }
protected synchronized Creature getFollowTarget() public synchronized Creature getFollowTarget()
{ {
return _followTarget; return _followTarget;
} }
@@ -6062,10 +6062,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
if ((distance < 1) && (Config.PATHFINDING || (this instanceof Playable) || _isAfraid || (this instanceof RiftInvaderInstance))) if ((distance < 1) && (Config.PATHFINDING || (this instanceof Playable) || _isAfraid || (this instanceof RiftInvaderInstance)))
{ {
if (this instanceof Summon) if (this instanceof Summon)
{
// Do not break following owner.
if (getAI().getFollowTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -872,7 +872,7 @@ public abstract class AbstractAI implements Ctrl
_followTarget = null; _followTarget = null;
} }
protected Creature getFollowTarget() public Creature getFollowTarget()
{ {
return _followTarget; return _followTarget;
} }
@@ -4389,10 +4389,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getFollowTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3411,10 +3411,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3411,10 +3411,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3411,10 +3411,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3424,10 +3424,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3424,10 +3424,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }
@@ -3424,10 +3424,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable())) if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{ {
if (isSummon()) if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{ {
((Summon) this).setFollowStatus(false); ((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return; return;
} }
} }