mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-26 10:02:28 +00:00
Fixes every issue in #3683. Every single one. I'm sort of scared, given how easy this fix was. Also changes basic pathfinder behaviour. It will now stop moving/output null as the direction if it can't see its target, instead of continuing moving in the same direction. Might remove this if people don't like the change.
This commit is contained in:
@@ -91,7 +91,8 @@
|
||||
|
||||
for(var/i = 1 to outputs.len)
|
||||
set_pin_data(IC_OUTPUT, i, i == output_index ? output : null)
|
||||
|
||||
|
||||
push_data()
|
||||
activate_pin(2)
|
||||
|
||||
/obj/item/integrated_circuit/transfer/demultiplexer/medium
|
||||
|
||||
@@ -166,6 +166,7 @@
|
||||
else
|
||||
set_pin_data(IC_OUTPUT, 1, null)
|
||||
|
||||
push_data()
|
||||
activate_pin(2)
|
||||
|
||||
/obj/item/integrated_circuit/input/adjacent_locator
|
||||
@@ -185,6 +186,7 @@
|
||||
var/atom/A = get_pin_data_as_type(IC_INPUT, 1, /atom)
|
||||
if(!A)
|
||||
set_pin_data(IC_OUTPUT, 1, null)
|
||||
push_data()
|
||||
return
|
||||
var/desired_type = A.type
|
||||
|
||||
@@ -197,6 +199,7 @@
|
||||
|
||||
if(valid_things.len)
|
||||
set_pin_data(IC_OUTPUT, 1, pick(valid_things))
|
||||
push_data()
|
||||
|
||||
/obj/item/integrated_circuit/input/signaler
|
||||
name = "integrated signaler"
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
for(var/i = 1 to inputs.len)
|
||||
var/data = get_pin_data(IC_INPUT, i)
|
||||
set_pin_data(IC_OUTPUT, i, data)
|
||||
|
||||
push_data()
|
||||
activate_pin(2)
|
||||
|
||||
/obj/item/integrated_circuit/memory/storage/medium
|
||||
@@ -85,6 +85,7 @@
|
||||
|
||||
/obj/item/integrated_circuit/memory/constant/do_work()
|
||||
set_pin_data(IC_OUTPUT, 1, data)
|
||||
push_data()
|
||||
activate_pin(2)
|
||||
|
||||
/obj/item/integrated_circuit/memory/constant/attack_self(mob/user)
|
||||
|
||||
@@ -272,6 +272,7 @@
|
||||
if(camera)
|
||||
set_camera_status(0)
|
||||
set_pin_data(IC_INPUT, 2, FALSE)
|
||||
push_data()
|
||||
|
||||
/obj/item/integrated_circuit/output/led
|
||||
name = "light-emitting diode"
|
||||
@@ -292,6 +293,7 @@
|
||||
|
||||
/obj/item/integrated_circuit/output/led/power_fail()
|
||||
set_pin_data(IC_INPUT, 1, FALSE)
|
||||
push_data()
|
||||
|
||||
/obj/item/integrated_circuit/output/led/any_examine(mob/user)
|
||||
var/text_output = list()
|
||||
|
||||
@@ -20,11 +20,14 @@
|
||||
set_pin_data(IC_OUTPUT, 1, null)
|
||||
|
||||
if(!isweakref(I.data))
|
||||
push_data()
|
||||
return
|
||||
var/atom/A = I.data.resolve()
|
||||
if(!A)
|
||||
push_data()
|
||||
return
|
||||
if(!(A in view(get_turf(src))))
|
||||
push_data()
|
||||
return // Can't see the target.
|
||||
var/desired_dir = get_dir(get_turf(src), A)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user