public void printSelf(){
		StringBuilder b = new StringBuilder();
		//Dangers
		b.append("Dangers:\n");
		for(Danger d : dangers){
			b.append("   "+d.getName()+": ");
			for(int i=0;i<10;i++){
				if(i<d.getLevel()*10) b.append("*");
				else b.append("-");
			}
			b.append("\n");
		}
		//Nodes
		b.append("Complete:\n");
		for(int i=0;i<preventionNodeIndex;i++){
			b.append("   "+preventionNodes.get(i)+"\n");
		}
		b.append("Current: "+preventionNodes.get(preventionNodeIndex)+"\n");
		b.append("Next:\n");
		for(int i=preventionNodeIndex+1;i<preventionNodes.size();i++){
			b.append("   "+preventionNodes.get(i)+"\n");
		}
		b.append("Relevant Information:\n");
		for(int i=0;i<Math.min(informCards.size(),5);i++){
			b.append("   "+(i+1)+": "+informCards.get(i));
		}
		b.append("\nLong Term Goals:\n   {");
		for(int i=0;i<recoveryNodes.get(recoveryNodeIndex).getLongTermGoals().size();i++){
			b.append(recoveryNodes.get(recoveryNodeIndex).getLongTermGoals().get(i)+"}\n   {");
		}
		b.delete(b.length()-5, b.length());
		b.append("\nRegular Goals:\n   {");
		for(int i=0;i<recoveryNodes.get(recoveryNodeIndex).getRegularGoals().size();i++){
			b.append(recoveryNodes.get(recoveryNodeIndex).getRegularGoals().get(i)+"}\n   {");
		}
		b.delete(b.length()-5, b.length());
		System.out.println(b);
	}