Allow the Cloning Pod to accept monster meat as a source of biomass (#13216)

* Make monster meats food/snacks/meat/
Special case: they are not however cutlet-able.

* Revert "Make monster meats food/snacks/meat/"

This reverts commit 1c531d26a6.

* Make the Cloning Pod check for a BIOMASSABLE var on items it sucks in

Begone, hardcoded meat-only biomass!

* Try a different approach to cloning pod item filtering

Globaaaals!

* Adjust comments and remove old unreverted code

* Fix mapfile with lizardmeat in it

* Fix style

Implements all of @farie82's suggestions
This commit is contained in:
Nokko
2020-04-10 20:42:07 -07:00
committed by GitHub
parent f6ddfc6d60
commit e70e40546a
14 changed files with 74 additions and 49 deletions
@@ -77,7 +77,22 @@
new /obj/item/reagent_containers/food/snacks/raw_bacon(loc)
qdel(src)
/obj/item/reagent_containers/food/snacks/bearmeat
//////////////////////////
// Monster Meat //
//////////////////////////
// Cannot be used in the usual meat-based food recipies but can be used as cloning pod biomass.
/obj/item/reagent_containers/food/snacks/monstermeat
// Abstract object used for inheritance. I don't see why you would want one.
// It's just a convenience to set all monstermeats as biomass-able at once,
// in the GLOB.cloner_biomass_items list.
// DOES NOT SPAWN NATURALLY!
name = "abstract monster meat"
desc = "A slab of abstract monster meat. This shouldn't exist, contact a coder about this if you are seeing it in-game."
icon_state = "bearmeat"
/obj/item/reagent_containers/food/snacks/monstermeat/bearmeat
name = "bear meat"
desc = "A very manly slab of meat."
icon_state = "bearmeat"
@@ -86,7 +101,7 @@
list_reagents = list("protein" = 12, "morphine" = 5, "vitamin" = 2)
tastes = list("meat" = 1, "salmon" = 1)
/obj/item/reagent_containers/food/snacks/xenomeat
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat
name = "meat"
desc = "A slab of meat. It's green!"
icon_state = "xenomeat"
@@ -95,7 +110,7 @@
list_reagents = list("protein" = 3, "vitamin" = 1)
tastes = list("meat" = 1, "acid" = 1)
/obj/item/reagent_containers/food/snacks/spidermeat
/obj/item/reagent_containers/food/snacks/monstermeat/spidermeat
name = "spider meat"
desc = "A slab of spider meat. Not very appetizing."
icon_state = "spidermeat"
@@ -103,7 +118,7 @@
list_reagents = list("protein" = 3, "toxin" = 3, "vitamin" = 1)
tastes = list("cobwebs" = 1)
/obj/item/reagent_containers/food/snacks/lizardmeat
/obj/item/reagent_containers/food/snacks/monstermeat/lizardmeat
name = "mutant lizard meat"
desc = "A peculiar slab of meat. It looks scaly and radioactive."
icon_state = "xenomeat"
@@ -112,7 +127,7 @@
list_reagents = list("protein" = 3, "toxin" = 3)
tastes = list("tough meat" = 1)
/obj/item/reagent_containers/food/snacks/spiderleg
/obj/item/reagent_containers/food/snacks/monstermeat/spiderleg
name = "spider leg"
desc = "A still twitching leg of a giant spider. You don't really want to eat this, do you?"
icon_state = "spiderleg"
@@ -126,21 +141,21 @@
list_reagents = list("nutriment" = 1, "porktonium" = 10)
tastes = list("bacon" = 1)
/obj/item/reagent_containers/food/snacks/spidereggs
/obj/item/reagent_containers/food/snacks/monstermeat/spidereggs
name = "spider eggs"
desc = "A cluster of juicy spider eggs. A great side dish for when you don't care about your health."
icon_state = "spidereggs"
list_reagents = list("protein" = 2, "toxin" = 2)
tastes = list("cobwebs" = 1, "spider juice" = 1)
/obj/item/reagent_containers/food/snacks/goliath
/obj/item/reagent_containers/food/snacks/monstermeat/goliath
name = "goliath meat"
desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava."
icon_state = "goliathmeat"
list_reagents = list("protein" = 3, "toxin" = 5)
tastes = list("tough meat" = 1)
/obj/item/reagent_containers/food/snacks/goliath/burn()
/obj/item/reagent_containers/food/snacks/monstermeat/goliath/burn()
visible_message("<span class='notice'>[src] finishes cooking!</span>")
new /obj/item/reagent_containers/food/snacks/goliath_steak(loc)
qdel(src)
@@ -243,7 +258,7 @@
trash = null
list_reagents = list("protein" = 6, "vitamin" = 2)
tastes = list("meat" = 1)
/obj/item/reagent_containers/food/snacks/fried_vox
name = "Kentucky Fried Vox"
desc = "Bucket of voxxy, yaya!"
@@ -114,7 +114,7 @@
trash = /obj/item/stack/rods
icon = 'icons/obj/food/seafood.dmi'
icon_state = "shrimpskewer"
bitesize = 3
bitesize = 3
list_reagents = list("nutriment" = 8)
tastes = list("shrimp" = 4)
@@ -273,7 +273,6 @@
// reagents.add_reagent("nutriment", 2) // this line of code for all the contents.
// bitesize = 3 //This is the amount each bite consumes.
/obj/item/reagent_containers/food/snacks/badrecipe
name = "burned mess"
desc = "Someone should be demoted from chef for this."
@@ -112,7 +112,7 @@
/datum/recipe/grill/wingfangchu
reagents = list("soysauce" = 5)
items = list(
/obj/item/reagent_containers/food/snacks/xenomeat,
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat
)
result = /obj/item/reagent_containers/food/snacks/wingfangchu
@@ -228,11 +228,9 @@
result = /obj/item/reagent_containers/food/snacks/sushi_Tai
/datum/recipe/grill/goliath
items = list(
/obj/item/reagent_containers/food/snacks/goliath
)
items = list(/obj/item/reagent_containers/food/snacks/monstermeat/goliath)
result = /obj/item/reagent_containers/food/snacks/goliath_steak
/datum/recipe/grill/shrimp_skewer
items = list(
/obj/item/reagent_containers/food/snacks/shrimp,
@@ -87,8 +87,7 @@
/datum/recipe/microwave/xenoburger
items = list(
/obj/item/reagent_containers/food/snacks/bun,
/obj/item/reagent_containers/food/snacks/xenomeat
)
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat )
result = /obj/item/reagent_containers/food/snacks/xenoburger
/datum/recipe/microwave/fishburger
@@ -630,22 +629,22 @@ datum/recipe/microwave/slimesandwich
/datum/recipe/microwave/boiledspiderleg
reagents = list("water" = 10)
items = list(
/obj/item/reagent_containers/food/snacks/spiderleg,
/obj/item/reagent_containers/food/snacks/monstermeat/spiderleg
)
result = /obj/item/reagent_containers/food/snacks/boiledspiderleg
/datum/recipe/microwave/spidereggsham
reagents = list("sodiumchloride" = 1)
items = list(
/obj/item/reagent_containers/food/snacks/spidereggs,
/obj/item/reagent_containers/food/snacks/spidermeat,
/obj/item/reagent_containers/food/snacks/monstermeat/spidereggs,
/obj/item/reagent_containers/food/snacks/monstermeat/spidermeat
)
result = /obj/item/reagent_containers/food/snacks/spidereggsham
/datum/recipe/microwave/sashimi
reagents = list("soysauce" = 5)
items = list(
/obj/item/reagent_containers/food/snacks/spidereggs,
/obj/item/reagent_containers/food/snacks/monstermeat/spidereggs,
/obj/item/reagent_containers/food/snacks/carpmeat,
)
result = /obj/item/reagent_containers/food/snacks/sashimi
@@ -40,9 +40,9 @@
/obj/item/reagent_containers/food/snacks/dough,
/obj/item/reagent_containers/food/snacks/dough,
/obj/item/reagent_containers/food/snacks/dough,
/obj/item/reagent_containers/food/snacks/xenomeat,
/obj/item/reagent_containers/food/snacks/xenomeat,
/obj/item/reagent_containers/food/snacks/xenomeat,
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat,
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat,
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat,
/obj/item/reagent_containers/food/snacks/cheesewedge,
/obj/item/reagent_containers/food/snacks/cheesewedge,
/obj/item/reagent_containers/food/snacks/cheesewedge,
@@ -115,7 +115,7 @@
/datum/recipe/oven/xemeatpie
items = list(
/obj/item/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/reagent_containers/food/snacks/xenomeat,
/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat
)
result = /obj/item/reagent_containers/food/snacks/xemeatpie
@@ -2,7 +2,7 @@
name = "alien"
icon_state = "alien_s"
butcher_results = list(/obj/item/reagent_containers/food/snacks/xenomeat = 5, /obj/item/stack/sheet/animalhide/xeno = 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 5, /obj/item/stack/sheet/animalhide/xeno = 1)
var/obj/item/r_store = null
var/obj/item/l_store = null
var/caste = ""
@@ -11,7 +11,7 @@
response_disarm = "shoves"
response_harm = "hits"
speed = 0
butcher_results = list(/obj/item/reagent_containers/food/snacks/xenomeat = 3, /obj/item/stack/sheet/animalhide/xeno = 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 3, /obj/item/stack/sheet/animalhide/xeno = 1)
maxHealth = 125
health = 125
harm_intent_damage = 5
@@ -83,7 +83,7 @@
retreat_distance = 5
minimum_distance = 5
move_to_delay = 4
butcher_results = list(/obj/item/reagent_containers/food/snacks/xenomeat = 4, /obj/item/stack/sheet/animalhide/xeno = 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 4, /obj/item/stack/sheet/animalhide/xeno = 1)
projectiletype = /obj/item/projectile/neurotox
projectilesound = 'sound/weapons/pierce.ogg'
status_flags = 0
@@ -130,7 +130,7 @@
move_to_delay = 4
maxHealth = 400
health = 400
butcher_results = list(/obj/item/reagent_containers/food/snacks/xenomeat = 10, /obj/item/stack/sheet/animalhide/xeno = 2)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/xenomeat= 10, /obj/item/stack/sheet/animalhide/xeno = 2)
mob_size = MOB_SIZE_LARGE
gold_core_spawnable = NO_SPAWN
@@ -13,7 +13,7 @@
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
butcher_results = list(/obj/item/reagent_containers/food/snacks/bearmeat = 5, /obj/item/clothing/head/bearpelt = 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/bearmeat= 5, /obj/item/clothing/head/bearpelt = 1)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
@@ -18,7 +18,7 @@
turns_per_move = 5
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
butcher_results = list(/obj/item/reagent_containers/food/snacks/spidermeat = 2, /obj/item/reagent_containers/food/snacks/spiderleg = 8)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/spidermeat= 2, /obj/item/reagent_containers/food/snacks/monstermeat/spiderleg= 8)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
@@ -53,7 +53,7 @@
icon_state = "nurse"
icon_living = "nurse"
icon_dead = "nurse_dead"
butcher_results = list(/obj/item/reagent_containers/food/snacks/spidermeat = 2, /obj/item/reagent_containers/food/snacks/spiderleg = 8, /obj/item/reagent_containers/food/snacks/spidereggs = 4)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/spidermeat= 2, /obj/item/reagent_containers/food/snacks/monstermeat/spiderleg= 8, /obj/item/reagent_containers/food/snacks/monstermeat/spidereggs= 4)
maxHealth = 40
health = 40
@@ -89,7 +89,7 @@
throw_message = "does nothing to the tough hide of the"
pre_attack_icon = "goliath2"
crusher_loot = /obj/item/crusher_trophy/goliath_tentacle
butcher_results = list(/obj/item/reagent_containers/food/snacks/goliath = 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1, /obj/item/stack/sheet/bone = 2)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/goliath= 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1, /obj/item/stack/sheet/bone = 2)
loot = list()
stat_attack = UNCONSCIOUS
robust_searching = TRUE
@@ -113,7 +113,7 @@
pre_attack_icon = "Goliath_preattack"
throw_message = "does nothing to the rocky hide of the"
loot = list(/obj/item/stack/sheet/animalhide/goliath_hide) //A throwback to the asteroid days
butcher_results = list(/obj/item/reagent_containers/food/snacks/goliath = 2, /obj/item/stack/sheet/bone = 2)
butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/goliath= 2, /obj/item/stack/sheet/bone = 2)
crusher_drop_mod = 30
wander = FALSE
var/list/cached_tentacle_turfs