mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Merge pull request #3069 from 9600bauds/kitchenupgrades
Microwaves and Grinders can be upgraded with protolathe parts [proper git]
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
use_power = 1
|
use_power = 1
|
||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE
|
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | EJECTNOTDEL
|
||||||
flags = OPENCONTAINER | NOREACT
|
flags = OPENCONTAINER | NOREACT
|
||||||
pass_flags = PASSTABLE
|
pass_flags = PASSTABLE
|
||||||
var/operating = 0 // Is it on?
|
var/operating = 0 // Is it on?
|
||||||
@@ -22,6 +22,8 @@
|
|||||||
var/global/max_n_of_items = 0
|
var/global/max_n_of_items = 0
|
||||||
var/list/holdingitems = list()
|
var/list/holdingitems = list()
|
||||||
var/limit = 100
|
var/limit = 100
|
||||||
|
var/speed_multiplier = 1
|
||||||
|
var/scanning_power = 0
|
||||||
|
|
||||||
// see code/modules/food/recipes_microwave.dm for recipes
|
// see code/modules/food/recipes_microwave.dm for recipes
|
||||||
//Cannot use tools - screwdriver and crowbar for recipes. Or at least fix things before you do
|
//Cannot use tools - screwdriver and crowbar for recipes. Or at least fix things before you do
|
||||||
@@ -68,6 +70,20 @@
|
|||||||
if (recipe.items)
|
if (recipe.items)
|
||||||
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Part Upgrades
|
||||||
|
********************/
|
||||||
|
/obj/machinery/microwave/RefreshParts()
|
||||||
|
var/T = 0
|
||||||
|
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||||
|
T += M.rating-1
|
||||||
|
speed_multiplier = initial(speed_multiplier)+(T * 0.25)
|
||||||
|
|
||||||
|
T = 0
|
||||||
|
for(var/obj/item/weapon/stock_parts/scanning_module/M in component_parts)
|
||||||
|
T += M.rating-1
|
||||||
|
scanning_power = initial(scanning_power)+(T)
|
||||||
|
|
||||||
/*******************
|
/*******************
|
||||||
* Item Adding
|
* Item Adding
|
||||||
********************/
|
********************/
|
||||||
@@ -255,8 +271,16 @@
|
|||||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||||
dat = {"<B>The microwave is empty</B><BR>"}
|
dat = {"<B>The microwave is empty</B><BR>"}
|
||||||
else
|
else
|
||||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
dat = {"<b>Ingredients:</b><br>[dat]<HR><BR>"}
|
||||||
dat += {"<HR><BR>\
|
if (scanning_power >= 2 )
|
||||||
|
var/datum/recipe/recipe = select_recipe(available_recipes,src)
|
||||||
|
if (!recipe)
|
||||||
|
dat += {"<font color = 'red'>ERROR: No matching recipe found!</font><br>"}
|
||||||
|
else
|
||||||
|
var/obj/O = recipe.result
|
||||||
|
var/display_name = initial(O.name)
|
||||||
|
dat += {"<b>Expected result: </b>[display_name]<br>"}
|
||||||
|
dat += {"\
|
||||||
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
||||||
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
||||||
"}
|
"}
|
||||||
@@ -333,7 +357,7 @@
|
|||||||
if (stat & (NOPOWER|BROKEN))
|
if (stat & (NOPOWER|BROKEN))
|
||||||
return 0
|
return 0
|
||||||
use_power(500)
|
use_power(500)
|
||||||
sleep(10)
|
sleep(10/speed_multiplier)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/microwave/proc/has_extra_item()
|
/obj/machinery/microwave/proc/has_extra_item()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
var/opened = 0
|
var/opened = 0
|
||||||
var/useramount = 30 // Last used amount
|
var/useramount = 30 // Last used amount
|
||||||
|
|
||||||
machine_flags = SCREWTOGGLE | CROWDESTROY
|
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
||||||
|
|
||||||
l_color = "#7BF9FF"
|
l_color = "#7BF9FF"
|
||||||
power_change()
|
power_change()
|
||||||
|
|||||||
@@ -958,11 +958,12 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
|||||||
use_power = 1
|
use_power = 1
|
||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK | EJECTNOTDEL
|
||||||
pass_flags = PASSTABLE
|
pass_flags = PASSTABLE
|
||||||
var/inuse = 0
|
var/inuse = 0
|
||||||
var/obj/item/weapon/reagent_containers/beaker = null
|
var/obj/item/weapon/reagent_containers/beaker = null
|
||||||
var/limit = 10
|
var/limit = 10
|
||||||
|
var/speed_multiplier = 1
|
||||||
var/list/blend_items = list (
|
var/list/blend_items = list (
|
||||||
|
|
||||||
//Sheets
|
//Sheets
|
||||||
@@ -1033,6 +1034,17 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/obj/machinery/reagentgrinder/RefreshParts()
|
||||||
|
var/T = 0
|
||||||
|
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
|
||||||
|
T += M.rating-1
|
||||||
|
limit = initial(limit)+(T * 5)
|
||||||
|
|
||||||
|
T = 0
|
||||||
|
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||||
|
T += M.rating-1
|
||||||
|
speed_multiplier = initial(speed_multiplier)+(T * 0.50)
|
||||||
|
|
||||||
/obj/machinery/reagentgrinder/update_icon()
|
/obj/machinery/reagentgrinder/update_icon()
|
||||||
icon_state = "juicer"+num2text(!isnull(beaker))
|
icon_state = "juicer"+num2text(!isnull(beaker))
|
||||||
return
|
return
|
||||||
@@ -1249,9 +1261,9 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
|||||||
return
|
return
|
||||||
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
|
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
|
||||||
return
|
return
|
||||||
playsound(get_turf(src), 'sound/machines/juicer.ogg', 20, 1)
|
playsound(get_turf(src), speed_multiplier < 2 ? 'sound/machines/juicer.ogg' : 'sound/machines/juicerfast.ogg', 30, 1)
|
||||||
inuse = 1
|
inuse = 1
|
||||||
spawn(50)
|
spawn(50/speed_multiplier)
|
||||||
inuse = 0
|
inuse = 0
|
||||||
interact(usr)
|
interact(usr)
|
||||||
//Snacks
|
//Snacks
|
||||||
@@ -1282,9 +1294,9 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
|||||||
return
|
return
|
||||||
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
|
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
|
||||||
return
|
return
|
||||||
playsound(get_turf(src), 'sound/machines/blender.ogg', 50, 1)
|
playsound(get_turf(src), speed_multiplier < 2 ? 'sound/machines/blender.ogg' : 'sound/machines/blenderfast.ogg', 50, 1)
|
||||||
inuse = 1
|
inuse = 1
|
||||||
spawn(60)
|
spawn(60/speed_multiplier)
|
||||||
inuse = 0
|
inuse = 0
|
||||||
interact(usr)
|
interact(usr)
|
||||||
//Snacks and Plants
|
//Snacks and Plants
|
||||||
|
|||||||
BIN
sound/machines/blenderfast.ogg
Normal file
BIN
sound/machines/blenderfast.ogg
Normal file
Binary file not shown.
BIN
sound/machines/juicerfast.ogg
Normal file
BIN
sound/machines/juicerfast.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user