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

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3412,10 +3412,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -869,7 +869,7 @@ abstract class AbstractAI implements Ctrl
_followTarget = null;
}
protected synchronized Creature getFollowTarget()
public synchronized Creature getFollowTarget()
{
return _followTarget;
}

View File

@@ -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 (this instanceof Summon)
{
// Do not break following owner.
if (getAI().getFollowTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -872,7 +872,7 @@ public abstract class AbstractAI implements Ctrl
_followTarget = null;
}
protected Creature getFollowTarget()
public Creature getFollowTarget()
{
return _followTarget;
}

View File

@@ -4389,10 +4389,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getFollowTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3411,10 +3411,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3411,10 +3411,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3411,10 +3411,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3424,10 +3424,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3424,10 +3424,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}

View File

@@ -3424,10 +3424,18 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
if ((distance < 1) && (Config.PATHFINDING || isPlayable()))
{
if (isSummon())
{
// Do not break following owner.
if (getAI().getTarget() != getActingPlayer())
{
((Summon) this).setFollowStatus(false);
}
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
}
else
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return;
}
}