mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 23:51:17 +01:00
Cooking and Smallmob tweaks (#1825)
Just an assorted package of little things: Scales down the deep fryer, reducing its power usage, oil reservoir and cooking containers. Should help with complaints about power usage Fixes up numbers so that cookers heat up in 15 minutes as intended Adjusts the normal size of all conbination cooking items, so its harder to reach crazy sizes Removes some debug messages Fixes user not being populated in get_scooped procs, which was preventing the special "X climbs onto Y" message from appearing when a mouse drags themselves onto a human adds passtable code to girders and empty machine frames, allowing small mobs to crawl over them and projectiles to sometimes (50% chance) pass over
This commit is contained in:
@@ -155,3 +155,17 @@
|
||||
user << desc
|
||||
if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil))
|
||||
user << "<span class='warning'>You cannot add that component to the machine!</span>"
|
||||
|
||||
|
||||
/obj/machinery/constructable_frame/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if (!mover)
|
||||
return 1
|
||||
if(istype(mover,/obj/item/projectile) && density)
|
||||
if (prob(50))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
else if(mover.checkpass(PASSTABLE))
|
||||
//Animals can run under them, lots of empty space
|
||||
return 1
|
||||
return ..()
|
||||
@@ -118,8 +118,11 @@
|
||||
usr << "Ghosts aren't allowed to toggle power switches"
|
||||
return
|
||||
|
||||
if (usr.stat || usr.restrained() || usr.incapacitated())
|
||||
return
|
||||
|
||||
if (!Adjacent(usr))
|
||||
if (!istype(usr, /mob/living/silicon))
|
||||
if (!issilicon(usr))
|
||||
usr << "You can't reach the power switch from there, get closer!"
|
||||
return
|
||||
|
||||
@@ -142,6 +145,18 @@
|
||||
set name = "Choose output"
|
||||
set category = "Object"
|
||||
|
||||
if (!isliving(usr))
|
||||
usr << "Ghosts aren't allowed to mess with cooking machines!"
|
||||
return
|
||||
|
||||
if (usr.stat || usr.restrained() || usr.incapacitated())
|
||||
return
|
||||
|
||||
if (!Adjacent(usr))
|
||||
if (!issilicon(usr))
|
||||
usr << "You can't adjust the [src] from this distance, get closer!"
|
||||
return
|
||||
|
||||
if(output_options.len)
|
||||
|
||||
var/choice = input("What specific food do you wish to make with \the [src]?") as null|anything in output_options+"Default"
|
||||
@@ -390,10 +405,10 @@
|
||||
for (var/r in results)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/R = r
|
||||
R.loc = C //Move everything from the buffer back to the container
|
||||
qdel(temp) //delete buffer object
|
||||
temp = null
|
||||
R.cooked |= cook_type.
|
||||
|
||||
qdel(temp) //delete buffer object
|
||||
temp = null
|
||||
.=1 //None of the rest of this function is relevant for recipe cooking
|
||||
|
||||
else if(CI.combine_target)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
name = "personal pizza"
|
||||
desc = "A personalized pan pizza meant for only one person."
|
||||
icon_state = "personal_pizza"
|
||||
size = 15
|
||||
size = 20
|
||||
w_class = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/bread
|
||||
@@ -73,7 +73,7 @@
|
||||
name = "pie"
|
||||
desc = "Tasty pie."
|
||||
icon_state = "piecustom"
|
||||
size = 20
|
||||
size = 25
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/cake
|
||||
name = "cake"
|
||||
@@ -86,68 +86,68 @@
|
||||
name = "hot pocket"
|
||||
desc = "You wanna put a bangin- oh, nevermind."
|
||||
icon_state = "donk"
|
||||
size = 5
|
||||
size = 8
|
||||
w_class = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/kebab
|
||||
name = "kebab"
|
||||
desc = "Remove this!"
|
||||
icon_state = "kabob"
|
||||
size = 7
|
||||
size = 10
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/waffles
|
||||
name = "waffles"
|
||||
desc = "Made with love."
|
||||
icon_state = "waffles"
|
||||
size = 8
|
||||
size = 12
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/cookie
|
||||
name = "cookie"
|
||||
desc = "Sugar snap!"
|
||||
icon_state = "cookie"
|
||||
size = 3
|
||||
size = 6
|
||||
w_class = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/donut
|
||||
name = "filled donut"
|
||||
desc = "Donut eat this!" // kill me
|
||||
icon_state = "donut"
|
||||
size = 5
|
||||
size = 8
|
||||
w_class = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/jawbreaker
|
||||
name = "flavored jawbreaker"
|
||||
desc = "It's like cracking a molar on a rainbow."
|
||||
icon_state = "jawbreaker"
|
||||
size = 2
|
||||
size = 4
|
||||
w_class = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/candybar
|
||||
name = "flavored chocolate bar"
|
||||
desc = "Made in a factory downtown."
|
||||
icon_state = "bar"
|
||||
size = 3
|
||||
size = 6
|
||||
w_class = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/sucker
|
||||
name = "flavored sucker"
|
||||
desc = "Suck, suck, suck."
|
||||
icon_state = "sucker"
|
||||
size = 2
|
||||
size = 4
|
||||
w_class = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/jelly
|
||||
name = "jelly"
|
||||
desc = "All your friends will be jelly."
|
||||
icon_state = "jellycustom"
|
||||
size = 6
|
||||
size = 8
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/cereal
|
||||
name = "cereal"
|
||||
desc = "Crispy and flaky"
|
||||
icon_state = "cereal_box"
|
||||
size = 20
|
||||
size = 30
|
||||
w_class = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/variable/cereal/New()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/reagent_containers/cooking_container
|
||||
icon = 'icons/obj/cooking_machines.dmi'
|
||||
var/shortname
|
||||
var/max_space = 15//Maximum sum of w-classes of foods in this container at once
|
||||
var/max_space = 20//Maximum sum of w-classes of foods in this container at once
|
||||
var/max_reagents = 80//Maximum units of reagents
|
||||
|
||||
/obj/item/weapon/reagent_containers/cooking_container/New()
|
||||
|
||||
@@ -9,26 +9,25 @@
|
||||
food_color = "#FFAD33"
|
||||
cooked_sound = 'sound/machines/ding.ogg'
|
||||
appliancetype = FRYER
|
||||
active_power_usage = 48000
|
||||
active_power_usage = 24000
|
||||
//24 KW, based on real world values for a large commercial fryer.
|
||||
//And then doubled, because this is an extra wide twin unit
|
||||
|
||||
optimal_power = 0.35
|
||||
|
||||
idle_power_usage = 7200
|
||||
idle_power_usage = 6000
|
||||
//Power used to maintain temperature once it's heated.
|
||||
//Going with 15% of the active power. This is a somewhat arbitrary value
|
||||
//Going with 25% of the active power. This is a somewhat arbitrary value
|
||||
|
||||
resistance = 240000
|
||||
resistance = 90000
|
||||
//By default, about 15 mins to heat up.
|
||||
|
||||
max_contents = 4
|
||||
max_contents = 2
|
||||
container_type = /obj/item/weapon/reagent_containers/cooking_container/fryer
|
||||
|
||||
stat = POWEROFF//Starts turned off
|
||||
|
||||
var/datum/reagents/oil
|
||||
var/optimal_oil = 18000//180 litres of cooking oil
|
||||
var/optimal_oil = 9000//90 litres of cooking oil
|
||||
|
||||
|
||||
/obj/machinery/appliance/cooker/fryer/examine(var/mob/user)
|
||||
@@ -39,12 +38,12 @@
|
||||
/obj/machinery/appliance/cooker/fryer/New()
|
||||
..()
|
||||
oil = new/datum/reagents(optimal_oil * 1.25, src)
|
||||
var/variance = rand()*0.05
|
||||
var/variance = rand()*0.15
|
||||
//Fryer is always a little below full, but its usually negligible
|
||||
|
||||
if (prob(20))
|
||||
//Sometimes the fryer will start with much less than full oil, significantly impacting efficiency until filled
|
||||
variance = rand()*0.3
|
||||
variance = rand()*0.5
|
||||
oil.add_reagent("cornoil", optimal_oil*(1 - variance))
|
||||
|
||||
/obj/machinery/appliance/cooker/fryer/heat_up()
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
active_power_usage = 19000
|
||||
//Based on a double deck electric convection oven
|
||||
|
||||
idle_power_usage = 5700
|
||||
resistance = 72000
|
||||
idle_power_usage = 6000
|
||||
//uses 30% power to stay warm
|
||||
optimal_power = 0.2
|
||||
|
||||
|
||||
@@ -411,3 +411,12 @@
|
||||
if ("dispose")
|
||||
dispose()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/microwave/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if (!mover)
|
||||
return 1
|
||||
if(mover.checkpass(PASSTABLE))
|
||||
//Animals can run under them, lots of empty space
|
||||
return 1
|
||||
return ..()
|
||||
@@ -316,3 +316,17 @@
|
||||
else
|
||||
user << "<span class='notice'>You need to activate the weapon to do that!</span>"
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/girder/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if (!mover)
|
||||
return 1
|
||||
if(istype(mover,/obj/item/projectile) && density)
|
||||
if (prob(50))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
else if(mover.checkpass(PASSTABLE))
|
||||
//Animals can run under them, lots of empty space
|
||||
return 1
|
||||
return ..()
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/mob/living/simple_animal/lizard/attack_hand(mob/living/carbon/human/M as mob)
|
||||
if (src.stat == DEAD)//If the creature is dead, we don't pet it, we just pickup the corpse on click
|
||||
get_scooped(M)
|
||||
get_scooped(M, usr)
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
/mob/living/simple_animal/mouse/attack_hand(mob/living/carbon/human/M as mob)
|
||||
if (src.stat == DEAD)//If the mouse is dead, we don't pet it, we just pickup the corpse on click
|
||||
get_scooped(M)
|
||||
get_scooped(M, usr)
|
||||
return
|
||||
else
|
||||
..()
|
||||
@@ -150,7 +150,7 @@
|
||||
if(!istype(H) || !Adjacent(H)) return ..()
|
||||
|
||||
if(H.a_intent == "help")
|
||||
get_scooped(H)
|
||||
get_scooped(H, usr)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
/mob/living/simple_animal/mushroom/attack_hand(mob/living/carbon/human/M as mob)
|
||||
if (src.stat == DEAD)//If the creature is dead, we don't pet it, we just pickup the corpse on click
|
||||
get_scooped(M)
|
||||
get_scooped(M, usr)
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -72,7 +72,6 @@
|
||||
|
||||
//We'll assume that the batter isnt going to be regurgitated and eaten by someone else. Only show this once
|
||||
if (data["cooked"] != 1)
|
||||
world << "cooked is [data["cooked"]]"
|
||||
if (!messaged)
|
||||
M << "Ugh, this raw [name] tastes disgusting."
|
||||
nutriment_factor *= 0.5
|
||||
@@ -102,7 +101,6 @@
|
||||
|
||||
//Handles setting the temperature when oils are mixed
|
||||
/datum/reagent/nutriment/coating/mix_data(var/newdata, var/newamount)
|
||||
world << "Coating mixed with new coating, setting cooked to [newdata["cooked"]]"
|
||||
if (!data)
|
||||
data = list()
|
||||
|
||||
@@ -265,7 +263,6 @@
|
||||
|
||||
/datum/reagent/nutriment/triglyceride/oil/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
var/dfactor = heatdamage(M)
|
||||
world << "Oil touch. dfactor [dfactor]"
|
||||
if (dfactor)
|
||||
M.take_organ_damage(0, removed * 1.5 * dfactor)
|
||||
data["temperature"] -= (6 * removed) / (1 + volume*0.1)//Cools off as it burns you
|
||||
|
||||
@@ -281,8 +281,6 @@
|
||||
/obj/structure/reagent_dispensers/cookingoil/New()
|
||||
..()
|
||||
reagents.add_reagent("cornoil",capacity)
|
||||
world << "Cooking oil spawned!"
|
||||
world << "[src] spawned in [src.loc], [src.x], [src.y], [src.z]"
|
||||
|
||||
/obj/structure/reagent_dispensers/cookingoil/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(Proj.get_structure_damage())
|
||||
|
||||
Reference in New Issue
Block a user