package com.jmrapp.terralegion.game.item.impl;
import com.jmrapp.terralegion.engine.views.drawables.Drawable;
import com.jmrapp.terralegion.game.item.Item;
import com.jmrapp.terralegion.game.item.ItemCategory;
import com.jmrapp.terralegion.game.item.ItemType;
import com.jmrapp.terralegion.game.world.block.BlockType;
/**
* Created by Jon on 10/6/15.
*/
public abstract class ToolItem extends UsableItem {
/** The amount of damage dealt by the item. */
protected float damage;
/** The power the tool has when being used. */
protected float power;
protected ItemType type;
public ToolItem(ItemType type, String name, Drawable icon, int maxItemStack, float damage, float power, float reach, float useDelay) {
super(type.getId(), ItemCategory.TOOL, name, icon, maxItemStack, useDelay, reach);
this.damage = damage;
this.power = power;
this.type = type;
this.useDelay = useDelay;
}
public abstract boolean canDamageBlock(BlockType type);
public float getDamage() {
return damage;
}
public float getPower() {
return power;
}
public ItemType getItemType() {
return type;
}
public String toString() {
return damage + " melee damage\n" + useDelay + " speed\n" + (power * 100) + "% power";
}
}