Removes a great amount of machinery copypasta with circuitboards.
This commit is contained in:
@@ -18,7 +18,7 @@ insert ascii eagle on american flag background here
|
||||
container_type = OPENCONTAINER
|
||||
var/obj/item/frying = null //What's being fried RIGHT NOW?
|
||||
var/cook_time = 0
|
||||
var/static/list/blacklisted_items = typecacheof(list(
|
||||
var/static/list/deepfry_blacklisted_items = typecacheof(list(
|
||||
/obj/item/weapon/screwdriver,
|
||||
/obj/item/weapon/crowbar,
|
||||
/obj/item/weapon/wrench,
|
||||
@@ -28,14 +28,8 @@ insert ascii eagle on american flag background here
|
||||
/obj/item/weapon/reagent_containers/glass,
|
||||
/obj/item/weapon/storage/part_replacer))
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/deep_fryer
|
||||
name = "circuit board (Deep Fryer)"
|
||||
build_path = /obj/machinery/deepfryer
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/machinery/deepfryer/New()
|
||||
..()
|
||||
/obj/machinery/deepfryer/Initialize()
|
||||
. = ..()
|
||||
create_reagents(50)
|
||||
reagents.add_reagent("nutriment", 25)
|
||||
component_parts = list()
|
||||
@@ -62,7 +56,7 @@ insert ascii eagle on american flag background here
|
||||
else if(default_deconstruction_screwdriver(user, "fryer_off", "fryer_off" ,I)) //where's the open maint panel icon?!
|
||||
return
|
||||
else
|
||||
if(is_type_in_typecache(I, blacklisted_items))
|
||||
if(is_type_in_typecache(I, deepfry_blacklisted_items))
|
||||
. = ..()
|
||||
else if(user.drop_item() && !frying)
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
|
||||
@@ -18,17 +18,15 @@
|
||||
container_type = OPENCONTAINER
|
||||
var/obj/item/weapon/reagent_containers/mixer
|
||||
|
||||
/obj/machinery/food_cart/New()
|
||||
..()
|
||||
/obj/machinery/food_cart/Initialize()
|
||||
. = ..()
|
||||
create_reagents(LIQUID_CAPACIY)
|
||||
reagents.set_reacting(FALSE)
|
||||
mixer = new /obj/item/weapon/reagent_containers(src, MIXER_CAPACITY)
|
||||
mixer.name = "Mixer"
|
||||
|
||||
/obj/machinery/food_cart/Destroy()
|
||||
if(mixer)
|
||||
qdel(mixer)
|
||||
mixer = null
|
||||
QDEL_NULL(mixer)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/food_cart/attack_hand(mob/user)
|
||||
|
||||
@@ -6,58 +6,21 @@
|
||||
icon_state = "grinder"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 500
|
||||
circuit = /obj/item/weapon/circuitboard/machine/gibber
|
||||
|
||||
var/operating = FALSE //Is it on?
|
||||
var/dirty = 0 // Does it need cleaning?
|
||||
var/gibtime = 40 // Time from starting until meat appears
|
||||
var/meat_produced = 0
|
||||
var/ignore_clothing = 0
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 500
|
||||
|
||||
//auto-gibs anything that bumps into it
|
||||
/obj/machinery/gibber/autogibber
|
||||
var/turf/input_plate
|
||||
|
||||
/obj/machinery/gibber/autogibber/Initialize()
|
||||
. = ..()
|
||||
for(var/i in GLOB.cardinals)
|
||||
var/obj/machinery/mineral/input/input_obj = locate() in get_step(loc, i)
|
||||
if(input_obj)
|
||||
if(isturf(input_obj.loc))
|
||||
input_plate = input_obj.loc
|
||||
qdel(input_obj)
|
||||
break
|
||||
|
||||
if(!input_plate)
|
||||
CRASH("Didn't find an input plate.")
|
||||
return
|
||||
|
||||
/obj/machinery/gibber/autogibber/CollidedWith(atom/movable/AM)
|
||||
if(!input_plate)
|
||||
return
|
||||
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
|
||||
if(M.loc == input_plate)
|
||||
M.loc = src
|
||||
M.gib()
|
||||
|
||||
|
||||
/obj/machinery/gibber/Initialize()
|
||||
. = ..()
|
||||
add_overlay("grjam")
|
||||
var/obj/item/weapon/circuitboard/machine/gibber/B = new
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/gibber
|
||||
name = "Gibber (Machine Board)"
|
||||
build_path = /obj/machinery/gibber
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/machinery/gibber/RefreshParts()
|
||||
var/gib_time = 40
|
||||
@@ -234,3 +197,32 @@
|
||||
pixel_x = initial(pixel_x) //return to its spot after shaking
|
||||
operating = FALSE
|
||||
update_icon()
|
||||
|
||||
//auto-gibs anything that bumps into it
|
||||
/obj/machinery/gibber/autogibber
|
||||
var/turf/input_plate
|
||||
|
||||
/obj/machinery/gibber/autogibber/Initialize()
|
||||
. = ..()
|
||||
for(var/i in GLOB.cardinals)
|
||||
var/obj/machinery/mineral/input/input_obj = locate() in get_step(loc, i)
|
||||
if(input_obj)
|
||||
if(isturf(input_obj.loc))
|
||||
input_plate = input_obj.loc
|
||||
qdel(input_obj)
|
||||
break
|
||||
|
||||
if(!input_plate)
|
||||
CRASH("Didn't find an input plate.")
|
||||
return
|
||||
|
||||
/obj/machinery/gibber/autogibber/CollidedWith(atom/movable/AM)
|
||||
if(!input_plate)
|
||||
return
|
||||
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
|
||||
if(M.loc == input_plate)
|
||||
M.forceMove(src)
|
||||
M.gib()
|
||||
@@ -14,11 +14,19 @@
|
||||
anchored = FALSE
|
||||
use_power = NO_POWER_USE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
container_type = OPENCONTAINER
|
||||
max_integrity = 300
|
||||
var/list/product_types = list()
|
||||
var/dispense_flavour = ICECREAM_VANILLA
|
||||
var/flavour_name = "vanilla"
|
||||
container_type = OPENCONTAINER
|
||||
max_integrity = 300
|
||||
var/static/list/icecream_vat_reagents = list(
|
||||
"milk" = 5,
|
||||
"flour" = 5,
|
||||
"sugar" = 5,
|
||||
"ice" = 5,
|
||||
"cocoa" = 5,
|
||||
"berryjuice" = 5,
|
||||
"singulo" = 5)
|
||||
|
||||
/obj/machinery/icecream_vat/proc/get_ingredient_list(type)
|
||||
switch(type)
|
||||
@@ -52,19 +60,14 @@
|
||||
return "vanilla"
|
||||
|
||||
|
||||
/obj/machinery/icecream_vat/New()
|
||||
..()
|
||||
/obj/machinery/icecream_vat/Initialize()
|
||||
. = ..()
|
||||
while(product_types.len < 6)
|
||||
product_types.Add(5)
|
||||
create_reagents()
|
||||
reagents.set_reacting(FALSE)
|
||||
reagents.add_reagent("milk", 5)
|
||||
reagents.add_reagent("flour", 5)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
reagents.add_reagent("ice", 5)
|
||||
reagents.add_reagent("cocoa", 5)
|
||||
reagents.add_reagent("berryjuice", 5)
|
||||
reagents.add_reagent("singulo", 5)
|
||||
for(var/reagent in icecream_vat_reagents)
|
||||
reagents.add_reagent(reagent, icecream_vat_reagents[reagent])
|
||||
|
||||
/obj/machinery/icecream_vat/attack_hand(mob/user)
|
||||
user.set_machine(src)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/weapon/circuitboard/machine/microwave
|
||||
var/operating = FALSE // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
@@ -21,22 +22,9 @@
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/microwave/New()
|
||||
/obj/machinery/microwave/Initialize()
|
||||
. = ..()
|
||||
create_reagents(100)
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/microwave(null)
|
||||
B.apply_default_parts(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/microwave
|
||||
name = "Microwave (Machine Board)"
|
||||
build_path = /obj/machinery/microwave
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/machinery/microwave/RefreshParts()
|
||||
var/E
|
||||
|
||||
@@ -9,24 +9,11 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 50
|
||||
circuit = /obj/item/weapon/circuitboard/machine/monkey_recycler
|
||||
var/grinded = 0
|
||||
var/required_grind = 5
|
||||
var/cube_production = 1
|
||||
|
||||
|
||||
/obj/machinery/monkey_recycler/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/monkey_recycler(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/monkey_recycler
|
||||
name = "Monkey Recycler (Machine Board)"
|
||||
build_path = /obj/machinery/monkey_recycler
|
||||
origin_tech = "programming=1;biotech=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/machinery/monkey_recycler/RefreshParts()
|
||||
var/req_grind = 5
|
||||
var/cubes_made = 1
|
||||
|
||||
@@ -7,44 +7,15 @@
|
||||
layer = BELOW_OBJ_LAYER
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
var/broken = 0
|
||||
var/processing = FALSE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 50
|
||||
circuit = /obj/item/weapon/circuitboard/machine/processor
|
||||
var/broken = FALSE
|
||||
var/processing = FALSE
|
||||
var/rating_speed = 1
|
||||
var/rating_amount = 1
|
||||
|
||||
/obj/machinery/processor/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/processor(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(build_path == /obj/machinery/processor)
|
||||
name = "Slime Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor/slime
|
||||
to_chat(user, "<span class='notice'>Name protocols successfully updated.</span>")
|
||||
else
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
to_chat(user, "<span class='notice'>Defaulting name protocols.</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/processor/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||
rating_amount = B.rating
|
||||
@@ -300,11 +271,7 @@
|
||||
name = "Slime processor"
|
||||
desc = "An industrial grinder with a sticker saying appropriated for science department. Keep hands clear of intake area while operating."
|
||||
|
||||
/obj/machinery/processor/slime/New()
|
||||
..()
|
||||
/obj/machinery/processor/slime/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/processor/slime(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor/slime
|
||||
name = "Slime Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor/slime
|
||||
B.apply_default_parts(src)
|
||||
@@ -12,13 +12,14 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/weapon/circuitboard/machine/smartfridge
|
||||
var/max_n_of_items = 1500
|
||||
var/icon_on = "smartfridge"
|
||||
var/icon_off = "smartfridge-off"
|
||||
var/list/initial_contents
|
||||
|
||||
/obj/machinery/smartfridge/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
create_reagents()
|
||||
reagents.set_reacting(FALSE)
|
||||
|
||||
@@ -30,40 +31,6 @@
|
||||
for(var/i in 1 to amount)
|
||||
load(new typekey(src))
|
||||
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/smartfridge(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge
|
||||
name = "Smartfridge (Machine Board)"
|
||||
build_path = /obj/machinery/smartfridge
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(/obj/item/weapon/stock_parts/matter_bin = 1)
|
||||
var/static/list/fridges = list(/obj/machinery/smartfridge = "plant produce",
|
||||
/obj/machinery/smartfridge/food = "food",
|
||||
/obj/machinery/smartfridge/drinks = "drinks",
|
||||
/obj/machinery/smartfridge/extract = "slimes",
|
||||
/obj/machinery/smartfridge/chemistry = "chems",
|
||||
/obj/machinery/smartfridge/chemistry/virology = "viruses",
|
||||
/obj/machinery/smartfridge/disks = "disks")
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/New(loc, new_type)
|
||||
if(new_type)
|
||||
build_path = new_type
|
||||
..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
var/position = fridges.Find(build_path, fridges)
|
||||
position = (position == fridges.len) ? 1 : (position + 1)
|
||||
build_path = fridges[position]
|
||||
to_chat(user, "<span class='notice'>You set the board to [fridges[build_path]].</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='info'>[src] is set to [fridges[build_path]]. You can use a screwdriver to reconfigure it.</span>")
|
||||
|
||||
/obj/machinery/smartfridge/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||
max_n_of_items = 1500 * B.rating
|
||||
@@ -255,8 +222,8 @@
|
||||
icon_off = "drying_rack"
|
||||
var/drying = FALSE
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/New()
|
||||
..()
|
||||
/obj/machinery/smartfridge/drying_rack/Initialize()
|
||||
. = ..()
|
||||
if(component_parts && component_parts.len)
|
||||
component_parts.Cut()
|
||||
component_parts = null
|
||||
|
||||
Reference in New Issue
Block a user