Fixes mutate() in xenobio2 to produce a unique traits datum

Recently brought to me, so I'm fixing it.
This commit is contained in:
Datraen
2017-05-05 12:16:12 -04:00
parent 9931cbf9b9
commit 97e7e10bc2
2 changed files with 11 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ Proc for metabolism
Proc for mutating
Procs for copying speech, if applicable
Procs for targeting
Divergence proc, used in mutation to make unique datums.
*/
/mob/living/simple_animal/xeno/proc/ProcessTraits()
if(maleable >= MAX_MALEABLE)
@@ -84,8 +85,14 @@ Procs for targeting
return 1 //Everything worked out okay.
return 0
/mob/living/simple_animal/xeno/proc/diverge()
var/datum/xeno/traits/newtraits = new()
newtraits.copy_traits(traitdat)
return newtraits
/mob/living/simple_animal/xeno/proc/Mutate()
traitdat = diverge()
nameVar = "mutated"
if((COLORMUT & mutable))
traitdat.traits[TRAIT_XENO_COLOR] = "#"

View File

@@ -0,0 +1,4 @@
author: Datraen
delete-after: True
changes:
- bugfix: "Xenobiological traits are made unique on each mutate, avoiding mutating other mobs with same trait data."