diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 3574d7318d..38ef251794 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -5145,6 +5145,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 3574d7318d..38ef251794 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -5145,6 +5145,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 3574d7318d..38ef251794 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -5145,6 +5145,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 3574d7318d..38ef251794 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -5145,6 +5145,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 5816ebbd1c..3aa07a291a 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -6803,6 +6803,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 3574d7318d..38ef251794 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -5145,6 +5145,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this); diff --git a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 3574d7318d..38ef251794 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -5145,6 +5145,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { final ZoneRegion oldZoneRegion = ZoneManager.getInstance().getRegion(this); final ZoneRegion newZoneRegion = ZoneManager.getInstance().getRegion(newX, newY); + + // Mobius: Prevent moving to nonexistent regions. + if (newZoneRegion == null) + { + return; + } + if (oldZoneRegion != newZoneRegion) { oldZoneRegion.removeFromZones(this);