mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
Adds blennophobia. (#4397)
* Adds blennophobia. * Adds blennophobia to character setup. * fear updates
This commit is contained in:
@@ -183,6 +183,12 @@
|
||||
desc = "Small spaces and tight quarters makes you feel distressed. Unfortunately both are rather common when living in space."
|
||||
modifier_type = /datum/modifier/trait/phobia/claustrophobe
|
||||
|
||||
|
||||
/datum/trait/modifier/mental/blennophobe
|
||||
name = "Blennophobia"
|
||||
desc = "Slimes are quite dangerous, but just the aspect of something being slimey is uncomfortable."
|
||||
modifier_type = /datum/modifier/trait/phobia/blennophobe
|
||||
|
||||
/*
|
||||
// Uncomment this when/if these get finished.
|
||||
/datum/trait/modifier/mental/synthphobe
|
||||
@@ -239,4 +245,4 @@
|
||||
name = "Promethean-phobic"
|
||||
desc = "Boilerplate racism for jellos goes here."
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -297,7 +297,7 @@
|
||||
|
||||
var/open_tiles_needed = 15 // Tends to be just right, as maint triggers this but hallways don't.
|
||||
|
||||
on_created_text = "<span class='warning'>You are terrified of tight spaces. Why did you come to space??</span>"
|
||||
on_created_text = "<span class='warning'>You are terrified of tight spaces. Why did you come to space?</span>"
|
||||
on_expired_text = "<span class='notice'>Small rooms aren't so bad now.</span>"
|
||||
|
||||
zero_fear_up = list(
|
||||
@@ -357,6 +357,90 @@
|
||||
|
||||
return fear_amount
|
||||
|
||||
/datum/modifier/trait/phobia/blennophobe
|
||||
name = "blennophobia"
|
||||
desc = "Slimes are quite dangerous, but just the aspect of something being slimey is uncomfortable."
|
||||
fear_decay_rate = 1
|
||||
|
||||
on_created_text = "<span class='warning'>You are disgusted and horrified by slime.</span>"
|
||||
on_expired_text = "<span class='notice'>You feel more... okay with slime.</span>"
|
||||
|
||||
zero_fear_up = list(
|
||||
"<span class='warning'><font size='3'>That's some slime!</font></span>",
|
||||
"<span class='warning'><font size='3'>There's slime right there!</font></span>"
|
||||
)
|
||||
zero_fear_down = list(
|
||||
"<span class='notice'>The slime is out of sight and out of mind.</span>",
|
||||
"<span class='notice'>Clean. No more slime.</span>"
|
||||
)
|
||||
|
||||
half_fear_up = list(
|
||||
"<span class='danger'><font size='3'>The slimes might strike at any point!</font></span>",
|
||||
"<span class='danger'><font size='3'>The slime is still there!</font></span>"
|
||||
)
|
||||
half_fear_down = list(
|
||||
"<span class='warning'>The slime is gone... right?</span>",
|
||||
"<span class='warning'>You can't see any slime right now, but you're still anxious.</span>"
|
||||
)
|
||||
|
||||
full_fear_up = list(
|
||||
"<span class='danger'><font size='4'>The slime is everywhere!</font></span>",
|
||||
"<span class='danger'><font size='4'>You're gonna get absorbed if you don't get out!</font></span>"
|
||||
)
|
||||
full_fear_down = list(
|
||||
"<span class='danger'>There must be more of that slime somewhere...</span>",
|
||||
"<span class='danger'>No more of this slime, please....</span>"
|
||||
)
|
||||
|
||||
/datum/modifier/trait/phobia/blennophobe/should_fear()
|
||||
if(holder.blinded)
|
||||
return 0 // Can't fear what cannot be seen.
|
||||
|
||||
var/fear_amount = 0
|
||||
for(var/atom/thing in view(5, holder)) // See haemophobia for why this is 5.
|
||||
if(istype(thing, /obj/structure/blob)) // blobs are uncomfortable things
|
||||
fear_amount += 3
|
||||
|
||||
if(istype(thing, /obj/effect/alien/resin)) // Resin's a bit slimy according to its own description.
|
||||
fear_amount += 1
|
||||
|
||||
if(istype(thing, /obj/item/weed_extract))
|
||||
fear_amount += 1
|
||||
|
||||
if(istype(thing, /obj/effect/decal/cleanable/mucus)) // Blennophobia apparently includes mucus, so!
|
||||
fear_amount += 2
|
||||
|
||||
if(istype(thing, /obj/item/slime_extract)) // Gooey.
|
||||
fear_amount += 1
|
||||
|
||||
if(istype(thing, /obj/item/slime_cube)) // Also gooey, alongside harbinger of bad news.
|
||||
fear_amount += 2
|
||||
|
||||
if(istype(thing, /obj/item/organ/internal/brain/slime))
|
||||
fear_amount += 2
|
||||
|
||||
if(istype(thing, /obj/item/clothing/head/collectable/slime)) // Some hats are spooky so people can be assholes with them.
|
||||
fear_amount += 1
|
||||
|
||||
if(istype(thing, /mob/living/simple_animal/slime)) // An actual predatory specimen!
|
||||
var/mob/living/simple_animal/slime/S = thing
|
||||
if(S.stat == DEAD) // Dead slimes are somewhat less spook.
|
||||
fear_amount += 4
|
||||
if(S.is_adult == TRUE) //big boy
|
||||
fear_amount += 8
|
||||
else
|
||||
fear_amount += 6
|
||||
|
||||
if(istype(thing, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/S = thing
|
||||
if(istype(S.species, /datum/species/skrell)) //Skrell ARE slimey.
|
||||
fear_amount += 1
|
||||
if(istype(S.species, /datum/species/shapeshifter/promethean))
|
||||
fear_amount += 4
|
||||
else
|
||||
return
|
||||
return fear_amount
|
||||
|
||||
// Note for the below 'phobias' are of the xeno-phobic variety, and are less centered on pure fear as above, and more on a mix of distrust, fear, and disdainfulness.
|
||||
// As such, they are mechanically different than the fear-based phobias, in that instead of a buildup of fearful messages, it does intermittent messages specific to what holder sees.
|
||||
|
||||
@@ -367,7 +451,7 @@
|
||||
closely, waiting to strike."
|
||||
|
||||
on_created_text = "<span class='warning'>You remain vigilant against the Alien.</span>"
|
||||
on_expired_text = "<span class='notice'>Aliens aren't so bad afterall.</span>"
|
||||
on_expired_text = "<span class='notice'>Aliens aren't so bad after all.</span>"
|
||||
|
||||
var/last_message = null // world.time we last did a message.
|
||||
var/message_cooldown = 1 MINUTE
|
||||
@@ -442,7 +526,7 @@
|
||||
desc = "Humans are bound to get us all killed with their reckless use of technology..."
|
||||
|
||||
on_created_text = "<span class='warning'>You unfortunately are likely to have to deal with humans today.</span>"
|
||||
on_expired_text = "<span class='notice'>Humans aren't so bad afterall.</span>"
|
||||
on_expired_text = "<span class='notice'>Humans aren't so bad after all.</span>"
|
||||
|
||||
/datum/modifier/trait/phobia/xenophobia/human/get_xenos()
|
||||
var/list/humans = list()
|
||||
@@ -471,7 +555,7 @@
|
||||
desc = "The Skrell pretend that they are Humanity's enlightened allies, but you can see past that."
|
||||
|
||||
on_created_text = "<span class='warning'>Hopefully no Skrell show up today.</span>"
|
||||
on_expired_text = "<span class='notice'>Skrell aren't so bad afterall.</span>"
|
||||
on_expired_text = "<span class='notice'>Skrell aren't so bad after all.</span>"
|
||||
|
||||
/datum/modifier/trait/phobia/xenophobia/skrell/get_xenos()
|
||||
var/list/skrell = list()
|
||||
@@ -490,3 +574,4 @@
|
||||
"WetSkrell was a mistake."
|
||||
)
|
||||
return pick(generic_responses)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user