diff --git a/code/__defines/qdel.dm b/code/__defines/qdel.dm
index 12002dc46e..cf1afe492e 100644
--- a/code/__defines/qdel.dm
+++ b/code/__defines/qdel.dm
@@ -37,13 +37,13 @@
#define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
//Qdel helper macros.
-#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE)
-#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/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) if(item) {qdel(item); item = null}
#define QDEL_NULL_LIST QDEL_LIST_NULL
#define QDEL_LIST_NULL(x) if(x) { for(var/y in x) { qdel(y) } ; x = 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, .proc/______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/__defines/rust_g.dm b/code/__defines/rust_g.dm
index 9c9e2637ce..1c93497ec8 100644
--- a/code/__defines/rust_g.dm
+++ b/code/__defines/rust_g.dm
@@ -42,26 +42,26 @@
#define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB"
#define RUSTG_JOB_ERROR "JOB PANICKED"
-#define rustg_dmi_strip_metadata(fname) call(RUST_G, "dmi_strip_metadata")(fname)
-#define rustg_dmi_create_png(path, width, height, data) call(RUST_G, "dmi_create_png")(path, width, height, data)
+#define rustg_dmi_strip_metadata(fname) LIBCALL(RUST_G, "dmi_strip_metadata")(fname)
+#define rustg_dmi_create_png(path, width, height, data) LIBCALL(RUST_G, "dmi_create_png")(path, width, height, data)
-#define rustg_noise_get_at_coordinates(seed, x, y) call(RUST_G, "noise_get_at_coordinates")(seed, x, y)
+#define rustg_noise_get_at_coordinates(seed, x, y) LIBCALL(RUST_G, "noise_get_at_coordinates")(seed, x, y)
-#define rustg_file_read(fname) call(RUST_G, "file_read")(fname)
-#define rustg_file_exists(fname) call(RUST_G, "file_exists")(fname)
-#define rustg_file_write(text, fname) call(RUST_G, "file_write")(text, fname)
-#define rustg_file_append(text, fname) call(RUST_G, "file_append")(text, fname)
+#define rustg_file_read(fname) LIBCALL(RUST_G, "file_read")(fname)
+#define rustg_file_exists(fname) LIBCALL(RUST_G, "file_exists")(fname)
+#define rustg_file_write(text, fname) LIBCALL(RUST_G, "file_write")(text, fname)
+#define rustg_file_append(text, fname) LIBCALL(RUST_G, "file_append")(text, fname)
#ifdef RUSTG_OVERRIDE_BUILTINS
#define file2text(fname) rustg_file_read("[fname]")
#define text2file(text, fname) rustg_file_append(text, "[fname]")
#endif
-#define rustg_git_revparse(rev) call(RUST_G, "rg_git_revparse")(rev)
-#define rustg_git_commit_date(rev) call(RUST_G, "rg_git_commit_date")(rev)
+#define rustg_git_revparse(rev) LIBCALL(RUST_G, "rg_git_revparse")(rev)
+#define rustg_git_commit_date(rev) LIBCALL(RUST_G, "rg_git_commit_date")(rev)
-#define rustg_hash_string(algorithm, text) call(RUST_G, "hash_string")(algorithm, text)
-#define rustg_hash_file(algorithm, fname) call(RUST_G, "hash_file")(algorithm, fname)
+#define rustg_hash_string(algorithm, text) LIBCALL(RUST_G, "hash_string")(algorithm, text)
+#define rustg_hash_file(algorithm, fname) LIBCALL(RUST_G, "hash_file")(algorithm, fname)
#define RUSTG_HASH_MD5 "md5"
#define RUSTG_HASH_SHA1 "sha1"
@@ -72,13 +72,13 @@
#define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing))
#endif
-#define rustg_json_is_valid(text) (call(RUST_G, "json_is_valid")(text) == "true")
+#define rustg_json_is_valid(text) (LIBCALL(RUST_G, "json_is_valid")(text) == "true")
-#define rustg_log_write(fname, text, format) call(RUST_G, "log_write")(fname, text, format)
-/proc/rustg_log_close_all() return call(RUST_G, "log_close_all")()
+#define rustg_log_write(fname, text, format) LIBCALL(RUST_G, "log_write")(fname, text, format)
+/proc/rustg_log_close_all() return LIBCALL(RUST_G, "log_close_all")()
-#define rustg_url_encode(text) call(RUST_G, "url_encode")(text)
-#define rustg_url_decode(text) call(RUST_G, "url_decode")(text)
+#define rustg_url_encode(text) LIBCALL(RUST_G, "url_encode")(text)
+#define rustg_url_decode(text) LIBCALL(RUST_G, "url_decode")(text)
#ifdef RUSTG_OVERRIDE_BUILTINS
#define url_encode(text) rustg_url_encode(text)
@@ -91,13 +91,13 @@
#define RUSTG_HTTP_METHOD_PATCH "patch"
#define RUSTG_HTTP_METHOD_HEAD "head"
#define RUSTG_HTTP_METHOD_POST "post"
-#define rustg_http_request_blocking(method, url, body, headers) call(RUST_G, "http_request_blocking")(method, url, body, headers)
-#define rustg_http_request_async(method, url, body, headers) call(RUST_G, "http_request_async")(method, url, body, headers)
-#define rustg_http_check_request(req_id) call(RUST_G, "http_check_request")(req_id)
+#define rustg_http_request_blocking(method, url, body, headers) LIBCALL(RUST_G, "http_request_blocking")(method, url, body, headers)
+#define rustg_http_request_async(method, url, body, headers) LIBCALL(RUST_G, "http_request_async")(method, url, body, headers)
+#define rustg_http_check_request(req_id) LIBCALL(RUST_G, "http_check_request")(req_id)
-#define rustg_sql_connect_pool(options) call(RUST_G, "sql_connect_pool")(options)
-#define rustg_sql_query_async(handle, query, params) call(RUST_G, "sql_query_async")(handle, query, params)
-#define rustg_sql_query_blocking(handle, query, params) call(RUST_G, "sql_query_blocking")(handle, query, params)
-#define rustg_sql_connected(handle) call(RUST_G, "sql_connected")(handle)
-#define rustg_sql_disconnect_pool(handle) call(RUST_G, "sql_disconnect_pool")(handle)
-#define rustg_sql_check_query(job_id) call(RUST_G, "sql_check_query")("[job_id]")
+#define rustg_sql_connect_pool(options) LIBCALL(RUST_G, "sql_connect_pool")(options)
+#define rustg_sql_query_async(handle, query, params) LIBCALL(RUST_G, "sql_query_async")(handle, query, params)
+#define rustg_sql_query_blocking(handle, query, params) LIBCALL(RUST_G, "sql_query_blocking")(handle, query, params)
+#define rustg_sql_connected(handle) LIBCALL(RUST_G, "sql_connected")(handle)
+#define rustg_sql_disconnect_pool(handle) LIBCALL(RUST_G, "sql_disconnect_pool")(handle)
+#define rustg_sql_check_query(job_id) LIBCALL(RUST_G, "sql_check_query")("[job_id]")
diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm
index 9825374b02..1408896e55 100644
--- a/code/_helpers/global_lists.dm
+++ b/code/_helpers/global_lists.dm
@@ -206,7 +206,7 @@ GLOBAL_LIST_EMPTY(mannequins)
GLOB.all_species[S.name] = S
//Shakey shakey shake
- sortTim(GLOB.all_species, /proc/cmp_species, associative = TRUE)
+ sortTim(GLOB.all_species, GLOBAL_PROC_REF(cmp_species), associative = TRUE)
//Split up the rest
for(var/speciesname in GLOB.all_species)
@@ -238,7 +238,7 @@ GLOBAL_LIST_EMPTY(mannequins)
for(var/oretype in paths)
var/ore/OD = new oretype()
GLOB.ore_data[OD.name] = OD
-
+
paths = subtypesof(/datum/alloy)
for(var/alloytype in paths)
GLOB.alloy_data += new alloytype()
@@ -310,7 +310,7 @@ GLOBAL_LIST_EMPTY(mannequins)
/proc/init_crafting_recipes(list/crafting_recipes)
for(var/path in subtypesof(/datum/crafting_recipe))
var/datum/crafting_recipe/recipe = new path()
- recipe.reqs = sortList(recipe.reqs, /proc/cmp_crafting_req_priority)
+ recipe.reqs = sortList(recipe.reqs, GLOBAL_PROC_REF(cmp_crafting_req_priority))
crafting_recipes += recipe
return crafting_recipes
/* // Uncomment to debug chemical reaction list.
diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm
index a14c8420b4..cecb960be9 100644
--- a/code/_helpers/global_lists_vr.dm
+++ b/code/_helpers/global_lists_vr.dm
@@ -567,7 +567,7 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
all_traits[path] = instance
// Shakey shakey shake
- sortTim(all_traits, /proc/cmp_trait_datums_name, associative = TRUE)
+ sortTim(all_traits, GLOBAL_PROC_REF(cmp_trait_datums_name), associative = TRUE)
// Split 'em up
for(var/traitpath in all_traits)
diff --git a/code/_helpers/icons.dm b/code/_helpers/icons.dm
index b8c501be26..0215466b15 100644
--- a/code/_helpers/icons.dm
+++ b/code/_helpers/icons.dm
@@ -215,7 +215,7 @@
break
layers[current] = current_layer
- //sortTim(layers, /proc/cmp_image_layer_asc)
+ //sortTim(layers, GLOBAL_PROC_REF(cmp_image_layer_asc))
var/icon/add // Icon of overlay being added
@@ -384,7 +384,11 @@ GLOBAL_LIST_EMPTY(cached_examine_icons)
/proc/set_cached_examine_icon(var/atom/A, var/icon/I, var/expiry = 12000)
GLOB.cached_examine_icons[weakref(A)] = I
if(expiry)
+<<<<<<< HEAD
addtimer(CALLBACK(GLOBAL_PROC, .proc/uncache_examine_icon, weakref(A)), expiry, TIMER_UNIQUE)
+=======
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(uncache_examine_icon), WEAKREF(A)), expiry, TIMER_UNIQUE)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
/proc/get_cached_examine_icon(var/atom/A)
var/weakref/WR = weakref(A)
diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index ac313a0fa7..10f1d8c64c 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -656,7 +656,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Returns: all the areas in the world, sorted.
/proc/return_sorted_areas()
- return sortTim(return_areas(), /proc/cmp_text_asc)
+ return sortTim(return_areas(), GLOBAL_PROC_REF(cmp_text_asc))
//Takes: Area type as text string or as typepath OR an instance of the area.
//Returns: A list of all turfs in areas of that type of that type in the world.
@@ -1373,9 +1373,9 @@ var/mob/dview/dview_mob = new
//datum may be null, but it does need to be a typed var
#define NAMEOF(datum, X) (#X || ##datum.##X)
-#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, /proc/___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, /proc/___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)
//we'll see about those 3-level deep macros
#define VARSET_IN(datum, var, var_value, time) addtimer(VARSET_CALLBACK(datum, var, var_value), time)
diff --git a/code/_helpers/visual_filters.dm b/code/_helpers/visual_filters.dm
index c02bbb6993..60aef7c908 100644
--- a/code/_helpers/visual_filters.dm
+++ b/code/_helpers/visual_filters.dm
@@ -302,7 +302,7 @@ GLOBAL_LIST_INIT(master_filter_info, list(
/atom/proc/update_filters()
filters = null
- filter_data = sortTim(filter_data, /proc/cmp_filter_data_priority, TRUE)
+ filter_data = sortTim(filter_data, GLOBAL_PROC_REF(cmp_filter_data_priority), TRUE)
for(var/f in filter_data)
var/list/data = filter_data[f]
var/list/arguments = data.Copy()
diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm
index 9f7848b3d3..2ea2a4885f 100644
--- a/code/_onclick/drag_drop.dm
+++ b/code/_onclick/drag_drop.dm
@@ -21,7 +21,7 @@
if(!Adjacent(usr) || !over.Adjacent(usr))
return // should stop you from dragging through windows
- INVOKE_ASYNC(over, /atom/.proc/MouseDrop_T, src, usr, src_location, over_location, src_control, over_control, params)
+ INVOKE_ASYNC(over, TYPE_PROC_REF(/atom, MouseDrop_T), src, usr, src_location, over_location, src_control, over_control, params)
/atom/proc/MouseDrop_T(atom/dropping, mob/user, src_location, over_location, src_control, over_control, params)
- return
\ No newline at end of file
+ return
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index c1309e3e95..7515e47dac 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -53,7 +53,7 @@
animate(alert, transform = matrix(), time = 2.5, easing = CUBIC_EASING)
if(alert.timeout)
- addtimer(CALLBACK(src, .proc/alert_timeout, alert, category), alert.timeout)
+ addtimer(CALLBACK(src, PROC_REF(alert_timeout), alert, category), alert.timeout)
alert.timeout = world.time + alert.timeout - world.tick_lag
return alert
@@ -436,7 +436,7 @@ so as to remain in compliance with the most up-to-date laws."
if(alert.icon_state in cached_icon_states(ui_style))
alert.icon = ui_style
-
+
else if(!alert.no_underlay)
var/image/I = image(icon = ui_style, icon_state = "template")
I.color = ui_color
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 83c4f6ed3e..13a0d5ebac 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -68,7 +68,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
qdel(Master)
else
var/list/subsytem_types = subtypesof(/datum/controller/subsystem)
- sortTim(subsytem_types, /proc/cmp_subsystem_init)
+ sortTim(subsytem_types, GLOBAL_PROC_REF(cmp_subsystem_init))
for(var/I in subsytem_types)
_subsystems += new I
Master = src
@@ -83,7 +83,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
/datum/controller/master/Shutdown()
processing = FALSE
- sortTim(subsystems, /proc/cmp_subsystem_init)
+ sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_init))
reverseRange(subsystems)
for(var/datum/controller/subsystem/ss in subsystems)
log_world("Shutting down [ss.name] subsystem...")
@@ -173,7 +173,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
to_chat(world, "MC: Initializing subsystems...")
// Sort subsystems by init_order, so they initialize in the correct order.
- sortTim(subsystems, /proc/cmp_subsystem_init)
+ sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_init))
var/start_timeofday = REALTIMEOFDAY
// Initialize subsystems.
@@ -199,7 +199,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
GLOB.revdata = new // It can load revdata now, from tgs or .git or whatever
// Sort subsystems by display setting for easy access.
- sortTim(subsystems, /proc/cmp_subsystem_display)
+ sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_display))
// Set world options.
#ifdef UNIT_TEST
world.sleep_offline = 0
@@ -279,9 +279,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
queue_tail = null
//these sort by lower priorities first to reduce the number of loops needed to add subsequent SS's to the queue
//(higher subsystems will be sooner in the queue, adding them later in the loop means we don't have to loop thru them next queue add)
- sortTim(tickersubsystems, /proc/cmp_subsystem_priority)
+ sortTim(tickersubsystems, GLOBAL_PROC_REF(cmp_subsystem_priority))
for(var/I in runlevel_sorted_subsystems)
- sortTim(runlevel_sorted_subsystems, /proc/cmp_subsystem_priority)
+ sortTim(runlevel_sorted_subsystems, GLOBAL_PROC_REF(cmp_subsystem_priority))
I += tickersubsystems
var/cached_runlevel = current_runlevel
diff --git a/code/controllers/subsystems/assets.dm b/code/controllers/subsystems/assets.dm
index 75c23ff10f..522deae177 100644
--- a/code/controllers/subsystems/assets.dm
+++ b/code/controllers/subsystems/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, .proc/getFilesSlow, C, preload, FALSE), 10)
- return ..()
\ No newline at end of file
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(getFilesSlow), C, preload, FALSE), 10)
+ return ..()
diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm
index 2aa6d84cb6..30878ea6ac 100644
--- a/code/controllers/subsystems/job.dm
+++ b/code/controllers/subsystems/job.dm
@@ -37,11 +37,11 @@ SUBSYSTEM_DEF(job)
if(LAZYLEN(job.departments))
add_to_departments(job)
- sortTim(occupations, /proc/cmp_job_datums)
+ sortTim(occupations, GLOBAL_PROC_REF(cmp_job_datums))
for(var/D in department_datums)
var/datum/department/dept = department_datums[D]
- sortTim(dept.jobs, /proc/cmp_job_datums, TRUE)
- sortTim(dept.primary_jobs, /proc/cmp_job_datums, TRUE)
+ sortTim(dept.jobs, GLOBAL_PROC_REF(cmp_job_datums), TRUE)
+ sortTim(dept.primary_jobs, GLOBAL_PROC_REF(cmp_job_datums), TRUE)
return TRUE
@@ -69,7 +69,7 @@ SUBSYSTEM_DEF(job)
var/datum/department/D = new t()
department_datums[D.name] = D
- sortTim(department_datums, /proc/cmp_department_datums, TRUE)
+ sortTim(department_datums, GLOBAL_PROC_REF(cmp_department_datums), TRUE)
/datum/controller/subsystem/job/proc/get_all_department_datums()
var/list/dept_datums = list()
@@ -140,4 +140,4 @@ SUBSYSTEM_DEF(job)
/datum/controller/subsystem/job/proc/job_debug_message(message)
if(debug_messages)
- log_debug("JOB DEBUG: [message]")
\ No newline at end of file
+ log_debug("JOB DEBUG: [message]")
diff --git a/code/controllers/subsystems/media_tracks.dm b/code/controllers/subsystems/media_tracks.dm
index 534de10704..824114d3de 100644
--- a/code/controllers/subsystems/media_tracks.dm
+++ b/code/controllers/subsystems/media_tracks.dm
@@ -56,14 +56,18 @@ SUBSYSTEM_DEF(media_tracks)
T.secret = entry["secret"] ? 1 : 0
T.lobby = entry["lobby"] ? 1 : 0
+<<<<<<< HEAD
/// CHOMPstation edit start: Jack - Injecting casino track into new jukebox subsystem
T.casino = entry["casino"] ? 1 : 0
/// CHOMPstation edit end
+=======
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
all_tracks += T
/datum/controller/subsystem/media_tracks/proc/sort_tracks()
report_progress("Sorting media tracks...")
+<<<<<<< HEAD
sortTim(all_tracks, /proc/cmp_media_track_asc)
jukebox_tracks.Cut()
@@ -71,6 +75,12 @@ SUBSYSTEM_DEF(media_tracks)
/// CHOMPstation edit start: Jack - Injecting casino track into new jukebox subsystem
casino_tracks.Cut()
/// CHOMPstation edit end
+=======
+ sortTim(all_tracks, GLOBAL_PROC_REF(cmp_media_track_asc))
+
+ jukebox_tracks.Cut()
+ lobby_tracks.Cut()
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
for(var/datum/track/T in all_tracks)
/// CHOMPstation edit start: Jack - Injecting casino track into new jukebox subsystem
@@ -120,17 +130,21 @@ SUBSYSTEM_DEF(media_tracks)
if(!songdata["url"] || !songdata["title"] || !songdata["duration"])
to_chat(C, "URL, Title, or Duration was missing from a song. Skipping.")
continue
+<<<<<<< HEAD
var/datum/track/T = new(songdata["url"], songdata["title"], songdata["duration"], songdata["artist"], songdata["genre"], songdata["secret"], songdata["lobby"], songdata["casino"])
+=======
+ var/datum/track/T = new(songdata["url"], songdata["title"], songdata["duration"], songdata["artist"], songdata["genre"], songdata["secret"], songdata["lobby"])
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
all_tracks += T
report_progress("New media track added by [C]: [T.title]")
sort_tracks()
return
-
+
var/title = tgui_input_text(C, "REQUIRED: Provide title for track", "Track Title")
if(!title)
return
-
+
var/duration = tgui_input_number(C, "REQUIRED: Provide duration for track (in deciseconds, aka seconds*10)", "Track Duration")
if(!duration)
return
@@ -139,7 +153,7 @@ SUBSYSTEM_DEF(media_tracks)
var/artist = tgui_input_text(C, "Optional: Provide artist for track", "Track Artist")
if(isnull(artist)) // Cancel rather than empty string
return
-
+
var/genre = tgui_input_text(C, "Optional: Provide genre for track (try to match an existing one)", "Track Genre")
if(isnull(genre)) // Cancel rather than empty string
return
@@ -174,9 +188,12 @@ SUBSYSTEM_DEF(media_tracks)
T.secret = secret
T.lobby = lobby
+<<<<<<< HEAD
/// CHOMPstation edit start: Jack - Injecting casino track into new jukebox subsystem
T.casino = casino
/// CHOMPstation edit end
+=======
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
all_tracks += T
diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index cfb01df406..5dda42d8ec 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -220,7 +220,7 @@ var/global/datum/controller/subsystem/ticker/ticker
end_game_state = END_GAME_READY_TO_END
current_state = GAME_STATE_FINISHED
Master.SetRunLevel(RUNLEVEL_POSTGAME)
- INVOKE_ASYNC(src, .proc/declare_completion)
+ INVOKE_ASYNC(src, PROC_REF(declare_completion))
else if (mode_finished && (end_game_state < END_GAME_MODE_FINISHED))
end_game_state = END_GAME_MODE_FINISHED // Only do this cleanup once!
mode.cleanup()
diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm
index 4fadc4f599..cfcba6afbf 100644
--- a/code/controllers/subsystems/timer.dm
+++ b/code/controllers/subsystems/timer.dm
@@ -256,7 +256,7 @@ SUBSYSTEM_DEF(timer)
if (!length(alltimers))
return
- sortTim(alltimers, /proc/cmp_timer)
+ sortTim(alltimers, GLOBAL_PROC_REF(cmp_timer))
var/datum/timedevent/head = alltimers[1]
@@ -516,4 +516,4 @@ SUBSYSTEM_DEF(timer)
#undef BUCKET_LEN
#undef BUCKET_POS
#undef TIMER_MAX
-#undef TIMER_ID_MAX
\ No newline at end of file
+#undef TIMER_ID_MAX
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index 18472c854c..62aa9aab86 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -290,7 +290,7 @@
winset(user, "mapwindow", "focus=true")
break
if (timeout)
- addtimer(CALLBACK(src, .proc/close), timeout)
+ addtimer(CALLBACK(src, PROC_REF(close)), timeout)
/datum/browser/modal/proc/wait()
while (opentime && selectedbutton <= 0 && (!timeout || opentime+timeout > world.time))
diff --git a/code/datums/chat_message.dm b/code/datums/chat_message.dm
index 982e9e098c..23d43296b0 100644
--- a/code/datums/chat_message.dm
+++ b/code/datums/chat_message.dm
@@ -34,7 +34,7 @@ var/list/runechat_image_cache = list()
var/image/emote_image = image('icons/UI_Icons/chat/chat_icons.dmi', icon_state = "emote")
runechat_image_cache["emote"] = emote_image
-
+
return TRUE
/datum/chatmessage
@@ -99,10 +99,10 @@ var/list/runechat_image_cache = list()
if(!target || !owner)
qdel(src)
return
-
+
// Register client who owns this message
owned_by = owner.client
- RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/qdel_self)
+ RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, PROC_REF(qdel_self))
var/extra_length = owned_by.is_preference_enabled(/datum/client_preference/runechat_long_messages)
var/maxlen = extra_length ? CHAT_MESSAGE_EXT_LENGTH : CHAT_MESSAGE_LENGTH
@@ -147,10 +147,10 @@ var/list/runechat_image_cache = list()
// Icon on both ends?
//var/image/I = runechat_image_cache["emote"]
//text = "\icon[I][text]\icon[I]"
-
+
// Icon on one end?
//LAZYADD(prefixes, "\icon[runechat_image_cache["emote"]]")
-
+
// Asterisks instead?
text = "* [text] *"
@@ -168,7 +168,7 @@ var/list/runechat_image_cache = list()
// Translate any existing messages upwards, apply exponential decay factors to timers
message_loc = target.runechat_holder(src)
- RegisterSignal(message_loc, COMSIG_PARENT_QDELETING, .proc/qdel_self)
+ RegisterSignal(message_loc, COMSIG_PARENT_QDELETING, PROC_REF(qdel_self))
if(owned_by.seen_messages)
var/idx = 1
var/combined_height = approx_lines
@@ -255,7 +255,7 @@ var/list/runechat_image_cache = list()
if(!message)
return
*/
-
+
var/list/extra_classes = list()
extra_classes += existing_extra_classes
diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm
index 6e0a3bfdc5..fd468994de 100644
--- a/code/datums/components/crafting/crafting.dm
+++ b/code/datums/components/crafting/crafting.dm
@@ -1,6 +1,6 @@
/datum/component/personal_crafting/Initialize()
if(ismob(parent))
- RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, .proc/create_mob_button)
+ RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button))
/datum/component/personal_crafting/proc/create_mob_button(mob/user, client/CL)
// SIGNAL_HANDLER
@@ -12,7 +12,7 @@
C.alpha = H.ui_alpha
LAZYADD(H.other_important, C)
CL.screen += C
- RegisterSignal(C, COMSIG_CLICK, .proc/component_ui_interact)
+ RegisterSignal(C, COMSIG_CLICK, PROC_REF(component_ui_interact))
/datum/component/personal_crafting
var/busy
@@ -279,28 +279,28 @@
if(amt <= 0)//since machinery can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it!
continue
- // If the path is in R.parts, we want to grab those to stuff into the product
+ // If the path is in R.parts, we want to grab those to stuff into the product
var/amt_to_transfer = 0
if(is_path_in_list(path_key, R.parts))
amt_to_transfer = R.parts[path_key]
-
+
// Reagent: gotta go sniffing in all the beakers
if(ispath(path_key, /datum/reagent))
var/datum/reagent/reagent = path_key
var/id = initial(reagent.id)
- for(var/obj/item/weapon/reagent_containers/RC in surroundings)
+ for(var/obj/item/weapon/reagent_containers/RC in surroundings)
// Found everything we need
if(amt <= 0 && amt_to_transfer <= 0)
- break
+ break
// If we need to keep any to put in the new object, pull it out
if(amt_to_transfer > 0)
var/A = RC.reagents.trans_id_to(parts["reagents"], id, amt_to_transfer)
amt_to_transfer -= A
amt -= A
-
+
// If we need to consume some amount of it
if(amt > 0)
var/datum/reagent/RG = RC.reagents.get_reagent(id)
@@ -322,27 +322,27 @@
parts["items"] += split
amt_to_transfer -= split.get_amount()
amt -= split.get_amount()
-
+
if(amt > 0)
var/A = min(amt, S.get_amount())
if(S.use(A))
amt -= A
-
+
else // Just a regular item. Find them all and delete them
for(var/atom/movable/I in surroundings)
if(amt <= 0 && amt_to_transfer <= 0)
break
-
+
if(!istype(I, path_key))
continue
-
+
// Special case: the reagents may be needed for other recipes
if(istype(I, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
if(RC.reagents.total_volume > 0)
continue
-
+
// We're using it for something
amt--
@@ -351,7 +351,7 @@
parts["items"] += I
amt_to_transfer--
continue
-
+
// Snowflake handling of reagent containers and storage atoms.
// If we consumed them in our crafting, we should dump their contents out before qdeling them.
if(istype(I, /obj/item/weapon/reagent_containers))
@@ -369,7 +369,7 @@
// SIGNAL_HANDLER
if(user == parent)
- INVOKE_ASYNC(src, .proc/tgui_interact, user)
+ INVOKE_ASYNC(src, PROC_REF(tgui_interact), user)
/datum/component/personal_crafting/tgui_state(mob/user)
return GLOB.tgui_not_incapacitated_turf_state
@@ -499,7 +499,7 @@
//Also these are typepaths so sadly we can't just do "[a]"
L += "[req[req_atom]] [initial(req_atom.name)]"
req_text += L.Join(" OR ")
-
+
for(var/obj/machinery/content as anything in R.machinery)
req_text += "[R.reqs[content]] [initial(content.name)]"
if(R.additional_req_text)
@@ -530,4 +530,4 @@
name = "crafting menu"
icon = 'icons/mob/screen/midnight.dmi'
icon_state = "craft"
- screen_loc = ui_smallquad
\ No newline at end of file
+ screen_loc = ui_smallquad
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index 2b0c74e269..b414f4651f 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -76,9 +76,9 @@
. = ..()
if(!(mat_container_flags & MATCONTAINER_NO_INSERT))
- RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/on_attackby)
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
if(mat_container_flags & MATCONTAINER_EXAMINE)
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine)
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
/datum/component/material_container/vv_edit_var(var_name, var_value)
@@ -86,12 +86,12 @@
. = ..()
if(var_name == NAMEOF(src, mat_container_flags) && parent)
if(!(old_flags & MATCONTAINER_EXAMINE) && mat_container_flags & MATCONTAINER_EXAMINE)
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine)
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
else if(old_flags & MATCONTAINER_EXAMINE && !(mat_container_flags & MATCONTAINER_EXAMINE))
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
if(old_flags & MATCONTAINER_NO_INSERT && !(mat_container_flags & MATCONTAINER_NO_INSERT))
- RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/on_attackby)
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
else if(!(old_flags & MATCONTAINER_NO_INSERT) && mat_container_flags & MATCONTAINER_NO_INSERT)
UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY)
diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm
index 9bc3820494..755888cec1 100644
--- a/code/datums/components/overlay_lighting.dm
+++ b/code/datums/components/overlay_lighting.dm
@@ -111,15 +111,15 @@
/datum/component/overlay_lighting/RegisterWithParent()
. = ..()
if(directional)
- RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/on_parent_dir_change)
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_parent_moved)
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_RANGE, .proc/set_range)
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_POWER, .proc/set_power)
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_COLOR, .proc/set_color)
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_ON, .proc/on_toggle)
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_FLAGS, .proc/on_light_flags_change)
- RegisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT, .proc/on_parent_crafted)
- RegisterSignal(parent, COMSIG_LIGHT_EATER_QUEUE, .proc/on_light_eater)
+ RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_parent_dir_change))
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_moved))
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_RANGE, PROC_REF(set_range))
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_POWER, PROC_REF(set_power))
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_COLOR, PROC_REF(set_color))
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_ON, PROC_REF(on_toggle))
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_FLAGS, PROC_REF(on_light_flags_change))
+ RegisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(on_parent_crafted))
+ RegisterSignal(parent, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
var/atom/movable/movable_parent = parent
if(movable_parent.light_flags & LIGHT_ATTACHED)
overlay_lighting_flags |= LIGHTING_ATTACHED
@@ -155,17 +155,17 @@
set_parent_attached_to(null)
set_holder(null)
clean_old_turfs()
-
+
qdel(visible_mask, TRUE)
visible_mask = null
-
+
if(directional)
qdel(directional_atom, TRUE)
directional_atom = null
-
+
qdel(cone, TRUE)
cone = null
-
+
return ..()
@@ -229,15 +229,15 @@
var/atom/movable/old_parent_attached_to = .
UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
if(old_parent_attached_to == current_holder)
- RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, .proc/on_holder_qdel)
- RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, .proc/on_holder_moved)
- RegisterSignal(old_parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, .proc/on_light_eater)
+ RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
+ RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
+ RegisterSignal(old_parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
if(parent_attached_to)
if(parent_attached_to == current_holder)
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
- RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, .proc/on_parent_attached_to_qdel)
- RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, .proc/on_parent_attached_to_moved)
- RegisterSignal(parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, .proc/on_light_eater)
+ RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_attached_to_qdel))
+ RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_attached_to_moved))
+ RegisterSignal(parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
check_holder()
@@ -257,11 +257,11 @@
clean_old_turfs()
return
if(new_holder != parent && new_holder != parent_attached_to)
- RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, .proc/on_holder_qdel)
- RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, .proc/on_holder_moved)
- RegisterSignal(new_holder, COMSIG_LIGHT_EATER_QUEUE, .proc/on_light_eater)
+ RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
+ RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
+ RegisterSignal(new_holder, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
if(directional)
- RegisterSignal(new_holder, COMSIG_ATOM_DIR_CHANGE, .proc/on_holder_dir_change)
+ RegisterSignal(new_holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_holder_dir_change))
if(overlay_lighting_flags & LIGHTING_ON)
make_luminosity_update()
add_dynamic_lumi()
@@ -444,7 +444,7 @@
if(final_distance > SHORT_CAST && !(ALL_CARDINALS & current_direction))
final_distance -= 1
var/turf/scanning = get_turf(current_holder)
-
+
. = 0
for(var/i in 1 to final_distance)
var/turf/next_turf = get_step(scanning, current_direction)
@@ -464,7 +464,7 @@
if(final_distance > SHORT_CAST && !(ALL_CARDINALS & get_dir(GET_PARENT, target)))
final_distance -= 1
var/turf/scanning = get_turf(GET_PARENT)
-
+
. = 0
for(var/i in 1 to final_distance)
var/next_dir = get_dir(scanning, target)
@@ -477,9 +477,9 @@
directional_atom.forceMove(scanning)
var/turf/Ts = get_turf(GET_PARENT)
var/turf/To = get_turf(GET_LIGHT_SOURCE)
-
+
var/angle = Get_Angle(Ts, To)
-
+
directional_atom.face_light(GET_PARENT, angle, .)
set_cone_direction(NORTH, angle)
@@ -510,7 +510,7 @@
return
current_direction = newdir
set_cone_direction(newdir)
-
+
if(newdir & NORTH)
cone.pixel_y = 16
else if(newdir & SOUTH)
@@ -522,7 +522,7 @@
else
cone.pixel_y = 0
directional_atom.pixel_y = 0
-
+
if(newdir & EAST)
cone.pixel_x = 16
else if(newdir & WEST)
@@ -538,7 +538,7 @@
else
cone.pixel_x = 0
directional_atom.pixel_x = 0
-
+
if(!skip_update && (overlay_lighting_flags & LIGHTING_ON))
make_luminosity_update()
@@ -549,7 +549,7 @@
return
UnregisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT)
- RegisterSignal(new_craft, COMSIG_ATOM_USED_IN_CRAFT, .proc/on_parent_crafted)
+ RegisterSignal(new_craft, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(on_parent_crafted))
set_parent_attached_to(new_craft)
/// Handles putting the source for overlay lights into the light eater queue since we aren't tracked by [/atom/var/light_sources]
diff --git a/code/datums/components/resize_guard.dm b/code/datums/components/resize_guard.dm
index 724d252443..33799cb828 100644
--- a/code/datums/components/resize_guard.dm
+++ b/code/datums/components/resize_guard.dm
@@ -6,7 +6,7 @@
/datum/component/resize_guard/RegisterWithParent()
// When our parent mob enters any atom, we check resize
- RegisterSignal(parent, COMSIG_ATOM_ENTERING, .proc/check_resize)
+ RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(check_resize))
/datum/component/resize_guard/UnregisterFromParent()
UnregisterSignal(parent, COMSIG_ATOM_ENTERING)
@@ -16,4 +16,4 @@
if(A?.limit_mob_size)
var/mob/living/L = parent
L.resize(L.size_multiplier)
- qdel(src)
\ No newline at end of file
+ qdel(src)
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index aa92979d5a..4579f50f40 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -63,11 +63,11 @@
if(!check_rights(NONE))
return
var/list/names = list()
- var/list/componentsubtypes = sortTim(subtypesof(/datum/component), /proc/cmp_typepaths_asc)
+ var/list/componentsubtypes = sortTim(subtypesof(/datum/component), GLOBAL_PROC_REF(cmp_typepaths_asc))
names += "---Components---"
names += componentsubtypes
names += "---Elements---"
- names += sortTim(subtypesof(/datum/element), /proc/cmp_typepaths_asc)
+ names += sortTim(subtypesof(/datum/element), GLOBAL_PROC_REF(cmp_typepaths_asc))
var/result = tgui_input_list(usr, "Choose a component/element to add:", "Add Component/Element", names)
if(!usr || !result || result == "---Components---" || result == "---Elements---")
return
diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm
index 30bd98a326..82b5139522 100644
--- a/code/datums/elements/_element.dm
+++ b/code/datums/elements/_element.dm
@@ -23,7 +23,7 @@
return ELEMENT_INCOMPATIBLE
SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src)
if(element_flags & ELEMENT_DETACH)
- RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/OnTargetDelete, override = TRUE)
+ RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(OnTargetDelete), override = TRUE)
/datum/element/proc/OnTargetDelete(datum/source, force)
SIGNAL_HANDLER
diff --git a/code/datums/elements/conflict_checking.dm b/code/datums/elements/conflict_checking.dm
index cd56d28856..eea61f8f89 100644
--- a/code/datums/elements/conflict_checking.dm
+++ b/code/datums/elements/conflict_checking.dm
@@ -18,7 +18,7 @@
CRASH("Invalid ID in conflict checking element.")
if(isnull(src.id))
src.id = id
- RegisterSignal(target, COMSIG_CONFLICT_ELEMENT_CHECK, .proc/check)
+ RegisterSignal(target, COMSIG_CONFLICT_ELEMENT_CHECK, PROC_REF(check))
/datum/element/conflict_checking/proc/check(datum/source, id_to_check)
if(id == id_to_check)
@@ -32,4 +32,4 @@
for(var/i in GetAllContents())
var/atom/movable/AM = i
if(SEND_SIGNAL(AM, COMSIG_CONFLICT_ELEMENT_CHECK, id) & ELEMENT_CONFLICT_FOUND)
- ++.
\ No newline at end of file
+ ++.
diff --git a/code/datums/elements/light_blocking.dm b/code/datums/elements/light_blocking.dm
index 86aac9f075..f8e5cd82df 100644
--- a/code/datums/elements/light_blocking.dm
+++ b/code/datums/elements/light_blocking.dm
@@ -9,7 +9,7 @@
. = ..()
if(!ismovable(target))
return ELEMENT_INCOMPATIBLE
- RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/on_target_move)
+ RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_target_move))
var/atom/movable/movable_target = target
if(isturf(movable_target.loc))
var/turf/turf_loc = movable_target.loc
diff --git a/code/datums/elements/turf_transparency.dm b/code/datums/elements/turf_transparency.dm
index d120c35041..528eac7d18 100644
--- a/code/datums/elements/turf_transparency.dm
+++ b/code/datums/elements/turf_transparency.dm
@@ -14,8 +14,8 @@
our_turf.plane = OPENSPACE_PLANE
our_turf.layer = OPENSPACE_LAYER
- RegisterSignal(target, COMSIG_TURF_MULTIZ_DEL, .proc/on_multiz_turf_del, override = TRUE)
- RegisterSignal(target, COMSIG_TURF_MULTIZ_NEW, .proc/on_multiz_turf_new, override = TRUE)
+ RegisterSignal(target, COMSIG_TURF_MULTIZ_DEL, PROC_REF(on_multiz_turf_del), override = TRUE)
+ RegisterSignal(target, COMSIG_TURF_MULTIZ_NEW, PROC_REF(on_multiz_turf_new), override = TRUE)
update_multiz(our_turf, TRUE, TRUE)
@@ -75,12 +75,16 @@
if(!ispath(path))
warning("Z-level [our_turf] has invalid baseturf '[get_base_turf_by_area(our_turf)]' in area '[get_area(our_turf)]'")
path = /turf/space
-
+
var/do_plane = ispath(path, /turf/space) ? SPACE_PLANE : null
var/do_state = ispath(path, /turf/space) ? "white" : initial(path.icon_state)
-
+
var/mutable_appearance/underlay_appearance = mutable_appearance(initial(path.icon), do_state, layer = TURF_LAYER-0.02, plane = do_plane)
underlay_appearance.appearance_flags = RESET_ALPHA | RESET_COLOR
our_turf.underlays += underlay_appearance
+<<<<<<< HEAD
+=======
+
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
return TRUE
diff --git a/code/datums/ghost_query.dm b/code/datums/ghost_query.dm
index 2f3f4884b5..234a226c81 100644
--- a/code/datums/ghost_query.dm
+++ b/code/datums/ghost_query.dm
@@ -63,7 +63,7 @@
if(query_sound)
SEND_SOUND(C, sound(query_sound))
- tgui_alert_async(D, question, "[role_name] request", list("Yes", "No", "Never for this round"), CALLBACK(src, .proc/get_reply), wait_time SECONDS)
+ tgui_alert_async(D, question, "[role_name] request", list("Yes", "No", "Never for this round"), CALLBACK(src, PROC_REF(get_reply)), wait_time SECONDS)
/// Process an async alert response
/datum/ghost_query/proc/get_reply(response)
@@ -87,7 +87,7 @@
else if(finished) // Already finished candidate list
to_chat(D, "Unfortunately, you were not fast enough, and there are no more available roles. Sorry.")
else // Prompt a second time
- tgui_alert_async(D, "Are you sure you want to play as a [role_name]?", "[role_name] request", list("I'm Sure", "Nevermind"), CALLBACK(src, .proc/get_reply), wait_time SECONDS)
+ tgui_alert_async(D, "Are you sure you want to play as a [role_name]?", "[role_name] request", list("I'm Sure", "Nevermind"), CALLBACK(src, PROC_REF(get_reply)), wait_time SECONDS)
if("I'm Sure")
if(!evaluate_candidate(D)) // Failed revalidation
diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm
index 19cf43d190..8bf17e110c 100644
--- a/code/datums/looping_sounds/_looping_sound.dm
+++ b/code/datums/looping_sounds/_looping_sound.dm
@@ -89,7 +89,7 @@
if(!chance || prob(chance))
play(get_sound(starttime))
if(!timerid)
- timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_STOPPABLE | TIMER_LOOP)
+ timerid = addtimer(CALLBACK(src, PROC_REF(sound_loop), world.time), mid_length, TIMER_STOPPABLE | TIMER_LOOP)
/datum/looping_sound/proc/play(soundfile)
var/list/atoms_cache = output_atoms
@@ -121,7 +121,7 @@
if(start_sound)
play(start_sound)
start_wait = start_length
- addtimer(CALLBACK(src, .proc/sound_loop), start_wait)
+ addtimer(CALLBACK(src, PROC_REF(sound_loop)), start_wait)
/datum/looping_sound/proc/on_stop()
if(end_sound)
diff --git a/code/datums/looping_sounds/sequence.dm b/code/datums/looping_sounds/sequence.dm
index 650b3c8d5a..b43229812e 100644
--- a/code/datums/looping_sounds/sequence.dm
+++ b/code/datums/looping_sounds/sequence.dm
@@ -54,7 +54,7 @@
/datum/looping_sound/sequence/sound_loop(starttime)
iterate_on_sequence()
- timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), next_iteration_delay, TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(sound_loop), world.time), next_iteration_delay, TIMER_STOPPABLE)
#define MORSE_DOT "*" // Yes this is an asterisk but its easier to see on a computer compared to a period.
#define MORSE_DASH "-"
@@ -172,4 +172,4 @@
return spaces_between_letters
#undef MORSE_DOT
-#undef MORSE_DASH
\ No newline at end of file
+#undef MORSE_DASH
diff --git a/code/datums/riding.dm b/code/datums/riding.dm
index ec5afff5d5..d92e19ba2d 100644
--- a/code/datums/riding.dm
+++ b/code/datums/riding.dm
@@ -112,7 +112,7 @@
to_chat(user, "You'll need [key_name] in one of your hands to move \the [ridden].")
/datum/riding/proc/Unbuckle(atom/movable/M)
-// addtimer(CALLBACK(ridden, /atom/movable/.proc/unbuckle_mob, M), 0, TIMER_UNIQUE)
+// addtimer(CALLBACK(ridden, TYPE_PROC_REF(/atom/movable, unbuckle_mob), M), 0, TIMER_UNIQUE)
spawn(0)
// On /tg/ this uses the fancy CALLBACK system. Not entirely sure why they needed to do so with a duration of 0,
// so if there is a reason, this should replicate it close enough. Hopefully.
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index e299368120..9f865aced6 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -698,7 +698,7 @@
if(length(speech_bubble_hearers))
var/image/I = generate_speech_bubble(src, "[bubble_icon][say_test(message)]", FLY_LAYER)
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
- INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, speech_bubble_hearers, 30)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), I, speech_bubble_hearers, 30)
/atom/proc/speech_bubble(bubble_state = "", bubble_loc = src, list/bubble_recipients = list())
return
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index 58338edf22..74c4d3569e 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -741,7 +741,7 @@
// Cooldown
injector_ready = FALSE
- addtimer(CALLBACK(src, .proc/injector_cooldown_finish), 30 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(injector_cooldown_finish)), 30 SECONDS)
// Create it
var/datum/dna2/record/buf = buffers[buffer_id]
@@ -798,4 +798,4 @@
#undef PAGE_BUFFER
#undef PAGE_REJUVENATORS
-/////////////////////////// DNA MACHINES
\ No newline at end of file
+/////////////////////////// DNA MACHINES
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 3740010914..c0d7cfd7a4 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -154,7 +154,7 @@
return
/obj/effect/gateway/active/Initialize()
- addtimer(CALLBACK(src, .proc/spawn_and_qdel), rand(30, 60) SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(spawn_and_qdel)), rand(30, 60) SECONDS)
/obj/effect/gateway/active/proc/spawn_and_qdel()
if(LAZYLEN(spawnable))
diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm
index aa83185740..baa151eecb 100644
--- a/code/game/jobs/job/civilian_chaplain.dm
+++ b/code/game/jobs/job/civilian_chaplain.dm
@@ -34,7 +34,7 @@
if(!B || !I)
return
- INVOKE_ASYNC(src, .proc/religion_prompts, H, B, I)
+ INVOKE_ASYNC(src, PROC_REF(religion_prompts), H, B, I)
/datum/job/chaplain/proc/religion_prompts(mob/living/carbon/human/H, obj/item/weapon/storage/bible/B, obj/item/weapon/card/id/I)
var/religion_name = "Unitarianism"
diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index c526550139..92053f4222 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -26,7 +26,7 @@ var/global/datum/controller/occupations/job_master
if(!job) continue
if(job.faction != faction) continue
occupations += job
- sortTim(occupations, /proc/cmp_job_datums)
+ sortTim(occupations, GLOBAL_PROC_REF(cmp_job_datums))
return 1
diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm
index bfe95bada7..c50080feb9 100644
--- a/code/game/machinery/atmoalter/area_atmos_computer.dm
+++ b/code/game/machinery/atmoalter/area_atmos_computer.dm
@@ -48,13 +48,13 @@
"load" = scrubber.last_power_draw,
"area" = get_area(scrubber),
)))
-
+
return list("scrubbers" = working)
/obj/machinery/computer/area_atmos/tgui_act(action, params)
if(..())
return TRUE
-
+
switch(action)
if("toggle")
var/scrub_id = params["id"]
@@ -66,10 +66,10 @@
S.update_icon()
. = TRUE
if("allon")
- INVOKE_ASYNC(src, .proc/toggle_all, TRUE)
+ INVOKE_ASYNC(src, PROC_REF(toggle_all), TRUE)
. = TRUE
if("alloff")
- INVOKE_ASYNC(src, .proc/toggle_all, FALSE)
+ INVOKE_ASYNC(src, PROC_REF(toggle_all), FALSE)
. = TRUE
if("scan")
scanscrubbers()
@@ -78,7 +78,7 @@
add_fingerprint(usr)
/obj/machinery/computer/area_atmos/proc/toggle_all(on)
- for(var/id in connectedscrubbers)
+ for(var/id in connectedscrubbers)
var/obj/machinery/portable_atmospherics/powered/scrubber/huge/S = connectedscrubbers["[id]"]
if(!validscrubber(S))
connectedscrubbers -= S
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index cebc88566e..236f6d6837 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -30,7 +30,7 @@
var/filtertext
/obj/machinery/autolathe/Initialize()
- AddComponent(/datum/component/material_container, subtypesof(/datum/material), 0, MATCONTAINER_EXAMINE, _after_insert = CALLBACK(src, .proc/AfterMaterialInsert))
+ AddComponent(/datum/component/material_container, subtypesof(/datum/material), 0, MATCONTAINER_EXAMINE, _after_insert = CALLBACK(src, PROC_REF(AfterMaterialInsert)))
. = ..()
if(!autolathe_recipes)
autolathe_recipes = new()
diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm
index 227e36948c..62a2a154a5 100644
--- a/code/game/machinery/biogenerator.dm
+++ b/code/game/machinery/biogenerator.dm
@@ -142,7 +142,7 @@
. = TRUE
switch(action)
if("activate")
- INVOKE_ASYNC(src, .proc/activate)
+ INVOKE_ASYNC(src, PROC_REF(activate))
return TRUE
if("detach")
if(beaker)
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 60e5727a7c..7930231cbf 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -348,7 +348,7 @@
printing = TRUE
// playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
SStgui.update_uis(src)
- addtimer(CALLBACK(src, .proc/print_finish), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_finish)), 5 SECONDS)
else
return FALSE
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 2e315362cf..fea0fa3950 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -336,7 +336,7 @@
printing = TRUE
// playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
SStgui.update_uis(src)
- addtimer(CALLBACK(src, .proc/print_finish), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_finish)), 5 SECONDS)
if("photo_front")
var/icon/photo = get_photo(usr)
if(photo && active1)
diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm
index 26e45d7f40..876a2009d1 100644
--- a/code/game/machinery/computer/skills.dm
+++ b/code/game/machinery/computer/skills.dm
@@ -251,7 +251,7 @@
printing = TRUE
// playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
SStgui.update_uis(src)
- addtimer(CALLBACK(src, .proc/print_finish), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_finish)), 5 SECONDS)
else
return FALSE
diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm
index 9c6950bfbe..7c148201af 100644
--- a/code/game/machinery/doors/blast_door.dm
+++ b/code/game/machinery/doors/blast_door.dm
@@ -273,7 +273,7 @@
force_open()
if(autoclose && src.operating && !(stat & BROKEN || stat & NOPOWER))
- addtimer(CALLBACK(src, .proc/close, 15 SECONDS))
+ addtimer(CALLBACK(src, PROC_REF(close), 15 SECONDS))
return 1
// Proc: close()
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index c62c7ea94d..0a3e3973b7 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -94,7 +94,7 @@
for(var/obj/machinery/door/window/brigdoor/door in targets)
if(door.density)
continue
- INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/close)
+ INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor, close))
for(var/obj/structure/closet/secure_closet/brig/C in targets)
if(C.broken)
@@ -118,7 +118,7 @@
for(var/obj/machinery/door/window/brigdoor/door in targets)
if(!door.density)
continue
- INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/open)
+ INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor, open))
for(var/obj/structure/closet/secure_closet/brig/C in targets)
if(C.broken)
diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm
index 23b71bdb0f..4f5adbb677 100644
--- a/code/game/machinery/doors/multi_tile.dm
+++ b/code/game/machinery/doors/multi_tile.dm
@@ -10,7 +10,7 @@
/obj/machinery/door/airlock/multi_tile/Initialize(mapload)
. = ..()
SetBounds()
- RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/SetBounds)
+ RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(SetBounds))
apply_opacity_to_my_turfs(opacity)
/obj/machinery/door/airlock/multi_tile/set_opacity()
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 28afc5e9ff..822e950d63 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -67,13 +67,13 @@
if(istype(bot))
if(density && src.check_access(bot.botcard))
open()
- addtimer(CALLBACK(src, .proc/close), 50)
+ addtimer(CALLBACK(src, PROC_REF(close)), 50)
else if(istype(AM, /obj/mecha))
var/obj/mecha/mecha = AM
if(density)
if(mecha.occupant && src.allowed(mecha.occupant))
open()
- addtimer(CALLBACK(src, .proc/close), 50)
+ addtimer(CALLBACK(src, PROC_REF(close)), 50)
return
if (!( ticker ))
return
@@ -81,7 +81,7 @@
return
if (density && allowed(AM))
open()
- addtimer(CALLBACK(src, .proc/close), check_access(null)? 50 : 20)
+ addtimer(CALLBACK(src, PROC_REF(close)), check_access(null)? 50 : 20)
/obj/machinery/door/window/CanPass(atom/movable/mover, turf/target)
if(istype(mover) && mover.checkpass(PASSGLASS))
diff --git a/code/game/machinery/holoposter.dm b/code/game/machinery/holoposter.dm
index 2e1d609ccc..a5174380d2 100644
--- a/code/game/machinery/holoposter.dm
+++ b/code/game/machinery/holoposter.dm
@@ -29,7 +29,7 @@ GLOBAL_LIST_EMPTY(holoposters)
. = ..()
set_rand_sprite()
GLOB.holoposters += src
- mytimer = addtimer(CALLBACK(src, .proc/set_rand_sprite), 30 MINUTES + rand(0, 5 MINUTES), TIMER_STOPPABLE | TIMER_LOOP)
+ mytimer = addtimer(CALLBACK(src, PROC_REF(set_rand_sprite)), 30 MINUTES + rand(0, 5 MINUTES), TIMER_STOPPABLE | TIMER_LOOP)
/obj/machinery/holoposter/Destroy()
GLOB.holoposters -= src
@@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(holoposters)
stat &= ~BROKEN
icon_forced = FALSE
if(!mytimer)
- mytimer = addtimer(CALLBACK(src, .proc/set_rand_sprite), 30 MINUTES + rand(0, 5 MINUTES), TIMER_STOPPABLE | TIMER_LOOP)
+ mytimer = addtimer(CALLBACK(src, PROC_REF(set_rand_sprite)), 30 MINUTES + rand(0, 5 MINUTES), TIMER_STOPPABLE | TIMER_LOOP)
set_rand_sprite()
return
icon_forced = TRUE
@@ -114,4 +114,3 @@ GLOBAL_LIST_EMPTY(holoposters)
/obj/machinery/holoposter/emp_act()
stat |= BROKEN
update_icon()
-
diff --git a/code/game/machinery/machinery_power.dm b/code/game/machinery/machinery_power.dm
index be648d0f80..0f4c2ef01b 100644
--- a/code/game/machinery/machinery_power.dm
+++ b/code/game/machinery/machinery_power.dm
@@ -80,7 +80,7 @@
// Or in Destroy at all, but especially after the ..().
/obj/machinery/Destroy()
if(ismovable(loc))
- GLOB.moved_event.unregister(loc, src, .proc/update_power_on_move) // Unregister just in case
+ GLOB.moved_event.unregister(loc, src, PROC_REF(update_power_on_move)) // Unregister just in case
var/power = POWER_CONSUMPTION
REPORT_POWER_CONSUMPTION_CHANGE(power, 0)
. = ..()
@@ -91,9 +91,9 @@
. = ..()
update_power_on_move(src, old_loc, loc)
if(ismovable(loc)) // Register for recursive movement (if the thing we're inside moves)
- GLOB.moved_event.register(loc, src, .proc/update_power_on_move)
+ GLOB.moved_event.register(loc, src, PROC_REF(update_power_on_move))
if(ismovable(old_loc)) // Unregister recursive movement.
- GLOB.moved_event.unregister(old_loc, src, .proc/update_power_on_move)
+ GLOB.moved_event.unregister(old_loc, src, PROC_REF(update_power_on_move))
/obj/machinery/proc/update_power_on_move(atom/movable/mover, atom/old_loc, atom/new_loc)
var/area/old_area = get_area(old_loc)
diff --git a/code/game/machinery/pointdefense.dm b/code/game/machinery/pointdefense.dm
index aee8710c05..b451048e0a 100644
--- a/code/game/machinery/pointdefense.dm
+++ b/code/game/machinery/pointdefense.dm
@@ -208,7 +208,7 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/pointdefense)
var/Angle = round(Get_Angle(src,M))
var/matrix/rot_matrix = matrix()
rot_matrix.Turn(Angle)
- addtimer(CALLBACK(src, .proc/finish_shot, target), rotation_speed)
+ addtimer(CALLBACK(src, PROC_REF(finish_shot), target), rotation_speed)
animate(src, transform = rot_matrix, rotation_speed, easing = SINE_EASING)
set_dir(ATAN2(transform.b, transform.a) > 0 ? NORTH : SOUTH)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index e46eb5117a..ddab98d730 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -566,7 +566,7 @@
"View Stats" = radial_image_statpanel
)
- var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_occupant_radial, user), require_near = TRUE, tooltips = TRUE)
+ var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_occupant_radial), user), require_near = TRUE, tooltips = TRUE)
if(!check_occupant_radial(user))
return
if(!choice)
diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm
index 5dad8accc4..b57145c801 100644
--- a/code/game/objects/effects/chem/foam.dm
+++ b/code/game/objects/effects/chem/foam.dm
@@ -23,9 +23,9 @@
metal = ismetal
playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3)
if(dries) //VOREStation Add
- addtimer(CALLBACK(src, .proc/post_spread), 3 + metal * 3)
- addtimer(CALLBACK(src, .proc/pre_harden), 12 SECONDS)
- addtimer(CALLBACK(src, .proc/harden), 15 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(post_spread)), 3 + metal * 3)
+ addtimer(CALLBACK(src, PROC_REF(pre_harden)), 12 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(harden)), 15 SECONDS)
/obj/effect/effect/foam/proc/post_spread()
process()
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 6f96ec1689..7366912038 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -49,7 +49,7 @@ var/global/list/image/splatter_cache=list()
if (B.blood_DNA)
blood_DNA |= B.blood_DNA.Copy()
qdel(B)
- addtimer(CALLBACK(src, .proc/dry), DRYING_TIME * (amount+1))
+ addtimer(CALLBACK(src, PROC_REF(dry)), DRYING_TIME * (amount+1))
/obj/effect/decal/cleanable/blood/update_icon()
if(basecolor == "rainbow") basecolor = get_random_colour(1)
diff --git a/code/game/objects/effects/map_effects/beam_point.dm b/code/game/objects/effects/map_effects/beam_point.dm
index c10e8b0315..6a023a0470 100644
--- a/code/game/objects/effects/map_effects/beam_point.dm
+++ b/code/game/objects/effects/map_effects/beam_point.dm
@@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(all_beam_points)
if(make_beams_on_init)
create_beams()
if(use_timer)
- addtimer(CALLBACK(src, .proc/handle_beam_timer), initial_delay)
+ addtimer(CALLBACK(src, PROC_REF(handle_beam_timer)), initial_delay)
return ..()
/obj/effect/map_effect/beam_point/Destroy()
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index cb2150f29b..fb3b116067 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -734,7 +734,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
H.toggle_zoom_hud() // If the user has already limited their HUD this avoids them having a HUD when they zoom in
H.set_viewsize(viewsize)
zoom = 1
- GLOB.moved_event.register(H, src, .proc/zoom)
+ GLOB.moved_event.register(H, src, PROC_REF(zoom))
var/tilesize = 32
var/viewoffset = tilesize * tileoffset
@@ -763,7 +763,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
if(!H.hud_used.hud_shown)
H.toggle_zoom_hud()
zoom = 0
- GLOB.moved_event.unregister(H, src, .proc/zoom)
+ GLOB.moved_event.unregister(H, src, PROC_REF(zoom))
H.client.pixel_x = 0
H.client.pixel_y = 0
@@ -944,7 +944,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
. = ..()
if(usr.is_preference_enabled(/datum/client_preference/inv_tooltips) && ((src in usr) || isstorage(loc))) // If in inventory or in storage we're looking at
var/user = usr
- tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), 5, TIMER_STOPPABLE)
+ tip_timer = addtimer(CALLBACK(src, PROC_REF(openTip), location, control, params, user), 5, TIMER_STOPPABLE)
/obj/item/MouseExited()
. = ..()
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index e1a295dfc4..ac73bf97c8 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -71,7 +71,7 @@
if("wipe")
msg_admin_attack("[key_name_admin(user)] wiped [key_name_admin(AI)] with \the [src].")
add_attack_logs(user,carded_ai,"Purged from AI Card")
- INVOKE_ASYNC(src, .proc/wipe_ai)
+ INVOKE_ASYNC(src, PROC_REF(wipe_ai))
if("radio")
carded_ai.aiRadio.disabledAi = !carded_ai.aiRadio.disabledAi
to_chat(carded_ai, "Your Subspace Transceiver has been [carded_ai.aiRadio.disabledAi ? "disabled" : "enabled"]!")
@@ -83,7 +83,7 @@
if(carded_ai.control_disabled && carded_ai.deployed_shell)
carded_ai.disconnect_shell("Disconnecting from remote shell due to [src] wireless access interface being disabled.")
update_icon()
-
+
return TRUE
/obj/item/device/aicard/update_icon()
@@ -182,4 +182,4 @@
AI.adjustOxyLoss(2)
AI.updatehealth()
sleep(10)
- flush = FALSE
\ No newline at end of file
+ flush = FALSE
diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm
index 9ce6bfac8c..3ac84edc98 100644
--- a/code/game/objects/items/devices/communicator/communicator.dm
+++ b/code/game/objects/items/devices/communicator/communicator.dm
@@ -108,7 +108,7 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
setup_tgui_camera()
//This is a pretty terrible way of doing this.
- addtimer(CALLBACK(src, .proc/register_to_holder), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(register_to_holder)), 5 SECONDS)
@@ -477,4 +477,3 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
return
icon_state = initial(icon_state)
-
diff --git a/code/game/objects/items/devices/communicator/phone.dm b/code/game/objects/items/devices/communicator/phone.dm
index 671598a6ef..eafd3105e0 100644
--- a/code/game/objects/items/devices/communicator/phone.dm
+++ b/code/game/objects/items/devices/communicator/phone.dm
@@ -349,14 +349,14 @@
video_source = comm.camera
comm.visible_message("\icon[src][bicon(src)] New video connection from [comm].")
update_active_camera_screen()
- GLOB.moved_event.register(video_source, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.register(video_source, src, PROC_REF(update_active_camera_screen))
update_icon()
// Proc: end_video()
// Parameters: reason - the text reason to print for why it ended
// Description: Ends the video call by clearing video_source
/obj/item/device/communicator/proc/end_video(var/reason)
- GLOB.moved_event.unregister(video_source, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.unregister(video_source, src, PROC_REF(update_active_camera_screen))
show_static()
video_source = null
@@ -364,4 +364,3 @@
visible_message(.)
update_icon()
-
diff --git a/code/game/objects/items/devices/denecrotizer_vr.dm b/code/game/objects/items/devices/denecrotizer_vr.dm
index 32b7be4ac6..3b8fb1c761 100644
--- a/code/game/objects/items/devices/denecrotizer_vr.dm
+++ b/code/game/objects/items/devices/denecrotizer_vr.dm
@@ -49,7 +49,7 @@
if(!evaluate_ghost_join(user))
return ..()
- tgui_alert_async(usr, "Would you like to become [src]? It is bound to [revivedby].", "Become Mob", list("Yes","No"), CALLBACK(src, .proc/reply_ghost_join), 20 SECONDS)
+ tgui_alert_async(usr, "Would you like to become [src]? It is bound to [revivedby].", "Become Mob", list("Yes","No"), CALLBACK(src, PROC_REF(reply_ghost_join)), 20 SECONDS)
/// A reply to an async alert request was received
/mob/living/simple_mob/proc/reply_ghost_join(response)
@@ -64,7 +64,7 @@
/mob/living/simple_mob/proc/ghost_join(mob/observer/dead/D)
log_and_message_admins("[key_name_admin(D)] joined [src] as a ghost [ADMIN_FLW(src)]")
active_ghost_pods -= src
-
+
// Move the ghost in
if(D.mind)
D.mind.active = TRUE
@@ -72,7 +72,7 @@
else
src.ckey = D.ckey
qdel(D)
-
+
// Clean up the simplemob
ghostjoin = FALSE
ghostjoin_icon()
@@ -91,14 +91,14 @@
return FALSE
// At this point we can at least send them messages as to why they can't join, since they are a mob with a client
- if(!ghostjoin)
+ if(!ghostjoin)
to_chat(D, "Sorry, [src] is no longer ghost-joinable.")
return FALSE
if(ckey)
to_chat(D, "Sorry, someone else has already inhabited [src].")
return FALSE
-
+
if(capture_caught && !D.client.prefs.capture_crystal)
to_chat(D, "Sorry, [src] is participating in capture mechanics, and your preferences do not allow for that.")
return FALSE
@@ -128,7 +128,7 @@
else
. += "The screen indicates that this device can be used again in [cooldowntime] seconds, and that it has enough energy for [charges] uses."
-/obj/item/device/denecrotizer/proc/check_target(mob/living/simple_mob/target, mob/living/user)
+/obj/item/device/denecrotizer/proc/check_target(mob/living/simple_mob/target, mob/living/user)
if(!target.Adjacent(user))
return FALSE
if(user.a_intent != I_HELP) //be gentle
@@ -150,10 +150,10 @@
if(!advanced)
to_chat(user, "[src] doesn't seem to work on that.")
return FALSE
- if(target.ai_holder.retaliate || target.ai_holder.hostile) // You can be friends with still living mobs if they are passive I GUESS
+ if(target.ai_holder.retaliate || target.ai_holder.hostile) // You can be friends with still living mobs if they are passive I GUESS
to_chat(user, "[src] doesn't seem to work on that.")
return FALSE
- if(!target.mind)
+ if(!target.mind)
user.visible_message("[user] gently presses [src] to [target]...", runemessage = "presses [src] to [target]")
if(do_after(user, revive_time, exclusive = TASK_USER_EXCLUSIVE, target = target))
target.faction = user.faction
@@ -196,7 +196,7 @@
icon_state = "[initial(icon_state)]-o"
update_icon()
return
-
+
/obj/item/device/denecrotizer/proc/basic_rez(mob/living/simple_mob/target, mob/living/user) //so medical can have a way to bring back people's pets or whatever, does not change any settings about the mob or offer it to ghosts.
user.visible_message("[user] presses [src] to [target]...", runemessage = "presses [src] to [target]")
if(do_after(user, revive_time, exclusive = TASK_ALL_EXCLUSIVE, target = target))
@@ -234,9 +234,9 @@
I.invisibility = INVISIBILITY_OBSERVER
I.plane = PLANE_GHOSTS
I.appearance_flags = KEEP_APART|RESET_TRANSFORM
-
+
cut_overlay(I)
-
+
if(ghostjoin)
add_overlay(I)
diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm
index 980685f124..1861694fae 100644
--- a/code/game/objects/items/devices/gps.dm
+++ b/code/game/objects/items/devices/gps.dm
@@ -45,8 +45,8 @@ var/list/GPS_list = list()
if(istype(loc, /mob))
holder = loc
- GLOB.moved_event.register(holder, src, .proc/update_compass)
- GLOB.dir_set_event.register(holder, src, .proc/update_compass)
+ GLOB.moved_event.register(holder, src, PROC_REF(update_compass))
+ GLOB.dir_set_event.register(holder, src, PROC_REF(update_compass))
if(holder && tracking)
if(!is_in_processing_list)
diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm
index 8333f2228b..ae17602794 100644
--- a/code/game/objects/items/devices/translocator_vr.dm
+++ b/code/game/objects/items/devices/translocator_vr.dm
@@ -125,7 +125,7 @@ This device can be easily used to break ERP preferences due to the nature of tel
Make sure you carefully examine someone's OOC prefs before teleporting them if you are going to use this device for ERP purposes.
This device records all warnings given and teleport events for admin review in case of pref-breaking, so just don't do it.
"},"OOC Warning")
- var/choice = show_radial_menu(user, radial_menu_anchor, radial_images, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
+ var/choice = show_radial_menu(user, radial_menu_anchor, radial_images, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
if(!choice)
return
diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm
index ef5ae25fa7..268131fb7d 100644
--- a/code/game/objects/items/devices/uplink.dm
+++ b/code/game/objects/items/devices/uplink.dm
@@ -25,7 +25,7 @@
/obj/item/device/uplink/Initialize(var/mapload)
. = ..()
- addtimer(CALLBACK(src, .proc/next_offer), offer_time) //It seems like only the /hidden type actually makes use of this...
+ addtimer(CALLBACK(src, PROC_REF(next_offer)), offer_time) //It seems like only the /hidden type actually makes use of this...
/obj/item/device/uplink/get_item_cost(var/item_type, var/item_cost)
return (discount_item && (item_type == discount_item)) ? max(1, round(item_cost*discount_amount)) : item_cost
@@ -63,7 +63,7 @@
discount_amount = pick(90;0.9, 80;0.8, 70;0.7, 60;0.6, 50;0.5, 40;0.4, 30;0.3, 20;0.2, 10;0.1)
next_offer_time = world.time + offer_time
SStgui.update_uis(src)
- addtimer(CALLBACK(src, .proc/next_offer), offer_time)
+ addtimer(CALLBACK(src, PROC_REF(next_offer)), offer_time)
// Toggles the uplink on and off. Normally this will bypass the item's normal functions and go to the uplink menu, if activated.
/obj/item/device/uplink/hidden/proc/toggle()
diff --git a/code/game/objects/items/toys/mech_toys.dm b/code/game/objects/items/toys/mech_toys.dm
index 3fdb9c6659..d2d88f4a79 100644
--- a/code/game/objects/items/toys/mech_toys.dm
+++ b/code/game/objects/items/toys/mech_toys.dm
@@ -170,7 +170,7 @@
to_chat(user, "You offer battle to [target.name]!")
to_chat(target, "[user.name] wants to battle with [T.His] [name]! Attack them with a toy mech to initiate combat.")
wants_to_battle = TRUE
- addtimer(CALLBACK(src, .proc/withdraw_offer, user), 6 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(withdraw_offer), user), 6 SECONDS)
return
..()
@@ -602,4 +602,4 @@
#undef SPECIAL_ATTACK_DAMAGE
#undef SPECIAL_ATTACK_UTILITY
#undef SPECIAL_ATTACK_OTHER
-#undef MAX_BATTLE_LENGTH
\ No newline at end of file
+#undef MAX_BATTLE_LENGTH
diff --git a/code/game/objects/items/toys/toys_vr.dm b/code/game/objects/items/toys/toys_vr.dm
index c55a6bf6e4..55b28c867e 100644
--- a/code/game/objects/items/toys/toys_vr.dm
+++ b/code/game/objects/items/toys/toys_vr.dm
@@ -179,7 +179,7 @@
playsound(user, 'sound/voice/shriek1.ogg', 10, 0)
src.visible_message("Skreee!")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/vox/proc/cooldownreset()
@@ -229,7 +229,7 @@
playsound(user, 'sound/machines/ping.ogg', 10, 0)
src.visible_message("Ping!")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/ipc/proc/cooldownreset()
@@ -246,7 +246,7 @@
playsound(user, 'sound/machines/ding.ogg', 10, 0)
src.visible_message("Ding!")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/snakeplushie
@@ -280,14 +280,14 @@
atom_say(pick(responses))
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/marketable_pip/attack_self(mob/user as mob)
if(!cooldown)
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/marketable_pip/proc/cooldownreset()
@@ -306,7 +306,7 @@
playsound(user, 'sound/voice/moth/scream_moth.ogg', 10, 0)
src.visible_message("Aaaaaaa.")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/moth/proc/cooldownreset()
@@ -351,7 +351,7 @@
playsound(user, 'sound/weapons/slice.ogg', 10, 0)
src.visible_message("Stab!")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/plushie/susblue
@@ -477,7 +477,7 @@
flick("[initial(icon_state)]2", src)
user.visible_message("[user] doesn't blind [M] with the toy flash!")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/flash/proc/cooldownreset()
@@ -546,7 +546,7 @@
user.visible_message("[user] asks the AI core to state laws.")
user.visible_message("[src] says \"[answer]\"")
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/AI/proc/cooldownreset()
@@ -826,7 +826,7 @@
if(!cooldown)
playsound(user, 'sound/weapons/chainsaw_startup.ogg', 10, 0)
cooldown = 1
- addtimer(CALLBACK(src, .proc/cooldownreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
return ..()
/obj/item/toy/chainsaw/proc/cooldownreset()
diff --git a/code/game/objects/items/weapons/RCD_vr.dm b/code/game/objects/items/weapons/RCD_vr.dm
index d120e593f4..48f380f1ae 100644
--- a/code/game/objects/items/weapons/RCD_vr.dm
+++ b/code/game/objects/items/weapons/RCD_vr.dm
@@ -36,20 +36,20 @@
/obj/item/weapon/rcd/update_icon()
var/nearest_ten = round((stored_matter/max_stored_matter)*10, 1)
-
+
//Just to prevent updates every use
if(ammostate == nearest_ten)
return //No change
ammostate = nearest_ten
-
+
cut_overlays()
-
+
//Main sprite update
if(!nearest_ten)
icon_state = "[initial(icon_state)]_empty"
else
icon_state = "[initial(icon_state)]"
-
+
add_overlay("[initial(icon_state)]_charge[nearest_ten]")
/obj/item/weapon/rcd/proc/perform_effect(var/atom/A, var/time_taken)
@@ -98,12 +98,12 @@
if(user.incapacitated())
world.log << "Two"
return FALSE
-
+
var/obj/item/rig_module/device/D = loc
if(!istype(D) || !D?.holder?.wearer == user)
world.log << "Three"
return FALSE
-
+
return TRUE
/obj/item/weapon/rcd/attack_self(mob/living/user)
@@ -134,7 +134,7 @@
"Change Window Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "windowtype")
)
*/
- var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, .proc/check_menu, user), tooltips = TRUE)
+ var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), tooltips = TRUE)
if(!check_menu(user))
return
switch(choice)
@@ -206,7 +206,7 @@
status = rcd_status
delay = rcd_delay
if (status == RCD_DECONSTRUCT)
- addtimer(CALLBACK(src, /atom/.proc/update_icon), 11)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 11)
delay -= 11
icon_state = "rcd_end_reverse"
else
@@ -228,7 +228,7 @@
qdel(src)
else
icon_state = "rcd_end"
- addtimer(CALLBACK(src, .proc/end), 15)
+ addtimer(CALLBACK(src, PROC_REF(end)), 15)
/obj/effect/constructing_effect/proc/end()
qdel(src)
diff --git a/code/game/objects/items/weapons/RMS_vr.dm b/code/game/objects/items/weapons/RMS_vr.dm
index 4ec4996bdd..2e1cfc4b3d 100644
--- a/code/game/objects/items/weapons/RMS_vr.dm
+++ b/code/game/objects/items/weapons/RMS_vr.dm
@@ -221,7 +221,7 @@
"Random" = radial_image_random
)
- var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
+ var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
if(!check_menu(user))
return
switch(choice)
diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm
index d195d09c1c..da096cd0f0 100644
--- a/code/game/objects/items/weapons/capture_crystal.dm
+++ b/code/game/objects/items/weapons/capture_crystal.dm
@@ -250,8 +250,8 @@
//Make it so the crystal knows if its mob references get deleted to make sure things get cleaned up
/obj/item/capture_crystal/proc/knowyoursignals(mob/living/M, mob/living/U)
- RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/mob_was_deleted, TRUE)
- RegisterSignal(U, COMSIG_PARENT_QDELETING, .proc/owner_was_deleted, TRUE)
+ RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(mob_was_deleted), TRUE)
+ RegisterSignal(U, COMSIG_PARENT_QDELETING, PROC_REF(owner_was_deleted), TRUE)
//The basic capture command does most of the registration work.
/obj/item/capture_crystal/proc/capture(mob/living/M, mob/living/U)
diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm
index 20fe500575..6352f4ff9e 100644
--- a/code/game/objects/items/weapons/storage/bible.dm
+++ b/code/game/objects/items/weapons/storage/bible.dm
@@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
var/image/bible_image = image(icon = 'icons/obj/storage.dmi', icon_state = GLOB.biblestates[i])
skins += list("[GLOB.biblenames[i]]" = bible_image)
- var/choice = show_radial_menu(user, src, skins, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 40, require_near = TRUE)
+ var/choice = show_radial_menu(user, src, skins, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 40, require_near = TRUE)
if(!choice)
return FALSE
var/bible_index = GLOB.biblenames.Find(choice)
@@ -112,4 +112,4 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (src.use_sound)
playsound(src, src.use_sound, 50, 1, -5)
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/game/objects/structures/crates_lockers/__closets.dm b/code/game/objects/structures/crates_lockers/__closets.dm
index cf196ddf0a..05661ccedb 100644
--- a/code/game/objects/structures/crates_lockers/__closets.dm
+++ b/code/game/objects/structures/crates_lockers/__closets.dm
@@ -526,7 +526,7 @@
animate(door_obj, transform = M, icon_state = door_state, layer = door_layer, time = world.tick_lag, flags = ANIMATION_END_NOW)
else
animate(transform = M, icon_state = door_state, layer = door_layer, time = world.tick_lag)
- addtimer(CALLBACK(src, .proc/end_door_animation,closing), closet_appearance.door_anim_time, TIMER_UNIQUE|TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(end_door_animation), closing), closet_appearance.door_anim_time, TIMER_UNIQUE|TIMER_OVERRIDE)
/obj/structure/closet/proc/end_door_animation(closing = FALSE)
is_animating_door = FALSE
diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm
index 6c856ceb7f..5a5ed5db2f 100644
--- a/code/game/objects/structures/ghost_pods/ghost_pods.dm
+++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm
@@ -73,13 +73,13 @@
/obj/structure/ghost_pod/automatic/Initialize()
. = ..()
- addtimer(CALLBACK(src, .proc/trigger), delay_to_self_open)
+ addtimer(CALLBACK(src, PROC_REF(trigger)), delay_to_self_open)
/obj/structure/ghost_pod/automatic/trigger()
. = ..()
if(. == FALSE) // If we failed to get a volunteer, try again later if allowed to.
if(delay_to_try_again)
- addtimer(CALLBACK(src, .proc/trigger), delay_to_try_again)
+ addtimer(CALLBACK(src, PROC_REF(trigger)), delay_to_try_again)
// This type is triggered by a ghost clicking on it, as opposed to a living player. A ghost query type isn't needed.
/obj/structure/ghost_pod/ghost_activated
diff --git a/code/game/socket_talk.dm b/code/game/socket_talk.dm
index 8484b636b8..6cad496937 100644
--- a/code/game/socket_talk.dm
+++ b/code/game/socket_talk.dm
@@ -8,15 +8,15 @@
src.enabled = config.socket_talk
if(enabled)
- call("DLLSocket.so","establish_connection")("127.0.0.1","8019")
+ LIBCALL("DLLSocket.so","establish_connection")("127.0.0.1","8019")
proc
send_raw(message)
if(enabled)
- return call("DLLSocket.so","send_message")(message)
+ return LIBCALL("DLLSocket.so","send_message")(message)
receive_raw()
if(enabled)
- return call("DLLSocket.so","recv_message")()
+ return LIBCALL("DLLSocket.so","recv_message")()
send_log(var/log, var/message)
return send_raw("type=log&log=[log]&message=[message]")
send_keepalive()
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index baba14563c..fe64b97346 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -445,7 +445,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
ENABLE_BITFIELD(options, SDQL2_OPTION_DO_NOT_AUTOGC)
/datum/SDQL2_query/proc/ARun()
- INVOKE_ASYNC(src, .proc/Run)
+ INVOKE_ASYNC(src, PROC_REF(Run))
/datum/SDQL2_query/proc/Run()
if(SDQL2_IS_RUNNING)
diff --git a/code/modules/ai/ai_holder.dm b/code/modules/ai/ai_holder.dm
index 9668dde7f9..4b913c1d49 100644
--- a/code/modules/ai/ai_holder.dm
+++ b/code/modules/ai/ai_holder.dm
@@ -210,7 +210,7 @@
holder = new_holder
home_turf = get_turf(holder)
manage_processing(AI_PROCESSING)
- GLOB.stat_set_event.register(holder, src, .proc/holder_stat_change)
+ GLOB.stat_set_event.register(holder, src, PROC_REF(holder_stat_change))
..()
/datum/ai_holder/Destroy()
@@ -505,4 +505,4 @@
#undef AI_NO_PROCESS
#undef AI_PROCESSING
-#undef AI_FASTPROCESSING
\ No newline at end of file
+#undef AI_FASTPROCESSING
diff --git a/code/modules/artifice/telecube.dm b/code/modules/artifice/telecube.dm
index 713903a10b..60366ab823 100644
--- a/code/modules/artifice/telecube.dm
+++ b/code/modules/artifice/telecube.dm
@@ -193,10 +193,10 @@
/obj/item/weapon/telecube/proc/cooldown(var/mate_too = FALSE)
if(!ready)
return
-
+
ready = FALSE
update_icon()
- addtimer(CALLBACK(src, .proc/ready), cooldown_time)
+ addtimer(CALLBACK(src, PROC_REF(ready)), cooldown_time)
if(mate_too && mate)
mate.cooldown(mate_too = FALSE) //No infinite recursion pls
diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index 60eee03265..a7267ca342 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -50,7 +50,7 @@
switch(action)
if("signal")
- INVOKE_ASYNC(src, .proc/signal)
+ INVOKE_ASYNC(src, PROC_REF(signal))
. = TRUE
if("freq")
frequency = unformat_frequency(params["freq"])
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index e30922dacf..3e9161eb80 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -458,7 +458,7 @@
src << browse('code/modules/asset_cache/validate_assets.html', "window=asset_cache_browser")
//Precache the client with all other assets slowly, so as to not block other browse() calls
- addtimer(CALLBACK(GLOBAL_PROC, /proc/getFilesSlow, src, SSassets.preload, FALSE), 5 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(getFilesSlow), src, SSassets.preload, FALSE), 5 SECONDS)
/mob/proc/MayRespawn()
return 0
diff --git a/code/modules/client/preference_setup/loadout/loadout_mask.dm b/code/modules/client/preference_setup/loadout/loadout_mask.dm
index 0d82eb0efa..da0a710962 100644
--- a/code/modules/client/preference_setup/loadout/loadout_mask.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_mask.dm
@@ -74,11 +74,11 @@
for(var/gaiter in typesof(/obj/item/clothing/accessory/gaiter))
var/obj/item/clothing/accessory/gaiter_type = gaiter
gaiters[initial(gaiter_type.name)] = gaiter_type
- gear_tweaks += new/datum/gear_tweak/path(sortTim(gaiters, /proc/cmp_text_asc))
+ gear_tweaks += new/datum/gear_tweak/path(sortTim(gaiters, GLOBAL_PROC_REF(cmp_text_asc)))
/datum/gear/mask/lace
display_name = "lace veil"
path = /obj/item/clothing/mask/lacemask
/datum/gear/mask/lace/New()
- gear_tweaks += gear_tweak_free_color_choice
\ No newline at end of file
+ gear_tweaks += gear_tweak_free_color_choice
diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm
index cce7aabaa1..a99c9f6bcb 100644
--- a/code/modules/clothing/under/accessories/accessory_vr.dm
+++ b/code/modules/clothing/under/accessories/accessory_vr.dm
@@ -147,7 +147,7 @@
usr.audible_message("[usr] jingles the [src]'s bell.", runemessage = "jingle")
playsound(src, 'sound/items/pickup/ring.ogg', 50, 1)
jingled = 1
- addtimer(CALLBACK(src, .proc/jingledreset), 50)
+ addtimer(CALLBACK(src, PROC_REF(jingledreset)), 50)
return
/obj/item/clothing/accessory/collar/bell/proc/jingledreset()
diff --git a/code/modules/economy/vending.dm b/code/modules/economy/vending.dm
index 929023ce86..e17d5c951f 100644
--- a/code/modules/economy/vending.dm
+++ b/code/modules/economy/vending.dm
@@ -619,7 +619,7 @@ GLOBAL_LIST_EMPTY(vending_products)
use_power(vend_power_usage) //actuators and stuff
flick("[icon_state]-vend",src)
- addtimer(CALLBACK(src, .proc/delayed_vend, R, user), vend_delay)
+ addtimer(CALLBACK(src, PROC_REF(delayed_vend), R, user), vend_delay)
/obj/machinery/vending/proc/delayed_vend(datum/stored_item/vending_product/R, mob/user)
R.get_product(get_turf(src))
@@ -777,7 +777,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(!throw_item)
return FALSE
throw_item.vendor_action(src)
- INVOKE_ASYNC(throw_item, /atom/movable.proc/throw_at, target, rand(3, 10), rand(1, 3), src)
+ INVOKE_ASYNC(throw_item, TYPE_PROC_REF(/atom/movable, throw_at), target, rand(3, 10), rand(1, 3), src)
visible_message("\The [src] launches \a [throw_item] at \the [target]!")
return 1
diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm
index c4161150e3..180380bc44 100644
--- a/code/modules/events/carp_migration.dm
+++ b/code/modules/events/carp_migration.dm
@@ -73,7 +73,7 @@
// Spawn a single carp at given location.
/datum/event/carp_migration/proc/spawn_one_carp(var/loc)
var/mob/living/simple_mob/animal/M = new /mob/living/simple_mob/animal/space/carp/event(loc)
- GLOB.destroyed_event.register(M, src, .proc/on_carp_destruction)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_carp_destruction))
spawned_carp.Add(M)
return M
@@ -87,7 +87,7 @@
// If carp is bomphed, remove it from the list.
/datum/event/carp_migration/proc/on_carp_destruction(var/mob/M)
spawned_carp -= M
- GLOB.destroyed_event.unregister(M, src, .proc/on_carp_destruction)
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_carp_destruction))
/datum/event/carp_migration/end()
. = ..()
diff --git a/code/modules/events/gnat_migration.dm b/code/modules/events/gnat_migration.dm
index e807f85b3c..8d0428eab8 100644
--- a/code/modules/events/gnat_migration.dm
+++ b/code/modules/events/gnat_migration.dm
@@ -69,7 +69,7 @@
// Spawn a single gnat at given location.
/datum/event/gnat_migration/proc/spawn_one_gnat(var/loc)
var/mob/living/simple_mob/animal/M = new /mob/living/simple_mob/animal/space/gnat(loc)
- GLOB.destroyed_event.register(M, src, .proc/on_gnat_destruction)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_gnat_destruction))
spawned_gnat.Add(M)
return M
@@ -83,7 +83,7 @@
// If gnat is bomphed, remove it from the list.
/datum/event/gnat_migration/proc/on_gnat_destruction(var/mob/M)
spawned_gnat -= M
- GLOB.destroyed_event.unregister(M, src, .proc/on_gnat_destruction)
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_gnat_destruction))
/datum/event/gnat_migration/end()
. = ..()
diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm
index eff20ca2a3..5192067550 100644
--- a/code/modules/events/infestation.dm
+++ b/code/modules/events/infestation.dm
@@ -93,12 +93,49 @@
max_number = 8 //CHOMP edit
vermstring = "spiders"
+<<<<<<< HEAD
spawn(0)
var/num = rand(min_number,max_number)
while(turfs.len > 0 && num > 0)
var/turf/simulated/floor/T = pick(turfs)
turfs.Remove(T)
num--
+=======
+/datum/event/infestation/tick()
+ if(activeFor % 5 != 0)
+ return // Only process every 10 seconds.
+ if(count_spawned_vermin() < vermin_cap)
+ spawn_vermin(rand(4,10), prep_size_min, prep_size_max)
+
+/datum/event/infestation/proc/spawn_vermin(var/num_groups, var/group_size_min, var/group_size_max)
+ if(spawn_locations.len) // Okay we've got landmarks, lets use those!
+ shuffle_inplace(spawn_locations)
+ num_groups = min(num_groups, spawn_locations.len)
+ for (var/i = 1, i <= num_groups, i++)
+ var/group_size = rand(group_size_min, group_size_max)
+ for (var/j = 0, j < group_size, j++)
+ spawn_one_vermin(spawn_locations[i])
+ return
+
+// Spawn a single vermin at given location.
+/datum/event/infestation/proc/spawn_one_vermin(var/loc)
+ var/mob/living/simple_mob/animal/M = new spawn_types(loc)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_vermin_destruction))
+ spawned_vermin.Add(M)
+ return M
+
+// Counts living vermin spawned by this event.
+/datum/event/infestation/proc/count_spawned_vermin()
+ . = 0
+ for(var/mob/living/simple_mob/animal/M as anything in spawned_vermin)
+ if(!QDELETED(M) && M.stat != DEAD)
+ . += 1
+
+// If vermin is kill, remove it from the list.
+/datum/event/infestation/proc/on_vermin_destruction(var/mob/M)
+ spawned_vermin -= M
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_vermin_destruction))
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
if(vermin == VERM_SPIDERS)
var/obj/effect/spider/spiderling/S = new(T)
@@ -124,4 +161,7 @@
#undef VERM_MICE
#undef VERM_LIZARDS
+<<<<<<< HEAD
#undef VERM_SPIDERS
+=======
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
diff --git a/code/modules/events/jellyfish_migration.dm b/code/modules/events/jellyfish_migration.dm
index 7498539ae1..0a0f639451 100644
--- a/code/modules/events/jellyfish_migration.dm
+++ b/code/modules/events/jellyfish_migration.dm
@@ -69,7 +69,7 @@
// Spawn a single jellyfish at given location.
/datum/event/jellyfish_migration/proc/spawn_one_jellyfish(var/loc)
var/mob/living/simple_mob/animal/M = new /mob/living/simple_mob/vore/alienanimals/space_jellyfish(loc)
- GLOB.destroyed_event.register(M, src, .proc/on_jellyfish_destruction)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_jellyfish_destruction))
spawned_jellyfish.Add(M)
return M
@@ -83,7 +83,7 @@
// If jellyfish is bomphed, remove it from the list.
/datum/event/jellyfish_migration/proc/on_jellyfish_destruction(var/mob/M)
spawned_jellyfish -= M
- GLOB.destroyed_event.unregister(M, src, .proc/on_jellyfish_destruction)
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_jellyfish_destruction))
/datum/event/jellyfish_migration/end()
. = ..()
diff --git a/code/modules/events/ray_migration.dm b/code/modules/events/ray_migration.dm
index 3df3971a81..559f77169b 100644
--- a/code/modules/events/ray_migration.dm
+++ b/code/modules/events/ray_migration.dm
@@ -69,7 +69,7 @@
// Spawn a single ray at given location.
/datum/event/ray_migration/proc/spawn_one_ray(var/loc)
var/mob/living/simple_mob/animal/M = new /mob/living/simple_mob/animal/space/ray(loc)
- GLOB.destroyed_event.register(M, src, .proc/on_ray_destruction)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_ray_destruction))
spawned_ray.Add(M)
return M
@@ -83,7 +83,7 @@
// If ray is bomphed, remove it from the list.
/datum/event/ray_migration/proc/on_ray_destruction(var/mob/M)
spawned_ray -= M
- GLOB.destroyed_event.unregister(M, src, .proc/on_ray_destruction)
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_ray_destruction))
/datum/event/ray_migration/end()
. = ..()
diff --git a/code/modules/events/shark_migration.dm b/code/modules/events/shark_migration.dm
index 7baed0af9c..dc3d0d9438 100644
--- a/code/modules/events/shark_migration.dm
+++ b/code/modules/events/shark_migration.dm
@@ -69,7 +69,7 @@
// Spawn a single shark at given location.
/datum/event/shark_migration/proc/spawn_one_shark(var/loc)
var/mob/living/simple_mob/animal/M = new /mob/living/simple_mob/animal/space/shark/event(loc)
- GLOB.destroyed_event.register(M, src, .proc/on_shark_destruction)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_shark_destruction))
spawned_shark.Add(M)
return M
@@ -83,7 +83,7 @@
// If shark is bomphed, remove it from the list.
/datum/event/shark_migration/proc/on_shark_destruction(var/mob/M)
spawned_shark -= M
- GLOB.destroyed_event.unregister(M, src, .proc/on_shark_destruction)
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_shark_destruction))
/datum/event/shark_migration/end()
. = ..()
diff --git a/code/modules/ext_scripts/irc.dm b/code/modules/ext_scripts/irc.dm
index a554cdd20a..5cfeae553c 100644
--- a/code/modules/ext_scripts/irc.dm
+++ b/code/modules/ext_scripts/irc.dm
@@ -18,7 +18,7 @@
nudge_lib = "lib/nudge.so"
spawn(0)
- call(nudge_lib, "nudge")("[config.comms_password]","[config.irc_bot_host]","[channel]","[escape_shell_arg(msg)]")
+ LIBCALL(nudge_lib, "nudge")("[config.comms_password]","[config.irc_bot_host]","[channel]","[escape_shell_arg(msg)]")
else
spawn(0)
ext_python("ircbot_message.py", "[config.comms_password] [config.irc_bot_host] [channel] [escape_shell_arg(msg)]")
@@ -39,4 +39,3 @@
/hook/startup/proc/ircNotify()
send2mainirc("Server starting up on byond://[config.serverurl ? config.serverurl : (config.server ? config.server : "[world.address]:[world.port]")]")
return 1
-
diff --git a/code/modules/food/kitchen/smartfridge/smartfridge.dm b/code/modules/food/kitchen/smartfridge/smartfridge.dm
index c683bf9a60..1a10b3c219 100644
--- a/code/modules/food/kitchen/smartfridge/smartfridge.dm
+++ b/code/modules/food/kitchen/smartfridge/smartfridge.dm
@@ -119,7 +119,7 @@
user.remove_from_mob(O)
stock(O)
user.visible_message("[user] has added \the [O] to \the [src].", "You add \the [O] to \the [src].")
- sortTim(item_records, /proc/cmp_stored_item_name)
+ sortTim(item_records, GLOBAL_PROC_REF(cmp_stored_item_name))
else if(istype(O, /obj/item/weapon/storage/bag))
var/obj/item/weapon/storage/bag/P = O
diff --git a/code/modules/gamemaster/event2/events/engineering/airlock_failure.dm b/code/modules/gamemaster/event2/events/engineering/airlock_failure.dm
index 54548a88dd..c3cd5d0b24 100644
--- a/code/modules/gamemaster/event2/events/engineering/airlock_failure.dm
+++ b/code/modules/gamemaster/event2/events/engineering/airlock_failure.dm
@@ -70,7 +70,7 @@
for(var/obj/machinery/door/airlock/door in area.contents)
if(can_break_door(door))
- addtimer(CALLBACK(src, .proc/break_door, door), 1) // Emagging proc is actually a blocking proc and that's bad for the ticker.
+ addtimer(CALLBACK(src, PROC_REF(break_door), door), 1) // Emagging proc is actually a blocking proc and that's bad for the ticker.
door.visible_message(span("danger", "\The [door]'s panel sparks!"))
playsound(door, "sparks", 50, 1)
log_debug("Airlock Failure event has broken \the [door] airlock in [area].")
diff --git a/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm b/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm
index ebd137b404..c81968c23e 100644
--- a/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm
+++ b/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm
@@ -38,7 +38,7 @@
Please allow for up to one minute while radiation levels dissipate, and report to \
medbay if you experience any unusual symptoms. Maintenance will lose all \
access again shortly.", "Anomaly Alert")
- addtimer(CALLBACK(src, .proc/maint_callback), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(maint_callback)), 2 MINUTES)
/datum/event2/event/radiation_storm/proc/maint_callback()
revoke_maint_all_access()
diff --git a/code/modules/gamemaster/event2/events/mob_spawning.dm b/code/modules/gamemaster/event2/events/mob_spawning.dm
index 4f3bcffa02..35321cd2f0 100644
--- a/code/modules/gamemaster/event2/events/mob_spawning.dm
+++ b/code/modules/gamemaster/event2/events/mob_spawning.dm
@@ -80,7 +80,7 @@
/datum/event2/event/mob_spawning/proc/spawn_one_mob(new_loc, mob_type)
var/mob/living/simple_mob/M = new mob_type(new_loc)
- GLOB.destroyed_event.register(M, src, .proc/on_mob_destruction)
+ GLOB.destroyed_event.register(M, src, PROC_REF(on_mob_destruction))
spawned_mobs += M
return M
@@ -94,4 +94,4 @@
// If simple_mob is bomphed, remove it from the list.
/datum/event2/event/mob_spawning/proc/on_mob_destruction(mob/M)
spawned_mobs -= M
- GLOB.destroyed_event.unregister(M, src, .proc/on_mob_destruction)
\ No newline at end of file
+ GLOB.destroyed_event.unregister(M, src, PROC_REF(on_mob_destruction))
diff --git a/code/modules/gamemaster/event2/events/security/prison_break.dm b/code/modules/gamemaster/event2/events/security/prison_break.dm
index e7daadb9f0..a08f93a085 100644
--- a/code/modules/gamemaster/event2/events/security/prison_break.dm
+++ b/code/modules/gamemaster/event2/events/security/prison_break.dm
@@ -205,7 +205,7 @@
Disabling the main breaker in the APCs will protect the APC's room from being compromised."))
var/time_to_flicker = start_delay - 10 SECONDS
- addtimer(CALLBACK(src, .proc/flicker_area), time_to_flicker)
+ addtimer(CALLBACK(src, PROC_REF(flicker_area)), time_to_flicker)
/datum/event2/event/prison_break/proc/flicker_area()
diff --git a/code/modules/instruments/instrument_data/_instrument_data.dm b/code/modules/instruments/instrument_data/_instrument_data.dm
index a37d7a2dd9..cf37e25c9b 100644
--- a/code/modules/instruments/instrument_data/_instrument_data.dm
+++ b/code/modules/instruments/instrument_data/_instrument_data.dm
@@ -88,7 +88,7 @@
samples = list()
for(var/key in real_samples)
real_keys += text2num(key)
- sortTim(real_keys, /proc/cmp_numeric_asc, associative = FALSE)
+ sortTim(real_keys, GLOBAL_PROC_REF(cmp_numeric_asc), associative = FALSE)
for(var/i in 1 to (length(real_keys) - 1))
var/from_key = real_keys[i]
diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm
index def8741909..4d6725f8f1 100644
--- a/code/modules/instruments/items.dm
+++ b/code/modules/instruments/items.dm
@@ -81,8 +81,8 @@
/obj/item/instrument/piano_synth/headphones/Initialize()
. = ..()
- RegisterSignal(src, COMSIG_SONG_START, .proc/start_playing)
- RegisterSignal(src, COMSIG_SONG_END, .proc/stop_playing)
+ RegisterSignal(src, COMSIG_SONG_START, PROC_REF(start_playing))
+ RegisterSignal(src, COMSIG_SONG_END, PROC_REF(stop_playing))
/**
* Called by a component signal when our song starts playing.
@@ -252,7 +252,7 @@
/obj/item/instrument/harmonica/equipped(mob/M, slot)
. = ..()
- RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech)
+ RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech))
/obj/item/instrument/harmonica/dropped(mob/M)
. = ..()
diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm
index d63ae107cd..c4941cec13 100644
--- a/code/modules/instruments/songs/editor.dm
+++ b/code/modules/instruments/songs/editor.dm
@@ -160,7 +160,7 @@
tempo = sanitize_tempo(tempo + text2num(href_list["tempo"]))
else if(href_list["play"])
- INVOKE_ASYNC(src, .proc/start_playing, usr)
+ INVOKE_ASYNC(src, PROC_REF(start_playing), usr)
else if(href_list["newline"])
var/newline = html_encode(tgui_input_text(usr, "Enter your line: ", parent.name))
diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm
index c0ac9817fa..1b631eaff7 100644
--- a/code/modules/integrated_electronics/subtypes/input.dm
+++ b/code/modules/integrated_electronics/subtypes/input.dm
@@ -359,7 +359,7 @@
. = ..()
set_pin_data(IC_INPUT, 1, frequency)
set_pin_data(IC_INPUT, 2, code)
- addtimer(CALLBACK(src, .proc/set_frequency, frequency), 40)
+ addtimer(CALLBACK(src, PROC_REF(set_frequency), frequency), 40)
/obj/item/integrated_circuit/input/signaler/Destroy()
if(radio_controller)
diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm
index 268759e152..c8fd3dddbe 100644
--- a/code/modules/integrated_electronics/subtypes/output.dm
+++ b/code/modules/integrated_electronics/subtypes/output.dm
@@ -448,11 +448,11 @@
/obj/item/integrated_circuit/output/holographic_projector/Initialize()
. = ..()
- GLOB.moved_event.register(src, src, .proc/on_moved)
+ GLOB.moved_event.register(src, src, PROC_REF(on_moved))
/obj/item/integrated_circuit/output/holographic_projector/Destroy()
destroy_hologram()
- GLOB.moved_event.unregister(src, src, .proc/on_moved)
+ GLOB.moved_event.unregister(src, src, PROC_REF(on_moved))
return ..()
/obj/item/integrated_circuit/output/holographic_projector/do_work()
diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm
index 9633ef7881..1acaea0f3b 100644
--- a/code/modules/integrated_electronics/subtypes/time.dm
+++ b/code/modules/integrated_electronics/subtypes/time.dm
@@ -25,7 +25,7 @@
var/new_delay = CLAMP(delay_input, 1, 1 HOUR)
delay = new_delay
- addtimer(CALLBACK(src, .proc/activate_pin, 2), delay)
+ addtimer(CALLBACK(src, PROC_REF(activate_pin), 2), delay)
/obj/item/integrated_circuit/time/ticker
name = "ticker circuit"
@@ -65,7 +65,7 @@
/obj/item/integrated_circuit/time/ticker/proc/tick()
if(is_running && check_power())
- addtimer(CALLBACK(src, .proc/tick), delay)
+ addtimer(CALLBACK(src, PROC_REF(tick)), delay)
if(world.time > next_fire)
next_fire = world.time + delay
activate_pin(1)
diff --git a/code/modules/mining/kinetic_crusher.dm b/code/modules/mining/kinetic_crusher.dm
index 043dfe8188..2a66826282 100644
--- a/code/modules/mining/kinetic_crusher.dm
+++ b/code/modules/mining/kinetic_crusher.dm
@@ -69,8 +69,8 @@
/obj/item/weapon/kinetic_crusher/Initialize()
. = ..()
if(requires_Wield)
- RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
- RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
+ RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
+ RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
/obj/item/weapon/kinetic_crusher/ComponentInitialize()
. = ..()
@@ -163,7 +163,7 @@
D.fire()
charged = FALSE
update_icon()
- addtimer(CALLBACK(src, .proc/Recharge), charge_time)
+ addtimer(CALLBACK(src, PROC_REF(Recharge)), charge_time)
// * (user?.ConflictElementCount(CONFLICT_ELEMENT_CRUSHER) || 1 - tentatively commented out
return
if(proximity_flag && isliving(target))
@@ -258,7 +258,7 @@
update_item_state = FALSE
slot_flags = SLOT_BELT
-
+
/obj/item/weapon/kinetic_crusher/machete/gauntlets
@@ -425,4 +425,3 @@ but alas
- hatterhat
*/
-
diff --git a/code/modules/mob/living/carbon/human/human_modular_limbs.dm b/code/modules/mob/living/carbon/human/human_modular_limbs.dm
index 4010a2d487..1c1b6bc300 100644
--- a/code/modules/mob/living/carbon/human/human_modular_limbs.dm
+++ b/code/modules/mob/living/carbon/human/human_modular_limbs.dm
@@ -73,13 +73,13 @@
// Called in robotize(), replaced() and removed() to update our modular limb verbs.
/mob/living/carbon/human/proc/refresh_modular_limb_verbs()
if(length(get_modular_limbs(return_first_found = TRUE, validate_proc = /obj/item/organ/external/proc/can_attach_modular_limb_here)))
- verbs |= .proc/attach_limb_verb
+ verbs |= PROC_REF(attach_limb_verb)
else
- verbs -= .proc/attach_limb_verb
+ verbs -= PROC_REF(attach_limb_verb)
if(length(get_modular_limbs(return_first_found = TRUE, validate_proc = /obj/item/organ/external/proc/can_remove_modular_limb)))
- verbs |= .proc/detach_limb_verb
+ verbs |= PROC_REF(detach_limb_verb)
else
- verbs -= .proc/detach_limb_verb
+ verbs -= PROC_REF(detach_limb_verb)
// Proc helper for attachment verb.
/mob/living/carbon/human/proc/check_can_attach_modular_limb(var/obj/item/organ/external/E)
diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm
index 6dbf152865..4f56531065 100644
--- a/code/modules/mob/living/inventory.dm
+++ b/code/modules/mob/living/inventory.dm
@@ -61,7 +61,7 @@
. = drop_r_hand(Target)
if (istype(item_dropped) && !QDELETED(item_dropped) && is_preference_enabled(/datum/client_preference/drop_sounds))
- addtimer(CALLBACK(src, .proc/make_item_drop_sound, item_dropped), 1)
+ addtimer(CALLBACK(src, PROC_REF(make_item_drop_sound), item_dropped), 1)
/mob/proc/make_item_drop_sound(obj/item/I)
if(QDELETED(I))
@@ -372,4 +372,4 @@
if(suit && LAZYLEN(suit.accessories))
data["accessory"] = TRUE
- return data
\ No newline at end of file
+ return data
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 7a446f3bd6..ae53d7535c 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1285,7 +1285,7 @@
/datum/component/character_setup/RegisterWithParent()
. = ..()
- RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, .proc/create_mob_button)
+ RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button))
var/mob/owner = parent
if(owner.client)
create_mob_button(parent)
@@ -1303,7 +1303,7 @@
var/datum/hud/HUD = user.hud_used
if(!screen_icon)
screen_icon = new()
- RegisterSignal(screen_icon, COMSIG_CLICK, .proc/character_setup_click)
+ RegisterSignal(screen_icon, COMSIG_CLICK, PROC_REF(character_setup_click))
if(ispAI(user))
screen_icon.icon = 'icons/mob/pai_hud.dmi'
screen_icon.screen_loc = ui_acti
diff --git a/code/modules/mob/living/silicon/robot/robot_animation_vr.dm b/code/modules/mob/living/silicon/robot/robot_animation_vr.dm
index f69b1049cd..6d1c66be63 100644
--- a/code/modules/mob/living/silicon/robot/robot_animation_vr.dm
+++ b/code/modules/mob/living/silicon/robot/robot_animation_vr.dm
@@ -1,5 +1,5 @@
/mob/living/silicon/robot/proc/transform_with_anim()
- INVOKE_ASYNC(src, .proc/do_transform_animation)
+ INVOKE_ASYNC(src, PROC_REF(do_transform_animation))
/mob/living/silicon/robot/proc/do_transform_animation()
notransform = TRUE
@@ -19,4 +19,4 @@
if(!prev_lockcharge)
SetLockdown(0)
anchored = FALSE
- notransform = FALSE
\ No newline at end of file
+ notransform = FALSE
diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm
index 852c09ff61..435200d29d 100644
--- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm
+++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_interactions.dm
@@ -65,7 +65,7 @@
if(key != user.key)
key = user.key
SetName("[modtype] [braintype]-[rand(100,999)]")
- addtimer(CALLBACK(src, .proc/welcome_client), 1)
+ addtimer(CALLBACK(src, PROC_REF(welcome_client)), 1)
qdel(user)
/mob/living/silicon/robot/platform/proc/welcome_client()
diff --git a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm
index d9b544cc73..8a998d48ea 100644
--- a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm
+++ b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm
@@ -8,7 +8,7 @@
//The MOB being invisible presents some problems though, which I am not entirely sure how to resolve
//Such as, being unable to be attacked by other mobs, and possibly unable to be attacked by players.
-//This does not at all prevent the mob from attacking other things though
+//This does not at all prevent the mob from attacking other things though
//so in general, please ensure that you never spawn these where players can ordinarily access them.
//The mob was made invisible though, because the sensors can't detect invisible objects, so when the /visitable/simplemob was made invisible
@@ -47,7 +47,7 @@
/obj/effect/overmap/visitable/simplemob/proc/om_mob_event_setup()
scanner_desc = parent.scanner_desc
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_parent_moved)
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_moved))
skybox_pixel_x = rand(-100,100)
if(known)
name = initial(parent.name)
@@ -109,4 +109,3 @@
/mob/living/simple_mob/vore/overmap/Destroy()
qdel_null(child_om_marker)
return ..()
-
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm
index 88b1bea96d..015126936d 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm
@@ -244,7 +244,7 @@
else if(prob(0.5))
holder.lay_down()
go_sleep()
- addtimer(CALLBACK(src, .proc/consider_awakening), rand(1 MINUTE, 5 MINUTES), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE)
+ addtimer(CALLBACK(src, PROC_REF(consider_awakening)), rand(1 MINUTE, 5 MINUTES), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE)
else
return ..()
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm
index 0b8dcee721..7a1475f794 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm
@@ -194,7 +194,7 @@
. = ..()
icon_living = "spookyghost-[rand(1,2)]"
icon_state = icon_living
- addtimer(CALLBACK(src, .proc/death), 35 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(death)), 35 SECONDS)
update_icon()
/datum/ai_holder/simple_mob/melee/space_ghost
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother_spawn.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother_spawn.dm
index 8d07077f1a..5ebb7df0d7 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother_spawn.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother_spawn.dm
@@ -10,7 +10,7 @@
/mob/living/simple_mob/animal/giant_spider/frost/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/frost/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -28,7 +28,7 @@
/mob/living/simple_mob/animal/giant_spider/electric/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/electric/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -43,7 +43,7 @@
/mob/living/simple_mob/animal/giant_spider/hunter/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/hunter/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -58,7 +58,7 @@
/mob/living/simple_mob/animal/giant_spider/lurker/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/lurker/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -74,7 +74,7 @@
/mob/living/simple_mob/animal/giant_spider/nurse/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/nurse/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -89,7 +89,7 @@
/mob/living/simple_mob/animal/giant_spider/pepper/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/pepper/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -107,7 +107,7 @@
/mob/living/simple_mob/animal/giant_spider/thermic/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/thermic/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -122,7 +122,7 @@
/mob/living/simple_mob/animal/giant_spider/tunneler/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/tunneler/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -139,7 +139,7 @@
/mob/living/simple_mob/animal/giant_spider/webslinger/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/webslinger/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
@@ -157,7 +157,7 @@
/mob/living/simple_mob/animal/giant_spider/broodling/Initialize()
. = ..()
adjust_scale(0.75)
- addtimer(CALLBACK(src, .proc/death), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(death)), 2 MINUTES)
/mob/living/simple_mob/animal/giant_spider/broodling/death()
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm
index 27bd772e25..b9297da852 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm
@@ -88,7 +88,7 @@
/datum/ai_holder/simple_mob/passive/possum/poppy/on_hear_say(mob/living/speaker, message)
. = ..()
- addtimer(CALLBACK(src, .proc/check_keywords, message), rand(1 SECOND, 3 SECONDS))
+ addtimer(CALLBACK(src, PROC_REF(check_keywords), message), rand(1 SECOND, 3 SECONDS))
/datum/ai_holder/simple_mob/passive/possum/poppy/proc/check_keywords(var/message)
var/mob/living/simple_mob/animal/passive/opossum/poss = holder
@@ -205,4 +205,4 @@
hit_zones = list("head", "body", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "pouch")
/decl/mob_organ_names/poppy
- hit_zones = list("head", "body", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "pouch", "cute little jacket")
\ No newline at end of file
+ hit_zones = list("head", "body", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "pouch", "cute little jacket")
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm
index 1893d03985..7399b34080 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm
@@ -742,7 +742,7 @@ I think I covered everything.
var/atom/movable/AM = am
if(AM == src || AM.anchored)
continue
- addtimer(CALLBACK(src, .proc/yeet, am), 1)
+ addtimer(CALLBACK(src, PROC_REF(yeet), am), 1)
playsound(src, "sound/weapons/punchmiss.ogg", 50, 1)
//Split repulse into two parts so I can recycle this later
@@ -775,7 +775,7 @@ I think I covered everything.
do_windup_animation(A, charge_warmup)
//callbacks are more reliable than byond's process scheduler
- addtimer(CALLBACK(src, .proc/chargeend, A), charge_warmup)
+ addtimer(CALLBACK(src, PROC_REF(chargeend), A), charge_warmup)
/mob/living/simple_mob/vore/bigdragon/proc/chargeend(var/atom/A, var/explicit = 0, var/gentle = 0)
@@ -813,7 +813,7 @@ I think I covered everything.
set_AI_busy(TRUE)
flames = 1
build_icons()
- addtimer(CALLBACK(src, .proc/firebreathend, A), charge_warmup)
+ addtimer(CALLBACK(src, PROC_REF(firebreathend), A), charge_warmup)
playsound(src, "sound/magic/Fireball.ogg", 50, 1)
/mob/living/simple_mob/vore/bigdragon/proc/firebreathend(var/atom/A)
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm
index eeb021d387..ad46121af7 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/dominated_brain.dm
@@ -44,8 +44,8 @@
/mob/living/dominated_brain/proc/lets_register_our_signals()
if(prey_body)
- RegisterSignal(prey_body, COMSIG_PARENT_QDELETING, .proc/prey_was_deleted, TRUE)
- RegisterSignal(pred_body, COMSIG_PARENT_QDELETING, .proc/pred_was_deleted, TRUE)
+ RegisterSignal(prey_body, COMSIG_PARENT_QDELETING, PROC_REF(prey_was_deleted), TRUE)
+ RegisterSignal(pred_body, COMSIG_PARENT_QDELETING, PROC_REF(pred_was_deleted), TRUE)
/mob/living/dominated_brain/proc/lets_unregister_our_signals()
prey_was_deleted()
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm
index 6792ffd237..6a1c49ad3b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm
@@ -56,7 +56,7 @@
/mob/living/simple_mob/vore/aggressive/frog/do_special_attack(atom/A)
set_AI_busy(TRUE)
do_windup_animation(A, 20)
- addtimer(CALLBACK(src, .proc/chargeend, A), 20)
+ addtimer(CALLBACK(src, PROC_REF(chargeend), A), 20)
/mob/living/simple_mob/vore/aggressive/frog/proc/chargeend(atom/A)
if(stat) //you are dead
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm
index f622eee483..dc944aec42 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm
@@ -130,7 +130,11 @@
/mob/living/simple_mob/vore/pakkun/on_throw_vore_special(var/pred, var/mob/living/target)
if(pred && !extra_posessive && !(LAZYFIND(prey_excludes, target)))
LAZYSET(prey_excludes, target, world.time)
+<<<<<<< HEAD
addtimer(CALLBACK(src, .proc/removeMobFromPreyExcludes, weakref(target)), 5 MINUTES)
+=======
+ addtimer(CALLBACK(src, PROC_REF(removeMobFromPreyExcludes), WEAKREF(target)), 5 MINUTES)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
if(ai_holder)
ai_holder.remove_target()
@@ -155,7 +159,11 @@
for(var/mob/living/L in living_mobs(0))
if(!(LAZYFIND(prey_excludes, L)))
LAZYSET(prey_excludes, L, world.time)
+<<<<<<< HEAD
addtimer(CALLBACK(src, .proc/removeMobFromPreyExcludes, weakref(L)), 5 MINUTES)
+=======
+ addtimer(CALLBACK(src, PROC_REF(removeMobFromPreyExcludes), WEAKREF(L)), 5 MINUTES)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
else
..()
diff --git a/code/modules/nifsoft/nif_tgui.dm b/code/modules/nifsoft/nif_tgui.dm
index 203e0bb858..b3f21c39e5 100644
--- a/code/modules/nifsoft/nif_tgui.dm
+++ b/code/modules/nifsoft/nif_tgui.dm
@@ -31,7 +31,7 @@
/datum/component/nif_menu/RegisterWithParent()
. = ..()
- RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, .proc/create_mob_button)
+ RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button))
var/mob/owner = parent
if(owner.client)
create_mob_button(parent)
@@ -53,7 +53,7 @@
var/datum/hud/HUD = user.hud_used
if(!screen_icon)
screen_icon = new()
- RegisterSignal(screen_icon, COMSIG_CLICK, .proc/nif_menu_click)
+ RegisterSignal(screen_icon, COMSIG_CLICK, PROC_REF(nif_menu_click))
screen_icon.icon = HUD.ui_style
screen_icon.color = HUD.ui_color
screen_icon.alpha = HUD.ui_alpha
@@ -65,7 +65,7 @@
/datum/component/nif_menu/proc/nif_menu_click(source, location, control, params, user)
var/mob/living/carbon/human/H = user
if(istype(H) && H.nif)
- INVOKE_ASYNC(H.nif, .proc/tgui_interact, user)
+ INVOKE_ASYNC(H.nif, PROC_REF(tgui_interact), user)
/**
* Screen object for NIF menu access
diff --git a/code/modules/overmap/disperser/disperser_console.dm b/code/modules/overmap/disperser/disperser_console.dm
index d67bb87c5c..a173163c17 100644
--- a/code/modules/overmap/disperser/disperser_console.dm
+++ b/code/modules/overmap/disperser/disperser_console.dm
@@ -55,9 +55,9 @@
middle = M
back = B
if(is_valid_setup())
- GLOB.destroyed_event.register(F, src, .proc/release_links)
- GLOB.destroyed_event.register(M, src, .proc/release_links)
- GLOB.destroyed_event.register(B, src, .proc/release_links)
+ GLOB.destroyed_event.register(F, src, PROC_REF(release_links))
+ GLOB.destroyed_event.register(M, src, PROC_REF(release_links))
+ GLOB.destroyed_event.register(B, src, PROC_REF(release_links))
return TRUE
return FALSE
@@ -69,9 +69,9 @@
return FALSE
/obj/machinery/computer/ship/disperser/proc/release_links()
- GLOB.destroyed_event.unregister(front, src, .proc/release_links)
- GLOB.destroyed_event.unregister(middle, src, .proc/release_links)
- GLOB.destroyed_event.unregister(back, src, .proc/release_links)
+ GLOB.destroyed_event.unregister(front, src, PROC_REF(release_links))
+ GLOB.destroyed_event.unregister(middle, src, PROC_REF(release_links))
+ GLOB.destroyed_event.unregister(back, src, PROC_REF(release_links))
front = null
middle = null
back = null
@@ -207,4 +207,4 @@
. = TRUE
if(. && !issilicon(usr))
- playsound(src, "terminal_type", 50, 1)
\ No newline at end of file
+ playsound(src, "terminal_type", 50, 1)
diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm
index 9e5f14d21b..91ee3ff692 100644
--- a/code/modules/overmap/sectors.dm
+++ b/code/modules/overmap/sectors.dm
@@ -268,7 +268,7 @@
I.appearance_flags = KEEP_APART|RESET_TRANSFORM|RESET_COLOR
add_overlay(I)
- addtimer(CALLBACK(src, .proc/distress_update), 5 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(distress_update)), 5 MINUTES)
return TRUE
/obj/effect/overmap/visitable/proc/get_distress_info()
diff --git a/code/modules/overmap/ships/landable.dm b/code/modules/overmap/ships/landable.dm
index a76a39b60e..45c8386da5 100644
--- a/code/modules/overmap/ships/landable.dm
+++ b/code/modules/overmap/ships/landable.dm
@@ -71,8 +71,8 @@
if(istype(shuttle_datum,/datum/shuttle/autodock/overmap))
var/datum/shuttle/autodock/overmap/oms = shuttle_datum
oms.myship = src
- GLOB.shuttle_pre_move_event.register(shuttle_datum, src, .proc/pre_shuttle_jump)
- GLOB.shuttle_moved_event.register(shuttle_datum, src, .proc/on_shuttle_jump)
+ GLOB.shuttle_pre_move_event.register(shuttle_datum, src, PROC_REF(pre_shuttle_jump))
+ GLOB.shuttle_moved_event.register(shuttle_datum, src, PROC_REF(on_shuttle_jump))
on_landing(landmark, shuttle_datum.current_location) // We "land" at round start to properly place ourselves on the overmap.
@@ -144,7 +144,7 @@
/obj/effect/shuttle_landmark/visiting_shuttle/shuttle_arrived(datum/shuttle/shuttle)
LAZYSET(core_landmark.visitors, src, shuttle)
- GLOB.shuttle_moved_event.register(shuttle, src, .proc/shuttle_left)
+ GLOB.shuttle_moved_event.register(shuttle, src, PROC_REF(shuttle_left))
/obj/effect/shuttle_landmark/visiting_shuttle/proc/shuttle_left(datum/shuttle/shuttle, obj/effect/shuttle_landmark/old_landmark, obj/effect/shuttle_landmark/new_landmark)
if(old_landmark == src)
@@ -206,4 +206,4 @@
if(SHIP_STATUS_TRANSIT)
return "Maneuvering under secondary thrust."
if(SHIP_STATUS_OVERMAP)
- return "In open space."
\ No newline at end of file
+ return "In open space."
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 708fe7fca4..ae9bb2f509 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -61,7 +61,7 @@
switch(action)
if("make_copy")
- addtimer(CALLBACK(src, .proc/copy_operation, usr), 0)
+ addtimer(CALLBACK(src, PROC_REF(copy_operation), usr), 0)
. = TRUE
if("remove")
if(copyitem)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index d4c8a8bf59..3420ce2429 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -974,7 +974,7 @@ GLOBAL_LIST_EMPTY(apcs)
for(var/obj/machinery/light/L in area)
if(!initial(L.no_emergency)) //If there was an override set on creation, keep that override
L.no_emergency = emergency_lights
- INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
+ INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE)
CHECK_TICK
if("overload")
if(locked_exception) // Reusing for simplicity!
@@ -1371,4 +1371,4 @@ GLOBAL_LIST_EMPTY(apcs)
#undef APC_HAS_ELECTRONICS_NONE
#undef APC_HAS_ELECTRONICS_WIRED
-#undef APC_HAS_ELECTRONICS_SECURED
\ No newline at end of file
+#undef APC_HAS_ELECTRONICS_SECURED
diff --git a/code/modules/power/port_gen_vr.dm b/code/modules/power/port_gen_vr.dm
index 2b891643a6..0b3f7ca9f7 100644
--- a/code/modules/power/port_gen_vr.dm
+++ b/code/modules/power/port_gen_vr.dm
@@ -156,7 +156,7 @@
"You hear a loud electrical crack!")
playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_gen * 0.05)
- addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion.
+ addtimer(CALLBACK(GLOBAL_PROC, 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/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index 33caa542a4..e36a1f1dc3 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -83,7 +83,7 @@
flick("coilhit", src)
playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_produced)
- //addtimer(CALLBACK(src, .proc/reset_shocked), 10)
+ //addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10)
spawn(10) reset_shocked()
else
..()
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index cf7aa9e2c1..fe85a12f87 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -101,7 +101,7 @@
energy_to_raise = energy_to_raise * 1.25
playsound(src, 'sound/effects/lightning_chargeup.ogg', 100, 1, extrarange = 30)
- //addtimer(CALLBACK(src, .proc/new_mini_ball), 100)
+ //addtimer(CALLBACK(src, PROC_REF(new_mini_ball)), 100)
spawn(100) new_mini_ball()
else if(energy < energy_to_lower && orbiting_balls.len)
diff --git a/code/modules/power/tesla/tesla_act.dm b/code/modules/power/tesla/tesla_act.dm
index 01b58f8a80..8111d1e4d1 100644
--- a/code/modules/power/tesla/tesla_act.dm
+++ b/code/modules/power/tesla/tesla_act.dm
@@ -9,8 +9,8 @@
being_shocked = TRUE
var/power_bounced = power / 2
tesla_zap(src, 3, power_bounced)
- //addtimer(CALLBACK(src, .proc/reset_shocked), 10)
- //schedule_task_with_source_in(10, src, .proc/reset_shocked)
+ //addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10)
+ //schedule_task_with_source_in(10, src, PROC_REF(reset_shocked))
spawn(10) reset_shocked()
/obj/proc/reset_shocked()
@@ -63,12 +63,3 @@
/obj/mecha/tesla_act(power)
..()
take_damage(power / 200, "energy") // A surface lightning strike will do 100 damage.
-
-
-
-
-
-
-
-
-
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm
index 22dd450169..188eba0bb1 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm
@@ -182,7 +182,7 @@
if(!QDELING(src) && !holds_charge)
// Put it on a delay because moving item from slot to hand
// calls dropped().
- addtimer(CALLBACK(src, .proc/empty_if_not_held), 2)
+ addtimer(CALLBACK(src, PROC_REF(empty_if_not_held)), 2)
/obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty_if_not_held()
if(!ismob(loc) && !istype(loc, /obj/item/integrated_circuit))
@@ -206,7 +206,7 @@
var/carried = max(1, loc.ConflictElementCount(CONFLICT_ELEMENT_KA))
deltimer(recharge_timerid)
- recharge_timerid = addtimer(CALLBACK(src, .proc/reload), recharge_time * carried, TIMER_STOPPABLE)
+ recharge_timerid = addtimer(CALLBACK(src, PROC_REF(reload)), recharge_time * carried, TIMER_STOPPABLE)
/obj/item/weapon/gun/energy/kinetic_accelerator/emp_act(severity)
return
diff --git a/code/modules/projectiles/guns/projectile/smartgun.dm b/code/modules/projectiles/guns/projectile/smartgun.dm
index c74f1b6122..ba13558160 100644
--- a/code/modules/projectiles/guns/projectile/smartgun.dm
+++ b/code/modules/projectiles/guns/projectile/smartgun.dm
@@ -34,7 +34,7 @@
var/image/I = ..()
if(I)
I.pixel_x = -16
- return I
+ return I
/obj/item/weapon/gun/projectile/smartgun/loaded
magazine_type = /obj/item/ammo_magazine/smartgun
@@ -68,7 +68,7 @@
return
cycling = TRUE
-
+
if(closed)
icon_state = "[initial(icon_state)]_open"
playsound(src, 'sound/weapons/smartgunopen.ogg', 75, 0)
@@ -77,7 +77,7 @@
icon_state = "[initial(icon_state)]_closed"
playsound(src, 'sound/weapons/smartgunclose.ogg', 75, 0)
to_chat(user, "You ready [src] so that it can be fired.")
- addtimer(CALLBACK(src, .proc/toggle_real_state), 2 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(toggle_real_state)), 2 SECONDS, TIMER_UNIQUE)
/obj/item/weapon/gun/projectile/smartgun/proc/toggle_real_state()
cycling = FALSE
@@ -147,4 +147,3 @@
max_ammo = 5
ammo_type = /obj/item/ammo_casing/smartgun
multiple_sprites = TRUE
-
diff --git a/code/modules/random_map/drop/droppod_doors.dm b/code/modules/random_map/drop/droppod_doors.dm
index c19aba40fd..78df7a6699 100644
--- a/code/modules/random_map/drop/droppod_doors.dm
+++ b/code/modules/random_map/drop/droppod_doors.dm
@@ -13,7 +13,7 @@
/obj/structure/droppod_door/Initialize(var/mapload, var/autoopen)
. = ..()
if(autoopen)
- addtimer(CALLBACK(src, .proc/deploy), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(deploy)), 10 SECONDS)
/obj/structure/droppod_door/attack_ai(var/mob/user)
if(!user.Adjacent(src))
@@ -76,4 +76,4 @@
door_bottom.density = FALSE
door_bottom.set_opacity(0)
door_bottom.dir = src.dir
- door_bottom.icon_state = "rampbottom"
\ No newline at end of file
+ door_bottom.icon_state = "rampbottom"
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index a69a57015e..5bf3d94fff 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -110,7 +110,7 @@ Note: Must be placed within 3 tiles of the R&D Console
qdel(B)
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
rped_recycler_ready = FALSE
- addtimer(CALLBACK(src, .proc/rped_ready), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(rped_ready)), 5 SECONDS)
to_chat(user, "You deconstruct all the parts of rating [lowest_rating] in [replacer] with [src].")
return 1
else
@@ -118,4 +118,4 @@ Note: Must be placed within 3 tiles of the R&D Console
/obj/machinery/r_n_d/destructive_analyzer/proc/rped_ready()
rped_recycler_ready = TRUE
- playsound(get_turf(src), 'sound/machines/chime.ogg', 50, 1)
\ No newline at end of file
+ playsound(get_turf(src), 'sound/machines/chime.ogg', 50, 1)
diff --git a/code/modules/research/rdconsole_tgui.dm b/code/modules/research/rdconsole_tgui.dm
index bbd340fd0a..b9683c0f43 100644
--- a/code/modules/research/rdconsole_tgui.dm
+++ b/code/modules/research/rdconsole_tgui.dm
@@ -242,7 +242,7 @@
"chem_list" = chem_list,
)))
- data = sortTim(data, /proc/cmp_designs_rdconsole, FALSE)
+ data = sortTim(data, GLOBAL_PROC_REF(cmp_designs_rdconsole), FALSE)
if(LAZYLEN(data) > ENTRIES_PER_RDPAGE)
var/first_index = clamp(ENTRIES_PER_RDPAGE * page, 1, LAZYLEN(data))
var/last_index = min((ENTRIES_PER_RDPAGE * page) + ENTRIES_PER_RDPAGE, LAZYLEN(data) + 1)
@@ -280,7 +280,7 @@
"chem_list" = chem_list,
)))
- data = sortTim(data, /proc/cmp_designs_rdconsole, FALSE)
+ data = sortTim(data, GLOBAL_PROC_REF(cmp_designs_rdconsole), FALSE)
if(LAZYLEN(data) > ENTRIES_PER_RDPAGE)
var/first_index = clamp(ENTRIES_PER_RDPAGE * page, 1, LAZYLEN(data))
var/last_index = min((ENTRIES_PER_RDPAGE * page) + ENTRIES_PER_RDPAGE, LAZYLEN(data) + 1)
@@ -303,7 +303,7 @@
"id" = D.id,
)))
- data = sortTim(data, /proc/cmp_designs_rdconsole, FALSE)
+ data = sortTim(data, GLOBAL_PROC_REF(cmp_designs_rdconsole), FALSE)
if(LAZYLEN(data) > ENTRIES_PER_RDPAGE)
var/first_index = clamp(ENTRIES_PER_RDPAGE * page, 1, LAZYLEN(data))
var/last_index = clamp((ENTRIES_PER_RDPAGE * page) + ENTRIES_PER_RDPAGE, 1, LAZYLEN(data) + 1)
@@ -637,4 +637,4 @@
PR.info_links = PR.info
PR.icon_state = "paper_words"
PR.forceMove(loc)
- busy_msg = null
\ No newline at end of file
+ busy_msg = null
diff --git a/code/modules/scripting/Implementations/Telecomms.dm b/code/modules/scripting/Implementations/Telecomms.dm
index 9f83cdf933..e486197b84 100644
--- a/code/modules/scripting/Implementations/Telecomms.dm
+++ b/code/modules/scripting/Implementations/Telecomms.dm
@@ -116,7 +116,7 @@
@param time: time to sleep in deciseconds (1/10th second)
*/
- interpreter.SetProc("sleep", /proc/delay)
+ interpreter.SetProc("sleep", GLOBAL_PROC_REF(delay))
/*
-> Replaces a string with another string
@@ -127,7 +127,7 @@
@param replacestring: the string to replace the substring with
*/
- interpreter.SetProc("replace", /proc/string_replacetext)
+ interpreter.SetProc("replace", GLOBAL_PROC_REF(string_replacetext))
/*
-> Locates an element/substring inside of a list or string
@@ -139,7 +139,7 @@
@param end: the position to end in
*/
- interpreter.SetProc("find", /proc/smartfind)
+ interpreter.SetProc("find", GLOBAL_PROC_REF(smartfind))
/*
-> Finds the length of a string or list
@@ -148,42 +148,42 @@
@param container: the list or container to measure
*/
- interpreter.SetProc("length", /proc/smartlength)
+ interpreter.SetProc("length", GLOBAL_PROC_REF(smartlength))
/* -- Clone functions, carried from default BYOND procs --- */
// vector namespace
- interpreter.SetProc("vector", /proc/n_list)
- interpreter.SetProc("at", /proc/n_listpos)
- interpreter.SetProc("copy", /proc/n_listcopy)
- interpreter.SetProc("push_back", /proc/n_listadd)
- interpreter.SetProc("remove", /proc/n_listremove)
- interpreter.SetProc("cut", /proc/n_listcut)
- interpreter.SetProc("swap", /proc/n_listswap)
- interpreter.SetProc("insert", /proc/n_listinsert)
+ interpreter.SetProc("vector", GLOBAL_PROC_REF(n_list))
+ interpreter.SetProc("at", GLOBAL_PROC_REF(n_listpos))
+ interpreter.SetProc("copy", GLOBAL_PROC_REF(n_listcopy))
+ interpreter.SetProc("push_back", GLOBAL_PROC_REF(n_listadd))
+ interpreter.SetProc("remove", GLOBAL_PROC_REF(n_listremove))
+ interpreter.SetProc("cut", GLOBAL_PROC_REF(n_listcut))
+ interpreter.SetProc("swap", GLOBAL_PROC_REF(n_listswap))
+ interpreter.SetProc("insert", GLOBAL_PROC_REF(n_listinsert))
- interpreter.SetProc("pick", /proc/n_pick)
- interpreter.SetProc("prob", /proc/prob_chance)
- interpreter.SetProc("substr", /proc/docopytext)
+ interpreter.SetProc("pick", GLOBAL_PROC_REF(n_pick))
+ interpreter.SetProc("prob", GLOBAL_PROC_REF(prob_chance))
+ interpreter.SetProc("substr", GLOBAL_PROC_REF(docopytext))
// Donkie~
// Strings
- interpreter.SetProc("lower", /proc/n_lower)
- interpreter.SetProc("upper", /proc/n_upper)
- interpreter.SetProc("explode", /proc/string_explode)
- interpreter.SetProc("repeat", /proc/n_repeat)
- interpreter.SetProc("reverse", /proc/n_reverse)
- interpreter.SetProc("tonum", /proc/n_str2num)
+ interpreter.SetProc("lower", GLOBAL_PROC_REF(n_lower))
+ interpreter.SetProc("upper", GLOBAL_PROC_REF(n_upper))
+ interpreter.SetProc("explode", GLOBAL_PROC_REF(string_explode))
+ interpreter.SetProc("repeat", GLOBAL_PROC_REF(n_repeat))
+ interpreter.SetProc("reverse", GLOBAL_PROC_REF(n_reverse))
+ interpreter.SetProc("tonum", GLOBAL_PROC_REF(n_str2num))
// Numbers
- interpreter.SetProc("tostring", /proc/n_num2str)
- interpreter.SetProc("sqrt", /proc/n_sqrt)
- interpreter.SetProc("abs", /proc/n_abs)
- interpreter.SetProc("floor", /proc/n_floor)
- interpreter.SetProc("ceil", /proc/n_ceil)
- interpreter.SetProc("round", /proc/n_round)
- interpreter.SetProc("clamp", /proc/n_clamp)
- interpreter.SetProc("inrange", /proc/n_inrange)
+ interpreter.SetProc("tostring", GLOBAL_PROC_REF(n_num2str))
+ interpreter.SetProc("sqrt", GLOBAL_PROC_REF(n_sqrt))
+ interpreter.SetProc("abs", GLOBAL_PROC_REF(n_abs))
+ interpreter.SetProc("floor", GLOBAL_PROC_REF(n_floor))
+ interpreter.SetProc("ceil", GLOBAL_PROC_REF(n_ceil))
+ interpreter.SetProc("round", GLOBAL_PROC_REF(n_round))
+ interpreter.SetProc("clamp", GLOBAL_PROC_REF(n_clamp))
+ interpreter.SetProc("inrange", GLOBAL_PROC_REF(n_inrange))
// End of Donkie~
@@ -278,4 +278,3 @@
var/pass = S.relay_information(newsign, /obj/machinery/telecomms/hub)
if(!pass)
S.relay_information(newsign, /obj/machinery/telecomms/broadcaster) // send this simple message to broadcasters
-
diff --git a/code/modules/shieldgen/directional_shield.dm b/code/modules/shieldgen/directional_shield.dm
index b298e028a7..6754878674 100644
--- a/code/modules/shieldgen/directional_shield.dm
+++ b/code/modules/shieldgen/directional_shield.dm
@@ -102,13 +102,13 @@
START_PROCESSING(SSobj, src)
if(always_on)
create_shields()
- GLOB.moved_event.register(src, src, .proc/moved_event)
+ GLOB.moved_event.register(src, src, PROC_REF(moved_event))
return ..()
/obj/item/shield_projector/Destroy()
destroy_shields()
STOP_PROCESSING(SSobj, src)
- GLOB.moved_event.unregister(src, src, .proc/moved_event)
+ GLOB.moved_event.unregister(src, src, PROC_REF(moved_event))
return ..()
/obj/item/shield_projector/proc/moved_event()
diff --git a/code/modules/shieldgen/energy_shield.dm b/code/modules/shieldgen/energy_shield.dm
index 0982b2d3b8..68c03ff1fe 100644
--- a/code/modules/shieldgen/energy_shield.dm
+++ b/code/modules/shieldgen/energy_shield.dm
@@ -147,7 +147,7 @@
continue
// Note: Range is a non-exact aproximation of the spread effect. If it doesn't look good
// we'll need to switch to actually walking along the shields to get exact number of steps away.
- addtimer(CALLBACK(S, .proc/impact_flash), get_dist(src, S) * 2)
+ addtimer(CALLBACK(S, PROC_REF(impact_flash)), get_dist(src, S) * 2)
impact_flash()
// Small visual effect, makes the shield tiles brighten up by becoming more opaque for a moment
diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm
index 1051ba6c2d..6cfe6ba6a3 100644
--- a/code/modules/shuttles/shuttles_web.dm
+++ b/code/modules/shuttles/shuttles_web.dm
@@ -208,7 +208,7 @@
/obj/machinery/computer/shuttle_control/web/tgui_data(mob/user)
var/list/data = list()
-
+
var/list/routes[0]
var/datum/shuttle/autodock/web_shuttle/shuttle = SSshuttles.shuttles[shuttle_tag]
if(!istype(shuttle))
@@ -409,10 +409,10 @@
/obj/shuttle_connector/Initialize()
. = ..()
- GLOB.shuttle_added.register_global(src, .proc/setup_routes)
+ GLOB.shuttle_added.register_global(src, PROC_REF(setup_routes))
/obj/shuttle_connector/Destroy()
- GLOB.shuttle_added.unregister_global(src, .proc/setup_routes)
+ GLOB.shuttle_added.unregister_global(src, PROC_REF(setup_routes))
. = ..()
// This is called whenever a shuttle is initialized. If its our shuttle, do our thing!
diff --git a/code/modules/tgs/v3210/api.dm b/code/modules/tgs/v3210/api.dm
index 6382325100..e0372b2c92 100644
--- a/code/modules/tgs/v3210/api.dm
+++ b/code/modules/tgs/v3210/api.dm
@@ -92,7 +92,11 @@
if(skip_compat_check && !fexists(SERVICE_INTERFACE_DLL))
TGS_ERROR_LOG("Service parameter present but no interface DLL detected. This is symptomatic of running a service less than version 3.1! Please upgrade.")
return
+<<<<<<< HEAD
call(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval
+=======
+ LIBCALL(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
return TRUE
/datum/tgs_api/v3210/OnTopic(T)
diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm
index a90d69689b..169cd5a3da 100644
--- a/code/modules/tgui/modules/appearance_changer.dm
+++ b/code/modules/tgui/modules/appearance_changer.dm
@@ -65,13 +65,13 @@
owner = H
if(owner)
- GLOB.moved_event.register(owner, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.register(owner, src, PROC_REF(update_active_camera_screen))
check_whitelist = check_species_whitelist
whitelist = species_whitelist
blacklist = species_blacklist
/datum/tgui_module/appearance_changer/Destroy()
- GLOB.moved_event.unregister(owner, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.unregister(owner, src, PROC_REF(update_active_camera_screen))
last_camera_turf = null
qdel(cam_screen)
QDEL_LIST(cam_plane_masters)
diff --git a/code/modules/tgui/modules/camera.dm b/code/modules/tgui/modules/camera.dm
index fa67030d55..5a4551f260 100644
--- a/code/modules/tgui/modules/camera.dm
+++ b/code/modules/tgui/modules/camera.dm
@@ -34,7 +34,7 @@
cam_screen.assigned_map = map_name
cam_screen.del_on_map_removal = FALSE
cam_screen.screen_loc = "[map_name]:1,1"
-
+
cam_plane_masters = get_tgui_plane_masters()
for(var/obj/screen/instance as anything in cam_plane_masters)
@@ -68,7 +68,7 @@
/datum/tgui_module/camera/Destroy()
if(active_camera)
- GLOB.moved_event.unregister(active_camera, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
active_camera = null
last_camera_turf = null
qdel(cam_screen)
@@ -131,7 +131,7 @@
/datum/tgui_module/camera/tgui_act(action, params)
if(..())
return TRUE
-
+
if(action && !issilicon(usr))
playsound(tgui_host(), "terminal_type", 50, 1)
@@ -140,9 +140,9 @@
var/list/cameras = get_available_cameras(usr)
var/obj/machinery/camera/C = cameras["[ckey(c_tag)]"]
if(active_camera)
- GLOB.moved_event.unregister(active_camera, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
active_camera = C
- GLOB.moved_event.register(active_camera, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.register(active_camera, src, PROC_REF(update_active_camera_screen))
playsound(tgui_host(), get_sfx("terminal_type"), 25, FALSE)
update_active_camera_screen()
return TRUE
@@ -167,9 +167,9 @@
if(target)
if(active_camera)
- GLOB.moved_event.unregister(active_camera, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
active_camera = target
- GLOB.moved_event.register(active_camera, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.register(active_camera, src, PROC_REF(update_active_camera_screen))
playsound(tgui_host(), get_sfx("terminal_type"), 25, FALSE)
update_active_camera_screen()
. = TRUE
@@ -273,7 +273,7 @@
// Turn off the console
if(length(concurrent_users) == 0 && is_living)
if(active_camera)
- GLOB.moved_event.unregister(active_camera, src, .proc/update_active_camera_screen)
+ GLOB.moved_event.unregister(active_camera, src, PROC_REF(update_active_camera_screen))
active_camera = null
playsound(tgui_host(), 'sound/machines/terminal_off.ogg', 25, FALSE)
@@ -298,4 +298,3 @@
/datum/tgui_module/camera/bigscreen/tgui_state(mob/user)
return GLOB.tgui_physical_state_bigscreen
-
\ No newline at end of file
diff --git a/code/modules/tgui/modules/ntos-only/uav.dm b/code/modules/tgui/modules/ntos-only/uav.dm
index 54dcda1675..57ae7f0d8d 100644
--- a/code/modules/tgui/modules/ntos-only/uav.dm
+++ b/code/modules/tgui/modules/ntos-only/uav.dm
@@ -94,7 +94,7 @@
signal_strength = 0
current_uav = U
- RegisterSignal(U, COMSIG_MOVABLE_Z_CHANGED, .proc/current_uav_changed_z)
+ RegisterSignal(U, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(current_uav_changed_z))
if(LAZYLEN(viewers))
for(var/weakref/W in viewers)
diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm
index 29431c42f3..798ec10fe0 100644
--- a/code/modules/tgui/tgui.dm
+++ b/code/modules/tgui/tgui.dm
@@ -182,7 +182,7 @@
return
//if(!COOLDOWN_FINISHED(src, refresh_cooldown))
//refreshing = TRUE
- //addtimer(CALLBACK(src, .proc/send_full_update), TGUI_REFRESH_FULL_UPDATE_COOLDOWN, TIMER_UNIQUE)
+ //addtimer(CALLBACK(src, PROC_REF(send_full_update)), TGUI_REFRESH_FULL_UPDATE_COOLDOWN, TIMER_UNIQUE)
//return
//refreshing = FALSE
var/should_update_data = force || status >= STATUS_UPDATE
diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm
index 77570c686c..d2cf51e632 100644
--- a/code/modules/tooltip/tooltip.dm
+++ b/code/modules/tooltip/tooltip.dm
@@ -89,7 +89,7 @@ Notes:
/datum/tooltip/proc/hide()
if (queueHide)
- addtimer(CALLBACK(src, .proc/do_hide), 1)
+ addtimer(CALLBACK(src, PROC_REF(do_hide)), 1)
else
do_hide()
diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm
index 3fc8e0c98b..3ef89ec260 100644
--- a/code/modules/vchat/vchat_client.dm
+++ b/code/modules/vchat/vchat_client.dm
@@ -310,7 +310,7 @@ GLOBAL_LIST_EMPTY(bicon_cache) // Cache of the
tag results, not the icons
base64 = icon2base64(A.examine_icon(), key)
GLOB.bicon_cache[key] = base64
if(changes_often)
- addtimer(CALLBACK(GLOBAL_PROC, .proc/expire_bicon_cache, key), 50 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(expire_bicon_cache), key), 50 SECONDS, TIMER_UNIQUE)
// May add a class to the img tag created by bicon
if(use_class)
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index 0b79e4646f..1ecc825b63 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -402,6 +402,7 @@
owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
//Stop AI processing in bellies
if(M.ai_holder)
+<<<<<<< HEAD
M.ai_holder.go_sleep()
if(reagents.total_volume > 0 && M.digestable) //CHOMPEdit Start
if(digest_mode == DM_DIGEST)
@@ -423,6 +424,13 @@
if((!owner.client || autotransfer_enabled) && autotransferlocation && autotransferchance > 0)
addtimer(CALLBACK(src, /obj/belly/.proc/check_autotransfer, thing, autotransferlocation), autotransferwait)
*/
+=======
+ M.ai_holder.handle_eaten()
+
+ // Intended for simple mobs
+ if(!owner.client && autotransferlocation && autotransferchance > 0)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/belly, check_autotransfer), thing, autotransferlocation), autotransferwait)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
// Called whenever an atom leaves this belly
/obj/belly/Exited(atom/movable/thing, atom/OldLoc)
@@ -1438,6 +1446,7 @@
for(var/mob/living/M in contents)
M.updateVRPanel()
+<<<<<<< HEAD
//Autotransfer callback CHOMPEdit Start
/obj/belly/proc/check_autotransfer(var/atom/movable/prey)
if(!(prey in contents) || !prey.autotransferable) return
@@ -1457,6 +1466,23 @@
if(!dest_belly) return
transfer_contents(prey, dest_belly)
return TRUE //CHOMPEdit end
+=======
+//Autotransfer callback
+/obj/belly/proc/check_autotransfer(var/prey, var/autotransferlocation)
+ if(autotransferlocation && (autotransferchance > 0) && (prey in contents))
+ if(prob(autotransferchance))
+ var/obj/belly/dest_belly
+ for(var/obj/belly/B in owner.vore_organs)
+ if(B.name == autotransferlocation)
+ dest_belly = B
+ break
+ if(dest_belly)
+ transfer_contents(prey, dest_belly)
+ else
+ // Didn't transfer, so wait before retrying
+ // I feel like there's a way to make this timer looping using the normal looping thing, but pass in the ID and cancel it if we aren't looping again
+ addtimer(CALLBACK(src, PROC_REF(check_autotransfer), prey, autotransferlocation), autotransferwait)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
// Belly copies and then returns the copy
// Needs to be updated for any var changes
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 71ba527435..84dc18880f 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -1255,7 +1255,7 @@
/datum/component/vore_panel/RegisterWithParent()
. = ..()
- RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, .proc/create_mob_button)
+ RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button))
var/mob/living/owner = parent
if(owner.client)
create_mob_button(parent)
@@ -1278,7 +1278,7 @@
var/datum/hud/HUD = user.hud_used
if(!screen_icon)
screen_icon = new()
- RegisterSignal(screen_icon, COMSIG_CLICK, .proc/vore_panel_click)
+ RegisterSignal(screen_icon, COMSIG_CLICK, PROC_REF(vore_panel_click))
if(ispAI(user))
screen_icon.icon = 'icons/mob/pai_hud.dmi'
screen_icon.screen_loc = ui_acti
@@ -1292,7 +1292,11 @@
/datum/component/vore_panel/proc/vore_panel_click(source, location, control, params, user)
var/mob/living/owner = user
if(istype(owner) && owner.vorePanel)
+<<<<<<< HEAD
INVOKE_ASYNC(owner, /mob/living/proc/insidePanel, owner) //CHOMPEdit
+=======
+ INVOKE_ASYNC(owner.vorePanel, PROC_REF(tgui_interact), user)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
/**
* Screen object for vore panel
diff --git a/code/modules/vore/eating/simple_animal_vr.dm b/code/modules/vore/eating/simple_animal_vr.dm
index 8e176bd84b..2e3dff5197 100644
--- a/code/modules/vore/eating/simple_animal_vr.dm
+++ b/code/modules/vore/eating/simple_animal_vr.dm
@@ -109,7 +109,11 @@
for(var/mob/living/L in living_mobs(0)) //add everyone on the tile to the do-not-eat list for a while
if(!(LAZYFIND(prey_excludes, L))) // Unless they're already on it, just to avoid fuckery.
LAZYSET(prey_excludes, L, world.time)
+<<<<<<< HEAD
addtimer(CALLBACK(src, .proc/removeMobFromPreyExcludes, weakref(L)), 5 MINUTES)
+=======
+ addtimer(CALLBACK(src, PROC_REF(removeMobFromPreyExcludes), WEAKREF(L)), 5 MINUTES)
+>>>>>>> b6b3a1357c... Merge pull request #14976 from ItsSelis/selis-515compat
else if(istype(O, /obj/item/device/healthanalyzer))
var/healthpercent = health/maxHealth*100
to_chat(user, "[src] seems to be [healthpercent]% healthy.")
diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm
index 4273771ac5..4088c22aed 100644
--- a/code/modules/vore/resizing/sizegun_vr.dm
+++ b/code/modules/vore/resizing/sizegun_vr.dm
@@ -25,7 +25,7 @@
/obj/item/weapon/gun/energy/sizegun/New()
..()
- verbs += .proc/select_size
+ verbs += PROC_REF(select_size)
/obj/item/weapon/gun/energy/sizegun/attack_self(mob/user)
. = ..()
diff --git a/code/modules/webhooks/_webhook.dm b/code/modules/webhooks/_webhook.dm
index e7cfb646cd..f1cf4841c4 100644
--- a/code/modules/webhooks/_webhook.dm
+++ b/code/modules/webhooks/_webhook.dm
@@ -10,7 +10,7 @@
if (!target_url)
return -1
- var/result = call(HTTP_POST_DLL_LOCATION, "send_post_request")(target_url, payload, json_encode(list("Content-Type" = "application/json")))
+ var/result = LIBCALL(HTTP_POST_DLL_LOCATION, "send_post_request")(target_url, payload, json_encode(list("Content-Type" = "application/json")))
result = cached_json_decode(result)
if (result["error_code"])
diff --git a/tgui/docs/tgui-for-custom-html-popups.md b/tgui/docs/tgui-for-custom-html-popups.md
index f25060e9fa..f7efffbe08 100644
--- a/tgui/docs/tgui-for-custom-html-popups.md
+++ b/tgui/docs/tgui-for-custom-html-popups.md
@@ -193,7 +193,7 @@ To receive it in DM, you must register a delegate proc (callback) that will rece
```dm
/datum/my_object/proc/initialize()
// ...
- window.subscribe(src, .proc/on_message)
+ window.subscribe(src, PROC_REF(on_message))
/datum/my_object/proc/on_message(type, payload)
if (type == "click")
process_button_click(payload["button"])