diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index d3384fce72b..7d052c02dbb 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -311,4 +311,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 6924cb17e33..cbeee67fc19 100644 --- a/code/__DEFINES/economy.dm +++ b/code/__DEFINES/economy.dm @@ -7,8 +7,6 @@ #define PAYCHECK_HARD 40 #define PAYCHECK_COMMAND 100 -#define PAYCHECK_WELFARE 5 //NEETbucks - #define MAX_GRANT_CIV 2500 #define MAX_GRANT_ENG 3000 #define MAX_GRANT_SCI 5000 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 16fc47f711b..c9312dde5a2 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 9ba5f5b691c..e7f082f5062 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -146,11 +146,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 @@ -268,7 +263,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 b301ad18b39..6d7cbac8c29 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -38,5 +38,4 @@ #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 #define SCAN_REAGENTS (1<<9) // Allows helmets and glasses to scan reagents. diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 2ef297487b2..c0105d5e016 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -159,8 +159,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 6d2b637b680..b421d2aac0a 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -143,7 +143,6 @@ GLOBAL_LIST_INIT(bitfields, list( "THICKMATERIAL" = THICKMATERIAL, "VOICEBOX_TOGGLABLE" = VOICEBOX_TOGGLABLE, "VOICEBOX_DISABLED" = VOICEBOX_DISABLED, - "SHOWEROKAY" = SHOWEROKAY, "SCAN_REAGENTS" = SCAN_REAGENTS, ), "tesla_flags" = list( diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 47e966f3ff4..590fe26ca9a 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 ce3ab89472e..d512ce2ebd0 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 708c200533f..be173419407 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -193,7 +193,6 @@ setSanity(sanity+0.6, maximum=INFINITY) HandleNutrition(owner) - HandleHygiene(owner) /datum/component/mood/proc/setSanity(amount, minimum=SANITY_INSANE, maximum=SANITY_GREAT) var/mob/living/owner = parent @@ -351,27 +350,6 @@ 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) - if(H.hygiene <= HYGIENE_LEVEL_DIRTY) - HygieneMiasma(H) - -/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) - - if(!istype(T) || T.return_air().return_pressure() > (WARNING_HIGH_PRESSURE - 10)) - return - - var/datum/gas_mixture/stank = new - ADD_GAS(/datum/gas/miasma, stank.gases) - stank.gases[/datum/gas/miasma][MOLES] = MIASMA_HYGIENE_MOLES - stank.temperature = BODYTEMP_NORMAL - T.assume_air(stank) - T.air_update_turf() - /datum/component/mood/proc/check_area_mood(datum/source, var/area/A) if(A.mood_bonus) var/datum/mood_event/M = add_event(null, "area", /datum/mood_event/area) diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 93ad08732e7..3310baecae4 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 = -12 -//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 f2fecbfa2f9..169298da0a3 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 cc98e206a87..26626a08874 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -187,28 +187,3 @@ mob_trait = TRAIT_VORACIOUS gain_text = "You feel HONGRY." lose_text = "You no longer feel HONGRY." - medical_record_text = "Patient demonstrates a disturbing capacity for eating." - -/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 - medical_record_text = "Patient continues to qualify for welfare and has made no efforts to improve hygiene." - -/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 - -/datum/quirk/neet/on_process() - var/mob/living/carbon/human/H = quirk_holder - if (H.hygiene <= HYGIENE_LEVEL_DIRTY) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "NEET", /datum/mood_event/happy_neet) - else - SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "NEET") diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 66ac13905bb..fc5d444fd6c 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -93,25 +93,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 - medical_record_text = "While waiting for the exam to begin, patient cleaned the examination room." - -/datum/quirk/neat/on_process() - var/mob/living/carbon/human/H = quirk_holder - switch (H.hygiene) - if(0 to HYGIENE_LEVEL_DIRTY) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "neat", /datum/mood_event/dirty) - if(HYGIENE_LEVEL_DIRTY to HYGIENE_LEVEL_NORMAL) - SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "neat") - if(HYGIENE_LEVEL_NORMAL to HYGIENE_LEVEL_CLEAN) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "neat", /datum/mood_event/neat) - /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 f479fd24bc3..698e591c9da 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 d2409286b7f..0317a7efaa8 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 e9540a92c1c..cc47312f5a0 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 3c97808deca..c10f42cc15c 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/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 5f363d9dc2c..dac42005a15 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -5,7 +5,7 @@ // You do not need to raise this if you are adding new values that have sane defaults. // Only raise this value when changing the meaning/format/name/layout of an existing value // where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 22 +#define SAVEFILE_VERSION_MAX 23 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn @@ -104,6 +104,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car new_value = JP_LOW if(new_value) job_preferences[initial(J.title)] = new_value + if(current_version < 23) + all_quirks -= "Physically Obstructive" + all_quirks -= "Neat" + all_quirks -= "NEET" /datum/preferences/proc/load_path(ckey,filename="preferences.sav") if(!ckey) 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 6565862deae..d66c135bd3a 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -43,7 +43,6 @@ /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 modifies_speech = TRUE /obj/item/clothing/mask/fakemoustache/italian/handle_speech(datum/source, list/speech_args) 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/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 166a660a8ca..cd50552f391 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -435,7 +435,7 @@ item_color = "medical" flash_protect = 0 armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) - clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SHOWEROKAY | SCAN_REAGENTS + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS /obj/item/clothing/suit/space/hardsuit/medical icon_state = "hardsuit-medical" @@ -457,7 +457,7 @@ max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) var/obj/machinery/doppler_array/integrated/bomb_radar - clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SHOWEROKAY | SCAN_REAGENTS + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner) /obj/item/clothing/head/helmet/space/hardsuit/rd/Initialize() 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 6b037553369..627bfbd7f3e 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 diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 266bbae9dfa..d3af7ea214e 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -82,9 +82,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 af879de213d..98b616f722f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -775,7 +775,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 5848ed09dcb..2351c629510 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -39,8 +39,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 99100292210..12e2e2b1cfe 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -42,9 +42,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 @@ -324,37 +321,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 && HAS_BLOOD_DNA(head)) - hygiene_loss -= 1 * HYGIENE_FACTOR - - var/obj/item/mask = get_item_by_slot(SLOT_HEAD) - if(mask && HAS_BLOOD_DNA(mask)) - hygiene_loss -= 1 * HYGIENE_FACTOR - - var/obj/item/uniform = get_item_by_slot(SLOT_W_UNIFORM) - if(uniform && HAS_BLOOD_DNA(uniform)) - hygiene_loss -= 4 * HYGIENE_FACTOR - - var/obj/item/suit = get_item_by_slot(SLOT_WEAR_SUIT) - if(suit && HAS_BLOOD_DNA(suit)) - hygiene_loss -= 3 * HYGIENE_FACTOR - - var/obj/item/feet = get_item_by_slot(SLOT_SHOES) - if(feet && 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 efa8e49f30b..f9807723cbb 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1432,9 +1432,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 aa0b39b982d..de2aec64c49 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 17fc083544c..48077b34e67 100755 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -415,8 +415,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 14e19f238f9..1f2263764c1 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -956,7 +956,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 486ed200a75..00000000000 Binary files a/icons/mob/smelly.dmi and /dev/null differ