mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +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
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | EJECTNOTDEL
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
pass_flags = PASSTABLE
|
||||
var/operating = 0 // Is it on?
|
||||
@@ -22,6 +22,8 @@
|
||||
var/global/max_n_of_items = 0
|
||||
var/list/holdingitems = list()
|
||||
var/limit = 100
|
||||
var/speed_multiplier = 1
|
||||
var/scanning_power = 0
|
||||
|
||||
// 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
|
||||
@@ -68,6 +70,20 @@
|
||||
if (recipe.items)
|
||||
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
|
||||
********************/
|
||||
@@ -255,8 +271,16 @@
|
||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||
dat = {"<B>The microwave is empty</B><BR>"}
|
||||
else
|
||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
||||
dat += {"<HR><BR>\
|
||||
dat = {"<b>Ingredients:</b><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=dispose'>Eject ingredients!<BR>\
|
||||
"}
|
||||
@@ -333,7 +357,7 @@
|
||||
if (stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
use_power(500)
|
||||
sleep(10)
|
||||
sleep(10/speed_multiplier)
|
||||
return 1
|
||||
|
||||
/obj/machinery/microwave/proc/has_extra_item()
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/opened = 0
|
||||
var/useramount = 30 // Last used amount
|
||||
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
||||
|
||||
l_color = "#7BF9FF"
|
||||
power_change()
|
||||
|
||||
@@ -958,11 +958,12 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
||||
use_power = 1
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK | EJECTNOTDEL
|
||||
pass_flags = PASSTABLE
|
||||
var/inuse = 0
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
var/limit = 10
|
||||
var/speed_multiplier = 1
|
||||
var/list/blend_items = list (
|
||||
|
||||
//Sheets
|
||||
@@ -1033,6 +1034,17 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
||||
|
||||
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()
|
||||
icon_state = "juicer"+num2text(!isnull(beaker))
|
||||
return
|
||||
@@ -1249,9 +1261,9 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
||||
return
|
||||
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
|
||||
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
|
||||
spawn(50)
|
||||
spawn(50/speed_multiplier)
|
||||
inuse = 0
|
||||
interact(usr)
|
||||
//Snacks
|
||||
@@ -1282,9 +1294,9 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
||||
return
|
||||
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
|
||||
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
|
||||
spawn(60)
|
||||
spawn(60/speed_multiplier)
|
||||
inuse = 0
|
||||
interact(usr)
|
||||
//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