diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 64a4089543f..d90237ad16d 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -138,14 +138,6 @@
#define SANITY_CRAZY 25
#define SANITY_INSANE 0
-//Beauty levels of areas for carbons
-#define BEAUTY_LEVEL_HORRID -100
-#define BEAUTY_LEVEL_BAD -66
-#define BEAUTY_LEVEL_MEH -33
-#define BEAUTY_LEVEL_DECENT 33
-#define BEAUTY_LEVEL_GOOD 66
-#define BEAUTY_LEVEL_GREAT 100
-
//Nutrition levels for humans
#define NUTRITION_LEVEL_FAT 600
#define NUTRITION_LEVEL_FULL 550
diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm
index 0716d35ffb6..7d3c5f6d2fb 100644
--- a/code/datums/brain_damage/special.dm
+++ b/code/datums/brain_damage/special.dm
@@ -15,7 +15,7 @@
if(prob(4))
if(prob(33) && (owner.IsStun() || owner.IsKnockdown() || owner.IsUnconscious()))
speak("unstun", TRUE)
- else if(prob(60) && owner.health <= HEALTH_THRESHOLD_CRIT)
+ else if(prob(60) && owner.health <= owner.crit_modifier())
speak("heal", TRUE)
else if(prob(30) && owner.a_intent == INTENT_HARM)
speak("aggressive")
@@ -133,4 +133,4 @@
QDEL_NULL(psychotic_brawling)
/datum/brain_trauma/special/psychotic_brawling/bath_salts
- name = "Chemical Violent Psychosis"
\ No newline at end of file
+ name = "Chemical Violent Psychosis"
diff --git a/code/datums/components/beauty.dm b/code/datums/components/beauty.dm
deleted file mode 100644
index bf086feb20f..00000000000
--- a/code/datums/components/beauty.dm
+++ /dev/null
@@ -1,34 +0,0 @@
-/datum/component/beauty
- var/beauty = 0
-
-/datum/component/beauty/Initialize(beautyamount)
- if(!ismovableatom(parent))
- return COMPONENT_INCOMPATIBLE
- beauty = beautyamount
- RegisterSignal(parent, COMSIG_ENTER_AREA, .proc/enter_area)
- RegisterSignal(parent, COMSIG_EXIT_AREA, .proc/exit_area)
- var/area/A = get_area(parent)
- if(!A || A.outdoors)
- return
- A.totalbeauty += beauty
- A.update_beauty()
-
-/datum/component/beauty/proc/enter_area(area/A)
- if(A.outdoors) //Fuck the outside.
- return FALSE
- A.totalbeauty += beauty
- A.update_beauty()
-
-/datum/component/beauty/proc/exit_area(area/A)
- if(A.outdoors) //Fuck the outside.
- return FALSE
- A.totalbeauty -= beauty
- A.update_beauty()
-
-/datum/component/beauty/Destroy()
- . = ..()
- var/area/A = get_area(parent)
- if(!A || A.outdoors)
- return
- A.totalbeauty -= beauty
- A.update_beauty()
diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm
index 3e37b075420..5f20c6fd5f4 100644
--- a/code/datums/components/mood.dm
+++ b/code/datums/components/mood.dm
@@ -6,21 +6,17 @@
var/mood_modifier = 1 //Modifier to allow certain mobs to be less affected by moodlets
var/datum/mood_event/list/mood_events = list()
var/mob/living/owner
- var/datum/looping_sound/reverse_bear_trap/slow/soundloop //Insanity ticking
/datum/component/mood/Initialize()
if(!isliving(parent))
return COMPONENT_INCOMPATIBLE
START_PROCESSING(SSmood, src)
owner = parent
- soundloop = new(list(owner), FALSE, TRUE)
- RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event)
- RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event)
- RegisterSignal(parent, COMSIG_ENTER_AREA, .proc/update_beauty)
+ RegisterSignal(COMSIG_ADD_MOOD_EVENT, .proc/add_event)
+ RegisterSignal(COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event)
/datum/component/mood/Destroy()
STOP_PROCESSING(SSmood, src)
- QDEL_NULL(soundloop)
return ..()
/datum/component/mood/proc/print_mood()
@@ -115,20 +111,12 @@
if(SANITY_INSANE to SANITY_CRAZY)
owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 3)
update_mood_icon()
- if(prob(7))
- owner.playsound_local(null, pick(CREEPY_SOUNDS), 40, 1)
- soundloop.start()
if(SANITY_INSANE to SANITY_UNSTABLE)
owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 2)
- if(prob(3))
- owner.playsound_local(null, pick(CREEPY_SOUNDS), 20, 1)
- soundloop.stop()
if(SANITY_UNSTABLE to SANITY_DISTURBED)
owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 1)
- soundloop.stop()
if(SANITY_DISTURBED to INFINITY)
owner.clear_fullscreen("depression")
- soundloop.stop()
switch(mood_level)
if(1)
@@ -159,10 +147,6 @@
add_event("jolly", /datum/mood_event/jolly)
clear_event("depression")
- var/area/A = get_area(owner)
- if(A)
- update_beauty(A)
-
/datum/component/mood/proc/DecreaseSanity(amount, limit = 0)
if(sanity < limit) //This might make KevinZ stop fucking pinging me.
IncreaseSanity(0.5)
@@ -199,23 +183,3 @@
mood_events -= category
qdel(event)
update_mood()
-
-/datum/component/mood/proc/update_beauty(area/A)
- if(A.outdoors) //if we're outside, we don't care.
- clear_event("area_beauty")
- return FALSE
- switch(A.beauty)
- if(-INFINITY to BEAUTY_LEVEL_HORRID)
- add_event("area_beauty", /datum/mood_event/horridroom)
- if(BEAUTY_LEVEL_HORRID to BEAUTY_LEVEL_BAD)
- add_event("area_beauty", /datum/mood_event/badroom)
- if(BEAUTY_LEVEL_BAD to BEAUTY_LEVEL_MEH)
- add_event("area_beauty", /datum/mood_event/mehroom)
- if(BEAUTY_LEVEL_MEH to BEAUTY_LEVEL_DECENT)
- clear_event("area_beauty")
- if(BEAUTY_LEVEL_DECENT to BEAUTY_LEVEL_GOOD)
- add_event("area_beauty", /datum/mood_event/decentroom)
- if(BEAUTY_LEVEL_GOOD to BEAUTY_LEVEL_GREAT)
- add_event("area_beauty", /datum/mood_event/goodroom)
- if(BEAUTY_LEVEL_GREAT to INFINITY)
- add_event("area_beauty", /datum/mood_event/greatroom)
diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm
index d0ec277b36c..d650f7294a8 100644
--- a/code/datums/looping_sounds/item_sounds.dm
+++ b/code/datums/looping_sounds/item_sounds.dm
@@ -41,11 +41,6 @@
mid_length = 3.5
volume = 25
-/datum/looping_sound/reverse_bear_trap/slow
- mid_sounds = list('sound/effects/clock_tick.ogg')
- mid_length = 10
- volume = 40
-
/datum/looping_sound/reverse_bear_trap_beep
mid_sounds = list('sound/machines/beep.ogg')
diff --git a/code/datums/mood_events/beauty_events.dm b/code/datums/mood_events/beauty_events.dm
deleted file mode 100644
index 534facdb213..00000000000
--- a/code/datums/mood_events/beauty_events.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-/datum/mood_event/horridroom
- description = "This room looks terrible!\n"
- mood_change = -5
-
-/datum/mood_event/badroom
- description = "This room looks really bad.\n"
- mood_change = -3
-
-/datum/mood_event/mehroom
- description = "This room doesn't look great.\n"
- mood_change = -1
-
-/datum/mood_event/decentroom
- description = "This room looks alright.\n"
- mood_change = 2
-
-/datum/mood_event/goodroom
- description = "This room looks really pretty!\n"
- mood_change = 4
-
-/datum/mood_event/greatroom
- description = "This room is beautiful!\n"
- mood_change = 7
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index 74349caa736..835eaa44cea 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -72,7 +72,7 @@
if(prob(20))
if(carbon_owner)
carbon_owner.handle_dreams()
- if(prob(10) && owner.health > HEALTH_THRESHOLD_CRIT)
+ if(prob(10) && owner.health > owner.crit_modifier())
owner.emote("snore")
/obj/screen/alert/status_effect/asleep
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 8aa910b2e2a..5c37fb96950 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -29,8 +29,6 @@
var/outdoors = FALSE //For space, the asteroid, lavaland, etc. Used with blueprints to determine if we are adding a new area (vs editing a station room)
- var/totalbeauty = 0 //All beauty in this area combined, only includes indoor area.
- var/beauty = 0 // Beauty average per open turf in the area
var/areasize = 0 //Size of the area in open turfs, only calculated for indoors areas.
var/power_equip = TRUE
@@ -135,7 +133,6 @@ GLOBAL_LIST_EMPTY(teleportlocs)
/area/LateInitialize()
power_change() // all machines set to current power level, also updates icon
- update_beauty()
/area/Destroy()
STOP_PROCESSING(SSobj, src)
@@ -488,11 +485,6 @@ GLOBAL_LIST_EMPTY(teleportlocs)
blob_allowed = FALSE
addSorted()
-/area/proc/update_beauty()
- if(!areasize)
- return FALSE
- beauty = totalbeauty / areasize
-
/area/proc/update_areasize()
if(outdoors)
return FALSE
diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm
index d76a3358884..50d40697f8a 100644
--- a/code/game/objects/effects/contraband.dm
+++ b/code/game/objects/effects/contraband.dm
@@ -60,7 +60,6 @@
/obj/structure/sign/poster/Initialize()
. = ..()
- addtimer(CALLBACK(src, /datum.proc/AddComponent, /datum/component/beauty, 75), 0)
if(random_basetype)
randomise(random_basetype)
if(!ruined)
diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm
index e9bf9d5842f..ca70c4d7f97 100644
--- a/code/game/objects/effects/decals/cleanable.dm
+++ b/code/game/objects/effects/decals/cleanable.dm
@@ -5,7 +5,6 @@
var/blood_state = "" //I'm sorry but cleanable/blood code is ass, and so is blood_DNA
var/bloodiness = 0 //0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints
var/mergeable_decal = TRUE //when two of these are on a same tile or do we need to merge them into just one?
- var/beauty
/obj/effect/decal/cleanable/Initialize(mapload, list/datum/disease/diseases)
. = ..()
@@ -26,10 +25,6 @@
if(LAZYLEN(diseases_to_add))
AddComponent(/datum/component/infective, diseases_to_add)
-/obj/effect/decal/cleanable/ComponentInitialize()
- . = ..()
- addtimer(CALLBACK(src, /datum.proc/AddComponent, /datum/component/beauty, beauty), 0) //inb4 i get yelled at for using the beauty var on cleanable instead of calling this proc on every subtype which would be pedantic and actually run worse.
-
/obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal
if(mergeable_decal)
return TRUE
diff --git a/code/game/objects/effects/decals/cleanable/aliens.dm b/code/game/objects/effects/decals/cleanable/aliens.dm
index d34fac1b9d6..55d5d32ffca 100644
--- a/code/game/objects/effects/decals/cleanable/aliens.dm
+++ b/code/game/objects/effects/decals/cleanable/aliens.dm
@@ -8,7 +8,6 @@
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
bloodiness = MAX_SHOE_BLOODINESS
blood_state = BLOOD_STATE_XENO
- beauty = -75
/obj/effect/decal/cleanable/xenoblood/Initialize()
. = ..()
diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm
index 0b6818c97b8..9d9d8d17a47 100644
--- a/code/game/objects/effects/decals/cleanable/humans.dm
+++ b/code/game/objects/effects/decals/cleanable/humans.dm
@@ -6,7 +6,6 @@
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
blood_state = BLOOD_STATE_HUMAN
bloodiness = MAX_SHOE_BLOODINESS
- beauty = -60
/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C)
C.add_blood_DNA(return_blood_DNA())
diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm
index a8a76ad2a94..5eab1623c84 100644
--- a/code/game/objects/effects/decals/cleanable/misc.dm
+++ b/code/game/objects/effects/decals/cleanable/misc.dm
@@ -3,7 +3,6 @@
desc = "Someone should clean that up."
icon = 'icons/obj/objects.dmi'
icon_state = "shards"
- beauty = -50
/obj/effect/decal/cleanable/ash
name = "ashes"
@@ -11,7 +10,6 @@
icon = 'icons/obj/objects.dmi'
icon_state = "ash"
mergeable_decal = FALSE
- beauty = -50
/obj/effect/decal/cleanable/ash/Initialize()
. = ..()
@@ -26,7 +24,6 @@
/obj/effect/decal/cleanable/ash/large
name = "large pile of ashes"
icon_state = "big_ash"
- beauty = -100
/obj/effect/decal/cleanable/ash/large/Initialize()
. = ..()
@@ -37,7 +34,6 @@
desc = "Back to sand."
icon = 'icons/obj/shards.dmi'
icon_state = "tiny"
- beauty = -60
/obj/effect/decal/cleanable/glass/Initialize()
. = ..()
@@ -51,20 +47,17 @@
desc = "Someone should clean that up."
icon_state = "dirt"
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
- beauty = -50
/obj/effect/decal/cleanable/flour
name = "flour"
desc = "It's still good. Four second rule!"
icon_state = "flour"
- beauty = -50
/obj/effect/decal/cleanable/greenglow
name = "glowing goo"
desc = "Jeez. I hope that's not for lunch."
light_color = LIGHT_COLOR_GREEN
icon_state = "greenglow"
- beauty = -150
/obj/effect/decal/cleanable/greenglow/Initialize(mapload)
. = ..()
@@ -80,7 +73,6 @@
layer = WALL_OBJ_LAYER
icon_state = "cobweb1"
resistance_flags = FLAMMABLE
- beauty = -50
/obj/effect/decal/cleanable/cobweb/cobweb2
icon_state = "cobweb2"
@@ -92,12 +84,10 @@
icon = 'icons/effects/effects.dmi'
icon_state = "molten"
mergeable_decal = FALSE
- beauty = -100
/obj/effect/decal/cleanable/molten_object/large
name = "big gooey grey mass"
icon_state = "big_molten"
- beauty = -250
//Vomit (sorry)
/obj/effect/decal/cleanable/vomit
@@ -106,7 +96,6 @@
icon = 'icons/effects/blood.dmi'
icon_state = "vomit_1"
random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4")
- beauty = -200
/obj/effect/decal/cleanable/vomit/attack_hand(mob/user)
. = ..()
@@ -141,14 +130,12 @@
gender = NEUTER
icon = 'icons/effects/tomatodecal.dmi'
random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3")
- beauty = -50
/obj/effect/decal/cleanable/plant_smudge
name = "plant smudge"
gender = NEUTER
icon = 'icons/effects/tomatodecal.dmi'
random_icon_states = list("smashed_plant")
- beauty = -50
/obj/effect/decal/cleanable/egg_smudge
name = "smashed egg"
@@ -156,7 +143,6 @@
gender = NEUTER
icon = 'icons/effects/tomatodecal.dmi'
random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3")
- beauty = -50
/obj/effect/decal/cleanable/pie_smudge //honk
name = "smashed pie"
@@ -164,7 +150,6 @@
gender = NEUTER
icon = 'icons/effects/tomatodecal.dmi'
random_icon_states = list("smashed_pie")
- beauty = -50
/obj/effect/decal/cleanable/chem_pile
name = "chemical pile"
@@ -172,7 +157,6 @@
gender = NEUTER
icon = 'icons/obj/objects.dmi'
icon_state = "ash"
- beauty = -60
/obj/effect/decal/cleanable/shreds
name = "shreds"
@@ -180,7 +164,6 @@
icon_state = "shreds"
gender = PLURAL
mergeable_decal = FALSE
- beauty = -75
/obj/effect/decal/cleanable/shreds/ex_act(severity, target)
if(severity == 1) //so shreds created during an explosion aren't deleted by the explosion.
@@ -197,14 +180,12 @@
icon = 'icons/effects/tomatodecal.dmi'
icon_state = "salt_pile"
gender = NEUTER
- beauty = -50
/obj/effect/decal/cleanable/glitter
name = "generic glitter pile"
desc = "The herpes of arts and crafts."
icon = 'icons/effects/tile_effects.dmi'
gender = NEUTER
- beauty = 100
/obj/effect/decal/cleanable/glitter/pink
name = "pink glitter"
@@ -223,7 +204,6 @@
desc = "A puddle of stabilized plasma."
icon_state = "flour"
color = "#C8A5DC"
- beauty = -200
/obj/effect/decal/cleanable/insectguts
name = "insect guts"
@@ -231,4 +211,3 @@
icon = 'icons/effects/blood.dmi'
icon_state = "xfloor1"
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
- beauty = -300
diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm
index b764e1f0cef..7d57d994f5a 100644
--- a/code/game/objects/effects/decals/cleanable/robots.dm
+++ b/code/game/objects/effects/decals/cleanable/robots.dm
@@ -10,7 +10,6 @@
blood_state = BLOOD_STATE_OIL
bloodiness = MAX_SHOE_BLOODINESS
mergeable_decal = FALSE
- beauty = -100
/obj/effect/decal/cleanable/robot_debris/proc/streak(list/directions)
set waitfor = 0
@@ -47,7 +46,6 @@
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
blood_state = BLOOD_STATE_OIL
bloodiness = MAX_SHOE_BLOODINESS
- beauty = -150
/obj/effect/decal/cleanable/oil/Initialize()
. = ..()
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index e8242118692..44c51099c6f 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -448,10 +448,6 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
throw_range = 2
attack_verb = list("busted")
-/obj/item/statuebust/Initialize()
- . = ..()
- addtimer(CALLBACK(src, /datum.proc/AddComponent, /datum/component/beauty, 1000), 0)
-
/obj/item/tailclub
name = "tail club"
desc = "For the beating to death of lizards with their own tails."
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 079ef931188..4e274d50487 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -294,9 +294,6 @@
throw_speed = 2
throw_range = 4
-/obj/item/twohanded/required/kirbyplants/Initialize()
- . = ..()
- addtimer(CALLBACK(src, /datum.proc/AddComponent, /datum/component/beauty, 750), 0)
/obj/item/twohanded/required/kirbyplants/equipped(mob/living/user)
var/image/I = image(icon = 'icons/obj/flora/plants.dmi' , icon_state = src.icon_state, loc = user)
diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm
index fe6785db2dc..5de3f0fc9a6 100644
--- a/code/game/objects/structures/showcase.dm
+++ b/code/game/objects/structures/showcase.dm
@@ -11,10 +11,6 @@
anchored = TRUE
var/deconstruction_state = SHOWCASE_CONSTRUCTED
-/obj/structure/showcase/Initialize()
- . = ..()
- addtimer(CALLBACK(src, /datum.proc/AddComponent, /datum/component/beauty, 750), 0)
-
/obj/structure/showcase/fakeid
name = "\improper CentCom identification console"
desc = "You can use this to change ID's."
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index d22dbddd52e..b9cb3d984f6 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -13,7 +13,6 @@
/obj/structure/statue/Initialize()
. = ..()
- addtimer(CALLBACK(src, /datum.proc/AddComponent, /datum/component/beauty, 1250), 0)
/obj/structure/statue/attackby(obj/item/W, mob/living/user, params)
add_fingerprint(user)
diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm
index cbff942fc43..e50370ff448 100644
--- a/code/modules/mining/equipment/regenerative_core.dm
+++ b/code/modules/mining/equipment/regenerative_core.dm
@@ -63,7 +63,7 @@
/obj/item/organ/regenerative_core/on_life()
..()
- if(owner.health < HEALTH_THRESHOLD_CRIT)
+ if(owner.health < owner.crit_modifier())
ui_action_click()
/obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag)
diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm
index c379bf62187..9632fbc5e32 100644
--- a/code/modules/mob/living/carbon/alien/larva/life.dm
+++ b/code/modules/mob/living/carbon/alien/larva/life.dm
@@ -18,7 +18,7 @@
if(health<= -maxHealth || !getorgan(/obj/item/organ/brain))
death()
return
- if(IsUnconscious() || IsSleeping() || getOxyLoss() > 50 || (has_trait(TRAIT_FAKEDEATH)) || health <= HEALTH_THRESHOLD_CRIT)
+ if(IsUnconscious() || IsSleeping() || getOxyLoss() > 50 || (has_trait(TRAIT_FAKEDEATH)) || health <= crit_modifier())
if(stat == CONSCIOUS)
stat = UNCONSCIOUS
blind_eyes(1)
@@ -30,4 +30,4 @@
adjust_blindness(-1)
update_canmove()
update_damage_hud()
- update_health_hud()
\ No newline at end of file
+ update_health_hud()
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 0f983292b3f..857dede59c5 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -599,7 +599,7 @@
if(!client)
return
- if(health <= HEALTH_THRESHOLD_CRIT)
+ if(health <= crit_modifier())
var/severity = 0
switch(health)
if(-20 to -10)
@@ -728,7 +728,7 @@
stat = UNCONSCIOUS
blind_eyes(1)
else
- if(health <= HEALTH_THRESHOLD_CRIT && !has_trait(TRAIT_NOSOFTCRIT))
+ if(health <= crit_modifier() && !has_trait(TRAIT_NOSOFTCRIT))
stat = SOFT_CRIT
else
stat = CONSCIOUS
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index f18d6d363df..c9ac8655f90 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -372,3 +372,12 @@
var/obj/item/organ/ears/ears = getorganslot(ORGAN_SLOT_EARS)
if(istype(ears) && !ears.deaf)
. = TRUE
+
+/mob/living/carbon/crit_modifier()
+ . = ..()
+ GET_COMPONENT(mood, /datum/component/mood)
+ if(mood)
+ if(mood.sanity >= SANITY_UNSTABLE)
+ . += 5
+ else if(mood.sanity >= SANITY_CRAZY)
+ . += 10
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 78ec5ec0538..e058f2525b5 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -656,7 +656,7 @@
var/they_breathe = !C.has_trait(TRAIT_NOBREATH)
var/they_lung = C.getorganslot(ORGAN_SLOT_LUNGS)
- if(C.health > HEALTH_THRESHOLD_CRIT)
+ if(C.health > C.crit_modifier())
return
src.visible_message("[src] performs CPR on [C.name]!", "You perform CPR on [C.name].")
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 7a41024f4ae..38e55e4de9d 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -84,7 +84,7 @@
var/L = getorganslot(ORGAN_SLOT_LUNGS)
if(!L)
- if(health >= HEALTH_THRESHOLD_CRIT)
+ if(health >= crit_modifier())
adjustOxyLoss(HUMAN_MAX_OXYLOSS + 1)
else if(!has_trait(TRAIT_NOCRITDAMAGE))
adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index d715284cf96..065261a5cb5 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -708,7 +708,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.losebreath = 0
var/takes_crit_damage = (!H.has_trait(TRAIT_NOCRITDAMAGE))
- if((H.health < HEALTH_THRESHOLD_CRIT) && takes_crit_damage)
+ if((H.health < H.crit_modifier()) && takes_crit_damage)
H.adjustBruteLoss(1)
/datum/species/proc/spec_death(gibbed, mob/living/carbon/human/H)
@@ -1514,10 +1514,10 @@ GLOBAL_LIST_EMPTY(roundstart_races)
// +/- 50 degrees from 310K is the 'safe' zone, where no damage is dealt.
if(H.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !H.has_trait(TRAIT_RESISTHEAT))
//Body temperature is too hot.
-
+
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold")
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "hot", /datum/mood_event/hot)
-
+
var/burn_damage
switch(H.bodytemperature)
if(BODYTEMP_HEAT_DAMAGE_LIMIT to 400)
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index 1088ce43857..cd36c13b08e 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -59,7 +59,7 @@
if(health <= HEALTH_THRESHOLD_FULLCRIT || (pulledby && pulledby.grab_state >= GRAB_KILL))
losebreath++ //You can't breath at all when in critical or when being choked, so you're going to miss a breath
- else if(health <= HEALTH_THRESHOLD_CRIT)
+ else if(health <= crit_modifier())
losebreath += 0.25 //You're having trouble breathing in soft crit, so you'll miss a breath one in four times
//Suffocate
@@ -154,7 +154,7 @@
else //Enough oxygen
failed_last_breath = 0
- if(health >= HEALTH_THRESHOLD_CRIT)
+ if(health >= crit_modifier())
adjustOxyLoss(-5)
oxygen_used = breath_gases[/datum/gas/oxygen][MOLES]
clear_alert("not_enough_oxy")
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index cac8b159b1f..15212431d06 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -281,7 +281,7 @@
return TRUE
/mob/living/proc/InCritical()
- return (health <= HEALTH_THRESHOLD_CRIT && (stat == SOFT_CRIT || stat == UNCONSCIOUS))
+ return (health <= crit_modifier() && (stat == SOFT_CRIT || stat == UNCONSCIOUS))
/mob/living/proc/InFullCritical()
return (health <= HEALTH_THRESHOLD_FULLCRIT && stat == UNCONSCIOUS)
@@ -797,7 +797,7 @@
var/stam = getStaminaLoss()
if(stam)
var/total_health = (health - stam)
- if(total_health <= HEALTH_THRESHOLD_CRIT && !stat)
+ if(total_health <= crit_modifier() && !stat)
to_chat(src, "You're too exhausted to keep going...")
Knockdown(100)
setStaminaLoss(health - 2, FALSE, FALSE)
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 0ce42af01b1..2823d604176 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -61,6 +61,9 @@
else
return 0
+/mob/living/proc/crit_modifier()
+ return HEALTH_THRESHOLD_CRIT
+
/mob/living/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked = FALSE)
if(istype(AM, /obj/item))
var/obj/item/I = AM
diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm
index dbafe9451cc..bc716c148e9 100644
--- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm
+++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm
@@ -67,7 +67,6 @@
desc = "A small pool of sludge, containing trace amounts of leaper venom."
icon = 'icons/effects/tomatodecal.dmi'
icon_state = "tomato_floor1"
- beauty = -200
/obj/structure/leaper_bubble
name = "leaper bubble"
diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm
index 54244866490..9eeb667e2fc 100644
--- a/code/modules/surgery/organs/heart.dm
+++ b/code/modules/surgery/organs/heart.dm
@@ -54,11 +54,11 @@
var/sound/fastbeat = sound('sound/health/fastbeat.ogg', repeat = TRUE)
var/mob/living/carbon/H = owner
- if(H.health <= HEALTH_THRESHOLD_CRIT && beat != BEAT_SLOW)
+ if(H.health <= H.crit_modifier() && beat != BEAT_SLOW)
beat = BEAT_SLOW
H.playsound_local(get_turf(H), slowbeat,40,0, channel = CHANNEL_HEARTBEAT)
to_chat(owner, "You feel your heart slow down...")
- if(beat == BEAT_SLOW && H.health > HEALTH_THRESHOLD_CRIT)
+ if(beat == BEAT_SLOW && H.health > H.crit_modifier())
H.stop_sound_channel(CHANNEL_HEARTBEAT)
beat = BEAT_NONE
diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm
index 9e53a902a2e..e338c4aa0ca 100644
--- a/code/modules/surgery/organs/lungs.dm
+++ b/code/modules/surgery/organs/lungs.dm
@@ -64,7 +64,7 @@
if(!breath || (breath.total_moles() == 0))
if(H.reagents.has_reagent(crit_stabilizing_reagent))
return
- if(H.health >= HEALTH_THRESHOLD_CRIT)
+ if(H.health >= H.crit_modifier())
H.adjustOxyLoss(HUMAN_MAX_OXYLOSS)
else if(!H.has_trait(TRAIT_NOCRITDAMAGE))
H.adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS)
@@ -111,7 +111,7 @@
H.throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
else
H.failed_last_breath = FALSE
- if(H.health >= HEALTH_THRESHOLD_CRIT)
+ if(H.health >= H.crit_modifier())
H.adjustOxyLoss(-5)
gas_breathed = breath_gases[/datum/gas/oxygen][MOLES]
H.clear_alert("not_enough_oxy")
@@ -139,7 +139,7 @@
H.throw_alert("nitro", /obj/screen/alert/not_enough_nitro)
else
H.failed_last_breath = FALSE
- if(H.health >= HEALTH_THRESHOLD_CRIT)
+ if(H.health >= H.crit_modifier())
H.adjustOxyLoss(-5)
gas_breathed = breath_gases[/datum/gas/nitrogen][MOLES]
H.clear_alert("nitro")
@@ -176,7 +176,7 @@
H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2)
else
H.failed_last_breath = FALSE
- if(H.health >= HEALTH_THRESHOLD_CRIT)
+ if(H.health >= H.crit_modifier())
H.adjustOxyLoss(-5)
gas_breathed = breath_gases[/datum/gas/carbon_dioxide][MOLES]
H.clear_alert("not_enough_co2")
@@ -206,7 +206,7 @@
H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox)
else
H.failed_last_breath = FALSE
- if(H.health >= HEALTH_THRESHOLD_CRIT)
+ if(H.health >= H.crit_modifier())
H.adjustOxyLoss(-5)
gas_breathed = breath_gases[/datum/gas/plasma][MOLES]
H.clear_alert("not_enough_tox")
diff --git a/tgstation.dme b/tgstation.dme
index 7bcd552e5f0..87dca363abc 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -313,7 +313,6 @@
#include "code\datums\components\anti_magic.dm"
#include "code\datums\components\archaeology.dm"
#include "code\datums\components\armor_plate.dm"
-#include "code\datums\components\beauty.dm"
#include "code\datums\components\butchering.dm"
#include "code\datums\components\caltrop.dm"
#include "code\datums\components\chasm.dm"
@@ -429,7 +428,6 @@
#include "code\datums\martial\psychotic_brawl.dm"
#include "code\datums\martial\sleeping_carp.dm"
#include "code\datums\martial\wrestling.dm"
-#include "code\datums\mood_events\beauty_events.dm"
#include "code\datums\mood_events\drug_events.dm"
#include "code\datums\mood_events\generic_negative_events.dm"
#include "code\datums\mood_events\generic_positive_events.dm"