anchor.diff:  		to_chat(AI, "<span class='userdanger'>[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.</span>")
   	else
   		to_chat(AI, "<span class='userdanger'>[user] has upgraded you with combat software!</span>")
  +		to_chat(AI, "<span class='userdanger'>Your current laws and objectives remain unchanged.</span>") //this unlocks malf powers, but does not give the license to plasma flood
   		AI.add_malf_picker()
  +		log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].")
  +		message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
   	to_chat(user, "<span class='notice'>You upgrade [AI]. [src] is consumed in the process.</span>")
   	qdel(src)
   
  
positive.code: //Lipreading
  /obj/item/surveillance_upgrade
  	name = "surveillance software upgrade"
  	desc = "A software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading."
  	icon = 'icons/obj/module.dmi'
  	icon_state = "datadisk3"
  
  
negative.code: //Malf Picker
  /obj/item/malf_upgrade
  	name = "combat software upgrade"
  	desc = "A highly illegal, highly dangerous upgrade for artificial intelligence units, granting them a variety of powers as well as the ability to hack APCs.<br>This upgrade does not override any active laws, and must be applied directly to an active AI core."
  	icon = 'icons/obj/module.dmi'
  	icon_state = "datadisk3"
  
  