Fixed AutoLootHerbs configuration not triggering herb skills.

This commit is contained in:
MobiusDevelopment 2021-09-16 15:10:15 +00:00
parent 1d79d839a0
commit cc50309000
19 changed files with 95 additions and 156 deletions

View File

@ -218,6 +218,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3360,17 +3361,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -220,6 +220,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3366,17 +3367,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -221,6 +221,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3368,17 +3369,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3364,17 +3365,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3360,17 +3361,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3360,17 +3361,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3361,17 +3362,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -229,6 +229,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TimedHuntingZoneHolder;
@ -3295,17 +3296,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -227,6 +227,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TimedHuntingZoneHolder;
@ -241,7 +242,6 @@ import org.l2jmobius.gameserver.model.itemcontainer.PlayerInventory;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerRefund;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerWarehouse;
import org.l2jmobius.gameserver.model.items.Armor;
import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Henna;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.Weapon;
@ -3326,17 +3326,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -231,6 +231,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.RecipeHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TimedHuntingZoneHolder;
@ -245,7 +246,6 @@ import org.l2jmobius.gameserver.model.itemcontainer.PlayerInventory;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerRefund;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerWarehouse;
import org.l2jmobius.gameserver.model.items.Armor;
import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Henna;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.Weapon;
@ -3343,17 +3343,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3342,17 +3343,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3342,17 +3343,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -222,6 +222,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3340,17 +3341,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -225,6 +225,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3352,17 +3353,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -225,6 +225,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3352,17 +3353,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -233,6 +233,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TimedHuntingZoneHolder;
@ -3276,17 +3277,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -219,6 +219,7 @@ import org.l2jmobius.gameserver.model.holders.MovieHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TrainingHolder;
@ -3323,17 +3324,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -236,6 +236,7 @@ import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TimedHuntingZoneHolder;
@ -250,7 +251,6 @@ import org.l2jmobius.gameserver.model.itemcontainer.PlayerRandomCraft;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerRefund;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerWarehouse;
import org.l2jmobius.gameserver.model.items.Armor;
import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Henna;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.Weapon;
@ -3331,17 +3331,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{

View File

@ -241,6 +241,7 @@ import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
import org.l2jmobius.gameserver.model.holders.PurgePlayerHolder;
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
import org.l2jmobius.gameserver.model.holders.SubClassHolder;
import org.l2jmobius.gameserver.model.holders.TimedHuntingZoneHolder;
@ -255,7 +256,6 @@ import org.l2jmobius.gameserver.model.itemcontainer.PlayerRandomCraft;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerRefund;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerWarehouse;
import org.l2jmobius.gameserver.model.items.Armor;
import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Henna;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.Weapon;
@ -3372,17 +3372,13 @@ public class PlayerInstance extends Playable
}
// Auto-use herbs.
if (item.hasExImmediateEffect())
if (item.hasExImmediateEffect() && item.isEtcItem())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof EtcItem ? (EtcItem) item : null);
if (handler == null)
for (SkillHolder skillHolder : item.getAllSkills())
{
LOGGER.warning("No item handler registered for Herb ID " + item.getId() + "!");
}
else
{
handler.useItem(this, new ItemInstance(itemId), false);
SkillCaster.triggerCast(this, null, skillHolder.getSkill(), null, false);
}
broadcastInfo();
}
else
{