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"