diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index 7d84a5d107..fbb2e64cd2 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -1,27 +1,38 @@
-/datum/surgery/plastic_surgery
- name = "plastic surgery"
- steps = list(/datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/reshape_face, /datum/surgery_step/close)
- possible_locs = list("head")
-
-//reshape_face
-/datum/surgery_step/reshape_face
- name = "reshape face"
- implements = list(/obj/item/scalpel = 100, /obj/item/kitchen/knife = 50, TOOL_WIRECUTTER = 35)
- time = 64
-
-/datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- user.visible_message("[user] begins to alter [target]'s appearance.", "You begin to alter [target]'s appearance...")
-
-/datum/surgery_step/reshape_face/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- if(target.has_trait(TRAIT_DISFIGURED, TRAIT_GENERIC))
- target.remove_trait(TRAIT_DISFIGURED, TRAIT_GENERIC)
- user.visible_message("[user] successfully restores [target]'s appearance!", "You successfully restore [target]'s appearance.")
- else
- var/oldname = target.real_name
- target.real_name = target.dna.species.random_name(target.gender,1)
- var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name
- user.visible_message("[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!", "You alter [oldname]'s appearance completely, [target.p_they()] is now [newname].")
- if(ishuman(target))
- var/mob/living/carbon/human/H = target
- H.sec_hud_set_ID()
- return 1
\ No newline at end of file
+/datum/surgery/plastic_surgery
+ name = "plastic surgery"
+ steps = list(/datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/reshape_face, /datum/surgery_step/close)
+ possible_locs = list("head")
+
+//reshape_face
+/datum/surgery_step/reshape_face
+ name = "reshape face"
+ implements = list(/obj/item/scalpel = 100, /obj/item/kitchen/knife = 50, TOOL_WIRECUTTER = 35)
+ time = 64
+
+/datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+ user.visible_message("[user] begins to alter [target]'s appearance.", "You begin to alter [target]'s appearance...")
+
+/datum/surgery_step/reshape_face/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+ if(target.has_trait(TRAIT_DISFIGURED, TRAIT_GENERIC))
+ target.remove_trait(TRAIT_DISFIGURED, TRAIT_GENERIC)
+ user.visible_message("[user] successfully restores [target]'s appearance!", "You successfully restore [target]'s appearance.")
+ else
+ var/list/names = list()
+ if(!isabductor(user))
+ for(var/i in 1 to 10)
+ names += target.dna.species.random_name(target.gender, TRUE)
+ else
+ for(var/_i in 1 to 9)
+ names += "Subject [target.gender == MALE ? "i" : "o"]-[pick("a", "b", "c", "d", "e")]-[rand(10000, 99999)]"
+ names += target.dna.species.random_name(target.gender, TRUE) //give one normal name in case they want to do regular plastic surgery
+ var/chosen_name = input(user, "Choose a new name to assign.", "Plastic Surgery") as null|anything in names
+ if(!chosen_name)
+ return
+ var/oldname = target.real_name
+ target.real_name = chosen_name
+ var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name
+ user.visible_message("[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!", "You alter [oldname]'s appearance completely, [target.p_they()] is now [newname].")
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ H.sec_hud_set_ID()
+ return 1