Index: trunk/src/scriptbuilder/structures/MyScriptHandler.java
===================================================================
--- trunk/src/scriptbuilder/structures/MyScriptHandler.java	(revision 76)
+++ trunk/src/scriptbuilder/structures/MyScriptHandler.java	(revision 138)
@@ -6,4 +6,5 @@
 package scriptbuilder.structures;
 
+import java.awt.Color;
 import java.util.ArrayList;
 import java.util.Random;
@@ -239,4 +240,6 @@
     private CadData cad = null;
 
+    private Color incColor = null;
+
     /**
      * Constructor. Initializes incident map.
@@ -382,4 +385,10 @@
                 }
             }
+            else if (qName.equals(ELEMENT.COLOR.tag))
+            {
+                incColor = new Color(Integer.parseInt(attributes.getValue("r")),
+                        Integer.parseInt(attributes.getValue("g")),
+                        Integer.parseInt(attributes.getValue("b")));
+            }
             else if (qName.equals(ELEMENT.FACILITATOR_EVALUATION.tag))
             {
@@ -458,4 +467,7 @@
             {
                 cad = new CadData();
+                //Nullify color
+                //This gets overwritten if color tag exists
+                incColor = null;
             }
 
@@ -732,4 +744,8 @@
                 }
             }
+            else if (currentElement == ELEMENT.COLOR)
+            {
+                currInc.color = incColor;
+            }
             else if (currentElement == ELEMENT.EXPECTED_ACTION)
             {
@@ -887,6 +903,9 @@
                 if (incidentMap.get(incidentLogNumber) == null)
                 {
+                    Color newColor = SimulationScript.incidentColors[Math.abs(new Random().nextInt())
+                            % SimulationScript.incidentColors.length];
+
                     incidentMap.put(incidentLogNumber,
-                            new ScriptIncident(SimulationScript.incidentColors[Math.abs(new Random().nextInt()) % SimulationScript.incidentColors.length],
+                            new ScriptIncident(newColor,
                                     incidentLogNumber, currentIncName, currentIncidentDesc,
                                     script, (int) currentEventTime));
@@ -919,5 +938,5 @@
                     unit.Curr_Loc = pcData.remove(ELEMENT.CURR_LOC);
                 }
-                if (pcData.containsKey(ELEMENT.DESTINATION))
+                if (pcData.containsKey(ELEMENT.DESTINATION))    
                 {
                     unit.Destination = pcData.remove(ELEMENT.DESTINATION);
Index: trunk/src/scriptbuilder/structures/ELEMENT.java
===================================================================
--- trunk/src/scriptbuilder/structures/ELEMENT.java	(revision 19)
+++ trunk/src/scriptbuilder/structures/ELEMENT.java	(revision 138)
@@ -103,4 +103,5 @@
     //They do have attributes.
     AUDIO,//EVENT
+    COLOR,
     TOW,//EVENT
     UNIT,//EVENT
Index: trunk/src/scriptbuilder/structures/XMLWriter.java
===================================================================
--- trunk/src/scriptbuilder/structures/XMLWriter.java	(revision 131)
+++ trunk/src/scriptbuilder/structures/XMLWriter.java	(revision 138)
@@ -112,5 +112,5 @@
                 + "<!ELEMENT FAX (#PCDATA)>\n"
                 + "<!ELEMENT COMMENT (#PCDATA)>\n"
-                + "<!ELEMENT SCRIPT_EVENT (TIME_INDEX | INCIDENT | CAD_DATA | GENERAL_INFO |\n"
+                + "<!ELEMENT SCRIPT_EVENT (TIME_INDEX | INCIDENT | COLOR | CAD_DATA | GENERAL_INFO |\n"
                 + "ATMS_EVALUATION | CAD_EVALUATION | ACTIVITY_LOG_EVALUATION | FACILITATOR_EVALUATION |\n"
                 + "RADIO_EVALUATION | CHP_RADIO | MAINTENANCE_RADIO | CMS_EVALUATION | TMT_RADIO | \n"
@@ -119,4 +119,8 @@
                 + "<!ELEMENT INCIDENT (#PCDATA)>\n"
                 + "<!ATTLIST INCIDENT LogNum CDATA #REQUIRED>\n"
+                + "<!ELEMENT COLOR EMPTY>\n"
+                + "<!ATTLIST COLOR r CDATA #REQUIRED>\n"
+                + "<!ATTLIST COLOR g CDATA #REQUIRED>\n"
+                + "<!ATTLIST COLOR b CDATA #REQUIRED>\n"
                 + "<!ELEMENT CAD_DATA (HEADER_INFO | CAD_INCIDENT_EVENT | LOCATION_INFO | MASTER_INC_NUM |\n"
                 + "P | ADDITIONAL_INFO | LOCATION | GENERAL)*>\n"
Index: trunk/src/scriptbuilder/structures/TimeSlice.java
===================================================================
--- trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 111)
+++ trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 138)
@@ -221,4 +221,8 @@
         output += XMLWriter.openTag(ELEMENT.INCIDENT.tag + " LogNum=\"" + thisIncident.number + "\"");
         output += thisIncident.name + XMLWriter.closeTag(ELEMENT.INCIDENT.tag);
+        output += XMLWriter.emptyTag(ELEMENT.COLOR.tag 
+                + " r=\"" + thisIncident.color.getRed() + "\""
+                + " g=\"" + thisIncident.color.getGreen() + "\""
+                + " b=\"" + thisIncident.color.getBlue() + "\"");
 
         if ((cadData != null && cadData.hasCadData()) || containsCADIncidentEvent())
