Fixes firelocks registering for atmos adjacency changes on themselves (#67470)

Hate runtimes
This commit is contained in:
LemonInTheDark
2022-06-05 20:39:40 -07:00
committed by GitHub
parent 5eb3474ef3
commit c39b39e89e
+10 -8
View File
@@ -82,7 +82,7 @@
RegisterSignal(src, COMSIG_MERGER_ADDING, .proc/merger_adding)
RegisterSignal(src, COMSIG_MERGER_REMOVING, .proc/merger_removing)
GetMergeGroup(merger_id, merger_typecache)
register_adjacent_turfs(src)
register_adjacent_turfs()
if(alarm_type) // Fucking subtypes fucking mappers fucking hhhhhhhh
start_activation_process(alarm_type)
@@ -219,13 +219,14 @@
continue
process_results(checked_turf)
/obj/machinery/door/firedoor/proc/register_adjacent_turfs(atom/loc)
/obj/machinery/door/firedoor/proc/register_adjacent_turfs()
if(!loc)
return
RegisterSignal(loc, COMSIG_TURF_CALCULATED_ADJACENT_ATMOS, .proc/process_results)
var/turf/our_turf = get_turf(loc)
RegisterSignal(our_turf, COMSIG_TURF_CALCULATED_ADJACENT_ATMOS, .proc/process_results)
for(var/dir in GLOB.cardinals)
var/turf/checked_turf = get_step(get_turf(loc), dir)
var/turf/checked_turf = get_step(our_turf, dir)
if(!checked_turf)
continue
@@ -235,13 +236,14 @@
RegisterSignal(checked_turf, COMSIG_TURF_EXPOSE, .proc/process_results)
/obj/machinery/door/firedoor/proc/unregister_adjacent_turfs(atom/loc)
/obj/machinery/door/firedoor/proc/unregister_adjacent_turfs(atom/old_loc)
if(!loc)
return
UnregisterSignal(loc, COMSIG_TURF_CALCULATED_ADJACENT_ATMOS)
var/turf/our_turf = get_turf(old_loc)
UnregisterSignal(our_turf, COMSIG_TURF_CALCULATED_ADJACENT_ATMOS)
for(var/dir in GLOB.cardinals)
var/turf/checked_turf = get_step(get_turf(loc), dir)
var/turf/checked_turf = get_step(our_turf, dir)
if(!checked_turf)
continue
@@ -651,7 +653,7 @@
/obj/machinery/door/firedoor/Moved(atom/oldloc)
. = ..()
unregister_adjacent_turfs(oldloc)
register_adjacent_turfs(src)
register_adjacent_turfs()
/obj/machinery/door/firedoor/closed
icon_state = "door_closed"