diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 20dd3ca18c..efa092c5ee 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 9136e42cb1..1e8e6b4ff3 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 9136e42cb1..1e8e6b4ff3 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 9136e42cb1..1e8e6b4ff3 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 9136e42cb1..1e8e6b4ff3 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4ea2c7b911..d1761b4ef3 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -296,14 +296,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 33768515ca..7e77348501 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -150,7 +150,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 70f4cc358e..5dd5d5baf6 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -296,14 +296,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 2d4934c402..7398fa3751 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -150,7 +150,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 70f4cc358e..5dd5d5baf6 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -296,14 +296,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 2d4934c402..7398fa3751 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -150,7 +150,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 73901e5bd0..764da47bed 100644 --- a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index d24dab7f89..a71f93218f 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -175,7 +175,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index d24dab7f89..a71f93218f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -175,7 +175,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index d24dab7f89..a71f93218f 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -175,7 +175,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4deb4a1284..3b6113283e 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -275,14 +275,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index d24dab7f89..a71f93218f 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -175,7 +175,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 7321547c05..69e2c90b64 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -278,14 +278,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 431a9a1a85..dd2b743596 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -180,7 +180,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 7321547c05..69e2c90b64 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -278,14 +278,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 431a9a1a85..dd2b743596 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -180,7 +180,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 7321547c05..69e2c90b64 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -278,14 +278,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 431a9a1a85..dd2b743596 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -180,7 +180,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 7321547c05..69e2c90b64 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -278,14 +278,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 431a9a1a85..dd2b743596 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -180,7 +180,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 74385a8a17..462c2efe56 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -277,14 +277,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 73901e5bd0..764da47bed 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -174,7 +174,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4befeede31..ecabb4cb20 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -279,14 +279,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 1e7dbc55c4..95222d418a 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -179,7 +179,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4befeede31..ecabb4cb20 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -279,14 +279,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 1e7dbc55c4..95222d418a 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -179,7 +179,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4befeede31..ecabb4cb20 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -279,14 +279,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 1e7dbc55c4..95222d418a 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -179,7 +179,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false); diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/NpcData.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/NpcData.java index 4befeede31..ecabb4cb20 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/NpcData.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/NpcData.java @@ -279,14 +279,16 @@ public class NpcData implements IXmlReader { case "walk": { - set.set("baseWalkSpd", parseDouble(attrs, "ground")); + final double groundWalk = parseDouble(attrs, "ground"); + set.set("baseWalkSpd", groundWalk <= 0d ? 0.1 : groundWalk); set.set("baseSwimWalkSpd", parseDouble(attrs, "swim")); set.set("baseFlyWalkSpd", parseDouble(attrs, "fly")); break; } case "run": { - set.set("baseRunSpd", parseDouble(attrs, "ground")); + final double runSpeed = parseDouble(attrs, "ground"); + set.set("baseRunSpd", runSpeed <= 0d ? 0.1 : runSpeed); set.set("baseSwimRunSpd", parseDouble(attrs, "swim")); set.set("baseFlyRunSpd", parseDouble(attrs, "fly")); break; diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 1e7dbc55c4..95222d418a 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -179,7 +179,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable _flying = set.getBoolean("flying", false); _fakePlayer = set.getBoolean("fakePlayer", false); _fakePlayerTalkable = set.getBoolean("fakePlayerTalkable", true); - _canMove = set.getBoolean("canMove", true); + _canMove = (set.getDouble("baseWalkSpd", 1d) <= 0.1) || set.getBoolean("canMove", true); _noSleepMode = set.getBoolean("noSleepMode", false); _passableDoor = set.getBoolean("passableDoor", false); _hasSummoner = set.getBoolean("hasSummoner", false);