From 57524ce5eafa29368da3e8828b7b03ed4a2f9298 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 29 Sep 2020 18:04:31 +0000 Subject: [PATCH] Auto play manager improvements. --- .../gameserver/taskmanager/AutoPlayTaskManager.java | 9 +++++++-- .../gameserver/taskmanager/AutoPlayTaskManager.java | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java index 685243b58d..b3ba76f798 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java @@ -21,6 +21,7 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; +import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.WorldObject; @@ -60,7 +61,11 @@ public class AutoPlayTaskManager if ((target != null) && target.isMonster()) { final MonsterInstance monster = (MonsterInstance) target; - if ((monster.getTarget() == player) && !monster.isAlikeDead()) + if (monster.isAlikeDead()) + { + player.setTarget(null); + } + else if (monster.getTarget() == player) { // Check if actually attacking. if (player.hasAI() && player.getAI().isAutoAttacking() && !player.isAttackingNow() && !player.isCastingNow()) @@ -87,7 +92,7 @@ public class AutoPlayTaskManager // Move to item. if (player.calculateDistance2D(droppedItem) > 50) { - player.moveToLocation(droppedItem.getX(), droppedItem.getY(), droppedItem.getZ(), 0); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, droppedItem); continue PLAY; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java index 685243b58d..b3ba76f798 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoPlayTaskManager.java @@ -21,6 +21,7 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; +import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.WorldObject; @@ -60,7 +61,11 @@ public class AutoPlayTaskManager if ((target != null) && target.isMonster()) { final MonsterInstance monster = (MonsterInstance) target; - if ((monster.getTarget() == player) && !monster.isAlikeDead()) + if (monster.isAlikeDead()) + { + player.setTarget(null); + } + else if (monster.getTarget() == player) { // Check if actually attacking. if (player.hasAI() && player.getAI().isAutoAttacking() && !player.isAttackingNow() && !player.isCastingNow()) @@ -87,7 +92,7 @@ public class AutoPlayTaskManager // Move to item. if (player.calculateDistance2D(droppedItem) > 50) { - player.moveToLocation(droppedItem.getX(), droppedItem.getY(), droppedItem.getZ(), 0); + player.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, droppedItem); continue PLAY; }