From ec3917412bf16daa89be80ea497a6f677dcf00fb Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 11 Apr 2021 05:58:29 -0400 Subject: [PATCH] Update negative_ch.dm --- .../species/station/traits_vr/negative_ch.dm | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm index e40f427b9b..e17221e224 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm @@ -2,17 +2,17 @@ #define GAUSSIAN_RANDOM(vars...) ((-2*log(rand()))**0.5 * cos(6.28318530718*rand())) #endif -/datum/trait/hollow +/datum/trait/negative/hollow excludes = list(/datum/trait/densebones) -/datum/trait/slipperydirt +/datum/trait/negative/slipperydirt name = "Dirt Vulnerability" desc = "Even the tiniest particles of dirt give you uneasy footing, even through several layers of footwear." cost = -5 var_changes = list("dirtslip" = TRUE) excludes = list(/datum/trait/absorbent) -/datum/trait/less_blood +/datum/trait/negative/less_blood name = "Low blood volume" desc = "You have 33.3% less blood volume compared to most species, making you more prone to blood loss issues." cost = -3 @@ -20,7 +20,7 @@ excludes = list(/datum/trait/less_blood_extreme,/datum/trait/more_blood,/datum/trait/more_blood_extreme) can_take = ORGANICS -/datum/trait/less_blood_extreme +/datum/trait/negative/less_blood_extreme name = "Extremely low blood volume" desc = "You have 60% less blood volume compared to most species, making you much more prone to blood loss issues." cost = -5 @@ -28,31 +28,31 @@ excludes = list(/datum/trait/less_blood,/datum/trait/more_blood,/datum/trait/more_blood_extreme) can_take = ORGANICS -/datum/trait/scrawny +/datum/trait/negative/scrawny name = "Scrawny" desc = "You have a much harder time breaking free of grabs as well as creating and holding onto grabs on other people." cost = -2 var_changes = list("grab_resist_divisor_victims" = 0.5, "grab_resist_divisor_self" = 3, "grab_power_victims" = 1, "grab_power_self" = -1) -/datum/trait/extreme_slowdown +/datum/trait/negative/extreme_slowdown name = "Extreme slowdown" desc = "You move EXTREMELY slower than baseline" cost = -8 var_changes = list("slowdown" = 4.0) -/datum/trait/deep_sleeper +/datum/trait/negative/deep_sleeper name = "Deep Sleeper" desc = "When you fall asleep, it takes you four times as long to wake up." cost = -1 var_changes = list("waking_speed" = 0.25) -/datum/trait/low_blood_sugar +/datum/trait/negative/low_blood_sugar name = "Low blood sugar" desc = "If you let your nutrition get too low, you will start to experience adverse affects including hallucinations, unconsciousness, and weakness" cost = -1 special_env = TRUE -/datum/trait/low_blood_sugar/handle_environment_special(var/mob/living/carbon/human/H) +/datum/trait/negative/low_blood_sugar/handle_environment_special(var/mob/living/carbon/human/H) if(H.nutrition > 200) //Sanity check because stupid bugs >:v return if((H.nutrition < 200) && prob(5)) @@ -71,16 +71,16 @@ if((H.nutrition < 25) && prob(5)) H.drowsyness = max(100,H.drowsyness+30) -/datum/trait/blindness +/datum/trait/negative/blindness name = "Permanently blind" desc = "You are blind. For whatever reason, nothing is able to change this fact, not even surgery. WARNING: YOU WILL NOT BE ABLE TO SEE ANY POSTS USING THE ME VERB, ONLY SUBTLE AND DIALOGUE ARE VIEWABLE TO YOU, YOU HAVE BEEN WARNED." cost = -8 special_env = TRUE -/datum/trait/blindness/handle_environment_special(var/mob/living/carbon/human/H) +/datum/trait/negative/blindness/handle_environment_special(var/mob/living/carbon/human/H) H.sdisabilities |= BLIND //no matter what you do, the blindess still comes for you -/datum/trait/schizophrenia +/datum/trait/negative/schizophrenia name = "Episodic hallucinations." desc = "You have a condition which causes you to spontaneously have hallucinations! Luckily for you, in the modern space age, our doctors have solutions for you, just make sure you don't forget to take your pills." cost = -3 @@ -98,12 +98,12 @@ var/break_length_meds_dev = 7000 var/list/episode = list("in_episode" = FALSE) -/datum/trait/schizophrenia/apply(var/datum/species/S,var/mob/living/carbon/human/H) +/datum/trait/negative/schizophrenia/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() episode["next_episode_begin"] = world.time + 6000 episode["next_episode_end"] = world.time + 9000 -/datum/trait/schizophrenia/handle_environment_special(var/mob/living/carbon/human/H) +/datum/trait/negative/schizophrenia/handle_environment_special(var/mob/living/carbon/human/H) var/med_vol = get_med_volume(H) if(!episode["in_episode"]) if(world.time > episode["next_episode_begin"]) @@ -134,7 +134,7 @@ episode["next_episode_end"] = world.time + (episode["next_episode_end"] - world.time)/8 H.hallucination = min(hallucination_max,H.hallucination + hallucination_increase) -/datum/trait/schizophrenia/proc/get_med_volume(var/mob/living/carbon/human/H) +/datum/trait/negative/schizophrenia/proc/get_med_volume(var/mob/living/carbon/human/H) var/total_vol = 0 for(var/datum/reagent/reagent in H.bloodstr.reagent_list) if(istype(reagent,/datum/reagent/tercozolam)) @@ -143,7 +143,7 @@ if(istype(reagent,/datum/reagent/tercozolam)) total_vol += reagent.volume return total_vol -/datum/trait/agoraphobia +/datum/trait/negative/agoraphobia name = "Agoraphobia" desc = "You very much dislike being in crowded places. When in the company of more than two other people, you start to panic and experience adverse effects." cost = -3 @@ -153,7 +153,7 @@ special_env = TRUE excludes = list(/datum/trait/lonely,/datum/trait/lonely/major) -/datum/trait/agoraphobia/handle_environment_special(var/mob/living/carbon/human/H) +/datum/trait/negative/agoraphobia/handle_environment_special(var/mob/living/carbon/human/H) spawn(0) var/list/in_range = list() // If they're dead or unconcious they're a bit beyond this kind of thing. @@ -183,7 +183,7 @@ H.loneliness_stage = max(H.loneliness_stage-4,0) -/datum/trait/agoraphobia/proc/handle_loneliness(var/mob/living/carbon/human/H) +/datum/trait/negative/agoraphobia/proc/handle_loneliness(var/mob/living/carbon/human/H) var/ms = "" if(H.loneliness_stage == escalation_speed) ms = "You notice there's more people than you feel comfortable with around you..." @@ -201,7 +201,7 @@ to_chat(H, ms) H.next_loneliness_time = world.time+500 -/datum/trait/agoraphobia/proc/find_held_by(var/atom/item) +/datum/trait/negative/agoraphobia/proc/find_held_by(var/atom/item) if(!item || !istype(item)) return null else if(istype(item,/mob/living)) @@ -209,7 +209,7 @@ else return find_held_by(item.loc) -/datum/trait/agoraphobia/proc/holder_check(var/mob/living/carbon/human/H,var/obj/item/weapon/holder/H_holder) +/datum/trait/negative/agoraphobia/proc/holder_check(var/mob/living/carbon/human/H,var/obj/item/weapon/holder/H_holder) var/list/in_range = list() if(istype(H_holder)) var/mob/living/held_by = find_held_by(H_holder) @@ -218,7 +218,7 @@ in_range |= holder_check(H,held_by) return in_range -/datum/trait/agoraphobia/proc/belly_check(var/mob/living/carbon/human/H,var/obj/belly/B) +/datum/trait/negative/agoraphobia/proc/belly_check(var/mob/living/carbon/human/H,var/obj/belly/B) var/list/in_range = list() if(istype(B)) in_range |= check_mob_company(H,B.owner,FALSE) @@ -226,7 +226,7 @@ in_range |= belly_check(H,B.owner.loc) return in_range -/datum/trait/agoraphobia/proc/check_mob_company(var/mob/living/carbon/human/H,var/mob/living/M,var/invis_matters = TRUE) +/datum/trait/negative/agoraphobia/proc/check_mob_company(var/mob/living/carbon/human/H,var/mob/living/M,var/invis_matters = TRUE) var/list/in_range = list() if(!istype(M)) return in_range @@ -245,7 +245,7 @@ in_range |= check_contents(M,H) return in_range -/datum/trait/agoraphobia/proc/check_contents(var/atom/item,var/mob/living/carbon/human/H,var/max_layer = 3,var/current_layer = 1) +/datum/trait/negative/agoraphobia/proc/check_contents(var/atom/item,var/mob/living/carbon/human/H,var/max_layer = 3,var/current_layer = 1) var/list/in_range = list() if(!item || !istype(item) || current_layer > max_layer) return in_range @@ -257,7 +257,7 @@ in_range |= check_contents(content,H,max_layer,current_layer+1) return in_range -/datum/trait/lonely +/datum/trait/negative/lonely name = "Minor loneliness vulnerability" desc = "You're very prone to loneliness! Being alone for extended periods of time causes adverse effects. Most mobs will cure this loneliness as long as they aren't hostile." cost = -2 @@ -268,7 +268,7 @@ special_env = TRUE excludes = list(/datum/trait/lonely/major,/datum/trait/agoraphobia) -/datum/trait/lonely/major +/datum/trait/negative/lonely/major name = "Major loneliness vulnerability" desc = "You're extremely prone to loneliness! Being alone for extended periods of time causes adverse effects. Most mobs won't be enough to cure this loneliness, you need other social beings." cost = -5 @@ -279,13 +279,13 @@ special_env = TRUE excludes = list(/datum/trait/lonely,/datum/trait/agoraphobia) -/datum/trait/lonely/proc/sub_loneliness(var/mob/living/carbon/human/H,var/amount = 4) +/datum/trait/negative/lonely/proc/sub_loneliness(var/mob/living/carbon/human/H,var/amount = 4) H.loneliness_stage = max(H.loneliness_stage - 4, 0) if(world.time >= H.next_loneliness_time && H.loneliness_stage > 0) to_chat(H, "The nearby company calms you down...") H.next_loneliness_time = world.time+500 -/datum/trait/lonely/proc/check_mob_company(var/mob/living/carbon/human/H,var/mob/living/M) +/datum/trait/negative/lonely/proc/check_mob_company(var/mob/living/carbon/human/H,var/mob/living/M) if(!istype(M)) return 0 var/social_check = only_people && !istype(M, /mob/living/carbon) && !istype(M, /mob/living/silicon/robot) @@ -305,7 +305,7 @@ check_mob_company(H,content) return 0 -/datum/trait/lonely/proc/check_contents(var/atom/item,var/mob/living/carbon/human/H,var/max_layer = 3,var/current_layer = 1) +/datum/trait/negative/lonely/proc/check_contents(var/atom/item,var/mob/living/carbon/human/H,var/max_layer = 3,var/current_layer = 1) if(!item || !istype(item) || current_layer > max_layer) return 0 for(var/datum/content in item.contents) @@ -318,7 +318,7 @@ return 1 return 0 -/datum/trait/lonely/handle_environment_special(var/mob/living/carbon/human/H) +/datum/trait/negative/lonely/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) @@ -359,7 +359,7 @@ if(H.loneliness_stage >= warning_cap && H.hallucination < hallucination_cap) H.hallucination = min(hallucination_cap,H.hallucination+2.5*escalation_speed) -/datum/trait/lonely/proc/handle_loneliness(var/mob/living/carbon/human/H) +/datum/trait/negative/lonely/proc/handle_loneliness(var/mob/living/carbon/human/H) var/ms = "" if(H.loneliness_stage == escalation_speed) ms = "Well.. No one is around you anymore..."