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.
|
/// Signifies that this proc is used to handle signals.
|
||||||
/// Every proc you pass to RegisterSignal must have this.
|
/// 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 SHOULD_NOT_SLEEP(TRUE)
|
||||||
#define SIGNAL_HANDLER
|
|
||||||
|
|
||||||
/// A wrapper for _AddElement that allows us to pretend we're using normal named arguments
|
/// A wrapper for _AddElement that allows us to pretend we're using normal named arguments
|
||||||
#define AddElement(arguments...) _AddElement(list(##arguments))
|
#define AddElement(arguments...) _AddElement(list(##arguments))
|
||||||
|
|||||||
@@ -454,9 +454,9 @@ SUBSYSTEM_DEF(statpanels)
|
|||||||
on_mob_move(parent.mob)
|
on_mob_move(parent.mob)
|
||||||
|
|
||||||
/datum/object_window_info/proc/turflist_changed(mob/source)
|
/datum/object_window_info/proc/turflist_changed(mob/source)
|
||||||
|
SIGNAL_HANDLER
|
||||||
if(!parent)//statbrowser hasnt fired yet and we still have a pending action
|
if(!parent)//statbrowser hasnt fired yet and we still have a pending action
|
||||||
return
|
return
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(!(flags & TURFLIST_UPDATED)) //Limit updates to 1 per tick
|
if(!(flags & TURFLIST_UPDATED)) //Limit updates to 1 per tick
|
||||||
SSstatpanels.immediate_send_stat_data(parent)
|
SSstatpanels.immediate_send_stat_data(parent)
|
||||||
flags |= TURFLIST_UPDATED
|
flags |= TURFLIST_UPDATED
|
||||||
|
|||||||
@@ -135,7 +135,7 @@
|
|||||||
if(QDELETED(thing) || thing.loc == newturf)
|
if(QDELETED(thing) || thing.loc == newturf)
|
||||||
continue
|
continue
|
||||||
thing.forceMove(newturf, movetime = MOVE_GLIDE_CALC(glide_size,0))
|
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
|
// We moved again during the checktick, cancel current operation
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/datum/component/gargoyle/proc/unpause()
|
/datum/component/gargoyle/proc/unpause()
|
||||||
|
SIGNAL_HANDLER
|
||||||
if (!paused || transformed)
|
if (!paused || transformed)
|
||||||
paused = FALSE
|
paused = FALSE
|
||||||
paused_loc = null
|
paused_loc = null
|
||||||
|
|||||||
@@ -86,12 +86,10 @@
|
|||||||
/datum/proximity_monitor/mobspawner
|
/datum/proximity_monitor/mobspawner
|
||||||
|
|
||||||
/datum/proximity_monitor/mobspawner/on_uncrossed(atom/source, atom/movable/AM, atom/new_loc)
|
/datum/proximity_monitor/mobspawner/on_uncrossed(atom/source, atom/movable/AM, atom/new_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
var/obj/structure/mob_spawner/scanner/scanner = host
|
var/obj/structure/mob_spawner/scanner/scanner = host
|
||||||
scanner.CheckProximity(AM,new_loc)
|
scanner.CheckProximity(AM,new_loc)
|
||||||
|
|
||||||
/datum/proximity_monitor/mobspawner/on_entered(atom/source, atom/movable/arrived)
|
/datum/proximity_monitor/mobspawner/on_entered(atom/source, atom/movable/arrived)
|
||||||
SIGNAL_HANDLER
|
|
||||||
var/obj/structure/mob_spawner/scanner/scanner = host
|
var/obj/structure/mob_spawner/scanner/scanner = host
|
||||||
if(source != host)
|
if(source != host)
|
||||||
scanner.NewProximity(arrived)
|
scanner.NewProximity(arrived)
|
||||||
|
|||||||
@@ -55,7 +55,6 @@
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/camera/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
/obj/machinery/camera/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
var/atom/movable/AM = WF.resolve()
|
||||||
|
|||||||
@@ -119,8 +119,11 @@
|
|||||||
operating = 1
|
operating = 1
|
||||||
flick(text("[src.base_state]opening"), src)
|
flick(text("[src.base_state]opening"), src)
|
||||||
playsound(src, 'sound/machines/door/windowdoor.ogg', 100, 1)
|
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
|
explosion_resistance = 0
|
||||||
density = FALSE
|
density = FALSE
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -141,8 +144,11 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
explosion_resistance = initial(explosion_resistance)
|
explosion_resistance = initial(explosion_resistance)
|
||||||
update_nearby_tiles()
|
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
|
operating = FALSE
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,6 @@
|
|||||||
..(severity)
|
..(severity)
|
||||||
|
|
||||||
/obj/machinery/flasher/portable/HasProximity(turf/T, datum/weakref/WF, oldloc)
|
/obj/machinery/flasher/portable/HasProximity(turf/T, datum/weakref/WF, oldloc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,11 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
var/area/A = get_area(src)
|
var/area/A = get_area(src)
|
||||||
if(A)
|
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()
|
update_icon()
|
||||||
|
|
||||||
/obj/item/radio/intercom/Destroy()
|
/obj/item/radio/intercom/Destroy()
|
||||||
|
|||||||
@@ -56,7 +56,6 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/transfer_valve/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
/obj/item/transfer_valve/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
var/atom/movable/AM = WF.resolve()
|
||||||
|
|||||||
@@ -215,6 +215,7 @@
|
|||||||
UnregisterSignal(user, COMSIG_OBSERVER_MOVED)
|
UnregisterSignal(user, COMSIG_OBSERVER_MOVED)
|
||||||
|
|
||||||
/obj/item/storage/bag/ore/proc/autoload(mob/user)
|
/obj/item/storage/bag/ore/proc/autoload(mob/user)
|
||||||
|
SIGNAL_HANDLER
|
||||||
var/obj/item/ore/O = locate() in get_turf(src)
|
var/obj/item/ore/O = locate() in get_turf(src)
|
||||||
if(O)
|
if(O)
|
||||||
gather_all(get_turf(src), user)
|
gather_all(get_turf(src), user)
|
||||||
|
|||||||
@@ -658,7 +658,6 @@ var/list/global/tank_gauge_cache = list()
|
|||||||
tank.cut_overlay("bomb_assembly")
|
tank.cut_overlay("bomb_assembly")
|
||||||
|
|
||||||
/obj/item/tankassemblyproxy/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
/obj/item/tankassemblyproxy/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
var/atom/movable/AM = WF.resolve()
|
||||||
|
|||||||
@@ -71,7 +71,6 @@
|
|||||||
sense_proximity(callback = TYPE_PROC_REF(/atom,HasProximity))
|
sense_proximity(callback = TYPE_PROC_REF(/atom,HasProximity))
|
||||||
|
|
||||||
/obj/item/assembly_holder/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
/obj/item/assembly_holder/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
var/atom/movable/AM = WF.resolve()
|
||||||
|
|||||||
@@ -33,7 +33,6 @@
|
|||||||
return secured
|
return secured
|
||||||
|
|
||||||
/obj/item/assembly/prox_sensor/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
/obj/item/assembly/prox_sensor/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
var/atom/movable/AM = WF.resolve()
|
||||||
|
|||||||
@@ -62,6 +62,7 @@
|
|||||||
START_PROCESSING(SSobj, src)
|
START_PROCESSING(SSobj, src)
|
||||||
|
|
||||||
/obj/item/blobcore_chunk/proc/call_chunk_unique()
|
/obj/item/blobcore_chunk/proc/call_chunk_unique()
|
||||||
|
SIGNAL_HANDLER
|
||||||
if(blob_type)
|
if(blob_type)
|
||||||
blob_type.chunk_unique(src, args)
|
blob_type.chunk_unique(src, args)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
UnregisterSignal(H, COMSIG_OBSERVER_MOVED)
|
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)
|
/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))
|
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.
|
deactivate() //They were picked up or something, or put themselves in a locker, who knows. Just turn off.
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -162,8 +162,7 @@
|
|||||||
M.Stun(8)
|
M.Stun(8)
|
||||||
M.Weaken(5)
|
M.Weaken(5)
|
||||||
seed.thrown_at(src,M)
|
seed.thrown_at(src,M)
|
||||||
sleep(-1)
|
qdel(src)
|
||||||
if(src) qdel(src)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/reagent_containers/food/snacks/grown/throw_impact(atom/hit_atom)
|
/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)
|
/obj/effect/plant/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
var/atom/movable/AM = WF.resolve()
|
||||||
|
|||||||
@@ -53,7 +53,6 @@
|
|||||||
shock(L)
|
shock(L)
|
||||||
|
|
||||||
/obj/machinery/containment_field/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
/obj/machinery/containment_field/HasProximity(turf/T, datum/weakref/WF, old_loc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
var/atom/movable/AM = WF.resolve()
|
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)))
|
var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src)))
|
||||||
user.throw_at(target, 200, 4)
|
user.throw_at(target, 200, 4)
|
||||||
|
|
||||||
sleep(20)
|
VARSET_IN(src, hasShocked, FALSE, 2 SECONDS)
|
||||||
|
|
||||||
hasShocked = 0
|
|
||||||
|
|
||||||
/obj/machinery/containment_field/proc/set_master(var/master1,var/master2)
|
/obj/machinery/containment_field/proc/set_master(var/master1,var/master2)
|
||||||
if(!master1 || !master2)
|
if(!master1 || !master2)
|
||||||
|
|||||||
@@ -1000,7 +1000,6 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/datum/tgui_module/appearance_changer/vore/update_active_camera_screen()
|
/datum/tgui_module/appearance_changer/vore/update_active_camera_screen()
|
||||||
SIGNAL_HANDLER
|
|
||||||
cam_screen.vis_contents = list(owner)
|
cam_screen.vis_contents = list(owner)
|
||||||
cam_background.icon_state = "clear"
|
cam_background.icon_state = "clear"
|
||||||
cam_background.fill_rect(1, 1, 1, 1)
|
cam_background.fill_rect(1, 1, 1, 1)
|
||||||
|
|||||||
@@ -149,7 +149,6 @@
|
|||||||
return failed
|
return failed
|
||||||
|
|
||||||
/datum/unit_test/all_clothing_shall_be_valid/get_signal_data(atom/source, list/data = list())
|
/datum/unit_test/all_clothing_shall_be_valid/get_signal_data(atom/source, list/data = list())
|
||||||
SIGNAL_HANDLER
|
|
||||||
switch(data[1])
|
switch(data[1])
|
||||||
if("set_slot")
|
if("set_slot")
|
||||||
var/slot_name = data[2]
|
var/slot_name = data[2]
|
||||||
|
|||||||
@@ -280,7 +280,6 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
/datum/unit_test/chemical_reactions_shall_not_conflict/get_signal_data(atom/source, list/data = list())
|
/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
|
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
|
// 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())
|
/datum/unit_test/proc/get_signal_data(atom/source, list/data = list())
|
||||||
SIGNAL_HANDLER
|
SIGNAL_HANDLER
|
||||||
|
return
|
||||||
|
|||||||
@@ -74,7 +74,6 @@
|
|||||||
..(severity)
|
..(severity)
|
||||||
|
|
||||||
/obj/machinery/bluespace_denier/HasProximity(turf/T, datum/weakref/WF, oldloc)
|
/obj/machinery/bluespace_denier/HasProximity(turf/T, datum/weakref/WF, oldloc)
|
||||||
SIGNAL_HANDLER
|
|
||||||
if(isnull(WF))
|
if(isnull(WF))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user