Merge pull request #1735 from CHOMPStationBot/upstream-merge-10072

[MIRROR] [MIRROR] Prevented Teshari from selecting positronic brains.
This commit is contained in:
Nadyr
2021-04-03 00:03:37 -04:00
committed by GitHub
3 changed files with 15 additions and 121 deletions
+7 -5
View File
@@ -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)
@@ -1073,13 +1073,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"
@@ -1097,7 +1100,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"
@@ -1,7 +1,3 @@
//CHOMPStation Removal Start - TFF 24/12/19 - Bruh. This ain't a fun thing.
///mob/living/carbon/var/loneliness_stage = 0
///mob/living/carbon/var/next_loneliness_time = 0
//CHOMPStation Removal End
/datum/species/teshari
name = SPECIES_TESHARI
name_plural = "Tesharii"
@@ -22,19 +18,12 @@
economic_modifier = 10
health_hud_intensity = 3
//CHOMPStation Removal Start - TFF 24/12/19 - Bruh. This ain't a fun thing.
/*
//YW Edit: Readding loneliness
var/warning_cap = 300
var/hallucination_cap = 25
//YW Edit End
*/
//CHOMPStation Removal End
male_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg')
female_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg')
male_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg'
female_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg'
//CHOMPStation Add. Y'know I should probably just put this upstream.
male_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg'
female_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg'
@@ -74,7 +63,7 @@
ambiguous_genders = TRUE
spawn_flags = SPECIES_CAN_JOIN
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_NO_POSIBRAIN //CHOMPedit: This is overriden by teshari_vr.dm. Noting here for future reference.
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR
bump_flag = MONKEY
swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL
@@ -160,103 +149,3 @@
/datum/species/teshari/equip_survival_gear(var/mob/living/carbon/human/H)
..()
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes)
//CHOMPStation Removal Start - TFF 24/12/19 - Bruh. This ain't a fun thing.
/*
/datum/species/teshari/handle_environment_special(var/mob/living/carbon/human/H)
spawn(0)
// If they're dead or unconcious they're a bit beyond this kind of thing.
if(H.stat)
return
// No point processing if we're already stressing the hell out.
if(H.hallucination >= hallucination_cap && H.loneliness_stage >= warning_cap)
return
// Vored? Not gonna get frightened.
if(isbelly(H.loc))
if(H.loneliness_stage > 0)
H.loneliness_stage -= 4
return
if(istype(H.loc, /obj/item/weapon/holder))
if(H.loneliness_stage > 0)
H.loneliness_stage -= 4
return
// Check for company.
for(var/mob/living/M in viewers(H))
if(!istype(M, /mob/living/carbon) && !istype(M, /mob/living/silicon/robot))
continue
if(M == H || M.stat == DEAD || M.invisibility > H.see_invisible)
continue
if(M.faction == "neutral" || M.faction == H.faction)
if(H.loneliness_stage > 0)
H.loneliness_stage -= 4
if(H.loneliness_stage < 0)
H.loneliness_stage = 0
if(world.time >= H.next_loneliness_time)
to_chat(H, "The nearby company calms you down...")
H.next_loneliness_time = world.time+500
return
for(var/obj/item/weapon/holder/micro/M in range(1, H))
if(H.loneliness_stage > 0)
H.loneliness_stage -= 4
if(H.loneliness_stage < 0)
H.loneliness_stage = 0
if(world.time >= H.next_loneliness_time)
to_chat(H, "[M] calms you down...")
H.next_loneliness_time = world.time+500
for(var/obj/effect/overlay/aiholo/A in range(5, H))
if(H.loneliness_stage > 0)
H.loneliness_stage -= 4
if(H.loneliness_stage < 0)
H.loneliness_stage = 0
if(world.time >= H.next_loneliness_time)
to_chat(H, "[A] calms you down...")
H.next_loneliness_time = world.time+500
//re-enabled for YawnWider
for(var/obj/item/toy/plushie/teshari/P in range(5, H))
if(H.loneliness_stage > 0)
H.loneliness_stage -= 4
if(H.loneliness_stage < 0)
H.loneliness_stage = 0
if(world.time >= H.next_loneliness_time)
to_chat(H, "The [P] calms you down, reminding you of people...")
H.next_loneliness_time = world.time+500
// No company? Suffer :(
if(H.loneliness_stage < warning_cap)
H.loneliness_stage += 1
handle_loneliness(H)
if(H.loneliness_stage >= warning_cap && H.hallucination < hallucination_cap)
H.hallucination += 2.5
/datum/species/teshari/proc/handle_loneliness(var/mob/living/carbon/human/H)
var/ms = ""
if(H.loneliness_stage == 1)
ms = "Well.. No one is around you anymore..."
if(H.loneliness_stage >= 50)
ms = "You begin to feel alone..."
if(H.loneliness_stage >= 250)
ms = "[pick("You don't think you can last much longer without some visible company!", "You should go find someone!")]"
if(H.stuttering < hallucination_cap)
H.stuttering += 5
if(H.loneliness_stage >= warning_cap)
ms = "<span class='danger'><b>[pick("Where are the others?", "Please, there has to be someone nearby!", "I don't want to be alone!")]</b></span>"
if(world.time < H.next_loneliness_time)
return
if(ms != "")
to_chat(H, ms)
H.next_loneliness_time = world.time+500
/datum/species/teshari/get_vision_flags(var/mob/living/carbon/human/H)
if(!(H.sdisabilities & DEAF) && !H.ear_deaf)
return SEE_SELF|SEE_MOBS
else
return SEE_SELF
*/
//CHOMPStation Removal End