Changes behind the scene stuff regarding transformation from monkey to human.

-Adds a humanize() proc
-Changes monkeyize() proc to a child of mob/living/carbon (not implemented or tested with anything beside humans, though)
-Adds various options for monkeyize and humanize as binary flags
-Removed all instances of monkey transformation code being copy pasted (dna, changeling, adminverbs) and replaced them with monkeyize(). This fixed various issues with admin-verbs where mobs would ghost after transformation due to invalid use of transfer_to (mind transfer proc).

-Humans will now retain their old name if turned into a monkey and back provided their UE are unchanged
-Transformation from monkey into human will now deal the same amount of damage as human to monkey.

Signed-off-by: dumpdavidson <gtb.schmidt@gmail.com>
This commit is contained in:
dumpdavidson
2013-05-10 17:23:20 +02:00
parent 7111f86a2b
commit 53529ea8f9
8 changed files with 255 additions and 272 deletions
+6
View File
@@ -78,6 +78,12 @@ var/global/floorIsLava = 0
body += "<b>Transformation:</b>"
body += "<br>"
//Human
if(ishuman(M))
body += "<B>Human</B> | "
else
body += "<A href='?_src_=holder;humanone=\ref[M]'>Humanize</A> | "
//Monkey
if(ismonkey(M))
body += "<B>Monkeyized</B> | "
+12
View File
@@ -1012,6 +1012,18 @@
message_admins("\blue [key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1)
H.monkeyize()
else if(href_list["humanone"])
if(!check_rights(R_SPAWN)) return
var/mob/living/carbon/monkey/Mo = locate(href_list["humanone"])
if(!istype(Mo))
usr << "This can only be used on instances of type /mob/living/carbon/monkey"
return
log_admin("[key_name(usr)] attempting to humanize [key_name(Mo)]")
message_admins("\blue [key_name_admin(usr)] attempting to humanize [key_name_admin(Mo)]", 1)
Mo.humanize()
else if(href_list["corgione"])
if(!check_rights(R_SPAWN)) return