diff --git a/GainStation13/code/modules/mob/living/emote.dm b/GainStation13/code/modules/mob/living/emote.dm index 1362084c..511a2d53 100644 --- a/GainStation13/code/modules/mob/living/emote.dm +++ b/GainStation13/code/modules/mob/living/emote.dm @@ -18,3 +18,20 @@ if(ishuman(user)) playsound(user, 'GainStation13/sound/voice/burp1.ogg', 50, 1, -1) . = ..() + +/datum/emote/living/fart + key = "fart" + key_third_person = "farts" + message = " farts" + emote_type = EMOTE_AUDIBLE + +//Shhh... It's a secret! Don't tell or I'll steal your legs +/datum/emote/living/burunyu + key = "burunyu" + key_third_person = "burunyues" + message = " emits a strange feline sound" + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/burunyu/run_emote(mob/living/user, params) + playsound(user, 'GainStation13/sound/voice/funnycat.ogg', 50, 1, -1) + . = ..() diff --git a/GainStation13/sound/voice/funnycat.ogg b/GainStation13/sound/voice/funnycat.ogg new file mode 100644 index 00000000..18d61cb7 Binary files /dev/null and b/GainStation13/sound/voice/funnycat.ogg differ diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index ad1fe45e..4ebd447c 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -111,6 +111,7 @@ #define TRAIT_DEPRESSION "depression" #define TRAIT_JOLLY "jolly" #define TRAIT_HEADPAT_SLUT "headpat_slut" +#define TRAIT_WEAKLEGS "weak_legs" #define TRAIT_NOCRITDAMAGE "no_crit" #define TRAIT_NOSLIPWATER "noslip_water" #define TRAIT_NOSLIPALL "noslip_all" diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 18b2b4b6..5c8c7aa5 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -152,3 +152,11 @@ value = 0 category = CATEGORY_SEXUAL //Any better place to put it? Doesn't really affect gameplay medical_record_text = "Patient cares little with or dislikes being touched." + +/datum/quirk/weak_legs + name = "Weak legs" + desc = "Your legs can't handle the heaviest of charges. Being too fat will render you unable to move at all." + mob_trait = TRAIT_WEAKLEGS + value = 0 + category = CATEGORY_SEXUAL + medical_record_text = "Patient's legs seem to lack strength" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 19abee4f..ff28a645 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -256,7 +256,9 @@ if(nutrition < NUTRITION_LEVEL_STARVING - 50) msg += "[t_He] [t_is] severely malnourished.\n" - if(fatness >= FATNESS_LEVEL_IMMOBILE) + if(fatness >= FATNESS_LEVEL_BLOB) + msg += "[t_He] [t_is] completely engulfed in rolls upon rolls of flab. [t_His] head is poking out on top of [t_His] body, akin to a marble on top of a hill.\n" + else if(fatness >= FATNESS_LEVEL_IMMOBILE) msg += "[t_His] body is buried in an overflowing surplus of adipose, and [t_His] legs are completely buried beneath layers of meaty, obese flesh.\n" else if(fatness >= FATNESS_LEVEL_MORBIDLY_OBESE) msg += "[t_He] [t_is] utterly stuffed with abundant lard, [t_He] doesn't seem to be able to move much.\n" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 747b3898..74570991 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1540,6 +1540,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) . += (2 - flight) if(HAS_TRAIT(H, TRAIT_IMMOBILE)) . += 3 // No wings are going to lift that much off the ground + if(HAS_TRAIT(H, TRAIT_BLOB)) + . += 4 if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR return . diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e02957b3..0c83178a 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -85,8 +85,8 @@ if(!mob.Process_Spacemove(direct)) return FALSE - //if(HAS_TRAIT(mob,TRAIT_BLOB)) // GS13 are we too fat to move? (it was a bad idea) - // return FALSE + if(HAS_TRAIT(mob,TRAIT_BLOB) && HAS_TRAIT(mob,TRAIT_WEAKLEGS)) // GS13 are we too fat to move? + return FALSE //We are now going to move var/add_delay = mob.movement_delay() mob.set_glide_size(DELAY_TO_GLIDE_SIZE(add_delay * (((direct & 3) && (direct & 12)) ? 2 : 1))) // set it now in case of pulled objects