Improves Donkcode (#7177)

Donk Pockets can now be heated properly in a microwave, they gain additional nutriment, animal protein and healing juice.
    Sin-Pockets now heat properly when used in hand, heats instantly, and gives slightly more hyperzine and synaptizine than before.

A curious side-effect I encountered in testing. You have to chew a lot more with the added reagents. But the benefit outweighs the consequence. Also, a traitor ravenously chewing a sin-pocket with a revolver in the other hand, bleeding profusely from everywhere, makes me giggle like a child.

Resolves #6802
This commit is contained in:
Geeves
2019-10-27 23:02:13 +02:00
committed by Erki
parent 9094813749
commit 0f8bfb2793
3 changed files with 77 additions and 71 deletions
+3 -31
View File
@@ -1,24 +1,6 @@
// see code/datums/recipe.dm
/* No telebacon. just no...
/datum/recipe/telebacon
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/device/assembly/signaler
)
result = /obj/item/weapon/reagent_containers/food/snacks/telebacon
I said no!
/datum/recipe/syntitelebacon
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
/obj/item/device/assembly/signaler
)
result = /obj/item/weapon/reagent_containers/food/snacks/telebacon
*/
/datum/recipe/friedegg
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
items = list(
@@ -146,23 +128,13 @@ I said no!
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/meatball
)
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL
proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked)
being_cooked.heat()
make_food(var/obj/container as obj)
. = ..(container)
for (var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/D in .)
if (!D.warm)
warm_up(D)
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //does it make sense for newly made donk to come out cold? no, do I care? coincidentally, also no.
/datum/recipe/donkpocket/warm
reagents = list() //This is necessary since this is a child object of the above recipe and we don't want donk pockets to need flour
/datum/recipe/hotdiggitydonk //heated donk
items = list(
/obj/item/weapon/reagent_containers/food/snacks/donkpocket
)
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm
/datum/recipe/omelette
items = list(
@@ -1014,61 +1014,53 @@
reagents.add_reagent("batter", 2)
reagents.add_reagent("oil", 2)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket
name = "\improper Sin-pocket"
desc = "The food of choice for the veteran. Do <B>NOT</B> overconsume."
filling_color = "#6D6D00"
heated_reagents = list("doctorsdelight" = 5, "hyperzine" = 0.75, "synaptizine" = 0.25)
var/has_been_heated = 0
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user)
if(has_been_heated)
to_chat(user, "<span class='notice'>The heating chemicals have already been spent.</span>")
return
has_been_heated = 1
user.visible_message("<span class='notice'>[user] crushes \the [src] package.</span>", "You crush \the [src] package and feel a comfortable heat build up.")
spawn(200)
to_chat(user, "You think \the [src] is ready to eat about now.")
heat()
/obj/item/weapon/reagent_containers/food/snacks/donkpocket
name = "Donk-pocket"
desc = "The food of choice for the seasoned traitor."
desc = "The cold, reheatable food of choice for the seasoned spaceman."
icon_state = "donkpocket"
filling_color = "#DEDEAB"
center_of_mass = list("x"=16, "y"=10)
nutriment_desc = list("heartiness" = 1, "dough" = 2)
nutriment_amt = 2
var/warm = 0
var/list/heated_reagents = list("tricordrazine" = 5)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/Initialize()
. = ..()
reagents.add_reagent("protein", 2)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/proc/heat()
warm = 1
for(var/reagent in heated_reagents)
reagents.add_reagent(reagent, heated_reagents[reagent])
bitesize = 6
name = "Warm " + name
cooltime()
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm
name = "cooked Donk-pocket"
desc = "The cooked, reheatable food of choice for the seasoned spaceman."
nutriment_desc = list("warm heartiness" = 1, "dough" = 2)
nutriment_amt = 3
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/proc/cooltime()
if (src.warm)
addtimer(CALLBACK(src, .proc/cool_down))
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm/Initialize()
. = ..()
reagents.add_reagent("protein", 1)
reagents.add_reagent("tricordrazine", 5)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/proc/cool_down()
warm = FALSE
for(var/reagent in heated_reagents)
reagents.del_reagent(reagent)
name = initial(name)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket
name = "\improper Sin-pocket"
desc = "The food of choice for the veteran. Do <B>NOT</B> overconsume. Use it in hand to heat and release chemicals."
nutriment_desc = list("delicious cruelty" = 1, "dough" = 2)
filling_color = "#6D6D00"
nutriment_amt = 3
var/has_been_heated = FALSE
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/cook()
..()
if (!warm)
heat()
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket/Initialize()
. = ..()
reagents.add_reagent("protein", 1)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user)
if(has_been_heated)
to_chat(user, "<span class='notice'>The heating chemicals have already been spent.</span>")
return
has_been_heated = TRUE
user.visible_message("<span class='notice'>[user] crushes \the [src] package.</span>", "You crush \the [src] package and feel it rapidly heat up.")
name = "cooked Sin-pocket"
desc = "The food of choice for the veteran. Do <B>NOT</B> overconsume."
reagents.add_reagent("doctorsdelight", 5)
reagents.add_reagent("hyperzine", 1.5)
reagents.add_reagent("synaptizine", 1.25)
/obj/item/weapon/reagent_containers/food/snacks/burger/brain
name = "brainburger"