Integrated Circuit Fixes (#15377)

This commit is contained in:
Geeves
2022-12-19 15:40:45 +01:00
committed by GitHub
parent 1fc0cec27e
commit f75f77c0d1
5 changed files with 25 additions and 7 deletions
@@ -76,7 +76,8 @@
// Clothing assemblies can be triggered by clicking on the HUD. This allows that to occur.
action_circuit = new(src.IC)
IC.force_add_circuit(action_circuit)
action_button_name = "Activate [name]"
default_action_type = /datum/action/item_action/integrated_circuit
action_button_name = "Activate [capitalize_first_letters(name)]"
/obj/item/clothing/Destroy()
if(IC)
@@ -27,9 +27,9 @@
CRASH("Invalid pin ref.")
return pin.write_data_to_pin(new_data)
/obj/item/integrated_circuit/proc/get_pin_data(pin_type, pin_number)
/obj/item/integrated_circuit/proc/get_pin_data(pin_type, pin_number, var/resolve_weakrefs = TRUE)
var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number)
return pin.get_data()
return pin.get_data(resolve_weakrefs)
/obj/item/integrated_circuit/proc/get_pin_data_as_type(pin_type, pin_number, as_type)
var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number)
@@ -39,8 +39,8 @@
var/datum/integrated_io/activate/A = activators[pin_number]
A.push_data(pin_number)
/datum/integrated_io/proc/get_data()
if(isweakref(data))
/datum/integrated_io/proc/get_data(var/resolve_weakrefs = TRUE)
if(resolve_weakrefs && isweakref(data))
return data.resolve()
return data
@@ -80,4 +80,4 @@
var/r
for(var/i = 1 to length(string))
r += ascii2text(text2ascii(string,i) ^ text2ascii(key,(i-1)%length(string)+1))
return r
return r
@@ -296,7 +296,7 @@
var/turf/T = get_turf(src)
var/list/nearby_things = view(radius, T)
var/list/valid_things = list()
var/I = get_pin_data(IC_INPUT, 1)
var/I = get_pin_data(IC_INPUT, 1, FALSE)
if(isweakref(I))
var/datum/weakref/WR = I
var/atom/A = WR.resolve()