From 5d13bd894e15bd73cf7f131457e09429926cbf7f Mon Sep 17 00:00:00 2001 From: Jacquerel Date: Thu, 23 Jan 2025 20:36:27 +0000 Subject: [PATCH] Phobia rework (#89098) ## About The Pull Request Like #88945 but I am meaner than Goofball. This PR adjusts Phobias to be a little bit less restricting, rather than being basically the worst thing in the game. The way phobias work now is: ***Hearing*** something related to your phobia will make you scream and give you a minor, minute-long mood penalty, once every 12 seconds. ***Saying*** something related to your phobia has a high chance to make you either stutter or speak quietly, or both at once. ***Seeing*** something related to your phobia applies a moderate, four-minute long mood penalty and then gives you stacks of a debuff, once every 12 seconds, up to 6 stacks. Each stack of the phobia debuff makes any effects applied by being scared last longer. Then it applies one of four random effects. - You scream, which does nothing else... unless you have at least 5 stacks in which case you will also drop whatever you were holding in your active hand. - You jump, which immobilises you for a very short period of time (basically just interrupting your movement). - You lose your balance, making you briefly move slower and become staggered (which makes it easier to push you around). - You feel faint, which makes you dizzy (move occasionally in unwanted directions) and briefly blurs your vision. These stacks decay every 30 seconds as long as you're not actively being scared. If you have _multiple_ phobias then your general level of fear is applied globally between them, so even if you just escaped from some clowns you might still be worked up when you see a spider. Phobias mostly don't make you jitter any more largely because to be honest it just looks sort of shit and generally makes your sprite and animations seem like they are broken not like you are shivering in fright. It still happens if you hear something scary. _Also_ I changed carp phobia to a general "fish" phobia, because we have so much fish-related content now to take advantage of. _Also_ I fully deleted the Heretic phobia because it's not applied by Heretics any more and without that context it is also needlessly specific, with heavy overlap with the Supernatural phobia. _Also_ I fucked around with the phobia speech dictionaries a little bit to remove some words I don't think are that funny or appropriate and also add some more. Your mileage may vary. _Also_ I made sure people who are scared of aliens are scared of basic mob xenomorphs, people who are scared of birds are scared of raptors, and people who are scared of bugs are scared of butterflies and........... mothroaches. ## Why It's Good For The Game Phobias are internally classed as a "mild" brain traums, which makes them relatively easy to acquire and are applied by effects that are supposed to be bad but not completely debilitating. Examples of other mild traumas are: - Stuttering - Speech impediments - Your health preview doesn't update - You occasionally move in a random direction - Colour blindness - You don't like dropping objects Phobias on the other hand are generally considered by most players who have had one to be _significantly_ disabling. The penalties they apply tend to be significantly worse to play with than the things listed above, and can make playing around with a roleplay quirk excessively miserable. Unlike Goofball I don't want to make these totally toothless, but I do want them to be more _mlld_ than they were before. ## Changelog :cl: balance: Phobias are now somewhat less debilitating, although their effects get worse the longer you are near a fear trigger. balance: Carphobes are now afraid of all fish. del: Remove the Heretic phobia, as it is now basically unused. /:cl: --- code/_globalvars/phobias.dm | 137 +++++----- code/datums/brain_damage/phobia.dm | 75 +++--- .../mood_events/generic_negative_events.dm | 10 + code/datums/status_effects/debuffs/phobia.dm | 77 ++++++ .../movespeed/modifiers/status_effects.dm | 3 + .../impure_medicine_reagents.dm | 6 +- strings/phobia.json | 237 +++++++++++------- tgstation.dme | 1 + 8 files changed, 346 insertions(+), 200 deletions(-) create mode 100644 code/datums/status_effects/debuffs/phobia.dm diff --git a/code/_globalvars/phobias.dm b/code/_globalvars/phobias.dm index 16eae5d0592..c482722fbf9 100644 --- a/code/_globalvars/phobias.dm +++ b/code/_globalvars/phobias.dm @@ -8,13 +8,12 @@ GLOBAL_LIST_INIT(phobia_types, sort_list(list( "authority", "birds", "blood", - "carps", "clowns", "doctors", "falling", + "fish", "greytide", "guns", - "heresy", "insects", "lizards", "robots", @@ -33,14 +32,13 @@ GLOBAL_LIST_INIT(phobia_regexes, list( "authority" = construct_phobia_regex("authority"), "birds" = construct_phobia_regex("birds"), "blood" = construct_phobia_regex("blood"), - "carps" = construct_phobia_regex("carps"), "clowns" = construct_phobia_regex("clowns"), "conspiracies" = construct_phobia_regex("conspiracies"), "doctors" = construct_phobia_regex("doctors"), "falling" = construct_phobia_regex("falling"), + "fish" = construct_phobia_regex("fish"), "greytide" = construct_phobia_regex("greytide"), "guns" = construct_phobia_regex("guns"), - "heresy" = construct_phobia_regex("heresy"), "insects" = construct_phobia_regex("insects"), "lizards" = construct_phobia_regex("lizards"), "ocky icky" = construct_phobia_regex("ocky icky"), @@ -56,43 +54,58 @@ GLOBAL_LIST_INIT(phobia_regexes, list( GLOBAL_LIST_INIT(phobia_mobs, list( "aliens" = typecacheof(list( - /mob/living/carbon/alien, + /mob/living/basic/alien, /mob/living/basic/slime, + /mob/living/carbon/alien, + )), + "anime" = typecacheof(list( + /mob/living/basic/guardian, + /mob/living/basic/migo/hatsune + )), + "authority" = typecacheof(list( + /mob/living/basic/trooper/nanotrasen, + /mob/living/simple_animal/bot/secbot, )), - "anime" = typecacheof(list(/mob/living/basic/guardian)), "birds" = typecacheof(list( /mob/living/basic/chick, /mob/living/basic/chicken, /mob/living/basic/parrot, /mob/living/basic/pet/penguin, + /mob/living/basic/raptor, /mob/living/simple_animal/hostile/retaliate/goose, )), - "carps" = typecacheof(list( - /mob/living/basic/carp, - /mob/living/basic/space_dragon, - )), "conspiracies" = typecacheof(list( /mob/living/basic/drone, /mob/living/basic/pet/penguin, /mob/living/simple_animal/bot/secbot, )), "doctors" = typecacheof(list(/mob/living/basic/bot/medbot)), - "heresy" = typecacheof(list( - /mob/living/basic/heretic_summon, + "fish" = typecacheof(list( + /mob/living/basic/carp, + /mob/living/basic/space_dragon, )), "insects" = typecacheof(list( - /mob/living/basic/cockroach, + /mob/living/basic/ant, /mob/living/basic/bee, + /mob/living/basic/butterfly, + /mob/living/basic/cockroach, + /mob/living/basic/mega_arachnid, + /mob/living/basic/mothroach, )), "lizards" = typecacheof(list(/mob/living/basic/lizard)), "robots" = typecacheof(list( + /mob/living/basic/bot, /mob/living/basic/drone, /mob/living/silicon/ai, /mob/living/silicon/robot, /mob/living/simple_animal/bot, )), "security" = typecacheof(list(/mob/living/simple_animal/bot/secbot)), - "spiders" = typecacheof(list(/mob/living/basic/spider/giant)), + "spiders" = typecacheof(list( + /mob/living/basic/flesh_spider, + /mob/living/basic/mega_arachnid, + /mob/living/basic/spider/giant, + )), "skeletons" = typecacheof(list(/mob/living/basic/skeleton)), "snakes" = typecacheof(list(/mob/living/basic/snake)), "the supernatural" = typecacheof(list( @@ -136,6 +149,7 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/item/toy/toy_xeno, /obj/item/toy/plush/abductor, /obj/item/toy/plush/abductor/agent, + /obj/item/toy/plush/rouny, /obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/wrench/abductor, @@ -234,35 +248,16 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/item/clothing/under/costume/griffin, /obj/item/clothing/under/costume/owl, /obj/item/food/cracker, + /obj/item/food/egg, )), "blood" = typecacheof(list( /obj/effect/decal/cleanable/blood, + /obj/item/food/fried_blood_sausage, + /obj/item/food/tiziran_sausage, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/syringe, /obj/machinery/iv_drip, )), - "carps" = typecacheof(list( - /obj/item/clothing/head/hooded/carp_hood, - /obj/item/clothing/suit/hooded/carp_costume, - /obj/item/clothing/head/fedora/carpskin, - /obj/item/clothing/mask/gas/carp, - /obj/item/cigarette/carp, - /obj/item/clothing/under/suit/carpskin, - /obj/item/fish/baby_carp, - /obj/item/food/cubancarp, - /obj/item/food/fishmeat/carp, - /obj/item/grenade/clusterbuster/spawner_spesscarp, - /obj/item/grenade/spawnergrenade/spesscarp, - /obj/item/knife/carp, - /obj/item/nullrod/carp, - /obj/item/organ/lungs/carp, - /obj/item/organ/tongue/carp, - /obj/item/organ/brain/carp, - /obj/item/organ/heart/carp, - /obj/item/storage/fancy/cigarettes/cigpack_carp, - /obj/item/stack/sheet/animalhide/carp, - /obj/item/toy/plush/carpplushie, - )), "clowns" = typecacheof(list( /obj/item/bedsheet/clown, /obj/item/clothing/head/chaplain/clownmitre, @@ -273,7 +268,9 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/item/clothing/under/plasmaman/clown, /obj/item/clothing/gloves/color/plasmaman/clown, /obj/item/clothing/under/rank/civilian/clown, + /obj/item/food/burger/clown, /obj/item/food/cheesiehonkers, + /obj/item/food/meatclown, /obj/item/food/pie/cream, /obj/item/grown/bananapeel, /obj/item/gun/magic/staff/honk, @@ -369,6 +366,41 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/machinery/stasis, /obj/structure/sign/departments/medbay, )), + "fish" = typecacheof(list( + /obj/item/clothing/head/hooded/carp_hood, + /obj/item/clothing/suit/hooded/carp_costume, + /obj/item/clothing/head/fedora/carpskin, + /obj/item/clothing/mask/gas/carp, + /obj/item/clothing/head/soft/fishing_hat, + /obj/item/cigarette/carp, + /obj/item/clothing/under/suit/carpskin, + /obj/item/fish, + /obj/item/fishing_hook, + /obj/item/fishing_rod, + /obj/item/food/cubancarp, + /obj/item/food/fishandchips, + /obj/item/food/fishfingers, + /obj/item/food/fishfry, + /obj/item/food/fishmeat, + /obj/item/food/nugget/fish, + /obj/item/food/volt_fish, + /obj/item/grenade/clusterbuster/spawner_spesscarp, + /obj/item/grenade/spawnergrenade/spesscarp, + /obj/item/knife/carp, + /obj/item/nullrod/carp, + /obj/item/organ/brain/carp, + /obj/item/organ/heart/carp, + /obj/item/organ/liver/fish, + /obj/item/organ/lungs/carp, + /obj/item/organ/lungs/fish, + /obj/item/organ/stomach/fish, + /obj/item/organ/tail/fish, + /obj/item/organ/tongue/carp, + /obj/item/storage/fancy/cigarettes/cigpack_carp, + /obj/item/storage/toolbox/fishing, + /obj/item/stack/sheet/animalhide/carp, + /obj/item/toy/plush/carpplushie, + )), "greytide" = (typecacheof(list( /obj/item/clothing/under/color/grey, /obj/item/melee/baton/security/cattleprod, @@ -394,35 +426,6 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/machinery/porta_turret, /obj/machinery/power/emitter, )), - "heresy" = typecacheof(list( - /obj/effect/floating_blade, - /obj/effect/forcefield/cosmic_field, - /obj/effect/forcefield/wizard/heretic, - /obj/effect/heretic_influence, - /obj/effect/heretic_rune, - /obj/effect/lock_portal, - /obj/effect/visible_heretic_influence, - /obj/item/ammo_box/strilka310/lionhunter, - /obj/item/ammo_casing/strilka310/lionhunter, - /obj/item/clothing/mask/madness_mask, - /obj/item/clothing/neck/eldritch_amulet, - /obj/item/clothing/neck/fake_heretic_amulet, - /obj/item/clothing/neck/heretic_focus, - /obj/item/clothing/suit/hooded/cultrobes/eldritch, - /obj/item/codex_cicatrix, - /obj/item/coin/eldritch, - /obj/item/gun/ballistic/rifle/lionhunter, - /obj/item/heretic_labyrinth_handbook, - /obj/item/melee/rune_carver, - /obj/item/melee/sickly_blade, - /obj/item/melee/touch_attack/mansus_fist, - /obj/item/reagent_containers/cup/beaker/eldritch, - /obj/item/toy/eldritch_book, - /obj/item/toy/reality_pierce, - /obj/projectile/curse_hand, - /obj/structure/destructible/eldritch_crucible, - /obj/structure/lock_tear, - )), "insects" = typecacheof(list( /obj/item/clothing/mask/animal/small/bee, /obj/item/clothing/suit/hooded/bee_costume, @@ -445,6 +448,7 @@ GLOBAL_LIST_INIT(phobia_objs, list( "robots" = typecacheof(list( /obj/item/ai_module, /obj/item/aicard, + /obj/item/mmi/posibrain, /obj/item/toy/figure/borg, /obj/item/toy/talking/ai, /obj/machinery/computer/upload, @@ -475,6 +479,7 @@ GLOBAL_LIST_INIT(phobia_objs, list( "skeletons" = typecacheof(list( /obj/effect/decal/remains/human, /obj/item/clothing/suit/armor/bone, + /obj/item/dog_bone, /obj/item/food/meat/slab/human/mutant/skeleton, /obj/item/organ/tongue/bone, /obj/item/stack/sheet/bone, @@ -571,6 +576,8 @@ GLOBAL_LIST_INIT(phobia_species, list( /datum/species/plasmaman, /datum/species/skeleton, )), + "space" = typecacheof(list(/datum/species/voidwalker)), + "supernatural" = typecacheof(list(/datum/species/voidwalker)) )) /// Creates a regular expression to match against the given phobia diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index 9394bc98f57..e9733293cff 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -11,7 +11,7 @@ COOLDOWN_DECLARE(scare_cooldown) ///What mood event to apply when we see the thing & freak out. - var/datum/mood_event/mood_event_type + var/datum/mood_event/mood_event_type = /datum/mood_event/phobia var/regex/trigger_regex //instead of cycling every atom, only cycle the relevant types @@ -104,46 +104,48 @@ hearing_args[HEARING_RAW_MESSAGE] = trigger_regex.Replace(hearing_args[HEARING_RAW_MESSAGE], "[span_phobia("$2")]$3") /datum/brain_trauma/mild/phobia/handle_speech(datum/source, list/speech_args) - if(HAS_TRAIT(owner, TRAIT_FEARLESS)) + if (HAS_TRAIT(owner, TRAIT_FEARLESS)) return - if(trigger_regex.Find(speech_args[SPEECH_MESSAGE]) != 0) - to_chat(owner, span_warning("You can't bring yourself to say the word \"[span_phobia("[trigger_regex.group[2]]")]\"!")) - speech_args[SPEECH_MESSAGE] = "" + if (trigger_regex.Find(speech_args[SPEECH_MESSAGE]) == 0) + return + + var/stutter = prob(50) + var/whisper = prob(30) + + if (!stutter && !whisper) + return + + if (whisper) + speech_args[SPEECH_SPANS] |= SPAN_SMALL_VOICE + if (stutter) + owner.set_stutter_if_lower(4 SECONDS) + to_chat(owner, span_warning("You struggle to say the word \"[span_phobia("[trigger_regex.group[2]]")]\"!")) /datum/brain_trauma/mild/phobia/proc/freak_out(atom/reason, trigger_word) - COOLDOWN_START(src, scare_cooldown, 12 SECONDS) if(owner.stat == DEAD) return + + var/message = pick("spooks you to the bone", "shakes you up", "terrifies you", "sends you into a panic", "sends chills down your spine") + if(trigger_word) + if (owner.has_status_effect(/datum/status_effect/minor_phobia_reaction)) + return + to_chat(owner, span_userdanger("Hearing [span_phobia(trigger_word)] [message]!")) + owner.apply_status_effect(/datum/status_effect/minor_phobia_reaction) + return + + COOLDOWN_START(src, scare_cooldown, 12 SECONDS) if(mood_event_type) owner.add_mood_event("phobia_[phobia_type]", mood_event_type) - var/message = pick("spooks you to the bone", "shakes you up", "terrifies you", "sends you into a panic", "sends chills down your spine") + if(reason) to_chat(owner, span_userdanger("Seeing [span_phobia(reason.name)] [message]!")) - else if(trigger_word) - to_chat(owner, span_userdanger("Hearing [span_phobia(trigger_word)] [message]!")) else to_chat(owner, span_userdanger("Something [message]!")) - var/reaction = rand(1,4) - switch(reaction) - if(1) - to_chat(owner, span_warning("You are paralyzed with fear!")) - owner.Stun(70) - owner.set_jitter_if_lower(16 SECONDS) - if(2) - owner.emote("scream") - owner.set_jitter_if_lower(10 SECONDS) - owner.say("AAAAH!!", forced = "phobia") - if(reason) - owner._pointed(reason) - if(3) - to_chat(owner, span_warning("You shut your eyes in terror!")) - owner.set_jitter_if_lower(10 SECONDS) - owner.adjust_temp_blindness(20 SECONDS) - if(4) - owner.adjust_dizzy(20 SECONDS) - owner.adjust_confusion(10 SECONDS) - owner.set_jitter_if_lower(20 SECONDS) - owner.adjust_stutter(20 SECONDS) + + if(reason) + owner.face_atom(reason) + owner._pointed(reason) + owner.apply_status_effect(/datum/status_effect/stacking/phobia_reaction, 1, mood_event_type) // Defined phobia types for badminry, not included in the RNG trauma pool to avoid diluting. @@ -172,10 +174,6 @@ return TRUE return ..() -/datum/brain_trauma/mild/phobia/carps - phobia_type = "carps" - random_gain = FALSE - /datum/brain_trauma/mild/phobia/clowns phobia_type = "clowns" random_gain = FALSE @@ -192,6 +190,10 @@ phobia_type = "falling" random_gain = FALSE +/datum/brain_trauma/mild/phobia/fish + phobia_type = "fish" + random_gain = FALSE + /datum/brain_trauma/mild/phobia/greytide phobia_type = "greytide" random_gain = FALSE @@ -200,11 +202,6 @@ phobia_type = "guns" random_gain = FALSE -/datum/brain_trauma/mild/phobia/heresy - phobia_type = "heresy" - mood_event_type = /datum/mood_event/heresy - random_gain = FALSE - /datum/brain_trauma/mild/phobia/insects phobia_type = "insects" random_gain = FALSE diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 30999a874b7..d91ea0ccc22 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -202,6 +202,16 @@ return return ..() +/datum/mood_event/startled + description = "Hearing that word made me think about something scary." + mood_change = -1 + timeout = 1 MINUTES + +/datum/mood_event/phobia + description = "I saw something very frightening." + mood_change = -4 + timeout = 4 MINUTES + /datum/mood_event/spooked description = "The rattling of those bones... It still haunts me." mood_change = -4 diff --git a/code/datums/status_effects/debuffs/phobia.dm b/code/datums/status_effects/debuffs/phobia.dm new file mode 100644 index 00000000000..76520e4dc58 --- /dev/null +++ b/code/datums/status_effects/debuffs/phobia.dm @@ -0,0 +1,77 @@ +/// Basically a cooldown which makes you emote when it starts, but allows it to be easily shared between multiple phobias +/datum/status_effect/minor_phobia_reaction + id = "phobia_minor" + duration = 12 SECONDS + alert_type = null + +/datum/status_effect/minor_phobia_reaction/on_apply() + . = ..() + owner.emote("scream") + owner.set_jitter_if_lower(6 SECONDS) + owner.add_mood_event("phobia_minor", /datum/mood_event/startled) + +/// Stacking severity of phobic reaction +/// The more stacks you are the more scared you are +/datum/status_effect/stacking/phobia_reaction + id = "phobia" + status_type = STATUS_EFFECT_REFRESH + stacks = 1 + max_stacks = 6 + tick_interval = 40 SECONDS + consumed_on_threshold = FALSE + +/datum/status_effect/stacking/phobia_reaction/on_creation(mob/living/new_owner, stacks_to_apply = 1, mood_event_type) + . = ..() + if (!.) + return FALSE + + if (mood_event_type) + owner.add_mood_event("phobia", mood_event_type) + return TRUE + +/datum/status_effect/stacking/phobia_reaction/refresh(effect, stacks_to_add) + . = ..() + add_stacks(stacks_to_add) + +/datum/status_effect/stacking/phobia_reaction/add_stacks(stacks_added) + . = ..() + if (stacks_added <= 0 || stacks <= 0) + return + + var/reaction = rand(1,4) + switch(reaction) + if(1) + to_chat(owner, span_warning("You are startled!")) + owner.emote("jump") + owner.Immobilize(0.1 SECONDS * stacks) + + if(2) + owner.emote("scream") + owner.say("AAAAH!!", forced = "phobia") + + if(stacks >= 5) + var/held_item = owner.get_active_held_item() + if (owner.dropItemToGround(held_item)) + owner.visible_message( + span_danger("[owner.name] drops \the [held_item]!"), + span_warning("You drop \the [held_item]!"), null, COMBAT_MESSAGE_RANGE) + + if(3) + to_chat(owner, span_warning("You lose your balance!")) + owner.adjust_staggered_up_to(2 SECONDS * stacks, 20 SECONDS) + owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/spooked) + // We're relying on the fact that there's a 12 second application cooldown to not have to bother cancelling and replacing this timer + // So if you adjust the duration keep that in mind + addtimer(CALLBACK(src, PROC_REF(speed_up)), 1 SECONDS * stacks, TIMER_STOPPABLE | TIMER_DELETE_ME) + + if(4) + to_chat(owner, span_warning("You feel faint with fright!")) + owner.adjust_dizzy_up_to(2 SECONDS * stacks, 20 SECONDS) + owner.adjust_eye_blur_up_to(1.5 SECONDS * stacks, 6 SECONDS) + +/datum/status_effect/stacking/phobia_reaction/fadeout_effect() + to_chat(owner, span_notice("You calm down.")) + +/// Remove our active movespeed modifier +/datum/status_effect/stacking/phobia_reaction/proc/speed_up() + owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/spooked) diff --git a/code/modules/movespeed/modifiers/status_effects.dm b/code/modules/movespeed/modifiers/status_effects.dm index 3b32aea7748..26522d0793b 100644 --- a/code/modules/movespeed/modifiers/status_effects.dm +++ b/code/modules/movespeed/modifiers/status_effects.dm @@ -45,6 +45,9 @@ /datum/movespeed_modifier/status_effect/midas_blight id = MOVESPEED_ID_MIDAS_BLIGHT +/datum/movespeed_modifier/status_effect/spooked + multiplicative_slowdown = 0.25 + /datum/movespeed_modifier/status_effect/midas_blight/soft multiplicative_slowdown = 0.25 diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm index e1edc1bddf1..2ca72cbd8b4 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm @@ -910,7 +910,7 @@ Basically, we fill the time between now and 2s from now with hands based off the /datum/reagent/inverse/rezadone name = "Inreziniver" - description = "Makes the user horribly afraid of all things related to carps." + description = "Makes the user horribly afraid of all things related to fish." color = "#c92eb4" ph = 13.9 metabolization_rate = 0.05 * REM @@ -918,8 +918,8 @@ Basically, we fill the time between now and 2s from now with hands based off the /datum/reagent/inverse/rezadone/on_mob_metabolize(mob/living/carbon/affected_mob) . = ..() - affected_mob.gain_trauma(/datum/brain_trauma/mild/phobia/carps, TRAUMA_RESILIENCE_ABSOLUTE) + affected_mob.gain_trauma(/datum/brain_trauma/mild/phobia/fish, TRAUMA_RESILIENCE_ABSOLUTE) /datum/reagent/inverse/rezadone/on_mob_end_metabolize(mob/living/carbon/affected_mob) . = ..() - affected_mob.cure_trauma_type(/datum/brain_trauma/mild/phobia/carps, resilience = TRAUMA_RESILIENCE_ABSOLUTE) + affected_mob.cure_trauma_type(/datum/brain_trauma/mild/phobia/fish, resilience = TRAUMA_RESILIENCE_ABSOLUTE) diff --git a/strings/phobia.json b/strings/phobia.json index 45e7485a919..b3702ee6cf1 100644 --- a/strings/phobia.json +++ b/strings/phobia.json @@ -1,17 +1,17 @@ { "aliens": [ "abductee", + "abduction", "abductor", "alien", "ayy lmao", "ayys", "facehugger", "greys", - "jelly", - "lusty", "mothership", "resin", "slime", + "ufo", "xeno", "xenobiology", "xenomorph" @@ -47,11 +47,12 @@ "authority": [ "admiral", + "boss", "cap", "captain", "ce", "centcom", - "centcom", + "centcomm", "chief", "cmo", "comdom", @@ -75,21 +76,28 @@ "beak", "bird", "birdemic", + "caw", "chick", - "claw", + "chirp", "cracker", + "crow", "eagle", "feather", "flap", "fowl", "griffin", + "griffon", + "hawk", "ka kaw", "kakaw", "ki ki ya ya", "kiki yaya", "owl", + "parrot", "peck", "poly", + "raptor", + "raven", "vox", "wing" ], @@ -102,6 +110,8 @@ "bloodloss", "bloody", "dialysis", + "exsanguinate", + "exsanguinated", "gib", "gibbed", "gibs", @@ -110,30 +120,20 @@ "hemorrhaged", "hemorrhaging", "iv", - "transfusion" - ], - - "carps": [ - "aquarium", - "carp", - "carps", - "carpotoxin", - "fin", - "fins", - "fish", - "fang", - "gnash", - "migration", - "slash", - "shred", - "teeth", - "tooth" + "leech", + "transfusion", + "vampire" ], "clowns": [ "banana", "clown", + "creampie", + "cream pie", "honk", + "horn", + "jester", + "red nose", "slip", "slipped", "slipping" @@ -165,8 +165,10 @@ "hos", "illuminati", "jet fuel", + "mask", "nanotrasen", "qm", + "quarantine", "quarter master", "quartermaster", "rd", @@ -176,6 +178,9 @@ "steel beam", "ufo", "globo-homo", + "vaccine", + "vaccinated", + "vaccination", "xeno" ], @@ -194,7 +199,11 @@ "md", "medicine", "nurse", + "pill", "sleeper", + "vaccine", + "vaccinated", + "vaccination", "viro", "virologist", "virology" @@ -202,15 +211,40 @@ "falling": [ "chasm", - "fall", - "fell", "hang in there", "hold on", "hole", "i'll catch you", "let go", - "pit", - "slip" + "pit" + ], + + "fish": [ + "angler", + "angling", + "aquarium", + "bait", + "carp", + "carps", + "carpotoxin", + "cod", + "fin", + "fins", + "fish", + "fishing", + "fisherman", + "fang", + "gnash", + "hooked", + "minnow", + "salmon", + "sashimi", + "shark", + "small fry", + "sushi", + "trout", + "migration", + "rod" ], "greytide": [ @@ -232,7 +266,6 @@ "ammo", "armory", "ballistic", - "beam", "buckshot", "bulldog", "bullet", @@ -241,7 +274,6 @@ "carbine", "cartridge", "casing", - "dart", "deagle", "emitter", "firearm", @@ -280,55 +312,31 @@ "wt550" ], - "heresy": [ - "armsy", - "ash", - "blade", - "cloak", - "codex", - "cosmic", - "eldritch", - "fire shark", - "flesh", - "focus", - "ghoul", - "grasp", - "hand", - "heart", - "heresy", - "heretic", - "lionhunter", - "maid in the mirror", - "mansus", - "offer", - "pierced reality", - "raw prophet", - "reality crack", - "reality pierce", - "ritual", - "robe", - "rune", - "rust", - "sacrifice", - "space", - "stalker", - "star", - "void", - "worm" - ], - "insects": [ + "ant", + "ants", "bee", + "butterfly", "buzz", "cockroach", + "cocoon", "flutter", "fly", "glockroach", + "grub", + "hive", + "infest", + "infested", + "infestation", "insect", + "insects", "moff", "moth", + "mothroach", "roach", - "sting" + "sting", + "swarm", + "worm" ], "lizards": [ @@ -336,9 +344,10 @@ "hissed", "hissing", "lizard", - "wag", - "wagged", - "wagging" + "scale", + "scaly", + "scaley", + "scalie" ], "ocky icky": [ @@ -350,6 +359,7 @@ "antagonist", "ban", "banned", + "batong", "chat", "click", "c*der", @@ -358,6 +368,10 @@ "discord", "erp", "forum", + "griff", + "griffing", + "headmin", + "host", "ick ock", "joever", "k", @@ -366,6 +380,7 @@ "leddit", "lmao", "lol", + "maintainer", "mapper", "moderator", "mods", @@ -373,6 +388,7 @@ "murderboning", "ocky", "ooc", + "omg", "owo", "pwn", "powergame", @@ -391,6 +407,7 @@ "uwa", "uwu", "valid", + "wtf", "y", "5head" ], @@ -404,37 +421,55 @@ "borg", "bot", "cyborg", + "drone", + "positronic", "robot", "silicon", "silly cone" ], "security": [ + "arrest", + "baton", + "batong", + "behind bars", + "beepsky", + "brig", + "genpop", + "gulag", + "holding cell", + "hos", + "jail", + "prison", + "solitary confinement", + "the nick", + "the slammer", "sec", "security", "shitcurity", - "baton", - "taser", - "beepsky", - "hos", - "brig", - "gulag" + "taser" ], "skeletons": [ "bone", "calcium", "doot", - "milk", + "rib", + "ribs", "skeleton", + "skull", + "tibia", "the ride never ends", "xylophone" ], "snakes": [ + "adder", "anaconda", - "boop", + "cobra", + "constrictor", "fangs", + "mamba", "python", "slither", "snake", @@ -444,18 +479,31 @@ ], "space": [ + "asteroid", + "EVA", + "comet", + "cosmic", + "galactic", + "galaxy", + "intergalactic", + "meteor", + "meteorite", + "nebula", "space", + "spess", "star", "universe", "void", - "galaxy", - "spess" + "voidwalker" ], "spiders": [ + "arachnid", + "black widow", + "cocoon", "spider", - "web", - "arachnid" + "tarantula", + "web" ], "strangers": [ @@ -466,19 +514,19 @@ ], "the supernatural": [ - "brass", - "chapel", - "chaplain", - "chappy", - "clockwork", "cult", "cultist", + "curse", "demon", + "devil", "ei nath", "eldritch", + "ghast", "ghost", - "god", - "goddess", + "ghoul", + "haunt", + "haunting", + "haunted", "heretic", "lich", "magic", @@ -489,19 +537,22 @@ "nar-sie", "nightmare", "ratvar", - "religion", + "revenant", "ritual", "rune", "sigil", + "specter", + "spectre", + "spell", + "summon", + "summoning", "talisman", "tome", "vampire", + "voidwalker", + "witch", "wiz", "wizard", "zombie" ] - - - - } diff --git a/tgstation.dme b/tgstation.dme index 873e223754d..3015a823b82 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1932,6 +1932,7 @@ #include "code\datums\status_effects\debuffs\hooked.dm" #include "code\datums\status_effects\debuffs\jitteriness.dm" #include "code\datums\status_effects\debuffs\pacifism.dm" +#include "code\datums\status_effects\debuffs\phobia.dm" #include "code\datums\status_effects\debuffs\rust_corruption.dm" #include "code\datums\status_effects\debuffs\screen_blur.dm" #include "code\datums\status_effects\debuffs\screwy_hud.dm"