public class Roomstate
{
	boolean _seen = false;
	String _description;		// This is the long description for this roomstate
	String _shortDescription;	// This is the short description for this roomstate
	KeyCombo[] _keyCombos;		// This is a list of keyCombos


	// Default constructor. Never used.
	public Roomstate()
	{
	}
	
	// Main constructor.
	public Roomstate(KeyCombo[] keyCombos)
	{
		this._keyCombos = keyCombos;
	}
	
	public String description()
	{
		if (!this._seen)
		{
			this._seen = true;
			return this._description;
		}
		return this._shortDescription;
	}

	public String description(boolean check)
	{
		this._seen = true;
		return this._description;
	}
}
@@ -1,12 +1,124 @@
+import org.w3c.dom.Document;%0Aimport org.w3c.dom.Element;%0Aimport org.w3c.dom.Node;%0Aimport org.w3c.dom.NodeList;%0A%0A
 public class
@@ -163,17 +163,21 @@
 String _
-d
+longD
 escripti
@@ -179,17 +179,16 @@
 ription;
-%09
 %09// This
@@ -477,263 +477,773 @@
 ate(
-KeyCombo%5B%5D keyCombos)%0A%09%7B%0A%09%09this._keyCombos = keyCombos;%0A%09%7D%0A%09%0A%09public String description()%0A%09%7B%0A%09%09if (!this._seen)
+Node roomstateNode)%0A%09%7B%0A%09%09this._longDescription = ((Element)roomstateNode).getElementsByTagName(%22longdescription%22).item(0).getTextContent().trim();%0A%09%09%09%09%0A%09%09this._shortDescription = ((Element)roomstateNode).getElementsByTagName(%22shortdescription%22).item(0).getTextContent().trim();%0A%09%09%0A%09%09NodeList keyCombos = ((Element)roomstateNode).getElementsByTagName(%22key%22);
 %0A%09%09
-%7B
 %0A%09%09
-%09
 this._
-seen = true;%0A%09%09%09return this._description;%0A%09%09%7D%0A%09%09return this._shortDescription;%0A%09%7D%0A%0A%09public String description(boolean check
+keyCombos = new KeyCombo%5BkeyCombos.getLength()%5D;%0A%09%09%0A%09%09for(int i = 0; i %3C keyCombos.getLength(); i++)%0A%09%09%7B%0A%09%09%09this._keyCombos%5Bi%5D = new KeyCombo(keyCombos.item(i));%0A%09%09%7D%0A%09%7D%0A%0A%09public String description(boolean longDesc)%0A%09%7B%0A%09%09// If the long description has not been seen, or it is specifically requested, show that.%0A%09%09// Otherwise, just show the short description.%0A%09%09if(!this._seen %7C%7C longDesc
 )%0A
+%09
 %09%7B%0A%09%09
+%09
 this
@@ -1259,16 +1259,17 @@
 true;%0A%09%09
+%09
 return t
@@ -1273,17 +1273,58 @@
 n this._
-d
+longDescription;%0A%09%09%7D%0A%09%09return this._shortD
 escripti

Add Roomstate(Node) constructor