diff --git a/_maps/deprecated/Ruins/TheDerelict.dmm b/_maps/deprecated/Ruins/TheDerelict.dmm
index 0a6b86996b66..56b16089bb69 100644
--- a/_maps/deprecated/Ruins/TheDerelict.dmm
+++ b/_maps/deprecated/Ruins/TheDerelict.dmm
@@ -1148,9 +1148,6 @@
"fw" = (
/turf/open/floor/plasteel/airless,
/area/ruin/space/derelict/bridge/access)
-"fx" = (
-/turf/open/floor/plasteel/airless,
-/area/ruin/space/derelict/bridge/access)
"fy" = (
/obj/structure/table,
/obj/item/assembly/flash/handheld,
@@ -1837,9 +1834,6 @@
/obj/item/storage/box/lights/mixed,
/turf/open/floor/plating/airless,
/area/ruin/space/derelict/singularity_engine)
-"in" = (
-/turf/open/floor/plating/airless,
-/area/ruin/space/derelict/singularity_engine)
"io" = (
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating/airless,
@@ -8596,7 +8590,7 @@ dO
dP
dX
dW
-in
+dW
dr
iP
ay
@@ -10391,7 +10385,7 @@ aa
cs
fv
fF
-fx
+fw
cs
ga
yb
@@ -10503,8 +10497,8 @@ aa
dk
cs
fw
-fx
-fx
+fw
+fw
fR
eR
gm
@@ -10615,9 +10609,9 @@ aa
aa
aa
cs
-fx
-fx
-fx
+fw
+fw
+fw
cs
eR
gn
@@ -10729,8 +10723,8 @@ aa
aa
cs
fy
-fx
-fx
+fw
+fw
fS
MI
go
@@ -10842,8 +10836,8 @@ aa
ZB
cs
fz
-fx
-fx
+fw
+fw
fS
MI
go
@@ -10955,8 +10949,8 @@ ZB
ZB
cs
fA
-fx
-fx
+fw
+fw
fS
MI
go
@@ -11068,8 +11062,8 @@ ZB
ZB
cs
fB
-fx
-fx
+fw
+fw
fS
MI
gp
@@ -11296,10 +11290,10 @@ cs
cs
cs
cs
-fx
+fw
py
gq
-fx
+fw
fZ
gO
fZ
@@ -11409,10 +11403,10 @@ cx
cx
cx
cs
-fx
+fw
py
-fx
-fx
+fw
+fw
fZ
gL
aa
@@ -11635,10 +11629,10 @@ cs
cs
cs
cs
-fx
-fx
-fx
-fx
+fw
+fw
+fw
+fw
cs
cs
ZB
@@ -11748,10 +11742,10 @@ cs
fC
fC
cs
-fx
+fw
gg
-fx
-fx
+fw
+fw
cs
aa
ay
diff --git a/_maps/deprecated/Ships/nanotrasen_pubby.dmm b/_maps/deprecated/Ships/nanotrasen_pubby.dmm
index 179c7e811e65..c9d42c6a8c28 100644
--- a/_maps/deprecated/Ships/nanotrasen_pubby.dmm
+++ b/_maps/deprecated/Ships/nanotrasen_pubby.dmm
@@ -446,10 +446,6 @@
pixel_x = 5;
pixel_y = 4
},
-/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{
- pixel_x = -7;
- pixel_y = 6
- },
/obj/item/lighter{
pixel_x = -5;
pixel_y = 4
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
index 5e8f8530b1cd..9223b7746f9a 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
@@ -7697,9 +7697,6 @@
pixel_x = 8;
pixel_y = 2
},
-/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{
- pixel_y = 10
- },
/obj/item/lighter/greyscale{
pixel_y = 4;
pixel_x = -9
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 99cff793a761..9f07a32d15f8 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -226,7 +226,6 @@
#define SANITY_INSANE 0
//Nutrition levels for humans
-#define NUTRITION_LEVEL_FAT 600
#define NUTRITION_LEVEL_FULL 550
#define NUTRITION_LEVEL_WELL_FED 450
#define NUTRITION_LEVEL_FED 350
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 51028eabec91..5d2d843cec62 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -146,7 +146,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_MUTE "mute"
#define TRAIT_EMOTEMUTE "emotemute"
#define TRAIT_NEARSIGHT "nearsighted"
-#define TRAIT_FAT "fat"
#define TRAIT_HUSK "husk"
#define TRAIT_BADDNA "baddna"
#define TRAIT_CLUMSY "clumsy"
@@ -322,7 +321,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define UNCONSCIOUS_TRAIT "unconscious"
#define EYE_DAMAGE "eye_damage"
#define GENETIC_MUTATION "genetic"
-#define OBESITY "obesity"
#define MAGIC_TRAIT "magic"
#define TRAUMA_TRAIT "trauma"
#define DISEASE_TRAIT "disease"
diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm
index 3239cb53b8d0..c91b96db8de9 100644
--- a/code/_globalvars/traits.dm
+++ b/code/_globalvars/traits.dm
@@ -17,7 +17,6 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_EMOTEMUTE " = TRAIT_EMOTEMUTE,
"TRAIT_DEAF" = TRAIT_DEAF,
"TRAIT_NEARSIGHT" = TRAIT_NEARSIGHT,
- "TRAIT_FAT" = TRAIT_FAT,
"TRAIT_HUSK" = TRAIT_HUSK,
"TRAIT_BADDNA" = TRAIT_BADDNA,
"TRAIT_CLUMSY" = TRAIT_CLUMSY,
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 8a61e094fa1d..43ae8ffbe246 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -164,11 +164,6 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi
//End gas alerts
-/atom/movable/screen/alert/fat
- name = "Fat"
- desc = "You ate too much food, lardass. Run around and lose some weight."
- icon_state = "fat"
-
/atom/movable/screen/alert/hungry
name = "Hungry"
desc = "Some food would be good right about now."
diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm
index 4c8b2a72cfa6..64fc96146527 100644
--- a/code/datums/components/mood.dm
+++ b/code/datums/components/mood.dm
@@ -322,12 +322,7 @@
if(HAS_TRAIT(L, TRAIT_NOHUNGER))
return FALSE //no mood events for nutrition
switch(L.nutrition)
- if(NUTRITION_LEVEL_FULL to INFINITY)
- if (!HAS_TRAIT(L, TRAIT_VORACIOUS))
- add_event(null, "nutrition", /datum/mood_event/fat)
- else
- add_event(null, "nutrition", /datum/mood_event/wellfed) // round and full
- if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
+ if(NUTRITION_LEVEL_WELL_FED to INFINITY)
add_event(null, "nutrition", /datum/mood_event/wellfed)
if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
add_event(null, "nutrition", /datum/mood_event/fed)
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index 5c99377230c0..998fa6906b4d 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -255,8 +255,6 @@
defense_mod -= 1
if(HAS_TRAIT(target, TRAIT_CLUMSY))
defense_mod -= 2
- if(HAS_TRAIT(target, TRAIT_FAT)) // chonkers are harder to knock over
- defense_mod += 1
if(HAS_TRAIT(target, TRAIT_GRABWEAKNESS))
defense_mod -= 2
if(HAS_TRAIT(target, TRAIT_DWARF))
diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm
index e9ce07165326..5f873cf40ff8 100644
--- a/code/datums/mood_events/needs_events.dm
+++ b/code/datums/mood_events/needs_events.dm
@@ -1,8 +1,4 @@
//nutrition
-/datum/mood_event/fat
- description = "I'm so fat...\n" //muh fatshaming
- mood_change = -6
-
/datum/mood_event/wellfed
description = "I'm stuffed!\n"
mood_change = 8
diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm
deleted file mode 100644
index 9d556bf422ed..000000000000
--- a/code/game/machinery/fat_sucker.dm
+++ /dev/null
@@ -1,217 +0,0 @@
-/obj/machinery/fat_sucker
- name = "lipid extractor"
- desc = "Safely and efficiently extracts excess fat from a subject."
- icon = 'icons/obj/machines/fat_sucker.dmi'
- icon_state = "fat"
-
- state_open = FALSE
- density = TRUE
- req_access = list(ACCESS_KITCHEN)
- var/processing = FALSE
- var/start_at = NUTRITION_LEVEL_WELL_FED
- var/stop_at = NUTRITION_LEVEL_STARVING
- var/free_exit = TRUE //set to false to prevent people from exiting before being completely stripped of fat
- var/bite_size = 15 //amount of nutrients we take per process
- var/nutrients //amount of nutrients we got build up
- var/nutrient_to_meat = 90 //one slab of meat gives about 52 nutrition
- var/datum/looping_sound/microwave/soundloop //100% stolen from microwaves
- var/breakout_time = 600
-
- var/next_fact = 10 //in ticks, so about 20 seconds
- var/static/list/fat_facts = list(\
- "Fats are triglycerides made up of a combination of different building blocks; glycerol and fatty acids.", \
- "Adults should get a recommended 20-35% of their energy intake from fat.", \
- "Being overweight or obese puts you at an increased risk of chronic diseases, such as cardiovascular diseases, metabolic syndrome, type 2 diabetes and some types of cancers.", \
- "Not all fats are bad. A certain amount of fat is an essential part of a healthy balanced diet. " , \
- "Saturated fat should form no more than 11% of your daily calories.", \
- "Unsaturated fat, that is monounsaturated fats, polyunsaturated fats and omega-3 fatty acids, is found in plant foods and fish." \
- )
-
-/obj/machinery/fat_sucker/Initialize()
- . = ..()
- soundloop = new(list(src), FALSE)
- update_appearance()
-
-/obj/machinery/fat_sucker/Destroy()
- QDEL_NULL(soundloop)
- return ..()
-
-/obj/machinery/fat_sucker/RefreshParts()
- ..()
- var/rating = 0
- for(var/obj/item/stock_parts/micro_laser/L in component_parts)
- rating += L.rating
- bite_size = initial(bite_size) + rating * 5
- nutrient_to_meat = initial(nutrient_to_meat) - rating * 5
-
-/obj/machinery/fat_sucker/examine(mob/user)
- . = ..()
- . += {"Alt-Click to toggle the safety hatch.
- Removing [bite_size] nutritional units per operation.
- Requires [nutrient_to_meat] nutritional units per meat slab."}
-
-/obj/machinery/fat_sucker/close_machine(mob/user)
- if(panel_open)
- to_chat(user, "You need to close the maintenance hatch first!")
- return
- ..()
- playsound(src, 'sound/machines/click.ogg', 50)
- if(occupant)
- if(!iscarbon(occupant))
- occupant.forceMove(drop_location())
- occupant = null
- return
- to_chat(occupant, "You enter [src].")
- addtimer(CALLBACK(src, PROC_REF(start_extracting)), 20, TIMER_OVERRIDE|TIMER_UNIQUE)
- update_appearance()
-
-/obj/machinery/fat_sucker/open_machine(mob/user)
- make_meat()
- playsound(src, 'sound/machines/click.ogg', 50)
- if(processing)
- stop()
- ..()
-
-/obj/machinery/fat_sucker/container_resist_act(mob/living/user)
- if(!free_exit || state_open)
- to_chat(user, "The emergency release is not responding! You start pushing against the hull!")
- user.changeNext_move(CLICK_CD_BREAKOUT)
- user.last_special = world.time + CLICK_CD_BREAKOUT
- user.visible_message("You see [user] kicking against the door of [src]!", \
- "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \
- "You hear a metallic creaking from [src].")
- if(do_after(user, breakout_time, target = src))
- if(!user || user.stat != CONSCIOUS || user.loc != src || state_open)
- return
- free_exit = TRUE
- user.visible_message("[user] successfully broke out of [src]!", \
- "You successfully break out of [src]!")
- open_machine()
- return
- open_machine()
-
-/obj/machinery/fat_sucker/interact(mob/user)
- if(state_open)
- close_machine()
- else if(!processing || free_exit)
- open_machine()
- else
- to_chat(user, "The safety hatch has been disabled!")
-
-/obj/machinery/fat_sucker/AltClick(mob/living/user)
- if(!user.canUseTopic(src, BE_CLOSE))
- return
- if(user == occupant)
- to_chat(user, "You can't reach the controls from inside!")
- return
- if(!(obj_flags & EMAGGED) && !allowed(user))
- to_chat(user, "You lack the required access.")
- return
- free_exit = !free_exit
- to_chat(user, "Safety hatch [free_exit ? "unlocked" : "locked"].")
-
-/obj/machinery/fat_sucker/update_overlays()
- . = ..()
-
- if(!state_open)
- if(processing)
- . += "[icon_state]_door_on"
- . += "[icon_state]_stack"
- . += "[icon_state]_smoke"
- . += "[icon_state]_green"
- else
- . += "[icon_state]_door_off"
- if(occupant)
- if(powered())
- . += "[icon_state]_stack"
- . += "[icon_state]_yellow"
- else
- . += "[icon_state]_red"
- else if(powered())
- . += "[icon_state]_red"
- if(panel_open)
- . += "[icon_state]_panel"
-
-/obj/machinery/fat_sucker/process()
- if(!processing)
- return
- if(!powered() || !occupant || !iscarbon(occupant))
- open_machine()
- return
-
- var/mob/living/carbon/C = occupant
- if(C.nutrition <= stop_at)
- open_machine()
- playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE)
- return
- C.adjust_nutrition(-bite_size)
- nutrients += bite_size
-
- if(next_fact <= 0)
- next_fact = initial(next_fact)
- say(pick(fat_facts))
- playsound(loc, 'sound/machines/chime.ogg', 30, FALSE)
- else
- next_fact--
- use_power(500)
-
-/obj/machinery/fat_sucker/proc/start_extracting()
- if(state_open || !occupant || processing || !powered())
- return
- if(iscarbon(occupant))
- var/mob/living/carbon/C = occupant
- if(C.nutrition > start_at)
- processing = TRUE
- soundloop.start()
- update_appearance()
- set_light(2, 1, "#ff0000")
- else
- say("Subject not fat enough.")
- playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE)
- overlays += "[icon_state]_red" //throw a red light icon over it, to show that it wont work
-
-/obj/machinery/fat_sucker/proc/stop()
- processing = FALSE
- soundloop.stop()
- set_light(0, 0)
-
-/obj/machinery/fat_sucker/proc/make_meat()
- if(occupant && iscarbon(occupant))
- var/mob/living/carbon/C = occupant
- if(C.type_of_meat)
- if(nutrients >= nutrient_to_meat * 2)
- C.put_in_hands(new /obj/item/reagent_containers/food/snacks/cookie (), TRUE)
- while(nutrients >= nutrient_to_meat)
- nutrients -= nutrient_to_meat
- new C.type_of_meat (drop_location())
- while(nutrients >= nutrient_to_meat / 3)
- nutrients -= nutrient_to_meat / 3
- new /obj/item/reagent_containers/food/snacks/meat/rawcutlet/plain (drop_location())
- nutrients = 0
-
-/obj/machinery/fat_sucker/screwdriver_act(mob/living/user, obj/item/I)
- . = TRUE
- if(..())
- return
- if(occupant)
- to_chat(user, "[src] is currently occupied!")
- return
- if(state_open)
- to_chat(user, "[src] must be closed to [panel_open ? "close" : "open"] its maintenance hatch!")
- return
- if(default_deconstruction_screwdriver(user, icon_state, icon_state, I))
- update_appearance()
- return
- return FALSE
-
-/obj/machinery/fat_sucker/crowbar_act(mob/living/user, obj/item/I)
- if(default_deconstruction_crowbar(I))
- return TRUE
-
-/obj/machinery/fat_sucker/emag_act(mob/living/user)
- if(obj_flags & EMAGGED)
- return
- start_at = 100
- stop_at = 0
- to_chat(user, "You remove the access restrictions and lower the automatic ejection threshold!")
- obj_flags |= EMAGGED
diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm
index bc7ffd566340..54c52f930a1f 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_NUTRITION "Nutrition"
#define SCANGATE_HUMAN "human"
#define SCANGATE_LIZARD "lizard"
@@ -39,7 +38,6 @@
var/nanite_cloud = 1
var/detect_species = SCANGATE_HUMAN
var/reverse = FALSE //If true, signals if the scan returns false
- var/detect_nutrition = NUTRITION_LEVEL_FAT
/obj/machinery/scanner_gate/Initialize()
. = ..()
@@ -165,13 +163,6 @@
if(istype(I, /obj/item/gun))
beep = TRUE
break
- if(SCANGATE_NUTRITION)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(H.nutrition <= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_STARVING)
- beep = TRUE
- if(H.nutrition >= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_FAT)
- beep = TRUE
if(reverse)
beep = !beep
@@ -207,7 +198,6 @@
data["nanite_cloud"] = nanite_cloud
data["disease_threshold"] = disease_threshold
data["target_species"] = detect_species
- data["target_nutrition"] = detect_nutrition
return data
/obj/machinery/scanner_gate/ui_act(action, params)
@@ -240,19 +230,6 @@
var/new_species = params["new_species"]
detect_species = new_species
. = TRUE
- if("set_target_nutrition")
- var/new_nutrition = params["new_nutrition"]
- var/nutrition_list = list(
- "Starving",
- "Obese"
- )
- if(new_nutrition && (new_nutrition in nutrition_list))
- switch(new_nutrition)
- if("Starving")
- detect_nutrition = NUTRITION_LEVEL_STARVING
- if("Obese")
- detect_nutrition = NUTRITION_LEVEL_FAT
- . = TRUE
#undef SCANGATE_NONE
#undef SCANGATE_MINDSHIELD
@@ -261,7 +238,6 @@
#undef SCANGATE_GUNS
#undef SCANGATE_WANTED
#undef SCANGATE_SPECIES
-#undef SCANGATE_NUTRITION
#undef SCANGATE_HUMAN
#undef SCANGATE_LIZARD
diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm
index 44857142e4db..8800dee20016 100644
--- a/code/game/objects/items/cigs_lighters.dm
+++ b/code/game/objects/items/cigs_lighters.dm
@@ -342,10 +342,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
smoke_all = TRUE
list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15)
-/obj/item/clothing/mask/cigarette/shadyjims
- desc = "A Shady Jim's Super Slims cigarette."
- list_reagents = list(/datum/reagent/drug/nicotine = 15, /datum/reagent/toxin/lipolicide = 4, /datum/reagent/ammonia = 2, /datum/reagent/toxin/plantbgone = 1, /datum/reagent/toxin = 1.5)
-
/obj/item/clothing/mask/cigarette/xeno
desc = "A Xeno Filtered brand cigarette."
list_reagents = list (/datum/reagent/drug/nicotine = 20, /datum/reagent/medicine/regen_jelly = 15, /datum/reagent/drug/krokodil = 4)
diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm
index 7e7bd499a19b..e15f95a40709 100644
--- a/code/game/objects/items/circuitboards/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm
@@ -802,13 +802,6 @@
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/glass = 4)
-/obj/item/circuitboard/machine/fat_sucker
- name = "Lipid Extractor (Machine Board)"
- icon_state = "medical"
- build_path = /obj/machinery/fat_sucker
- req_components = list(/obj/item/stock_parts/micro_laser = 1,
- /obj/item/kitchen/fork = 1)
-
/obj/item/circuitboard/machine/harvester
name = "Harvester (Machine Board)"
icon_state = "medical"
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index 300b5a9461b3..b4ec267bd770 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -336,7 +336,6 @@
/obj/item/reagent_containers/food/drinks/bottle/absinthe,
/obj/item/clothing/under/syndicate/tacticool,
/obj/item/storage/fancy/cigarettes/cigpack_syndicate,
- /obj/item/storage/fancy/cigarettes/cigpack_shadyjims,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/neck/necklace/dope,
/obj/item/vending_refill/donksoft)
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index 58f10b2ccd8d..41f214998ffd 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -306,13 +306,6 @@
if(prob(7))
spawn_type = /obj/item/clothing/mask/cigarette/candy/nicotine //uh oh!
-/obj/item/storage/fancy/cigarettes/cigpack_shadyjims
- name = "\improper Shady Jim's Super Slims packet"
- desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!"
- icon_state = "shadyjim"
- base_icon_state = "shadyjim"
- spawn_type = /obj/item/clothing/mask/cigarette/shadyjims
-
/obj/item/storage/fancy/cigarettes/cigpack_xeno
name = "\improper Xeno Filtered packet"
desc = "Loaded with 100% pure slime. And also nicotine."
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index d90b1846a4f0..3c84cea0de27 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -447,20 +447,10 @@
/obj/structure/chair/plastic/post_buckle_mob(mob/living/Mob)
Mob.pixel_y += 2
.=..()
- if(iscarbon(Mob))
- INVOKE_ASYNC(src, PROC_REF(snap_check), Mob)
/obj/structure/chair/plastic/post_unbuckle_mob(mob/living/Mob)
Mob.pixel_y -= 2
-/obj/structure/chair/plastic/proc/snap_check(mob/living/carbon/Mob)
- if (Mob.nutrition >= NUTRITION_LEVEL_FAT)
- to_chat(Mob, "The chair begins to pop and crack, you're too heavy!")
- if(do_after(Mob, 60, 1, Mob, 0))
- Mob.visible_message("The plastic chair snaps under [Mob]'s weight!")
- new /obj/effect/decal/cleanable/plastic(loc)
- qdel(src)
-
/obj/item/chair/plastic
name = "folding plastic chair"
desc = "Somehow, you can always find one under the wrestling ring."
diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm
index e7b13006a7a7..32c9d167f92d 100644
--- a/code/modules/cargo/bounties/assistant.dm
+++ b/code/modules/cargo/bounties/assistant.dm
@@ -139,12 +139,6 @@
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/poppy)
include_subtypes = FALSE
-/datum/bounty/item/assistant/shadyjims
- name = "Shady Jim's"
- description = "There's an irate officer at CentCom demanding that he receive a box of Shady Jim's cigarettes. Please ship one. He's starting to make threats."
- reward = 500
- wanted_types = list(/obj/item/storage/fancy/cigarettes/cigpack_shadyjims)
-
/datum/bounty/item/assistant/potted_plants
name = "Potted Plants"
description = "Central Command is looking to commission a new BirdBoat-class station. You've been ordered to supply the potted plants."
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 7bf30e86d498..9ca494d431e9 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -954,10 +954,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
if("too_much_tox")
target.throw_alert(alert_type, /atom/movable/screen/alert/too_much_tox, override = TRUE)
if("nutrition")
- if(prob(50))
- target.throw_alert(alert_type, /atom/movable/screen/alert/fat, override = TRUE)
- else
- target.throw_alert(alert_type, /atom/movable/screen/alert/starving, override = TRUE)
+ target.throw_alert(alert_type, /atom/movable/screen/alert/starving, override = TRUE)
if("gravity")
target.throw_alert(alert_type, /atom/movable/screen/alert/weightless, override = TRUE)
if("fire")
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index ca8900c1dda3..fad3c3bc963f 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -186,7 +186,7 @@
newmeat.name = "[sourcename] [newmeat.name]"
if(istype(newmeat))
newmeat.subjectname = sourcename
- newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first
+ newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced)
if(occupant_volume)
occupant.reagents.trans_to(newmeat, occupant_volume / meat_produced, remove_blacklisted = TRUE)
if(sourcejob)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 3b6d1231bd8e..ceda44284f46 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -232,8 +232,6 @@
if(nutrition < NUTRITION_LEVEL_STARVING - 50)
msg += "[t_He] [t_is] severely malnourished.\n"
- else if(nutrition >= NUTRITION_LEVEL_FAT)
- msg += "[t_He] [t_is] quite chubby.\n"
switch(disgust)
if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS)
msg += "[t_He] look[p_s()] a bit grossed out.\n"
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index eab67e22a6be..09bd6161b151 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1350,22 +1350,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(HAS_TRAIT(src, TRAIT_NOHUNGER))
return //hunger is for BABIES
- //The fucking TRAIT_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
- if(HAS_TRAIT_FROM(H, TRAIT_FAT, OBESITY))//I share your pain, past coder.
- if(H.overeatduration < 100)
- to_chat(H, "You feel fit again!")
- REMOVE_TRAIT(H, TRAIT_FAT, OBESITY)
- H.remove_movespeed_modifier(/datum/movespeed_modifier/obesity)
- H.update_inv_w_uniform()
- H.update_inv_wear_suit()
- else
- if(H.overeatduration >= 100)
- to_chat(H, "You suddenly feel blubbery!")
- ADD_TRAIT(H, TRAIT_FAT, OBESITY)
- H.add_movespeed_modifier(/datum/movespeed_modifier/obesity)
- H.update_inv_w_uniform()
- H.update_inv_wear_suit()
-
// nutrition decrease and satiety
if (H.nutrition > 0 && H.stat != DEAD && !HAS_TRAIT(H, TRAIT_NOHUNGER))
// THEY HUNGER
@@ -1397,9 +1381,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.overeatduration -= 2 //doubled the unfat rate
//metabolism change
- if(H.nutrition > NUTRITION_LEVEL_FAT)
- H.metabolism_efficiency = 1
- else if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80)
+ if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80)
if(H.metabolism_efficiency != 1.25 && !HAS_TRAIT(H, TRAIT_NOHUNGER))
to_chat(H, "You feel vigorous.")
H.metabolism_efficiency = 1.25
@@ -1426,9 +1408,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.remove_movespeed_modifier(/datum/movespeed_modifier/hunger)
switch(H.nutrition)
- if(NUTRITION_LEVEL_FULL to INFINITY)
- H.throw_alert("nutrition", /atom/movable/screen/alert/fat)
- if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FULL)
+ if(NUTRITION_LEVEL_HUNGRY to INFINITY)
H.clear_alert("nutrition")
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
H.throw_alert("nutrition", /atom/movable/screen/alert/hungry)
diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm
index 8263b3c7dcf4..c1ec7fb45078 100644
--- a/code/modules/movespeed/modifiers/mobs.dm
+++ b/code/modules/movespeed/modifiers/mobs.dm
@@ -1,6 +1,3 @@
-/datum/movespeed_modifier/obesity
- multiplicative_slowdown = 1.5
-
/datum/movespeed_modifier/monkey_reagent_speedmod
variable = TRUE
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index 6af26706b9f8..d95bd68759c7 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -179,11 +179,6 @@
toxpwr = 0
taste_description = "mint"
-/datum/reagent/toxin/minttoxin/on_mob_life(mob/living/carbon/M)
- if(HAS_TRAIT(M, TRAIT_FAT))
- M.inflate_gib()
- return ..()
-
/datum/reagent/toxin/carpotoxin
name = "Carpotoxin"
description = "A deadly neurotoxin produced by the dreaded spess carp."
diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm
index a38d1a24c7c6..0ed2e97f39b9 100644
--- a/code/modules/research/designs/machine_designs.dm
+++ b/code/modules/research/designs/machine_designs.dm
@@ -583,15 +583,6 @@
build_path = /obj/item/circuitboard/machine/paystand
category = list ("Misc. Machinery")
-
-/datum/design/board/fat_sucker
- name = "Machine Design (Lipid Extractor)"
- desc = "The circuit board for a lipid extractor."
- id = "fat_sucker"
- build_path = /obj/item/circuitboard/machine/fat_sucker
- category = list ("Misc. Machinery")
- departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_MEDICAL
-
/datum/design/board/stasis
name = "Machine Design (Lifeform Stasis Unit)"
desc = "The circuit board for a stasis unit."
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index 02f51a1af9db..f6694ce969bb 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -119,7 +119,7 @@
display_name = "Biological Processing"
description = "From slimes to kitchens."
prereq_ids = list("biotech")
- design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive", "fat_sucker")
+ design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
index fbdf03eff183..7b5bd27a8ada 100644
--- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm
+++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
@@ -76,27 +76,6 @@
user.put_in_hands(critical_fail)
qdel(src)
-/obj/effect/gluttony //Gluttony's wall: Used in the Gluttony ruin. Only lets the overweight through.
- name = "gluttony's wall"
- desc = "Only those who truly indulge may pass."
- anchored = TRUE
- density = TRUE
- icon_state = "blob"
- icon = 'icons/mob/blob.dmi'
- color = rgb(145, 150, 0)
-
-/obj/effect/gluttony/CanAllowThrough(atom/movable/mover, border_dir)//So bullets will fly over and stuff.
- . = ..()
- if(ishuman(mover))
- var/mob/living/carbon/human/H = mover
- if(H.nutrition >= NUTRITION_LEVEL_FAT)
- H.visible_message("[H] pushes through [src]!", "You've seen and eaten worse than this.")
- return TRUE
- else
- to_chat(H, "You're repulsed by even looking at [src]. Only a pig could force themselves to go through it.")
- if(istype(mover, /mob/living/simple_animal/hostile/morph))
- return TRUE
-
/obj/structure/mirror/magic/pride //Pride's mirror: Used in the Pride ruin.
name = "pride's mirror"
desc = "Pride cometh before the..."
diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm
deleted file mode 100644
index be7d824e0b1f..000000000000
--- a/code/modules/surgery/lipoplasty.dm
+++ /dev/null
@@ -1,69 +0,0 @@
-/datum/surgery/lipoplasty
- name = "Lipoplasty"
- steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/cut_fat, /datum/surgery_step/remove_fat, /datum/surgery_step/close)
- possible_locs = list(BODY_ZONE_CHEST)
-
-/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target)
- if(HAS_TRAIT(target, TRAIT_FAT) && target.nutrition >= NUTRITION_LEVEL_WELL_FED)
- return 1
- return 0
-
-
-//cut fat
-/datum/surgery_step/cut_fat
- name = "cut excess fat"
- implements = list(
- TOOL_SAW = 100,
- /obj/item/hatchet = 40,
- /obj/item/kitchen/knife/butcher = 33)
- time = 64
-
-/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- user.visible_message("[user] begins to cut away [target]'s excess fat.", "You begin to cut away [target]'s excess fat...")
- display_results(user, target, "You begin to cut away [target]'s excess fat...",
- "[user] begins to cut away [target]'s excess fat.",
- "[user] begins to cut [target]'s [target_zone] with [tool].")
-
-/datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
- display_results(user, target, "You cut [target]'s excess fat loose.",
- "[user] cuts [target]'s excess fat loose!",
- "[user] finishes the cut on [target]'s [target_zone].")
- return 1
-
-//remove fat
-/datum/surgery_step/remove_fat
- name = "remove loose fat"
- implements = list(
- TOOL_RETRACTOR = 100,
- TOOL_WIRECUTTER = 40)
- time = 32
- experience_given = 0 //scales with fat removed
-
-/datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to extract [target]'s loose fat...",
- "[user] begins to extract [target]'s loose fat!",
- "[user] begins to extract something from [target]'s [target_zone].")
-
-/datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You extract [target]'s fat.",
- "[user] extracts [target]'s fat!",
- "[user] extracts [target]'s fat!")
- target.overeatduration = 0 //patient is unfatted
- var/removednutriment = target.nutrition
- target.set_nutrition(NUTRITION_LEVEL_WELL_FED)
- removednutriment -= NUTRITION_LEVEL_WELL_FED //whatever was removed goes into the meat
- experience_given = (round(removednutriment/(MEDICAL_SKILL_EASY*5)))
- var/mob/living/carbon/human/H = target
- var/typeofmeat = /obj/item/reagent_containers/food/snacks/meat/slab/human
-
- if(H.dna && H.dna.species)
- typeofmeat = H.dna.species.meat
-
- var/obj/item/reagent_containers/food/snacks/meat/slab/human/newmeat = new typeofmeat
- newmeat.name = "fatty meat"
- newmeat.desc = "Extremely fatty tissue taken from a patient."
- newmeat.subjectname = H.real_name
- newmeat.subjectjob = H.job
- newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, (removednutriment / 15)) //To balance with nutriment_factor of nutriment
- newmeat.forceMove(target.loc)
- return ..()
diff --git a/shiptest.dme b/shiptest.dme
index e1b52aaaac6b..ea4b5af13172 100644
--- a/shiptest.dme
+++ b/shiptest.dme
@@ -858,7 +858,6 @@
#include "code\game\machinery\doppler_array.dm"
#include "code\game\machinery\droneDispenser.dm"
#include "code\game\machinery\exp_cloner.dm"
-#include "code\game\machinery\fat_sucker.dm"
#include "code\game\machinery\firealarm.dm"
#include "code\game\machinery\flasher.dm"
#include "code\game\machinery\gulag_item_reclaimer.dm"
@@ -3309,7 +3308,6 @@
#include "code\modules\surgery\implant_removal.dm"
#include "code\modules\surgery\ipc_revive.dm"
#include "code\modules\surgery\limb_augmentation.dm"
-#include "code\modules\surgery\lipoplasty.dm"
#include "code\modules\surgery\lobectomy.dm"
#include "code\modules\surgery\mechanic_steps.dm"
#include "code\modules\surgery\mechanical.dm"
diff --git a/tgui/packages/tgui/interfaces/ScannerGate.js b/tgui/packages/tgui/interfaces/ScannerGate.js
index fe6d4a056ac9..051fb8f1defc 100644
--- a/tgui/packages/tgui/interfaces/ScannerGate.js
+++ b/tgui/packages/tgui/interfaces/ScannerGate.js
@@ -68,17 +68,6 @@ const TARGET_SPECIES_LIST = [
},
];
-const TARGET_NUTRITION_LIST = [
- {
- name: 'Starving',
- value: 150,
- },
- {
- name: 'Obese',
- value: 600,
- },
-];
-
export const ScannerGate = (props, context) => {
const { act, data } = useBackend(context);
return (
@@ -118,10 +107,6 @@ const SCANNER_GATE_ROUTES = {
title: 'Scanner Mode: Species',
component: () => ScannerGateSpecies,
},
- Nutrition: {
- title: 'Scanner Mode: Nutrition',
- component: () => ScannerGateNutrition,
- },
Nanites: {
title: 'Scanner Mode: Nanites',
component: () => ScannerGateNanites,
@@ -177,10 +162,6 @@ const ScannerGateOff = (props, context) => {
content="Species"
onClick={() => act('set_mode', { new_mode: 'Species' })}
/>
-