Skip to content

Commit

Permalink
Synthflesh and Predalien Butchering of Synthetics Revamp (#3910)
Browse files Browse the repository at this point in the history
# About the pull request

Predalien butcher now makes synthetic meat from synths, and cannot make
meat from Working joes (still get gibbed though). At request of the
council, new meat subtype under synthflesh for when this occurs. Meat is
slightly toxic.

# Explain why it's good for the game

Working Joes turning into edible meat has terrifying undertones and
shouldn't happen, synthetics now make special meat when butchered by
predalien

# Changelog
:cl:
fix: Working Joes no longer spawn meat when butchered by Abominations
fix: Synthetics now are butchered into synthflesh when butchered by
Abominations
add: special meat subtype 'synthflesh' if Synthetics get butchered. Uses
same recipes as synthmeat
imageadd: synthflesh sprite
/:cl:

---------

Co-authored-by: harryob <[email protected]>
  • Loading branch information
Ben10083 and harryob authored Jul 24, 2023
1 parent 8b52ba5 commit 2dec797
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 11 deletions.
2 changes: 1 addition & 1 deletion code/datums/recipe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@
/datum/recipe/syntikabob
items = list(
/obj/item/stack/rods,
/obj/item/reagent_container/food/snacks/meat/syntiflesh,
/obj/item/reagent_container/food/snacks/meat/synthmeat,
)
result = /obj/item/reagent_container/food/snacks/monkeykabob

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
var/gut_icon_state = null
var/gut_time = 3
var/initial_desc = ""
var/list/guttable_atoms = list(/obj/item/reagent_container/food/snacks/meat, /obj/item/reagent_container/food/snacks/meat/syntiflesh)//placeholders, for now
var/list/guttable_atoms = list(/obj/item/reagent_container/food/snacks/meat, /obj/item/reagent_container/food/snacks/meat/synthmeat)//placeholders, for now
var/base_gut_meat = /obj/item/reagent_container/food/snacks/meat
//slice_path = null//
//slices_num
Expand Down
12 changes: 11 additions & 1 deletion code/game/objects/items/reagent_containers/food/snacks/meat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,20 @@
else
..()

/obj/item/reagent_container/food/snacks/meat/syntiflesh
/obj/item/reagent_container/food/snacks/meat/synthmeat
name = "synthetic meat"
desc = "A synthetic slab of flesh."

/obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh //meat made from synthetics. Slightly toxic
name = "synthetic flesh"
desc = "A slab of artificial, inorganic 'flesh' that resembles human meat. Probably came from a synth."
icon_state = "synthmeat"
filling_color = "#ffffff"

/obj/item/reagent_container/food/snacks/meat/synthmeat/synthetic/Initialize()
. = ..()
reagents.add_reagent("pacid", 1.5)

/obj/item/reagent_container/food/snacks/meat/human
name = "human meat"
desc = "A slab of flesh for cannibals."
Expand Down
12 changes: 9 additions & 3 deletions code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,18 @@ Your health meter will not regenerate normally, so kill and die for the hive!</s
to_chat(xeno, SPAN_XENONOTICE("You decide not to butcher [victim]"))
return TRUE

if(ishuman(victim))
if(ishuman(victim) && !isworkingjoe(victim)) //No joe meat, can still gib it though
var/mob/living/carbon/human/human_victim = victim

var/flesh_type = /obj/item/reagent_container/food/snacks/meat
var/flesh = "meat"
if(issynth(human_victim))
flesh_type = /obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh
flesh = "synthetic flesh"
for(var/i in 1 to 3)
var/obj/item/reagent_container/food/snacks/meat/h_meat = new(human_victim.loc)
h_meat.name = "[human_victim.name] meat"
var/obj/item/reagent_container/food/snacks/meat/new_meat = new flesh_type(human_victim.loc)
new_meat.name = "[human_victim.name] [flesh]"


else if (isxeno(victim))
var/mob/living/carbon/xenomorph/xeno_victim = victim
Expand Down
10 changes: 5 additions & 5 deletions code/modules/reagents/chemistry_reactions/food_drink.dm
Original file line number Diff line number Diff line change
Expand Up @@ -160,16 +160,16 @@
new /obj/item/reagent_container/food/snacks/sliceable/cheesewheel/immature(location)


/datum/chemical_reaction/syntiflesh
name = "Syntiflesh"
id = "syntiflesh"
/datum/chemical_reaction/synthmeat
name = "synthmeat"
id = "synthmeat"
result = null
required_reagents = list("blood" = 5, "clonexadone" = 1)
result_amount = 1

/datum/chemical_reaction/syntiflesh/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/synthmeat/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
new /obj/item/reagent_container/food/snacks/meat/syntiflesh(location)
new /obj/item/reagent_container/food/snacks/meat/synthmeat(location)


/datum/chemical_reaction/hot_ramen
Expand Down
Binary file modified icons/obj/items/food.dmi
Binary file not shown.

0 comments on commit 2dec797

Please sign in to comment.