diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index 1320ca0a855..32aa784dbc0 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -269,6 +269,7 @@ client
body += ""
body += ""
body += ""
+ body += ""
body += ""
body += ""
if(isobj(D))
@@ -764,6 +765,19 @@ client
return
holder.Topic(href, list("makeslime"=href_list["makeslime"]))
+ else if(href_list["makesuper"])
+ if(!check_rights(R_SPAWN)) return
+
+ var/mob/living/carbon/human/H = locate(href_list["makesuper"])
+ if(!istype(H))
+ usr << "This can only be done to instances of type /mob/living/carbon/human"
+ return
+
+ if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
+ if(!H)
+ usr << "Mob doesn't exist anymore"
+ return
+
else if(href_list["makeai"])
if(!check_rights(R_SPAWN)) return
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 1ea81011406..42849785723 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -116,6 +116,7 @@ var/global/nologevent = 0
Make Robot |
Make Alien |
Make slime
+ Make Superhero
"}
//Simple Animals
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index ebc48a70d0c..c0331ef1997 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1397,6 +1397,16 @@
usr.client.cmd_admin_slimeize(H)
+ else if(href_list["makeslime"])
+ if(!check_rights(R_SPAWN)) return
+
+ var/mob/living/carbon/human/H = locate(href_list["makesuper"])
+ if(!istype(H))
+ usr << "This can only be used on instances of type /mob/living/carbon/human"
+ return
+
+ usr.client.cmd_admin_super(H)
+
else if(href_list["makerobot"])
if(!check_rights(R_SPAWN)) return
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index c88f518766d..10102dd836c 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -281,6 +281,25 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
else
alert("Invalid mob")
+/client/proc/cmd_admin_super(var/mob/M in mob_list)
+ set category = "Event"
+ set name = "Make Superhero"
+
+ if(!ticker)
+ alert("Wait until the game starts")
+ return
+ if(ishuman(M))
+ var/type = input("Pick the Superhero","Superhero") as null|anything in all_superheros
+ var/datum/superheros/S = all_superheros[type]
+ if(S)
+ S.assign_genes(M)
+ S.assign_spells(M)
+ S.equip(M)
+ log_admin("[key_name(src)] has turned [M.key] into a Superhero.")
+ message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into a Superhero.", 1)
+ else
+ alert("Invalid mob")
+
/*
/client/proc/cmd_admin_monkeyize(var/mob/M in world)
set category = "Event"