This commit is contained in:
Fox McCloud
2018-07-17 18:18:16 -04:00
parent f075ef7836
commit 0a613a8f42
17 changed files with 32 additions and 30 deletions
+1 -1
View File
@@ -1252,7 +1252,7 @@
icon_state = "monkeycube"
bitesize = 12
filling_color = "#ADAC7F"
var/monkey_type = "Monkey"
var/datum/species/monkey_type = /datum/species/monkey
list_reagents = list("nutriment" = 2)
/obj/item/reagent_containers/food/snacks/monkeycube/water_act(volume, temperature)
@@ -4,7 +4,7 @@
AC.ui_interact(user, state = state)
/mob/living/carbon/human/proc/change_species(datum/species/new_species)
if(!new_species || dna.species.type == new_species || !(initial(new_species.name) in all_species))
if(!new_species || dna.species.type == new_species || !ispath(new_species, /datum/species))
return FALSE
set_species(new_species, null, TRUE)
@@ -16,7 +16,7 @@
dna = new /datum/dna(null)
// Species name is handled by set_species()
set_species(new_species, 1, delay_icon_update = 1)
set_species(new_species, 1, delay_icon_update = 1, skip_same_check = TRUE)
..()
@@ -1274,7 +1274,10 @@
else
to_chat(usr, "<span class='notice'>[self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)].</span>")
/mob/living/carbon/human/proc/set_species(datum/species/new_species, default_colour, delay_icon_update = FALSE)
/mob/living/carbon/human/proc/set_species(datum/species/new_species, default_colour, delay_icon_update = FALSE, skip_same_check = FALSE)
if(!skip_same_check)
if(dna.species.name == initial(new_species.name))
return
var/datum/species/oldspecies = dna.species
if(oldspecies)
@@ -1934,7 +1937,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
dna.deserialize(data["dna"])
real_name = dna.real_name
name = real_name
set_species(dna.species)
set_species(dna.species.type, skip_same_check = TRUE)
age = data["age"]
undershirt = data["ushirt"]
underwear = data["uwear"]
@@ -208,8 +208,8 @@
var/datum/dna/toDoppel = chosen.dna
T.real_name = toDoppel.real_name
T.set_species(chosen.dna.species.type)
T.dna = toDoppel.Clone()
T.set_species(chosen.dna.species)
T.body_accessory = chosen.body_accessory
T.UpdateAppearance()
domutcheck(T)
@@ -31,7 +31,8 @@
if(href_list["race"])
if(can_change(APPEARANCE_RACE) && (href_list["race"] in valid_species))
if(owner.change_species(href_list["race"]))
var/datum/species/S = all_species[href_list["race"]]
if(owner.change_species(S.type))
cut_and_generate_data()
// Species change creates new organs - runtimes ahoy if we forget this
head_organ = owner.get_organ("head")
+1 -1
View File
@@ -36,8 +36,8 @@ proc/build_virtual_avatar(mob/living/carbon/human/H, location, datum/map_templat
vr_avatar.real_me = V.real_me
else
vr_avatar.real_me = H
vr_avatar.set_species(H.dna.species.type)
vr_avatar.dna = H.dna.Clone()
vr_avatar.set_species(H.dna.species)
vr_avatar.name = H.name
vr_avatar.real_name = H.real_name
vr_avatar.undershirt = H.undershirt