Adds more customization to robotic internal organs (#12994)

This commit is contained in:
Alberyk
2022-02-02 13:07:11 -03:00
committed by GitHub
parent c66c830cbf
commit a32ce7644e
30 changed files with 128 additions and 60 deletions
@@ -253,7 +253,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
++ind
if(ind > 1)
out += ", "
out += "\tMechanical [organ_name]"
var/datum/robolimb/R
if(pref.rlimb_data[name] && all_robolimbs[pref.rlimb_data[name]])
R = all_robolimbs[pref.rlimb_data[name]]
out += "\t[R.company] Mechanical [organ_name]"
else if(status == "nymph")
++ind
if(ind > 1)
@@ -732,7 +735,28 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if("Assisted")
pref.organ_data[organ_name] = "assisted"
if("Mechanical")
var/tmp_species = pref.species ? pref.species : SPECIES_HUMAN
var/list/usable_manufacturers = list()
for(var/company in internal_robolimbs)
var/datum/robolimb/M = chargen_robolimbs[company]
if(!(tmp_species in M.species_can_use))
continue
usable_manufacturers[company] = M
if(!usable_manufacturers.len)
return
var/choice = input(user, "Which manufacturer do you wish to use for this organ?") as null|anything in usable_manufacturers
if(!choice)
return
var/datum/robolimb/R = all_robolimbs[choice]
if(!(organ_name in R.allowed_internal_organs))
alert(user, "You can not select this manufacturer for this organ.")
return
pref.rlimb_data[organ_name] = choice
pref.organ_data[organ_name] = "mechanical"
if("Removed")
pref.organ_data[organ_name] = "removed"