mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-26 18:13:35 +00:00
Merged with dev.
This commit is contained in:
@@ -111,6 +111,7 @@ datum/preferences
|
||||
// maps each organ to either null(intact), "cyborg" or "amputated"
|
||||
// will probably not be able to do this for head and torso ;)
|
||||
var/list/organ_data = list()
|
||||
var/list/rlimb_data = list()
|
||||
var/list/player_alt_titles = new() // the default name of a job like "Medical Doctor"
|
||||
|
||||
var/list/flavor_texts = list()
|
||||
@@ -344,7 +345,12 @@ datum/preferences
|
||||
++ind
|
||||
if(ind > 1)
|
||||
dat += ", "
|
||||
dat += "\tMechanical [organ_name] prothesis"
|
||||
var/datum/robolimb/R
|
||||
if(rlimb_data[name] && all_robolimbs[rlimb_data[name]])
|
||||
R = all_robolimbs[rlimb_data[name]]
|
||||
else
|
||||
R = basic_robolimb
|
||||
dat += "\t[R.company] [organ_name] prothesis"
|
||||
else if(status == "amputated")
|
||||
++ind
|
||||
if(ind > 1)
|
||||
@@ -629,6 +635,8 @@ datum/preferences
|
||||
dat += "</br><b>Has a plantlike physiology.</b>"
|
||||
if(current_species.flags & IS_SYNTHETIC)
|
||||
dat += "</br><b>Is machine-based.</b>"
|
||||
if(current_species.flags & REGENERATES_LIMBS)
|
||||
dat += "</br><b>Has a plantlike physiology.</b>"
|
||||
dat += "</small></td>"
|
||||
dat += "</tr>"
|
||||
dat += "</table><center><hr/>"
|
||||
@@ -1421,15 +1429,25 @@ datum/preferences
|
||||
switch(new_state)
|
||||
if("Normal")
|
||||
organ_data[limb] = null
|
||||
rlimb_data[limb] = null
|
||||
if(third_limb)
|
||||
organ_data[third_limb] = null
|
||||
rlimb_data[third_limb] = null
|
||||
if("Amputated")
|
||||
organ_data[limb] = "amputated"
|
||||
rlimb_data[limb] = null
|
||||
if(second_limb)
|
||||
organ_data[second_limb] = "amputated"
|
||||
rlimb_data[second_limb] = null
|
||||
|
||||
if("Prothesis")
|
||||
var/choice = input(user, "Which manufacturer do you wish to use for this limb?") as null|anything in chargen_robolimbs
|
||||
if(!choice)
|
||||
return
|
||||
rlimb_data[limb] = choice
|
||||
organ_data[limb] = "cyborg"
|
||||
if(second_limb)
|
||||
organ_data[second_limb] = choice
|
||||
organ_data[second_limb] = "cyborg"
|
||||
if(third_limb && organ_data[third_limb] == "amputated")
|
||||
organ_data[third_limb] = null
|
||||
@@ -1662,21 +1680,28 @@ datum/preferences
|
||||
for(var/name in organ_data)
|
||||
|
||||
var/status = organ_data[name]
|
||||
var/datum/organ/external/O = character.organs_by_name[name]
|
||||
var/obj/item/organ/external/O = character.organs_by_name[name]
|
||||
if(O)
|
||||
if(status == "amputated")
|
||||
O.amputated = 1
|
||||
O.status |= ORGAN_DESTROYED
|
||||
O.destspawn = 1
|
||||
character.organs_by_name[O.limb_name] = null
|
||||
character.organs -= O
|
||||
if(O.children) // This might need to become recursive.
|
||||
for(var/obj/item/organ/external/child in O.children)
|
||||
character.organs_by_name[child.limb_name] = null
|
||||
character.organs -= child
|
||||
|
||||
else if(status == "cyborg")
|
||||
O.status |= ORGAN_ROBOT
|
||||
if(rlimb_data[name])
|
||||
O.robotize(rlimb_data[name])
|
||||
else
|
||||
O.robotize()
|
||||
else
|
||||
var/datum/organ/internal/I = character.internal_organs_by_name[name]
|
||||
var/obj/item/organ/I = character.internal_organs_by_name[name]
|
||||
if(I)
|
||||
if(status == "assisted")
|
||||
I.mechassist()
|
||||
else if(status == "mechanical")
|
||||
I.mechanize()
|
||||
I.robotize()
|
||||
|
||||
character.underwear = underwear
|
||||
|
||||
|
||||
@@ -170,6 +170,7 @@
|
||||
S["skills"] >> skills
|
||||
S["skill_specialization"] >> skill_specialization
|
||||
S["organ_data"] >> organ_data
|
||||
S["rlimb_data"] >> rlimb_data
|
||||
S["gear"] >> gear
|
||||
S["home_system"] >> home_system
|
||||
S["citizenship"] >> citizenship
|
||||
@@ -240,6 +241,7 @@
|
||||
if(isnull(disabilities)) disabilities = 0
|
||||
if(!player_alt_titles) player_alt_titles = new()
|
||||
if(!organ_data) src.organ_data = list()
|
||||
if(!rlimb_data) src.rlimb_data = list()
|
||||
if(!gear) src.gear = list()
|
||||
//if(!skin_style) skin_style = "Default"
|
||||
|
||||
@@ -324,6 +326,7 @@
|
||||
S["skills"] << skills
|
||||
S["skill_specialization"] << skill_specialization
|
||||
S["organ_data"] << organ_data
|
||||
S["rlimb_data"] << rlimb_data
|
||||
S["gear"] << gear
|
||||
S["home_system"] << home_system
|
||||
S["citizenship"] << citizenship
|
||||
|
||||
Reference in New Issue
Block a user