package system.item;

import java.io.Serializable;

/**
 * Classe base para habilidades, equipamentos e loot.<br>
 * Proporciona valores para a interação com a batalha, os meios variam conforme a especialização desta classe.
 */
public class Item implements Serializable {
	/**
	 * Serve pra não dar merda na serialização de objetos.
	 */
	private static final long serialVersionUID = 3317176605853442929L;
	
	/**
	 * Identificador do item. Serve para ordenar pelo ID basicamente.
	 * */
	protected int id;
	/**
	 * Determina a distância máxima qual este item pode interagir.
	 * */
	protected int minRange;
	/**
	 * Determina a distância mínima qual este item NÃO pode interagir.
	 * */
	protected int maxRange;
	/**
	 * Raio da área de interação do item. Após um tile ser selecionado, o
	 * radius expande horizontal e verticalmente a partir dele.<br>
	 * Se seu valor for 1 ele irá interagir apenas com o tile selecionado.
	 * */
	protected int radius;
	/**
	 * Raridade do item. Atributo puramente cosmético.
	 * */
	protected int rarity;

	/**
	 * Nome do item. Atributo puramente cosmético.
	 * */
	protected String name;
	/**
	 * Descrição do item. Atributo puramente cosmético.
	 * */
	protected String description;
	public int getId() {
		return id;
	}
	public int getMinRange() {
		return minRange;
	}
	public int getMaxRange() {
		return maxRange;
	}
	public int getRadius() {
		return radius;
	}
	public String getName() {
		return name;
	}
	public String getDescription() {
		return description;
	}	
}
