diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 3c804b09a18..ca78efb88b5 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -309,4 +309,3 @@ GLOBAL_LIST_INIT(pipe_paint_colors, list(
#define MIASMA_CORPSE_MOLES 0.02
#define MIASMA_GIBS_MOLES 0.005
-#define MIASMA_HYGIENE_MOLES 0.002
diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm
index f5c2c00282c..667f4995cc7 100644
--- a/code/__DEFINES/economy.dm
+++ b/code/__DEFINES/economy.dm
@@ -7,8 +7,6 @@
#define PAYCHECK_HARD 100
#define PAYCHECK_COMMAND 200
-#define PAYCHECK_WELFARE 20 //NEETbucks
-
#define ACCOUNT_CIV "CIV"
#define ACCOUNT_CIV_NAME "Civil Budget"
#define ACCOUNT_ENG "ENG"
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 85b5f50167d..d11ebdfd849 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -11,36 +11,35 @@
//Human Overlays Indexes/////////
-#define MUTATIONS_LAYER 29 //mutations. Tk headglows, cold resistance glow, etc
-#define BODY_BEHIND_LAYER 28 //certain mutantrace features (tail when looking south) that must appear behind the body parts
-#define BODYPARTS_LAYER 27 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
-#define BODY_ADJ_LAYER 26 //certain mutantrace features (snout, body markings) that must appear above the body parts
-#define BODY_LAYER 25 //underwear, undershirts, socks, eyes, lips(makeup)
-#define FRONT_MUTATIONS_LAYER 24 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
-#define DAMAGE_LAYER 23 //damage indicators (cuts and burns)
-#define UNIFORM_LAYER 22
-#define ID_LAYER 21 //lmao at the idiot who put both ids and hands on the same layer
-#define HANDS_PART_LAYER 20
-#define GLOVES_LAYER 19
-#define SHOES_LAYER 18
-#define EARS_LAYER 17
-#define SUIT_LAYER 16
-#define GLASSES_LAYER 15
-#define BELT_LAYER 14 //Possible make this an overlay of somethign required to wear a belt?
-#define SUIT_STORE_LAYER 13
-#define NECK_LAYER 12
-#define BACK_LAYER 11
-#define HAIR_LAYER 10 //TODO: make part of head layer?
-#define FACEMASK_LAYER 9
-#define HEAD_LAYER 8
-#define HANDCUFF_LAYER 7
-#define LEGCUFF_LAYER 6
-#define HANDS_LAYER 5
-#define BODY_FRONT_LAYER 4
-#define SMELL_LAYER 3
+#define MUTATIONS_LAYER 28 //mutations. Tk headglows, cold resistance glow, etc
+#define BODY_BEHIND_LAYER 27 //certain mutantrace features (tail when looking south) that must appear behind the body parts
+#define BODYPARTS_LAYER 26 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
+#define BODY_ADJ_LAYER 25 //certain mutantrace features (snout, body markings) that must appear above the body parts
+#define BODY_LAYER 24 //underwear, undershirts, socks, eyes, lips(makeup)
+#define FRONT_MUTATIONS_LAYER 23 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
+#define DAMAGE_LAYER 22 //damage indicators (cuts and burns)
+#define UNIFORM_LAYER 21
+#define ID_LAYER 20 //lmao at the idiot who put both ids and hands on the same layer
+#define HANDS_PART_LAYER 19
+#define GLOVES_LAYER 18
+#define SHOES_LAYER 17
+#define EARS_LAYER 16
+#define SUIT_LAYER 15
+#define GLASSES_LAYER 14
+#define BELT_LAYER 13 //Possible make this an overlay of somethign required to wear a belt?
+#define SUIT_STORE_LAYER 12
+#define NECK_LAYER 11
+#define BACK_LAYER 10
+#define HAIR_LAYER 9 //TODO: make part of head layer?
+#define FACEMASK_LAYER 8
+#define HEAD_LAYER 7
+#define HANDCUFF_LAYER 6
+#define LEGCUFF_LAYER 5
+#define HANDS_LAYER 4
+#define BODY_FRONT_LAYER 3
#define HALO_LAYER 2 //blood cult ascended halo, because there's currently no better solution for adding/removing
#define FIRE_LAYER 1 //If you're on fire
-#define TOTAL_LAYERS 29 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
+#define TOTAL_LAYERS 28 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
//Human Overlay Index Shortcuts for alternate_worn_layer, layers
//Because I *KNOW* somebody will think layer+1 means "above"
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 97486374e99..0e231d3dd85 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -144,11 +144,6 @@
#define SANITY_CRAZY 25
#define SANITY_INSANE 0
-//Hygiene levels for humans
-#define HYGIENE_LEVEL_CLEAN 250
-#define HYGIENE_LEVEL_NORMAL 200
-#define HYGIENE_LEVEL_DIRTY 75
-
//Nutrition levels for humans
#define NUTRITION_LEVEL_FAT 600
#define NUTRITION_LEVEL_FULL 550
@@ -267,7 +262,6 @@
#define HUNGER_FACTOR 0.1 //factor at which mob nutrition decreases
#define ETHEREAL_CHARGE_FACTOR 0.12 //factor at which ethereal's charge decreases
-#define HYGIENE_FACTOR 0.1 //factor at which mob hygiene decreases
#define REAGENTS_METABOLISM 0.4 //How many units of reagent are consumed per tick, by default.
#define REAGENTS_EFFECT_MULTIPLIER (REAGENTS_METABOLISM / 0.4) // By defining the effect multiplier this way, it'll exactly adjust all effects according to how they originally were with the 0.4 metabolism
diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm
index b2a998c15a4..6f5f234b43b 100644
--- a/code/__DEFINES/obj_flags.dm
+++ b/code/__DEFINES/obj_flags.dm
@@ -36,4 +36,3 @@
#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define VOICEBOX_TOGGLABLE (1<<6) // The voicebox in this clothing can be toggled.
#define VOICEBOX_DISABLED (1<<7) // The voicebox is currently turned off.
-#define SHOWEROKAY (1<<8) //prevents you from being stupid if you shower in them
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index cb7e9b02042..606a13f2da0 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -157,8 +157,6 @@
#define TRAIT_SKITTISH "skittish"
#define TRAIT_POOR_AIM "poor_aim"
#define TRAIT_PROSOPAGNOSIA "prosopagnosia"
-#define TRAIT_NEET "NEET"
-#define TRAIT_NEAT "neat"
#define TRAIT_DRUNK_HEALING "drunk_healing"
#define TRAIT_TAGGER "tagger"
#define TRAIT_PHOTOGRAPHER "photographer"
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 9a805f0299d..9a56ffd8754 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -142,7 +142,6 @@ GLOBAL_LIST_INIT(bitfields, list(
"THICKMATERIAL" = THICKMATERIAL,
"VOICEBOX_TOGGLABLE" = VOICEBOX_TOGGLABLE,
"VOICEBOX_DISABLED" = VOICEBOX_DISABLED,
- "SHOWEROKAY" = SHOWEROKAY,
),
"tesla_flags" = list(
"TESLA_MOB_DAMAGE" = TESLA_MOB_DAMAGE,
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 5350500e79c..a0ce4938ef5 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -110,9 +110,6 @@
add_splatter_floor(location)
if(get_dist(user, src) <= 1) //people with TK won't get smeared with blood
user.add_mob_blood(src)
- if(ishuman(user))
- var/mob/living/carbon/human/dirtyboy = user
- dirtyboy.adjust_hygiene(-10)
return TRUE //successful attack
/mob/living/simple_animal/attacked_by(obj/item/I, mob/living/user)
diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm
index bf003d0d470..1d43ba01c23 100644
--- a/code/controllers/subsystem/processing/quirks.dm
+++ b/code/controllers/subsystem/processing/quirks.dm
@@ -17,7 +17,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
if(!quirks.len)
SetupQuirks()
- quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic","Hypersensitive"),list("Ageusia","Vegetarian","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Light Drinker"),list(list("Neat","NEET")))
+ quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic","Hypersensitive"),list("Ageusia","Vegetarian","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Light Drinker"))
return ..()
/datum/controller/subsystem/processing/quirks/proc/SetupQuirks()
diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm
index 843997c7b24..e66bae6f646 100644
--- a/code/datums/components/mood.dm
+++ b/code/datums/components/mood.dm
@@ -201,7 +201,6 @@
clear_event(null, "depression")
HandleNutrition(owner)
- HandleHygiene(owner)
/datum/component/mood/proc/setSanity(amount, minimum=SANITY_INSANE, maximum=SANITY_NEUTRAL)
var/mob/living/owner = parent
@@ -354,37 +353,5 @@
if(ETHEREAL_CHARGE_ALMOSTFULL to ETHEREAL_CHARGE_FULL)
add_event(null, "charge", /datum/mood_event/charged)
-
-/datum/component/mood/proc/HandleHygiene(mob/living/carbon/human/H)
- switch(H.hygiene)
- if(0 to HYGIENE_LEVEL_DIRTY)
- if(HAS_TRAIT(H, TRAIT_NEAT))
- add_event(null, "neat", /datum/mood_event/dirty)
- if(HAS_TRAIT(H, TRAIT_NEET))
- add_event(null, "NEET", /datum/mood_event/happy_neet)
- HygieneMiasma(H)
- if(HYGIENE_LEVEL_DIRTY to HYGIENE_LEVEL_NORMAL)
- if(HAS_TRAIT(H, TRAIT_NEAT))
- clear_event(null, "neat")
- if(HAS_TRAIT(H, TRAIT_NEET))
- clear_event(null, "NEET")
- if(HYGIENE_LEVEL_NORMAL to HYGIENE_LEVEL_CLEAN)
- if(HAS_TRAIT(H, TRAIT_NEAT))
- add_event(null, "neat", /datum/mood_event/neat)
- if(HAS_TRAIT(H, TRAIT_NEET))
- clear_event(null, "NEET")
-
-/datum/component/mood/proc/HygieneMiasma(mob/living/carbon/human/H)
- // Properly stored humans shouldn't create miasma
- if(istype(H.loc, /obj/structure/closet/crate/coffin)|| istype(H.loc, /obj/structure/closet/body_bag) || istype(H.loc, /obj/structure/bodycontainer))
- return
-
- var/turf/T = get_turf(H)
- var/datum/gas_mixture/stank = new
- ADD_GAS(/datum/gas/miasma, stank.gases)
- stank.gases[/datum/gas/miasma][MOLES] = MIASMA_HYGIENE_MOLES
- T.assume_air(stank)
- T.air_update_turf()
-
#undef MINOR_INSANITY_PEN
#undef MAJOR_INSANITY_PEN
diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm
index 914763225d0..9926312c54c 100644
--- a/code/datums/mood_events/needs_events.dm
+++ b/code/datums/mood_events/needs_events.dm
@@ -53,19 +53,6 @@
description = "The stench of rotting carcasses is unbearable!\n"
mood_change = -7
-//Hygiene Events
-/datum/mood_event/neat
- description = "I'm so clean, I love it.\n"
- mood_change = 3
-
-/datum/mood_event/dirty
- description = "I smell horrid.\n"
- mood_change = -5
-
-/datum/mood_event/happy_neet
- description = "I smell horrid.\n"
- mood_change = 2
-
//Generic needs events
/datum/mood_event/favorite_food
description = "I really enjoyed eating that.\n"
diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm
index b90295e064c..820aa2dc928 100644
--- a/code/datums/mutations/actions.dm
+++ b/code/datums/mutations/actions.dm
@@ -22,24 +22,10 @@
synchronizer_coeff = 1
var/reek = 200
-/datum/mutation/human/olfaction/on_life()
- var/hygiene_now = owner.hygiene
-
- if(hygiene_now < 100 && prob(5))
- owner.adjust_disgust(GET_MUTATION_SYNCHRONIZER(src) * (rand(3,5)))
- if(hygiene_now < HYGIENE_LEVEL_DIRTY && prob(50))
- to_chat(owner,"You get a whiff of your stench and feel sick!")
- owner.adjust_disgust(GET_MUTATION_SYNCHRONIZER(src) * rand(5,10))
-
- if(hygiene_now < HYGIENE_LEVEL_NORMAL && reek >= HYGIENE_LEVEL_NORMAL)
- to_chat(owner,"Your inhumanly strong nose picks up a faint odor. Maybe you should shower soon.")
- if(hygiene_now < 150 && reek >= 150)
- to_chat(owner,"Your odor is getting bad, what with you having a super-nose and all.")
- if(hygiene_now < 100 && reek >= 100)
- to_chat(owner,"Your odor begins to make you gag. You silently curse your godly nose. You should really get clean!")
- if(hygiene_now < HYGIENE_LEVEL_DIRTY && reek >= HYGIENE_LEVEL_DIRTY)
- to_chat(owner,"Your super-nose is 100% fed up with your stench. You absolutely must get clean.")
- reek = hygiene_now
+/datum/mutation/human/olfaction/modify()
+ if(power)
+ var/obj/effect/proc_holder/spell/targeted/olfaction/S = power
+ S.sensitivity = GET_MUTATION_SYNCHRONIZER(src)
/obj/effect/proc_holder/spell/targeted/olfaction
name = "Remember the Scent"
@@ -51,8 +37,18 @@
action_icon_state = "nose"
var/mob/living/carbon/tracking_target
var/list/mob/living/carbon/possible = list()
+ var/sensitivity = 1
/obj/effect/proc_holder/spell/targeted/olfaction/cast(list/targets, mob/living/user = usr)
+ //can we sniff? is there miasma in the air?
+ var/datum/gas_mixture/air = user.loc.return_air()
+ var/list/cached_gases = air.gases
+
+ if(cached_gases[/datum/gas/miasma])
+ user.adjust_disgust(sensitivity * 45)
+ to_chat(user, "With your overly sensitive nose, you get a whiff of stench and feel sick! Try moving to a cleaner area!")
+ return
+
var/atom/sniffed = user.get_active_held_item()
if(sniffed)
var/old_target = tracking_target
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index 74a840709bc..ab4193142a0 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -178,19 +178,3 @@
mob_trait = TRAIT_VORACIOUS
gain_text = "You feel HONGRY."
lose_text = "You no longer feel HONGRY."
-
-/datum/quirk/neet
- name = "NEET"
- desc = "For some reason you qualified for social welfare and you don't really care about your own personal hygiene."
- value = 1
- mob_trait = TRAIT_NEET
- gain_text = "You feel useless to society."
- lose_text = "You no longer feel useless to society."
- mood_quirk = TRUE
-
-/datum/quirk/neet/on_spawn()
- var/mob/living/carbon/human/H = quirk_holder
- var/datum/bank_account/D = H.get_bank_account()
- if(!D) //if their current mob doesn't have a bank account, likely due to them being a special role (ie nuke op)
- return
- D.welfare = TRUE
diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm
index d02b93926f2..7fd2eec9cf6 100644
--- a/code/datums/traits/neutral.dm
+++ b/code/datums/traits/neutral.dm
@@ -31,7 +31,7 @@
species.liked_food |= MEAT
if(!initial(species.disliked_food) & MEAT)
species.disliked_food &= ~MEAT
-
+
/datum/quirk/pineapple_liker
name = "Ananas Affinity"
desc = "You find yourself greatly enjoying fruits of the ananas genus. You can't seem to ever get enough of their sweet goodness!"
@@ -89,14 +89,6 @@
species.liked_food = initial(species.liked_food)
species.disliked_food = initial(species.disliked_food)
-/datum/quirk/neat
- name = "Neat"
- desc = "You really don't like being unhygienic, and will get sad if you are."
- mob_trait = TRAIT_NEAT
- gain_text = "You feel like you have to stay clean."
- lose_text = "You no longer feel the need to always be clean."
- mood_quirk = TRUE
-
/datum/quirk/monochromatic
name = "Monochromacy"
desc = "You suffer from full colorblindness, and perceive nearly the entire world in blacks and whites."
diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm
index 5a2ef113d02..abab47247a1 100644
--- a/code/game/machinery/scan_gate.dm
+++ b/code/game/machinery/scan_gate.dm
@@ -5,7 +5,6 @@
#define SCANGATE_GUNS "Guns"
#define SCANGATE_WANTED "Wanted"
#define SCANGATE_SPECIES "Species"
-#define SCANGATE_HYGIENE "Hygiene"
#define SCANGATE_NUTRITION "Nutrition"
/obj/machinery/scanner_gate
@@ -25,7 +24,6 @@
var/nanite_cloud = 0
var/datum/species/detect_species = /datum/species/human
var/reverse = FALSE //If true, signals if the scan returns false
- var/detect_hygiene = HYGIENE_LEVEL_DIRTY
var/detect_nutrition = NUTRITION_LEVEL_FAT
/obj/machinery/scanner_gate/Initialize()
@@ -118,13 +116,6 @@
if(istype(I, /obj/item/gun))
beep = TRUE
break
- if(SCANGATE_HYGIENE)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(H.hygiene >= detect_hygiene && detect_hygiene == HYGIENE_LEVEL_CLEAN)
- beep = TRUE
- if(H.hygiene <= detect_hygiene && detect_hygiene == HYGIENE_LEVEL_DIRTY)
- beep = TRUE
if(SCANGATE_NUTRITION)
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -166,7 +157,6 @@
data["nanite_cloud"] = nanite_cloud
data["disease_threshold"] = disease_threshold
data["target_species"] = initial(detect_species.name)
- data["target_hygiene"] = detect_hygiene
data["target_nutrition"] = detect_nutrition
return data
@@ -182,7 +172,6 @@
SCANGATE_GUNS,
SCANGATE_WANTED,
SCANGATE_SPECIES,
- SCANGATE_HYGIENE,
SCANGATE_NUTRITION)
if(new_mode)
scangate_mode = new_mode
@@ -238,16 +227,6 @@
if("Zombie")
detect_species = /datum/species/zombie
. = TRUE
- if("set_target_hygiene")
- var/new_hygiene = input("Set target hygiene level","Scan Mode") as null|anything in list("Clean",
- "Filthy")
- if(new_hygiene)
- switch(new_hygiene)
- if("Clean")
- detect_hygiene = HYGIENE_LEVEL_CLEAN
- if("Filthy")
- detect_hygiene = HYGIENE_LEVEL_DIRTY
- . = TRUE
if("set_target_nutrition")
var/new_nutrition = input("Set target nutrition level","Scan Mode") as null|anything in list("Starving",
"Obese")
@@ -266,5 +245,4 @@
#undef SCANGATE_GUNS
#undef SCANGATE_WANTED
#undef SCANGATE_SPECIES
-#undef SCANGATE_HYGIENE
#undef SCANGATE_NUTRITION
diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm
index 83e71939028..78d22c1c387 100644
--- a/code/game/objects/items/clown_items.dm
+++ b/code/game/objects/items/clown_items.dm
@@ -102,13 +102,8 @@
else if(ishuman(target) && user.zone_selected == BODY_ZONE_PRECISE_MOUTH)
var/mob/living/carbon/human/H = user
- if(user.zone_selected == "mouth")
- user.visible_message("\the [user] washes \the [target]'s mouth out with [src.name]!", "You wash \the [target]'s mouth out with [src.name]!") //washes mouth out with soap sounds better than 'the soap' here
- H.lip_style = null //removes lipstick
- H.adjust_hygiene(5) //it kinda works i guess
- else
- user.visible_message("\the [user] washes \the [target] with [src.name]!", "You wash \the [target] with [src.name]!")
- H.adjust_hygiene(20)
+ user.visible_message("\the [user] washes \the [target]'s mouth out with [src.name]!", "You wash \the [target]'s mouth out with [src.name]!") //washes mouth out with soap sounds better than 'the soap' here if(user.zone_selected == "mouth")
+ H.lip_style = null //removes lipstick
H.update_body()
decreaseUses(user)
return
diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm
index 6053fd2ba8b..1c49570476d 100644
--- a/code/game/objects/structures/shower.dm
+++ b/code/game/objects/structures/shower.dm
@@ -128,6 +128,7 @@
SEND_SIGNAL(L, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
L.wash_cream()
L.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
+ SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "shower", /datum/mood_event/nice_shower)
if(iscarbon(L))
var/mob/living/carbon/M = L
. = TRUE
@@ -164,12 +165,6 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
- if(check_clothes(L))
- if(H.hygiene <= 75)
- to_chat(H, "You have to remove your clothes to get clean!")
- else
- H.set_hygiene(HYGIENE_LEVEL_CLEAN)
- SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "shower", /datum/mood_event/nice_shower)
if(H.wear_suit && wash_obj(H.wear_suit))
H.update_inv_wear_suit()
@@ -187,10 +182,8 @@
H.update_inv_belt()
else
SEND_SIGNAL(M, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
- SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "shower", /datum/mood_event/nice_shower)
else
SEND_SIGNAL(L, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
- SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "shower", /datum/mood_event/nice_shower)
/obj/machinery/shower/proc/contamination_cleanse(atom/thing)
var/datum/component/radioactive/healthy_green_glow = thing.GetComponent(/datum/component/radioactive)
@@ -227,23 +220,6 @@
L.adjustFireLoss(5)
to_chat(L, "[src] is searing!")
-/obj/machinery/shower/proc/check_clothes(mob/living/carbon/human/H)
- if(H.wear_suit && (H.wear_suit.clothing_flags & SHOWEROKAY))
- // Do not check underclothing if the over-suit is suitable.
- // This stops people feeling dumb if they're showering
- // with a radiation suit on.
- return FALSE
-
- . = FALSE
- if(H.wear_suit && !(H.wear_suit.clothing_flags & SHOWEROKAY))
- . = TRUE
- else if(H.w_uniform && !(H.w_uniform.clothing_flags & SHOWEROKAY))
- . = TRUE
- else if(H.wear_mask && !(H.wear_mask.clothing_flags & SHOWEROKAY))
- . = TRUE
- else if(H.head && !(H.head.clothing_flags & SHOWEROKAY))
- . = TRUE
-
/obj/effect/mist
name = "mist"
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 319d24b1b5c..320814dfa10 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -261,13 +261,9 @@
H.lip_color = initial(H.lip_color)
H.wash_cream()
H.regenerate_icons()
- H.adjust_hygiene(10)
user.drowsyness = max(user.drowsyness - rand(2,3), 0) //Washing your face wakes you up if you're falling asleep
else
SEND_SIGNAL(user, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
- if(ishuman(user))
- var/mob/living/carbon/human/dirtyboy = user
- dirtyboy.adjust_hygiene(10)
/obj/structure/sink/attackby(obj/item/O, mob/living/user, params)
if(busy)
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index e5b46a26e79..feba75972d9 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -51,7 +51,7 @@
/obj/item/clothing/mask/gas/clown_hat
name = "clown wig and mask"
desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask."
- clothing_flags = MASKINTERNALS | SHOWEROKAY
+ clothing_flags = MASKINTERNALS
icon_state = "clown"
item_state = "clown_hat"
flags_cover = MASKCOVERSEYES
@@ -84,7 +84,7 @@
/obj/item/clothing/mask/gas/sexyclown
name = "sexy-clown wig and mask"
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
- clothing_flags = MASKINTERNALS | SHOWEROKAY
+ clothing_flags = MASKINTERNALS
icon_state = "sexyclown"
item_state = "sexyclown"
flags_cover = MASKCOVERSEYES
@@ -93,7 +93,7 @@
/obj/item/clothing/mask/gas/mime
name = "mime mask"
desc = "The traditional mime's mask. It has an eerie facial posture."
- clothing_flags = MASKINTERNALS | SHOWEROKAY
+ clothing_flags = MASKINTERNALS
icon_state = "mime"
item_state = "mime"
flags_cover = MASKCOVERSEYES
@@ -134,7 +134,7 @@
/obj/item/clothing/mask/gas/sexymime
name = "sexy mime mask"
desc = "A traditional female mime's mask."
- clothing_flags = MASKINTERNALS | SHOWEROKAY
+ clothing_flags = MASKINTERNALS
icon_state = "sexymime"
item_state = "sexymime"
flags_cover = MASKCOVERSEYES
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index cf3cd8c5536..c449af7f642 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -43,8 +43,7 @@
/obj/item/clothing/mask/fakemoustache/italian
name = "italian moustache"
desc = "Made from authentic Italian moustache hairs. Gives the wearer an irresistable urge to gesticulate wildly."
- clothing_flags = SHOWEROKAY
-
+
/obj/item/clothing/mask/fakemoustache/italian/speechModification(M)
if(copytext(M, 1, 2) != "*")
M = " [M]"
diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm
index c1dc8ebbec7..6224e2a3d91 100644
--- a/code/modules/clothing/spacesuits/_spacesuits.dm
+++ b/code/modules/clothing/spacesuits/_spacesuits.dm
@@ -4,7 +4,7 @@
name = "space helmet"
icon_state = "spaceold"
desc = "A special helmet with solar UV shielding to protect your eyes from harmful rays."
- clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SHOWEROKAY
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
item_state = "spaceold"
permeability_coefficient = 0.01
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70)
@@ -30,7 +30,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
- clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SHOWEROKAY
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/flashlight, /obj/item/tank/internals)
slowdown = 1
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index 463cf4900ff..350f9b14d5a 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -4,7 +4,7 @@
icon_state = "bio"
desc = "A hood that protects the head and face from biological contaminants."
permeability_coefficient = 0.01
- clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | SHOWEROKAY
+ clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE
resistance_flags = ACID_PROOF
@@ -18,7 +18,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
- clothing_flags = THICKMATERIAL | SHOWEROKAY
+ clothing_flags = THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 1
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/pen, /obj/item/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray)
diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm
index f6679022684..b53ec05dda1 100644
--- a/code/modules/clothing/suits/utility.dm
+++ b/code/modules/clothing/suits/utility.dm
@@ -120,7 +120,7 @@
name = "radiation hood"
icon_state = "rad"
desc = "A hood with radiation protective properties. The label reads, 'Made with lead. Please do not consume insulation.'"
- clothing_flags = THICKMATERIAL|SHOWEROKAY
+ clothing_flags = THICKMATERIAL
flags_inv = HIDEMASK|HIDEEARS|HIDEFACE|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30)
strip_delay = 60
@@ -137,7 +137,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.9
permeability_coefficient = 0.5
- clothing_flags = THICKMATERIAL|SHOWEROKAY
+ clothing_flags = THICKMATERIAL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/geiger_counter)
slowdown = 1.5
diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm
index 4a63652ee68..7b328820574 100644
--- a/code/modules/economy/account.dm
+++ b/code/modules/economy/account.dm
@@ -7,7 +7,6 @@
var/list/bank_cards = list()
var/add_to_accounts = TRUE
var/account_id
- var/welfare = FALSE
var/being_dumped = FALSE //pink levels are rising
var/withdrawDelay = 0
@@ -50,8 +49,6 @@
/datum/bank_account/proc/payday(amt_of_paychecks, free = FALSE)
var/money_to_transfer = account_job.paycheck * amt_of_paychecks
- if(welfare)
- money_to_transfer += PAYCHECK_WELFARE
if(free)
adjust_money(money_to_transfer)
else
@@ -103,5 +100,5 @@
account_balance = budget
account_holder = SSeconomy.department_accounts[dep_id]
SSeconomy.generated_accounts += src
-
+
#undef DUMPTIME
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 60c5383aafd..3d497c4e730 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -93,9 +93,6 @@
add_splatter_floor(location)
if(get_dist(user, src) <= 1) //people with TK won't get smeared with blood
user.add_mob_blood(src)
- if(ishuman(user))
- var/mob/living/carbon/human/dirtyboy = user
- dirtyboy.adjust_hygiene(-10)
if(affecting.body_zone == BODY_ZONE_HEAD)
if(wear_mask)
wear_mask.add_mob_blood(src)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 2c86eaf6c75..7424b7525b3 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -779,7 +779,6 @@
remove_all_embedded_objects()
set_heartattack(FALSE)
drunkenness = 0
- set_hygiene(HYGIENE_LEVEL_NORMAL)
for(var/datum/mutation/human/HM in dna.mutations)
if(HM.quality != POSITIVE)
dna.remove_mutation(HM.name)
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 5ee9f11c69b..96db3acbc16 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -38,8 +38,6 @@
var/obj/item/l_store = null
var/obj/item/s_store = null
- var/hygiene = HYGIENE_LEVEL_NORMAL
-
var/special_voice = "" // For changing our voice. Used by a symptom.
var/bleed_rate = 0 //how much are we bleeding
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index ca3e63f38d4..70d5d928d16 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -40,9 +40,6 @@
//Stuff jammed in your limbs hurts
handle_embedded_objects()
- if(stat != DEAD)
- handle_hygiene()
-
dna.species.spec_life(src) // for mutantraces
//Update our name based on whether our face is obscured/disfigured
@@ -326,42 +323,6 @@
// Tissues die without blood circulation
adjustBruteLoss(2)
-/mob/living/carbon/human/proc/handle_hygiene()
- if(HAS_TRAIT(src, TRAIT_ALWAYS_CLEAN))
- set_hygiene(HYGIENE_LEVEL_CLEAN)
- return
-
- var/hygiene_loss = -HYGIENE_FACTOR * 0.25 //Small loss per life
-
- //If you're covered in blood, you'll start smelling like shit faster.
- var/obj/item/head = get_item_by_slot(SLOT_HEAD)
- if(head)
- IF_HAS_BLOOD_DNA(head)
- hygiene_loss -= 1 * HYGIENE_FACTOR
-
- var/obj/item/mask = get_item_by_slot(SLOT_HEAD)
- if(mask)
- IF_HAS_BLOOD_DNA(mask)
- hygiene_loss -= 1 * HYGIENE_FACTOR
-
- var/obj/item/uniform = get_item_by_slot(SLOT_W_UNIFORM)
- if(uniform)
- IF_HAS_BLOOD_DNA(uniform)
- hygiene_loss -= 4 * HYGIENE_FACTOR
-
- var/obj/item/suit = get_item_by_slot(SLOT_WEAR_SUIT)
- if(suit)
- IF_HAS_BLOOD_DNA(suit)
- hygiene_loss -= 3 * HYGIENE_FACTOR
-
- var/obj/item/feet = get_item_by_slot(SLOT_SHOES)
- if(feet)
- IF_HAS_BLOOD_DNA(feet)
- hygiene_loss -= 0.5 * HYGIENE_FACTOR
-
- adjust_hygiene(hygiene_loss)
-
-
#undef THERMAL_PROTECTION_HEAD
#undef THERMAL_PROTECTION_CHEST
#undef THERMAL_PROTECTION_GROIN
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 5a4f4ec4089..2d96d2be2f0 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1438,9 +1438,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.add_splatter_floor(location)
if(get_dist(user, H) <= 1) //people with TK won't get smeared with blood
user.add_mob_blood(H)
- if(ishuman(user))
- var/mob/living/carbon/human/dirtyboy = user
- dirtyboy.adjust_hygiene(-10)
switch(hit_area)
if(BODY_ZONE_HEAD)
diff --git a/code/modules/mob/living/carbon/human/status_procs.dm b/code/modules/mob/living/carbon/human/status_procs.dm
index 733de2922aa..d7ba8093c2a 100644
--- a/code/modules/mob/living/carbon/human/status_procs.dm
+++ b/code/modules/mob/living/carbon/human/status_procs.dm
@@ -50,12 +50,4 @@
if(druggy)
grant_language(/datum/language/beachbum)
else
- remove_language(/datum/language/beachbum)
-
-/mob/living/carbon/human/proc/adjust_hygiene(amount)
- hygiene = CLAMP(hygiene+amount, 0, HYGIENE_LEVEL_CLEAN)
- update_smell()
-
-/mob/living/carbon/human/proc/set_hygiene(amount)
- hygiene = CLAMP(amount, 0, HYGIENE_LEVEL_CLEAN)
- update_smell()
+ remove_language(/datum/language/beachbum)
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index a8429951a76..bbe81326a84 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -479,14 +479,6 @@ There are several things that need to be remembered:
client.screen += I
update_observer_view(I)
-//Update whether we smell
-/mob/living/carbon/human/proc/update_smell(var/smelly_icon = "generic_mob_smell")
- remove_overlay(SMELL_LAYER)
- if(hygiene <= HYGIENE_LEVEL_DIRTY)
- var/mutable_appearance/new_smell_overlay = mutable_appearance('icons/mob/smelly.dmi', smelly_icon, -SMELL_LAYER)
- overlays_standing[SMELL_LAYER] = new_smell_overlay
- apply_overlay(SMELL_LAYER)
-
/*
Does everything in relation to building the /mutable_appearance used in the mob's overlays list
covers:
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 0c4cd0ea100..7bf1fde8371 100755
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -422,8 +422,6 @@
if(prob(20)) //stays in the system much longer than sprinkles/banana juice, so heals slower to partially compensate
H.heal_bodypart_damage(1,1, 0)
. = 1
- else //chefs' robust space-Italian metabolism lets them eat garlic without producing allyl methyl sulfide
- H.adjust_hygiene(-0.15 * volume)
..()
/datum/reagent/consumable/sprinkles
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index c0379de1490..31e7904e9b6 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -1011,7 +1011,6 @@
var/mob/living/carbon/C = M
if(ishuman(M))
var/mob/living/carbon/human/H = M
- H.adjust_hygiene((30 * reac_volume) / (3 + reac_volume))
if(H.lip_style)
H.lip_style = null
H.update_body()
diff --git a/icons/mob/smelly.dmi b/icons/mob/smelly.dmi
deleted file mode 100644
index 392af574ebb..00000000000
Binary files a/icons/mob/smelly.dmi and /dev/null differ