Files
CHOMPStation2/code/modules/mob/mob_transformation_simple.dm
Cameron653 e158fcd3cc Macro Replacements. (#3574)
* A preface to my madness

Travis failed one of my PR's because I copied old code
that used /red /blue /green.

Because of this, I am going to find and replace every
instance of it that I find.

Also this is a test commit to make sure I'm comitting
to the correct branch.

* /blue /green /red replacements

Dear god.

A slow and painful death from acid is more fun than this.

I wouldn't wish this torture on my worst enemy.
And this is only the beginning

* Replace part 2.

Time to fix the human error.

* Fixes mismatches

* Sets macro count to 220

One above the current number of macros in the code.

* Fixes last of the mismatches.

* Removes spaces, replaces \black

Removes spaces
Replaces \black in a few areas where seen
Replaces \bold with <B> </B> where seen

* Updating macro count again

* More fixes!

* Issues fixed! For real this time!

I swear!

* Fixing all the merge conflict files.
2017-07-19 12:47:23 -05:00

59 lines
1.5 KiB
Plaintext

//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, var/subspecies)
if(istype(src,/mob/new_player))
usr << "<font color='red'>cannot convert players who have not entered yet.</font>"
return
if(!new_type)
new_type = input("Mob type path:", "Mob type") as text|null
if(istext(new_type))
new_type = text2path(new_type)
if( !ispath(new_type) )
usr << "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder."
return
if( new_type == /mob/new_player )
usr << "<font color='red'>cannot convert into a new_player mob type.</font>"
return
var/mob/M
if(isturf(location))
M = new new_type( location )
else
M = new new_type( src.loc )
if(!M || !ismob(M))
usr << "Type path is not a mob (new_type = [new_type]) in change_mob_type(). Contact a coder."
qdel(M)
return
if( istext(new_name) )
M.name = new_name
M.real_name = new_name
else
M.name = src.name
M.real_name = src.real_name
if(src.dna)
M.dna = src.dna.Clone()
if(mind)
mind.transfer_to(M)
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)
qdel(src)
return M