Fixes traits not getting applied properly.

-Fixes and tweaks a couple little slipups and other potential oversights discovered along the way.
This commit is contained in:
Verkister
2021-04-12 17:22:17 +03:00
parent eabb487497
commit 1ae9121ee0
5 changed files with 13 additions and 7 deletions
@@ -44,7 +44,7 @@
nif.nifsofts = nifsofts
else
..()
/datum/species/proc/produceCopy(var/list/traits,var/mob/living/carbon/human/H)
/datum/species/proc/produceCopy(var/list/traits, var/mob/living/carbon/human/H, var/custom_base)
//If species allows custom base, and custom base is set, apply it, otherwise use default.
ASSERT(src)
ASSERT(istype(H))
@@ -56,7 +56,7 @@
for(var/organ in has_limbs) //Copy important organ data generated by species.
var/list/organ_data = has_limbs[organ]
new_copy.has_limbs[organ] = organ_data.Copy()
new_copy.traits = traits
//If you had traits, apply them
if(new_copy.traits)
for(var/trait in new_copy.traits)
@@ -81,7 +81,11 @@
//Makes thorough copy of species datum.
for(var/i in vars)
if(S.vars[i] != vars[i] && !islist(vars[i])) //If vars are same, no point in copying.
if(whitelist && !(i in whitelist) && i in blacklist) //If whitelist is provided, only vars in the list will be copied.
if(i in blacklist)
continue
if(whitelist)//If whitelist is provided, only vars in the list will be copied.
if(i in whitelist)
S.vars[i] = vars[i]
continue
S.vars[i] = vars[i]
@@ -46,8 +46,8 @@
var/datum/species/real = GLOB.all_species[base_species]
return real.race_key
/datum/species/custom/produceCopy(var/list/traits,var/mob/living/carbon/human/H,var/custom_base)
. = ..(traits, H)
/datum/species/custom/produceCopy(var/list/traits, var/mob/living/carbon/human/H, var/custom_base)
. = ..(traits, H, custom_base)
if(selects_bodytype && custom_base)
var/datum/species/S = GLOB.all_species[custom_base]
S.copy_variables(., copy_vars)
@@ -1,6 +1,8 @@
#define ORGANICS 1
#define SYNTHETICS 2
/datum/trait/neutral
/datum/trait/neutral/metabolism_up
name = "Fast Metabolism"
desc = "You process ingested and injected reagents faster, but get hungry faster (Teshari speed)."