From c426988728d49f46f9788707d796f2f21f98025f Mon Sep 17 00:00:00 2001 From: Atermonera Date: Thu, 1 Apr 2021 22:52:21 -0900 Subject: [PATCH] Merge pull request #8006 from MistakeNot4892/teshpets Prevented Teshari from selecting 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 3239e8fa1ad..bdfbebb1bc5 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 269e0632627..949d613b6b5 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 a1fbf3865c3..3a282707c35 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