diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 46b1beef78..5b369dc9f4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -141,8 +141,18 @@ var/global/floorIsLava = 0 body += {"

Rudimentary transformation:
These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.

Observer | - Larva \] - Human + \[ Xenos: Larva + Drone + Hunter + Sentinel + Queen \] | + \[ Crew: Human + Unathi + Tajaran + Skrell + Vox \] | \[ + Nymph + Diona \] | \[ slime: Baby, Adult \] Monkey | diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index d0cc41da62..2e087971bc 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -267,6 +267,7 @@ href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) + if(!check_rights(R_SPAWN)) return var/mob/M = locate(href_list["mob"]) @@ -285,8 +286,9 @@ switch(href_list["simplemake"]) if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob ) if("larva") M.change_mob_type( /mob/living/carbon/alien/larva , null, null, delmob ) - if("human") M.change_mob_type( /mob/living/carbon/human , null, null, delmob ) - if("slime") M.change_mob_type( /mob/living/carbon/slime , null, null, delmob ) + if("nymph") M.change_mob_type( /mob/living/carbon/alien/diona , null, null, delmob ) + if("human") M.change_mob_type( /mob/living/carbon/human , null, null, delmob, href_list["species"]) + if("slime") M.change_mob_type( /mob/living/carbon/slime , null, null, delmob ) if("monkey") M.change_mob_type( /mob/living/carbon/monkey , null, null, delmob ) if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob ) if("cat") M.change_mob_type( /mob/living/simple_animal/cat , null, null, delmob ) diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index bea08693fb..f07cadb9e8 100644 --- a/code/modules/mob/mob_transformation_simple.dm +++ b/code/modules/mob/mob_transformation_simple.dm @@ -2,7 +2,7 @@ //This proc is the most basic of the procs. All it does is make a new mob on the same tile and transfer over a few variables. //Returns the new mob //Note that this proc does NOT do MMI related stuff! -/mob/proc/change_mob_type(var/new_type = null, var/turf/location = null, var/new_name = null as text, var/delete_old_mob = 0 as num) +/mob/proc/change_mob_type(var/new_type = null, var/turf/location = null, var/new_name = null as text, var/delete_old_mob = 0 as num, var/subspecies) if(istype(src,/mob/new_player)) usr << "\red cannot convert players who have not entered yet." @@ -48,6 +48,10 @@ else M.key = key + if(subspecies && istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + H.set_species(subspecies) + if(delete_old_mob) spawn(1) del(src)