package net.scapeemulator.game.model.player.skills.herblore;
import net.scapeemulator.game.dispatcher.item.ItemHandler;
import net.scapeemulator.game.model.Option;
import net.scapeemulator.game.model.definition.ItemDefinitions;
import net.scapeemulator.game.model.player.Item;
import net.scapeemulator.game.model.player.Player;
import net.scapeemulator.game.model.player.SlottedItem;
import net.scapeemulator.game.model.player.skills.Skill;
import net.scapeemulator.game.util.HandlerContext;
/**
* @author David Insley
*/
public class GrimyHerbHandler extends ItemHandler {
public GrimyHerbHandler() {
super(Option.ONE);
}
@Override
public void handle(Player player, SlottedItem item, String optionName, HandlerContext context) {
Herb herb = Herb.forGrimyId(item.getItem().getId());
if (herb != null) {
context.stop();
if (player.getSkillSet().getCurrentLevel(Skill.HERBLORE) < herb.getLevel()) {
player.sendMessage("You need level " + herb.getLevel() + " Herblore to clean that herb.");
return;
}
player.getInventory().remove(item);
player.getInventory().add(new Item(herb.getCleanId()));
player.getSkillSet().addExperience(Skill.HERBLORE, herb.getXp());
player.sendMessage("You clean dirt from the " + ItemDefinitions.forId(item.getItem().getId()).getName().toLowerCase() + ".");
}
}
}