diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index bbb9b1b1768..546276c24e8 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -992,7 +992,8 @@ to_chat(usr, "Mob doesn't exist anymore") return - if(H.set_species(all_species[new_species])) + var/datum/species/S = all_species[new_species] + if(H.set_species(S.type)) to_chat(usr, "Set species of [H] to [H.dna.species].") H.regenerate_icons() message_admins("[key_name_admin(usr)] has changed the species of [key_name_admin(H)] to [new_species]") diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 497db00daf3..af86929a94e 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -2084,7 +2084,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts /datum/preferences/proc/copy_to(mob/living/carbon/human/character) var/datum/species/S = all_species[species] - character.change_species(S) // Yell at me if this causes everything to melt + character.change_species(S.type) // Yell at me if this causes everything to melt if(be_random_name) real_name = random_name(gender,species) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 06750815abf..d5ef581f4cb 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1275,9 +1275,6 @@ to_chat(usr, "[self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)].") /mob/living/carbon/human/proc/set_species(datum/species/new_species, default_colour, delay_icon_update = FALSE) - if(new_species == dna.species.type) - return - var/datum/species/oldspecies = dna.species if(oldspecies) @@ -1295,7 +1292,7 @@ oldspecies.handle_pre_change(src) - dna.species = new new_species.type + dna.species = new new_species() tail = dna.species.tail diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index aa59b83b2c4..550871e0e4f 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -18,8 +18,8 @@ var/blurb = "A completely nondescript species." // A brief lore summary for use in the chargen screen. var/butt_sprite = "human" - var/primitive_form // Lesser form, if any (ie. monkey for humans) - var/greater_form // Greater form, if any, ie. human for monkeys. + var/datum/species/primitive_form = null // Lesser form, if any (ie. monkey for humans) + var/datum/species/greater_form = null // Greater form, if any, ie. human for monkeys. var/tail // Name of tail image in species effects icon file. var/datum/unarmed_attack/unarmed //For empty hand harm-intent attack var/unarmed_type = /datum/unarmed_attack