public class CritterCategory extends Creature{
	
	
	int baseAtk=0;
	int atkModifiee=0;
	int baseDef=0;
	int defModifiee=0;
	int maxHitPoints=0;
	int currentHitPoints=0;
	
	
	boolean passemuraille=false;
	
	int vue=0;
	int rapidite=0;
	
	int poids=0;
	
	int force=0;
	int dexterite=0;
	int intelligence=0;
	int constitution=0;
	
	int niveau=0;
	
	private int bonusAtkArme=0;
	private int bonusDefArmure=0;
	
	private boolean volant=false;
	
	private boolean nightvision=false;
	
	public CritterCategory(Monde world,boolean mort,String espece,String nom,String nomE,boolean hostiliteBol,String typeObjet,boolean visible,String tileStr,String tileStrMort,String cri){
		super(world,mort,espece,nom,nomE,hostiliteBol,typeObjet,visible,tileStr,tileStrMort,cri);
	
		
		if(getEspece().compareTo("bat")==0){
			
			niveau=1;
			
			force=2;
			dexterite=7;
			intelligence=1;
			constitution=2;
			
			
			baseAtk=(force+dexterite)/2;
			baseDef=dexterite;
			maxHitPoints=constitution*20;
			currentHitPoints=maxHitPoints;
			
			volant=true;
			
			vue=6;
			rapidite=2;
			
			poids=3;
			
		}
		
		if(getEspece().compareTo("rat")==0){
			
			niveau=1;
			
			force=2;
			dexterite=7;
			intelligence=1;
			constitution=2;
			
			
			baseAtk=(force+dexterite)/2;
			baseDef=dexterite;
			maxHitPoints=constitution*20;
			currentHitPoints=maxHitPoints;
			
			
			vue=3;
			rapidite=1;
			
			poids=3;
			
		}
		
		
		
		if(getEspece().compareTo("bug")==0){
			
			niveau=1;
			
			force=1;
			dexterite=5;
			intelligence=1;
			constitution=2;
			
			
			baseAtk=(force+dexterite)/2;
			baseDef=dexterite;
			maxHitPoints=constitution*20;
			currentHitPoints=maxHitPoints;
			
			
			vue=2;
			rapidite=1;
			
			poids=1;
			
		}
		
		
		if(getEspece().compareTo("giantbat")==0){
			
			niveau=7;
			
			force=7;
			dexterite=8;
			intelligence=3;
			constitution=8;
			
			
			baseAtk=(force+dexterite)/2;
			baseDef=dexterite;
			maxHitPoints=constitution*20;
			currentHitPoints=maxHitPoints;
			
			volant=true;
			
			vue=3;
			rapidite=2;
			
			poids=25;
			
		}
		
		
		
		if(getEspece().compareTo("escargotgeant")==0){
			
			niveau=10;
			
			force=10;
			dexterite=5;
			intelligence=1;
			constitution=13;
			
			
			baseAtk=(force+dexterite)/2;
			baseDef=dexterite;
			maxHitPoints=constitution*20;
			currentHitPoints=maxHitPoints;
			
			
			vue=5;
			rapidite=1;
			
			poids=200;
			
		}
		
		
	
	}
	
	
	public boolean getNightvision(){
		return nightvision;
	}
	public void setNightvision(boolean nv){
		nightvision=nv;
	}
	
	
	
	public boolean getVolant(){
		return volant;
	}
	
	public void setVolant(boolean v){
		volant=v;
	}
	
	public void effetNourriture(Personnage perso){
		
		
		if(perso.getFaim()-(poids*20)>=0){
			perso.setFaim(perso.getFaim()-(poids*20));
		}
		else{
			perso.setFaim(0);
		}
		
		perso.message("Ca a un gout bizarre...(diminution de "+(poids*20)+" points de faim)",false);
		perso.message("Strange taste...(you lose "+(poids*20)+" hunger points)",true);
		
			
	}
	
	
	
	public int getNiveau(){
		return niveau;
	}
	
	
	public int getbonusAtkArme(){
		return bonusAtkArme;
	}
	
	public void setbonusAtkArme(int bonWeap){
		bonusAtkArme=bonWeap;
	}
	
	public int getbonusDefArmure(){
		return bonusDefArmure;
	}
	
	public void setbonusDefArmure(int bonDef){
		bonusDefArmure=bonDef;
	}
	
	
	public int getBaseAtk(){
		return baseAtk;
	}
	
	public void setBaseAtk(int atkBase){
		baseAtk=atkBase;
		
	}
	
	public int getAtkModifiee(){
		atkModifiee=getBaseAtk()+getbonusAtkArme();
		return atkModifiee;
	}
	
	/*
	public void setAtkModifiee(int atkModif){
		atkModifiee=atkModif;
		
	}*/
	
	public int getBaseDef(){
		return baseDef;
	}
	
	public void setBaseDef(int defBase){
		baseDef=defBase;
	}
	
	public int getDefModifiee(){
		defModifiee=getBaseDef()+getbonusDefArmure();
		return defModifiee;
	}
	
	/*
	public void setDefModifiee(int defModif){
		defModifiee=defModif;
		
	}*/
	
	
	
	
	
	public int getForce(){
		return force;
	}
	
	public void setForce(int fo){
		force=fo;
	}
	
	public int getDexterite(){
		return dexterite;
	}
	
	public void setDexterite(int dex){
		dexterite=dex;
	}
	
	public int getIntelligence(){
		return intelligence;
	}
	
	public void setIntelligence(int intel){
		intelligence=intel;
	}
	
	public int getConstitution(){
		return constitution;
	}
	
	public void setConstitution(int co){
		constitution=co;
	}
	
	
	public int getPoids(){
		return poids;
	}
	
	public void setPoids(int pds){
		poids=pds;
	}
	
	public int getRapidite(){
		return rapidite;	
	}
	
	public void setRapidite(int rapid){
		rapidite=rapid;
	}
	
	
	
	public int getVue(){
		return vue;
	}
	
	public void setVue(int view){
		
		vue=view;
	}
	
	
	
	public boolean getPasseMuraille(){
		return passemuraille;
	}
	
	public void setPasseMuraille(boolean passW){
		passemuraille=passW;
	}
	
	
	
	
	
	
	
	public int getMaxHitPts(){
		return maxHitPoints;
	}
	
	public void setMaxHitPts(int mxHitPts){
		maxHitPoints=mxHitPts;
	}
	
	public int getCurrentHitPts(){
		return currentHitPoints;
	}
	
	public void setCurrentHitPts(int currentHitPts){
		currentHitPoints=currentHitPts;
	}
	
	
	
}