diff --git a/GainStation13/code/mechanics/helplessness.dm b/GainStation13/code/mechanics/helplessness.dm
index fe88e9af97..cf06e7e09a 100644
--- a/GainStation13/code/mechanics/helplessness.dm
+++ b/GainStation13/code/mechanics/helplessness.dm
@@ -9,7 +9,7 @@
to_chat(H, "You are too fat to wear anything on your back.")
return FALSE
- if(HAS_TRAIT(H, TRAIT_NO_JUMPSUIT) && slot == ITEM_SLOT_ICLOTHING)
+ if(I.modular_icon_location == null && HAS_TRAIT(H, TRAIT_NO_JUMPSUIT) && slot == ITEM_SLOT_ICLOTHING)
to_chat(H, "You are too fat to wear [I].")
return FALSE
diff --git a/GainStation13/code/modules/client/loadout/uniform.dm b/GainStation13/code/modules/client/loadout/uniform.dm
new file mode 100644
index 0000000000..f7b572108a
--- /dev/null
+++ b/GainStation13/code/modules/client/loadout/uniform.dm
@@ -0,0 +1,3 @@
+/datum/gear/uniform/modularjumpsuit
+ name = "Grey jumpsuit (Modular)"
+ path = /obj/item/clothing/under/color/grey
diff --git a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm
index 29ffcf5391..dda2bde3c1 100644
--- a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm
+++ b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm
@@ -1,11 +1,10 @@
//GS13 - markings, ported or our own (preferably mark where you took them from)
-/datum/sprite_accessory/hair/elize
- name = "Elize"
- icon = 'GainStation13/icons/mob/human_face.dmi'
- icon_state = "hair_elize"
+#define NEWHAIR(_name, new_state) /datum/sprite_accessory/hair/##new_state/icon_state=#new_state;/datum/sprite_accessory/hair/##new_state/name = #_name;/datum/sprite_accessory/hair/##new_state/icon = 'GainStation13/icons/mob/human_face.dmi'
+
+NEWHAIR(Elize, hair_elize)
+NEWHAIR(Lem, hair_lem)
+NEWHAIR(Straight (Floorlength), hair_straightfloorlength)
+
+#undef NEWHAIR
-/datum/sprite_accessory/hair/lem
- name = "Lem"
- icon = 'GainStation13/icons/mob/human_face.dmi'
- icon_state = "hair_lem"
diff --git a/GainStation13/code/modules/mob/living/species.dm b/GainStation13/code/modules/mob/living/species.dm
index 133b41d9bc..c18bda8f14 100644
--- a/GainStation13/code/modules/mob/living/species.dm
+++ b/GainStation13/code/modules/mob/living/species.dm
@@ -142,7 +142,7 @@
ADD_TRAIT(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT)
var/obj/item/clothing/under/jumpsuit = fatty.w_uniform
- if(istype(jumpsuit))
+ if(istype(jumpsuit) && jumpsuit.modular_icon_location == null)
to_chat(fatty, "[jumpsuit] can no longer contain your weight!")
fatty.dropItemToGround(jumpsuit)
diff --git a/GainStation13/code/modules/vore/fatten_vore.dm b/GainStation13/code/modules/vore/fatten_vore.dm
new file mode 100644
index 0000000000..de78c1dd3e
--- /dev/null
+++ b/GainStation13/code/modules/vore/fatten_vore.dm
@@ -0,0 +1,53 @@
+
+/obj/belly/release_all_contents(var/include_absorbed = FALSE, var/silent = FALSE)
+ if(iscarbon(owner))
+ var/mob/living/carbon/predator = owner
+ predator.hider_remove(src)
+ . = ..()
+
+/obj/belly/release_specific_contents(var/atom/movable/M, var/silent = FALSE)
+ if(iscarbon(owner))
+ var/mob/living/carbon/predator = owner
+ var/found = FALSE
+ for(var/prey in contents)
+ if(istype(prey, /mob/living/carbon))
+ found = TRUE
+ if(found)
+ predator.hider_add(src)
+ else
+ predator.hider_remove(src)
+ . = ..()
+
+/obj/belly/process_belly(var/times_fired,var/wait)
+////////////////////////// Vore Fatness /////////////////////////////
+ if(iscarbon(owner))
+ var/mob/living/carbon/predator = owner
+ var/found = FALSE
+ for(var/prey in contents)
+ if(istype(prey, /mob/living/carbon))
+ found = TRUE
+ if(found)
+ predator.hider_add(src)
+ else
+ predator.hider_remove(src)
+///////////////////////////// DM_FATTEN /////////////////////////////
+ if(digest_mode == DM_FATTEN)
+ if(iscarbon(owner))
+ var/mob/living/carbon/predator = owner
+ for(var/mob/living/M in contents)
+ var/mob/living/carbon/prey = M
+ if(iscarbon(prey) && predator.fatness_real)
+ if(predator.fatness_real > 50)
+ prey.adjust_fatness(predator.fatness_real * 0.02, FATTENING_TYPE_FOOD)
+ predator.adjust_fatness(-predator.fatness_real * 0.02, FATTENING_TYPE_FOOD)
+ if(predator.nutrition > NUTRITION_LEVEL_HUNGRY)
+ predator.nutrition -= 3
+ . = ..()
+
+/obj/belly/proc/fat_hide(var/mob/living/carbon/user)
+ var/preys_fatness = 0
+ for(var/prey in contents)
+ if(iscarbon(prey))
+ var/mob/living/carbon/cprey = prey
+ preys_fatness += cprey.fatness
+ return preys_fatness
diff --git a/code/__DEFINES/voreconstants.dm b/code/__DEFINES/voreconstants.dm
index 372c5b776c..93253a2aec 100644
--- a/code/__DEFINES/voreconstants.dm
+++ b/code/__DEFINES/voreconstants.dm
@@ -6,6 +6,7 @@
#define DM_DRAGON "Dragon"
#define DM_ABSORB "Absorb"
#define DM_UNABSORB "Un-absorb"
+#define DM_FATTEN "Fatten" // GS13 Edit - Added Fatten mode
#define DIGESTABLE (1<<0)
#define DEVOURABLE (1<<1)
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index e0793e952a..602c2abfbb 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -172,7 +172,7 @@
/datum/quirk/voracious
name = "Voracious"
- desc = "Nothing gets between you and your food. You eat twice as fast as everyone else!"
+ desc = "Nothing gets between you and your food. You eat and recover from stuffing twice as fast, while getting less full!" //GS13 Edit - Changed description
value = 1
mob_trait = TRAIT_VORACIOUS
gain_text = "You feel HONGRY."
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 69ac3ef5ee..bd9a87687a 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -8,6 +8,7 @@
products = list(/obj/item/clothing/head/that = 4,
/obj/item/clothing/head/fedora = 3,
//GS13 EDIT START
+ /obj/item/clothing/under/color/grey = 20,
/obj/item/clothing/suit/jacket/letterman_gato = 5,
//GS13 EDIT END
/obj/item/clothing/head/beret = 3,
diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm
index ba698b2eb4..9abd76a8b1 100644
--- a/code/modules/vore/eating/belly_obj.dm
+++ b/code/modules/vore/eating/belly_obj.dm
@@ -43,7 +43,7 @@
var/wet_loop = TRUE // Does this belly have a slimy internal loop?
//I don't think we've ever altered these lists. making them static until someone actually overrides them somewhere.
- var/tmp/static/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_NOISY,DM_ABSORB,DM_UNABSORB) // Possible digest modes
+ var/tmp/static/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_NOISY,DM_ABSORB,DM_UNABSORB,DM_FATTEN) // GS13 Edit- Added DM_FATTEN
var/tmp/mob/living/owner // The mob whose belly this is.
var/tmp/digest_mode = DM_HOLD // Current mode the belly is set to from digest_modes (+transform_modes if human)
diff --git a/tgstation.dme b/tgstation.dme
index 6255779b05..51d939c78d 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -4008,6 +4008,7 @@
#include "GainStation13\code\modules\cargo\packs.dm"
#include "GainStation13\code\modules\client\border_control.dm"
#include "GainStation13\code\modules\client\loadout\head.dm"
+#include "GainStation13\code\modules\client\loadout\uniform.dm"
#include "GainStation13\code\modules\client\preferences\preferences.dm"
#include "GainStation13\code\modules\clothing\under\jobs\modular_items.dm"
#include "GainStation13\code\modules\events\vent_clog.dm\vent_clog.dm"
@@ -4070,6 +4071,7 @@
#include "GainStation13\code\modules\vehicles\grocery_cart_scooter_unmortorized.dm"
#include "GainStation13\code\modules\vending\gatocola.dm"
#include "GainStation13\code\modules\vending\mealdor.dm"
+#include "GainStation13\code\modules\vore\fatten_vore.dm"
#include "GainStation13\code\modules\weapons\grenades.dm"
#include "GainStation13\code\obj\items\bluespace_belt.dm"
#include "GainStation13\code\obj\items\circuits.dm"