Skip to content

Commit

Permalink
Working Joes can no longer eat (#3828)
Browse files Browse the repository at this point in the history
# About the pull request

Mechanically prevents eating and being force-fed as a Joe

# Explain why it's good for the game

While not worried about the Joe itself eating the Burger, it physically
does not have anything to feed the burger to (The mouth is mostly
aesthetic with a speaker). As such, it makes no sense that you can feed
food into a Working Joe, and should not be possible.

# Changelog
:cl:
del: Working Joes can no longer be fed.
code: New trait: Cannot eat. Self-explanatory.
/:cl:

---------

Co-authored-by: harryob <[email protected]>
  • Loading branch information
Ben10083 and harryob authored Jul 7, 2023
1 parent 6cb1a17 commit 6aae27c
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
5 changes: 4 additions & 1 deletion code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
#define TRAIT_SUPER_STRONG "t_super_strong"
/// Foreign biology. Basic medHUDs won't show the mob. (Yautja, Zombies)
#define TRAIT_FOREIGN_BIO "t_foreign_bio"
/// Eye color changes on intent. (G1 Synths)
/// Eye color changes on intent. (G1 Synths and WJs)
#define TRAIT_INTENT_EYES "t_intent_eyes"
/// Masked synthetic biology. Basic medHUDs will percieve the mob as human. (Infiltrator Synths)
#define TRAIT_INFILTRATOR_SYNTH "t_infiltrator_synth"
Expand Down Expand Up @@ -157,6 +157,8 @@
#define TRAIT_LEADERSHIP "t_leadership"
/// If the mob can see the reagents contents of stuff
#define TRAIT_REAGENT_SCANNER "reagent_scanner"
/// If the mob cannot eat/be fed
#define TRAIT_CANNOT_EAT "t_cannot_eat"
/// If the mob is being lazed by a sniper spotter
#define TRAIT_SPOTTER_LAZED "t_spotter_lazed"
/// If the mob has ear protection. Protects from external ear damage effects. Includes explosions, firing the RPG, screeching DEAFNESS only, and flashbangs.
Expand Down Expand Up @@ -261,6 +263,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_BIMEX" = TRAIT_BIMEX,
"TRAIT_EMOTE_CD_EXEMPT" = TRAIT_EMOTE_CD_EXEMPT,
"TRAIT_LISPING" = TRAIT_LISPING,
"TRAIT_CANNOT_EAT" = TRAIT_CANNOT_EAT,
),
/mob/living/carbon/xenomorph = list(
"TRAIT_ABILITY_NO_PLASMA_TRANSFER" = TRAIT_ABILITY_NO_PLASMA_TRANSFER,
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/items/reagent_containers/food/snacks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@
if(issynth(C))
fullness = 200 //Synths never get full

if(HAS_TRAIT(M, TRAIT_CANNOT_EAT)) //Do not feed the Working Joes
to_chat(user, SPAN_DANGER("[user == M ? "You are" : "[M] is"] unable to eat!"))
return

if(fullness > 540)
C.overeat_cooldown = world.time + OVEREAT_TIME

Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/species/synthetic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
name_plural = "Working Joes"
uses_ethnicity = FALSE
burn_mod = 0.65 // made for hazardous environments, withstanding temperatures up to 1210 degrees
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES, TRAIT_EMOTE_CD_EXEMPT)
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES, TRAIT_EMOTE_CD_EXEMPT, TRAIT_CANNOT_EAT)

slowdown = 0.45
hair_color = "#000000"
Expand Down

0 comments on commit 6aae27c

Please sign in to comment.