diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm
index 6eef8565835..c3e8d10ec8d 100644
--- a/code/defines/procs/helpers.dm
+++ b/code/defines/procs/helpers.dm
@@ -512,6 +512,27 @@
/proc/format_frequency(var/f)
return "[round(f / 10)].[f % 10]"
+/proc/ainame(var/mob/M as mob)
+ var/randomname = pick(ai_names)
+ var/newname = input(M,"You are the AI. Would you like to change your name to something else?", "Name change",randomname)
+
+ if (length(newname) == 0)
+ newname = randomname
+
+ if (newname)
+ if (newname == "Inactive AI")
+ M << "That name is reserved."
+ return ainame(M)
+ for (var/mob/living/silicon/ai/A in world)
+ if (A.real_name == newname)
+ M << "There's already an AI with that name."
+ return ainame(M)
+ if (length(newname) >= 26)
+ newname = copytext(newname, 1, 26)
+ newname = dd_replacetext(newname, ">", "'")
+ M.real_name = newname
+ M.name = newname
+
/proc/activeais()
var/select = null
var/list/names = list()
diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm
index 475da5421fc..deb7b0756e5 100644
--- a/code/game/gamemodes/malfunction/malfunction.dm
+++ b/code/game/gamemodes/malfunction/malfunction.dm
@@ -34,7 +34,7 @@
AI_mind.current << "\redYou are malfunctioning! You do not have to follow any laws."
- AI_mind.current << "The crew do not know you have malfunctioned. You may keep it a secret or go wild. The timer will appear for humans 10 minutes in."
+ AI_mind.current << "The crew do not know you have malfunctioned. You may keep it a secret or go wild."
AI_mind.current.icon_state = "ai-malf"
diff --git a/code/game/machinery/computer/AIcore.dm b/code/game/machinery/computer/AIcore.dm
index 0e9f43a0903..3e7a52659b6 100644
--- a/code/game/machinery/computer/AIcore.dm
+++ b/code/game/machinery/computer/AIcore.dm
@@ -5,7 +5,7 @@
icon = 'AIcore.dmi'
icon_state = "0"
var/state = 0
- var/datum/ai_laws/laws = new /datum/ai_laws
+ var/datum/ai_laws/laws = new /datum/ai_laws/asimov
var/obj/item/weapon/circuitboard/circuit = null
var/obj/item/brain/brain = null
@@ -78,7 +78,6 @@
src.icon_state = "2"
var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
A.amount = 5
- src.laws.clear_inherent_laws()
if(istype(P, /obj/item/weapon/sheet/rglass))
if(P:amount >= 2)
@@ -125,7 +124,10 @@
playsound(src.loc, 'Crowbar.ogg', 50, 1)
user << "\blue You remove the glass panel."
src.state = 3
- src.icon_state = "3"
+ if (src.brain)
+ src.icon_state = "3b"
+ else
+ src.icon_state = "3"
var/obj/item/weapon/sheet/rglass/A = new /obj/item/weapon/sheet/rglass( src.loc )
A.amount = 2
if(istype(P, /obj/item/weapon/screwdriver))
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index af8e0d9b3cc..7687214610b 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -37,18 +37,7 @@
src.job = "AI"
spawn(0)
- var/randomname = pick(ai_names)
- var/newname = input(src,"You are the AI. Would you like to change your name to something else?", "Name change",randomname)
-
- if (length(newname) == 0)
- newname = randomname
-
- if (newname)
- if (length(newname) >= 26)
- newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'")
- src.real_name = newname
- src.name = newname
+ ainame(src)
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 76593cd72f7..df2c2c63472 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -117,7 +117,8 @@
O.job = "AI"
spawn(0)
- var/randomname = pick(ai_names)
+ ainame(O)
+/* var/randomname = pick(ai_names)
var/newname = input(O,"You are the AI. Would you like to change your name to something else?", "Name change",randomname)
if (length(newname) == 0)
@@ -129,7 +130,7 @@
newname = dd_replacetext(newname, ">", "'")
O.real_name = newname
O.name = newname
-
+*/
world << text("[O.real_name] is the AI!")
spawn(50)