Adds blennophobia. (#4397)

* Adds blennophobia.

* Adds blennophobia to character setup.

* fear updates
This commit is contained in:
Belsima
2017-12-06 00:51:36 -05:00
committed by Anewbe
parent 7fa9c6bc13
commit bb6d52d13d
2 changed files with 96 additions and 5 deletions

View File

@@ -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)
*/
*/

View File

@@ -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)