mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
DNA Records transfer descriptors and gender (#6479)
This commit is contained in:
@@ -18,6 +18,8 @@
|
|||||||
var/mind=null
|
var/mind=null
|
||||||
var/languages=null
|
var/languages=null
|
||||||
var/list/flavor=null
|
var/list/flavor=null
|
||||||
|
var/gender = null
|
||||||
|
var/list/body_descriptors = null
|
||||||
var/list/genetic_modifiers = list() // Modifiers with the MODIFIER_GENETIC flag are saved. Note that only the type is saved, not an instance.
|
var/list/genetic_modifiers = list() // Modifiers with the MODIFIER_GENETIC flag are saved. Note that only the type is saved, not an instance.
|
||||||
|
|
||||||
/datum/dna2/record/proc/GetData()
|
/datum/dna2/record/proc/GetData()
|
||||||
@@ -706,7 +708,10 @@
|
|||||||
databuf.types = DNA2_BUF_UE
|
databuf.types = DNA2_BUF_UE
|
||||||
databuf.dna = src.connected.occupant.dna.Clone()
|
databuf.dna = src.connected.occupant.dna.Clone()
|
||||||
if(ishuman(connected.occupant))
|
if(ishuman(connected.occupant))
|
||||||
databuf.dna.real_name=connected.occupant.dna.real_name
|
var/mob/living/carbon/human/H = connected.occupant
|
||||||
|
databuf.dna.real_name = H.dna.real_name
|
||||||
|
databuf.gender = H.gender
|
||||||
|
databuf.body_descriptors = H.descriptors
|
||||||
databuf.name = "Unique Identifier"
|
databuf.name = "Unique Identifier"
|
||||||
src.buffers[bufferId] = databuf
|
src.buffers[bufferId] = databuf
|
||||||
return 1
|
return 1
|
||||||
@@ -717,7 +722,10 @@
|
|||||||
databuf.types = DNA2_BUF_UI|DNA2_BUF_UE
|
databuf.types = DNA2_BUF_UI|DNA2_BUF_UE
|
||||||
databuf.dna = src.connected.occupant.dna.Clone()
|
databuf.dna = src.connected.occupant.dna.Clone()
|
||||||
if(ishuman(connected.occupant))
|
if(ishuman(connected.occupant))
|
||||||
databuf.dna.real_name=connected.occupant.dna.real_name
|
var/mob/living/carbon/human/H = connected.occupant
|
||||||
|
databuf.dna.real_name = H.dna.real_name
|
||||||
|
databuf.gender = H.gender
|
||||||
|
databuf.body_descriptors = H.descriptors
|
||||||
databuf.name = "Unique Identifier + Unique Enzymes"
|
databuf.name = "Unique Identifier + Unique Enzymes"
|
||||||
src.buffers[bufferId] = databuf
|
src.buffers[bufferId] = databuf
|
||||||
return 1
|
return 1
|
||||||
@@ -728,7 +736,10 @@
|
|||||||
databuf.types = DNA2_BUF_SE
|
databuf.types = DNA2_BUF_SE
|
||||||
databuf.dna = src.connected.occupant.dna.Clone()
|
databuf.dna = src.connected.occupant.dna.Clone()
|
||||||
if(ishuman(connected.occupant))
|
if(ishuman(connected.occupant))
|
||||||
databuf.dna.real_name=connected.occupant.dna.real_name
|
var/mob/living/carbon/human/H = connected.occupant
|
||||||
|
databuf.dna.real_name = H.dna.real_name
|
||||||
|
databuf.gender = H.gender
|
||||||
|
databuf.body_descriptors = H.descriptors
|
||||||
databuf.name = "Structural Enzymes"
|
databuf.name = "Structural Enzymes"
|
||||||
src.buffers[bufferId] = databuf
|
src.buffers[bufferId] = databuf
|
||||||
return 1
|
return 1
|
||||||
@@ -764,10 +775,18 @@
|
|||||||
if ((buf.types & DNA2_BUF_UE))
|
if ((buf.types & DNA2_BUF_UE))
|
||||||
src.connected.occupant.real_name = buf.dna.real_name
|
src.connected.occupant.real_name = buf.dna.real_name
|
||||||
src.connected.occupant.name = buf.dna.real_name
|
src.connected.occupant.name = buf.dna.real_name
|
||||||
|
if(ishuman(connected.occupant))
|
||||||
|
var/mob/living/carbon/human/H = connected.occupant
|
||||||
|
H.gender = buf.gender
|
||||||
|
H.descriptors = buf.body_descriptors
|
||||||
src.connected.occupant.UpdateAppearance(buf.dna.UI.Copy())
|
src.connected.occupant.UpdateAppearance(buf.dna.UI.Copy())
|
||||||
else if (buf.types & DNA2_BUF_SE)
|
else if (buf.types & DNA2_BUF_SE)
|
||||||
src.connected.occupant.dna.SE = buf.dna.SE
|
src.connected.occupant.dna.SE = buf.dna.SE
|
||||||
src.connected.occupant.dna.UpdateSE()
|
src.connected.occupant.dna.UpdateSE()
|
||||||
|
if(ishuman(connected.occupant))
|
||||||
|
var/mob/living/carbon/human/H = connected.occupant
|
||||||
|
H.gender = buf.gender
|
||||||
|
H.descriptors = buf.body_descriptors
|
||||||
domutcheck(src.connected.occupant,src.connected)
|
domutcheck(src.connected.occupant,src.connected)
|
||||||
src.connected.occupant.apply_effect(rand(20,50), IRRADIATE, check_protection = 0)
|
src.connected.occupant.apply_effect(rand(20,50), IRRADIATE, check_protection = 0)
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -113,6 +113,8 @@
|
|||||||
if(!R.dna.real_name) //to prevent null names
|
if(!R.dna.real_name) //to prevent null names
|
||||||
R.dna.real_name = "clone ([rand(0,999)])"
|
R.dna.real_name = "clone ([rand(0,999)])"
|
||||||
H.real_name = R.dna.real_name
|
H.real_name = R.dna.real_name
|
||||||
|
H.gender = R.gender
|
||||||
|
H.descriptors = R.body_descriptors
|
||||||
|
|
||||||
//Get the clone body ready
|
//Get the clone body ready
|
||||||
H.adjustCloneLoss(150) // New damage var so you can't eject a clone early then stab them to abuse the current damage system --NeoFite
|
H.adjustCloneLoss(150) // New damage var so you can't eject a clone early then stab them to abuse the current damage system --NeoFite
|
||||||
|
|||||||
Reference in New Issue
Block a user