Skip to content

Commit

Permalink
coocking_appliances
Browse files Browse the repository at this point in the history
  • Loading branch information
Zert0X committed Jun 22, 2024
1 parent f0a0aa2 commit 7126001
Show file tree
Hide file tree
Showing 12 changed files with 2,597 additions and 0 deletions.
10 changes: 10 additions & 0 deletions code/modules/cooking/coocking_appliances/appliance_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/obj/machinery/cooking_with_jane
name = "Default Cooking Appliance"
desc = "Lookit me, I'm a cool machinery-doo. Hex didn't take his focus pills today."
icon = 'icons/obj/kitchen.dmi'
icon_state = "processor"
density = TRUE
anchored = TRUE
layer = BELOW_OBJ_LAYER
var/cooking = FALSE

18 changes: 18 additions & 0 deletions code/modules/cooking/coocking_appliances/candy.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/obj/machinery/cooker/candy
name = "candy machine"
desc = "Get yer candied cheese wheels here!"
icon_state = "mixer_off"
off_icon = "mixer_off"
on_icon = "mixer_on"
cook_type = "candied"

output_options = list(
"Jawbreaker" = /obj/item/reagent_containers/food/variable/jawbreaker,
"Candy Bar" = /obj/item/reagent_containers/food/candy/variable,
"Sucker" = /obj/item/reagent_containers/food/variable/sucker,
"Jelly" = /obj/item/reagent_containers/food/variable/jelly
)

/obj/machinery/cooker/candy/change_product_appearance()
food_color = get_random_colour(1)
. = ..()
38 changes: 38 additions & 0 deletions code/modules/cooking/coocking_appliances/cereal.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/obj/machinery/cooker/cereal
name = "cereal maker"
desc = "Now with Dann O's available!"
icon = 'icons/obj/cooking_machines.dmi'
icon_state = "cereal_off"
cook_type = "cerealized"
on_icon = "cereal_on"
off_icon = "cereal_off"
output_options = list("Cereal" = /obj/item/reagent_containers/food/variable/cereal)
selected_option = "Cereal"

/obj/machinery/cooker/cereal/change_product_strings(atom/movable/product, atom/movable/origin)
. = ..()
product.SetName("box of [product.name]")
return product

/obj/machinery/cooker/cereal/change_product_appearance(obj/item/reagent_containers/food/variable/cereal/product, atom/movable/origin)
ClearOverlays()
var/icon/background = icon(product.icon, "[product.icon_state]_filling")
var/origin_color
if(istype(origin, /obj/item/reagent_containers/food))
var/obj/item/reagent_containers/food/S = origin
origin_color = S.filling_color
else
origin_color = origin.color
if(origin_color)
background.Blend(origin_color, ICON_SUBTRACT) // Invert
product.filling_color = origin_color

product.AddOverlays(background)

var/image/food_image = image(origin.icon, origin.icon_state)
food_image.color = origin.color
food_image.CopyOverlays(origin)
food_image.SetTransform(scale = 0.5)
food_image.pixel_y = 2
product.AddOverlays(food_image)
return product
27 changes: 27 additions & 0 deletions code/modules/cooking/coocking_appliances/cooking_circuits.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/obj/item/electronics/circuitboard/cooking_with_jane/stove
name = "Circuit board (Stovetop)"
build_path = /obj/machinery/cooking_with_jane/stove
board_type = "machine"
origin_tech = list(TECH_BIO = 1)
req_components = list(
/obj/item/stock_parts/manipulator = 2, //Affects the food quality
)

/obj/item/electronics/circuitboard/cooking_with_jane/oven
name = "Circuit board (Convection Oven)"
build_path = /obj/machinery/cooking_with_jane/oven
board_type = "machine"
origin_tech = list(TECH_BIO = 1)
req_components = list(
/obj/item/stock_parts/micro_laser = 2, //Affects the food quality
)

/obj/item/electronics/circuitboard/cooking_with_jane/grill
name = "Circuit board (Charcoal Grill)"
build_path = /obj/machinery/cooking_with_jane/grill
board_type = "machine"
origin_tech = list(TECH_BIO = 1)
req_components = list(
/obj/item/stock_parts/micro_laser = 2, //Affects the food quality
/obj/item/stock_parts/matter_bin = 2, //Affects wood hopper size
)
50 changes: 50 additions & 0 deletions code/modules/cooking/coocking_appliances/fryer.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/obj/machinery/cooker/fryer
name = "deep fryer"
desc = "Deep fried <i>everything</i>."
icon_state = "fryer_off"
cook_type = "deep fried"
on_icon = "fryer_on"
off_icon = "fryer_off"
food_color = "#ffad33"

/obj/machinery/cooker/fryer/hurt_big_mob(mob/living/victim, mob/user)

if(!istype(victim))
return

user.visible_message("<span class='danger'>\The [user] starts pushing \the [victim] into \the [src]!</span>")
icon_state = on_icon
is_cooking = 1

if(!do_mob(user, victim, 20))
is_cooking = 0
icon_state = off_icon
return

if(!victim || !victim.Adjacent(user))
to_chat(user, "<span class='danger'>Your victim slipped free!</span>")
is_cooking = 0
icon_state = off_icon
return

var/target_zone = user.zone_sel.selecting
if(ishuman(victim) && !(target_zone in list(BP_GROIN, BP_CHEST)))
var/mob/living/carbon/human/H = victim
var/obj/item/organ/external/E = H.get_organ(target_zone)
if(!E)
to_chat(user, "<span class='warning'>They are missing that body part!</span>")
else
visible_message("<span class='danger'>\The [user] shoves \the [victim][E ? "'s [E.name]" : ""] into \the [src]!</span>")
var/blocked = H.run_armor_check(target_zone, "energy")
H.apply_damage(rand(20,30), BURN, target_zone, blocked)

else
var/blocked = victim.run_armor_check(null, "energy")
victim.apply_damage(rand(30,40), BURN, null, blocked)

if(victim)
admin_attack_log(user, victim, "Has [cook_type] their victim in \a [src]", "Has been [cook_type] in \a [src] by the attacker.", "[cook_type], in \a [src], ")

icon_state = off_icon
is_cooking = 0
return
Loading

0 comments on commit 7126001

Please sign in to comment.