diff --git a/GainStation13/code/modules/surgery/organs/augments.dm b/GainStation13/code/modules/surgery/organs/augments.dm index 5fee50d4..9059f14d 100644 --- a/GainStation13/code/modules/surgery/organs/augments.dm +++ b/GainStation13/code/modules/surgery/organs/augments.dm @@ -9,3 +9,17 @@ hunger_threshold = NUTRITION_LEVEL_FULL poison_amount = 10 message = "" //no message cuz spam is annoying + +/obj/item/organ/cyberimp/chest/mobility + name = "Mobility Nanite Core" + desc = "This implant contains nanites that reinforce leg muscles, allowing for unimpeded movement at extreme weights." + icon_state = "chest_implant" + implant_color = "#9034db" + +/obj/item/organ/cyberimp/chest/mobility/Insert(mob/living/carbon/M, special = 0) + ..() + ADD_TRAIT(M, TRAIT_NO_FAT_SLOWDOWN, src) + +/obj/item/organ/cyberimp/chest/mobility/Remove(mob/living/carbon/M, special = 0) + REMOVE_TRAIT(M, TRAIT_NO_FAT_SLOWDOWN, src) + ..() diff --git a/GainStation13/code/obj/items/minor_items.dm b/GainStation13/code/obj/items/minor_items.dm index df0c0894..1f399acf 100644 --- a/GainStation13/code/obj/items/minor_items.dm +++ b/GainStation13/code/obj/items/minor_items.dm @@ -67,6 +67,11 @@ uses = 1 starting_organ = /obj/item/organ/cyberimp/chest/nutriment/turbo +/obj/item/autosurgeon/fat_mobility + desc = "A single use autosurgeon that contains a mobility nanite core. A screwdriver can be used to remove it, but implants can't be placed back in." + uses = 1 + starting_organ = /obj/item/organ/cyberimp/chest/mobility + //fast food restaurant - closed / open signs /obj/item/holosign_creator/restaurant name = "Holosign Projector - Restaurant Adverts" diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index ee902c1a..c4d71091 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -230,6 +230,7 @@ #define TRAIT_NO_BUCKLE "no_buckle" #define TRAIT_DOCILE "docile" #define TRAIT_LIVESTOCK "livestock" +#define TRAIT_NO_FAT_SLOWDOWN "no_fat_slowdown" // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 27e7fc32..ca373f92 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1893,7 +1893,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) // Hyperstation 13: Mood now influences action speed. - if(H.fatness) // GS13 + if(H.fatness && !HAS_TRAIT(H, TRAIT_NO_FAT_SLOWDOWN)) // GS13 var/fatness_delay = (H.fatness / FATNESS_DIVISOR) if(H.fatness < FATNESS_LEVEL_BARELYMOBILE) fatness_delay = fatness_delay - flight