mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Donk Pocket Cooling 2: The Reworkening (#20453)
* donk pocket rework
* Snowball had a far more sensible way to do this
* lewcc review
* Sirryan review
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
* I fix?
* Revert "I fix?"
This reverts commit 1517d2e21e.
* please work you stupid .dmi
* WORK DAMN YOU
* will this hypothetically work
* re-adds syndie donk kit
* documented these
* just return
* clause guarded
---------
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
@@ -468,6 +468,14 @@
|
||||
reqs = list(/obj/item/paper = 5)
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/donk_box
|
||||
name = "Donk Pocket Box"
|
||||
result = list(/obj/item/storage/box/donkpockets/empty)
|
||||
time = 10
|
||||
reqs = list(/obj/item/storage/box,
|
||||
/obj/item/stack/sheet/plastic,
|
||||
/obj/item/stack/sheet/metal)
|
||||
|
||||
/datum/crafting_recipe/flashlight_eyes
|
||||
name = "Flashlight Eyes"
|
||||
result = list(/obj/item/organ/internal/eyes/cybernetic/flashlight)
|
||||
|
||||
@@ -114,9 +114,47 @@
|
||||
filling_color = "#DEDEAB"
|
||||
list_reagents = list("nutriment" = 4)
|
||||
tastes = list("meat" = 2, "dough" = 2, "laziness" = 1)
|
||||
/// Is the donk pocket warm or has it cooled - this affects what chemicals it yields when consumed
|
||||
var/warm = TRUE
|
||||
/// This stores the timer for how long the donk pocket takes to cool, seven minutes, that is paused inside of a donk pocket box
|
||||
var/cool_timer
|
||||
/// This is used to check the world time when the donk pocket was heated or last removed from a donk pocket box, for restarting the timer
|
||||
var/heated_at
|
||||
/// This tracks how much time the donk pocket has already been cooling for when its timer is paused
|
||||
var/subtracted_time = 0
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket/Initialize(mapload)
|
||||
. = ..()
|
||||
donk_heat()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket/proc/donk_heat()
|
||||
heated_at = world.time
|
||||
cool_timer = addtimer(CALLBACK(src, PROC_REF(donk_cool)), 7 MINUTES - subtracted_time, TIMER_UNIQUE|TIMER_STOPPABLE)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket/proc/donk_cool()
|
||||
name = "cold Donk-pocket"
|
||||
desc = "The food of choice for the seasoned traitor. This one is cold."
|
||||
warm = FALSE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket/on_enter_storage(obj/item/storage/S)
|
||||
. = ..()
|
||||
if(!cool_timer)
|
||||
return
|
||||
if(istype(S, /obj/item/storage/box/donkpockets))
|
||||
deltimer(cool_timer)
|
||||
subtracted_time += (world.time - heated_at)
|
||||
cool_timer = null
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket/on_exit_storage(obj/item/storage/S)
|
||||
. = ..()
|
||||
if(warm)
|
||||
donk_heat()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket/Post_Consume(mob/living/M)
|
||||
M.reagents.add_reagent("omnizine", 15)
|
||||
if(warm)
|
||||
M.reagents.add_reagent("omnizine", 15)
|
||||
return
|
||||
M.reagents.add_reagent("weak_omnizine", 5)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket_weak
|
||||
name = "lukewarm Donk-pocket"
|
||||
|
||||
@@ -334,9 +334,9 @@
|
||||
|
||||
qdel(O)
|
||||
source.reagents.clear_reagents()
|
||||
|
||||
var/reagents_per_serving = temp_reagents.total_volume / efficiency
|
||||
for(var/i in 1 to efficiency) // Extra servings when upgraded, ingredient reagents split equally
|
||||
var/portions = recipe.duplicate ? efficiency : 1
|
||||
var/reagents_per_serving = temp_reagents.total_volume / portions
|
||||
for(var/i in 1 to portions) // Extra servings when upgraded, ingredient reagents split equally
|
||||
var/obj/cooked = new recipe.result(loc)
|
||||
temp_reagents.trans_to(cooked, reagents_per_serving, no_react = TRUE) // Don't react with the abstract holder please
|
||||
temp_reagents.clear_reagents()
|
||||
@@ -347,7 +347,7 @@
|
||||
|
||||
if(istype(source, /obj/item/mixing_bowl)) // Cooking in mixing bowls returns them dirtier
|
||||
var/obj/item/mixing_bowl/mb = source
|
||||
mb.make_dirty(5 * efficiency)
|
||||
mb.make_dirty(5 * portions)
|
||||
mb.forceMove(loc)
|
||||
|
||||
stop()
|
||||
|
||||
@@ -155,11 +155,19 @@
|
||||
result = /obj/item/reagent_containers/food/snacks/donkpocket
|
||||
|
||||
/datum/recipe/microwave/warmdonkpocket
|
||||
duplicate = FALSE
|
||||
items = list(
|
||||
/obj/item/reagent_containers/food/snacks/donkpocket
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/warmdonkpocket
|
||||
|
||||
/datum/recipe/microwave/reheatwarmdonkpocket
|
||||
duplicate = FALSE
|
||||
items = list(
|
||||
/obj/item/reagent_containers/food/snacks/warmdonkpocket
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/warmdonkpocket
|
||||
|
||||
/datum/recipe/microwave/eggplantparm
|
||||
items = list(
|
||||
/obj/item/reagent_containers/food/snacks/cheesewedge,
|
||||
|
||||
Reference in New Issue
Block a user