


public class Spell extends Entite{
	
	
	
	private String modele=new String();
	String nom=new String();
	String nomE=new String();
	int niveau=0;
	String son=new String();
	private String tileStr=new String();
	private int portee=0;
	private int missileDmg=0;
	
	//private String nomEquipement=new String();
	
	public Spell(String modeleC,String name,String nameE,String sound,String tileStrC){
		
		modele=modeleC;
		nom=name;
		nomE=nameE;
		//niveau=lvl;
		son=sound;
		tileStr=tileStrC;
		//nomEquipement=nom;
		
		
		if(getModele().compareTo("fly")==0){
			niveau=1;
			
			
		}
		
		if(getModele().compareTo("firebolt")==0){
			niveau=1;
			portee=10;
			missileDmg=3;
		}
		
		
		if(getModele().compareTo("nightvision")==0){
			niveau=2;
			
		}
		
		if(getModele().compareTo("rayonx")==0){
			niveau=5;
			
		}
		
		
		if(getModele().compareTo("invisibility")==0){
			niveau=7;
		}
		
		
		if(getModele().compareTo("customteleport")==0){
			niveau=16;
		}
		
		
		
		if(getModele().compareTo("passemuraille")==0){
			niveau=20;
		}
		
		
	}
	
	
	public int getNiveau(){
		return niveau;
	}
	
	public String getModele(){
		return modele;
	}
	
	public void bruit(){
		new ThreadSon(son,0).start();
	}
	
	public String getNomE(){
		return nomE;
	}
	
	public String getNom(){
		return nom;
	}
	
	/*
	public String getNomDequipement(){
		return nomEquipement;
	}
	
	public void setNomDequipement(String nomEquip){
		nomEquipement=nomEquip;
	}*/
	
	public String getTileStr(){
		
		
		return tileStr;
		
	}
	
	
	
	public int getPortee(){
		return portee;
	}
	public void setPortee(int po){
		portee=po;
	}
	
	public int getMissileDmg(){
		return missileDmg;
	}
	
	public void setMissileDmg(int md){
		missileDmg=md;
	}
	
	
	public void effetSort(Monde monde, Entite caster){
		
		////bruit du casting. Pas forcement celui de l'effet du sort
		bruit();
		
		if(getModele().compareTo("firebolt")==0){
			
			monde.perso.magicMissile(this);
			monde.message("Vous lancez un trait de feu",false);
			monde.message("You cast firebolt",true);
		}
		
		
		if(getModele().compareTo("customteleport")==0){
			System.out.println("customteleport");
			new TeleportJDialog(monde);
		}
		
		if(getModele().compareTo("invisibility")==0){
			System.out.println("invisibilty");
			caster.setInvisible(true);
			caster.setDureeEffetInvisibility((int)(Math.abs(Math.random()*100))+1);
			monde.message("Vous etes invisible",false);
			monde.message("You are invisible",true);
		}
		
		if(getModele().compareTo("passemuraille")==0){
			System.out.println("passemuraille");
			caster.setPasseMuraille(true);
			caster.setDureeEffetPasseMuraille((int)(Math.abs(Math.random()*100))+1);
			monde.message("Vous etes incorporel",false);
			monde.message("You are incorporeal",true);
		}
		
		if(getModele().compareTo("nightvision")==0){
			System.out.println("nightvision");
			caster.setNightvision(true);
			caster.setDureeEffetNightVision((int)(Math.abs(Math.random()*100))+1);
			monde.message("Vous voyez dans le noir",false);
			monde.message("You see in the dark",true);
		}
		
		
		if(getModele().compareTo("rayonx")==0){
			System.out.println("rayonx");
			caster.setRayonX(true);
			caster.setDureeEffetRayonX((int)(Math.abs(Math.random()*100))+1);
			monde.message("Vous voyez au travers des murs",false);
			monde.message("You have X-Ray vision",true);
		}
		
		if(getModele().compareTo("fly")==0){
			System.out.println("fly");
			caster.setVolant(true);
			caster.setDureeEffetVolant((int)(Math.abs(Math.random()*100))+1);
			monde.message("Vous volez",false);
			monde.message("You fly",true);
		}
		
		
	}
	
	
	
}