mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] Signal Handler Preperation (#10917)
Co-authored-by: Will <7099514+Willburd@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
b92212f9ee
commit
68e70a00ad
@@ -8,8 +8,7 @@
|
||||
|
||||
/// Signifies that this proc is used to handle signals.
|
||||
/// Every proc you pass to RegisterSignal must have this.
|
||||
// #define SIGNAL_HANDLER SHOULD_NOT_SLEEP(TRUE) FIXME: FIXME: Causing some big issues still
|
||||
#define SIGNAL_HANDLER
|
||||
#define SIGNAL_HANDLER SHOULD_NOT_SLEEP(TRUE)
|
||||
|
||||
/// A wrapper for _AddElement that allows us to pretend we're using normal named arguments
|
||||
#define AddElement(arguments...) _AddElement(list(##arguments))
|
||||
|
||||
@@ -454,9 +454,9 @@ SUBSYSTEM_DEF(statpanels)
|
||||
on_mob_move(parent.mob)
|
||||
|
||||
/datum/object_window_info/proc/turflist_changed(mob/source)
|
||||
SIGNAL_HANDLER
|
||||
if(!parent)//statbrowser hasnt fired yet and we still have a pending action
|
||||
return
|
||||
SIGNAL_HANDLER
|
||||
if(!(flags & TURFLIST_UPDATED)) //Limit updates to 1 per tick
|
||||
SSstatpanels.immediate_send_stat_data(parent)
|
||||
flags |= TURFLIST_UPDATED
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
if(QDELETED(thing) || thing.loc == newturf)
|
||||
continue
|
||||
thing.forceMove(newturf, movetime = MOVE_GLIDE_CALC(glide_size,0))
|
||||
if(CHECK_TICK && master.loc != curloc)
|
||||
if(TICK_CHECK && master.loc != curloc)
|
||||
// We moved again during the checktick, cancel current operation
|
||||
break
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
. = ..()
|
||||
|
||||
/datum/component/gargoyle/proc/unpause()
|
||||
SIGNAL_HANDLER
|
||||
if (!paused || transformed)
|
||||
paused = FALSE
|
||||
paused_loc = null
|
||||
|
||||
@@ -86,12 +86,10 @@
|
||||
/datum/proximity_monitor/mobspawner
|
||||
|
||||
/datum/proximity_monitor/mobspawner/on_uncrossed(atom/source, atom/movable/AM, atom/new_loc)
|
||||
SIGNAL_HANDLER
|
||||
var/obj/structure/mob_spawner/scanner/scanner = host
|
||||
scanner.CheckProximity(AM,new_loc)
|
||||
|
||||
/datum/proximity_monitor/mobspawner/on_entered(atom/source, atom/movable/arrived)
|
||||
SIGNAL_HANDLER
|
||||
var/obj/structure/mob_spawner/scanner/scanner = host
|
||||
if(source != host)
|
||||
scanner.NewProximity(arrived)
|
||||
|
||||
@@ -55,7 +55,6 @@
|
||||
return 1
|
||||
|
||||
/obj/machinery/camera/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
|
||||
@@ -119,8 +119,11 @@
|
||||
operating = 1
|
||||
flick(text("[src.base_state]opening"), src)
|
||||
playsound(src, 'sound/machines/door/windowdoor.ogg', 100, 1)
|
||||
sleep(10)
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_open)), 1 SECONDS, TIMER_DELETE_ME)
|
||||
|
||||
/obj/machinery/door/window/proc/finish_open()
|
||||
PRIVATE_PROC(TRUE)
|
||||
SHOULD_NOT_OVERRIDE(TRUE)
|
||||
explosion_resistance = 0
|
||||
density = FALSE
|
||||
update_icon()
|
||||
@@ -141,8 +144,11 @@
|
||||
update_icon()
|
||||
explosion_resistance = initial(explosion_resistance)
|
||||
update_nearby_tiles()
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_close)), 1 SECONDS, TIMER_DELETE_ME)
|
||||
|
||||
sleep(10)
|
||||
/obj/machinery/door/window/proc/finish_close()
|
||||
PRIVATE_PROC(TRUE)
|
||||
SHOULD_NOT_OVERRIDE(TRUE)
|
||||
operating = FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -98,7 +98,6 @@
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/flasher/portable/HasProximity(turf/T, datum/weakref/WF, oldloc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
|
||||
|
||||
@@ -21,7 +21,11 @@
|
||||
. = ..()
|
||||
var/area/A = get_area(src)
|
||||
if(A)
|
||||
RegisterSignal(A, COMSIG_OBSERVER_APC, /atom/proc/update_icon)
|
||||
RegisterSignal(A, COMSIG_OBSERVER_APC, PROC_REF(on_observer_apc))
|
||||
update_icon()
|
||||
|
||||
/obj/item/radio/intercom/proc/on_observer_apc()
|
||||
SIGNAL_HANDLER
|
||||
update_icon()
|
||||
|
||||
/obj/item/radio/intercom/Destroy()
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
return
|
||||
|
||||
/obj/item/transfer_valve/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
|
||||
@@ -215,6 +215,7 @@
|
||||
UnregisterSignal(user, COMSIG_OBSERVER_MOVED)
|
||||
|
||||
/obj/item/storage/bag/ore/proc/autoload(mob/user)
|
||||
SIGNAL_HANDLER
|
||||
var/obj/item/ore/O = locate() in get_turf(src)
|
||||
if(O)
|
||||
gather_all(get_turf(src), user)
|
||||
|
||||
@@ -658,7 +658,6 @@ var/list/global/tank_gauge_cache = list()
|
||||
tank.cut_overlay("bomb_assembly")
|
||||
|
||||
/obj/item/tankassemblyproxy/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
|
||||
@@ -71,7 +71,6 @@
|
||||
sense_proximity(callback = TYPE_PROC_REF(/atom,HasProximity))
|
||||
|
||||
/obj/item/assembly_holder/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
return secured
|
||||
|
||||
/obj/item/assembly/prox_sensor/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/blobcore_chunk/proc/call_chunk_unique()
|
||||
SIGNAL_HANDLER
|
||||
if(blob_type)
|
||||
blob_type.chunk_unique(src, args)
|
||||
return
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
UnregisterSignal(H, COMSIG_OBSERVER_MOVED)
|
||||
|
||||
/obj/item/rig_module/pat_module/proc/boop(var/mob/living/carbon/human/user,var/turf/To,var/turf/Tn)
|
||||
SIGNAL_HANDLER
|
||||
if(!istype(user) || !istype(To) || !istype(Tn))
|
||||
deactivate() //They were picked up or something, or put themselves in a locker, who knows. Just turn off.
|
||||
return
|
||||
|
||||
@@ -162,8 +162,7 @@
|
||||
M.Stun(8)
|
||||
M.Weaken(5)
|
||||
seed.thrown_at(src,M)
|
||||
sleep(-1)
|
||||
if(src) qdel(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/throw_impact(atom/hit_atom)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/obj/effect/plant/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
shock(L)
|
||||
|
||||
/obj/machinery/containment_field/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
var/atom/movable/AM = WF.resolve()
|
||||
@@ -83,9 +82,7 @@
|
||||
var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src)))
|
||||
user.throw_at(target, 200, 4)
|
||||
|
||||
sleep(20)
|
||||
|
||||
hasShocked = 0
|
||||
VARSET_IN(src, hasShocked, FALSE, 2 SECONDS)
|
||||
|
||||
/obj/machinery/containment_field/proc/set_master(var/master1,var/master2)
|
||||
if(!master1 || !master2)
|
||||
|
||||
@@ -1000,7 +1000,6 @@
|
||||
return ..()
|
||||
|
||||
/datum/tgui_module/appearance_changer/vore/update_active_camera_screen()
|
||||
SIGNAL_HANDLER
|
||||
cam_screen.vis_contents = list(owner)
|
||||
cam_background.icon_state = "clear"
|
||||
cam_background.fill_rect(1, 1, 1, 1)
|
||||
|
||||
@@ -149,7 +149,6 @@
|
||||
return failed
|
||||
|
||||
/datum/unit_test/all_clothing_shall_be_valid/get_signal_data(atom/source, list/data = list())
|
||||
SIGNAL_HANDLER
|
||||
switch(data[1])
|
||||
if("set_slot")
|
||||
var/slot_name = data[2]
|
||||
|
||||
@@ -280,7 +280,6 @@
|
||||
return TRUE
|
||||
|
||||
/datum/unit_test/chemical_reactions_shall_not_conflict/get_signal_data(atom/source, list/data = list())
|
||||
SIGNAL_HANDLER
|
||||
result_reactions.Add(data[1]) // Append the reactions that happened, then use that to check their inhibitors
|
||||
|
||||
|
||||
|
||||
@@ -111,3 +111,4 @@ var/total_unit_tests = 0
|
||||
// This signal should never be possible to call if the game is not compiled for unit tests
|
||||
/datum/unit_test/proc/get_signal_data(atom/source, list/data = list())
|
||||
SIGNAL_HANDLER
|
||||
return
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/bluespace_denier/HasProximity(turf/T, datum/weakref/WF, oldloc)
|
||||
SIGNAL_HANDLER
|
||||
if(isnull(WF))
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user