diff --git a/GainStation13/code/game/objects/effects/spawners/choco_slime_delivery.dm b/GainStation13/code/game/objects/effects/spawners/choco_slime_delivery.dm
index cd408988..ae4162d3 100644
--- a/GainStation13/code/game/objects/effects/spawners/choco_slime_delivery.dm
+++ b/GainStation13/code/game/objects/effects/spawners/choco_slime_delivery.dm
@@ -15,7 +15,7 @@
message_admins("A choco slime has been delivered to [ADMIN_VERBOSEJMP(T)].")
log_game("A choco slime has been delivered to [AREACOORD(T)]")
var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen."
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC_REF(addtimer), CALLBACK(GLOBAL_PROC_REF(print_command_report), message), announcement_time))
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(print_command_report), message), announcement_time))
return INITIALIZE_HINT_QDEL
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 86b59242..f762a313 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -383,7 +383,7 @@
/proc/flick_overlay(image/I, list/show_to, duration)
for(var/client/C in show_to)
C.images += I
- addtimer(CALLBACK(GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration, TIMER_CLIENT_TIME)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration, TIMER_CLIENT_TIME)
/proc/flick_overlay_view(image/I, atom/target, duration) //wrapper for the above, flicks to everyone who can see the target atom
var/list/viewing = list()
diff --git a/code/__HELPERS/qdel.dm b/code/__HELPERS/qdel.dm
index 3ec6e12a..ba31b067 100644
--- a/code/__HELPERS/qdel.dm
+++ b/code/__HELPERS/qdel.dm
@@ -1,8 +1,8 @@
-#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE)
-#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
+#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE)
+#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
#define QDEL_NULL(item) qdel(item); item = null
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }
-#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC_REF(______qdel_list_wrapper), L), time, TIMER_STOPPABLE)
+#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(______qdel_list_wrapper), L), time, TIMER_STOPPABLE)
#define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); }
#define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); }
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index bf3e6d84..968a01a5 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1476,9 +1476,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
if(is_servant_of_ratvar(V) || isobserver(V))
. += V
-#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value)
+#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value)
//dupe code because dm can't handle 3 level deep macros
-#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value)
+#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value)
/proc/___callbackvarset(list_or_datum, var_name, var_value)
if(length(list_or_datum))
diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm
index b0be6967..663d10b8 100644
--- a/code/controllers/configuration/configuration.dm
+++ b/code/controllers/configuration/configuration.dm
@@ -149,7 +149,7 @@
var/good_update = istext(new_value)
log_config("Entry [entry] is deprecated and will be removed soon. Migrate to [new_ver.name]![good_update ? " Suggested new value is: [new_value]" : ""]")
if(!warned_deprecated_configs)
- addtimer(CALLBACK(GLOBAL_PROC_REF(message_admins), "This server is using deprecated configuration settings. Please check the logs and update accordingly."), 0)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(message_admins), "This server is using deprecated configuration settings. Please check the logs and update accordingly."), 0)
warned_deprecated_configs = TRUE
if(good_update)
value = new_value
diff --git a/code/controllers/subsystem/assets.dm b/code/controllers/subsystem/assets.dm
index 81364896..dfe6438d 100644
--- a/code/controllers/subsystem/assets.dm
+++ b/code/controllers/subsystem/assets.dm
@@ -14,5 +14,5 @@ SUBSYSTEM_DEF(assets)
preload = cache.Copy() //don't preload assets generated during the round
for(var/client/C in GLOB.clients)
- addtimer(CALLBACK(GLOBAL_PROC_REF(getFilesSlow), C, preload, FALSE), 10)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(getFilesSlow), C, preload, FALSE), 10)
..()
diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm
index 1c19c45e..0f65071e 100644
--- a/code/datums/explosion.dm
+++ b/code/datums/explosion.dm
@@ -396,7 +396,7 @@ GLOBAL_LIST_EMPTY(explosions)
else
continue
- addtimer(CALLBACK(GLOBAL_PROC_REF(wipe_color_and_text), wipe_colours), 100)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(wipe_color_and_text), wipe_colours), 100)
/proc/wipe_color_and_text(list/atom/wiping)
for(var/i in wiping)
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 6d523b5e..cacdf66d 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -82,7 +82,7 @@
//finalize_monster_hunters() Disabled for now
if(!report)
report = !CONFIG_GET(flag/no_intercept_report)
- addtimer(CALLBACK(GLOBAL_PROC_REF(display_roundstart_logout_report)), ROUNDSTART_LOGOUT_REPORT_TIME)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(display_roundstart_logout_report)), ROUNDSTART_LOGOUT_REPORT_TIME)
if(SSdbcore.Connect())
var/sql
diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm
index 6c5f0648..a2679a2f 100644
--- a/code/game/objects/effects/effect_system/effects_explosion.dm
+++ b/code/game/objects/effects/effect_system/effects_explosion.dm
@@ -17,7 +17,7 @@
var/direct = pick(GLOB.alldirs)
var/steps_amt = pick(1;25,2;50,3,4;200)
for(var/j in 1 to steps_amt)
- addtimer(CALLBACK(GLOBAL_PROC_REF(_step), expl, direct), j)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), expl, direct), j)
/obj/effect/explosion
name = "fire"
diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm
index 2b19393c..d09f310f 100644
--- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm
+++ b/code/game/objects/effects/spawners/xeno_egg_delivery.dm
@@ -15,5 +15,5 @@
message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].")
log_game("An alien egg has been delivered to [AREACOORD(T)]")
var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen."
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC_REF(addtimer), CALLBACK(GLOBAL_PROC_REF(print_command_report), message), announcement_time))
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(print_command_report), message), announcement_time))
return INITIALIZE_HINT_QDEL
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index ab7ef510..269a81a1 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -505,7 +505,7 @@ GLOBAL_LIST_EMPTY(PDAs)
update_label()
if (!silent)
playsound(src, 'sound/machines/terminal_processing.ogg', 15, 1)
- addtimer(CALLBACK(GLOBAL_PROC_REF(playsound), src, 'sound/machines/terminal_success.ogg', 15, 1), 13)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/machines/terminal_success.ogg', 15, 1), 13)
if("Eject")//Ejects the cart, only done from hub.
if (!isnull(cartridge))
diff --git a/code/game/world.dm b/code/game/world.dm
index c517bc5d..71c914e5 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -71,7 +71,7 @@ GLOBAL_VAR(restart_counter)
#else
cb = VARSET_CALLBACK(SSticker, force_ending, TRUE)
#endif
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC_REF(addtimer), cb, 10 SECONDS))
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(addtimer), cb, 10 SECONDS))
/world/proc/SetupExternalRSC()
#if (PRELOAD_RSC == 0)
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index 0b180638..66b367c7 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -712,9 +712,9 @@
var/ghostcandidates = list()
for (var/j in 1 to min(prefs["amount"]["value"], length(candidates)))
ghostcandidates += pick_n_take(candidates)
- addtimer(CALLBACK(GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, length(ghostcandidates), storm, ghostcandidates, outfit), i*prefs["delay"]["value"])
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, length(ghostcandidates), storm, ghostcandidates, outfit), i*prefs["delay"]["value"])
else if (prefs["playersonly"]["value"] != "Yes")
- addtimer(CALLBACK(GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, prefs["amount"]["value"], storm, null, outfit), i*prefs["delay"]["value"])
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, prefs["amount"]["value"], storm, null, outfit), i*prefs["delay"]["value"])
if(E)
E.processing = FALSE
diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm
index c3663719..46b13d76 100644
--- a/code/modules/antagonists/abductor/equipment/gland.dm
+++ b/code/modules/antagonists/abductor/equipment/gland.dm
@@ -334,7 +334,7 @@
/obj/item/organ/heart/gland/plasma/activate()
to_chat(owner, "You feel bloated.")
- addtimer(CALLBACK(GLOBAL_PROC_REF(to_chat), owner, "A massive stomachache overcomes you."), 150)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), owner, "A massive stomachache overcomes you."), 150)
addtimer(CALLBACK(src,PROC_REF(vomit_plasma)), 200)
/obj/item/organ/heart/gland/plasma/proc/vomit_plasma()
diff --git a/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm b/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm
index 56f9c2d7..4e3483d6 100644
--- a/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm
+++ b/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm
@@ -35,7 +35,7 @@
/obj/effect/clockwork/overlay/wall/Initialize()
. = ..()
queue_smooth_neighbors(src)
- addtimer(CALLBACK(GLOBAL_PROC_REF(queue_smooth), src), 1)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(queue_smooth), src), 1)
/obj/effect/clockwork/overlay/wall/Destroy()
queue_smooth_neighbors(src)
diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
index 6725d21c..f902e7c0 100644
--- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
+++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
@@ -113,7 +113,7 @@
/datum/clockwork_scripture/create_object/construct/clockwork_marauder/scripture_effects()
. = ..()
recent_marauders++
- addtimer(CALLBACK(GLOBAL_PROC_REF(marauder_reset)),MARAUDER_SCRIPTURE_SCALING_THRESHOLD)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(marauder_reset)),MARAUDER_SCRIPTURE_SCALING_THRESHOLD)
/proc/marauder_reset()
var/datum/clockwork_scripture/create_object/construct/clockwork_marauder/CM = new()
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 2363ac90..62398f64 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -844,7 +844,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls)
//Precache the client with all other assets slowly, so as to not block other browse() calls
getFilesSlow(src, SSassets.preload, register_asset = FALSE)
- addtimer(CALLBACK(GLOBAL_PROC_REF(getFilesSlow), src, SSassets.preload, FALSE), 5 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(getFilesSlow), src, SSassets.preload, FALSE), 5 SECONDS)
#if (PRELOAD_RSC == 0)
for (var/name in GLOB.vox_sounds)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm
index 2491f9ae..ca0f8656 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm
@@ -77,7 +77,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
use_power(500)
stored_matter += cube_production
addtimer(VARSET_CALLBACK(src, pixel_x, initial(pixel_x)))
- addtimer(CALLBACK(GLOBAL_PROC_REF(to_chat), user, "The machine now has [stored_matter] monkey\s worth of material stored."))
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, "The machine now has [stored_matter] monkey\s worth of material stored."))
/obj/machinery/monkey_recycler/interact(mob/user)
if(stored_matter >= 1)
diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm
index b683a80b..8af26c62 100644
--- a/code/modules/jobs/job_types/job.dm
+++ b/code/modules/jobs/job_types/job.dm
@@ -137,7 +137,7 @@
/datum/job/proc/announce_head(var/mob/living/carbon/human/H, var/channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels.
if(H && GLOB.announcement_systems.len)
//timer because these should come after the captain announcement
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC_REF(addtimer), CALLBACK(pick(GLOB.announcement_systems), /obj/machinery/announcement_system/proc/announce, "NEWHEAD", H.real_name, H.job, H.client?.prefs.alt_titles_preferences[H.job], channels), 1))
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(addtimer), CALLBACK(pick(GLOB.announcement_systems), /obj/machinery/announcement_system/proc/announce, "NEWHEAD", H.real_name, H.job, H.client?.prefs.alt_titles_preferences[H.job], channels), 1))
//If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1
/datum/job/proc/player_old_enough(client/C)
diff --git a/code/modules/jobs/job_types/silicon.dm b/code/modules/jobs/job_types/silicon.dm
index 8f3674dc..5052cd44 100644
--- a/code/modules/jobs/job_types/silicon.dm
+++ b/code/modules/jobs/job_types/silicon.dm
@@ -61,7 +61,7 @@ AI
/datum/job/ai/announce(mob/living/silicon/ai/AI)
. = ..()
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC_REF(minor_announce), "[AI] has been downloaded to an empty bluespace-networked AI core at [AREACOORD(AI)]."))
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(minor_announce), "[AI] has been downloaded to an empty bluespace-networked AI core at [AREACOORD(AI)]."))
/datum/job/ai/config_check()
return CONFIG_GET(flag/allow_ai)
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 1aa186cc..eea16b87 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -453,8 +453,8 @@
if((GLOB.cult_narsie.souls == GLOB.cult_narsie.soul_goal) && (GLOB.cult_narsie.resolved == FALSE))
GLOB.cult_narsie.resolved = TRUE
sound_to_playing_players('sound/machines/alarm.ogg')
- addtimer(CALLBACK(GLOBAL_PROC_REF(cult_ending_helper), 1), 120)
- addtimer(CALLBACK(GLOBAL_PROC_REF(ending_helper)), 270)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 1), 120)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper)), 270)
if(client)
makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, src, cultoverride = TRUE)
else
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index fa795f7b..96eb5b42 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -469,7 +469,7 @@
num_steps--
if(mode != BOT_IDLE)
var/process_timer = addtimer(CALLBACK(src,PROC_REF(process_bot)), 2, TIMER_LOOP|TIMER_STOPPABLE)
- addtimer(CALLBACK(GLOBAL_PROC_REF(deltimer), process_timer), (num_steps*2) + 1)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(deltimer), process_timer), (num_steps*2) + 1)
/mob/living/simple_animal/bot/mulebot/proc/process_bot()
if(!on || client)
diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm
index efc7e726..a2ec8e58 100644
--- a/code/modules/power/rtg.dm
+++ b/code/modules/power/rtg.dm
@@ -98,7 +98,7 @@
"You hear a loud electrical crack!")
playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_gen * 0.05)
- addtimer(CALLBACK(GLOBAL_PROC_REF(explosion), get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion.
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion.
/obj/machinery/power/rtg/abductor/bullet_act(obj/item/projectile/Proj)
..()
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index d3b0e029..d09746aa 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -82,7 +82,7 @@
if(resolved == FALSE)
resolved = TRUE
sound_to_playing_players('sound/machines/alarm.ogg')
- addtimer(CALLBACK(GLOBAL_PROC_REF(cult_ending_helper)), 120)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper)), 120)
/obj/singularity/narsie/large/cult/Destroy()
GLOB.cult_narsie = null
diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm
index 36526b3c..d343dbbb 100644
--- a/code/modules/projectiles/ammunition/_ammunition.dm
+++ b/code/modules/projectiles/ammunition/_ammunition.dm
@@ -80,6 +80,6 @@
pixel_y = rand(-12, 12)
var/turf/T = get_turf(src)
if(still_warm && T && T.bullet_sizzle)
- addtimer(CALLBACK(GLOBAL_PROC_REF(playsound), src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected.
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected.
else if(T && T.bullet_bounce_sound)
- addtimer(CALLBACK(GLOBAL_PROC_REF(playsound), src, T.bullet_bounce_sound, 60, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them.
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, T.bullet_bounce_sound, 60, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them.
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index 499bc2fd..f350e981 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -63,7 +63,7 @@
playsound(src, "gun_insert_full_magazine", 70, 1)
if(!chambered)
chamber_round()
- addtimer(CALLBACK(GLOBAL_PROC_REF(playsound), src, 'sound/weapons/gun_chamber_round.ogg', 100, 1), 3)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/weapons/gun_chamber_round.ogg', 100, 1), 3)
else
playsound(src, "gun_insert_empty_magazine", 70, 1)
A.update_icon()
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index da511b70..0a7c6397 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -402,7 +402,7 @@
/obj/structure/closet/decay/proc/decay()
animate(src, alpha = 0, time = 30)
- addtimer(CALLBACK(GLOBAL_PROC_REF(qdel), src), 30)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 30)
/obj/structure/closet/decay/open(mob/living/user)
. = ..()
@@ -506,4 +506,4 @@
return
var/turf/T = get_turf(target)
for(var/i=0, i<50, i+=10)
- addtimer(CALLBACK(GLOBAL_PROC_REF(explosion), T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 46f7ab36..8ab37208 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -48,7 +48,7 @@
var/makes_me_think = pick(strings("redpill.json", "redpill_questions"))
if(icon_state == "pill4" && prob(10)) //you take the red pill - you stay in Wonderland, and I show you how deep the rabbit hole goes
- addtimer(CALLBACK(GLOBAL_PROC_REF(to_chat), M, "[makes_me_think]"), 50)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), M, "[makes_me_think]"), 50)
log_combat(user, M, "fed", reagents.log_list())
if(reagents.total_volume)
diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm
index 8c8c5d57..19c8be42 100644
--- a/code/modules/shuttle/arrivals.dm
+++ b/code/modules/shuttle/arrivals.dm
@@ -197,7 +197,7 @@
if(mode != SHUTTLE_CALL)
AnnounceArrival(mob, rank)
else
- LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC_REF(AnnounceArrival), mob, rank))
+ LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(AnnounceArrival), mob, rank))
/obj/docking_port/mobile/arrivals/vv_edit_var(var_name, var_value)
switch(var_name)
diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm
index 579c86a4..986ebcf7 100644
--- a/modular_citadel/code/datums/status_effects/chems.dm
+++ b/modular_citadel/code/datums/status_effects/chems.dm
@@ -594,7 +594,7 @@
var/saytext = "Your mouth moves on it's own before you can even catch it."
if(HAS_TRAIT(C, TRAIT_NYMPHO))
saytext += " You find yourself fully believing in the validity of what you just said and don't think to question it."
- addtimer(CALLBACK(GLOBAL_PROC_REF(to_chat), C, "[saytext]"), 5)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), C, "[saytext]"), 5)
addtimer(CALLBACK(C, /atom/movable/proc/say, "[customTriggers[trigger][2]]"), 5)
//(C.say(customTriggers[trigger][2]))//trigger3
log_game("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.")
@@ -602,7 +602,7 @@
//Echo (repeats message!) allows customisation, but won't display var calls! Defaults to hypnophrase.
else if (lowertext(customTriggers[trigger][1]) == "echo")//trigger2
- addtimer(CALLBACK(GLOBAL_PROC_REF(to_chat), C, "[customTriggers[trigger][2]]"), 5)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), C, "[customTriggers[trigger][2]]"), 5)
//(to_chat(owner, "[customTriggers[trigger][2]]"))//trigger3
//Shocking truth!