Check if pet is dead or at full HP when using potions.

This commit is contained in:
MobiusDevelopment
2022-10-22 00:05:43 +00:00
parent 563e0cf320
commit 800c42fd4e
4 changed files with 76 additions and 60 deletions

View File

@@ -167,25 +167,29 @@ public class AutoUseTaskManager implements Runnable
if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone) if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone)
{ {
final Pet pet = player.getPet(); final Pet pet = player.getPet();
if ((pet != null) && (pet.getCurrentHpPercent() <= player.getAutoPlaySettings().getAutoPetPotionPercent())) if ((pet != null) && !pet.isDead())
{ {
POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems()) final int percent = pet.getCurrentHpPercent();
if ((percent < 100) && (percent <= player.getAutoPlaySettings().getAutoPetPotionPercent()))
{ {
final Item item = player.getInventory().getItemByItemId(itemId.intValue()); POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems())
if (item == null)
{ {
player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId); final Item item = player.getInventory().getItemByItemId(itemId.intValue());
continue POTIONS; if (item == null)
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{ {
player.addTimeStampItem(item, reuseDelay); player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId);
continue POTIONS;
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{
player.addTimeStampItem(item, reuseDelay);
}
} }
} }
} }

View File

@@ -167,25 +167,29 @@ public class AutoUseTaskManager implements Runnable
if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone) if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone)
{ {
final Pet pet = player.getPet(); final Pet pet = player.getPet();
if ((pet != null) && (pet.getCurrentHpPercent() <= player.getAutoPlaySettings().getAutoPetPotionPercent())) if ((pet != null) && !pet.isDead())
{ {
POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems()) final int percent = pet.getCurrentHpPercent();
if ((percent < 100) && (percent <= player.getAutoPlaySettings().getAutoPetPotionPercent()))
{ {
final Item item = player.getInventory().getItemByItemId(itemId.intValue()); POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems())
if (item == null)
{ {
player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId); final Item item = player.getInventory().getItemByItemId(itemId.intValue());
continue POTIONS; if (item == null)
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{ {
player.addTimeStampItem(item, reuseDelay); player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId);
continue POTIONS;
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{
player.addTimeStampItem(item, reuseDelay);
}
} }
} }
} }

View File

@@ -167,25 +167,29 @@ public class AutoUseTaskManager implements Runnable
if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone) if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone)
{ {
final Pet pet = player.getPet(); final Pet pet = player.getPet();
if ((pet != null) && (pet.getCurrentHpPercent() <= player.getAutoPlaySettings().getAutoPetPotionPercent())) if ((pet != null) && !pet.isDead())
{ {
POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems()) final int percent = pet.getCurrentHpPercent();
if ((percent < 100) && (percent <= player.getAutoPlaySettings().getAutoPetPotionPercent()))
{ {
final Item item = player.getInventory().getItemByItemId(itemId.intValue()); POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems())
if (item == null)
{ {
player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId); final Item item = player.getInventory().getItemByItemId(itemId.intValue());
continue POTIONS; if (item == null)
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{ {
player.addTimeStampItem(item, reuseDelay); player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId);
continue POTIONS;
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{
player.addTimeStampItem(item, reuseDelay);
}
} }
} }
} }

View File

@@ -167,25 +167,29 @@ public class AutoUseTaskManager implements Runnable
if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone) if (Config.ENABLE_AUTO_PET_POTION && !isInPeaceZone)
{ {
final Pet pet = player.getPet(); final Pet pet = player.getPet();
if ((pet != null) && (pet.getCurrentHpPercent() <= player.getAutoPlaySettings().getAutoPetPotionPercent())) if ((pet != null) && !pet.isDead())
{ {
POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems()) final int percent = pet.getCurrentHpPercent();
if ((percent < 100) && (percent <= player.getAutoPlaySettings().getAutoPetPotionPercent()))
{ {
final Item item = player.getInventory().getItemByItemId(itemId.intValue()); POTIONS: for (Integer itemId : player.getAutoUseSettings().getAutoPetPotionItems())
if (item == null)
{ {
player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId); final Item item = player.getInventory().getItemByItemId(itemId.intValue());
continue POTIONS; if (item == null)
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{ {
player.addTimeStampItem(item, reuseDelay); player.getAutoUseSettings().getAutoPetPotionItems().remove(itemId);
continue POTIONS;
}
final int reuseDelay = item.getReuseDelay();
if ((reuseDelay <= 0) || (player.getItemRemainingReuseTime(item.getObjectId()) <= 0))
{
final EtcItem etcItem = item.getEtcItem();
final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem);
if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0))
{
player.addTimeStampItem(item, reuseDelay);
}
} }
} }
} }