From dc7c2a9bd1209bc4bfae8eeda6bbc85c41c178fe Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Wed, 24 Mar 2021 08:59:33 +1100 Subject: [PATCH] Prevented Teshari from selecting drone or positronic brains. --- code/__defines/species_languages.dm | 12 +++++++----- .../client/preference_setup/general/03_body.dm | 9 ++++++--- .../living/carbon/human/species/station/teshari.dm | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm index 169f4fe05e..dd3d08f633 100644 --- a/code/__defines/species_languages.dm +++ b/code/__defines/species_languages.dm @@ -49,11 +49,13 @@ #define AG_SLEEPY 0x40 // fatigue/exhaustion // Species spawn flags -#define SPECIES_IS_WHITELISTED 0x1 // Must be whitelisted to play. -#define SPECIES_IS_RESTRICTED 0x2 // Is not a core/normally playable species. (castes, mutantraces) -#define SPECIES_CAN_JOIN 0x4 // Species is selectable in chargen. -#define SPECIES_NO_FBP_CONSTRUCTION 0x8 // FBP of this species can't be made in-game. -#define SPECIES_NO_FBP_CHARGEN 0x10 // FBP of this species can't be selected at chargen. +#define SPECIES_IS_WHITELISTED 0x1 // Must be whitelisted to play. +#define SPECIES_IS_RESTRICTED 0x2 // Is not a core/normally playable species. (castes, mutantraces) +#define SPECIES_CAN_JOIN 0x4 // Species is selectable in chargen. +#define SPECIES_NO_FBP_CONSTRUCTION 0x8 // FBP of this species can't be made in-game. +#define SPECIES_NO_FBP_CHARGEN 0x10 // FBP of this species can't be selected at chargen. +#define SPECIES_NO_POSIBRAIN 0x20 // FBP of this species cannot have a positronic brain. +#define SPECIES_NO_DRONEBRAIN 0x40 // FBP of this species cannot have a drone intelligence. // Species appearance flags #define HAS_SKIN_TONE 0x1 // Skin tone selectable in chargen. (0-255) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 0b0f09c9bf..0144c752f4 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -1019,13 +1019,16 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O return organ = "brain" + var/datum/species/current_species = GLOB.all_species[pref.species] var/list/organ_choices = list("Normal") if(pref.organ_data[BP_TORSO] == "cyborg") organ_choices -= "Normal" if(organ_name == "Brain") organ_choices += "Cybernetic" - organ_choices += "Positronic" - organ_choices += "Drone" + if(!(current_species.spawn_flags & SPECIES_NO_POSIBRAIN)) + organ_choices += "Positronic" + if(!(current_species.spawn_flags & SPECIES_NO_DRONEBRAIN)) + organ_choices += "Drone" else organ_choices += "Assisted" organ_choices += "Mechanical" @@ -1043,7 +1046,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.organ_data[organ] = "assisted" if("Cybernetic") pref.organ_data[organ] = "assisted" - if ("Mechanical") + if("Mechanical") pref.organ_data[organ] = "mechanical" if("Drone") pref.organ_data[organ] = "digital" diff --git a/code/modules/mob/living/carbon/human/species/station/teshari.dm b/code/modules/mob/living/carbon/human/species/station/teshari.dm index d3f96beb59..13a8dcd694 100644 --- a/code/modules/mob/living/carbon/human/species/station/teshari.dm +++ b/code/modules/mob/living/carbon/human/species/station/teshari.dm @@ -58,7 +58,7 @@ ambiguous_genders = TRUE - spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED + spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_NO_POSIBRAIN appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR bump_flag = MONKEY swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL