diff --git a/L2J_Mobius_Underground/dist/game/data/ActionData.xml b/L2J_Mobius_Underground/dist/game/data/ActionData.xml
index ea5cd511e2..a03d5f141e 100644
--- a/L2J_Mobius_Underground/dist/game/data/ActionData.xml
+++ b/L2J_Mobius_Underground/dist/game/data/ActionData.xml
@@ -109,25 +109,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -136,16 +136,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java
index 2fdc002601..c315af3a35 100644
--- a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java
@@ -61,8 +61,9 @@ public class BeastSoulShot implements IItemHandler
}
final List aliveServitor = playable.getServitors().values().stream().filter(s -> !s.isDead()).collect(Collectors.toList());
- if (aliveServitor.isEmpty())
+ if ((pet == null) && aliveServitor.isEmpty())
{
+ activeOwner.sendMessage("asdas");
activeOwner.sendPacket(SystemMessageId.SOULSHOTS_AND_SPIRITSHOTS_ARE_NOT_AVAILABLE_FOR_A_DEAD_PET_OR_SERVITOR_SAD_ISN_T_IT);
return false;
}
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java
index bf0eeed4e2..765194563e 100644
--- a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java
@@ -61,7 +61,7 @@ public class BeastSpiritShot implements IItemHandler
}
final List aliveServitor = playable.getServitors().values().stream().filter(s -> !s.isDead()).collect(Collectors.toList());
- if (aliveServitor.isEmpty())
+ if ((pet == null) && aliveServitor.isEmpty())
{
activeOwner.sendPacket(SystemMessageId.SOULSHOTS_AND_SPIRITSHOTS_ARE_NOT_AVAILABLE_FOR_A_DEAD_PET_OR_SERVITOR_SAD_ISN_T_IT);
return false;
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/playeractions/PetAttack.java b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/playeractions/PetAttack.java
index c57e901049..ebc8404430 100644
--- a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/playeractions/PetAttack.java
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/playeractions/PetAttack.java
@@ -50,6 +50,5 @@ public final class PetAttack implements IPlayerActionHandler
{
pet.doAttack(activeChar.getTarget());
}
-
}
}
diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/data/xml/impl/PetDataTable.java b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/data/xml/impl/PetDataTable.java
index 46085706e7..47e6bc5a49 100644
--- a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/data/xml/impl/PetDataTable.java
+++ b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/data/xml/impl/PetDataTable.java
@@ -180,6 +180,10 @@ public final class PetDataTable implements IGameXmlReader
final L2PetData pd = getPetData(petId);
if (pd != null)
{
+ if (petLevel > pd.getMaxLevel())
+ {
+ return pd.getPetLevelData(pd.getMaxLevel());
+ }
return pd.getPetLevelData(petLevel);
}
return null;
diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/L2PetData.java b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/L2PetData.java
index e7cc17956e..95945bfb4e 100644
--- a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/L2PetData.java
+++ b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/L2PetData.java
@@ -191,12 +191,14 @@ public class L2PetData
public int getAvailableLevel(int skillId, int petLvl)
{
int lvl = 0;
+ boolean found = false;
for (L2PetSkillLearn temp : _skills)
{
if (temp.getSkillId() != skillId)
{
continue;
}
+ found = true;
if (temp.getSkillLevel() == 0)
{
if (petLvl < 70)
@@ -228,6 +230,10 @@ public class L2PetData
}
}
}
+ if (found && (lvl == 0))
+ {
+ return 1;
+ }
return lvl;
}