package rpgEngine.Data.Abstract.Enemy;

import rpgEngine.Data.Abstract.CharacterStats;
import rpgEngine.Data.Abstract.Item;
import rpgEngine.Data.Raw.Graphics.EnemySet;

public class Enemy extends CharacterStats {
	private Integer ID;
	private EnemySet enemySet;
	private Integer experience;
	private Integer gold;
	private Item item;
	private Double itemChance;
	private Double attackChance;
	private Double magicChance;
	
	public Enemy() {
		this(-1,0,0,0,0,0,0,null,0,0,null,0.0,0.0,0.0);
	}
	
	
	public Enemy(Integer id, Integer hp, Integer mp, Integer atk, Integer def, Integer mag, Integer bar, EnemySet e, Integer exp, Integer g, Item i, Double ic, Double ac, Double mc) {
		super(hp,mp,atk,def,mag,bar);
		
		ID = id;
		enemySet = e;
		
		experience = exp;
		gold = g;
		item = i;
		itemChance = ic;
		attackChance = ac;
		magicChance = mc;
	}
	
	
	public EnemySet getEnemySet() {
		return enemySet;
	}


	public Integer getExperience() {
		return experience;
	}


	public void setExperience(Integer experience) {
		this.experience = experience;
	}


	public Integer getGold() {
		return gold;
	}


	public void setGold(Integer gold) {
		this.gold = gold;
	}


	public Item getItem() {
		return item;
	}


	public void setItem(Item item) {
		this.item = item;
	}


	public Double getItemChance() {
		return itemChance;
	}


	public void setItemChance(Double itemChance) {
		this.itemChance = itemChance;
	}


	public Double getAttackChance() {
		return attackChance;
	}


	public void setAttackChance(Double attackChance) {
		this.attackChance = attackChance;
	}


	public Double getMagicChance() {
		return magicChance;
	}


	public void setMagicChance(Double magicChance) {
		this.magicChance = magicChance;
	}


	public Integer getID() {
		return ID;
	}


	public void setID(Integer iD) {
		ID = iD;
	}
	
	
	public Enemy createCopy() {
		Enemy enemy = new Enemy(ID,getHP(),getMP(),getAttack(),getDefense(),getSkill(),getBarrier(),enemySet,experience,gold,item,itemChance,attackChance,magicChance);
		
		return enemy;
	}
	
}
