From ddfc9e57474d28f3ede033b4236d2041513ee211 Mon Sep 17 00:00:00 2001 From: Metis <100518708+sheepishgoat@users.noreply.github.com> Date: Wed, 4 Sep 2024 21:49:58 -0400 Subject: [PATCH] the implant --- .../code/modules/surgery/organs/augments.dm | 14 ++++++++++++++ GainStation13/code/obj/items/minor_items.dm | 5 +++++ code/__DEFINES/traits.dm | 1 + code/modules/mob/living/carbon/human/species.dm | 2 +- 4 files changed, 21 insertions(+), 1 deletion(-) 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