anchor.diff:  
   /obj/machinery/computer/communications/proc/interact_ai(mob/living/silicon/ai/user)
   	var/dat = ""
  -	switch(src.aistate)
  +	switch(aistate)
   		if(STATE_DEFAULT)
   			if(SSshuttle.emergencyLastCallLoc)
   				dat += "<BR>Latest emergency signal trace attempt successful.<BR>Last signal origin: <b>[format_text(SSshuttle.emergencyLastCallLoc.name)]</b>.<BR>"
  
positive.code: 			dat += get_call_shuttle_form(1)
  		if(STATE_MESSAGELIST)
  			dat += "Messages:"
  			for(var/i = 1; i<=src.messagetitle.len; i++)
  				dat += "<BR><A HREF='?src=\ref[src];operation=ai-viewmessage;message-num=[i]'>[src.messagetitle[i]]</A>"
  		if(STATE_VIEWMESSAGE)
  			if (src.aicurrmsg)
  				dat += "<B>[src.messagetitle[src.aicurrmsg]]</B><BR><BR>[src.messagetext[src.aicurrmsg]]"
  				dat += "<BR><BR>\[ <A HREF='?src=\ref[src];operation=ai-delmessage'>Delete</A> \]"
  			else
  				src.aistate = STATE_MESSAGELIST
  				src.attack_hand(user)
  				return null
  		if(STATE_DELMESSAGE)
  			if(src.aicurrmsg)
  				dat += "Are you sure you want to delete this message? \[ <A HREF='?src=\ref[src];operation=ai-delmessage2'>OK</A> | <A HREF='?src=\ref[src];operation=ai-viewmessage'>Cancel</A> \]"
  			else
  				src.aistate = STATE_MESSAGELIST
  				src.attack_hand(user)
  				return
  
  		if(STATE_STATUSDISPLAY)
  
negative.code: 				dat += "<b>Emergency Maintenance Access is currently <font color='green'>DISABLED</font></b>"
  				dat += "<BR>Lift access restrictions on maintenance and external airlocks? <BR>\[ <A HREF='?src=\ref[src];operation=ai-enableemergency'>OK</A> | <A HREF='?src=\ref[src];operation=ai-viewmessage'>Cancel</A> \]"
  
  	dat += "<BR><BR>\[ [(aistate != STATE_DEFAULT) ? "<A HREF='?src=\ref[src];operation=ai-main'>Main Menu</A> | " : ""]<A HREF='?src=\ref[user];mach_close=communications'>Close</A> \]"
  	return dat
  
  /obj/machinery/computer/communications/proc/make_announcement(mob/living/user, is_silicon)
  