Station Blueprints now contain wire legend (#20559)

Added a submenu to the Station Blueprints that lists wire color purposes for the round for NT made items
Does not list duds
Removed WIRE_ELECTRIFY as it was synonymous with WIRE_SHOCK
This commit is contained in:
Cyberboss
2016-09-23 10:24:57 +12:00
committed by oranges
parent 5809a52d21
commit 96087dcf67
12 changed files with 107 additions and 56 deletions
+1
View File
@@ -1,5 +1,6 @@
/datum/wires/airalarm
holder_type = /obj/machinery/airalarm
proper_name = "Air Alarm"
/datum/wires/airalarm/New(atom/holder)
wires = list(
+1
View File
@@ -1,5 +1,6 @@
/datum/wires/airlock
holder_type = /obj/machinery/door/airlock
proper_name = "Airlock"
/datum/wires/airlock/secure
randomize = TRUE
+1
View File
@@ -1,5 +1,6 @@
/datum/wires/apc
holder_type = /obj/machinery/power/apc
proper_name = "APC"
/datum/wires/apc/New(atom/holder)
wires = list(
+1
View File
@@ -1,5 +1,6 @@
/datum/wires/autolathe
holder_type = /obj/machinery/autolathe
proper_name = "Autolathe"
/datum/wires/autolathe/New(atom/holder)
wires = list(
+1
View File
@@ -14,6 +14,7 @@
/datum/wires/explosive/c4
holder_type = /obj/item/weapon/c4
randomize = TRUE //Same behaviour since no wire actually disarms it
/datum/wires/explosive/c4/interactable(mob/user)
var/obj/item/weapon/c4/P = holder
@@ -1,5 +1,6 @@
/datum/wires/particle_accelerator/control_box
holder_type = /obj/machinery/particle_accelerator/control_box
proper_name = "Particle Accelerator"
/datum/wires/particle_accelerator/control_box/New(atom/holder)
wires = list(
+1
View File
@@ -1,5 +1,6 @@
/datum/wires/radio
holder_type = /obj/item/device/radio
proper_name = "Radio"
/datum/wires/radio/New(atom/holder)
wires = list(
+1
View File
@@ -1,5 +1,6 @@
/datum/wires/suit_storage_unit
holder_type = /obj/machinery/suit_storage_unit
proper_name = "Suit Storage Unit"
/datum/wires/suit_storage_unit/New(atom/holder)
wires = list(
+4 -3
View File
@@ -1,9 +1,10 @@
/datum/wires/vending
holder_type = /obj/machinery/vending
proper_name = "Vending Unit"
/datum/wires/vending/New(atom/holder)
wires = list(
WIRE_THROW, WIRE_ELECTRIFY, WIRE_SPEAKER,
WIRE_THROW, WIRE_SHOCK, WIRE_SPEAKER,
WIRE_CONTRABAND, WIRE_IDSCAN
)
add_duds(1)
@@ -33,7 +34,7 @@
V.shoot_inventory = !V.shoot_inventory
if(WIRE_CONTRABAND)
V.extended_inventory = !V.extended_inventory
if(WIRE_ELECTRIFY)
if(WIRE_SHOCK)
V.seconds_electrified = 30
if(WIRE_IDSCAN)
V.scan_id = !V.scan_id
@@ -47,7 +48,7 @@
V.shoot_inventory = !mend
if(WIRE_CONTRABAND)
V.extended_inventory = FALSE
if(WIRE_ELECTRIFY)
if(WIRE_SHOCK)
if(mend)
V.seconds_electrified = FALSE
else
+5 -1
View File
@@ -17,6 +17,7 @@ var/list/wire_colors = list(
"yellow",
)
var/list/wire_color_directory = list()
var/list/wire_name_directory = list()
/proc/is_wire_tool(obj/item/I)
if(istype(I, /obj/item/device/multitool))
@@ -35,12 +36,14 @@ var/list/wire_color_directory = list()
/datum/wires
var/atom/holder = null // The holder (atom that contains these wires).
var/holder_type = null // The holder's typepath (used to make wire colors common to all holders).
var/proper_name = "Unknown" // The display name for the wire set shown in station blueprints. Not used if randomize is true or it's an item NT wouldn't know about (Explosives/Nuke)
var/list/wires = list() // List of wires.
var/list/cut_wires = list() // List of wires that have been cut.
var/list/colors = list() // Dictionary of colors to wire.
var/list/assemblies = list() // List of attached assemblies.
var/randomize = 0 // If every instance of these wires should be random.
// Prevents wires from showing up in station blueprints
/datum/wires/New(atom/holder)
..()
@@ -55,6 +58,7 @@ var/list/wire_color_directory = list()
if(!wire_color_directory[holder_type])
randomize()
wire_color_directory[holder_type] = colors
wire_name_directory[holder_type] = proper_name
else
colors = wire_color_directory[holder_type]
@@ -65,7 +69,7 @@ var/list/wire_color_directory = list()
/datum/wires/proc/add_duds(duds)
while(duds)
var/dud = "dud[--duds]"
var/dud = WIRE_DUD_PREFIX + "[--duds]"
if(dud in wires)
continue
wires += dud