Merge pull request #44843 from Garen7/removeHygiene

Removes Hygiene
This commit is contained in:
oranges
2019-07-08 21:53:08 +12:00
committed by GitHub
36 changed files with 63 additions and 280 deletions
-1
View File
@@ -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
-2
View File
@@ -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
+27 -28
View File
@@ -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"
-6
View File
@@ -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
-1
View File
@@ -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.
-2
View File
@@ -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"
-1
View File
@@ -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(
-3
View File
@@ -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)
@@ -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()
-22
View File
@@ -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)
-13
View File
@@ -53,19 +53,6 @@
description = "<span class='warning'>The stench of rotting carcasses is unbearable!</span>\n"
mood_change = -12
//Hygiene Events
/datum/mood_event/neat
description = "<span class='nicegreen'>I'm so clean, I love it.</span>\n"
mood_change = 3
/datum/mood_event/dirty
description = "<span class='warning'>I smell horrid.</span>\n"
mood_change = -5
/datum/mood_event/happy_neet
description = "<span class='nicegreen'>I smell horrid.</span>\n"
mood_change = 2
//Generic needs events
/datum/mood_event/favorite_food
description = "<span class='nicegreen'>I really enjoyed eating that.</span>\n"
+14 -18
View File
@@ -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,"<span class='danger'>You get a whiff of your stench and feel sick!</span>")
owner.adjust_disgust(GET_MUTATION_SYNCHRONIZER(src) * rand(5,10))
if(hygiene_now < HYGIENE_LEVEL_NORMAL && reek >= HYGIENE_LEVEL_NORMAL)
to_chat(owner,"<span class='warning'>Your inhumanly strong nose picks up a faint odor. Maybe you should shower soon.</span>")
if(hygiene_now < 150 && reek >= 150)
to_chat(owner,"<span class='warning'>Your odor is getting bad, what with you having a super-nose and all.</span>")
if(hygiene_now < 100 && reek >= 100)
to_chat(owner,"<span class='danger'>Your odor begins to make you gag. You silently curse your godly nose. You should really get clean!</span>")
if(hygiene_now < HYGIENE_LEVEL_DIRTY && reek >= HYGIENE_LEVEL_DIRTY)
to_chat(owner,"<span class='userdanger'>Your super-nose is 100% fed up with your stench. You absolutely must get clean.</span>")
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, "<span class='warning'>With your overly sensitive nose, you get a whiff of stench and feel sick! Try moving to a cleaner area!</span>")
return
var/atom/sniffed = user.get_active_held_item()
if(sniffed)
var/old_target = tracking_target
-25
View File
@@ -187,28 +187,3 @@
mob_trait = TRAIT_VORACIOUS
gain_text = "<span class='notice'>You feel HONGRY.</span>"
lose_text = "<span class='danger'>You no longer feel HONGRY.</span>"
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 = "<span class='notice'>You feel useless to society.</span>"
lose_text = "<span class='danger'>You no longer feel useless to society.</span>"
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")
-19
View File
@@ -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 = "<span class='notice'>You feel like you have to stay clean.</span>"
lose_text = "<span class='danger'>You no longer feel the need to always be clean.</span>"
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."
-22
View File
@@ -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
+2 -7
View File
@@ -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("<span class='warning'>\the [user] washes \the [target]'s mouth out with [src.name]!</span>", "<span class='notice'>You wash \the [target]'s mouth out with [src.name]!</span>") //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("<span class='warning'>\the [user] washes \the [target] with [src.name]!</span>", "<span class='notice'>You wash \the [target] with [src.name]!</span>")
H.adjust_hygiene(20)
user.visible_message("<span class='warning'>\the [user] washes \the [target]'s mouth out with [src.name]!</span>", "<span class='notice'>You wash \the [target]'s mouth out with [src.name]!</span>") //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
+1 -25
View File
@@ -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, "<span class='warning'>You have to remove your clothes to get clean!</span>")
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, "<span class='danger'>[src] is searing!</span>")
/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"
@@ -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)
+5 -1
View File
@@ -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)
+4 -4
View File
@@ -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
@@ -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)
@@ -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
+2 -2
View File
@@ -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()
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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
-3
View File
@@ -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
@@ -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)
@@ -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)
@@ -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
@@ -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
@@ -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)
@@ -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)
@@ -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:
@@ -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
@@ -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()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B