diff --git a/code/__defines/faction.dm b/code/__defines/faction.dm index 2d975b6cbb6..766c2d51aac 100644 --- a/code/__defines/faction.dm +++ b/code/__defines/faction.dm @@ -105,6 +105,7 @@ #define FACTION_SWARMER "swarmer" #define FACTION_TEPPI "teppi" #define FACTION_TUNNELCLOWN "tunnelclown" +#define FACTION_TURKEY "turkey" #define FACTION_WILD_ANIMAL "wild animal" #define FACTION_WOLFGIRL "wolfgirl" #define FACTION_WOLFTAUR "wolftaur" diff --git a/code/datums/supplypacks/hydroponics.dm b/code/datums/supplypacks/hydroponics.dm index 84712a9f74b..fad0054a36f 100644 --- a/code/datums/supplypacks/hydroponics.dm +++ b/code/datums/supplypacks/hydroponics.dm @@ -95,6 +95,13 @@ containername = "Chicken crate" access = access_hydroponics +/datum/supply_pack/hydro/turkey + name = "Turkey crate" + cost = 25 + containertype = /obj/structure/largecrate/animal/turkey + containername = "Turkey crate" + access = access_hydroponics + /datum/supply_pack/hydro/seeds name = "Seeds crate" contains = list( diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 41bab1e08f8..378ab6b450d 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -115,6 +115,12 @@ drop_sound = 'sound/items/drop/food.ogg' pickup_sound = 'sound/items/pickup/food.ogg' +/obj/item/trash/turkeybones + name = "turkey bones" + icon_state = "turkeybones" + drop_sound = 'sound/items/drop/food.ogg' + pickup_sound = 'sound/items/pickup/food.ogg' + /obj/item/trash/pistachios name = "pistachios packet" icon_state = "pistachios_pack" diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index 86b7c70f27f..5557a27cf79 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -127,6 +127,10 @@ name = "chicken crate" starts_with = list(/mob/living/simple_mob/animal/passive/chick = 5) +/obj/structure/largecrate/animal/turkey + name = "turkey crate" + starts_with = list(/mob/living/simple_mob/vore/turkey) + /obj/structure/largecrate/animal/catslug name = "catslug carrier" starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug) diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 08d40416daf..814ce55adc1 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -334,10 +334,14 @@ S.food_inserted_micros = list() S.food_inserted_micros += F food_inserted_micros -= F + on_slice_extra() qdel(src) return +/obj/item/reagent_containers/food/snacks/proc/on_slice_extra() + return + /obj/item/reagent_containers/food/snacks/MouseDrop_T(mob/living/M, mob/user) if(!user.stat && istype(M) && (M == user) && Adjacent(M) && (M.get_effective_size(TRUE) <= 0.50) && food_can_insert_micro) if(!food_inserted_micros) @@ -3510,6 +3514,7 @@ trash = /obj/item/trash/plate bitesize = 2 +/* OLD RECIPE /obj/item/reagent_containers/food/snacks/sliceable/turkey name = "turkey" desc = "Tastes like chicken." @@ -3536,6 +3541,51 @@ icon_state = "turkey_drumstick" trash = /obj/item/trash/plate bitesize = 2 +*/ + +/obj/item/reagent_containers/food/snacks/sliceable/turkey + name = "turkey" + desc = "Tastes like chicken." + icon = 'icons/obj/food.dmi' + icon_state = "roastturkey" + slice_path = /obj/item/reagent_containers/food/snacks/turkeyslice + slices_num = 6 + w_class = 2 + nutriment_amt = 20 + nutriment_desc = list("turkey" = 20) + bitesize = 5 + trash = /obj/item/trash/turkeybones + var/list/extra_product = list(/obj/item/reagent_containers/food/snacks/turkeydrumstick = 2, + /obj/item/trash/turkeybones = 1) + +/obj/item/reagent_containers/food/snacks/sliceable/turkey/Initialize() + . = ..() + reagents.add_reagent("blackpepper", 1) + reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent("cookingoil", 1) + +/obj/item/reagent_containers/food/snacks/sliceable/turkey/on_slice_extra() + for(var/i in extra_product) + for(var/j=1 to extra_product[i]) + new i(src.loc) + +/obj/item/reagent_containers/food/snacks/turkeyslice + name = "turkey'n'mash" + desc = "Turkey slices with some delicious stuffing." + icon = 'icons/obj/food.dmi' + icon_state = "roastturkeynmash" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/reagent_containers/food/snacks/turkeydrumstick + name = "turkey drumstick" + desc = "The best part!" + icon = 'icons/obj/food.dmi' + icon_state = "roastturkeydrumstick" + trash = null + nutriment_amt = 8 + nutriment_desc = list("turkey" = 20) + bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/suppermatter name = "suppermatter" diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm index 1cd1671a5f6..c08b33b8865 100644 --- a/code/modules/food/food/snacks/meat.dm +++ b/code/modules/food/food/snacks/meat.dm @@ -131,6 +131,16 @@ reagents.add_reagent("spidertoxin",6) reagents.remove_reagent("pacid",6) +/obj/item/reagent_containers/food/snacks/rawturkey + name = "raw turkey" + desc = "Naked and hollow." + icon_state = "rawturkey" + bitesize = 2.5 + +/obj/item/reagent_containers/food/snacks/rawturkey/Initialize() + . = ..() + reagents.add_reagent("protein", 10) + /obj/item/reagent_containers/food/snacks/meat/fox name = "foxmeat" desc = "The fox doesn't say a goddamn thing, now." diff --git a/code/modules/food/recipes_oven.dm b/code/modules/food/recipes_oven.dm index c8e043ecd5c..57a58cb57d5 100644 --- a/code/modules/food/recipes_oven.dm +++ b/code/modules/food/recipes_oven.dm @@ -33,6 +33,7 @@ reagent_mix = RECIPE_REAGENT_REPLACE result = /obj/item/reagent_containers/food/snacks/ribplate +/* OLD RECIPE /datum/recipe/turkey appliance = OVEN reagents = list("sodiumchloride" = 1, "blackpepper" = 1) @@ -41,6 +42,17 @@ /obj/item/reagent_containers/food/snacks/stuffing ) result = /obj/item/reagent_containers/food/snacks/sliceable/turkey +*/ + +/datum/recipe/turkey + appliance = OVEN + fruit = list("potato" = 1) + reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + items = list( + /obj/item/reagent_containers/food/snacks/rawturkey, + /obj/item/reagent_containers/food/snacks/stuffing + ) + result = /obj/item/reagent_containers/food/snacks/sliceable/turkey /datum/recipe/tofurkey appliance = OVEN diff --git a/code/modules/mob/living/butchering.dm b/code/modules/mob/living/butchering.dm index 05e064acbe8..ad1eecfba60 100644 --- a/code/modules/mob/living/butchering.dm +++ b/code/modules/mob/living/butchering.dm @@ -3,6 +3,7 @@ /mob/living var/meat_amount = 0 // How much meat to drop from this mob when butchered var/obj/meat_type // The meat object to drop + var/name_the_meat = TRUE var/gib_on_butchery = FALSE var/butchery_drops_organs = TRUE // Do we spawn and/or drop organs when butchered? @@ -17,7 +18,8 @@ being_butchered = TRUE while(meat_amount > 0 && do_after(user, 0.5 SECONDS * (mob_size / 10), src)) var/obj/item/meat = new meat_type(get_turf(src)) - meat.name = "[src.name] [meat.name]" + if(name_the_meat) + meat.name = "[src.name] [meat.name]" new /obj/effect/decal/cleanable/blood/splatter(get_turf(src)) meat_amount-- being_butchered = FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm b/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm index 430e6efd4a3..73005bc9b9b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm @@ -9,7 +9,7 @@ icon_rest = "wah_rest" icon = 'icons/mob/vore.dmi' - faction = FACTION_REDPANDA //stop naming stuff vaguely + faction = FACTION_REDPANDA maxHealth = 30 health = 30 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/turkey.dm b/code/modules/mob/living/simple_mob/subtypes/vore/turkey.dm new file mode 100644 index 00000000000..1b599f74f82 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/vore/turkey.dm @@ -0,0 +1,43 @@ +/mob/living/simple_mob/vore/turkey + name = "turkey" + desc = "A large turkey, all ready for stuffing." + tt_desc = "Meleagris gallopavo" + + icon_state = "turkey" + icon_living = "turkey" + icon_dead = "turkeydead" + icon_rest = "turkeyrest" + icon = 'icons/mob/vore.dmi' + + faction = FACTION_TURKEY + maxHealth = 25 + health = 25 + + meat_amount = 1 + meat_type = /obj/item/reagent_containers/food/snacks/rawturkey + name_the_meat = FALSE + + response_help = "pats" + response_disarm = "gently pushes aside" + response_harm = "hits" + + harm_intent_damage = 3 + melee_damage_lower = 3 + melee_damage_upper = 1 + attacktext = list("pecked") + + say_list_type = /datum/say_list/turkey + ai_holder_type = /datum/ai_holder/simple_mob/passive + + allow_mind_transfer = TRUE + + vore_active = 1 + vore_bump_chance = 10 + vore_bump_emote = "greedily leaps at" + vore_default_mode = DM_HOLD + vore_icons = SA_ICON_LIVING + +/datum/say_list/turkey + speak = list("GOBBLEGOBBLE!","Gobble?","Gobblegobble...") + emote_hear = list("gobbles!") + emote_see = list("flaps its wings","pecks something on the floor","puffs up its feathers") diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi index 67209c83d73..33cc2020b06 100644 Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 0729f894288..0133201cba5 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 8866b481c1d..482452e8ecc 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 9700e51060f..6cfbf26f078 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3209,7 +3209,6 @@ #include "code\modules\mob\living\simple_mob\taming.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\animal.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\squirrel.dm" -#include "code\modules\mob\living\simple_mob\subtypes\animal\turkeygirl.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\catslug.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\jellyfish.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\skeleton.dm" @@ -3408,6 +3407,7 @@ #include "code\modules\mob\living\simple_mob\subtypes\vore\sonadile.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\stalker.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\succubi.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\turkey.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\vampire.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\vore.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\vore_hostile.dm"