mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 17:43:35 +01:00
Makes machine frames show their circuit name (#15025)
* Circuit Names Refactor * Some review stuff * now with less runtimes * Machine Boards and Computer Boards * Only a little late * YouTool fix * Resupply crate too * Supplycomp board I'll do the other stuff tomorrow * Computer Frame Refactor Plus also removing the HONKputer to avoid a conflict. * Don't need this diff anymore
This commit is contained in:
@@ -572,9 +572,10 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
|
||||
containername = "electrical maintenance crate"
|
||||
|
||||
/datum/supply_packs/vending/engivend
|
||||
name = "EngiVend Supply Crate"
|
||||
cost = 15
|
||||
contains = list(/obj/item/vending_refill/engivend)
|
||||
name = "Engineering Vendor Supply Crate"
|
||||
cost = 20
|
||||
contains = list(/obj/item/vending_refill/engivend,
|
||||
/obj/item/vending_refill/youtool)
|
||||
containername = "engineering supply crate"
|
||||
|
||||
/datum/supply_packs/engineering/powergamermitts
|
||||
|
||||
@@ -1,52 +1,18 @@
|
||||
/obj/structure/computerframe
|
||||
density = 1
|
||||
anchored = 0
|
||||
name = "computer frame"
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
icon_state = "0"
|
||||
max_integrity = 100
|
||||
var/state = 0
|
||||
var/obj/item/circuitboard/circuit = null
|
||||
|
||||
/obj/structure/computerframe/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
drop_computer_parts()
|
||||
return ..() // will qdel the frame
|
||||
|
||||
/obj/structure/computerframe/obj_break(damage_flag)
|
||||
deconstruct()
|
||||
|
||||
/obj/structure/computerframe/proc/drop_computer_parts()
|
||||
new /obj/item/stack/sheet/metal(loc, 5)
|
||||
if(circuit)
|
||||
circuit.forceMove(loc)
|
||||
circuit = null
|
||||
if(state >= 3)
|
||||
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
|
||||
A.amount = 5
|
||||
if(state >= 4)
|
||||
new /obj/item/stack/sheet/glass(loc, 2)
|
||||
|
||||
/obj/item/circuitboard
|
||||
density = 0
|
||||
anchored = 0
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
/// Use `board_name` instead of this.
|
||||
name = "circuit board"
|
||||
icon = 'icons/obj/module.dmi'
|
||||
icon_state = "id_mod"
|
||||
item_state = "electronic"
|
||||
origin_tech = "programming=2"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_GLASS=200)
|
||||
var/id = null
|
||||
var/frequency = null
|
||||
usesound = 'sound/items/deconstruct.ogg'
|
||||
/// Use this instead of `name`. Formats as: `circuit board ([board_name])`
|
||||
var/board_name = null
|
||||
var/build_path = null
|
||||
var/board_type = "computer"
|
||||
var/list/req_components = null
|
||||
var/powernet = null
|
||||
var/list/records = null
|
||||
var/contain_parts = 1
|
||||
toolspeed = 1
|
||||
usesound = 'sound/items/deconstruct.ogg'
|
||||
|
||||
/obj/item/circuitboard/computer
|
||||
board_type = "computer"
|
||||
@@ -54,6 +20,16 @@
|
||||
/obj/item/circuitboard/machine
|
||||
board_type = "machine"
|
||||
|
||||
/obj/item/circuitboard/Initialize(mapload)
|
||||
. = ..()
|
||||
format_board_name()
|
||||
|
||||
/obj/item/circuitboard/proc/format_board_name()
|
||||
if(board_name) // Should always have this, but just in case.
|
||||
name = "[initial(name)] ([board_name])"
|
||||
else
|
||||
name = "[initial(name)]"
|
||||
|
||||
/obj/item/circuitboard/examine(mob/user)
|
||||
. = ..()
|
||||
if(LAZYLEN(req_components))
|
||||
@@ -66,480 +42,597 @@
|
||||
. += "<span class='notice'>Required components: [english_list(nice_list)].</span>"
|
||||
|
||||
/obj/item/circuitboard/message_monitor
|
||||
name = "Circuit board (Message Monitor)"
|
||||
board_name = "Message Monitor"
|
||||
build_path = /obj/machinery/computer/message_monitor
|
||||
origin_tech = "programming=2"
|
||||
|
||||
/obj/item/circuitboard/camera
|
||||
name = "Circuit board (Camera Monitor)"
|
||||
board_name = "Camera Monitor"
|
||||
build_path = /obj/machinery/computer/security
|
||||
origin_tech = "programming=2;combat=2"
|
||||
|
||||
/obj/item/circuitboard/camera/telescreen
|
||||
name = "Circuit board (Telescreen)"
|
||||
board_name = "Telescreen"
|
||||
build_path = /obj/machinery/computer/security/telescreen
|
||||
|
||||
/obj/item/circuitboard/camera/telescreen/entertainment
|
||||
name = "Circuit board (Entertainment Monitor)"
|
||||
board_name = "Entertainment Monitor"
|
||||
build_path = /obj/machinery/computer/security/telescreen/entertainment
|
||||
|
||||
/obj/item/circuitboard/camera/wooden_tv
|
||||
name = "Circuit board (Wooden TV)"
|
||||
board_name = "Wooden TV"
|
||||
build_path = /obj/machinery/computer/security/wooden_tv
|
||||
|
||||
/obj/item/circuitboard/camera/mining
|
||||
name = "Circuit board (Outpost Camera Monitor)"
|
||||
board_name = "Outpost Camera Monitor"
|
||||
build_path = /obj/machinery/computer/security/mining
|
||||
|
||||
/obj/item/circuitboard/camera/engineering
|
||||
name = "Circuit board (Engineering Camera Monitor)"
|
||||
board_name = "Engineering Camera Monitor"
|
||||
build_path = /obj/machinery/computer/security/engineering
|
||||
|
||||
|
||||
/obj/item/circuitboard/xenobiology
|
||||
name = "Circuit board (Xenobiology Console)"
|
||||
board_name = "Xenobiology Console"
|
||||
build_path = /obj/machinery/computer/camera_advanced/xenobio
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
|
||||
/obj/item/circuitboard/aicore
|
||||
name = "Circuit board (AI Core)"
|
||||
board_name = "AI Core"
|
||||
origin_tech = "programming=3"
|
||||
board_type = "other"
|
||||
|
||||
/obj/item/circuitboard/aiupload
|
||||
name = "Circuit board (AI Upload)"
|
||||
board_name = "AI Upload"
|
||||
build_path = /obj/machinery/computer/aiupload
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
|
||||
/obj/item/circuitboard/borgupload
|
||||
name = "Circuit board (Cyborg Upload)"
|
||||
board_name = "Cyborg Upload"
|
||||
build_path = /obj/machinery/computer/borgupload
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
|
||||
/obj/item/circuitboard/med_data
|
||||
name = "Circuit board (Medical Records)"
|
||||
board_name = "Medical Records"
|
||||
build_path = /obj/machinery/computer/med_data
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
|
||||
/obj/item/circuitboard/pandemic
|
||||
name = "circuit board (PanD.E.M.I.C. 2200)"
|
||||
board_name = "PanD.E.M.I.C. 2200"
|
||||
build_path = /obj/machinery/computer/pandemic
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
|
||||
/obj/item/circuitboard/scan_consolenew
|
||||
name = "Circuit board (DNA Machine)"
|
||||
board_name = "DNA Machine"
|
||||
build_path = /obj/machinery/computer/scan_consolenew
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
|
||||
/obj/item/circuitboard/communications
|
||||
name = "Circuit board (Communications Console)"
|
||||
board_name = "Communications Console"
|
||||
build_path = /obj/machinery/computer/communications
|
||||
origin_tech = "programming=3;magnets=3"
|
||||
|
||||
/obj/item/circuitboard/card
|
||||
name = "Circuit board (ID Computer)"
|
||||
board_name = "ID Computer"
|
||||
build_path = /obj/machinery/computer/card
|
||||
origin_tech = "programming=3"
|
||||
|
||||
/obj/item/circuitboard/card/minor
|
||||
name = "Circuit board (Dept ID Computer)"
|
||||
board_name = "Dept ID Computer"
|
||||
build_path = /obj/machinery/computer/card/minor
|
||||
var/target_dept = TARGET_DEPT_GENERIC
|
||||
|
||||
/obj/item/circuitboard/card/minor/hos
|
||||
name = "Circuit board (Sec ID Computer)"
|
||||
board_name = "Sec ID Computer"
|
||||
build_path = /obj/machinery/computer/card/minor/hos
|
||||
target_dept = TARGET_DEPT_SEC
|
||||
|
||||
/obj/item/circuitboard/card/minor/cmo
|
||||
name = "Circuit board (Medical ID Computer)"
|
||||
board_name = "Medical ID Computer"
|
||||
build_path = /obj/machinery/computer/card/minor/cmo
|
||||
target_dept = TARGET_DEPT_MED
|
||||
|
||||
/obj/item/circuitboard/card/minor/rd
|
||||
name = "Circuit board (Science ID Computer)"
|
||||
board_name = "Science ID Computer"
|
||||
build_path = /obj/machinery/computer/card/minor/rd
|
||||
target_dept = TARGET_DEPT_SCI
|
||||
|
||||
/obj/item/circuitboard/card/minor/ce
|
||||
name = "Circuit board (Engineering ID Computer)"
|
||||
board_name = "Engineering ID Computer"
|
||||
build_path = /obj/machinery/computer/card/minor/ce
|
||||
target_dept = TARGET_DEPT_ENG
|
||||
|
||||
/obj/item/circuitboard/card/centcom
|
||||
name = "Circuit board (CentComm ID Computer)"
|
||||
board_name = "CentComm ID Computer"
|
||||
build_path = /obj/machinery/computer/card/centcom
|
||||
|
||||
/obj/item/circuitboard/teleporter
|
||||
name = "Circuit board (Teleporter Console)"
|
||||
board_name = "Teleporter Console"
|
||||
build_path = /obj/machinery/computer/teleporter
|
||||
origin_tech = "programming=3;bluespace=3;plasmatech=3"
|
||||
|
||||
/obj/item/circuitboard/secure_data
|
||||
name = "Circuit board (Security Records)"
|
||||
board_name = "Security Records"
|
||||
build_path = /obj/machinery/computer/secure_data
|
||||
origin_tech = "programming=2;combat=2"
|
||||
|
||||
/obj/item/circuitboard/stationalert_engineering
|
||||
name = "Circuit Board (Station Alert Console (Engineering))"
|
||||
board_name = "Station Alert Console - Engineering"
|
||||
build_path = /obj/machinery/computer/station_alert
|
||||
|
||||
/obj/item/circuitboard/stationalert
|
||||
name = "Circuit Board (Station Alert Console)"
|
||||
board_name = "Station Alert Console"
|
||||
build_path = /obj/machinery/computer/station_alert
|
||||
|
||||
/obj/item/circuitboard/atmos_alert
|
||||
name = "Circuit Board (Atmospheric Alert Computer)"
|
||||
board_name = "Atmospheric Alert Computer"
|
||||
build_path = /obj/machinery/computer/atmos_alert
|
||||
|
||||
/obj/item/circuitboard/atmoscontrol
|
||||
name = "Circuit Board (Central Atmospherics Computer)"
|
||||
board_name = "Central Atmospherics Computer"
|
||||
build_path = /obj/machinery/computer/atmoscontrol
|
||||
|
||||
/obj/item/circuitboard/air_management
|
||||
name = "Circuit board (Atmospheric Monitor)"
|
||||
board_name = "Atmospheric Monitor"
|
||||
build_path = /obj/machinery/computer/general_air_control
|
||||
|
||||
/obj/item/circuitboard/injector_control
|
||||
name = "Circuit board (Injector Control)"
|
||||
board_name = "Injector Control"
|
||||
build_path = /obj/machinery/computer/general_air_control/fuel_injection
|
||||
|
||||
/obj/item/circuitboard/pod
|
||||
name = "Circuit board (Massdriver Control)"
|
||||
board_name = "Massdriver Control"
|
||||
build_path = /obj/machinery/computer/pod
|
||||
|
||||
/obj/item/circuitboard/pod/deathsquad
|
||||
name = "Circuit board (Deathsquad Massdriver control)"
|
||||
board_name = "Deathsquad Massdriver Control"
|
||||
build_path = /obj/machinery/computer/pod/deathsquad
|
||||
|
||||
/obj/item/circuitboard/robotics
|
||||
name = "Circuit board (Robotics Control Console)"
|
||||
board_name = "Robotics Control Console"
|
||||
build_path = /obj/machinery/computer/robotics
|
||||
origin_tech = "programming=3"
|
||||
|
||||
/obj/item/circuitboard/drone_control
|
||||
name = "Circuit board (Drone Control)"
|
||||
board_name = "Drone Control"
|
||||
build_path = /obj/machinery/computer/drone_control
|
||||
origin_tech = "programming=3"
|
||||
|
||||
/obj/item/circuitboard/cloning
|
||||
name = "Circuit board (Cloning Machine Console)"
|
||||
board_name = "Cloning Machine Console"
|
||||
build_path = /obj/machinery/computer/cloning
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
|
||||
/obj/item/circuitboard/arcade/battle
|
||||
name = "circuit board (Arcade Battle)"
|
||||
board_name = "Arcade Battle"
|
||||
build_path = /obj/machinery/computer/arcade/battle
|
||||
origin_tech = "programming=1"
|
||||
|
||||
/obj/item/circuitboard/arcade/orion_trail
|
||||
name = "circuit board (Orion Trail)"
|
||||
board_name = "Orion Trail"
|
||||
build_path = /obj/machinery/computer/arcade/orion_trail
|
||||
origin_tech = "programming=1"
|
||||
|
||||
/obj/item/circuitboard/solar_control
|
||||
name = "Circuit board (Solar Control)"
|
||||
board_name = "Solar Control"
|
||||
build_path = /obj/machinery/power/solar_control
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
|
||||
/obj/item/circuitboard/powermonitor
|
||||
name = "Circuit board (Power Monitor)"
|
||||
board_name = "Power Monitor"
|
||||
build_path = /obj/machinery/computer/monitor
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
|
||||
/obj/item/circuitboard/powermonitor/secret
|
||||
name = "Circuit board (Outdated Power Monitor)"
|
||||
board_name = "Outdated Power Monitor"
|
||||
build_path = /obj/machinery/computer/monitor/secret
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
|
||||
/obj/item/circuitboard/olddoor
|
||||
name = "Circuit board (DoorMex)"
|
||||
board_name = "DoorMex"
|
||||
build_path = /obj/machinery/computer/pod/old
|
||||
|
||||
/obj/item/circuitboard/syndicatedoor
|
||||
name = "Circuit board (ProComp Executive)"
|
||||
board_name = "ProComp Executive"
|
||||
build_path = /obj/machinery/computer/pod/old/syndicate
|
||||
|
||||
/obj/item/circuitboard/swfdoor
|
||||
name = "Circuit board (Magix)"
|
||||
board_name = "Magix"
|
||||
build_path = /obj/machinery/computer/pod/old/swf
|
||||
|
||||
/obj/item/circuitboard/prisoner
|
||||
name = "Circuit board (Prisoner Management)"
|
||||
board_name = "Prisoner Management"
|
||||
build_path = /obj/machinery/computer/prisoner
|
||||
|
||||
/obj/item/circuitboard/brigcells
|
||||
name = "Circuit board (Brig Cell Control)"
|
||||
board_name = "Brig Cell Control"
|
||||
build_path = /obj/machinery/computer/brigcells
|
||||
|
||||
/obj/item/circuitboard/sm_monitor
|
||||
name = "Circuit board (Supermatter Monitoring Console)"
|
||||
board_name = "Supermatter Monitoring Console"
|
||||
build_path = /obj/machinery/computer/sm_monitor
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
|
||||
// RD console circuits, so that {de,re}constructing one of the special consoles doesn't ruin everything forever
|
||||
// RD console circuits, so that de/reconstructing one of the special consoles doesn't ruin everything forever
|
||||
/obj/item/circuitboard/rdconsole
|
||||
name = "Circuit Board (RD Console)"
|
||||
board_name = "RD Console"
|
||||
desc = "Swipe a Scientist level ID or higher to reconfigure."
|
||||
build_path = /obj/machinery/computer/rdconsole/core
|
||||
req_access = list(ACCESS_TOX) // This is for adjusting the type of computer we're building - in case something messes up the pre-existing robotics or mechanics consoles
|
||||
var/access_types = list("R&D Core", "Robotics", "E.X.P.E.R.I-MENTOR", "Mechanics", "Public")
|
||||
id = 1
|
||||
var/list/access_types = list("R&D Core", "Robotics", "E.X.P.E.R.I-MENTOR", "Mechanics", "Public")
|
||||
|
||||
/obj/item/circuitboard/rdconsole/robotics
|
||||
name = "Circuit Board (RD Console - Robotics)"
|
||||
board_name = "RD Console - Robotics"
|
||||
build_path = /obj/machinery/computer/rdconsole/robotics
|
||||
id = 2
|
||||
|
||||
/obj/item/circuitboard/rdconsole/experiment
|
||||
name = "Circuit Board (RD Console - E.X.P.E.R.I-MENTOR)"
|
||||
board_name = "RD Console - E.X.P.E.R.I-MENTOR"
|
||||
build_path = /obj/machinery/computer/rdconsole/experiment
|
||||
id = 3
|
||||
|
||||
/obj/item/circuitboard/rdconsole/mechanics
|
||||
name = "Circuit Board (RD Console - Mechanics)"
|
||||
board_name = "RD Console - Mechanics"
|
||||
build_path = /obj/machinery/computer/rdconsole/mechanics
|
||||
id = 4
|
||||
|
||||
/obj/item/circuitboard/rdconsole/public
|
||||
name = "Circuit Board (RD Console - Public)"
|
||||
board_name = "RD Console - Public"
|
||||
build_path = /obj/machinery/computer/rdconsole/public
|
||||
id = 5
|
||||
|
||||
|
||||
/obj/item/circuitboard/mecha_control
|
||||
name = "Circuit Board (Exosuit Control Console)"
|
||||
board_name = "Exosuit Control Console"
|
||||
build_path = /obj/machinery/computer/mecha
|
||||
|
||||
/obj/item/circuitboard/pod_locater
|
||||
name = "Circuit Board (Pod Location Console)"
|
||||
board_name = "Pod Location Console"
|
||||
build_path = /obj/machinery/computer/podtracker
|
||||
|
||||
/obj/item/circuitboard/rdservercontrol
|
||||
name = "Circuit Board (RD Server Control)"
|
||||
board_name = "RD Server Control"
|
||||
build_path = /obj/machinery/computer/rdservercontrol
|
||||
|
||||
/obj/item/circuitboard/crew
|
||||
name = "Circuit board (Crew Monitoring Computer)"
|
||||
board_name = "Crew Monitoring Computer"
|
||||
build_path = /obj/machinery/computer/crew
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
|
||||
/obj/item/circuitboard/mech_bay_power_console
|
||||
name = "Circuit board (Mech Bay Power Control Console)"
|
||||
board_name = "Mech Bay Power Control Console"
|
||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||
origin_tech = "programming=3;powerstorage=3"
|
||||
|
||||
/obj/item/circuitboard/ordercomp
|
||||
name = "Circuit board (Supply Ordering Console)"
|
||||
board_name = "Supply Ordering Console"
|
||||
build_path = /obj/machinery/computer/supplycomp/public
|
||||
origin_tech = "programming=3"
|
||||
|
||||
/obj/item/circuitboard/supplycomp
|
||||
name = "Circuit board (Supply Shuttle Console)"
|
||||
board_name = "Supply Shuttle Console"
|
||||
build_path = /obj/machinery/computer/supplycomp
|
||||
origin_tech = "programming=3"
|
||||
var/contraband_enabled = 0
|
||||
|
||||
/obj/item/circuitboard/operating
|
||||
name = "Circuit board (Operating Computer)"
|
||||
board_name = "Operating Computer"
|
||||
build_path = /obj/machinery/computer/operating
|
||||
origin_tech = "programming=2;biotech=3"
|
||||
|
||||
/obj/item/circuitboard/shuttle
|
||||
name = "circuit board (Shuttle)"
|
||||
board_name = "Shuttle"
|
||||
build_path = /obj/machinery/computer/shuttle
|
||||
var/shuttleId
|
||||
var/possible_destinations = ""
|
||||
|
||||
/obj/item/circuitboard/labor_shuttle
|
||||
name = "circuit Board (Labor Shuttle)"
|
||||
board_name = "Labor Shuttle"
|
||||
build_path = /obj/machinery/computer/shuttle/labor
|
||||
|
||||
/obj/item/circuitboard/labor_shuttle/one_way
|
||||
name = "circuit Board (Prisoner Shuttle Console)"
|
||||
board_name = "Prisoner Shuttle Console"
|
||||
build_path = /obj/machinery/computer/shuttle/labor/one_way
|
||||
|
||||
/obj/item/circuitboard/ferry
|
||||
name = "circuit Board (Transport Ferry)"
|
||||
board_name = "Transport Ferry"
|
||||
build_path = /obj/machinery/computer/shuttle/ferry
|
||||
|
||||
/obj/item/circuitboard/ferry/request
|
||||
name = "circuit Board (Transport Ferry Console)"
|
||||
board_name = "Transport Ferry Console"
|
||||
build_path = /obj/machinery/computer/shuttle/ferry/request
|
||||
|
||||
/obj/item/circuitboard/mining_shuttle
|
||||
name = "circuit Board (Mining Shuttle)"
|
||||
board_name = "Mining Shuttle"
|
||||
build_path = /obj/machinery/computer/shuttle/mining
|
||||
|
||||
/obj/item/circuitboard/white_ship
|
||||
name = "circuit Board (White Ship)"
|
||||
board_name = "White Ship"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship
|
||||
|
||||
/obj/item/circuitboard/shuttle/syndicate
|
||||
name = "circuit board (Syndicate Shuttle)"
|
||||
board_name = "Syndicate Shuttle"
|
||||
build_path = /obj/machinery/computer/shuttle/syndicate
|
||||
|
||||
/obj/item/circuitboard/shuttle/syndicate/recall
|
||||
name = "circuit board (Syndicate Shuttle Recall Terminal)"
|
||||
board_name = "Syndicate Shuttle Recall Terminal"
|
||||
build_path = /obj/machinery/computer/shuttle/syndicate/recall
|
||||
|
||||
/obj/item/circuitboard/shuttle/syndicate/drop_pod
|
||||
name = "circuit board (Syndicate Drop Pod)"
|
||||
board_name = "Syndicate Drop Pod"
|
||||
build_path = /obj/machinery/computer/shuttle/syndicate/drop_pod
|
||||
|
||||
/obj/item/circuitboard/shuttle/golem_ship
|
||||
name = "circuit Board (Golem Ship)"
|
||||
board_name = "Golem Ship"
|
||||
build_path = /obj/machinery/computer/shuttle/golem_ship
|
||||
|
||||
/obj/item/circuitboard/HolodeckControl
|
||||
name = "Circuit board (Holodeck Control)"
|
||||
board_name = "Holodeck Control"
|
||||
build_path = /obj/machinery/computer/HolodeckControl
|
||||
origin_tech = "programming=4"
|
||||
|
||||
/obj/item/circuitboard/aifixer
|
||||
name = "Circuit board (AI Integrity Restorer)"
|
||||
board_name = "AI Integrity Restorer"
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
|
||||
/obj/item/circuitboard/area_atmos
|
||||
name = "Circuit board (Area Air Control)"
|
||||
board_name = "Area Air Control"
|
||||
build_path = /obj/machinery/computer/area_atmos
|
||||
origin_tech = "programming=2"
|
||||
|
||||
/obj/item/circuitboard/telesci_console
|
||||
name = "Circuit board (Telepad Control Console)"
|
||||
board_name = "Telepad Control Console"
|
||||
build_path = /obj/machinery/computer/telescience
|
||||
origin_tech = "programming=3;bluespace=3;plasmatech=4"
|
||||
|
||||
/obj/item/circuitboard/large_tank_control
|
||||
name = "Circuit board (Atmospheric Tank Control)"
|
||||
board_name = "Atmospheric Tank Control"
|
||||
build_path = /obj/machinery/computer/general_air_control/large_tank_control
|
||||
origin_tech = "programming=2;engineering=3;materials=2"
|
||||
|
||||
/obj/item/circuitboard/turbine_computer
|
||||
name = "circuit board (Turbine Computer)"
|
||||
board_name = "Turbine Computer"
|
||||
build_path = /obj/machinery/computer/turbine_computer
|
||||
origin_tech = "programming=4;engineering=4;powerstorage=4"
|
||||
|
||||
/obj/item/circuitboard/supplycomp/multitool_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
var/catastasis // Why is it called this
|
||||
var/opposite_catastasis
|
||||
if(contraband_enabled)
|
||||
catastasis = "BROAD"
|
||||
opposite_catastasis = "STANDARD"
|
||||
else
|
||||
catastasis = "STANDARD"
|
||||
opposite_catastasis = "BROAD"
|
||||
|
||||
/obj/item/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I,/obj/item/multitool))
|
||||
var/catastasis = contraband_enabled
|
||||
var/opposite_catastasis
|
||||
if(catastasis)
|
||||
opposite_catastasis = "STANDARD"
|
||||
catastasis = "BROAD"
|
||||
else
|
||||
opposite_catastasis = "BROAD"
|
||||
catastasis = "STANDARD"
|
||||
|
||||
switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") )
|
||||
//switch( alert("Current receiver spectrum is set to: " {(contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") )
|
||||
if("Switch to STANDARD","Switch to BROAD")
|
||||
contraband_enabled = !contraband_enabled
|
||||
|
||||
if("Cancel")
|
||||
return
|
||||
else
|
||||
to_chat(user, "DERP! BUG! Report this (And what you were doing to cause it) to Agouri")
|
||||
var/choice = alert("Current receiver spectrum is set to: [catastasis]", "Multitool-Circuitboard interface", "Switch to [opposite_catastasis]", "Cancel")
|
||||
if(choice == "Cancel")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I,/obj/item/card/id)||istype(I, /obj/item/pda))
|
||||
contraband_enabled = !contraband_enabled
|
||||
playsound(src, 'sound/effects/pop.ogg', 50)
|
||||
|
||||
/obj/item/circuitboard/rdconsole/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda))
|
||||
if(allowed(user))
|
||||
user.visible_message("<span class='notice'>[user] waves [user.p_their()] ID past [src]'s access protocol scanner.</span>", "<span class='notice'>You swipe your ID past [src]'s access protocol scanner.</span>")
|
||||
var/console_choice = input(user, "What do you want to configure the access to?", "Access Modification", "R&D Core") as null|anything in access_types
|
||||
if(console_choice == null)
|
||||
if(!console_choice)
|
||||
return
|
||||
switch(console_choice)
|
||||
if("R&D Core")
|
||||
name = "Circuit Board (RD Console)"
|
||||
board_name = "RD Console"
|
||||
build_path = /obj/machinery/computer/rdconsole/core
|
||||
id = 1
|
||||
if("Robotics")
|
||||
name = "Circuit Board (RD Console - Robotics)"
|
||||
board_name = "RD Console - Robotics"
|
||||
build_path = /obj/machinery/computer/rdconsole/robotics
|
||||
id = 2
|
||||
if("E.X.P.E.R.I-MENTOR")
|
||||
name = "Circuit Board (RD Console - E.X.P.E.R.I-MENTOR)"
|
||||
board_name = "RD Console - E.X.P.E.R.I-MENTOR"
|
||||
build_path = /obj/machinery/computer/rdconsole/experiment
|
||||
id = 3
|
||||
if("Mechanics")
|
||||
name = "Circuit Board (RD Console - Mechanics)"
|
||||
board_name = "RD Console - Mechanics"
|
||||
build_path = /obj/machinery/computer/rdconsole/mechanics
|
||||
id = 4
|
||||
if("Public")
|
||||
name = "Circuit Board (RD Console - Public)"
|
||||
board_name = "RD Console - Public"
|
||||
build_path = /obj/machinery/computer/rdconsole/public
|
||||
id = 5
|
||||
|
||||
format_board_name()
|
||||
to_chat(user, "<span class='notice'>Access protocols set to [console_choice].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access Denied</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob, params)
|
||||
switch(state)
|
||||
if(0)
|
||||
if(istype(P, /obj/item/wrench))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
if(do_after(user, 20 * P.toolspeed, target = src))
|
||||
to_chat(user, "<span class='notice'>You wrench the frame into place.</span>")
|
||||
anchored = 1
|
||||
state = 1
|
||||
return
|
||||
if(1)
|
||||
if(istype(P, /obj/item/wrench))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
if(do_after(user, 20 * P.toolspeed, target = src))
|
||||
to_chat(user, "<span class='notice'>You unfasten the frame.</span>")
|
||||
anchored = 0
|
||||
state = 0
|
||||
return
|
||||
if(istype(P, /obj/item/circuitboard) && !circuit)
|
||||
var/obj/item/circuitboard/B = P
|
||||
if(B.board_type == "computer")
|
||||
playsound(loc, B.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You place the circuit board inside the frame.</span>")
|
||||
icon_state = "1"
|
||||
circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
else
|
||||
to_chat(user, "<span class='warning'>This frame does not accept circuit boards of this type!</span>")
|
||||
return
|
||||
if(istype(P, /obj/item/screwdriver) && circuit)
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You screw the circuit board into place.</span>")
|
||||
state = 2
|
||||
icon_state = "2"
|
||||
return
|
||||
if(istype(P, /obj/item/crowbar) && circuit)
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the circuit board.</span>")
|
||||
state = 1
|
||||
icon_state = "0"
|
||||
circuit.loc = loc
|
||||
circuit = null
|
||||
return
|
||||
if(2)
|
||||
if(istype(P, /obj/item/screwdriver) && circuit)
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You unfasten the circuit board.</span>")
|
||||
state = 1
|
||||
icon_state = "1"
|
||||
return
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/C = P
|
||||
if(C.get_amount() >= 5)
|
||||
playsound(loc, C.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You start to add cables to the frame.</span>")
|
||||
if(do_after(user, 20 * C.toolspeed, target = src))
|
||||
if(state == 2 && C.get_amount() >= 5 && C.use(5))
|
||||
to_chat(user, "<span class='notice'>You add cables to the frame.</span>")
|
||||
state = 3
|
||||
icon_state = "3"
|
||||
else
|
||||
to_chat(user, "<span class='warning'>At some point during construction you lost some cable. Make sure you have five lengths before trying again.</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need five lengths of cable to wire the frame.</span>")
|
||||
return
|
||||
if(3)
|
||||
if(istype(P, /obj/item/wirecutters))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the cables.</span>")
|
||||
state = 2
|
||||
icon_state = "2"
|
||||
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
|
||||
A.amount = 5
|
||||
return
|
||||
if(istype(P, /obj/item/stack/sheet/glass))
|
||||
var/obj/item/stack/sheet/glass/G = P
|
||||
if(G.get_amount() >= 2)
|
||||
playsound(loc, G.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You start to add the glass panel to the frame.</span>")
|
||||
if(do_after(user, 20 * G.toolspeed, target = src))
|
||||
if(state == 3 && G.get_amount() >= 2 && G.use(2))
|
||||
to_chat(user, "<span class='notice'>You put in the glass panel.</span>")
|
||||
state = 4
|
||||
icon_state = "4"
|
||||
else
|
||||
to_chat(user, "<span class='warning'>At some point during construction you lost some glass. Make sure you have two sheets before trying again.</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need two sheets of glass for this.</span>")
|
||||
return
|
||||
if(4)
|
||||
if(istype(P, /obj/item/crowbar))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the glass panel.</span>")
|
||||
state = 3
|
||||
icon_state = "3"
|
||||
new /obj/item/stack/sheet/glass(loc, 2)
|
||||
return
|
||||
if(istype(P, /obj/item/screwdriver))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You connect the monitor.</span>")
|
||||
var/B = new circuit.build_path (loc)
|
||||
if(circuit.powernet) B:powernet = circuit.powernet
|
||||
if(circuit.id) B:id = circuit.id
|
||||
if(circuit.records) B:records = circuit.records
|
||||
if(circuit.frequency) B:frequency = circuit.frequency
|
||||
if(istype(circuit,/obj/item/circuitboard/supplycomp))
|
||||
var/obj/machinery/computer/supplycomp/SC = B
|
||||
var/obj/item/circuitboard/supplycomp/C = circuit
|
||||
SC.can_order_contraband = C.contraband_enabled
|
||||
qdel(src)
|
||||
return
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
// Construction | Deconstruction
|
||||
#define STATE_EMPTY 1 // Add a circuitboard | Weld to destroy
|
||||
#define STATE_CIRCUIT 2 // Screwdriver the cover closed | Crowbar the circuit
|
||||
#define STATE_NOWIRES 3 // Add wires | Screwdriver the cover open
|
||||
#define STATE_WIRES 4 // Add glass | Remove wires
|
||||
#define STATE_GLASS 5 // Screwdriver to complete | Crowbar glass out
|
||||
|
||||
/obj/structure/computerframe
|
||||
name = "computer frame"
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
icon_state = "comp_frame_1"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
max_integrity = 100
|
||||
var/state = STATE_EMPTY
|
||||
var/obj/item/circuitboard/circuit = null
|
||||
|
||||
/obj/structure/computerframe/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
drop_computer_parts()
|
||||
return ..() // will qdel the frame
|
||||
|
||||
/obj/structure/computerframe/obj_break(damage_flag)
|
||||
deconstruct()
|
||||
|
||||
/obj/structure/computerframe/proc/drop_computer_parts()
|
||||
var/location = drop_location()
|
||||
new /obj/item/stack/sheet/metal(location, 5)
|
||||
if(circuit)
|
||||
circuit.forceMove(location)
|
||||
circuit = null
|
||||
if(state >= STATE_WIRES)
|
||||
var/obj/item/stack/cable_coil/C = new(location)
|
||||
C.amount = 5
|
||||
if(state == STATE_GLASS)
|
||||
new /obj/item/stack/sheet/glass(location, 2)
|
||||
|
||||
/obj/structure/computerframe/update_icon()
|
||||
. = ..()
|
||||
icon_state = "comp_frame_[state]"
|
||||
|
||||
/obj/structure/computerframe/welder_act(mob/user, obj/item/I)
|
||||
if(state)
|
||||
if(state != STATE_EMPTY)
|
||||
return
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
WELDER_ATTEMPT_SLICING_MESSAGE
|
||||
if(I.use_tool(src, user, 50, volume = I.tool_volume) && !state)
|
||||
to_chat(user, "<span class='notice'>You deconstruct [src].</span>")
|
||||
if(I.use_tool(src, user, 50, volume = I.tool_volume))
|
||||
WELDER_SLICING_SUCCESS_MESSAGE
|
||||
deconstruct(TRUE)
|
||||
|
||||
/obj/structure/computerframe/wrench_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
|
||||
return
|
||||
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='notice'>You unfasten the frame.</span>")
|
||||
anchored = FALSE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You wrench the frame into place.</span>")
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/computerframe/crowbar_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user))
|
||||
return
|
||||
|
||||
if(state == STATE_CIRCUIT)
|
||||
to_chat(user, "<span class='notice'>You remove the circuit board.</span>")
|
||||
state = STATE_EMPTY
|
||||
name = initial(name)
|
||||
circuit.forceMove(drop_location())
|
||||
circuit = null
|
||||
else if(state == STATE_GLASS)
|
||||
to_chat(user, "<span class='notice'>You remove the glass panel.</span>")
|
||||
state = STATE_WIRES
|
||||
new /obj/item/stack/sheet/glass(drop_location(), 2)
|
||||
else
|
||||
return
|
||||
|
||||
I.play_tool_sound(src)
|
||||
update_icon()
|
||||
|
||||
/obj/structure/computerframe/screwdriver_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user))
|
||||
return
|
||||
|
||||
switch(state)
|
||||
if(STATE_CIRCUIT)
|
||||
to_chat(user, "<span class='notice'>You screw the circuit board into place.</span>")
|
||||
state = STATE_NOWIRES
|
||||
I.play_tool_sound(src)
|
||||
update_icon()
|
||||
if(STATE_NOWIRES)
|
||||
to_chat(user, "<span class='notice'>You unfasten the circuit board.</span>")
|
||||
state = STATE_CIRCUIT
|
||||
I.play_tool_sound(src)
|
||||
update_icon()
|
||||
if(STATE_GLASS)
|
||||
to_chat(user, "<span class='notice'>You connect the monitor.</span>")
|
||||
I.play_tool_sound(src)
|
||||
var/B = new circuit.build_path(loc)
|
||||
if(istype(circuit, /obj/item/circuitboard/supplycomp))
|
||||
var/obj/machinery/computer/supplycomp/SC = B
|
||||
var/obj/item/circuitboard/supplycomp/C = circuit
|
||||
SC.can_order_contraband = C.contraband_enabled
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/computerframe/wirecutter_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user))
|
||||
return
|
||||
|
||||
if(state == STATE_WIRES)
|
||||
to_chat(user, "<span class='notice'>You remove the cables.</span>")
|
||||
var/obj/item/stack/cable_coil/C = new(drop_location())
|
||||
C.amount = 5
|
||||
state = STATE_NOWIRES
|
||||
I.play_tool_sound(src)
|
||||
update_icon()
|
||||
|
||||
/obj/structure/computerframe/attackby(obj/item/I, mob/user, params)
|
||||
switch(state)
|
||||
if(STATE_EMPTY)
|
||||
if(!istype(I, /obj/item/circuitboard))
|
||||
return ..()
|
||||
|
||||
var/obj/item/circuitboard/B = I
|
||||
if(B.board_type != "computer")
|
||||
to_chat(user, "<span class='warning'>[src] does not accept circuit boards of this type!</span>")
|
||||
return
|
||||
|
||||
B.play_tool_sound(src)
|
||||
to_chat(user, "<span class='notice'>You place [B] inside [src].</span>")
|
||||
name += " ([B.board_name])"
|
||||
state = STATE_CIRCUIT
|
||||
user.drop_item()
|
||||
B.forceMove(src)
|
||||
circuit = B
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(STATE_NOWIRES)
|
||||
if(!istype(I, /obj/item/stack/cable_coil))
|
||||
return ..()
|
||||
|
||||
var/obj/item/stack/cable_coil/C = I
|
||||
if(C.get_amount() < 5)
|
||||
to_chat(user, "<span class='warning'>You need five lengths of cable to wire the frame.</span>")
|
||||
return
|
||||
|
||||
C.play_tool_sound(src)
|
||||
to_chat(user, "<span class='notice'>You start to add cables to the frame.</span>")
|
||||
if(!do_after(user, 2 SECONDS * C.toolspeed, target = src))
|
||||
return
|
||||
if(C.get_amount() < 5 || !C.use(5))
|
||||
to_chat(user, "<span class='warning'>At some point during construction you lost some cable. Make sure you have five lengths before trying again.</span>")
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You add cables to the frame.</span>")
|
||||
state = STATE_WIRES
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(STATE_WIRES)
|
||||
if(!istype(I, /obj/item/stack/sheet/glass))
|
||||
return ..()
|
||||
|
||||
var/obj/item/stack/sheet/glass/G = I
|
||||
if(G.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two sheets of glass for this.</span>")
|
||||
return
|
||||
|
||||
G.play_tool_sound(src)
|
||||
to_chat(user, "<span class='notice'>You start to add the glass panel to the frame.</span>")
|
||||
if(!do_after(user, 2 SECONDS * G.toolspeed, target = src))
|
||||
return
|
||||
if(G.get_amount() < 2 || !G.use(2))
|
||||
to_chat(user, "<span class='warning'>At some point during construction you lost some glass. Make sure you have two sheets before trying again.</span>")
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You put in the glass panel.</span>")
|
||||
state = STATE_GLASS
|
||||
update_icon()
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
#undef STATE_EMPTY
|
||||
#undef STATE_CIRCUIT
|
||||
#undef STATE_NOWIRES
|
||||
#undef STATE_WIRES
|
||||
#undef STATE_GLASS
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
if(circuit) //no circuit, no computer frame
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe(loc)
|
||||
var/obj/item/circuitboard/M = new circuit(A)
|
||||
A.name += " ([M.board_name])"
|
||||
A.setDir(dir)
|
||||
A.circuit = M
|
||||
A.anchored = TRUE
|
||||
@@ -140,13 +141,12 @@
|
||||
playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
|
||||
new /obj/item/shard(drop_location())
|
||||
new /obj/item/shard(drop_location())
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
A.state = 4
|
||||
else
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>You disconnect the monitor.</span>")
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
A.state = 5
|
||||
A.update_icon()
|
||||
for(var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
name += " ([B.board_name])"
|
||||
icon_state = "box_2"
|
||||
state = 3
|
||||
components = list()
|
||||
@@ -133,6 +134,7 @@
|
||||
to_chat(user, "<span class='notice'>You remove the circuit board and other components.</span>")
|
||||
for(var/obj/item/I in components)
|
||||
I.loc = src.loc
|
||||
name = initial(name)
|
||||
desc = initial(desc)
|
||||
req_components = null
|
||||
components = null
|
||||
@@ -223,61 +225,58 @@ Note: Once everything is added to the public areas, will add MAT_METAL and MAT_G
|
||||
to destroy them and players will be able to make replacements.
|
||||
*/
|
||||
/obj/item/circuitboard/vendor
|
||||
name = "circuit board (Booze-O-Mat Vendor)"
|
||||
board_name = "Booze-O-Mat Vendor"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
build_path = /obj/machinery/vending/boozeomat
|
||||
req_components = list(/obj/item/vending_refill/boozeomat = 1)
|
||||
|
||||
var/static/list/vending_names_paths = list(
|
||||
/obj/machinery/vending/boozeomat = "Booze-O-Mat",
|
||||
/obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
|
||||
/obj/machinery/vending/snack = "Getmore Chocolate Corp",
|
||||
/obj/machinery/vending/chinese = "Mr. Chang",
|
||||
/obj/machinery/vending/cola = "Robust Softdrinks",
|
||||
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
|
||||
/obj/machinery/vending/hatdispenser = "Hatlord 9000",
|
||||
/obj/machinery/vending/suitdispenser = "Suitlord 9000",
|
||||
/obj/machinery/vending/shoedispenser = "Shoelord 9000",
|
||||
/obj/machinery/vending/autodrobe = "AutoDrobe",
|
||||
/obj/machinery/vending/clothing = "ClothesMate",
|
||||
/obj/machinery/vending/medical = "NanoMed Plus",
|
||||
/obj/machinery/vending/wallmed = "NanoMed",
|
||||
/obj/machinery/vending/assist = "Vendomat",
|
||||
/obj/machinery/vending/engivend = "Engi-Vend",
|
||||
/obj/machinery/vending/hydronutrients = "NutriMax",
|
||||
/obj/machinery/vending/hydroseeds = "MegaSeed Servitor",
|
||||
/obj/machinery/vending/sustenance = "Sustenance Vendor",
|
||||
/obj/machinery/vending/dinnerware = "Plasteel Chef's Dinnerware Vendor",
|
||||
/obj/machinery/vending/cart = "PTech",
|
||||
/obj/machinery/vending/robotics = "Robotech Deluxe",
|
||||
/obj/machinery/vending/engineering = "Robco Tool Maker",
|
||||
/obj/machinery/vending/sovietsoda = "BODA",
|
||||
/obj/machinery/vending/security = "SecTech",
|
||||
/obj/machinery/vending/crittercare = "CritterCare")
|
||||
"Booze-O-Mat" = /obj/machinery/vending/boozeomat,
|
||||
"Solar's Best Hot Drinks" = /obj/machinery/vending/coffee,
|
||||
"Getmore Chocolate Corp" = /obj/machinery/vending/snack,
|
||||
"Mr. Chang" = /obj/machinery/vending/chinese,
|
||||
"Robust Softdrinks" = /obj/machinery/vending/cola,
|
||||
"ShadyCigs Deluxe" = /obj/machinery/vending/cigarette,
|
||||
"Hatlord 9000" = /obj/machinery/vending/hatdispenser,
|
||||
"Suitlord 9000" = /obj/machinery/vending/suitdispenser,
|
||||
"Shoelord 9000" = /obj/machinery/vending/shoedispenser,
|
||||
"AutoDrobe" = /obj/machinery/vending/autodrobe,
|
||||
"ClothesMate" = /obj/machinery/vending/clothing,
|
||||
"NanoMed Plus" = /obj/machinery/vending/medical,
|
||||
"NanoMed" = /obj/machinery/vending/wallmed,
|
||||
"Vendomat" = /obj/machinery/vending/assist,
|
||||
"YouTool" = /obj/machinery/vending/tool,
|
||||
"Engi-Vend" = /obj/machinery/vending/engivend,
|
||||
"NutriMax" = /obj/machinery/vending/hydronutrients,
|
||||
"MegaSeed Servitor" = /obj/machinery/vending/hydroseeds,
|
||||
"Sustenance Vendor" = /obj/machinery/vending/sustenance,
|
||||
"Plasteel Chef's Dinnerware Vendor" = /obj/machinery/vending/dinnerware,
|
||||
"PTech" = /obj/machinery/vending/cart,
|
||||
"Robotech Deluxe" = /obj/machinery/vending/robotics,
|
||||
"Robco Tool Maker" = /obj/machinery/vending/engineering,
|
||||
"BODA" = /obj/machinery/vending/sovietsoda,
|
||||
"SecTech" = /obj/machinery/vending/security,
|
||||
"CritterCare" = /obj/machinery/vending/crittercare)
|
||||
|
||||
/obj/item/circuitboard/vendor/screwdriver_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
var/static/list/display_vending_names_paths
|
||||
if(!display_vending_names_paths)
|
||||
display_vending_names_paths = list()
|
||||
for(var/path in vending_names_paths)
|
||||
display_vending_names_paths[vending_names_paths[path]] = path
|
||||
var/choice = input(user, "Choose a new brand","Select an Item") as null|anything in display_vending_names_paths
|
||||
if(loc != user)
|
||||
to_chat(user, "<span class='notice'>You need to keep [src] in your hands while doing that!</span>")
|
||||
var/choice = input(user, "Choose a new brand", "Select an Item") as null|anything in vending_names_paths
|
||||
if(!choice)
|
||||
return
|
||||
set_type(display_vending_names_paths[choice])
|
||||
set_type(choice)
|
||||
|
||||
/obj/item/circuitboard/vendor/proc/set_type(obj/machinery/vending/typepath)
|
||||
/obj/item/circuitboard/vendor/proc/set_type(type)
|
||||
var/obj/machinery/vending/typepath = vending_names_paths[type]
|
||||
build_path = typepath
|
||||
name = "circuit board ([vending_names_paths[build_path]] Vendor)"
|
||||
board_name = "[type] Vendor"
|
||||
format_board_name()
|
||||
req_components = list(initial(typepath.refill_canister) = 1)
|
||||
|
||||
/obj/item/circuitboard/smes
|
||||
name = "circuit board (SMES)"
|
||||
board_name = "SMES"
|
||||
build_path = /obj/machinery/power/smes
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=3;engineering=3"
|
||||
@@ -287,7 +286,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/circuitboard/emitter
|
||||
name = "circuit board (Emitter)"
|
||||
board_name = "Emitter"
|
||||
build_path = /obj/machinery/power/emitter
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=4;engineering=4"
|
||||
@@ -296,7 +295,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/power_compressor
|
||||
name = "circuit board (Power Compressor)"
|
||||
board_name = "Power Compressor"
|
||||
build_path = /obj/machinery/power/compressor
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;powerstorage=4;engineering=4"
|
||||
@@ -305,7 +304,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 6)
|
||||
|
||||
/obj/item/circuitboard/power_turbine
|
||||
name = "circuit board (Power Turbine)"
|
||||
board_name = "Power Turbine"
|
||||
build_path = /obj/machinery/power/turbine
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;powerstorage=4;engineering=4"
|
||||
@@ -314,7 +313,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 6)
|
||||
|
||||
/obj/item/circuitboard/thermomachine
|
||||
name = "Thermomachine (Machine Board)"
|
||||
board_name = "Thermomachine"
|
||||
build_path = /obj/machinery/atmospherics/unary/thermomachine
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;plasmatech=3"
|
||||
@@ -325,14 +324,14 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/recharger
|
||||
name = "circuit board (Recharger)"
|
||||
board_name = "Recharger"
|
||||
build_path = /obj/machinery/recharger
|
||||
board_type = "machine"
|
||||
origin_tech = "powerstorage=3;materials=2"
|
||||
req_components = list(/obj/item/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/circuitboard/snow_machine
|
||||
name = "circuit board (snow machine)"
|
||||
board_name = "Snow Machine"
|
||||
build_path = /obj/machinery/snow_machine
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;materials=2"
|
||||
@@ -341,7 +340,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/item/circuitboard/biogenerator
|
||||
name = "circuit board (Biogenerator)"
|
||||
board_name = "Biogenerator"
|
||||
build_path = /obj/machinery/biogenerator
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;biotech=3;materials=3"
|
||||
@@ -352,7 +351,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/plantgenes
|
||||
name = "Plant DNA Manipulator (Machine Board)"
|
||||
board_name = "Plant DNA Manipulator"
|
||||
build_path = /obj/machinery/plantgenes
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
@@ -365,7 +364,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/circuitboard/plantgenes/vault
|
||||
|
||||
/obj/item/circuitboard/seed_extractor
|
||||
name = "circuit board (Seed Extractor)"
|
||||
board_name = "Seed Extractor"
|
||||
build_path = /obj/machinery/seed_extractor
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
@@ -374,7 +373,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/hydroponics
|
||||
name = "circuit board (Hydroponics Tray)"
|
||||
board_name = "Hydroponics Tray"
|
||||
build_path = /obj/machinery/hydroponics/constructable
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;biotech=2"
|
||||
@@ -384,7 +383,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/microwave
|
||||
name = "circuit board (Microwave)"
|
||||
board_name = "Microwave"
|
||||
build_path = /obj/machinery/kitchen_machine/microwave
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
@@ -394,7 +393,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/oven
|
||||
name = "circuit board (Oven)"
|
||||
board_name = "Oven"
|
||||
build_path = /obj/machinery/kitchen_machine/oven
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
@@ -404,7 +403,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/grill
|
||||
name = "circuit board (Grill)"
|
||||
board_name = "Grill"
|
||||
build_path = /obj/machinery/kitchen_machine/grill
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
@@ -414,7 +413,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/candy_maker
|
||||
name = "circuit board (Candy Maker)"
|
||||
board_name = "Candy Maker"
|
||||
build_path = /obj/machinery/kitchen_machine/candy_maker
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
@@ -424,7 +423,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/deepfryer
|
||||
name = "circuit board (Deep Fryer)"
|
||||
board_name = "Deep Fryer"
|
||||
build_path = /obj/machinery/cooker/deepfryer
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
@@ -433,7 +432,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
|
||||
/obj/item/circuitboard/gibber
|
||||
name = "circuit board (Gibber)"
|
||||
board_name = "Gibber"
|
||||
build_path = /obj/machinery/gibber
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
@@ -442,7 +441,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/tesla_coil
|
||||
name = "circuit board (Tesla Coil)"
|
||||
board_name = "Tesla Coil"
|
||||
build_path = /obj/machinery/power/tesla_coil
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;magnets=3;powerstorage=3"
|
||||
@@ -450,7 +449,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/circuitboard/grounding_rod
|
||||
name = "circuit board (Grounding Rod)"
|
||||
board_name = "Grounding Rod"
|
||||
build_path = /obj/machinery/power/grounding_rod
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=3;magnets=3;plasmatech=2"
|
||||
@@ -458,7 +457,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/circuitboard/processor
|
||||
name = "circuit board (Food processor)"
|
||||
board_name = "Food Processor"
|
||||
build_path = /obj/machinery/processor
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
@@ -467,7 +466,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/recycler
|
||||
name = "circuit board (Recycler)"
|
||||
board_name = "Recycler"
|
||||
build_path = /obj/machinery/recycler
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
@@ -476,51 +475,49 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/smartfridge
|
||||
name = "circuit board (Smartfridge)"
|
||||
board_name = "Smartfridge"
|
||||
build_path = /obj/machinery/smartfridge
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/matter_bin = 1)
|
||||
var/list/fridge_names_paths = list(
|
||||
"\improper SmartFridge" = /obj/machinery/smartfridge,
|
||||
"\improper MegaSeed Servitor" = /obj/machinery/smartfridge/seeds,
|
||||
"\improper Refrigerated Medicine Storage" = /obj/machinery/smartfridge/medbay,
|
||||
"\improper Slime Extract Storage" = /obj/machinery/smartfridge/secure/extract,
|
||||
"\improper Secure Refrigerated Medicine Storage" = /obj/machinery/smartfridge/secure/medbay,
|
||||
"\improper Smart Chemical Storage" = /obj/machinery/smartfridge/secure/chemistry,
|
||||
"smart virus storage" = /obj/machinery/smartfridge/secure/chemistry/virology,
|
||||
"\improper Drink Showcase" = /obj/machinery/smartfridge/drinks,
|
||||
"disk compartmentalizer" = /obj/machinery/smartfridge/disks
|
||||
)
|
||||
var/static/list/fridge_names_paths = list(
|
||||
"SmartFridge" = /obj/machinery/smartfridge,
|
||||
"MegaSeed Servitor" = /obj/machinery/smartfridge/seeds,
|
||||
"Refrigerated Medicine Storage" = /obj/machinery/smartfridge/medbay,
|
||||
"Slime Extract Storage" = /obj/machinery/smartfridge/secure/extract,
|
||||
"Secure Refrigerated Medicine Storage" = /obj/machinery/smartfridge/secure/medbay,
|
||||
"Smart Chemical Storage" = /obj/machinery/smartfridge/secure/chemistry,
|
||||
"Smart Virus Storage" = /obj/machinery/smartfridge/secure/chemistry/virology,
|
||||
"Drink Showcase" = /obj/machinery/smartfridge/drinks,
|
||||
"Disk Compartmentalizer" = /obj/machinery/smartfridge/disks)
|
||||
|
||||
|
||||
|
||||
/obj/item/circuitboard/smartfridge/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
set_type(null, user)
|
||||
/obj/item/circuitboard/smartfridge/screwdriver_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
return ..()
|
||||
var/choice = input(user, "Circuit Setting", "What would you change the board setting to?") as null|anything in fridge_names_paths
|
||||
if(!choice)
|
||||
return
|
||||
set_type(user, choice)
|
||||
|
||||
/obj/item/circuitboard/smartfridge/proc/set_type(typepath, mob/user)
|
||||
var/new_name = ""
|
||||
if(!typepath)
|
||||
new_name = input("Circuit Setting", "What would you change the board setting to?") in fridge_names_paths
|
||||
typepath = fridge_names_paths[new_name]
|
||||
/obj/item/circuitboard/smartfridge/proc/set_type(mob/user, type)
|
||||
if(!ispath(type))
|
||||
board_name = type
|
||||
type = fridge_names_paths[type]
|
||||
else
|
||||
for(var/name in fridge_names_paths)
|
||||
if(fridge_names_paths[name] == typepath)
|
||||
new_name = name
|
||||
if(fridge_names_paths[name] == type)
|
||||
board_name = name
|
||||
break
|
||||
build_path = typepath
|
||||
name = new_name
|
||||
if(findtextEx(new_name, "\improper"))
|
||||
new_name = replacetext(new_name, "\improper", "")
|
||||
build_path = type
|
||||
format_board_name()
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>You set the board to [new_name].</span>")
|
||||
to_chat(user, "<span class='notice'>You set the board to [board_name].</span>")
|
||||
|
||||
/obj/item/circuitboard/monkey_recycler
|
||||
name = "circuit board (Monkey Recycler)"
|
||||
board_name = "Monkey Recycler"
|
||||
build_path = /obj/machinery/monkey_recycler
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;biotech=2"
|
||||
@@ -529,7 +526,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/holopad
|
||||
name = "circuit board (AI Holopad)"
|
||||
board_name = "AI Holopad"
|
||||
build_path = /obj/machinery/hologram/holopad
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
@@ -537,7 +534,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/circuitboard/chem_dispenser
|
||||
name = "circuit board (Chem Dispenser)"
|
||||
board_name = "Chem Dispenser"
|
||||
build_path = /obj/machinery/chem_dispenser
|
||||
board_type = "machine"
|
||||
origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3"
|
||||
@@ -548,7 +545,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/cell = 1)
|
||||
|
||||
/obj/item/circuitboard/chem_master
|
||||
name = "circuit board (ChemMaster 3000)"
|
||||
board_name = "ChemMaster 3000"
|
||||
build_path = /obj/machinery/chem_master
|
||||
board_type = "machine"
|
||||
origin_tech = "materials=3;programming=2;biotech=3"
|
||||
@@ -573,11 +570,11 @@ to destroy them and players will be able to make replacements.
|
||||
to_chat(user, "<span class='notice'>You change the circuit board setting to \"[new_name]\".</span>")
|
||||
|
||||
/obj/item/circuitboard/chem_master/condi_master
|
||||
name = "circuit board (CondiMaster 3000)"
|
||||
board_name = "CondiMaster 3000"
|
||||
build_path = /obj/machinery/chem_master/condimaster
|
||||
|
||||
/obj/item/circuitboard/chem_heater
|
||||
name = "circuit board (Chemical Heater)"
|
||||
board_name = "Chemical Heater"
|
||||
build_path = /obj/machinery/chem_heater
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2;biotech=2"
|
||||
@@ -586,7 +583,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/reagentgrinder
|
||||
name = "circuit board (All-In-One Grinder)"
|
||||
board_name = "All-In-One Grinder"
|
||||
build_path = /obj/machinery/reagentgrinder/empty
|
||||
board_type = "machine"
|
||||
origin_tech = "materials=2;engineering=2;biotech=2"
|
||||
@@ -596,7 +593,7 @@ to destroy them and players will be able to make replacements.
|
||||
|
||||
//Almost the same recipe as destructive analyzer to give people choices.
|
||||
/obj/item/circuitboard/experimentor
|
||||
name = "circuit board (E.X.P.E.R.I-MENTOR)"
|
||||
board_name = "E.X.P.E.R.I-MENTOR"
|
||||
build_path = /obj/machinery/r_n_d/experimentor
|
||||
board_type = "machine"
|
||||
origin_tech = "magnets=1;engineering=1;programming=1;biotech=1;bluespace=2"
|
||||
@@ -606,7 +603,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/micro_laser = 2)
|
||||
|
||||
/obj/item/circuitboard/destructive_analyzer
|
||||
name = "Circuit board (Destructive Analyzer)"
|
||||
board_name = "Destructive Analyzer"
|
||||
build_path = /obj/machinery/r_n_d/destructive_analyzer
|
||||
board_type = "machine"
|
||||
origin_tech = "magnets=2;engineering=2;programming=2"
|
||||
@@ -616,7 +613,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/item/circuitboard/autolathe
|
||||
name = "Circuit board (Autolathe)"
|
||||
board_name = "Autolathe"
|
||||
build_path = /obj/machinery/autolathe
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
@@ -630,7 +627,7 @@ to destroy them and players will be able to make replacements.
|
||||
build_path = /obj/machinery/autolathe/syndicate
|
||||
|
||||
/obj/item/circuitboard/protolathe
|
||||
name = "Circuit board (Protolathe)"
|
||||
board_name = "Protolathe"
|
||||
build_path = /obj/machinery/r_n_d/protolathe
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
@@ -640,15 +637,15 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/reagent_containers/glass/beaker = 2)
|
||||
|
||||
/obj/item/circuitboard/chem_dispenser/soda
|
||||
name = "Circuit board (Soda Machine)"
|
||||
board_name = "Soda Machine"
|
||||
build_path = /obj/machinery/chem_dispenser/soda
|
||||
|
||||
/obj/item/circuitboard/chem_dispenser/beer
|
||||
name = "Circuit board (Beer Machine)"
|
||||
board_name = "Beer Machine"
|
||||
build_path = /obj/machinery/chem_dispenser/beer
|
||||
|
||||
/obj/item/circuitboard/circuit_imprinter
|
||||
name = "Circuit board (Circuit Imprinter)"
|
||||
board_name = "Circuit Imprinter"
|
||||
build_path = /obj/machinery/r_n_d/circuit_imprinter
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
@@ -658,7 +655,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/reagent_containers/glass/beaker = 2)
|
||||
|
||||
/obj/item/circuitboard/pacman
|
||||
name = "Circuit Board (PACMAN-type Generator)"
|
||||
board_name = "PACMAN-type Generator"
|
||||
build_path = /obj/machinery/power/port_gen/pacman
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;powerstorage=3;plasmatech=3;engineering=3"
|
||||
@@ -669,17 +666,17 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/circuitboard/pacman/super
|
||||
name = "Circuit Board (SUPERPACMAN-type Generator)"
|
||||
board_name = "SUPERPACMAN-type Generator"
|
||||
build_path = /obj/machinery/power/port_gen/pacman/super
|
||||
origin_tech = "programming=3;powerstorage=4;engineering=4"
|
||||
|
||||
/obj/item/circuitboard/pacman/mrs
|
||||
name = "Circuit Board (MRSPACMAN-type Generator)"
|
||||
board_name = "MRSPACMAN-type Generator"
|
||||
build_path = /obj/machinery/power/port_gen/pacman/mrs
|
||||
origin_tech = "programming=3;powerstorage=4;engineering=4;plasmatech=4"
|
||||
|
||||
/obj/item/circuitboard/rdserver
|
||||
name = "Circuit Board (R&D Server)"
|
||||
board_name = "R&D Server"
|
||||
build_path = /obj/machinery/r_n_d/server
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3"
|
||||
@@ -688,7 +685,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/scanning_module = 1)
|
||||
|
||||
/obj/item/circuitboard/mechfab
|
||||
name = "Circuit board (Exosuit Fabricator)"
|
||||
board_name = "Exosuit Fabricator"
|
||||
build_path = /obj/machinery/mecha_part_fabricator
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
@@ -699,7 +696,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/podfab
|
||||
name = "Circuit board (Spacepod Fabricator)"
|
||||
board_name = "Spacepod Fabricator"
|
||||
build_path = /obj/machinery/mecha_part_fabricator/spacepod
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
@@ -711,7 +708,7 @@ to destroy them and players will be able to make replacements.
|
||||
|
||||
|
||||
/obj/item/circuitboard/clonepod
|
||||
name = "Circuit board (Clone Pod)"
|
||||
board_name = "Clone Pod"
|
||||
build_path = /obj/machinery/clonepod
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
@@ -722,7 +719,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/clonescanner
|
||||
name = "Circuit board (Cloning Scanner)"
|
||||
board_name = "Cloning Scanner"
|
||||
build_path = /obj/machinery/dna_scannernew
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
@@ -734,7 +731,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/cable_coil = 2,)
|
||||
|
||||
/obj/item/circuitboard/mech_recharger
|
||||
name = "circuit board (Mech Bay Recharger)"
|
||||
board_name = "Mech Bay Recharger"
|
||||
build_path = /obj/machinery/mech_bay_recharge_port
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=3;engineering=3"
|
||||
@@ -743,7 +740,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/capacitor = 5)
|
||||
|
||||
/obj/item/circuitboard/teleporter_hub
|
||||
name = "circuit board (Teleporter Hub)"
|
||||
board_name = "Teleporter Hub"
|
||||
build_path = /obj/machinery/teleport/hub
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
|
||||
@@ -752,7 +749,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/matter_bin = 1)
|
||||
|
||||
/obj/item/circuitboard/teleporter_station
|
||||
name = "circuit board (Teleporter Station)"
|
||||
board_name = "Teleporter Station"
|
||||
build_path = /obj/machinery/teleport/station
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
|
||||
@@ -762,7 +759,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/teleporter_perma
|
||||
name = "circuit board (Permanent Teleporter)"
|
||||
board_name = "Permanent Teleporter"
|
||||
build_path = /obj/machinery/teleport/perma
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
|
||||
@@ -781,7 +778,7 @@ to destroy them and players will be able to make replacements.
|
||||
return ..()
|
||||
|
||||
/obj/item/circuitboard/telesci_pad
|
||||
name = "Circuit board (Telepad)"
|
||||
board_name = "Telepad"
|
||||
build_path = /obj/machinery/telepad
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;engineering=3;plasmatech=4;bluespace=4"
|
||||
@@ -792,7 +789,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/quantumpad
|
||||
name = "circuit board (Quantum Pad)"
|
||||
board_name = "Quantum Pad"
|
||||
build_path = /obj/machinery/quantumpad
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=3;plasmatech=3;bluespace=4"
|
||||
@@ -803,7 +800,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/cable_coil = 1)
|
||||
|
||||
/obj/item/circuitboard/sleeper
|
||||
name = "circuit board (Sleeper)"
|
||||
board_name = "Sleeper"
|
||||
build_path = /obj/machinery/sleeper
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=2;engineering=3"
|
||||
@@ -814,16 +811,16 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 2)
|
||||
|
||||
/obj/item/circuitboard/sleeper/syndicate
|
||||
name = "circuit board (Sleeper Syndicate)"
|
||||
board_name = "Sleeper - Syndicate"
|
||||
build_path = /obj/machinery/sleeper/syndie
|
||||
|
||||
/obj/item/circuitboard/sleeper/survival
|
||||
name = "circuit board (Sleeper Survival Pod)"
|
||||
board_name = "Sleeper - Survival Pod"
|
||||
build_path = /obj/machinery/sleeper/survival_pod
|
||||
|
||||
|
||||
/obj/item/circuitboard/bodyscanner
|
||||
name = "circuit board (Body Scanner)"
|
||||
board_name = "Body Scanner"
|
||||
build_path = /obj/machinery/bodyscanner
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=2;engineering=3"
|
||||
@@ -833,7 +830,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 2)
|
||||
|
||||
/obj/item/circuitboard/cryo_tube
|
||||
name = "circuit board (Cryotube)"
|
||||
board_name = "Cryotube"
|
||||
build_path = /obj/machinery/atmospherics/unary/cryo_cell
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;biotech=3;engineering=4;plasmatech=3"
|
||||
@@ -843,7 +840,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 4)
|
||||
|
||||
/obj/item/circuitboard/cyborgrecharger
|
||||
name = "circuit board (Cyborg Recharger)"
|
||||
board_name = "Cyborg Recharger"
|
||||
build_path = /obj/machinery/recharge_station
|
||||
board_type = "machine"
|
||||
origin_tech = "powerstorage=3;engineering=3"
|
||||
@@ -854,21 +851,22 @@ to destroy them and players will be able to make replacements.
|
||||
|
||||
// Telecomms circuit boards:
|
||||
/obj/item/circuitboard/tcomms/relay
|
||||
name = "Circuit Board (Telecommunications Relay)"
|
||||
board_name = "Telecommunications Relay"
|
||||
build_path = /obj/machinery/tcomms/relay
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2;bluespace=2"
|
||||
req_components = list(/obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/circuitboard/tcomms/core
|
||||
name = "Circuit Board (Telecommunications Core)"
|
||||
board_name = "Telecommunications Core"
|
||||
build_path = /obj/machinery/tcomms/core
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(/obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 2)
|
||||
// End telecomms circuit boards
|
||||
|
||||
/obj/item/circuitboard/ore_redemption
|
||||
name = "circuit board (Ore Redemption)"
|
||||
board_name = "Ore Redemption"
|
||||
build_path = /obj/machinery/mineral/ore_redemption
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;engineering=2"
|
||||
@@ -880,15 +878,15 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/assembly/igniter = 1)
|
||||
|
||||
/obj/item/circuitboard/ore_redemption/golem
|
||||
name = "circuit board (Golem Ore Redemption)"
|
||||
board_name = "Ore Redemption - Golem"
|
||||
build_path = /obj/machinery/mineral/ore_redemption/golem
|
||||
|
||||
/obj/item/circuitboard/ore_redemption/labor
|
||||
name = "circuit board (Labor Ore Redemption)"
|
||||
board_name = "Ore Redemption - Labour"
|
||||
build_path = /obj/machinery/mineral/ore_redemption/labor
|
||||
|
||||
/obj/item/circuitboard/mining_equipment_vendor
|
||||
name = "circuit board (Mining Equipment Vendor)"
|
||||
board_name = "Mining Equipment Vendor"
|
||||
build_path = /obj/machinery/mineral/equipment_vendor
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;engineering=3"
|
||||
@@ -897,15 +895,15 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stock_parts/matter_bin = 3)
|
||||
|
||||
/obj/item/circuitboard/mining_equipment_vendor/golem
|
||||
name = "circuit board (Mining Equipment Vendor)"
|
||||
board_name = "Golem Equipment Vendor"
|
||||
build_path = /obj/machinery/mineral/equipment_vendor/golem
|
||||
|
||||
/obj/item/circuitboard/mining_equipment_vendor/labor
|
||||
name = "circuit board (Labor Equipment Vendor)"
|
||||
board_name = "Labour Equipment Vendor"
|
||||
build_path = /obj/machinery/mineral/equipment_vendor/labor
|
||||
|
||||
/obj/item/circuitboard/clawgame
|
||||
name = "circuit board (Claw Game)"
|
||||
board_name = "Claw Game"
|
||||
build_path = /obj/machinery/arcade/claw
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
@@ -916,7 +914,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/item/circuitboard/prize_counter
|
||||
name = "circuit board (Prize Counter)"
|
||||
board_name = "Prize Counter"
|
||||
build_path = /obj/machinery/prize_counter
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
@@ -927,7 +925,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/stack/cable_coil = 1)
|
||||
|
||||
/obj/item/circuitboard/gameboard
|
||||
name = "circuit board (Virtual Gameboard)"
|
||||
board_name = "Virtual Gameboard"
|
||||
build_path = /obj/machinery/gameboard
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
|
||||
@@ -170,12 +170,12 @@
|
||||
dispense_item(I)
|
||||
|
||||
/obj/item/circuitboard/cryopodcontrol
|
||||
name = "Circuit board (Cryogenic Oversight Console)"
|
||||
board_name = "Cryogenic Oversight Console"
|
||||
build_path = "/obj/machinery/computer/cryopod"
|
||||
origin_tech = "programming=1"
|
||||
|
||||
/obj/item/circuitboard/robotstoragecontrol
|
||||
name = "Circuit board (Robotic Storage Console)"
|
||||
board_name = "Robotic Storage Console"
|
||||
build_path = "/obj/machinery/computer/cryopod/robot"
|
||||
origin_tech = "programming=1"
|
||||
|
||||
|
||||
+20
-205
@@ -101,16 +101,24 @@
|
||||
var/force_no_power_icon_state = FALSE
|
||||
|
||||
/obj/machinery/vending/Initialize(mapload)
|
||||
. = ..()
|
||||
var/build_inv = FALSE
|
||||
if(!refill_canister)
|
||||
build_inv = TRUE
|
||||
. = ..()
|
||||
else
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new
|
||||
V.set_type(replacetext(name, "\improper", ""))
|
||||
component_parts += V
|
||||
component_parts += new refill_canister
|
||||
RefreshParts()
|
||||
|
||||
wires = new(src)
|
||||
if(build_inv) //non-constructable vending machine
|
||||
build_inventory(products, product_records)
|
||||
build_inventory(contraband, hidden_records)
|
||||
build_inventory(premium, coin_records)
|
||||
for (var/datum/data/vending_product/R in (product_records + coin_records + hidden_records))
|
||||
for(var/datum/data/vending_product/R in (product_records + coin_records + hidden_records))
|
||||
var/obj/item/I = R.product_path
|
||||
var/pp = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-")
|
||||
imagelist[pp] = "[icon2base64(icon(initial(I.icon), initial(I.icon_state)))]"
|
||||
@@ -887,14 +895,6 @@
|
||||
ads_list = list("Only the finest!","Have some tools.","The most robust equipment.","The finest gear in space!")
|
||||
refill_canister = /obj/item/vending_refill/assist
|
||||
|
||||
/obj/machinery/vending/assist/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/assist(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/boozeomat
|
||||
name = "\improper Booze-O-Mat"
|
||||
@@ -934,15 +934,6 @@
|
||||
/obj/machinery/vending/boozeomat/syndicate_access
|
||||
req_access = list(ACCESS_SYNDICATE)
|
||||
|
||||
/obj/machinery/vending/boozeomat/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/boozeomat(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/vending/coffee
|
||||
name = "\improper Hot Drinks machine"
|
||||
@@ -964,15 +955,6 @@
|
||||
/obj/machinery/vending/coffee/free
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/coffee/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/coffee(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/coffee/item_slot_check(mob/user, obj/item/I)
|
||||
if(!(istype(I, /obj/item/reagent_containers/glass) || istype(I, /obj/item/reagent_containers/food/drinks)))
|
||||
return FALSE
|
||||
@@ -1029,14 +1011,6 @@
|
||||
/obj/machinery/vending/snack/free
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/snack/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/snack(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/chinese
|
||||
name = "\improper Mr. Chang"
|
||||
@@ -1052,14 +1026,6 @@
|
||||
/obj/machinery/vending/chinese/free
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/chinese/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/chinese(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/cola
|
||||
name = "\improper Robust Softdrinks"
|
||||
@@ -1079,15 +1045,6 @@
|
||||
/obj/machinery/vending/cola/free
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/cola/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/cola(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/vending/cart
|
||||
name = "\improper PTech"
|
||||
@@ -1107,14 +1064,6 @@
|
||||
/obj/machinery/vending/cart/free
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/cart/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/cart(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/liberationstation
|
||||
name = "\improper Liberation Station"
|
||||
@@ -1161,6 +1110,7 @@
|
||||
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
|
||||
/obj/machinery/vending/cigarette
|
||||
name = "cigarette machine"
|
||||
desc = "If you want to get cancer, might as well do it in style."
|
||||
@@ -1190,6 +1140,7 @@
|
||||
/obj/machinery/vending/cigarette/syndicate/free
|
||||
prices = list()
|
||||
|
||||
|
||||
/obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin
|
||||
name = "\improper ShadyCigs Ultra"
|
||||
desc = "Now with extra premium products!"
|
||||
@@ -1208,14 +1159,6 @@
|
||||
/obj/item/lighter/zippo = 3)
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/cigarette/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/cigarette(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/medical
|
||||
name = "\improper NanoMed Plus"
|
||||
@@ -1242,14 +1185,6 @@
|
||||
name = "\improper SyndiMed Plus"
|
||||
req_access = list(ACCESS_SYNDICATE)
|
||||
|
||||
/obj/machinery/vending/medical/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/medical(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/plasmaresearch
|
||||
name = "\improper Toximate 3000"
|
||||
@@ -1258,6 +1193,7 @@
|
||||
/obj/item/wirecutters = 1, /obj/item/assembly/timer = 8)
|
||||
contraband = list(/obj/item/flashlight = 5, /obj/item/assembly/voice = 3, /obj/item/assembly/health = 3, /obj/item/assembly/infra = 3)
|
||||
|
||||
|
||||
/obj/machinery/vending/wallmed
|
||||
name = "\improper NanoMed"
|
||||
desc = "Wall-mounted Medical Equipment dispenser."
|
||||
@@ -1271,14 +1207,6 @@
|
||||
resistance_flags = FIRE_PROOF
|
||||
refill_canister = /obj/item/vending_refill/wallmed
|
||||
|
||||
/obj/machinery/vending/wallmed/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/wallmed(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/wallmed/syndicate
|
||||
name = "\improper SyndiMed Plus"
|
||||
@@ -1290,6 +1218,7 @@
|
||||
products = list(/obj/item/stack/medical/bruise_pack = 2,/obj/item/stack/medical/ointment = 2,/obj/item/reagent_containers/hypospray/autoinjector = 4,/obj/item/healthanalyzer = 1)
|
||||
contraband = list(/obj/item/reagent_containers/syringe/charcoal = 4,/obj/item/reagent_containers/syringe/antiviral = 4,/obj/item/reagent_containers/food/pill/tox = 1)
|
||||
|
||||
|
||||
/obj/machinery/vending/security
|
||||
name = "\improper SecTech"
|
||||
desc = "A security equipment vendor."
|
||||
@@ -1303,14 +1232,6 @@
|
||||
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/storage/fancy/donut_box = 2,/obj/item/hailer = 5)
|
||||
refill_canister = /obj/item/vending_refill/security
|
||||
|
||||
/obj/machinery/vending/security/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/security(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/hydronutrients
|
||||
name = "\improper NutriMax"
|
||||
@@ -1324,14 +1245,6 @@
|
||||
contraband = list(/obj/item/reagent_containers/glass/bottle/ammonia = 10,/obj/item/reagent_containers/glass/bottle/diethylamine = 5)
|
||||
refill_canister = /obj/item/vending_refill/hydronutrients
|
||||
|
||||
/obj/machinery/vending/hydronutrients/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/hydronutrients(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/hydroseeds
|
||||
name = "\improper MegaSeed Servitor"
|
||||
@@ -1394,14 +1307,6 @@
|
||||
premium = list(/obj/item/reagent_containers/spray/waterflower = 1)
|
||||
refill_canister = /obj/item/vending_refill/hydroseeds
|
||||
|
||||
/obj/machinery/vending/hydroseeds/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/hydroseeds(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/magivend
|
||||
name = "\improper MagiVend"
|
||||
@@ -1429,6 +1334,7 @@
|
||||
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
|
||||
/obj/machinery/vending/autodrobe
|
||||
name = "\improper AutoDrobe"
|
||||
desc = "A vending machine for costumes."
|
||||
@@ -1564,14 +1470,6 @@
|
||||
/obj/item/clothing/head/cuban_hat = 1)
|
||||
refill_canister = /obj/item/vending_refill/autodrobe
|
||||
|
||||
/obj/machinery/vending/autodrobe/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/autodrobe(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/dinnerware
|
||||
name = "\improper Plasteel Chef's Dinnerware Vendor"
|
||||
@@ -1602,14 +1500,6 @@
|
||||
contraband = list(/obj/item/kitchen/rollingpin = 2, /obj/item/kitchen/knife/butcher = 2)
|
||||
refill_canister = /obj/item/vending_refill/dinnerware
|
||||
|
||||
/obj/machinery/vending/dinnerware/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/dinnerware(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/sovietsoda
|
||||
name = "\improper BODA"
|
||||
@@ -1621,14 +1511,6 @@
|
||||
resistance_flags = FIRE_PROOF
|
||||
refill_canister = /obj/item/vending_refill/sovietsoda
|
||||
|
||||
/obj/machinery/vending/sovietsoda/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/sovietsoda(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/tool
|
||||
name = "\improper YouTool"
|
||||
@@ -1639,9 +1521,11 @@
|
||||
/obj/item/wrench = 5,/obj/item/analyzer = 5,/obj/item/t_scanner = 5,/obj/item/screwdriver = 5)
|
||||
contraband = list(/obj/item/weldingtool/hugetank = 2,/obj/item/clothing/gloves/color/fyellow = 2)
|
||||
premium = list(/obj/item/clothing/gloves/color/yellow = 1)
|
||||
refill_canister = /obj/item/vending_refill/youtool
|
||||
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
|
||||
/obj/machinery/vending/engivend
|
||||
name = "\improper Engi-Vend"
|
||||
desc = "Spare tool vending. What? Did you expect some witty description?"
|
||||
@@ -1653,14 +1537,6 @@
|
||||
premium = list(/obj/item/storage/belt/utility = 3)
|
||||
refill_canister = /obj/item/vending_refill/engivend
|
||||
|
||||
/obj/machinery/vending/engivend/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/engivend(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/engineering
|
||||
name = "\improper Robco Tool Maker"
|
||||
@@ -1676,14 +1552,6 @@
|
||||
/obj/item/stock_parts/matter_bin = 5,/obj/item/stock_parts/manipulator = 5)
|
||||
refill_canister = /obj/item/vending_refill/engineering
|
||||
|
||||
/obj/machinery/vending/engineering/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/engineering(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/robotics
|
||||
name = "\improper Robotech Deluxe"
|
||||
@@ -1697,14 +1565,6 @@
|
||||
/obj/item/screwdriver = 5,/obj/item/crowbar = 5)
|
||||
refill_canister = /obj/item/vending_refill/robotics
|
||||
|
||||
/obj/machinery/vending/robotics/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/robotics(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/sustenance
|
||||
name = "\improper Sustenance Vendor"
|
||||
@@ -1721,14 +1581,6 @@
|
||||
/obj/item/clothing/mask/breath = 6)
|
||||
refill_canister = /obj/item/vending_refill/sustenance
|
||||
|
||||
/obj/machinery/vending/sustenance/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/sustenance(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/hatdispenser
|
||||
name = "\improper Hatlord 9000"
|
||||
@@ -1745,14 +1597,6 @@
|
||||
premium = list(/obj/item/clothing/head/soft/rainbow = 1)
|
||||
refill_canister = /obj/item/vending_refill/hatdispenser
|
||||
|
||||
/obj/machinery/vending/hatdispenser/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/hatdispenser(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/suitdispenser
|
||||
name = "\improper Suitlord 9000"
|
||||
@@ -1766,14 +1610,6 @@
|
||||
premium = list(/obj/item/clothing/under/rainbow = 1)
|
||||
refill_canister = /obj/item/vending_refill/suitdispenser
|
||||
|
||||
/obj/machinery/vending/suitdispenser/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/suitdispenser(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/shoedispenser
|
||||
name = "\improper Shoelord 9000"
|
||||
@@ -1785,14 +1621,6 @@
|
||||
premium = list(/obj/item/clothing/shoes/rainbow = 1)
|
||||
refill_canister = /obj/item/vending_refill/shoedispenser
|
||||
|
||||
/obj/machinery/vending/shoedispenser/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/shoedispenser(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/syndicigs
|
||||
name = "\improper Suspicious Cigarette Machine"
|
||||
@@ -1803,6 +1631,7 @@
|
||||
icon_state = "cigs"
|
||||
products = list(/obj/item/storage/fancy/cigarettes/syndicate = 10,/obj/item/lighter/random = 5)
|
||||
|
||||
|
||||
/obj/machinery/vending/syndisnack
|
||||
name = "\improper Getmore Chocolate Corp"
|
||||
desc = "A modified snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars"
|
||||
@@ -1812,6 +1641,7 @@
|
||||
products = list(/obj/item/reagent_containers/food/snacks/chips =6,/obj/item/reagent_containers/food/snacks/sosjerky = 6,
|
||||
/obj/item/reagent_containers/food/snacks/syndicake = 6, /obj/item/reagent_containers/food/snacks/cheesiehonkers = 6)
|
||||
|
||||
|
||||
//don't forget to change the refill size if you change the machine's contents!
|
||||
/obj/machinery/vending/clothing
|
||||
name = "\improper ClothesMate" //renamed to make the slogan rhyme
|
||||
@@ -1907,14 +1737,6 @@
|
||||
|
||||
refill_canister = /obj/item/vending_refill/clothing
|
||||
|
||||
/obj/machinery/vending/clothing/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/clothing(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/vending/artvend
|
||||
name = "\improper ArtVend"
|
||||
@@ -1931,6 +1753,7 @@
|
||||
contraband = list(/obj/item/toy/crayon/mime = 1,/obj/item/toy/crayon/rainbow = 1)
|
||||
premium = list(/obj/item/poster/random_contraband = 5)
|
||||
|
||||
|
||||
/obj/machinery/vending/crittercare
|
||||
name = "\improper CritterCare"
|
||||
desc = "A vending machine for pet supplies."
|
||||
@@ -1955,11 +1778,3 @@
|
||||
/obj/machinery/vending/crittercare/free
|
||||
prices = list()
|
||||
|
||||
/obj/machinery/vending/crittercare/Initialize(mapload)
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/vending_refill/crittercare(null)
|
||||
RefreshParts()
|
||||
return ..()
|
||||
|
||||
@@ -347,117 +347,121 @@
|
||||
///////// Circuitboards
|
||||
|
||||
/obj/item/circuitboard/mecha
|
||||
name = "Exosuit Circuit board"
|
||||
icon = 'icons/obj/module.dmi'
|
||||
icon_state = "std_mod"
|
||||
item_state = "electronic"
|
||||
board_type = "other"
|
||||
flags = CONDUCT
|
||||
force = 5.0
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
force = 5
|
||||
throwforce = 5
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
|
||||
|
||||
/obj/item/circuitboard/mecha/ripley
|
||||
origin_tech = "programming=2"
|
||||
|
||||
/obj/item/circuitboard/mecha/ripley/main
|
||||
board_name = "Ripley Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/ripley/peripherals
|
||||
name = "Circuit board (Ripley Peripherals Control module)"
|
||||
board_name = "Ripley Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/ripley/main
|
||||
name = "Circuit board (Ripley Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/gygax
|
||||
origin_tech = "programming=4;combat=3;engineering=3"
|
||||
|
||||
/obj/item/circuitboard/mecha/gygax/main
|
||||
board_name = "Gygax Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/gygax/peripherals
|
||||
name = "Circuit board (Gygax Peripherals Control module)"
|
||||
board_name = "Gygax Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/gygax/targeting
|
||||
name = "Circuit board (Gygax Weapon Control and Targeting module)"
|
||||
board_name = "Gygax Weapon Control and Targeting Module"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
|
||||
/obj/item/circuitboard/mecha/gygax/main
|
||||
name = "Circuit board (Gygax Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/durand
|
||||
origin_tech = "programming=4;combat=3;engineering=3"
|
||||
|
||||
/obj/item/circuitboard/mecha/durand/main
|
||||
board_name = "Durand Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/durand/peripherals
|
||||
name = "Circuit board (Durand Peripherals Control module)"
|
||||
board_name = "Durand Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/durand/targeting
|
||||
name = "Circuit board (Durand Weapon Control and Targeting module)"
|
||||
board_name = "Durand Weapon Control and Targeting Module"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4;engineering=3"
|
||||
|
||||
/obj/item/circuitboard/mecha/durand/main
|
||||
name = "Circuit board (Durand Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/phazon
|
||||
origin_tech = "programming=5;plasmatech=4"
|
||||
|
||||
/obj/item/circuitboard/mecha/phazon/main
|
||||
board_name = "Phazon Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/phazon/peripherals
|
||||
name = "Circuit board (Phazon Peripherals Control module)"
|
||||
board_name = "Phazon Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/phazon/targeting
|
||||
name = "Circuit board (Phazon Weapon Control and Targeting module)"
|
||||
board_name = "Phazon Weapon Control and Targeting Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/phazon/main
|
||||
name = "Circuit board (Phazon Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/honker
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
|
||||
/obj/item/circuitboard/mecha/honker/main
|
||||
board_name = "H.O.N.K Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/honker/peripherals
|
||||
name = "Circuit board (H.O.N.K Peripherals Control module)"
|
||||
board_name = "H.O.N.K Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/honker/targeting
|
||||
name = "Circuit board (H.O.N.K Weapon Control and Targeting module)"
|
||||
board_name = "H.O.N.K Weapon Control and Targeting Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/honker/main
|
||||
name = "Circuit board (H.O.N.K Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/reticence
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
|
||||
/obj/item/circuitboard/mecha/reticence/main
|
||||
board_name = "Reticence Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/reticence/peripherals
|
||||
name = "circuit board (Reticence Peripherals Control module)"
|
||||
board_name = "Reticence Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/reticence/targeting
|
||||
name = "circuit board (Reticence Weapon Control and Targeting module)"
|
||||
board_name = "Reticence Weapon Control and Targeting Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/reticence/main
|
||||
name = "circuit board (Reticence Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/odysseus
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
|
||||
/obj/item/circuitboard/mecha/odysseus/main
|
||||
board_name = "Odysseus Central Control Module"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/odysseus/peripherals
|
||||
name = "Circuit board (Odysseus Peripherals Control module)"
|
||||
board_name = "Odysseus Peripherals Control Module"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/circuitboard/mecha/odysseus/main
|
||||
name = "Circuit board (Odysseus Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/circuitboard/mecha/pod
|
||||
name = "Circuit board (Space Pod Mainboard)"
|
||||
board_name = "Space Pod Mainboard"
|
||||
icon_state = "mainboard"
|
||||
|
||||
@@ -114,6 +114,10 @@
|
||||
machine_name = "Robco Tool Maker"
|
||||
icon_state = "refill_engi"
|
||||
|
||||
/obj/item/vending_refill/youtool
|
||||
machine_name = "YouTool"
|
||||
icon_state = "refill_engi"
|
||||
|
||||
/obj/item/vending_refill/engivend
|
||||
machine_name = "Engi-Vend"
|
||||
icon_state = "refill_engi"
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
// Components
|
||||
component_parts = list()
|
||||
var/obj/item/circuitboard/smartfridge/board = new(null)
|
||||
board.set_type(type)
|
||||
board.set_type(null, type)
|
||||
component_parts += board
|
||||
component_parts += new /obj/item/stock_parts/matter_bin(null)
|
||||
RefreshParts()
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
product_cost = cost
|
||||
|
||||
/obj/item/circuitboard/machine/bluespace_tap
|
||||
name = "Bluespace Harvester (Machine Board)"
|
||||
board_name = "Bluespace Harvester"
|
||||
build_path = /obj/machinery/power/bluespace_tap
|
||||
origin_tech = "engineering=2;combat=2;bluespace=3"
|
||||
req_components = list(
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
last_fire_time = world.time / 10
|
||||
|
||||
/obj/item/circuitboard/machine/bsa/back
|
||||
name = "Bluespace Artillery Generator (Machine Board)"
|
||||
board_name = "Bluespace Artillery Generator"
|
||||
build_path = /obj/machinery/bsa/back
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
|
||||
req_components = list(
|
||||
@@ -233,7 +233,7 @@
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/circuitboard/machine/bsa/middle
|
||||
name = "Bluespace Artillery Fusor (Machine Board)"
|
||||
board_name = "Bluespace Artillery Fusor"
|
||||
build_path = /obj/machinery/bsa/middle
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
req_components = list(
|
||||
@@ -241,7 +241,7 @@
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/circuitboard/machine/bsa/front
|
||||
name = "Bluespace Artillery Bore (Machine Board)"
|
||||
board_name = "Bluespace Artillery Bore"
|
||||
build_path = /obj/machinery/bsa/front
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
req_components = list(
|
||||
@@ -249,7 +249,7 @@
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/circuitboard/computer/bsa_control
|
||||
name = "Bluespace Artillery Controls (Computer Board)"
|
||||
board_name = "Bluespace Artillery Controls"
|
||||
build_path = /obj/machinery/computer/bsa_control
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m
|
||||
|
||||
|
||||
/obj/item/circuitboard/machine/dna_vault
|
||||
name = "DNA Vault (Machine Board)"
|
||||
board_name = "DNA Vault"
|
||||
build_path = /obj/machinery/dna_vault
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
|
||||
req_components = list(
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
return coverage.len
|
||||
|
||||
/obj/item/circuitboard/computer/sat_control
|
||||
name = "Satellite Network Control (Computer Board)"
|
||||
board_name = "Satellite Network Control"
|
||||
build_path = /obj/machinery/computer/sat_control
|
||||
origin_tech = "engineering=3"
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Reference in New Issue
Block a user