Date: Fri, 7 Feb 2020 10:59:43 +0200
Subject: [PATCH 014/175] Reworks solars
---
code/__DEFINES/components.dm | 4 +
code/__DEFINES/power.dm | 3 +
code/controllers/subsystem/sun.dm | 67 ++--
.../bloodsucker/bloodsucker_objectives.dm | 4 +-
.../bloodsucker/datum_bloodsucker.dm | 17 +-
code/modules/power/solar.dm | 357 +++++++++---------
code/modules/power/tracker.dm | 61 ++-
tgstation.dme | 1 +
8 files changed, 241 insertions(+), 273 deletions(-)
create mode 100644 code/__DEFINES/power.dm
diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm
index 0efd5a1f79..dabb4c3c43 100644
--- a/code/__DEFINES/components.dm
+++ b/code/__DEFINES/components.dm
@@ -33,6 +33,10 @@
#define COMSIG_GLOB_NEW_Z "!new_z" //from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
#define COMSIG_GLOB_VAR_EDIT "!var_edit" //called after a successful var edit somewhere in the world: (list/args)
#define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special" //global living say plug - use sparingly: (mob/speaker , message)
+
+// signals from globally accessible objects
+/// from SSsun when the sun changes position : (azimuth)
+#define COMSIG_SUN_MOVED "sun_moved"
//////////////////////////////////////////////////////////////////
// /datum signals
diff --git a/code/__DEFINES/power.dm b/code/__DEFINES/power.dm
new file mode 100644
index 0000000000..78d942d78b
--- /dev/null
+++ b/code/__DEFINES/power.dm
@@ -0,0 +1,3 @@
+#define SOLAR_TRACK_OFF 0
+#define SOLAR_TRACK_TIMED 1
+#define SOLAR_TRACK_AUTO 2
diff --git a/code/controllers/subsystem/sun.dm b/code/controllers/subsystem/sun.dm
index 7a3528cc3d..442329cf46 100644
--- a/code/controllers/subsystem/sun.dm
+++ b/code/controllers/subsystem/sun.dm
@@ -1,49 +1,32 @@
SUBSYSTEM_DEF(sun)
name = "Sun"
- wait = 600
- flags = SS_NO_TICK_CHECK|SS_NO_INIT
- var/angle
- var/dx
- var/dy
- var/rate
- var/list/solars = list()
-
-/datum/controller/subsystem/sun/PreInit()
- angle = rand (0,360) // the station position to the sun is randomised at round start
- rate = rand(50,200)/100 // 50% - 200% of standard rotation
- if(prob(50)) // same chance to rotate clockwise than counter-clockwise
- rate = -rate
-
-/datum/controller/subsystem/sun/stat_entry(msg)
- ..("P:[solars.len]")
-
-/datum/controller/subsystem/sun/fire()
- angle = (360 + angle + rate * 6) % 360 // increase/decrease the angle to the sun, adjusted by the rate
-
- // now calculate and cache the (dx,dy) increments for line drawing
- var/s = sin(angle)
- var/c = cos(angle)
-
- // Either "abs(s) < abs(c)" or "abs(s) >= abs(c)"
- // In both cases, the greater is greater than 0, so, no "if 0" check is needed for the divisions
-
- if(abs(s) < abs(c))
- dx = s / abs(c)
- dy = c / abs(c)
- else
- dx = s / abs(s)
- dy = c / abs(s)
-
- //now tell the solar control computers to update their status and linked devices
- for(var/obj/machinery/power/solar_control/SC in solars)
- if(!SC.powernet)
- solars.Remove(SC)
- continue
- SC.update()
-
-
+ wait = 1 MINUTES
+ flags = SS_NO_TICK_CHECK
+ var/azimuth = 0 ///clockwise, top-down rotation from 0 (north) to 359
+ var/azimuth_mod = 1 ///multiplier against base_rotation
+ var/base_rotation = 6 ///base rotation in degrees per fire
+/datum/controller/subsystem/sun/Initialize(start_timeofday)
+ azimuth = rand(0, 359)
+ azimuth_mod = round(rand(50, 200)/100, 0.01) // 50% - 200% of standard rotation
+ if(prob(50))
+ azimuth_mod *= -1
+ return ..()
+/datum/controller/subsystem/sun/fire(resumed = FALSE)
+ azimuth += azimuth_mod * base_rotation
+ azimuth = round(azimuth, 0.01)
+ if(azimuth >= 360)
+ azimuth -= 360
+ if(azimuth < 0)
+ azimuth += 360
+ complete_movement()
+/datum/controller/subsystem/sun/proc/complete_movement()
+ SEND_SIGNAL(src, COMSIG_SUN_MOVED, azimuth)
+/datum/controller/subsystem/sun/vv_edit_var(var_name, var_value)
+ . = ..()
+ if(var_name == NAMEOF(src, azimuth))
+ complete_movement()
diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm b/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm
index 63e1470576..a2a0238df1 100644
--- a/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm
+++ b/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm
@@ -208,7 +208,7 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
+/*
// Destroy the Solar Arrays
/datum/objective/bloodsucker/solars
@@ -228,7 +228,7 @@
if (SC && SC.lastgen > 0 && SC.connected_panels.len > 0 && SC.connected_tracker)
return FALSE
return TRUE
-
+*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm
index 24e967f00b..a916dceb12 100644
--- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm
+++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm
@@ -379,20 +379,21 @@
protege_objective.generate_objective()
add_objective(protege_objective)
- if (rand(0,1) == 0)
+ //if (rand(0,1) == 0)
// Heart Thief Objective
- var/datum/objective/bloodsucker/heartthief/heartthief_objective = new
- heartthief_objective.owner = owner
- heartthief_objective.generate_objective()
- add_objective(heartthief_objective)
-
+ var/datum/objective/bloodsucker/heartthief/heartthief_objective = new
+ heartthief_objective.owner = owner
+ heartthief_objective.generate_objective()
+ add_objective(heartthief_objective)
+ /*
else
- // Solars Objective
+
+ // Solars Objective, doesnt work due to TG updates.
var/datum/objective/bloodsucker/solars/solars_objective = new
solars_objective.owner = owner
solars_objective.generate_objective()
add_objective(solars_objective)
-
+*/
// Survive Objective
var/datum/objective/bloodsucker/survive/survive_objective = new
survive_objective.owner = owner
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index e6d44de194..2bd4766722 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -1,5 +1,5 @@
-#define SOLAR_MAX_DIST 40
-#define SOLARGENRATE 1500
+#define SOLAR_GEN_RATE 1500
+#define OCCLUSION_DISTANCE 20
/obj/machinery/power/solar
name = "solar panel"
@@ -10,40 +10,51 @@
use_power = NO_POWER_USE
idle_power_usage = 0
active_power_usage = 0
- var/id = 0
max_integrity = 150
- integrity_failure = 50
- var/obscured = 0
- var/sunfrac = 0
- var/adir = SOUTH // actual dir
- var/ndir = SOUTH // target dir
- var/turn_angle = 0
- var/obj/machinery/power/solar_control/control = null
+ integrity_failure = 0.33
+
+ var/id
+ var/obscured = FALSE
+ var/sunfrac = 0 //[0-1] measure of obscuration -- multipllier against power generation
+ var/azimuth_current = 0 //[0-360) degrees, which direction are we facing?
+ var/azimuth_target = 0 //same but what way we're going to face next time we turn
+ var/obj/machinery/power/solar_control/control
+ var/needs_to_turn = TRUE //do we need to turn next tick?
+ var/needs_to_update_solar_exposure = TRUE //do we need to call update_solar_exposure() next tick?
+ var/obj/effect/overlay/panel
var/obj/item/solar_assembly/assembly
var/efficiency = 1
/obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
+ panel = new()
+#if DM_VERSION >= 513
+ panel.vis_flags = VIS_INHERIT_ID|VIS_INHERIT_ICON|VIS_INHERIT_PLANE
+ vis_contents += panel
+#endif
+ panel.icon = icon
+ panel.icon_state = "solar_panel"
+ panel.layer = FLY_LAYER
Make(S)
connect_to_network()
+ RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/queue_update_solar_exposure)
/obj/machinery/power/solar/Destroy()
unset_control() //remove from control computer
return ..()
-//set the control of the panel to a given computer if closer than SOLAR_MAX_DIST
+//set the control of the panel to a given computer
/obj/machinery/power/solar/proc/set_control(obj/machinery/power/solar_control/SC)
- if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST))
- return 0
+ unset_control()
control = SC
- SC.connected_panels |= src
- return 1
+ SC.connected_panels += src
+ queue_turn(SC.azimuth_target)
//set the control of the panel to null and removes it from the control list of the previous control computer if needed
/obj/machinery/power/solar/proc/unset_control()
if(control)
- control.connected_panels.Remove(src)
- control = null
+ control.connected_panels -= src
+ control = null
/obj/machinery/power/solar/proc/Make(obj/item/solar_assembly/S)
if(!S)
@@ -57,11 +68,11 @@
update_icon()
/obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I)
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...")
+ playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
+ user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...")
if(I.use_tool(src, user, 50))
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
- user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].")
+ playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
+ user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].")
deconstruct(TRUE)
return TRUE
@@ -69,11 +80,11 @@
switch(damage_type)
if(BRUTE)
if(stat & BROKEN)
- playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, 1)
+ playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, TRUE)
else
- playsound(loc, 'sound/effects/glasshit.ogg', 90, 1)
+ playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE)
if(BURN)
- playsound(loc, 'sound/items/welder.ogg', 100, 1)
+ playsound(loc, 'sound/items/welder.ogg', 100, TRUE)
/obj/machinery/power/solar/obj_break(damage_flag)
@@ -96,81 +107,95 @@
new shard(loc)
qdel(src)
-
-/obj/machinery/power/solar/update_icon()
- ..()
- cut_overlays()
+/obj/machinery/power/solar/update_overlays()
+ . = ..()
+ var/matrix/turner = matrix()
+ turner.Turn(azimuth_current)
+ panel.transform = turner
if(stat & BROKEN)
- add_overlay(mutable_appearance(icon, "solar_panel-b", FLY_LAYER))
+ panel.icon_state = "solar_panel-b"
else
- add_overlay(mutable_appearance(icon, "solar_panel", FLY_LAYER))
- src.setDir(angle2dir(adir))
+ panel.icon_state = "solar_panel"
+#if DM_VERSION <= 512
+ . += new /mutable_appearance(panel)
+#endif
-//calculates the fraction of the sunlight that the panel receives
+/obj/machinery/power/solar/proc/queue_turn(azimuth)
+ needs_to_turn = TRUE
+ azimuth_target = azimuth
+
+/obj/machinery/power/solar/proc/queue_update_solar_exposure()
+ needs_to_update_solar_exposure = TRUE //updating right away would be wasteful if we're also turning later
+
+/obj/machinery/power/solar/proc/update_turn()
+ needs_to_turn = FALSE
+ if(azimuth_current != azimuth_target)
+ azimuth_current = azimuth_target
+ occlusion_setup()
+ update_icon()
+ needs_to_update_solar_exposure = TRUE
+
+///trace towards sun to see if we're in shadow
+/obj/machinery/power/solar/proc/occlusion_setup()
+ obscured = TRUE
+
+ var/distance = OCCLUSION_DISTANCE
+ var/target_x = round(sin(SSsun.azimuth), 0.01)
+ var/target_y = round(cos(SSsun.azimuth), 0.01)
+ var/x_hit = x
+ var/y_hit = y
+ var/turf/hit
+
+ for(var/run in 1 to distance)
+ x_hit += target_x
+ y_hit += target_y
+ hit = locate(round(x_hit, 1), round(y_hit, 1), z)
+ if(hit.opacity)
+ return
+ if(hit.x == 1 || hit.x == world.maxx || hit.y == 1 || hit.y == world.maxy) //edge of the map
+ break
+ obscured = FALSE
+
+///calculates the fraction of the sunlight that the panel receives
/obj/machinery/power/solar/proc/update_solar_exposure()
+ needs_to_update_solar_exposure = FALSE
+ sunfrac = 0
if(obscured)
- sunfrac = 0
- return
+ return 0
- //find the smaller angle between the direction the panel is facing and the direction of the sun (the sign is not important here)
- var/p_angle = min(abs(adir - SSsun.angle), 360 - abs(adir - SSsun.angle))
+ var/sun_azimuth = SSsun.azimuth
+ if(azimuth_current == sun_azimuth) //just a quick optimization for the most frequent case
+ . = 1
+ else
+ //dot product of sun and panel -- Lambert's Cosine Law
+ . = cos(azimuth_current - sun_azimuth)
+ . = CLAMP(round(., 0.01), 0, 1)
+ sunfrac = .
- if(p_angle > 90) // if facing more than 90deg from sun, zero output
- sunfrac = 0
- return
-
- sunfrac = cos(p_angle) ** 2
- //isn't the power received from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ?
-
-/obj/machinery/power/solar/process()//TODO: remove/add this from machines to save on processing as needed ~Carn PRIORITY
+/obj/machinery/power/solar/process()
if(stat & BROKEN)
return
- if(!control) //if there's no sun or the panel is not linked to a solar control computer, no need to proceed
+ if(control && (!powernet || control.powernet != powernet))
+ unset_control()
+ if(needs_to_turn)
+ update_turn()
+ if(needs_to_update_solar_exposure)
+ update_solar_exposure()
+ if(sunfrac <= 0)
return
- if(powernet)
- if(powernet == control.powernet)//check if the panel is still connected to the computer
- if(obscured) //get no light from the sun, so don't generate power
- return
- var/sgen = SOLARGENRATE * sunfrac * efficiency
- add_avail(sgen)
- control.gen += sgen
- else //if we're no longer on the same powernet, remove from control computer
- unset_control()
+ var/sgen = SOLAR_GEN_RATE * sunfrac
+ add_avail(sgen)
+ if(control)
+ control.gen += sgen
-
-/obj/machinery/power/solar/fake/New(var/turf/loc, var/obj/item/solar_assembly/S)
- ..(loc, S, 0)
+//Bit of a hack but this whole type is a hack
+/obj/machinery/power/solar/fake/Initialize(turf/loc, obj/item/solar_assembly/S)
+ . = ..()
+ UnregisterSignal(SSsun, COMSIG_SUN_MOVED)
/obj/machinery/power/solar/fake/process()
- . = PROCESS_KILL
- return
-
-//trace towards sun to see if we're in shadow
-/obj/machinery/power/solar/proc/occlusion()
-
- var/ax = x // start at the solar panel
- var/ay = y
- var/turf/T = null
- var/dx = SSsun.dx
- var/dy = SSsun.dy
-
- for(var/i = 1 to 20) // 20 steps is enough
- ax += dx // do step
- ay += dy
-
- T = locate( round(ax,0.5),round(ay,0.5),z)
-
- if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy) // not obscured if we reach the edge
- break
-
- if(T.density) // if we hit a solid turf, panel is obscured
- obscured = 1
- return
-
- obscured = 0 // if hit the edge or stepped 20 times, not obscured
- update_solar_exposure()
-
+ return PROCESS_KILL
//
// Solar Assembly - For construction of solar arrays.
@@ -204,21 +229,22 @@
forceMove(glass_type, Tsec)
glass_type = null
+
/obj/item/solar_assembly/attackby(obj/item/W, mob/user, params)
- if(istype(W, /obj/item/wrench) && isturf(loc))
+ if(W.tool_behaviour == TOOL_WRENCH && isturf(loc))
if(isinspace())
to_chat(user, "You can't secure [src] here.")
return
anchored = !anchored
if(anchored)
- user.visible_message("[user] wrenches the solar assembly into place.", "You wrench the solar assembly into place.")
+ user.visible_message("[user] wrenches the solar assembly into place.", "You wrench the solar assembly into place.")
W.play_tool_sound(src, 75)
else
- user.visible_message("[user] unwrenches the solar assembly from its place.", "You unwrench the solar assembly from its place.")
+ user.visible_message("[user] unwrenches the solar assembly from its place.", "You unwrench the solar assembly from its place.")
W.play_tool_sound(src, 75)
return 1
- if(is_type_in_typecache(W, allowed_sheets))
+ if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
if(!anchored)
to_chat(user, "You need to secure the assembly before you can add glass.")
return
@@ -226,8 +252,8 @@
var/obj/item/stack/sheet/G = S.change_stack(null, 2)
if(G)
glass_type = G
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.")
+ playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
+ user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.")
if(tracker)
new /obj/machinery/power/tracker(get_turf(src), src)
else
@@ -243,13 +269,13 @@
return
tracker = 1
qdel(W)
- user.visible_message("[user] inserts the electronics into the solar assembly.", "You insert the electronics into the solar assembly.")
+ user.visible_message("[user] inserts the electronics into the solar assembly.", "You insert the electronics into the solar assembly.")
return 1
else
- if(istype(W, /obj/item/crowbar))
+ if(W.tool_behaviour == TOOL_CROWBAR)
new /obj/item/electronics/tracker(src.loc)
tracker = 0
- user.visible_message("[user] takes out the electronics from the solar assembly.", "You take out the electronics from the solar assembly.")
+ user.visible_message("[user] takes out the electronics from the solar assembly.", "You take out the electronics from the solar assembly.")
return 1
return ..()
@@ -270,21 +296,23 @@
var/icon_screen = "solar"
var/icon_keyboard = "power_key"
var/id = 0
- var/currentdir = 0
- var/targetdir = 0 // target angle in manual tracking (since it updates every game minute)
var/gen = 0
var/lastgen = 0
- var/track = 0 // 0= off 1=timed 2=auto (tracker)
- var/trackrate = 600 // 300-900 seconds
- var/nexttime = 0 // time for a panel to rotate of 1 degree in manual tracking
+ var/azimuth_target = 0
+ var/azimuth_rate = 1 ///degree change per minute
+
+ var/track = SOLAR_TRACK_OFF ///SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO
+
var/obj/machinery/power/tracker/connected_tracker = null
var/list/connected_panels = list()
/obj/machinery/power/solar_control/Initialize()
. = ..()
- if(powernet)
- set_panels(currentdir)
+ azimuth_rate = SSsun.base_rotation
+ RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/timed_track)
connect_to_network()
+ if(powernet)
+ set_panels(azimuth_target)
/obj/machinery/power/solar_control/Destroy()
for(var/obj/machinery/power/solar/M in connected_panels)
@@ -293,16 +321,6 @@
connected_tracker.unset_control()
return ..()
-/obj/machinery/power/solar_control/disconnect_from_network()
- ..()
- SSsun.solars.Remove(src)
-
-/obj/machinery/power/solar_control/connect_to_network()
- var/to_return = ..()
- if(powernet) //if connected and not already in solar_list...
- SSsun.solars |= src //... add it
- return to_return
-
//search for unconnected panels and trackers in the computer powernet and connect them
/obj/machinery/power/solar_control/proc/search_for_connected()
if(powernet)
@@ -317,22 +335,6 @@
if(!T.control) //i.e unconnected
T.set_control(src)
-//called by the sun controller, update the facing angle (either manually or via tracking) and rotates the panels accordingly
-/obj/machinery/power/solar_control/proc/update()
- if(stat & (NOPOWER | BROKEN))
- return
-
- switch(track)
- if(1)
- if(trackrate) //we're manual tracking. If we set a rotation speed...
- currentdir = targetdir //...the current direction is the targetted one (and rotates panels to it)
- if(2) // auto-tracking
- if(connected_tracker)
- connected_tracker.set_angle(SSsun.angle)
-
- set_panels(currentdir)
- updateDialog()
-
/obj/machinery/power/solar_control/update_icon()
cut_overlays()
if(stat & NOPOWER)
@@ -353,68 +355,55 @@
/obj/machinery/power/solar_control/ui_data()
var/data = list()
-
data["generated"] = round(lastgen)
- data["angle"] = currentdir
- data["direction"] = angle2text(currentdir)
-
+ data["generated_ratio"] = data["generated"] / round(max(connected_panels.len, 1) * SOLAR_GEN_RATE)
+ data["azimuth_current"] = azimuth_target
+ data["azimuth_rate"] = azimuth_rate
+ data["max_rotation_rate"] = SSsun.base_rotation * 2
data["tracking_state"] = track
- data["tracking_rate"] = trackrate
- data["rotating_way"] = (trackrate<0 ? "CCW" : "CW")
-
data["connected_panels"] = connected_panels.len
- data["connected_tracker"] = (connected_tracker ? 1 : 0)
+ data["connected_tracker"] = (connected_tracker ? TRUE : FALSE)
return data
/obj/machinery/power/solar_control/ui_act(action, params)
if(..())
return
- if(action == "angle")
+ if(action == "azimuth")
var/adjust = text2num(params["adjust"])
var/value = text2num(params["value"])
if(adjust)
- value = currentdir + adjust
+ value = azimuth_target + adjust
if(value != null)
- currentdir = CLAMP((360 + value) % 360, 0, 359)
- targetdir = currentdir
- set_panels(currentdir)
+ set_panels(value)
return TRUE
return FALSE
- if(action == "rate")
+ if(action == "azimuth_rate")
var/adjust = text2num(params["adjust"])
var/value = text2num(params["value"])
if(adjust)
- value = trackrate + adjust
+ value = azimuth_rate + adjust
if(value != null)
- trackrate = CLAMP(value, -7200, 7200)
- if(trackrate)
- nexttime = world.time + 36000 / abs(trackrate)
+ azimuth_rate = round(CLAMP(value, -2 * SSsun.base_rotation, 2 * SSsun.base_rotation), 0.01)
return TRUE
return FALSE
if(action == "tracking")
var/mode = text2num(params["mode"])
track = mode
- if(mode == 2 && connected_tracker)
- connected_tracker.set_angle(SSsun.angle)
- set_panels(currentdir)
- else if(mode == 1)
- targetdir = currentdir
- if(trackrate)
- nexttime = world.time + 36000 / abs(trackrate)
- set_panels(targetdir)
+ if(mode == SOLAR_TRACK_AUTO)
+ if(connected_tracker)
+ connected_tracker.sun_update(SSsun, SSsun.azimuth)
+ else
+ track = SOLAR_TRACK_OFF
return TRUE
if(action == "refresh")
search_for_connected()
- if(connected_tracker && track == 2)
- connected_tracker.set_angle(SSsun.angle)
- set_panels(currentdir)
return TRUE
return FALSE
/obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/screwdriver))
+ if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(I.use_tool(src, user, 20, volume=50))
- if (src.stat & BROKEN)
+ if(src.stat & BROKEN)
to_chat(user, "The broken glass falls out.")
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
new /obj/item/shard( src.loc )
@@ -446,15 +435,15 @@
switch(damage_type)
if(BRUTE)
if(stat & BROKEN)
- playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
+ playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
else
- playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1)
+ playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE)
if(BURN)
- playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
+ playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
/obj/machinery/power/solar_control/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
- playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
+ playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
stat |= BROKEN
update_icon()
@@ -462,35 +451,26 @@
lastgen = gen
gen = 0
- if(stat & (NOPOWER | BROKEN))
- return
+ if(connected_tracker && (!powernet || connected_tracker.powernet != powernet))
+ connected_tracker.unset_control()
- if(connected_tracker) //NOTE : handled here so that we don't add trackers to the processing list
- if(connected_tracker.powernet != powernet)
- connected_tracker.unset_control()
+///Ran every time the sun updates.
+/obj/machinery/power/solar_control/proc/timed_track()
+ if(track == SOLAR_TRACK_TIMED)
+ azimuth_target += azimuth_rate
+ set_panels(azimuth_target)
- if(track==1 && trackrate) //manual tracking and set a rotation speed
- if(nexttime <= world.time) //every time we need to increase/decrease the angle by 1�...
- targetdir = (targetdir + trackrate/abs(trackrate) + 360) % 360 //... do it
- nexttime += 36000/abs(trackrate) //reset the counter for the next 1�
-
-//rotates the panel to the passed angle
-/obj/machinery/power/solar_control/proc/set_panels(currentdir)
+///Rotates the panel to the passed angles
+/obj/machinery/power/solar_control/proc/set_panels(azimuth)
+ azimuth = CLAMP(round(azimuth, 0.01), -360, 719.99)
+ if(azimuth >= 360)
+ azimuth -= 360
+ if(azimuth < 0)
+ azimuth += 360
+ azimuth_target = azimuth
for(var/obj/machinery/power/solar/S in connected_panels)
- S.adir = currentdir //instantly rotates the panel
- S.occlusion()//and
- S.update_icon() //update it
-
- update_icon()
-
-
-/obj/machinery/power/solar_control/power_change()
- ..()
- update_icon()
-
-
-
+ S.queue_turn(azimuth)
//
// MISC
@@ -499,3 +479,6 @@
/obj/item/paper/guides/jobs/engi/solars
name = "paper- 'Going green! Setup your own solar array instructions.'"
info = "Welcome
At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or plasma! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.
You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!
Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.
Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.
That's all to it, be safe, be green!
"
+
+#undef SOLAR_GEN_RATE
+#undef OCCLUSION_DISTANCE
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index c25ece3594..2f169ebad0 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -1,6 +1,6 @@
//Solar tracker
-//Machine that tracks the sun and reports it's direction to the solar controllers
+//Machine that tracks the sun and reports its direction to the solar controllers
//As long as this is working, solar panels on same powernet will track automatically
/obj/machinery/power/tracker
@@ -11,35 +11,39 @@
density = TRUE
use_power = NO_POWER_USE
max_integrity = 250
- integrity_failure = 50
+ integrity_failure = 0.2
var/id = 0
- var/sun_angle = 0 // sun angle as set by sun datum
- var/obj/machinery/power/solar_control/control = null
- var/obj/item/solar_assembly/assembly
+ var/obj/machinery/power/solar_control/control
/obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
Make(S)
connect_to_network()
+ RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/sun_update)
/obj/machinery/power/tracker/Destroy()
unset_control() //remove from control computer
return ..()
-//set the control of the tracker to a given computer if closer than SOLAR_MAX_DIST
/obj/machinery/power/tracker/proc/set_control(obj/machinery/power/solar_control/SC)
- if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST))
- return 0
+ unset_control()
control = SC
SC.connected_tracker = src
- return 1
//set the control of the tracker to null and removes it from the previous control computer if needed
/obj/machinery/power/tracker/proc/unset_control()
if(control)
+ if(control.track == SOLAR_TRACK_AUTO)
+ control.track = SOLAR_TRACK_OFF
control.connected_tracker = null
- control = null
+ control = null
+
+///Tell the controller to turn the solar panels
+/obj/machinery/power/tracker/proc/sun_update(datum/source, azimuth)
+ setDir(angle2dir(azimuth))
+ if(control && control.track == SOLAR_TRACK_AUTO)
+ control.set_panels(azimuth)
/obj/machinery/power/tracker/proc/Make(obj/item/solar_assembly/S)
if(!S)
@@ -51,42 +55,31 @@
S.moveToNullspace()
update_icon()
-//updates the tracker icon and the facing angle for the control computer
-/obj/machinery/power/tracker/proc/set_angle(angle)
- sun_angle = angle
-
- //set icon dir to show sun illumination
- setDir(turn(NORTH, -angle - 22.5) )// 22.5 deg bias ensures, e.g. 67.5-112.5 is EAST
-
- if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet
- control.currentdir = angle
-
/obj/machinery/power/tracker/crowbar_act(mob/user, obj/item/I)
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...")
+ playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
+ user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...")
if(I.use_tool(src, user, 50))
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
- user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].")
+ playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
+ user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].")
deconstruct(TRUE)
return TRUE
/obj/machinery/power/tracker/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
- playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
- stat |= BROKEN
+ playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
unset_control()
-/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
+/obj/machinery/power/tracker/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
- if(assembly)
- assembly.forceMove(loc)
- assembly.give_glass(stat & BROKEN)
+ var/obj/item/solar_assembly/S = locate() in src
+ if(S)
+ S.forceMove(loc)
+ S.give_glass(stat & BROKEN)
else
- playsound(src, "shatter", 70, 1)
- var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard
- new shard(loc)
- new shard(loc)
+ playsound(src, "shatter", 70, TRUE)
+ new /obj/item/shard(src.loc)
+ new /obj/item/shard(src.loc)
qdel(src)
// Tracker Electronic
diff --git a/tgstation.dme b/tgstation.dme
index 28ae7eee99..836fae32e4 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -77,6 +77,7 @@
#include "code\__DEFINES\obj_flags.dm"
#include "code\__DEFINES\pinpointers.dm"
#include "code\__DEFINES\pipe_construction.dm"
+#include "code\__DEFINES\power.dm"
#include "code\__DEFINES\preferences.dm"
#include "code\__DEFINES\procpath.dm"
#include "code\__DEFINES\profile.dm"
From c00f797a4a0411ea31e7e14c4a621ad57e697fe7 Mon Sep 17 00:00:00 2001
From: Hatterhat
Date: Sun, 16 Feb 2020 01:26:33 -0600
Subject: [PATCH 015/175] extendies
---
.../configuration/entries/general.dm | 10 +++++++
code/controllers/subsystem/autotransfer.dm | 17 ++++++++++++
code/controllers/subsystem/ticker.dm | 2 +-
code/controllers/subsystem/vote.dm | 26 ++++++++++++++++++-
config/config.txt | 6 +++++
5 files changed, 59 insertions(+), 2 deletions(-)
create mode 100644 code/controllers/subsystem/autotransfer.dm
diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm
index cb8c0fe966..b5e7137374 100644
--- a/code/controllers/configuration/entries/general.dm
+++ b/code/controllers/configuration/entries/general.dm
@@ -82,6 +82,16 @@
config_entry_value = 600
min_val = 0
+/datum/config_entry/number/vote_autotransfer_initial //length of time before the first autotransfer vote is called (deciseconds, default 2 hours)
+ config_entry_value = 72000
+ integer = FALSE
+ min_val = 0
+
+/datum/config_entry/number/vote_autotransfer_interval //length of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes)
+ config_entry_value = 18000
+ integer = FALSE
+ min_val = 0
+
/datum/config_entry/flag/default_no_vote // vote does not default to nochange/norestart
/datum/config_entry/flag/no_dead_vote // dead people can't vote
diff --git a/code/controllers/subsystem/autotransfer.dm b/code/controllers/subsystem/autotransfer.dm
new file mode 100644
index 0000000000..05ef3127c1
--- /dev/null
+++ b/code/controllers/subsystem/autotransfer.dm
@@ -0,0 +1,17 @@
+SUBSYSTEM_DEF(autotransfer)
+ name = "Autotransfer Vote"
+ flags = SS_KEEP_TIMING | SS_BACKGROUND
+ wait = 1 MINUTES
+
+ var/starttime
+ var/targettime
+
+/datum/controller/subsystem/autotransfer/Initialize(timeofday)
+ starttime = world.time
+ targettime = starttime + CONFIG_GET(number/vote_autotransfer_initial)
+ return ..()
+
+/datum/controller/subsystem/autotransfer/fire()
+ if (world.time > targettime)
+ SSvote.initiate_vote("transfer",null) //TODO figure out how to not use null as the user
+ targettime = targettime + CONFIG_GET(number/vote_autotransfer_interval)
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index fe994facdc..3857fb0af5 100755
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -213,7 +213,7 @@ SUBSYSTEM_DEF(ticker)
check_queue()
check_maprotate()
scripture_states = scripture_unlock_alert(scripture_states)
- SSshuttle.autoEnd()
+ //SSshuttle.autoEnd()
if(!roundend_check_paused && mode.check_finished(force_ending) || force_ending)
current_state = GAME_STATE_FINISHED
diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index 9924ed7917..10d1cbb3d0 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -89,6 +89,20 @@ SUBSYSTEM_DEF(vote)
choices[GLOB.master_mode] += non_voters.len
if(choices[GLOB.master_mode] >= greatest_votes)
greatest_votes = choices[GLOB.master_mode]
+ else if(mode == "transfer") // austation begin -- Crew autotransfer vote
+ var/factor = 1
+ switch(world.time / (1 MINUTES ))
+ if(0 to 60)
+ factor = 0.5
+ if(61 to 120)
+ factor = 0.8
+ if(121 to 240)
+ factor = 1
+ if(241 to 300)
+ factor = 1.2
+ else
+ factor = 1.4
+ choices["Initiate Crew Transfer"] += round(non_voters.len * factor) // austation end
//get all options with that many votes and return them in a list
. = list()
if(greatest_votes)
@@ -365,6 +379,13 @@ SUBSYSTEM_DEF(vote)
log_admin("The map has been voted for and will change to: [VM.map_name]")
if(SSmapping.changemap(config.maplist[.]))
to_chat(world, "The map vote has chosen [VM.map_name] for next round!")
+ if("transfer") // austation begin -- Crew autotransfer vote
+ if(. == "Initiate Crew Transfer")
+ //TODO find a cleaner way to do this
+ SSshuttle.requestEvac(null,"Crew transfer requested.")
+ var/obj/machinery/computer/communications/C = locate() in GLOB.machines
+ if(C)
+ C.post_status("shuttle") // austation end
if(restart)
var/active_admins = 0
for(var/client/C in GLOB.admins)
@@ -444,6 +465,7 @@ SUBSYSTEM_DEF(vote)
to_chat(usr, "A vote was initiated recently, you must wait [DisplayTimeText(next_allowed_time-world.time)] before a new vote can be started!")
return 0
+ SEND_SOUND(world, sound('sound/misc/notice2.ogg'))
reset()
obfuscated = hideresults //CIT CHANGE - adds obfuscated votes
switch(vote_type)
@@ -465,6 +487,8 @@ SUBSYSTEM_DEF(vote)
if(targetmap.max_round_search_span && count_occurences_of_value(lastmaps, M, targetmap.max_round_search_span) >= targetmap.max_rounds_played)
continue
choices |= M
+ if("transfer") // austation begin -- Crew autotranfer vote
+ choices.Add("Initiate Crew Transfer","Continue Playing") // austation end
if("roundtype") //CIT CHANGE - adds the roundstart secret/extended vote
choices.Add("secret", "extended")
if("mode tiers")
@@ -496,7 +520,7 @@ SUBSYSTEM_DEF(vote)
else
return 0
mode = vote_type
- initiator = initiator_key
+ initiator = initiator_key ? initiator_key : "the Server" // austation -- Crew autotransfer vote
started_time = world.time
var/text = "[capitalize(mode)] vote started by [initiator]."
if(mode == "custom")
diff --git a/config/config.txt b/config/config.txt
index 0ab0cc911e..cc9ede5ef2 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -184,6 +184,12 @@ VOTE_DELAY 6000
## time period (deciseconds) which voting session will last (default 1 minute)
VOTE_PERIOD 600
+## autovote initial delay (deciseconds) before first automatic transfer vote call (default 120 minutes)
+VOTE_AUTOTRANSFER_INITIAL 72000
+
+##autovote delay (deciseconds) before sequential automatic transfer votes are called (default 30 minutes)
+VOTE_AUTOTRANSFER_INTERVAL 18000
+
## prevents dead players from voting or starting votes
# NO_DEAD_VOTE
From 35a070fc5736f4d8aee2770869093a87cb26cb30 Mon Sep 17 00:00:00 2001
From: Hatterhat
Date: Sun, 16 Feb 2020 01:29:06 -0600
Subject: [PATCH 016/175] oh shit oh jesus is this working
---
tgstation.dme | 1 +
1 file changed, 1 insertion(+)
diff --git a/tgstation.dme b/tgstation.dme
index 28f469ac25..3591fa59b5 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -242,6 +242,7 @@
#include "code\controllers\subsystem\assets.dm"
#include "code\controllers\subsystem\atoms.dm"
#include "code\controllers\subsystem\augury.dm"
+#include "code\controllers\subsystem\autotransfer.dm"
#include "code\controllers\subsystem\blackbox.dm"
#include "code\controllers\subsystem\chat.dm"
#include "code\controllers\subsystem\communications.dm"
From f05a88d36f661bc93cd3e2b0539211e19ad73cd6 Mon Sep 17 00:00:00 2001
From: Hatterhat
Date: Sun, 16 Feb 2020 02:24:41 -0600
Subject: [PATCH 017/175] it compiles now ghom
---
code/controllers/subsystem/vote.dm | 38 +++++++++++++++---------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index 10d1cbb3d0..9ddd8d9123 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -90,19 +90,19 @@ SUBSYSTEM_DEF(vote)
if(choices[GLOB.master_mode] >= greatest_votes)
greatest_votes = choices[GLOB.master_mode]
else if(mode == "transfer") // austation begin -- Crew autotransfer vote
- var/factor = 1
- switch(world.time / (1 MINUTES ))
- if(0 to 60)
- factor = 0.5
- if(61 to 120)
- factor = 0.8
- if(121 to 240)
- factor = 1
- if(241 to 300)
- factor = 1.2
- else
- factor = 1.4
- choices["Initiate Crew Transfer"] += round(non_voters.len * factor) // austation end
+ var/factor = 1
+ switch(world.time / (1 MINUTES))
+ if(0 to 60)
+ factor = 0.5
+ if(61 to 120)
+ factor = 0.8
+ if(121 to 240)
+ factor = 1
+ if(241 to 300)
+ factor = 1.2
+ else
+ factor = 1.4
+ choices["Initiate Crew Transfer"] += round(non_voters.len * factor) // austation end
//get all options with that many votes and return them in a list
. = list()
if(greatest_votes)
@@ -380,12 +380,12 @@ SUBSYSTEM_DEF(vote)
if(SSmapping.changemap(config.maplist[.]))
to_chat(world, "The map vote has chosen [VM.map_name] for next round!")
if("transfer") // austation begin -- Crew autotransfer vote
- if(. == "Initiate Crew Transfer")
- //TODO find a cleaner way to do this
- SSshuttle.requestEvac(null,"Crew transfer requested.")
- var/obj/machinery/computer/communications/C = locate() in GLOB.machines
- if(C)
- C.post_status("shuttle") // austation end
+ if(. == "Initiate Crew Transfer")
+ //TODO find a cleaner way to do this
+ SSshuttle.requestEvac(null,"Crew transfer requested.")
+ var/obj/machinery/computer/communications/C = locate() in GLOB.machines
+ if(C)
+ C.post_status("shuttle") // austation end
if(restart)
var/active_admins = 0
for(var/client/C in GLOB.admins)
From c97111bedaabdd8feddccc0985d0155c4a607ead Mon Sep 17 00:00:00 2001
From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com>
Date: Mon, 17 Feb 2020 05:32:03 -0500
Subject: [PATCH 018/175] Reorganise Food + Balance Tweaks
-Reorganised -ALL- foods in the crafting menu.
-Made a section for Eastern Dishes, Mexican Dishes, and Sweets
-Made Bowls, Salads, Soups, Eggs Benedict, and Omelettes normal sized.
-Moved Easter Recipies to the food files, fixing it in the process.
-Capitalised a few things.
---
code/__DEFINES/construction.dm | 4 +-
code/datums/components/crafting/craft.dm | 2 +
.../food_and_drinks/food/customizables.dm | 2 +-
.../food_and_drinks/food/snacks_egg.dm | 2 -
.../food_and_drinks/food/snacks_other.dm | 46 +++
.../food_and_drinks/food/snacks_salad.dm | 2 +-
.../food_and_drinks/food/snacks_soup.dm | 2 +-
.../recipes/tablecraft/recipes_bread.dm | 130 ++++--
.../recipes/tablecraft/recipes_burger.dm | 390 +++++++++---------
.../recipes/tablecraft/recipes_cake.dm | 234 +++++------
.../recipes/tablecraft/recipes_frozen.dm | 2 +-
.../recipes/tablecraft/recipes_meat.dm | 134 +++---
.../recipes/tablecraft/recipes_mexican.dm | 111 +++++
.../recipes/tablecraft/recipes_misc.dm | 261 ++----------
.../recipes/tablecraft/recipes_pastry.dm | 283 ++++++-------
.../recipes/tablecraft/recipes_pie.dm | 220 +++++-----
.../recipes/tablecraft/recipes_pizza.dm | 114 ++---
.../recipes/tablecraft/recipes_salad.dm | 80 ++--
.../recipes/tablecraft/recipes_sandwich.dm | 3 +-
.../recipes/tablecraft/recipes_soup.dm | 243 ++++++-----
.../recipes/tablecraft/recipes_spaghetti.dm | 20 +-
.../recipes/tablecraft/recipes_sushi.dm | 70 +++-
.../recipes/tablecraft/recipies_sweets.dm | 117 ++++++
code/modules/holiday/easter.dm | 98 +----
tgstation.dme | 2 +
25 files changed, 1303 insertions(+), 1269 deletions(-)
create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm
create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipies_sweets.dm
diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm
index c93f1b2435..c4d87de495 100644
--- a/code/__DEFINES/construction.dm
+++ b/code/__DEFINES/construction.dm
@@ -92,8 +92,10 @@
#define CAT_BREAD "Breads"
#define CAT_BURGER "Burgers"
#define CAT_CAKE "Cakes"
+#define CAT_FISH "Eastern"
#define CAT_EGG "Egg-Based Food"
#define CAT_MEAT "Meats"
+#define CAT_MEXICAN "Mexican"
#define CAT_MISCFOOD "Misc. Food"
#define CAT_PASTRY "Pastries"
#define CAT_PIE "Pies"
@@ -102,7 +104,7 @@
#define CAT_SANDWICH "Sandwiches"
#define CAT_SOUP "Soups"
#define CAT_SPAGHETTI "Spaghettis"
-#define CAT_FISH "Fish"
+#define CAT_SWEETS "Sweets"
#define CAT_ICE "Frozen"
#define RCD_FLOORWALL 1
diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm
index b5c7f34c27..674746479d 100644
--- a/code/datums/components/crafting/craft.dm
+++ b/code/datums/components/crafting/craft.dm
@@ -31,6 +31,7 @@
CAT_FISH,
CAT_ICE,
CAT_MEAT,
+ CAT_MEXICAN,
CAT_MISCFOOD,
CAT_PASTRY,
CAT_PIE,
@@ -39,6 +40,7 @@
CAT_SANDWICH,
CAT_SOUP,
CAT_SPAGHETTI,
+ CAT_SWEETS,
),
CAT_DRINK = CAT_NONE,
CAT_CLOTHING = CAT_NONE,
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index 016e37a5c4..7cc1152962 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -294,7 +294,7 @@
icon_state = "bowl"
reagent_flags = OPENCONTAINER
materials = list(MAT_GLASS = 500)
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_SMALL
/obj/item/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user, params)
if(istype(I, /obj/item/reagent_containers/food/snacks))
diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm
index c65e42c0e4..b2a474adac 100644
--- a/code/modules/food_and_drinks/food/snacks_egg.dm
+++ b/code/modules/food_and_drinks/food/snacks_egg.dm
@@ -124,7 +124,6 @@
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 2)
list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1)
bitesize = 1
- w_class = WEIGHT_CLASS_NORMAL
tastes = list("egg" = 1, "cheese" = 1)
foodtype = MEAT | BREAKFAST
@@ -152,7 +151,6 @@
icon_state = "benedict"
bonus_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 4)
trash = /obj/item/trash/plate
- w_class = WEIGHT_CLASS_NORMAL
list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 4)
tastes = list("egg" = 1, "bacon" = 1, "bun" = 1)
foodtype = MEAT | BREAKFAST
diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm
index a7090a5274..1fff57395b 100644
--- a/code/modules/food_and_drinks/food/snacks_other.dm
+++ b/code/modules/food_and_drinks/food/snacks_other.dm
@@ -674,3 +674,49 @@
if (7000 to INFINITY)
burn()
..()
+
+//Easter Stuff
+
+/obj/item/reagent_containers/food/snacks/chocolatebunny
+ name = "chocolate bunny"
+ desc = "Contains less than 10% real rabbit!"
+ icon_state = "chocolatebunny"
+ bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
+ list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2)
+ filling_color = "#A0522D"
+
+/obj/item/reagent_containers/food/snacks/store/cake/brioche
+ name = "brioche cake"
+ desc = "A ring of sweet, glazed buns."
+ icon_state = "briochecake"
+ slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche
+ slices_num = 6
+ bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2)
+
+/obj/item/reagent_containers/food/snacks/cakeslice/brioche
+ name = "brioche cake slice"
+ desc = "Delicious sweet-bread. Who needs anything else?"
+ icon_state = "briochecake_slice"
+ filling_color = "#FFD700"
+
+/obj/item/reagent_containers/food/snacks/scotchegg
+ name = "scotch egg"
+ desc = "A boiled egg wrapped in a delicious, seasoned meatball."
+ icon_state = "scotchegg"
+ bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2)
+ bitesize = 3
+ filling_color = "#FFFFF0"
+ list_reagents = list(/datum/reagent/consumable/nutriment = 6)
+
+/obj/item/reagent_containers/food/snacks/soup/mammi
+ name = "Mammi"
+ desc = "A bowl of mushy bread and milk. It reminds you, not too fondly, of a bowel movement."
+ icon_state = "mammi"
+ bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1)
+ list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1)
+
+/obj/item/reagent_containers/food/snacks/hotcrossbun
+ bitesize = 2
+ name = "hot-cross bun"
+ desc = "The Cross represents the Assistants that died for your sins."
+ icon_state = "hotcrossbun"
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/food/snacks_salad.dm b/code/modules/food_and_drinks/food/snacks_salad.dm
index e272733235..aa4cf44f4e 100644
--- a/code/modules/food_and_drinks/food/snacks_salad.dm
+++ b/code/modules/food_and_drinks/food/snacks_salad.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/food/soupsalad.dmi'
trash = /obj/item/reagent_containers/glass/bowl
bitesize = 3
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_SMALL
list_reagents = list(/datum/reagent/consumable/nutriment = 7, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("leaves" = 1)
foodtype = VEGETABLES
diff --git a/code/modules/food_and_drinks/food/snacks_soup.dm b/code/modules/food_and_drinks/food/snacks_soup.dm
index a0e1ebcb39..796cff9b65 100644
--- a/code/modules/food_and_drinks/food/snacks_soup.dm
+++ b/code/modules/food_and_drinks/food/snacks_soup.dm
@@ -1,5 +1,5 @@
/obj/item/reagent_containers/food/snacks/soup
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/food/soupsalad.dmi'
trash = /obj/item/reagent_containers/glass/bowl
bitesize = 5
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
index e572cc76ff..c3890b28eb 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
@@ -3,36 +3,6 @@
////////////////////////////////////////////////BREAD////////////////////////////////////////////////
-/datum/crafting_recipe/food/meatbread
- name = "Meat bread"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 3
- )
- result = /obj/item/reagent_containers/food/snacks/store/bread/meat
- subcategory = CAT_BREAD
-
-/datum/crafting_recipe/food/xenomeatbread
- name = "Xenomeat bread"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 3
- )
- result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat
- subcategory = CAT_BREAD
-
-/datum/crafting_recipe/food/spidermeatbread
- name = "Spidermeat bread"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 3
- )
- result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat
- subcategory = CAT_BREAD
-
/datum/crafting_recipe/food/banananutbread
name = "Banana nut bread"
reqs = list(
@@ -44,16 +14,6 @@
result = /obj/item/reagent_containers/food/snacks/store/bread/banana
subcategory = CAT_BREAD
-/datum/crafting_recipe/food/tofubread
- name = "Tofu bread"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
- /obj/item/reagent_containers/food/snacks/tofu = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 3
- )
- result = /obj/item/reagent_containers/food/snacks/store/bread/tofu
- subcategory = CAT_BREAD
-
/datum/crafting_recipe/food/creamcheesebread
name = "Cream cheese bread"
reqs = list(
@@ -64,6 +24,16 @@
result = /obj/item/reagent_containers/food/snacks/store/bread/creamcheese
subcategory = CAT_BREAD
+/datum/crafting_recipe/food/meatbread
+ name = "Meat bread"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/bread/meat
+ subcategory = CAT_BREAD
+
/datum/crafting_recipe/food/mimanabread
name = "Mimana bread"
reqs = list(
@@ -75,6 +45,38 @@
result = /obj/item/reagent_containers/food/snacks/store/bread/mimana
subcategory = CAT_BREAD
+/datum/crafting_recipe/food/spidermeatbread
+ name = "Spidermeat bread"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat
+ subcategory = CAT_BREAD
+
+/datum/crafting_recipe/food/tofubread
+ name = "Tofu bread"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
+ /obj/item/reagent_containers/food/snacks/tofu = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/bread/tofu
+ subcategory = CAT_BREAD
+
+/datum/crafting_recipe/food/xenomeatbread
+ name = "Xenomeat bread"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat
+ subcategory = CAT_BREAD
+
+////////////////////////////////////////////////TOAST////////////////////////////////////////////////
+
/datum/crafting_recipe/food/butteredtoast
name = "Buttered Toast"
reqs = list(
@@ -84,6 +86,45 @@
result = /obj/item/reagent_containers/food/snacks/butteredtoast
subcategory = CAT_BREAD
+/datum/crafting_recipe/food/slimetoast
+ name = "Slime toast"
+ reqs = list(
+ /datum/reagent/toxin/slimejelly = 5,
+ /obj/item/reagent_containers/food/snacks/breadslice/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime
+ subcategory = CAT_BREAD
+
+/datum/crafting_recipe/food/jelliedtoast
+ name = "Jellied toast"
+ reqs = list(
+ /datum/reagent/consumable/cherryjelly = 5,
+ /obj/item/reagent_containers/food/snacks/breadslice/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry
+ subcategory = CAT_BREAD
+
+/datum/crafting_recipe/food/peanutbuttertoast
+ name = "Peanut butter toast"
+ reqs = list(
+ /datum/reagent/consumable/peanut_butter = 5,
+ /obj/item/reagent_containers/food/snacks/breadslice/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/peanut_buttertoast
+ subcategory = CAT_BREAD
+
+////////////////////////////////////////////////MISC////////////////////////////////////////////////
+
+/datum/crafting_recipe/food/baguette
+ name = "Baguette"
+ time = 40
+ reqs = list(/datum/reagent/consumable/sodiumchloride = 1,
+ /datum/reagent/consumable/blackpepper = 1,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/baguette
+ subcategory = CAT_BREAD
+
/datum/crafting_recipe/food/butterbiscuit
name = "Butter Biscuit"
reqs = list(
@@ -100,4 +141,13 @@
/obj/item/reagent_containers/food/snacks/butter = 3,
)
result = /obj/item/reagent_containers/food/snacks/butterdog
+ subcategory = CAT_BREAD
+
+/datum/crafting_recipe/food/twobread
+ name = "Two bread"
+ reqs = list(
+ /datum/reagent/consumable/ethanol/wine = 5,
+ /obj/item/reagent_containers/food/snacks/breadslice/plain = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/twobread
subcategory = CAT_BREAD
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
index ffa8709245..0fae6542e9 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
@@ -1,41 +1,9 @@
// see code/module/crafting/table.dm
-////////////////////////////////////////////////BURGERS////////////////////////////////////////////////
+////////////////////////////////////////////////STANDARD BURGS////////////////////////////////////////////////
-/datum/crafting_recipe/food/humanburger
- name = "Human burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/bun = 1,
- /obj/item/reagent_containers/food/snacks/meat/steak/plain/human = 1
- )
- parts = list(
- /obj/item/reagent_containers/food/snacks/meat/steak/plain/human = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/human
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/burger
- name = "Burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
-
- result = /obj/item/reagent_containers/food/snacks/burger/plain
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/corgiburger
- name = "Corgi burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/slab/corgi = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
-
- result = /obj/item/reagent_containers/food/snacks/burger/corgi
- subcategory = CAT_BURGER
-
/datum/crafting_recipe/food/appendixburger
name = "Appendix burger"
reqs = list(
@@ -54,15 +22,87 @@
result = /obj/item/reagent_containers/food/snacks/burger/brain
subcategory = CAT_BURGER
-/datum/crafting_recipe/food/xenoburger
- name = "Xeno burger"
+/datum/crafting_recipe/food/burger
+ name = "Burger"
reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/steak/xeno = 1,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+
+ result = /obj/item/reagent_containers/food/snacks/burger/plain
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/baconburger
+ name = "Bacon Burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/bacon = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+
+ result = /obj/item/reagent_containers/food/snacks/burger/baconburger
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/bigbiteburger
+ name = "Big bite burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
- result = /obj/item/reagent_containers/food/snacks/burger/xeno
+ result = /obj/item/reagent_containers/food/snacks/burger/bigbite
subcategory = CAT_BURGER
+/datum/crafting_recipe/food/superbiteburger
+ name = "Super bite burger"
+ reqs = list(
+ /datum/reagent/consumable/sodiumchloride = 5,
+ /datum/reagent/consumable/blackpepper = 5,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 5,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 4,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 3,
+ /obj/item/reagent_containers/food/snacks/boiledegg = 1,
+ /obj/item/reagent_containers/food/snacks/meat/bacon = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/superbite
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/cheeseburger
+ name = "Cheese Burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/cheese
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/corgiburger
+ name = "Corgi burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/slab/corgi = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+
+ result = /obj/item/reagent_containers/food/snacks/burger/corgi
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/humanburger
+ name = "Human burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/bun = 1,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain/human = 1
+ )
+ parts = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain/human = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/human
+ subcategory = CAT_BURGER
+
+///////////////EXOTIC//////////////////
+
/datum/crafting_recipe/food/bearger
name = "Bearger"
reqs = list(
@@ -72,6 +112,16 @@
result = /obj/item/reagent_containers/food/snacks/burger/bearger
subcategory = CAT_BURGER
+/datum/crafting_recipe/food/chickenburger
+ name = "Chicken Sandwich"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1,
+ /datum/reagent/consumable/mayonnaise = 5,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/chicken
+ subcategory = CAT_BURGER
+
/datum/crafting_recipe/food/fishburger
name = "Fish burger"
reqs = list(
@@ -82,6 +132,54 @@
result = /obj/item/reagent_containers/food/snacks/burger/fish
subcategory = CAT_BURGER
+/datum/crafting_recipe/food/fivealarmburger
+ name = "Five alarm burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/fivealarm
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/slimeburger
+ name = "Jelly burger"
+ reqs = list(
+ /datum/reagent/toxin/slimejelly = 5,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/jelly/slime
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/jellyburger
+ name = "Jelly burger"
+ reqs = list(
+ /datum/reagent/consumable/cherryjelly = 5,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/ribburger
+ name = "McRib"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
+ /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/rib
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/mcguffin
+ name = "McGuffin"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/friedegg = 1,
+ /obj/item/reagent_containers/food/snacks/meat/bacon = 2,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
+ subcategory = CAT_BURGER
+
/datum/crafting_recipe/food/tofuburger
name = "Tofu burger"
reqs = list(
@@ -91,16 +189,45 @@
result = /obj/item/reagent_containers/food/snacks/burger/tofu
subcategory = CAT_BURGER
-/datum/crafting_recipe/food/ghostburger
- name = "Ghost burger"
+/datum/crafting_recipe/food/baseballburger
+ name = "Home run baseball burger"
reqs = list(
- /obj/item/ectoplasm = 1,
- /datum/reagent/consumable/sodiumchloride = 2,
+ /obj/item/melee/baseball_bat = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/baseball
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/ratburger
+ name = "Rat burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/deadmouse = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/rat
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/soylentburger
+ name = "Soylent Burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth.
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/soylent
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/xenoburger
+ name = "Xeno burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/xeno = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
- result = /obj/item/reagent_containers/food/snacks/burger/ghost
+ result = /obj/item/reagent_containers/food/snacks/burger/xeno
subcategory = CAT_BURGER
+////////////MYSTICAL////////////////
+
/datum/crafting_recipe/food/clownburger
name = "Clown burger"
reqs = list(
@@ -119,6 +246,35 @@
result = /obj/item/reagent_containers/food/snacks/burger/mime
subcategory = CAT_BURGER
+/datum/crafting_recipe/food/ghostburger
+ name = "Ghost burger"
+ reqs = list(
+ /obj/item/ectoplasm = 1,
+ /datum/reagent/consumable/sodiumchloride = 2,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/ghost
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/spellburger
+ name = "Spell burger"
+ reqs = list(
+ /obj/item/clothing/head/wizard/fake = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/spell
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/spellburger2
+ name = "Spell burger"
+ reqs = list(
+ /obj/item/clothing/head/wizard = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/spell
+ subcategory = CAT_BURGER
+
+////////////COLORED BURGERS//////////////
+
/datum/crafting_recipe/food/redburger
name = "Red burger"
reqs = list(
@@ -197,154 +353,4 @@
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/white
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/spellburger
- name = "Spell burger"
- reqs = list(
- /obj/item/clothing/head/wizard/fake = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/burger/spell
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/spellburger2
- name = "Spell burger"
- reqs = list(
- /obj/item/clothing/head/wizard = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/spell
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/bigbiteburger
- name = "Big bite burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/bigbite
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/superbiteburger
- name = "Super bite burger"
- reqs = list(
- /datum/reagent/consumable/sodiumchloride = 5,
- /datum/reagent/consumable/blackpepper = 5,
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 5,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 4,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 3,
- /obj/item/reagent_containers/food/snacks/boiledegg = 1,
- /obj/item/reagent_containers/food/snacks/meat/bacon = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
-
- )
- result = /obj/item/reagent_containers/food/snacks/burger/superbite
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/slimeburger
- name = "Jelly burger"
- reqs = list(
- /datum/reagent/toxin/slimejelly = 5,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/jelly/slime
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/jellyburger
- name = "Jelly burger"
- reqs = list(
- /datum/reagent/consumable/cherryjelly = 5,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/fivealarmburger
- name = "Five alarm burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/fivealarm
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/ratburger
- name = "Rat burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/deadmouse = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/rat
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/baseballburger
- name = "Home run baseball burger"
- reqs = list(
- /obj/item/melee/baseball_bat = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/baseball
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/baconburger
- name = "Bacon Burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/bacon = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
-
- result = /obj/item/reagent_containers/food/snacks/burger/baconburger
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/cheeseburger
- name = "Cheese Burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/cheese
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/soylentburger
- name = "Soylent Burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth.
- /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/soylent
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/ribburger
- name = "McRib"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
- /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/rib
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/mcguffin
- name = "McGuffin"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/friedegg = 1,
- /obj/item/reagent_containers/food/snacks/meat/bacon = 2,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/chickenburger
- name = "Chicken Sandwich"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1,
- /datum/reagent/consumable/mayonnaise = 5,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/chicken
subcategory = CAT_BURGER
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
index f168896164..492d5c2db3 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
@@ -1,7 +1,84 @@
// see code/module/crafting/table.dm
-////////////////////////////////////////////////CAKE////////////////////////////////////////////////
+////////////////////////////////////////////////FRUIT CAKE////////////////////////////////////////////////
+
+/datum/crafting_recipe/food/applecake
+ name = "Apple cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/apple = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/apple
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/bscccake
+ name = "Blackberry and strawberry chocolate cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 2,
+ /obj/item/reagent_containers/food/snacks/grown/berries = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/bscc
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/bscvcake
+ name = "Blackberry and strawberry vanilla cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/berries = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/lemoncake
+ name = "Lemon cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/lemon
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/limecake
+ name = "Lime cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/lime
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/orangecake
+ name = "Orange cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/orange
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/peachcake
+ name = "Peach cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/peach = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake
+ subcategory = CAT_CAKE
+
+///////////////////////////////////FANCY////////////////////////////////////////////
+
+/datum/crafting_recipe/food/birthdaycake
+ name = "Birthday cake"
+ reqs = list(
+ /datum/reagent/consumable/sugar = 5,
+ /datum/reagent/consumable/caramel =2,
+ /obj/item/candle = 1,
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/birthday
+ subcategory = CAT_CAKE
/datum/crafting_recipe/food/carrotcake
name = "Carrot cake"
@@ -21,42 +98,6 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/cheese
subcategory = CAT_CAKE
-/datum/crafting_recipe/food/applecake
- name = "Apple cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 2
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/apple
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/orangecake
- name = "Orange cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/orange
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/limecake
- name = "Lime cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/lime
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/lemoncake
- name = "Lemon cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/lemon
- subcategory = CAT_CAKE
-
/datum/crafting_recipe/food/chocolatecake
name = "Chocolate cake"
reqs = list(
@@ -66,35 +107,6 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/chocolate
subcategory = CAT_CAKE
-/datum/crafting_recipe/food/birthdaycake
- name = "Birthday cake"
- reqs = list(
- /datum/reagent/consumable/sugar = 5,
- /datum/reagent/consumable/caramel =2,
- /obj/item/candle = 1,
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/birthday
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/braincake
- name = "Brain cake"
- reqs = list(
- /obj/item/organ/brain = 1,
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/brain
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/slimecake
- name = "Slime cake"
- reqs = list(
- /obj/item/slime_extract = 1,
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake
- subcategory = CAT_CAKE
-
/datum/crafting_recipe/food/pumpkinspicecake
name = "Pumpkin spice cake"
reqs = list(
@@ -104,6 +116,26 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice
subcategory = CAT_CAKE
+/datum/crafting_recipe/food/poundcake
+ name = "Pound cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 4
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/vanillacake
+ name = "Vanilla cake"
+ always_availible = FALSE
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake
+ subcategory = CAT_CAKE
+
+/////////////SPECIAL////////////
+
/datum/crafting_recipe/food/holycake
name = "Angel food cake"
reqs = list(
@@ -113,12 +145,24 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/holy_cake
subcategory = CAT_CAKE
-/datum/crafting_recipe/food/poundcake
- name = "Pound cake"
+/datum/crafting_recipe/food/braincake
+ name = "Brain cake"
reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 4
+ /obj/item/organ/brain = 1,
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
- result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake
+ result = /obj/item/reagent_containers/food/snacks/store/cake/brain
+ subcategory = CAT_CAKE
+
+/datum/crafting_recipe/food/clowncake
+ name = "Clown cake"
+ always_availible = FALSE
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/sundae = 2,
+ /obj/item/reagent_containers/food/snacks/grown/banana = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/hardwarecake
@@ -131,53 +175,13 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/hardware_cake
subcategory = CAT_CAKE
-/datum/crafting_recipe/food/bscccake
- name = "blackberry and strawberry chocolate cake"
+/datum/crafting_recipe/food/slimecake
+ name = "Slime cake"
reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 2,
- /obj/item/reagent_containers/food/snacks/grown/berries = 5
+ /obj/item/slime_extract = 1,
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
- result = /obj/item/reagent_containers/food/snacks/store/cake/bscc
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/bscvcake
- name = "blackberry and strawberry vanilla cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 5
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/clowncake
- name = "clown cake"
- always_availible = FALSE
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/sundae = 2,
- /obj/item/reagent_containers/food/snacks/grown/banana = 5
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/vanillacake
- name = "vanilla cake"
- always_availible = FALSE
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake
- subcategory = CAT_CAKE
-
-/datum/crafting_recipe/food/peachcake
- name = "Peach cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/peach = 5
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake
+ result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/trumpetcake
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
index e204b0c72c..1b1801d982 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
@@ -14,7 +14,7 @@
subcategory = CAT_ICE
/datum/crafting_recipe/food/spacefreezy
- name ="Space freezy"
+ name ="Space Freezy"
reqs = list(
/datum/reagent/consumable/bluecherryjelly = 5,
/datum/reagent/consumable/spacemountainwind = 15,
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
index d8145410cd..03020b8ba9 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
@@ -36,6 +36,18 @@
result = /obj/item/reagent_containers/food/snacks/kebab/tail
subcategory = CAT_MEAT
+/datum/crafting_recipe/food/fiestaskewer
+ name = "Fiesta Skewer"
+ reqs = list(
+ /obj/item/stack/rods = 1,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/corn = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/kebab/fiesta
+ subcategory = CAT_MEAT
+
// see code/module/crafting/table.dm
////////////////////////////////////////////////MR SPIDER////////////////////////////////////////////////
@@ -50,8 +62,69 @@
result = /obj/item/reagent_containers/food/snacks/spidereggsham
subcategory = CAT_MEAT
+//////////////////////////////////////////////FISH///////////////////////////////////////////
+
+/datum/crafting_recipe/food/fishfingers
+ name = "Fish fingers"
+ reqs = list(
+ /datum/reagent/consumable/flour = 5,
+ /obj/item/reagent_containers/food/snacks/bun = 1,
+ /obj/item/reagent_containers/food/snacks/carpmeat = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/fishfingers
+ subcategory = CAT_MEAT
+
+/datum/crafting_recipe/food/cubancarp
+ name = "Cuban carp"
+ reqs = list(
+ /datum/reagent/consumable/flour = 5,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/reagent_containers/food/snacks/carpmeat = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/cubancarp
+ subcategory = CAT_MEAT
+
+/datum/crafting_recipe/food/fishandchips
+ name = "Fish and chips"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/fries = 1,
+ /obj/item/reagent_containers/food/snacks/carpmeat = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/fishandchips
+ subcategory = CAT_MEAT
+
////////////////////////////////////////////////MISC RECIPE's////////////////////////////////////////////////
+/datum/crafting_recipe/food/ribs
+ name = "BBQ Ribs"
+ reqs = list(
+ /datum/reagent/consumable/bbqsauce = 5,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 2,
+ /obj/item/stack/rods = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/bbqribs
+ subcategory = CAT_MEAT
+
+/datum/crafting_recipe/food/nugget
+ name = "Chicken nugget"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/nugget
+ subcategory = CAT_MEAT
+
+/datum/crafting_recipe/food/corndog
+ name = "Corndog meal"
+ reqs = list(
+ /obj/item/stack/rods = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1,
+ /datum/reagent/consumable/mustard = 5,
+ /datum/reagent/consumable/ketchup = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/corndog
+ subcategory = CAT_MEAT
+
/datum/crafting_recipe/food/cornedbeef
name = "Corned beef"
reqs = list(
@@ -72,16 +145,6 @@
result = /obj/item/reagent_containers/food/snacks/bearsteak
subcategory = CAT_MEAT
-/datum/crafting_recipe/food/enchiladas
- name = "Enchiladas"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 2,
- /obj/item/reagent_containers/food/snacks/tortilla = 2
- )
- result = /obj/item/reagent_containers/food/snacks/enchiladas
- subcategory = CAT_MEAT
-
/datum/crafting_recipe/food/stewedsoymeat
name = "Stewed soymeat"
reqs = list(
@@ -101,23 +164,6 @@
result = /obj/item/reagent_containers/food/snacks/sausage
subcategory = CAT_MEAT
-/datum/crafting_recipe/food/nugget
- name = "Chicken nugget"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 1
- )
- result = /obj/item/reagent_containers/food/snacks/nugget
- subcategory = CAT_MEAT
-
-/datum/crafting_recipe/food/rawkhinkali
- name = "Raw Khinkali"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/doughslice = 1,
- /obj/item/reagent_containers/food/snacks/faggot = 1
- )
- result = /obj/item/reagent_containers/food/snacks/rawkhinkali
- subcategory = CAT_MEAT
-
/datum/crafting_recipe/food/pigblanket
name = "Pig in a Blanket"
reqs = list(
@@ -128,18 +174,6 @@
result = /obj/item/reagent_containers/food/snacks/pigblanket
subcategory = CAT_MEAT
-/datum/crafting_recipe/food/corndog
- name = "Corndog meal"
- reqs = list(
- /obj/item/stack/rods = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1,
- /datum/reagent/consumable/mustard = 5,
- /datum/reagent/consumable/ketchup = 5
- )
- result = /obj/item/reagent_containers/food/snacks/corndog
- subcategory = CAT_MEAT
-
/datum/crafting_recipe/food/ratkebab
name = "Rat Kebab"
reqs = list(
@@ -166,25 +200,3 @@
)
result = /obj/item/reagent_containers/food/snacks/salad/ricepork
subcategory = CAT_MEAT
-
-/datum/crafting_recipe/food/fiestaskewer
- name = "Fiesta Skewer"
- reqs = list(
- /obj/item/stack/rods = 1,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
- /obj/item/reagent_containers/food/snacks/grown/corn = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/kebab/fiesta
- subcategory = CAT_MEAT
-
-/datum/crafting_recipe/food/ribs
- name = "BBQ Ribs"
- reqs = list(
- /datum/reagent/consumable/bbqsauce = 5,
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 2,
- /obj/item/stack/rods = 2
- )
- result = /obj/item/reagent_containers/food/snacks/bbqribs
- subcategory = CAT_MEAT
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm
new file mode 100644
index 0000000000..e155a1bd23
--- /dev/null
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm
@@ -0,0 +1,111 @@
+// see code/module/crafting/table.dm
+
+////////////////////////////////////////////////"MEXICAN"////////////////////////////////////////////////
+
+/datum/crafting_recipe/food/burrito
+ name ="Burrito"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tortilla = 1,
+ /obj/item/reagent_containers/food/snacks/grown/soybeans = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/burrito
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/cheesyburrito
+ name ="Cheesy burrito"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tortilla = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
+ /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/cheesyburrito
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/enchiladas
+ name = "Enchiladas"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 2,
+ /obj/item/reagent_containers/food/snacks/tortilla = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/enchiladas
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/carneburrito
+ name ="Carne de asada burrito"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tortilla = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
+ /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/carneburrito
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/fuegoburrito
+ name ="Fuego plasma burrito"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tortilla = 1,
+ /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
+ /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/fuegoburrito
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/taco
+ name ="Classic Taco"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tortilla = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/taco
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/tacoplain
+ name ="Plain Taco"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tortilla = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/taco/plain
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/nachos
+ name ="Nachos"
+ reqs = list(
+ /datum/reagent/consumable/sodiumchloride = 1,
+ /obj/item/reagent_containers/food/snacks/tortilla = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/nachos
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/cheesynachos
+ name ="Cheesy nachos"
+ reqs = list(
+ /datum/reagent/consumable/sodiumchloride = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/tortilla = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/cheesynachos
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/cubannachos
+ name ="Cuban nachos"
+ reqs = list(
+ /datum/reagent/consumable/ketchup = 5,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 2,
+ /obj/item/reagent_containers/food/snacks/tortilla = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/cubannachos
+ subcategory = CAT_MEXICAN
+
+/datum/crafting_recipe/food/wrap
+ name = "Wrap"
+ reqs = list(/datum/reagent/consumable/soysauce = 10,
+ /obj/item/reagent_containers/food/snacks/friedegg = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/eggwrap
+ subcategory = CAT_MEXICAN
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
index 9cf5ea31a0..b2d79e10f9 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
@@ -3,60 +3,32 @@
// MISC
-/datum/crafting_recipe/food/candiedapple
- name = "Candied apple"
- reqs = list(/datum/reagent/water = 5,
- /datum/reagent/consumable/sugar = 5,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1
- )
- result = /obj/item/reagent_containers/food/snacks/candiedapple
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/spiderlollipop
- name = "Spider Lollipop"
- reqs = list(/obj/item/stack/rods = 1,
- /datum/reagent/consumable/sugar = 5,
- /datum/reagent/water = 5,
- /obj/item/reagent_containers/food/snacks/spiderling = 1
- )
- result = /obj/item/reagent_containers/food/snacks/spiderlollipop
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/chococoin
- name = "Choco coin"
- reqs = list(
- /obj/item/coin = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/chococoin
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/fudgedice
- name = "Fudge dice"
- reqs = list(
- /obj/item/dice = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/fudgedice
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/chocoorange
- name = "Choco orange"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/chocoorange
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/loadedbakedpotato
- name = "Loaded baked potato"
+/datum/crafting_recipe/food/beans
+ name = "Beans"
time = 40
- reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1
+ reqs = list(/datum/reagent/consumable/ketchup = 5,
+ /obj/item/reagent_containers/food/snacks/grown/soybeans = 2
)
- result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato
+ result = /obj/item/reagent_containers/food/snacks/beans
+ subcategory = CAT_MISCFOOD
+
+/datum/crafting_recipe/food/branrequests
+ name = "Bran Requests Cereal"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/wheat = 1,
+ /obj/item/reagent_containers/food/snacks/no_raisin = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/branrequests
+ subcategory = CAT_MISCFOOD
+
+/datum/crafting_recipe/food/oatmeal
+ name = "Oatmeal"
+ reqs = list(
+ /datum/reagent/consumable/milk = 10,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/grown/oat = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/salad/oatmeal
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/cheesyfries
@@ -68,24 +40,6 @@
result = /obj/item/reagent_containers/food/snacks/cheesyfries
subcategory = CAT_MISCFOOD
-/datum/crafting_recipe/food/wrap
- name = "Wrap"
- reqs = list(/datum/reagent/consumable/soysauce = 10,
- /obj/item/reagent_containers/food/snacks/friedegg = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/eggwrap
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/beans
- name = "Beans"
- time = 40
- reqs = list(/datum/reagent/consumable/ketchup = 5,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 2
- )
- result = /obj/item/reagent_containers/food/snacks/beans
- subcategory = CAT_MISCFOOD
-
/datum/crafting_recipe/food/eggplantparm
name ="Eggplant parmigiana"
reqs = list(
@@ -95,91 +49,14 @@
result = /obj/item/reagent_containers/food/snacks/eggplantparm
subcategory = CAT_MISCFOOD
-/datum/crafting_recipe/food/baguette
- name = "Baguette"
+/datum/crafting_recipe/food/loadedbakedpotato
+ name = "Loaded baked potato"
time = 40
- reqs = list(/datum/reagent/consumable/sodiumchloride = 1,
- /datum/reagent/consumable/blackpepper = 1,
- /obj/item/reagent_containers/food/snacks/pastrybase = 2
- )
- result = /obj/item/reagent_containers/food/snacks/baguette
- subcategory = CAT_MISCFOOD
-
-////////////////////////////////////////////////TOAST////////////////////////////////////////////////
-
-/datum/crafting_recipe/food/slimetoast
- name = "Slime toast"
reqs = list(
- /datum/reagent/toxin/slimejelly = 5,
- /obj/item/reagent_containers/food/snacks/breadslice/plain = 1
+ /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1
)
- result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/jelliedtoast
- name = "Jellied toast"
- reqs = list(
- /datum/reagent/consumable/cherryjelly = 5,
- /obj/item/reagent_containers/food/snacks/breadslice/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/peanutbuttertoast
- name = "Peanut butter toast"
- reqs = list(
- /datum/reagent/consumable/peanut_butter = 5,
- /obj/item/reagent_containers/food/snacks/breadslice/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/peanut_buttertoast
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/twobread
- name = "Two bread"
- reqs = list(
- /datum/reagent/consumable/ethanol/wine = 5,
- /obj/item/reagent_containers/food/snacks/breadslice/plain = 2
- )
- result = /obj/item/reagent_containers/food/snacks/twobread
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/burrito
- name ="Burrito"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 2
- )
- result = /obj/item/reagent_containers/food/snacks/burrito
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/cheesyburrito
- name ="Cheesy burrito"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
- )
- result = /obj/item/reagent_containers/food/snacks/cheesyburrito
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/carneburrito
- name ="Carne de asada burrito"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
- )
- result = /obj/item/reagent_containers/food/snacks/carneburrito
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/fuegoburrito
- name ="Fuego plasma burrito"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
- )
- result = /obj/item/reagent_containers/food/snacks/fuegoburrito
+ result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/melonfruitbowl
@@ -195,35 +72,6 @@
result = /obj/item/reagent_containers/food/snacks/melonfruitbowl
subcategory = CAT_MISCFOOD
-/datum/crafting_recipe/food/nachos
- name ="Nachos"
- reqs = list(
- /datum/reagent/consumable/sodiumchloride = 1,
- /obj/item/reagent_containers/food/snacks/tortilla = 1
- )
- result = /obj/item/reagent_containers/food/snacks/nachos
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/cheesynachos
- name ="Cheesy nachos"
- reqs = list(
- /datum/reagent/consumable/sodiumchloride = 1,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/tortilla = 1
- )
- result = /obj/item/reagent_containers/food/snacks/cheesynachos
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/cubannachos
- name ="Cuban nachos"
- reqs = list(
- /datum/reagent/consumable/ketchup = 5,
- /obj/item/reagent_containers/food/snacks/grown/chili = 2,
- /obj/item/reagent_containers/food/snacks/tortilla = 1
- )
- result = /obj/item/reagent_containers/food/snacks/cubannachos
- subcategory = CAT_MISCFOOD
-
/datum/crafting_recipe/food/melonkeg
name ="Melon keg"
reqs = list(
@@ -235,16 +83,6 @@
result = /obj/item/reagent_containers/food/snacks/melonkeg
subcategory = CAT_MISCFOOD
-/datum/crafting_recipe/food/honeybar
- name = "Honey nut bar"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/oat = 1,
- /datum/reagent/consumable/honey = 5
- )
- result = /obj/item/reagent_containers/food/snacks/honeybar
- subcategory = CAT_MISCFOOD
-
-
/datum/crafting_recipe/food/stuffedlegion
name = "Stuffed legion"
time = 40
@@ -257,7 +95,6 @@
result = /obj/item/reagent_containers/food/snacks/stuffedlegion
subcategory = CAT_MISCFOOD
-
/datum/crafting_recipe/lizardwine //not a subtype of /datum/crafting_recipe/food due to a bug where the resulting bottle would contain 100u of lizardwine and 100u of ethanol.
name = "Lizard wine"
time = 40
@@ -269,7 +106,6 @@
category = CAT_FOOD
subcategory = CAT_MISCFOOD
-
/datum/crafting_recipe/food/powercrepe
name = "Powercrepe"
time = 40
@@ -283,36 +119,6 @@
result = /obj/item/reagent_containers/food/snacks/powercrepe
subcategory = CAT_MISCFOOD
-/datum/crafting_recipe/food/taco
- name ="Classic Taco"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/taco
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/tacoplain
- name ="Plain Taco"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/taco/plain
- subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/branrequests
- name = "Bran Requests Cereal"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/wheat = 1,
- /obj/item/reagent_containers/food/snacks/no_raisin = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/branrequests
- subcategory = CAT_MISCFOOD
-
/datum/crafting_recipe/food/ricepudding
name = "Rice pudding"
reqs = list(
@@ -332,12 +138,3 @@
)
result = /obj/item/reagent_containers/food/snacks/riceball
subcategory = CAT_MISCFOOD
-
-/datum/crafting_recipe/food/chocolatestrawberry
- name = "Chocolate Strawberry"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
- /obj/item/reagent_containers/food/snacks/grown/strawberry = 1
- )
- result = /obj/item/reagent_containers/food/snacks/chocolatestrawberry
- subcategory = CAT_MISCFOOD
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
index 62b8509eb1..b19a2a8a67 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
@@ -123,23 +123,6 @@ datum/crafting_recipe/food/donut/meat
////////////////////////////////////////////////////JELLY DONUTS///////////////////////////////////////////////////////
-/datum/crafting_recipe/food/donut/jelly/berry
- name = "Berry Jelly Donut"
- reqs = list(
- /datum/reagent/consumable/berryjuice = 3,
- /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry
-
-/datum/crafting_recipe/food/donut/jelly/trumpet
- name = "Spaceman's Jelly Donut"
- reqs = list(
- /datum/reagent/medicine/polypyr = 3,
- /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
- )
-
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
-
/datum/crafting_recipe/food/donut/jelly/apple
name = "Apple Jelly Donut"
reqs = list(
@@ -148,21 +131,13 @@ datum/crafting_recipe/food/donut/meat
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple
-/datum/crafting_recipe/food/donut/jelly/caramel
- name = "Caramel Jelly Donut"
+/datum/crafting_recipe/food/donut/jelly/berry
+ name = "Berry Jelly Donut"
reqs = list(
- /datum/reagent/consumable/caramel = 3,
+ /datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel
-
-/datum/crafting_recipe/food/donut/jelly/choco
- name = "Chocolate Jelly Donut"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
- /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry
/datum/crafting_recipe/food/donut/jelly/blumpkin
name = "Blumpkin Jelly Donut"
@@ -180,6 +155,22 @@ datum/crafting_recipe/food/donut/meat
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo
+/datum/crafting_recipe/food/donut/jelly/caramel
+ name = "Caramel Jelly Donut"
+ reqs = list(
+ /datum/reagent/consumable/caramel = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel
+
+/datum/crafting_recipe/food/donut/jelly/choco
+ name = "Chocolate Jelly Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco
+
/datum/crafting_recipe/food/donut/jelly/matcha
name = "Matcha Jelly Donut"
reqs = list(
@@ -188,8 +179,24 @@ datum/crafting_recipe/food/donut/meat
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha
+/datum/crafting_recipe/food/donut/jelly/trumpet
+ name = "Spaceman's Jelly Donut"
+ reqs = list(
+ /datum/reagent/medicine/polypyr = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
+
////////////////////////////////////////////////////SLIME DONUTS///////////////////////////////////////////////////////
+/datum/crafting_recipe/food/donut/slimejelly/apple
+ name = "Apple Slime Donut"
+ reqs = list(
+ /datum/reagent/consumable/applejuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
+
/datum/crafting_recipe/food/donut/slimejelly/berry
name = "Berry Slime Donut"
reqs = list(
@@ -198,22 +205,21 @@ datum/crafting_recipe/food/donut/meat
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry
-/datum/crafting_recipe/food/donut/slimejelly/trumpet
- name = "Spaceman's Slime Donut"
+/datum/crafting_recipe/food/donut/slimejelly/blumpkin
+ name = "Blumpkin Slime Donut"
reqs = list(
- /datum/reagent/medicine/polypyr = 3,
+ /datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
-
-/datum/crafting_recipe/food/donut/slimejelly/apple
- name = "Apple Slime Donut"
+/datum/crafting_recipe/food/donut/slimejelly/bungo
+ name = "Bungo Slime Donut"
reqs = list(
- /datum/reagent/consumable/applejuice = 3,
+ /datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
/datum/crafting_recipe/food/donut/slimejelly/caramel
name = "Caramel Slime Donut"
@@ -231,21 +237,14 @@ datum/crafting_recipe/food/donut/meat
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco
-/datum/crafting_recipe/food/donut/slimejelly/blumpkin
- name = "Blumpkin Slime Donut"
+/datum/crafting_recipe/food/donut/slimejelly/trumpet
+ name = "Spaceman's Slime Donut"
reqs = list(
- /datum/reagent/consumable/blumpkinjuice = 3,
+ /datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
-/datum/crafting_recipe/food/donut/slimejelly/bungo
- name = "Bungo Slime Donut"
- reqs = list(
- /datum/reagent/consumable/bungojuice = 3,
- /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
/datum/crafting_recipe/food/donut/slimejelly/matcha
name = "Matcha Slime Donut"
@@ -388,123 +387,8 @@ datum/crafting_recipe/food/donut/meat
result = /obj/item/reagent_containers/food/snacks/muffin/poppy
subcategory = CAT_PASTRY
-/datum/crafting_recipe/food/chawanmushi
- name = "Chawanmushi"
- reqs = list(
- /datum/reagent/water = 5,
- /datum/reagent/consumable/soysauce = 5,
- /obj/item/reagent_containers/food/snacks/boiledegg = 2,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
- )
- result = /obj/item/reagent_containers/food/snacks/chawanmushi
- subcategory = CAT_PASTRY
-
////////////////////////////////////////////OTHER////////////////////////////////////////////
-/datum/crafting_recipe/food/meatbun
- name = "Meat bun"
- reqs = list(
- /datum/reagent/consumable/soysauce = 5,
- /obj/item/reagent_containers/food/snacks/bun = 1,
- /obj/item/reagent_containers/food/snacks/faggot = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
- )
- result = /obj/item/reagent_containers/food/snacks/meatbun
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/khachapuri
- name = "Khachapuri"
- reqs = list(
- /datum/reagent/consumable/eggyolk = 5,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/khachapuri
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/sugarcookie
- time = 15
- name = "Sugar cookie"
- reqs = list(
- /datum/reagent/consumable/sugar = 5,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1
- )
- result = /obj/item/reagent_containers/food/snacks/sugarcookie
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/fortunecookie
- time = 15
- name = "Fortune cookie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pastrybase = 1,
- /obj/item/paper = 1
- )
- parts = list(
- /obj/item/paper = 1
- )
- result = /obj/item/reagent_containers/food/snacks/fortunecookie
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/poppypretzel
- time = 15
- name = "Poppy pretzel"
- reqs = list(
- /obj/item/seeds/poppy = 1,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1
- )
- result = /obj/item/reagent_containers/food/snacks/poppypretzel
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/plumphelmetbiscuit
- time = 15
- name = "Plumphelmet biscuit"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
- )
- result = /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/cracker
- time = 15
- name = "Cracker"
- reqs = list(
- /datum/reagent/consumable/sodiumchloride = 1,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1,
- )
- result = /obj/item/reagent_containers/food/snacks/cracker
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/chococornet
- name = "Choco cornet"
- reqs = list(
- /datum/reagent/consumable/sodiumchloride = 1,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1
- )
- result = /obj/item/reagent_containers/food/snacks/chococornet
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/oatmealcookie
- name = "Oatmeal cookie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/oat = 1
- )
- result = /obj/item/reagent_containers/food/snacks/oatmealcookie
- subcategory = CAT_PASTRY
-
-
-/datum/crafting_recipe/food/raisincookie
- name = "Raisin cookie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/no_raisin = 1,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/oat = 1
- )
- result = /obj/item/reagent_containers/food/snacks/raisincookie
- subcategory = CAT_PASTRY
-
/datum/crafting_recipe/food/cherrycupcake
name = "Cherry cupcake"
reqs = list(
@@ -532,6 +416,55 @@ datum/crafting_recipe/food/donut/meat
result = /obj/item/reagent_containers/food/snacks/strawberrycupcake
subcategory = CAT_PASTRY
+/datum/crafting_recipe/food/raisincookie
+ name = "Raisin cookie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/no_raisin = 1,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1,
+ /obj/item/reagent_containers/food/snacks/grown/oat = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/raisincookie
+ subcategory = CAT_PASTRY
+
+/datum/crafting_recipe/food/oatmealcookie
+ name = "Oatmeal cookie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1,
+ /obj/item/reagent_containers/food/snacks/grown/oat = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/oatmealcookie
+ subcategory = CAT_PASTRY
+
+/datum/crafting_recipe/food/sugarcookie
+ time = 15
+ name = "Sugar cookie"
+ reqs = list(
+ /datum/reagent/consumable/sugar = 5,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/sugarcookie
+ subcategory = CAT_PASTRY
+
+/datum/crafting_recipe/food/chococornet
+ name = "Choco cornet"
+ reqs = list(
+ /datum/reagent/consumable/sodiumchloride = 1,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/chococornet
+ subcategory = CAT_PASTRY
+
+/datum/crafting_recipe/food/cracker
+ time = 15
+ name = "Cracker"
+ reqs = list(
+ /datum/reagent/consumable/sodiumchloride = 1,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/cracker
+ subcategory = CAT_PASTRY
+
/datum/crafting_recipe/food/honeybun
name = "Honey bun"
reqs = list(
@@ -539,4 +472,24 @@ datum/crafting_recipe/food/donut/meat
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/honeybun
- subcategory = CAT_PASTRY
\ No newline at end of file
+ subcategory = CAT_PASTRY
+
+/datum/crafting_recipe/food/poppypretzel
+ time = 15
+ name = "Poppy pretzel"
+ reqs = list(
+ /obj/item/seeds/poppy = 1,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/poppypretzel
+ subcategory = CAT_PASTRY
+
+/datum/crafting_recipe/food/plumphelmetbiscuit
+ time = 15
+ name = "Plumphelmet biscuit"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit
+ subcategory = CAT_PASTRY
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
index b5bed4d5fc..eabad73138 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
@@ -1,7 +1,16 @@
// see code/module/crafting/table.dm
-////////////////////////////////////////////////PIES////////////////////////////////////////////////
+//////////////////////////////////FRUITS/////////////////////////////////////////
+
+/datum/crafting_recipe/food/applepie
+ name = "Apple pie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/apple = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/applepie
+ subcategory = CAT_PIE
/datum/crafting_recipe/food/bananacreampie
name = "Banana cream pie"
@@ -13,33 +22,13 @@
result = /obj/item/reagent_containers/food/snacks/pie/cream
subcategory = CAT_PIE
-/datum/crafting_recipe/food/meatpie
- name = "Meat pie"
- reqs = list(
- /datum/reagent/consumable/blackpepper = 1,
- /datum/reagent/consumable/sodiumchloride = 1,
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pie/meatpie
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/tofupie
- name = "Tofu pie"
+/datum/crafting_recipe/food/berryclafoutis
+ name = "Berry clafoutis"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/tofu = 1
+ /obj/item/reagent_containers/food/snacks/grown/berries = 1
)
- result = /obj/item/reagent_containers/food/snacks/pie/tofupie
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/xenopie
- name = "Xeno pie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pie/xemeatpie
+ result = /obj/item/reagent_containers/food/snacks/pie/berryclafoutis
subcategory = CAT_PIE
/datum/crafting_recipe/food/cherrypie
@@ -51,13 +40,53 @@
result = /obj/item/reagent_containers/food/snacks/pie/cherrypie
subcategory = CAT_PIE
-/datum/crafting_recipe/food/berryclafoutis
- name = "Berry clafoutis"
+/datum/crafting_recipe/food/frostypie
+ name = "Frosty pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1
+ /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
)
- result = /obj/item/reagent_containers/food/snacks/pie/berryclafoutis
+ result = /obj/item/reagent_containers/food/snacks/pie/frostypie
+ subcategory = CAT_PIE
+
+/datum/crafting_recipe/food/grapetart
+ name = "Grape tart"
+ reqs = list(
+ /datum/reagent/consumable/milk = 5,
+ /datum/reagent/consumable/sugar = 5,
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/grapes = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/grapetart
+ subcategory = CAT_PIE
+
+/datum/crafting_recipe/food/peachpie
+ name = "Peach Pie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/peach = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/peachpie
+ subcategory = CAT_PIE
+
+/datum/crafting_recipe/food/strawberrypie
+ name = "Strawberry pie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/strawberry = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/strawberrypie
+ subcategory = CAT_PIE
+
+//////////OTHER PIES/////////
+
+/datum/crafting_recipe/food/amanitapie
+ name = "Amanita pie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/amanita_pie
subcategory = CAT_PIE
/datum/crafting_recipe/food/bearypie
@@ -70,64 +99,14 @@
result = /obj/item/reagent_containers/food/snacks/pie/bearypie
subcategory = CAT_PIE
-/datum/crafting_recipe/food/amanitapie
- name = "Amanita pie"
+/datum/crafting_recipe/food/baklava
+ name = "Baklava pie"
reqs = list(
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1
+ /obj/item/reagent_containers/food/snacks/butter = 1,
+ /obj/item/reagent_containers/food/snacks/tortilla = 4, //Layers
+ /obj/item/seeds/wheat/oat = 3
)
- result = /obj/item/reagent_containers/food/snacks/pie/amanita_pie
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/plumppie
- name = "Plump pie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pie/plump_pie
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/applepie
- name = "Apple pie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pie/applepie
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/pumpkinpie
- name = "Pumpkin pie"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /datum/reagent/consumable/sugar = 5,
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pie/pumpkinpie
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/goldenappletart
- name = "Golden apple tart"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /datum/reagent/consumable/sugar = 5,
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple/gold = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pie/appletart
- subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/grapetart
- name = "Grape tart"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /datum/reagent/consumable/sugar = 5,
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/grapes = 3
- )
- result = /obj/item/reagent_containers/food/snacks/pie/grapetart
+ result = /obj/item/reagent_containers/food/snacks/pie/baklava
subcategory = CAT_PIE
/datum/crafting_recipe/food/blumpkinpie
@@ -151,32 +130,66 @@
result = /obj/item/reagent_containers/food/snacks/pie/dulcedebatata
subcategory = CAT_PIE
-/datum/crafting_recipe/food/frostypie
- name = "Frosty pie"
+/datum/crafting_recipe/food/meatpie
+ name = "Meat pie"
reqs = list(
+ /datum/reagent/consumable/blackpepper = 1,
+ /datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1
)
- result = /obj/item/reagent_containers/food/snacks/pie/frostypie
+ result = /obj/item/reagent_containers/food/snacks/pie/meatpie
subcategory = CAT_PIE
-/datum/crafting_recipe/food/strawberrypie
- name = "Strawberry pie"
+/datum/crafting_recipe/food/plumppie
+ name = "Plump pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/strawberry = 1
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
)
- result = /obj/item/reagent_containers/food/snacks/pie/strawberrypie
+ result = /obj/item/reagent_containers/food/snacks/pie/plump_pie
subcategory = CAT_PIE
-/datum/crafting_recipe/food/baklava
- name = "Baklava pie"
+/datum/crafting_recipe/food/pumpkinpie
+ name = "Pumpkin pie"
reqs = list(
- /obj/item/reagent_containers/food/snacks/butter = 1,
- /obj/item/reagent_containers/food/snacks/tortilla = 4, //Layers
- /obj/item/seeds/wheat/oat = 3
+ /datum/reagent/consumable/milk = 5,
+ /datum/reagent/consumable/sugar = 5,
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1
)
- result = /obj/item/reagent_containers/food/snacks/pie/baklava
+ result = /obj/item/reagent_containers/food/snacks/pie/pumpkinpie
+ subcategory = CAT_PIE
+
+/datum/crafting_recipe/food/tofupie
+ name = "Tofu pie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/tofu = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/tofupie
+ subcategory = CAT_PIE
+
+/datum/crafting_recipe/food/xenopie
+ name = "Xeno pie"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/xemeatpie
+ subcategory = CAT_PIE
+
+//////////////TARTS//////////////
+
+/datum/crafting_recipe/food/goldenappletart
+ name = "Golden apple tart"
+ reqs = list(
+ /datum/reagent/consumable/milk = 5,
+ /datum/reagent/consumable/sugar = 5,
+ /obj/item/reagent_containers/food/snacks/pie/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/apple/gold = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pie/appletart
subcategory = CAT_PIE
/datum/crafting_recipe/food/mimetart
@@ -215,12 +228,3 @@
)
result = /obj/item/reagent_containers/food/snacks/pie/cocolavatart
subcategory = CAT_PIE
-
-/datum/crafting_recipe/food/peachpie
- name = "Peach Pie"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/peach = 3
- )
- result = /obj/item/reagent_containers/food/snacks/pie/peachpie
- subcategory = CAT_PIE
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
index 64447dd180..21112a4a4f 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
@@ -3,6 +3,40 @@
////////////////////////////////////////////////PIZZA!!!////////////////////////////////////////////////
+/datum/crafting_recipe/food/dankpizza
+ name = "Dank pizza"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pizzabread = 1,
+ /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pizza/dank
+ subcategory = CAT_PIZZA
+
+/datum/crafting_recipe/food/donkpocketpizza
+ name = "Donkpocket pizza"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pizzabread = 1,
+ /obj/item/reagent_containers/food/snacks/donkpocket/warm = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket
+ subcategory = CAT_PIZZA
+
+/datum/crafting_recipe/food/pineapplepizza
+ name = "Hawaiian pizza"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pizzabread = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
+ /obj/item/reagent_containers/food/snacks/pineappleslice = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pizza/pineapple
+ subcategory = CAT_PIZZA
+
/datum/crafting_recipe/food/margheritapizza
name = "Margherita pizza"
reqs = list(
@@ -24,18 +58,6 @@
result = /obj/item/reagent_containers/food/snacks/pizza/meat
subcategory = CAT_PIZZA
-/datum/crafting_recipe/food/arnold
- name = "Arnold pizza"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 3,
- /obj/item/ammo_casing/c9mm = 8,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pizza/arnold
- subcategory = CAT_PIZZA
-
/datum/crafting_recipe/food/mushroompizza
name = "Mushroom pizza"
reqs = list(
@@ -45,6 +67,17 @@
result = /obj/item/reagent_containers/food/snacks/pizza/mushroom
subcategory = CAT_PIZZA
+/datum/crafting_recipe/food/sassysagepizza
+ name = "Sassysage pizza"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pizzabread = 1,
+ /obj/item/reagent_containers/food/snacks/faggot = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pizza/sassysage
+ subcategory = CAT_PIZZA
+
/datum/crafting_recipe/food/vegetablepizza
name = "Vegetable pizza"
reqs = list(
@@ -57,50 +90,7 @@
result = /obj/item/reagent_containers/food/snacks/pizza/vegetable
subcategory = CAT_PIZZA
-/datum/crafting_recipe/food/donkpocketpizza
- name = "Donkpocket pizza"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/donkpocket/warm = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket
- subcategory = CAT_PIZZA
-
-/datum/crafting_recipe/food/dankpizza
- name = "Dank pizza"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pizza/dank
- subcategory = CAT_PIZZA
-
-/datum/crafting_recipe/food/sassysagepizza
- name = "Sassysage pizza"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/faggot = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pizza/sassysage
- subcategory = CAT_PIZZA
-
-/datum/crafting_recipe/food/pineapplepizza
- name = "Hawaiian pizza"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/pineappleslice = 3,
- /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/pizza/pineapple
- subcategory = CAT_PIZZA
+//////Special Pizzas/////
/datum/crafting_recipe/food/pineapplepizza/anomaly
name = "Anomaly Hawaiian pizza"
@@ -120,3 +110,15 @@
tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
result = /obj/item/pizzabox/infinite
subcategory = CAT_PIZZA
+
+/datum/crafting_recipe/food/arnold
+ name = "Arnold pizza"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/pizzabread = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 3,
+ /obj/item/ammo_casing/c9mm = 8,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/pizza/arnold
+ subcategory = CAT_PIZZA
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
index 39eeb7d936..0a44c4590e 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
@@ -3,16 +3,6 @@
////////////////////////////////////////////////SALADS////////////////////////////////////////////////
-/datum/crafting_recipe/food/herbsalad
- name = "Herb salad"
- reqs = list(
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1
- )
- result = /obj/item/reagent_containers/food/snacks/salad/herbsalad
- subcategory = CAT_SALAD
-
/datum/crafting_recipe/food/aesirsalad
name = "Aesir salad"
reqs = list(
@@ -23,38 +13,16 @@
result = /obj/item/reagent_containers/food/snacks/salad/aesirsalad
subcategory = CAT_SALAD
-/datum/crafting_recipe/food/validsalad
- name = "Valid salad"
+/datum/crafting_recipe/food/citrusdelight
+ name = "Citrus delight"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
- /obj/item/reagent_containers/food/snacks/faggot = 1
- )
- result = /obj/item/reagent_containers/food/snacks/salad/validsalad
- subcategory = CAT_SALAD
+ /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
+ /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1
-/datum/crafting_recipe/food/monkeysdelight
- name = "Monkeys delight"
- reqs = list(
- /datum/reagent/consumable/flour = 5,
- /datum/reagent/consumable/sodiumchloride = 1,
- /datum/reagent/consumable/blackpepper = 1,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/monkeycube = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1
)
- result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight
- subcategory = CAT_SALAD
-
-/datum/crafting_recipe/food/oatmeal
- name = "Oatmeal"
- reqs = list(
- /datum/reagent/consumable/milk = 10,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/oat = 1
- )
- result = /obj/item/reagent_containers/food/snacks/salad/oatmeal
+ result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight
subcategory = CAT_SALAD
/datum/crafting_recipe/food/fruitsalad
@@ -70,6 +38,16 @@
result = /obj/item/reagent_containers/food/snacks/salad/fruit
subcategory = CAT_SALAD
+/datum/crafting_recipe/food/herbsalad
+ name = "Herb salad"
+ reqs = list(
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
+ /obj/item/reagent_containers/food/snacks/grown/apple = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/salad/herbsalad
+ subcategory = CAT_SALAD
+
/datum/crafting_recipe/food/junglesalad
name = "Jungle salad"
reqs = list(
@@ -83,14 +61,26 @@
result = /obj/item/reagent_containers/food/snacks/salad/jungle
subcategory = CAT_SALAD
-/datum/crafting_recipe/food/citrusdelight
- name = "Citrus delight"
+/datum/crafting_recipe/food/monkeysdelight
+ name = "Monkeys delight"
+ reqs = list(
+ /datum/reagent/consumable/flour = 5,
+ /datum/reagent/consumable/sodiumchloride = 1,
+ /datum/reagent/consumable/blackpepper = 1,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/monkeycube = 1,
+ /obj/item/reagent_containers/food/snacks/grown/banana = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight
+ subcategory = CAT_SALAD
+
+/datum/crafting_recipe/food/validsalad
+ name = "Valid salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1
-
+ /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
+ /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/reagent_containers/food/snacks/faggot = 1
)
- result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight
+ result = /obj/item/reagent_containers/food/snacks/salad/validsalad
subcategory = CAT_SALAD
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm
index 127b2cc238..d2ea1da50a 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm
@@ -84,7 +84,6 @@
result = /obj/item/reagent_containers/food/snacks/peanutbutter_sandwich
subcategory = CAT_SANDWICH
-
/datum/crafting_recipe/food/notasandwich
name = "Not a sandwich"
reqs = list(
@@ -113,4 +112,4 @@
/obj/item/reagent_containers/food/snacks/sausage = 1
)
result = /obj/item/reagent_containers/food/snacks/hotdog
- subcategory = CAT_SANDWICH
+ subcategory = CAT_SANDWICH //I don't agree with this.
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm
index 76a5a64096..0c966faf33 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm
@@ -3,71 +3,46 @@
////////////////////////////////////////////////SOUP////////////////////////////////////////////////
-/datum/crafting_recipe/food/meatballsoup
- name = "Meatball soup"
+/datum/crafting_recipe/food/amanitajelly
+ name = "Amanita jelly"
+ reqs = list(
+ /datum/reagent/consumable/ethanol/vodka = 5,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/amanitajelly
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/beetsoup
+ name = "Beet soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/faggot = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1
+ /obj/item/reagent_containers/food/snacks/grown/whitebeet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
)
- result = /obj/item/reagent_containers/food/snacks/soup/meatball
+ result = /obj/item/reagent_containers/food/snacks/soup/beet
subcategory = CAT_SOUP
-/datum/crafting_recipe/food/vegetablesoup
- name = "Vegetable soup"
+/datum/crafting_recipe/food/bloodsoup
+ name = "Blood soup"
+ reqs = list(
+ /datum/reagent/blood = 10,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/blood
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/clownstears
+ name = "Clowns tears"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/corn = 1,
- /obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1
+ /obj/item/reagent_containers/food/snacks/grown/banana = 1,
+ /obj/item/stack/ore/bananium = 1
)
- result = /obj/item/reagent_containers/food/snacks/soup/vegetable
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/nettlesoup
- name = "Nettle soup"
- reqs = list(
- /datum/reagent/water = 10,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/nettle = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
- /obj/item/reagent_containers/food/snacks/boiledegg = 1
- )
- result = /obj/item/reagent_containers/food/snacks/soup/nettle
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/wingfangchu
- name = "Wingfangchu"
- reqs = list(
- /obj/item/reagent_containers/glass/bowl = 1,
- /datum/reagent/consumable/soysauce = 5,
- /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 2
- )
- result = /obj/item/reagent_containers/food/snacks/soup/wingfangchu
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/wishsoup
- name = "Wish soup"
- reqs = list(
- /datum/reagent/water = 20,
- /obj/item/reagent_containers/glass/bowl = 1
- )
- result= /obj/item/reagent_containers/food/snacks/soup/wish
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/hotchili
- name = "Hot chili"
- reqs = list(
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
- )
- result = /obj/item/reagent_containers/food/snacks/soup/hotchili
+ result = /obj/item/reagent_containers/food/snacks/soup/clownstears
subcategory = CAT_SOUP
/datum/crafting_recipe/food/coldchili
@@ -81,16 +56,6 @@
result = /obj/item/reagent_containers/food/snacks/soup/coldchili
subcategory = CAT_SOUP
-/datum/crafting_recipe/food/tomatosoup
- name = "Tomato soup"
- reqs = list(
- /datum/reagent/water = 10,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 2
- )
- result = /obj/item/reagent_containers/food/snacks/soup/tomato
- subcategory = CAT_SOUP
-
/datum/crafting_recipe/food/eyeballsoup
name = "Eyeball soup"
reqs = list(
@@ -102,6 +67,28 @@
result = /obj/item/reagent_containers/food/snacks/soup/tomato/eyeball
subcategory = CAT_SOUP
+/datum/crafting_recipe/food/hotchili
+ name = "Hot chili"
+ reqs = list(
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/hotchili
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/meatballsoup
+ name = "Meatball soup"
+ reqs = list(
+ /datum/reagent/water = 10,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/faggot = 1,
+ /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
+ /obj/item/reagent_containers/food/snacks/grown/potato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/meatball
+ subcategory = CAT_SOUP
/datum/crafting_recipe/food/milosoup
name = "Milo soup"
@@ -114,35 +101,15 @@
result = /obj/item/reagent_containers/food/snacks/soup/milo
subcategory = CAT_SOUP
-/datum/crafting_recipe/food/bloodsoup
- name = "Blood soup"
+/datum/crafting_recipe/food/mushroomsoup
+ name = "Mushroom soup"
reqs = list(
- /datum/reagent/blood = 10,
+ /datum/reagent/consumable/milk = 5,
+ /datum/reagent/water = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
)
- result = /obj/item/reagent_containers/food/snacks/soup/blood
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/slimesoup
- name = "Slime soup"
- reqs = list(
- /datum/reagent/water = 10,
- /datum/reagent/toxin/slimejelly = 5,
- /obj/item/reagent_containers/glass/bowl = 1
- )
- result = /obj/item/reagent_containers/food/snacks/soup/slime
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/clownstears
- name = "Clowns tears"
- reqs = list(
- /datum/reagent/water = 10,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
- /obj/item/stack/ore/bananium = 1
- )
- result = /obj/item/reagent_containers/food/snacks/soup/clownstears
+ result = /obj/item/reagent_containers/food/snacks/soup/mushroom
subcategory = CAT_SOUP
/datum/crafting_recipe/food/mysterysoup
@@ -158,26 +125,37 @@
result = /obj/item/reagent_containers/food/snacks/soup/mystery
subcategory = CAT_SOUP
-/datum/crafting_recipe/food/mushroomsoup
- name = "Mushroom soup"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /datum/reagent/water = 5,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
- )
- result = /obj/item/reagent_containers/food/snacks/soup/mushroom
- subcategory = CAT_SOUP
-
-/datum/crafting_recipe/food/beetsoup
- name = "Beet soup"
+/datum/crafting_recipe/food/nettlesoup
+ name = "Nettle soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/whitebeet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ /obj/item/reagent_containers/food/snacks/grown/nettle = 1,
+ /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/reagent_containers/food/snacks/boiledegg = 1
)
- result = /obj/item/reagent_containers/food/snacks/soup/beet
+ result = /obj/item/reagent_containers/food/snacks/soup/nettle
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/redbeetsoup
+ name = "Red beet soup"
+ reqs = list(
+ /datum/reagent/water = 10,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/beet/red
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/slimesoup
+ name = "Slime soup"
+ reqs = list(
+ /datum/reagent/water = 10,
+ /datum/reagent/toxin/slimejelly = 5,
+ /obj/item/reagent_containers/glass/bowl = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/slime
subcategory = CAT_SOUP
/datum/crafting_recipe/food/stew
@@ -205,16 +183,6 @@
result = /obj/item/reagent_containers/food/snacks/soup/spacylibertyduff
subcategory = CAT_SOUP
-/datum/crafting_recipe/food/amanitajelly
- name = "Amanita jelly"
- reqs = list(
- /datum/reagent/consumable/ethanol/vodka = 5,
- /obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3
- )
- result = /obj/item/reagent_containers/food/snacks/soup/amanitajelly
- subcategory = CAT_SOUP
-
/datum/crafting_recipe/food/sweetpotatosoup
name = "Sweet potato soup"
reqs = list(
@@ -226,13 +194,44 @@
result = /obj/item/reagent_containers/food/snacks/soup/sweetpotato
subcategory = CAT_SOUP
-/datum/crafting_recipe/food/redbeetsoup
- name = "Red beet soup"
+/datum/crafting_recipe/food/tomatosoup
+ name = "Tomato soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 2
)
- result = /obj/item/reagent_containers/food/snacks/soup/beet/red
+ result = /obj/item/reagent_containers/food/snacks/soup/tomato
subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/vegetablesoup
+ name = "Vegetable soup"
+ reqs = list(
+ /datum/reagent/water = 10,
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
+ /obj/item/reagent_containers/food/snacks/grown/corn = 1,
+ /obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
+ /obj/item/reagent_containers/food/snacks/grown/potato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/vegetable
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/wingfangchu
+ name = "Wingfangchu"
+ reqs = list(
+ /obj/item/reagent_containers/glass/bowl = 1,
+ /datum/reagent/consumable/soysauce = 5,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/wingfangchu
+ subcategory = CAT_SOUP
+
+/datum/crafting_recipe/food/wishsoup
+ name = "Wish soup"
+ reqs = list(
+ /datum/reagent/water = 20,
+ /obj/item/reagent_containers/glass/bowl = 1
+ )
+ result= /obj/item/reagent_containers/food/snacks/soup/wish
+ subcategory = CAT_SOUP
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
index 355402111c..12020a6241 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
@@ -3,15 +3,6 @@
////////////////////////////////////////////////SPAGHETTI////////////////////////////////////////////////
-/datum/crafting_recipe/food/tomatopasta
- name = "Tomato pasta"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/boiledspaghetti = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 2
- )
- result = /obj/item/reagent_containers/food/snacks/pastatomato
- subcategory = CAT_SPAGHETTI
-
/datum/crafting_recipe/food/copypasta
name = "Copypasta"
reqs = list(
@@ -38,6 +29,17 @@
result = /obj/item/reagent_containers/food/snacks/spesslaw
subcategory = CAT_SPAGHETTI
+/datum/crafting_recipe/food/tomatopasta
+ name = "Tomato pasta"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/boiledspaghetti = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/pastatomato
+ subcategory = CAT_SPAGHETTI
+
+////////////NOODLES///////////
+
/datum/crafting_recipe/food/beefnoodle
name = "Beef noodle"
reqs = list(
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm
index 9dbf1d684b..5a95ba9907 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm
@@ -1,4 +1,5 @@
-//////////////////////////Sushi Components///////////////////////
+/////////////Recategorizing this as -Eastern- foods///////////////
+///////////////////////Sushi Components///////////////////////////
/datum/crafting_recipe/food/sushi_rice
name = "Sushi Rice"
@@ -93,33 +94,58 @@
result = /obj/item/reagent_containers/food/snacks/sushie_pro
subcategory = CAT_FISH
-///////////////Gaijin junk/////////////////////////////////////
+//////////////////Not-Fish//////////////////////
-/datum/crafting_recipe/food/fishfingers
- name = "Fish fingers"
+/datum/crafting_recipe/food/chawanmushi
+ name = "Chawanmushi"
reqs = list(
- /datum/reagent/consumable/flour = 5,
+ /datum/reagent/water = 5,
+ /datum/reagent/consumable/soysauce = 5,
+ /obj/item/reagent_containers/food/snacks/boiledegg = 2,
+ /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/chawanmushi
+ subcategory = CAT_FISH
+
+/datum/crafting_recipe/food/khachapuri
+ name = "Khachapuri"
+ reqs = list(
+ /datum/reagent/consumable/eggyolk = 5,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/khachapuri
+ subcategory = CAT_FISH
+
+/datum/crafting_recipe/food/rawkhinkali
+ name = "Raw Khinkali"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/doughslice = 1,
+ /obj/item/reagent_containers/food/snacks/faggot = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/rawkhinkali
+ subcategory = CAT_FISH
+
+/datum/crafting_recipe/food/meatbun
+ name = "Meat bun"
+ reqs = list(
+ /datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/bun = 1,
- /obj/item/reagent_containers/food/snacks/carpmeat = 1
+ /obj/item/reagent_containers/food/snacks/faggot = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
)
- result = /obj/item/reagent_containers/food/snacks/fishfingers
+ result = /obj/item/reagent_containers/food/snacks/meatbun
subcategory = CAT_FISH
-/datum/crafting_recipe/food/cubancarp
- name = "Cuban carp"
+/datum/crafting_recipe/food/fortunecookie
+ time = 15
+ name = "Fortune cookie"
reqs = list(
- /datum/reagent/consumable/flour = 5,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/carpmeat = 1
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1,
+ /obj/item/paper = 1
)
- result = /obj/item/reagent_containers/food/snacks/cubancarp
+ parts = list(
+ /obj/item/paper = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/fortunecookie
subcategory = CAT_FISH
-
-/datum/crafting_recipe/food/fishandchips
- name = "Fish and chips"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/fries = 1,
- /obj/item/reagent_containers/food/snacks/carpmeat = 1
- )
- result = /obj/item/reagent_containers/food/snacks/fishandchips
- subcategory = CAT_FISH
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipies_sweets.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipies_sweets.dm
new file mode 100644
index 0000000000..a06bfb880b
--- /dev/null
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipies_sweets.dm
@@ -0,0 +1,117 @@
+// see code/module/crafting/table.dm
+
+// SWEETS
+
+/datum/crafting_recipe/food/candiedapple
+ name = "Candied apple"
+ reqs = list(/datum/reagent/water = 5,
+ /datum/reagent/consumable/sugar = 5,
+ /obj/item/reagent_containers/food/snacks/grown/apple = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/candiedapple
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/chococoin
+ name = "Choco coin"
+ reqs = list(
+ /obj/item/coin = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/chococoin
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/chocoorange
+ name = "Choco orange"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/chocoorange
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/chocolatestrawberry
+ name = "Chocolate Strawberry"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ /obj/item/reagent_containers/food/snacks/grown/strawberry = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/chocolatestrawberry
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/fudgedice
+ name = "Fudge dice"
+ reqs = list(
+ /obj/item/dice = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ )
+ result = /obj/item/reagent_containers/food/snacks/fudgedice
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/honeybar
+ name = "Honey nut bar"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/oat = 1,
+ /datum/reagent/consumable/honey = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/honeybar
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/spiderlollipop
+ name = "Spider Lollipop"
+ reqs = list(/obj/item/stack/rods = 1,
+ /datum/reagent/consumable/sugar = 5,
+ /datum/reagent/water = 5,
+ /obj/item/reagent_containers/food/snacks/spiderling = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/spiderlollipop
+ subcategory = CAT_SWEETS
+
+//Easter Stuff
+
+/datum/crafting_recipe/food/chocolatebunny
+ name = "Chocolate bunny"
+ reqs = list(
+ /datum/reagent/consumable/sugar = 2,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/chocolatebunny
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/hotcrossbun
+ name = "Hot-Cross Bun"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
+ /datum/reagent/consumable/sugar = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/hotcrossbun
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/briochecake
+ name = "Brioche cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /datum/reagent/consumable/sugar = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/brioche
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/scotchegg
+ name = "Scotch egg"
+ reqs = list(
+ /datum/reagent/consumable/sodiumchloride = 1,
+ /datum/reagent/consumable/blackpepper = 1,
+ /obj/item/reagent_containers/food/snacks/boiledegg = 1,
+ /obj/item/reagent_containers/food/snacks/faggot = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/scotchegg
+ subcategory = CAT_SWEETS
+
+/datum/crafting_recipe/food/mammi
+ name = "Mammi"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ /datum/reagent/consumable/milk = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/soup/mammi
+ subcategory = CAT_SWEETS
diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm
index 1898fe4b01..5f2d92fc93 100644
--- a/code/modules/holiday/easter.dm
+++ b/code/modules/holiday/easter.dm
@@ -140,96 +140,8 @@
containsPrize = FALSE
qdel(src)
-//Easter Recipes + food
-/obj/item/reagent_containers/food/snacks/hotcrossbun
- bitesize = 2
- name = "hot-cross bun"
- desc = "The Cross represents the Assistants that died for your sins."
- icon_state = "hotcrossbun"
-
-/datum/crafting_recipe/food/hotcrossbun
- name = "Hot-Cross Bun"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
- /datum/reagent/consumable/sugar = 1
- )
- result = /obj/item/reagent_containers/food/snacks/hotcrossbun
- category = CAT_MISCFOOD
-
-
-/obj/item/reagent_containers/food/snacks/store/cake/brioche
- name = "brioche cake"
- desc = "A ring of sweet, glazed buns."
- icon_state = "briochecake"
- slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche
- slices_num = 6
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2)
-
-/obj/item/reagent_containers/food/snacks/cakeslice/brioche
- name = "brioche cake slice"
- desc = "Delicious sweet-bread. Who needs anything else?"
- icon_state = "briochecake_slice"
- filling_color = "#FFD700"
-
-/datum/crafting_recipe/food/briochecake
- name = "Brioche cake"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
- /datum/reagent/consumable/sugar = 2
- )
- result = /obj/item/reagent_containers/food/snacks/store/cake/brioche
- category = CAT_MISCFOOD
-
-/obj/item/reagent_containers/food/snacks/scotchegg
- name = "scotch egg"
- desc = "A boiled egg wrapped in a delicious, seasoned meatball."
- icon_state = "scotchegg"
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2)
- bitesize = 3
- filling_color = "#FFFFF0"
- list_reagents = list(/datum/reagent/consumable/nutriment = 6)
-
-/datum/crafting_recipe/food/scotchegg
- name = "Scotch egg"
- reqs = list(
- /datum/reagent/consumable/sodiumchloride = 1,
- /datum/reagent/consumable/blackpepper = 1,
- /obj/item/reagent_containers/food/snacks/boiledegg = 1,
- /obj/item/reagent_containers/food/snacks/faggot = 1
- )
- result = /obj/item/reagent_containers/food/snacks/scotchegg
- category = CAT_MISCFOOD
-
-/obj/item/reagent_containers/food/snacks/soup/mammi
- name = "Mammi"
- desc = "A bowl of mushy bread and milk. It reminds you, not too fondly, of a bowel movement."
- icon_state = "mammi"
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1)
- list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1)
-
-/datum/crafting_recipe/food/mammi
- name = "Mammi"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
- /datum/reagent/consumable/milk = 5
- )
- result = /obj/item/reagent_containers/food/snacks/soup/mammi
- category = CAT_MISCFOOD
-
-/obj/item/reagent_containers/food/snacks/chocolatebunny
- name = "chocolate bunny"
- desc = "Contains less than 10% real rabbit!"
- icon_state = "chocolatebunny"
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
- list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2)
- filling_color = "#A0522D"
-
-/datum/crafting_recipe/food/chocolatebunny
- name = "Chocolate bunny"
- reqs = list(
- /datum/reagent/consumable/sugar = 2,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1
- )
- result = /obj/item/reagent_containers/food/snacks/chocolatebunny
- category = CAT_MISCFOOD
+/*
+Easter Recipes + Food moved to appropriate files.
+\code\modules\food_and_drinks\
+\code\modules\food_and_drinks\recipes\
+*/
\ No newline at end of file
diff --git a/tgstation.dme b/tgstation.dme
index 28f469ac25..de3bd872f3 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1837,6 +1837,7 @@
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pie.dm"
@@ -1846,6 +1847,7 @@
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm"
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sushi.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipies_sweets.dm"
#include "code\modules\games\cas.dm"
#include "code\modules\goonchat\browserOutput.dm"
#include "code\modules\holiday\easter.dm"
From dc6d1fb359244394672faba9e0dcdd58678ce2a4 Mon Sep 17 00:00:00 2001
From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com>
Date: Mon, 17 Feb 2020 05:56:02 -0500
Subject: [PATCH 019/175] Sorted Frozen Foods
---
.../recipes/tablecraft/recipes_frozen.dm | 288 +++++++++---------
1 file changed, 145 insertions(+), 143 deletions(-)
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
index 1b1801d982..6d443c99f0 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
@@ -3,6 +3,64 @@
//Misc. Frozen.//
/////////////////
+/datum/crafting_recipe/food/banana_split
+ name = "Banana Split"
+ always_availible = FALSE
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/icecream = 3,
+ /obj/item/reagent_containers/food/snacks/grown/banana = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/banana_split
+ subcategory = CAT_ICE
+
+ /datum/crafting_recipe/food/bluecharrie_float
+ name = "Blue Cherry Shake"
+ always_availible = FALSE
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/icecream = 1,
+ /obj/item/reagent_containers/food/snacks/grown/bluecherries = 3,
+ /obj/item/reagent_containers/food/drinks/drinkingglass = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/bluecharrie_float
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/charrie_float
+ name = "Cherry Shake"
+ always_availible = FALSE
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/icecream = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cherries = 3,
+ /obj/item/reagent_containers/food/drinks/drinkingglass = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/charrie_float
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/root_float
+ name = "Cola Float"
+ always_availible = FALSE
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/icecream = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
+ /datum/reagent/consumable/space_cola = 10,
+ /obj/item/reagent_containers/food/drinks/drinkingglass = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/cola_float
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/honkdae
+ name ="Honkdae"
+ reqs = list(
+ /datum/reagent/consumable/cream = 5,
+ /obj/item/clothing/mask/gas/clown_hat = 1,
+ /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
+ /obj/item/reagent_containers/food/snacks/grown/banana = 2,
+ /obj/item/reagent_containers/food/snacks/icecream = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/honkdae
+ subcategory = CAT_ICE
+
/datum/crafting_recipe/food/icecreamsandwich
name = "Icecream sandwich"
reqs = list(
@@ -34,105 +92,8 @@
result = /obj/item/reagent_containers/food/snacks/sundae
subcategory = CAT_ICE
-/datum/crafting_recipe/food/honkdae
- name ="Honkdae"
- reqs = list(
- /datum/reagent/consumable/cream = 5,
- /obj/item/clothing/mask/gas/clown_hat = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 2,
- /obj/item/reagent_containers/food/snacks/icecream = 1
- )
- result = /obj/item/reagent_containers/food/snacks/honkdae
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/banana_split
- name = "Banana Split"
- always_availible = FALSE
- reqs = list(
- /obj/item/reagent_containers/food/snacks/icecream = 3,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
- /obj/item/reagent_containers/food/snacks/chocolatebar = 1
- )
- result = /obj/item/reagent_containers/food/snacks/banana_split
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/root_float
- name = "Cola Float"
- always_availible = FALSE
- reqs = list(
- /obj/item/reagent_containers/food/snacks/icecream = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
- /datum/reagent/consumable/space_cola = 10,
- /obj/item/reagent_containers/food/drinks/drinkingglass = 1
- )
- result = /obj/item/reagent_containers/food/snacks/cola_float
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/charrie_float
- name = "Cherry Shake"
- always_availible = FALSE
- reqs = list(
- /obj/item/reagent_containers/food/snacks/icecream = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 3,
- /obj/item/reagent_containers/food/drinks/drinkingglass = 1
- )
- result = /obj/item/reagent_containers/food/snacks/charrie_float
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/bluecharrie_float
- name = "Blue Cherry Shake"
- always_availible = FALSE
- reqs = list(
- /obj/item/reagent_containers/food/snacks/icecream = 1,
- /obj/item/reagent_containers/food/snacks/grown/bluecherries = 3,
- /obj/item/reagent_containers/food/drinks/drinkingglass = 1
- )
- result = /obj/item/reagent_containers/food/snacks/bluecharrie_float
- subcategory = CAT_ICE
-
//////////////////////////SNOW CONES///////////////////////
-/datum/crafting_recipe/food/flavorless_sc
- name = "Flavorless snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/pineapple_sc
- name = "Pineapple snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15,
- /obj/item/reagent_containers/food/snacks/pineappleslice = 2
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/pineapple
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/lime_sc
- name = "Lime snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/limejuice = 5
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/lime
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/lemon_sc
- name = "Lemon snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/lemonjuice = 5
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/lemon
- subcategory = CAT_ICE
-
/datum/crafting_recipe/food/apple_sc
name = "Apple snowcone"
reqs = list(
@@ -143,24 +104,14 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/apple
subcategory = CAT_ICE
-/datum/crafting_recipe/food/grape_sc
- name = "Grape snowcone"
+/datum/crafting_recipe/food/berry_sc
+ name = "Berry snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/grapejuice = 5
+ /datum/reagent/consumable/berryjuice = 5
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/grape
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/orange_sc
- name = "Orange snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/orangejuice = 5
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/orange
+ result = /obj/item/reagent_containers/food/snacks/snowcones/berry
subcategory = CAT_ICE
/datum/crafting_recipe/food/blue_sc
@@ -183,14 +134,13 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/red
subcategory = CAT_ICE
-/datum/crafting_recipe/food/berry_sc
- name = "Berry snowcone"
+/datum/crafting_recipe/food/flavorless_sc
+ name = "Flavorless snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/berryjuice = 5
+ /datum/reagent/consumable/ice = 15
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/berry
+ result = /obj/item/reagent_containers/food/snacks/snowcones
subcategory = CAT_ICE
/datum/crafting_recipe/food/fruitsalad_sc
@@ -206,24 +156,84 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/fruitsalad
subcategory = CAT_ICE
-/datum/crafting_recipe/food/mime_sc
- name = "Mime snowcone"
+/datum/crafting_recipe/food/grape_sc
+ name = "Grape snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/nothing = 5
+ /datum/reagent/consumable/grapejuice = 5
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/mime
+ result = /obj/item/reagent_containers/food/snacks/snowcones/grape
subcategory = CAT_ICE
-/datum/crafting_recipe/food/clown_sc
- name = "Clown snowcone"
+/datum/crafting_recipe/food/honey_sc
+ name = "Honey snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/laughter = 5
+ /datum/reagent/consumable/honey = 5
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/clown
+ result = /obj/item/reagent_containers/food/snacks/snowcones/honey
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/lemon_sc
+ name = "Lemon snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /datum/reagent/consumable/lemonjuice = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/lemon
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/lime_sc
+ name = "Lime snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /datum/reagent/consumable/limejuice = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/lime
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/orange_sc
+ name = "Orange snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /datum/reagent/consumable/orangejuice = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/orange
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/pineapple_sc
+ name = "Pineapple snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /obj/item/reagent_containers/food/snacks/pineappleslice = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/pineapple
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/pwrgame_sc
+ name = "Pwrgame snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /datum/reagent/consumable/pwr_game = 15
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame
+ subcategory = CAT_ICE
+
+/datum/crafting_recipe/food/rainbow_sc
+ name = "Rainbow snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /datum/reagent/colorful_reagent = 1 //Harder to make
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow
subcategory = CAT_ICE
/datum/crafting_recipe/food/soda_sc
@@ -246,32 +256,24 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind
subcategory = CAT_ICE
-/datum/crafting_recipe/food/pwrgame_sc
- name = "Pwrgame snowcone"
+/////I don't like seperating the clown and mime.///
+
+/datum/crafting_recipe/food/mime_sc
+ name = "Mime snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/pwr_game = 15
+ /datum/reagent/consumable/nothing = 5
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame
+ result = /obj/item/reagent_containers/food/snacks/snowcones/mime
subcategory = CAT_ICE
-/datum/crafting_recipe/food/honey_sc
- name = "Honey snowcone"
+/datum/crafting_recipe/food/clown_sc
+ name = "Clown snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/honey = 5
+ /datum/reagent/consumable/laughter = 5
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/honey
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/rainbow_sc
- name = "Rainbow snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/consumable/ice = 15,
- /datum/reagent/colorful_reagent = 1 //Harder to make
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow
- subcategory = CAT_ICE
+ result = /obj/item/reagent_containers/food/snacks/snowcones/clown
+ subcategory = CAT_ICE
\ No newline at end of file
From 79705d17162b4dbc7969b5725427be61b854a461 Mon Sep 17 00:00:00 2001
From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com>
Date: Mon, 17 Feb 2020 08:24:21 -0500
Subject: [PATCH 020/175] Moving Burgers Around
---
.../recipes/tablecraft/recipes_burger.dm | 95 +++++++++----------
1 file changed, 47 insertions(+), 48 deletions(-)
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
index 0fae6542e9..cf96c01e7b 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
@@ -3,25 +3,6 @@
////////////////////////////////////////////////STANDARD BURGS////////////////////////////////////////////////
-
-/datum/crafting_recipe/food/appendixburger
- name = "Appendix burger"
- reqs = list(
- /obj/item/organ/appendix = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/appendix
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/brainburger
- name = "Brain burger"
- reqs = list(
- /obj/item/organ/brain = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/brain
- subcategory = CAT_BURGER
-
/datum/crafting_recipe/food/burger
name = "Burger"
reqs = list(
@@ -101,8 +82,55 @@
result = /obj/item/reagent_containers/food/snacks/burger/human
subcategory = CAT_BURGER
+/datum/crafting_recipe/food/ribburger
+ name = "McRib"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
+ /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/rib
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/mcguffin
+ name = "McGuffin"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/friedegg = 1,
+ /obj/item/reagent_containers/food/snacks/meat/bacon = 2,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/tofuburger
+ name = "Tofu burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/tofu = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/tofu
+ subcategory = CAT_BURGER
+
///////////////EXOTIC//////////////////
+/datum/crafting_recipe/food/appendixburger
+ name = "Appendix burger"
+ reqs = list(
+ /obj/item/organ/appendix = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/appendix
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/brainburger
+ name = "Brain burger"
+ reqs = list(
+ /obj/item/organ/brain = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/brain
+ subcategory = CAT_BURGER
+
/datum/crafting_recipe/food/bearger
name = "Bearger"
reqs = list(
@@ -160,35 +188,6 @@
result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry
subcategory = CAT_BURGER
-/datum/crafting_recipe/food/ribburger
- name = "McRib"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
- /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/rib
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/mcguffin
- name = "McGuffin"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/friedegg = 1,
- /obj/item/reagent_containers/food/snacks/meat/bacon = 2,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
- subcategory = CAT_BURGER
-
-/datum/crafting_recipe/food/tofuburger
- name = "Tofu burger"
- reqs = list(
- /obj/item/reagent_containers/food/snacks/tofu = 1,
- /obj/item/reagent_containers/food/snacks/bun = 1
- )
- result = /obj/item/reagent_containers/food/snacks/burger/tofu
- subcategory = CAT_BURGER
-
/datum/crafting_recipe/food/baseballburger
name = "Home run baseball burger"
reqs = list(
From 6e32a466afcbf22591a5d6b393cd23c037973d48 Mon Sep 17 00:00:00 2001
From: raspyosu
Date: Mon, 17 Feb 2020 17:24:09 -0500
Subject: [PATCH 021/175] tweak mesmerize
range increased
added a "windup"
hardstun length increased to counteract windup
windup allows target to attempt to avoid via breaking line of sight at the time the windup completes
initial stun reduced to major slowdown, user also recieves slowdown to prevent sprint memes from just letting them follow around a corner if there is one
---
code/datums/status_effects/debuffs.dm | 4 +-
.../bloodsucker/powers/bs_mesmerize.dm | 54 ++++++++++---------
2 files changed, 33 insertions(+), 25 deletions(-)
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index c694f27d64..999fd33a00 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -101,14 +101,16 @@
/datum/status_effect/no_combat_mode/mesmerize/on_creation(mob/living/new_owner, set_duration)
. = ..()
ADD_TRAIT(owner, TRAIT_MUTE, "mesmerize")
+ owner.add_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]", TRUE, priority = 64, override = TRUE, multiplicative_slowdown = 5, blacklisted_movetypes = FALSE? NONE : CRAWLING)
/datum/status_effect/no_combat_mode/mesmerize/on_remove()
. = ..()
REMOVE_TRAIT(owner, TRAIT_MUTE, "mesmerize")
+ owner.remove_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]")
/obj/screen/alert/status_effect/mesmerized
name = "Mesmerized"
- desc = "You cant tear your sight from who is in front of you...Their gaze is simply too enthralling.."
+ desc = "You cant tear your sight from who is in front of you... their gaze is simply too enthralling.."
icon = 'icons/mob/actions/bloodsucker.dmi'
icon_state = "power_mez"
diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
index dc9d1d46a0..2ee8c3e33f 100644
--- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
+++ b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
@@ -11,8 +11,8 @@
button_icon_state = "power_mez"
bloodcost = 30
cooldown = 300
- target_range = 1
- power_activates_immediately = FALSE
+ target_range = 3
+ power_activates_immediately = TRUE
message_Trigger = "Whom will you subvert to your will?"
must_be_capacitated = TRUE
bloodsucker_can_buy = TRUE
@@ -41,6 +41,7 @@
if (A == owner)
return FALSE
var/mob/living/carbon/target = A // We already know it's carbon due to CheckValidTarget()
+
// Bloodsucker
if (target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER))
if (display_error)
@@ -62,7 +63,7 @@
to_chat(owner, "Your victim's eyes are glazed over. They cannot perceive you.")
return FALSE
// Check: Target See Me? (behind wall)
- if (!(owner in view(target_range, get_turf(target))))
+ if (!(target in view(target_range, get_turf(owner))))
// Sub-Check: GET CLOSER
//if (!(owner in range(target_range, get_turf(target)))
// if (display_error)
@@ -70,6 +71,10 @@
if (display_error)
to_chat(owner, "You're too far outside your victim's view.")
return FALSE
+
+ if (target.has_status_effect(STATUS_EFFECT_MESMERIZE)) // ?
+ return TRUE
+
// Check: Facing target?
if (!is_A_facing_B(owner,target)) // in unsorted.dm
if (display_error)
@@ -83,28 +88,29 @@
return TRUE
/datum/action/bloodsucker/targeted/mesmerize/FireTargetedPower(atom/A)
- // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done.
- var/mob/living/carbon/target = A
- var/mob/living/user = owner
+ // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done.
+ var/mob/living/carbon/target = A
+ var/mob/living/user = owner
- if(istype(target))
- target.Stun(40) //Utterly useless without this, its okay since there are so many checks to go through
- target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 45) //So you cant rotate with combat mode, plus fancy status alert
-
- if(do_mob(user, target, 40, 0, TRUE, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target)))
- PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN!
- var/power_time = 90 + level_current * 12
- target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time + 80)
- to_chat(user, "[target] is fixed in place by your hypnotic gaze.")
- target.Stun(power_time)
- target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
- target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
- spawn(power_time)
- if(istype(target))
- target.notransform = FALSE
- // They Woke Up! (Notice if within view)
- if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) )
- to_chat(user, "[target] has snapped out of their trance.")
+ if(istype(target))
+ PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN!
+ var/power_time = 138 + level_current * 12
+ target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50)
+ user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50)
+ if(do_mob(user, target, 50, TRUE, TRUE))
+ if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid
+ target.face_atom(user)
+ target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time) // pretty much purely cosmetic
+ target.Stun(power_time)
+ to_chat(user, "[target] is fixed in place by your hypnotic gaze.")
+ target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
+ target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
+ spawn(power_time)
+ if(istype(target))
+ target.notransform = FALSE
+ // They Woke Up! (Notice if within view)
+ if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) )
+ to_chat(user, "[target] has snapped out of their trance.")
/datum/action/bloodsucker/targeted/mesmerize/ContinueActive(mob/living/user, mob/living/target)
From 0fa679771bdd129ba089bd8d44f59b2afed33879 Mon Sep 17 00:00:00 2001
From: raspyosu
Date: Mon, 17 Feb 2020 17:46:47 -0500
Subject: [PATCH 022/175] fix indentation
muh spaces
---
.../bloodsucker/powers/bs_mesmerize.dm | 44 +++++++++----------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
index 2ee8c3e33f..0e1a9d44b0 100644
--- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
+++ b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
@@ -88,29 +88,29 @@
return TRUE
/datum/action/bloodsucker/targeted/mesmerize/FireTargetedPower(atom/A)
- // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done.
- var/mob/living/carbon/target = A
- var/mob/living/user = owner
+ // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done.
+ var/mob/living/carbon/target = A
+ var/mob/living/user = owner
- if(istype(target))
- PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN!
- var/power_time = 138 + level_current * 12
- target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50)
- user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50)
- if(do_mob(user, target, 50, TRUE, TRUE))
- if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid
- target.face_atom(user)
- target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time) // pretty much purely cosmetic
- target.Stun(power_time)
- to_chat(user, "[target] is fixed in place by your hypnotic gaze.")
- target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
- target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
- spawn(power_time)
- if(istype(target))
- target.notransform = FALSE
- // They Woke Up! (Notice if within view)
- if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) )
- to_chat(user, "[target] has snapped out of their trance.")
+ if(istype(target))
+ PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN!
+ var/power_time = 138 + level_current * 12
+ target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50)
+ user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50)
+ if(do_mob(user, target, 50, TRUE, TRUE))
+ if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid
+ target.face_atom(user)
+ target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time) // pretty much purely cosmetic
+ target.Stun(power_time)
+ to_chat(user, "[target] is fixed in place by your hypnotic gaze.")
+ target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
+ target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
+ spawn(power_time)
+ if(istype(target))
+ target.notransform = FALSE
+ // They Woke Up! (Notice if within view)
+ if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) )
+ to_chat(user, "[target] has snapped out of their trance.")
/datum/action/bloodsucker/targeted/mesmerize/ContinueActive(mob/living/user, mob/living/target)
From 8666a36b1e04c7e3b6642ed6416aa987d03e68e7 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 18 Feb 2020 02:24:31 -0700
Subject: [PATCH 023/175] fixes most things
---
code/game/objects/items/twohanded.dm | 3 ---
.../structures/crates_lockers/closets/secure/security.dm | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index bce9e47554..bcf74d2164 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1025,11 +1025,8 @@
righthand_file = 'icons/mob/inhands/weapons/estaff_righthand.dmi'
name = "riot suppression electrostaff"
desc = "A large quarterstaff, with massive silver electrodes mounted at the end."
- force = 10
- damtype = BRUTE
w_class = WEIGHT_CLASS_HUGE
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
- sharpness = FALSE
force_unwielded = 5
force_wielded = 10
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 7a087f8583..bec1c893ae 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -267,7 +267,7 @@
new /obj/item/clothing/suit/armor/bulletproof(src)
/obj/structure/closet/secure_closet/lethalshots
- name = "shotgun lethal rounds"
+ name = "lethal ammunition and riot staves"
req_access = list(ACCESS_ARMORY)
icon_state = "tac"
/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
From 43db50616167e7a2c682d2136f46241d3b644b42 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 18 Feb 2020 02:26:05 -0700
Subject: [PATCH 024/175] stopa ccidently recycling this
---
code/game/objects/items/twohanded.dm | 1 -
1 file changed, 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index bcf74d2164..2529ebd9ce 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1032,7 +1032,6 @@
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
block_chance = 30
- materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
attack_verb = list("struck", "beaten", "thwacked", "pulped")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
From 49cef552a0bb192c154537bdbf15860212f9d65a Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 18 Feb 2020 02:27:38 -0700
Subject: [PATCH 025/175] cleaner
---
code/game/objects/items/twohanded.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 2529ebd9ce..5a0dbf7981 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1031,7 +1031,9 @@
force_wielded = 10
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
+ item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND
block_chance = 30
+ materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
attack_verb = list("struck", "beaten", "thwacked", "pulped")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
From 9803a0835c4ff028f5ac3e4f99bb2502ee20fb38 Mon Sep 17 00:00:00 2001
From: raspyosu
Date: Tue, 18 Feb 2020 19:04:20 -0500
Subject: [PATCH 026/175] lunge tweaks
added short (20 frames at 30fps) windup w/ telegraphing via audio only played to target
range increased to 4
added flavor text
---
.../bloodsucker/powers/bs_lunge.dm | 40 +++++++++---------
sound/bloodsucker/lunge_warn.ogg | Bin 0 -> 73076 bytes
2 files changed, 21 insertions(+), 19 deletions(-)
create mode 100644 sound/bloodsucker/lunge_warn.ogg
diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm
index 48e12332a2..0f2aba49b6 100644
--- a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm
+++ b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm
@@ -7,9 +7,9 @@
button_icon_state = "power_lunge"
bloodcost = 10
cooldown = 120
- target_range = 3
+ target_range = 4
power_activates_immediately = TRUE
- message_Trigger = ""//"Whom will you subvert to your will?"
+ message_Trigger = "Whom will you ensnare within your grasp?"
must_be_capacitated = TRUE
bloodsucker_can_buy = TRUE
@@ -59,24 +59,26 @@
// CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet
// Step One: Heatseek toward Target's Turf
- walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path.
addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS)
- if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting)
- var/send_dir = get_dir(owner, T)
- new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE)
- owner.spin(10)
- // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination)
- sleep(1)
- if(target.Adjacent(owner))
- // LEVEL 2: If behind target, mute or unconscious!
- if(do_knockdown) // && level_current >= 1)
- target.Knockdown(15 + 10 * level_current,1)
- target.adjustStaminaLoss(40 + 10 * level_current)
- // Cancel Walk (we were close enough to contact them)
- walk(owner, 0)
- target.Stun(10,1) //Without this the victim can just walk away
- target.grabbedby(owner) // Taken from mutations.dm under changelings
- target.grippedby(owner, instant = TRUE) //instant aggro grab
+ target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing
+ if(do_mob(owner, owner, 7, TRUE, TRUE))
+ walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path.
+ if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting)
+ var/send_dir = get_dir(owner, T)
+ new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE)
+ owner.spin(10)
+ // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination)
+ sleep(1.5)
+ if(target.Adjacent(owner))
+ // LEVEL 2: If behind target, mute or unconscious!
+ if(do_knockdown) // && level_current >= 1)
+ target.Knockdown(15 + 10 * level_current,1)
+ target.adjustStaminaLoss(40 + 10 * level_current)
+ // Cancel Walk (we were close enough to contact them)
+ walk(owner, 0)
+ target.Stun(10,1) //Without this the victim can just walk away
+ target.grabbedby(owner) // Taken from mutations.dm under changelings
+ target.grippedby(owner, instant = TRUE) //instant aggro grab
/datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target)
..() // activate = FALSE
diff --git a/sound/bloodsucker/lunge_warn.ogg b/sound/bloodsucker/lunge_warn.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..0feec43228b178402fcb1e199434253316485369
GIT binary patch
literal 73076
zcmbTd1yof{`zXEvr3FN!Q(C&a1*IjWySuwoq@_C*1f)T_5u`g0-Ee56n{zk%zTfY=
z_rKP?YyIcUnKRGSo_Ts^&rvitR{`LGe}bg_-wZES{ZlwnI5&GIBTMIpBKTLu00096
zZ~*`3w+>G6q33_XLr*vmLisAMffe%5@_&LO!ry@y!Fml#2McCJCv$QeOC$9^!;?#s
zv$L{sv9hspk<+cF1^y?}BZBRpf?r7m3B^~E%0g0d;P~@jOp}ze7
zhxnlB|0F1X)=%UDt9;oAfkDOafXM?&$WdZn(8uOT=b2fRTBg-l6xG=F|6uI@f&Qln
z$RLj%W&?b&OwIfML^I7q)BkrAwdi>Xh=RE6b|mh0q>@yo>ULs8`h(#f0Hmp?GGnI`
z=WA!qZf8L-zIJ)l8!tC_Du?+m5gy160HSQfosPu4AU2el#+|s{ISWCY^0Y-c%^
zic~P80ru4#N!|Qjj|1jHs9}b_YYeX=%o++q?Am-$G6G^w7D)H{;ZrF
z00Oc8aPhy%A6EX$#ouDXUiQ&d4zTw#J|x8*L;Snt9as|RY#mX
zb#C>P7DH~lvJ8FhUx@;VN^TM@hDh*7NP?1``snjPsrYZg{iYgzN;3LiarlT>37Z;>
zqwGv7971ZUYVX`^HIrQDYCq{tyDmX|mmr_@@q+$O#`=%s0HDwW{*lReqX@R{^p6VS
zD1Qn3ujDx5bjJ|)#!$)rppqYB96aV!JmDODCaJ_Juku`X^ttOeuBi&Q?l_m}xSHvt
zo9RrAsdlZeX3akW^H*$^Ag=!$7e8N_QLnpYcDE^V*3DjG*L5I#K+U;{7)P0H7@zUG|S2QBr1_ROXsgW>QlX`oBvISUbrn
zKh6mvHUR(#KvhWJnHu;uR!l)=PtvlB9H|6xgFX;HZaREBS-eN-?MoAMf_2f}3AP}t
z6C>k%9Pxqhqg>|*F_x}6WpTQn$e`ML1SkOjqVx-CD(Pd+>^G-WgOp){PXnmD1f!tR
znLQ^Sq<}PzC+Tq9s~G5!AZVE2Fu*Ua_*V)B_yArwAe_pRRQgyjcHNUx9)}_?v12f8M%np#atq0PVGgZ=yy0=^g4$g7#ASoN_(5=?u3`~wz%
zU^NH=KmZ&P5CA;u69rKS7eEI9!K)gHAlkYs80DYIM;dFUnuSqGj|&cSe$~u0PaWY@
zQdP4^1u^$v`2bX6@W*B(UW53{0~3h80RlQ48D+udC$B(Jid)l2gob9*fo7rbB{<^n
z9|0RzRZGmZ%%ly=wn!~3EF9tdTMV)jIPgQ$!omh-kbWR*fn~aQshge;Eq5A9(F7H7
zO6cgS^_m(!yFVm(tv*%Du6A7tut8(Rh*uhQ$`GhIv!Qr
zvfx|1^qZ3EDR%k-P+?K$RwZinfB810Wt|cTCM5t+j(`My(Z2p!7byUIh)|B;gA#K|
z(RZagM-t}X7!UEiPEhXSgOY!Xf7zMtjG-(;@Sun3a=~`#&hg5B47yA~JXl7Yt11J6
zk;*Tr!EUqw@VyNVAa9e38AOr#fciue1^5OJ;1hTM01+oQ%E=@>#;JrO2_i~1_5l$}
zTxtoXmJi4QF$1CnMC}9P?s(=E6oLvu_1!7R(7Nvu{|75@z%mL3Ao`fQIMP9x6Ia8c
zM+P7VnTidO!USEs2R{%;9GN~B3mX7fmq9PdK%9V%(}Ws`Mg@&sPCRI`q;thX*r4R`
zW6GbfjEBVNa&y14b&xAVD(S?}RV|1I
zK{lBJXBiMQj#s{j*9xzgqRVw*2feM5K|ZJn=yz$M0iqTT03c9q=o%Q8UC{=T3m)(U
zt-ZL+gI9({k&ACUz!n^>{NSXihOu=K8)JY|2Yogq3UB~u`bVsX@rJ~ZGn^yAxdx8#
zbtgMxi9^$k2l$Y`I!CZ=rh`ri`~!m%NpjQTqr7}rBNnJK@H>*7Blr+A0#PZTTwI9F@>YFy)D5DPl81-bavj9vI^-d0Rq
z8phz7vb3$}^K{SvR!;{YK&IR=DB)XW`{?o?Jk*1p>;oQ>L4J8)Bw`gY|o8mpk!q4-f>&0ix<}MPR)0zd5iS=n((g
zBOV)E$|talIuKh1nfhD2GU`JQ`rJTeanNxFxh6OMtqlFwcyRF`|A^E50jVGCJ@tdl
zrv_`mig+2iuMh2V;~xqW{!}Q-pnx!lvxg!u^EdrdM4t;j2rT?lge~*np)1S$8TsFK
zGN=zl^tm8CLAeY7C|@%DQs5{Rgny00E+_gasQ3|}408X&e86U05lVj^5k~xX+&^6(
zl82f69q2zr|NlU^wgo(l0O4o~YxOfB;Z00C4K%43$+@IduhbO&?Xu<@Cg3#TLVxHVPIi@0|MINCAuA+VnxgL(6Q1HKO2(H
ze*%bNz2JED!iepS+;_yVux-G=@jV3@z|P4%#?1VsAHZ{QguKW4fE7rNi}Y3$9z&sS
zC6q^S1(9|OCxIW_>wy6o@BmFOcR+}R*(NW)ps=X;E2%d!atd#iRY4m81}s1r0Ain$
zzer8ti^Pb+jK+$28jBtGEFK5+VnqM!b^$C=03QDD_W41l!o&aF6^qjR83B0M6+hJe
zmfj_P{v75H%YfCvvS5|49N0K)0k#1<`h{iR`~D|u*WVuyg%0Yoh+bUrRr?NbBz0v$
zT0_`8ErJ+u!hRN+BK{ilch?>znr5Umdyw6$`FE%Nd!n3~#w8&_UCHv}$)o}aW^DcF
z56@0#IvkwD&0fH~IM18Drtq3~Oj7yTWHj4)>HqW8$K5&@vHl+WozKO|AO@GampE0n
z(Ln=LPZygl3t|xOzIU=Qk({!PeI$58HkwK#6cN1i(b1@^->;eWM^)&Mj*j#3hst8Un5
z+&!@*-})`R;MGv+;(N12aafKJQuleXw``)EOWt7Mn20^Cm*eT
zx9u*w7|vM?b0JaB>Som-ynC}>BDGC3^S!bio#ULNoA#3
zwRy8)jmr-2yDK@bcb}C=K8shsCl7JVfg!CHsoL*~zYY<@cG;K^)qm1`F{h2d@T@!P
zs^SSCd_j3hxYOD}<=bw#-~HH<8fNdoq2BYtPp@3++&y-kPXt=mTw2!ZB7XvH^=}=?
z&7Zs1k?@LqF3RC4(6)XuIpXX&8AC0k1nM>*U{IvWWb0lgbgyB&aOqt#CF+@tpImONp*C$DFlEif3o4Wm1Dn0A=#1Xq7Ekm-9JZ%a>p
zlC?L2>0$KU%Rf!`oA5Q%Bg<^jT(skxfK?||MLqt?NK~ReleI_A9$PZ6ZQW6)=>_8}
z;#W$us4asEk&I0nzERhm*m!9KBTqN4=U+<^{>^Eok~x|ivap*ne0Fh)Pa=5gw{T4r
zr92%9iBaF=l~H+?D&khvTN!V;;Y1u9w`($1jb!~XiF0f$<0iL_DpsZs9$uV!!{88C
z@LW)$fhLEx|Er%!uMpES5tLvVYnSZOf}-*)Z7vr(k`fk4$+{|BqJ{RMQzOFeE7zDk
z8!L3?R%4VhRZag)n?Qw1!~ik`;GmBS#B|FAf=t+QYe$!Tv;;32qMN)G?5p=$>?_ea
zVRX8io4RpDTMY(Qb$yQWvJ&taJo?o%hJH=dMnOuQ{VsXa2uVHXH~
z1mU4uso&_!k&~BjKE;ZCN6QqZJ=IQL^op#i$Va#DMsKhd?H)6yPU(OX#f;{igM)BB
z`u!ZcKHPxeiV{mfSu>9i4mT7$U1ep1Yr%V^9(E$pPRkpHcI+nK75ouRP_WfM`e_Nn
zZ7tT7KAT3tJZuK`+RiOtp@#!75MF*7(2h7#+I*^-@FI`c5F`vxWvdB14I23EWwHjIWO`|Xf_iR+QF-Cb1exmLGo%}0)wWBMb7T&{c@YIZ%x;$e68qa)i-Rc;Xi
zDFN%{8%cd*aJpRcN1vCtPR_VrF|Wz{*qu6^M$z^A_%~4q>B=h{WLn=&6&uhGZ^Y_P
zWjPOL_v&ANbnm9=I8NfIb{l?MMZi;F&;ZMT_>R6kL>}LdAD%u-Cx6k%yK$#u&DfuI
zEbh!SuC$NWA1VNecW`rcyvJ|nyt!XFIZbt-;+<7Ie*;M*tKL5mP?Q#!
zPjZ!m#2J4Nx)F#%+urErzsY5(rjdE4W4>_+ZJ9{AX=vrI)pypT@AD{?XyLKVlk03^
zl`fQQ|8!?YwUeAceL-XM>ae5ZT_f2O8H5VaiS53lx_B#O8iU~wp+vt=nsBieuI|{V
z8jiIG0|k9{7;k_s&g7Xe0=lNUM|DcWjheJZ6z~l)2*CWqAvdq_BOnv6su+8xm9pgs
z1+Ib#KZt$`CgHONmkI0s&?9UXg~7o7^zK~ec$|fDo`2-m^-I>XNqD(Mj1d)A_wj8T
zv#%Tvvc#ma6OxDl(Sux%tW%Bd&mU^9Eq}4N+G*+|z4E#!7T&AV%RQ=;Fbwi`Yqmx~
zh*kL6vlrW=V>SA8t|d!~L-TOAsq1*t^SC$4c?P1d;rT;r_+I3CuqL-|P(~wmEpqpX
zaiP_#fUl{Y9$93Cm?%?s9ZDMW-Vrpbd?W&!9!C+Z|=NY1Aj>-0cUSiU>
zd##jFSFVb!T)w8CKJq4=UP
zHTBxMZ+vZ?Qp#HY;%a9dwj!yLmmp#Wtx$~NjX)ErHz~RETeOAZ4K?q24-DxVg?hWe
ziu;>*u($hGo@NzAX4JU#dU%z*-STpn<+CZ-@l<#9S00m`pkn1$cN@3}bW?t6Tl{Q7
zMtb&Oj)-lw!{wV{n}a6pd@gH(FlpK|o;5mNNmk=HIga+m6j6gm^aq3TxpGzW2k1XK
zvDdd==mPl8>+}QJMWywnPZ0p6Mb-`fC`Fgr%w(q*yXflRAz1(qpofHBl8giU+=SBl
z{$!SwV;S|@KbXneBGlm&hE!g5WQbRhoOTJv-sQowYAo-Fu_d2w!$2sdkFxjsm&+G8
z2V;H%U_`jh1qev(Rf|1+^XEkbbyVwR^<_tkC)#Ys3%a;&{S8M}?FyY&3NK_taUN7Y(i>u($*zX47E*1LbZ;gB$vM4I_ff!h*$hr^N#19;aUmp{!
z3~I4zw?-4+#p~fRQ84Qs5=5;-W-q9imL_7<1==6&@H
zI{LxF#p$?m+!ES%7w)$Ny663qdb(D$tFPvc#UPliXU124^F;YIj$>DS+QWO@solZI
z(_JHr@1Oe7Cswwqaeh>dXxO8;mdZLz&CLsOvnnnXCP3XO|KeX9?hwLRuubzNRmuQG
zTJy3(EMNPB^+k99WZ9%OxOEz(4p
zVeIaJMzRNqt$CPN2;yUd+6F*U9!hnxts2
zw6i(+bZ~ctQDnmo@0^+WSK$DzW6HeORo*R%4u?*8EAh~&YgT13qrBQ#C==0a&VSAz%RO5S)vF2B#N6mfc%n-;nVtQyDp$DQ=ux#e%KJ}ar}P6(Q@
zp~({NpCI0zo#;WGIINozO9taOiv2fFE?8BGeyBPeB?iCfUv#6sj-VX?|$s7Xoi7w&34t;DsE~@!l{+(R{yX5t`#L
z3N3#UzBch3)p7swd8Rr#mP_Bu(%%yTq%m?7OGV`x*~o>0vJtOdOyMyh%&h+nmUS#);7h~XsM19
z9rw^Zz9nyskh#$;eK@n_0Qi8%%Yf=KDr3M6-~$Nw{D$KWAgPltT}Ak2X<^vG+4ex>
zdv8&5f9o`rx=NOg1ya-gU_q5bMqf;;8_DD)y_(jvLQw`58X~jN
z!jZ(8fs_F-gOIUCYEyI0qQ-jkp8s?L6p={FepI8R$GoMJ0U3FYbepp=c5@PCtK
z!I3FM|Bx85126klHwH-eLqUFq=2_u1$j|(V_kwx_Qkk444%d~?g;i&LZV-5wQ;gam
zyby8%PbBpoBGVnvAhVq+>xEaQJ&sCjxT^N!5z}N7JTL*C-{|4|a}p!VRzsMh6cNZ!PsFid>D)r2E$pztFpn{7C~P{GlU6d+g?>4!KCgfgdNUq
zY%j@%iZZX^p$OUAOA745WzVhUy}P+r=L9qcuBVrQZCP@6Dq>D@gdX8d1mFS%xJDs&
zd)_7hI7qm^bUY!j;Kdrj41AcyW${Jrpr{L<>93*=67k~QU0jt;&X!7Cs*i{8#_U8G
zyyI$R2lbovM1!-qS*jznZT01wiF#NzcEeHybdkQ=Y&Yo8Bvc;k
z4qj5Y#vCsE*00k#o^9H1+SRR~s0}~TuI*U0_=#D>(!TLb4$FLmFrj87=S-kXKdP~g
zdY`o6E16%T;MF_nQnt)!$K~`+!xCNC#6DgN2l?H-idyJpppE;Yr7^;e7aOCg$wby5
ztbh!SDH-eKQV~{*!d30kULYP5yeCO#{yM{9Iv@a-}q
zwzgAjrr$C9r;_j9z4UWe#=H@CCi=lmOBcG^{D-nXg?)M@t!tqb(??d#a=ssACd0?q
zZl+zNadI^CP{sHaq`xl_WUkml>eU+~xrw`C9xJ{;sBnrIXvh4%vW2Ll%U-QL_i%U_
zaajK*nYh<6efDF@K!dPv^d}7Fq?g>|9G%&?kCV$k2s(>Lk_0LS3=LnyhPfZ10KdVb
z*=6|5B=jG7(MM!fqu$@Ucq~-e?NY8WJ(uBHU;;fg)@3Z%emBg9dml+|4w23&u-kXf
zI}iupc$cH{XuBc_-5v{a2Ygh!w+iUb^r++>eX|IkNP@ZLq+1H@K)Lq?{z(0o$k+Hm
zX47Lmap<~$FYJ{92I=1S#F_X<&R+%Rntl28_qYX-CQb{u1=G5#rKNC(`qacxsAA@4
zC}wNUYYvplj*HuVUYfHb#5M9PURmN$kCY8&3s2@gUMF-vHg7g4{NWUNf3gtxUjJBX
zwy@|Gye_)MnvpCS=QF&yAN~028KFOI7h9XlAWFAxUNBmQN26zVp6v4WxsfjM)dvJS`-S8aBnyyHk
zC3JFB&!m||&*4`;->R~Hl?UBUi#(bShe(>Ai1&;+2|rGNQup4eGB+<;vn<)=4)3jP
z@t#*C2`l5yjgKu>Dh|!*Z8X<#B{^4AU+BB9@JRZJbsIdQ;uoR4?Rx2zz#XEMb
z{E0Q9v&@pF$Mi|19vKt8OKG6kV>qWlDGgN}6T}_|$7q~S9%bFj*iT1}H7uEPP@WL1
zh$GQ5?f+_1HA#klX@TBuqJVDkGgzQH#jqxX%i|kWiA)in>DI#9l=^tw_^9AvN;Et<
z0I87RNV+LB#K0b{%9JM_xDvI^O*lxW7_O
z+3X;~zd>tN7N8nNUS@xD3Z5YD+EHDMhK(8<00LhIPMQz~1lm-O>gJm?ML{$I7+Eb=
zzP>hrxAA5{)Rs#uI>9SO!e_-v{h^L={EZ!sOHm|f*Z!)DV9
z@@6@O!ScO{!izj9yPDUurXD#&DR*LHn9HT_yq(8>9|ZkS91ee`hIlEv@09?lk3(sx
zY_SgBicQi@I71)#Rx5si%x9vRcYEFKqce4<7F3VtkC!>cyK}nnPFrE~2Z}4zaF46M
zfbGD|(JS3V#~DGxiIdYfUJt0hNQ9T~{O}XS)g_5vO9xBB?>2|8@+1B3?K7?PvM_p|bbv<>HNApDSy{x~(2Gw4W?YBtChT^!!nBSpCHhA3g`u*+93ADQ
ztCkL$5reslK?zr8EqwQ*gSgatB
zuFi9(*Rh-IdPPr=yQC8*s-*f9d2Pn{N`lHyO3F}&nIX2{wmRD3c_~9jawN&Cpov|b
zpkAf*Xx995UeW>L-!DuGk;6<8Uvu)aWek|SYKRt9UHTg4k-{zIM~
zS<=J^OI!En+i55J#w7}aWW8#fP#t7)GNeeYjL3cfvM$0@bV(uxpZ$SENV&^P~L+Tp_L
z_VT`p6HCQicLGc#evmeqWO@zecZ>#!>319`-!a~)7TMQUd04EJ|m
zY*x=ajJT(5=Shy|4kU&tC;fO($xZ~litPQZt69k|CgP#KpXKB1t2oX&M6UJ~<@We?
z-M<|{nsRFGexG~2DmZ9i63CB4kx{csm#vKa^^$^aCl~6&I5o%49C`4H`^EjQ)fyO;
zkQJ>?X5-h|3ntI&(vyj1