mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Fixes the bug(s) that allow meat bodies to have metal brains
This commit is contained in:
@@ -168,18 +168,19 @@
|
|||||||
#define MODIFIER_GENETIC 1 // Modifiers with this flag will be copied to mobs who get cloned.
|
#define MODIFIER_GENETIC 1 // Modifiers with this flag will be copied to mobs who get cloned.
|
||||||
|
|
||||||
// Bodyparts and organs.
|
// Bodyparts and organs.
|
||||||
#define O_MOUTH "mouth"
|
|
||||||
#define O_EYES "eyes"
|
#define O_EYES "eyes"
|
||||||
#define O_HEART "heart"
|
#define O_HEART "heart"
|
||||||
#define O_CELL "cell"
|
|
||||||
#define O_LUNGS "lungs"
|
#define O_LUNGS "lungs"
|
||||||
#define O_BRAIN "brain"
|
#define O_BRAIN "brain"
|
||||||
#define O_LIVER "liver"
|
#define O_LIVER "liver"
|
||||||
#define O_KIDNEYS "kidneys"
|
#define O_KIDNEYS "kidneys"
|
||||||
#define O_APPENDIX "appendix"
|
#define O_APPENDIX "appendix"
|
||||||
#define O_VOICE "voicebox"
|
#define O_VOICE "voicebox"
|
||||||
|
#define O_STANDARD list(O_EYES, O_HEART, O_LUNGS, O_BRAIN, O_LIVER, O_KIDNEYS, O_APPENDIX, O_VOICE)
|
||||||
|
|
||||||
// Non-Standard organs
|
// Non-Standard organs
|
||||||
|
#define O_MOUTH "mouth"
|
||||||
|
#define O_CELL "cell"
|
||||||
#define O_PLASMA "plasma vessel"
|
#define O_PLASMA "plasma vessel"
|
||||||
#define O_HIVE "hive node"
|
#define O_HIVE "hive node"
|
||||||
#define O_NUTRIENT "nutrient vessel"
|
#define O_NUTRIENT "nutrient vessel"
|
||||||
@@ -191,7 +192,9 @@
|
|||||||
#define O_ACID "acid gland"
|
#define O_ACID "acid gland"
|
||||||
#define O_EGG "egg sac"
|
#define O_EGG "egg sac"
|
||||||
#define O_RESIN "resin spinner"
|
#define O_RESIN "resin spinner"
|
||||||
|
#define O_ALL list(O_STANDARD, O_MOUTH, O_CELL, O_PLASMA, O_HIVE, O_NUTRIENT, O_STRATA, O_RESPONSE, O_GBLADDER, O_POLYP, O_ANCHOR, O_ACID, O_EGG, O_RESIN)
|
||||||
|
|
||||||
|
// External organs, aka limbs
|
||||||
#define BP_L_FOOT "l_foot"
|
#define BP_L_FOOT "l_foot"
|
||||||
#define BP_R_FOOT "r_foot"
|
#define BP_R_FOOT "r_foot"
|
||||||
#define BP_L_LEG "l_leg"
|
#define BP_L_LEG "l_leg"
|
||||||
|
|||||||
@@ -142,6 +142,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
|||||||
if(!status)
|
if(!status)
|
||||||
continue
|
continue
|
||||||
var/obj/item/organ/I = character.internal_organs_by_name[name]
|
var/obj/item/organ/I = character.internal_organs_by_name[name]
|
||||||
|
if(istype(I, /obj/item/organ/internal/brain))
|
||||||
|
var/obj/item/organ/external/E = character.get_organ(I.parent_organ)
|
||||||
|
if(E.robotic < ORGAN_ASSISTED)
|
||||||
|
continue
|
||||||
if(I)
|
if(I)
|
||||||
if(status == "assisted")
|
if(status == "assisted")
|
||||||
I.mechassist()
|
I.mechassist()
|
||||||
@@ -188,8 +192,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
|||||||
for(var/name in pref.organ_data)
|
for(var/name in pref.organ_data)
|
||||||
var/status = pref.organ_data[name]
|
var/status = pref.organ_data[name]
|
||||||
var/organ_name = null
|
var/organ_name = null
|
||||||
switch(name)
|
|
||||||
|
|
||||||
|
switch(name)
|
||||||
if(BP_TORSO)
|
if(BP_TORSO)
|
||||||
organ_name = "torso"
|
organ_name = "torso"
|
||||||
if(BP_GROIN)
|
if(BP_GROIN)
|
||||||
@@ -582,6 +586,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
|||||||
choice_options = list("Prosthesis")
|
choice_options = list("Prosthesis")
|
||||||
if("Full Body")
|
if("Full Body")
|
||||||
limb = BP_TORSO
|
limb = BP_TORSO
|
||||||
|
second_limb = BP_HEAD
|
||||||
third_limb = BP_GROIN
|
third_limb = BP_GROIN
|
||||||
choice_options = list("Normal","Prosthesis")
|
choice_options = list("Normal","Prosthesis")
|
||||||
|
|
||||||
@@ -590,12 +595,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
|||||||
|
|
||||||
switch(new_state)
|
switch(new_state)
|
||||||
if("Normal")
|
if("Normal")
|
||||||
|
pref.organ_data[limb] = null
|
||||||
|
pref.rlimb_data[limb] = null
|
||||||
if(limb == BP_TORSO)
|
if(limb == BP_TORSO)
|
||||||
for(var/other_limb in BP_ALL - BP_TORSO)
|
for(var/other_limb in BP_ALL - BP_TORSO)
|
||||||
pref.organ_data[other_limb] = null
|
pref.organ_data[other_limb] = null
|
||||||
pref.rlimb_data[other_limb] = null
|
pref.rlimb_data[other_limb] = null
|
||||||
pref.organ_data[limb] = null
|
for(var/internal in O_STANDARD)
|
||||||
pref.rlimb_data[limb] = null
|
pref.organ_data[internal] = null
|
||||||
|
pref.rlimb_data[internal] = null
|
||||||
if(third_limb)
|
if(third_limb)
|
||||||
pref.organ_data[third_limb] = null
|
pref.organ_data[third_limb] = null
|
||||||
pref.rlimb_data[third_limb] = null
|
pref.rlimb_data[third_limb] = null
|
||||||
|
|||||||
Reference in New Issue
Block a user