diff --git a/.editorconfig b/.editorconfig index 13dcd5e029..72e85029ef 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,11 +1,22 @@ +# http://editorconfig.org +root = true + [*] -insert_final_newline = true indent_style = tab -indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true [*.yml] indent_style = space indent_size = 2 -[*.txt] -insert_final_newline = false +[*.py] +indent_style = space + +[*.md] +trim_trailing_whitespace = false + +[Dockerfile] +indent_style = space diff --git a/.gitignore b/.gitignore index 27885945db..b18d93d665 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ *.lk *.int *.backup +*m.dme ### https://raw.github.com/github/gitignore/cc542de017c606138a87ee4880e5f06b3a306def/Global/Linux.gitignore *~ diff --git a/auxmos.dll b/auxmos.dll index 20e2aa0c65..d972d96a3c 100644 Binary files a/auxmos.dll and b/auxmos.dll differ diff --git a/auxmos.pdb b/auxmos.pdb index 2f767e4107..5bd46395bb 100644 Binary files a/auxmos.pdb and b/auxmos.pdb differ diff --git a/code/__DEFINES/_auxtools.dm b/code/__DEFINES/_auxtools.dm deleted file mode 100644 index ab07becbd9..0000000000 --- a/code/__DEFINES/_auxtools.dm +++ /dev/null @@ -1,9 +0,0 @@ -#define AUXMOS (world.system_type == MS_WINDOWS ? "auxmos.dll" : __detect_auxmos()) - -/proc/__detect_auxmos() - if (fexists("./libauxmos.so")) - return "./libauxmos.so" - else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/libauxmos.so")) - return "[world.GetConfig("env", "HOME")]/.byond/bin/libauxmos.so" - else - CRASH("Could not find libauxmos.so") diff --git a/code/__DEFINES/bindings.dm b/code/__DEFINES/bindings.dm new file mode 100644 index 0000000000..f7d94e15b0 --- /dev/null +++ b/code/__DEFINES/bindings.dm @@ -0,0 +1,185 @@ +//THIS FILE IS AUTOMATICALLY GENERATED BY AUXMOS, PLEASE DO NOT TOUCH IT +//PROC DEFINITIONS MAY MOVE AROUND, THIS IS NORMAL + +/* This comment bypasses grep checks */ /var/__auxmos + +/proc/__detect_auxmos() + if (world.system_type == UNIX) + return __auxmos = "libauxmos" + else + return __auxmos = "auxmos" + +#define AUXMOS (__auxmos || __detect_auxmos()) + +/datum/controller/subsystem/air/proc/process_turf_equalize_auxtools(remaining) + return LIBCALL(AUXMOS, "byond:equalize_hook_ffi")(src, remaining) + +/datum/controller/subsystem/air/proc/process_excited_groups_auxtools(remaining) + return LIBCALL(AUXMOS, "byond:groups_hook_ffi")(src, remaining) + +/datum/controller/subsystem/air/proc/process_turfs_auxtools(remaining) + return LIBCALL(AUXMOS, "byond:process_turf_hook_ffi")(src, remaining) + +/datum/controller/subsystem/air/proc/finish_turf_processing_auxtools(time_remaining) + return LIBCALL(AUXMOS, "byond:finish_process_turfs_ffi")(time_remaining) + +/datum/controller/subsystem/air/proc/thread_running() + return LIBCALL(AUXMOS, "byond:thread_running_hook_ffi")() + +/turf/proc/__update_auxtools_turf_adjacency_info() + return LIBCALL(AUXMOS, "byond:hook_infos_ffi")(src) + +/turf/proc/update_air_ref(flag) + return LIBCALL(AUXMOS, "byond:hook_register_turf_ffi")(src, flag) + +/proc/finalize_gas_refs() + return LIBCALL(AUXMOS, "byond:finalize_gas_refs_ffi")() + +/datum/controller/subsystem/air/proc/auxtools_update_reactions() + return LIBCALL(AUXMOS, "byond:update_reactions_ffi")() + +/proc/auxtools_atmos_init(gas_data) + return LIBCALL(AUXMOS, "byond:hook_init_ffi")(gas_data) + +/proc/_auxtools_register_gas(gas) + return LIBCALL(AUXMOS, "byond:hook_register_gas_ffi")(gas) + +/datum/gas_mixture/proc/__auxtools_parse_gas_string(string) + return LIBCALL(AUXMOS, "byond:parse_gas_string_ffi")(src, string) + +/datum/controller/subsystem/air/proc/get_max_gas_mixes() + return LIBCALL(AUXMOS, "byond:hook_max_gas_mixes_ffi")() + +/datum/controller/subsystem/air/proc/get_amt_gas_mixes() + return LIBCALL(AUXMOS, "byond:hook_amt_gas_mixes_ffi")() + +/proc/equalize_all_gases_in_list(gas_list) + return LIBCALL(AUXMOS, "byond:equalize_all_hook_ffi")(gas_list) + +/datum/gas_mixture/proc/get_oxidation_power(temp) + return LIBCALL(AUXMOS, "byond:oxidation_power_hook_ffi")(src, temp) + +/datum/gas_mixture/proc/get_fuel_amount(temp) + return LIBCALL(AUXMOS, "byond:fuel_amount_hook_ffi")(src, temp) + +/datum/gas_mixture/proc/equalize_with(total) + return LIBCALL(AUXMOS, "byond:equalize_with_hook_ffi")(src, total) + +/datum/gas_mixture/proc/transfer_ratio_to(other, ratio) + return LIBCALL(AUXMOS, "byond:transfer_ratio_hook_ffi")(src, other, ratio) + +/datum/gas_mixture/proc/transfer_to(other, moles) + return LIBCALL(AUXMOS, "byond:transfer_hook_ffi")(src, other, moles) + +/datum/gas_mixture/proc/adjust_heat(temp) + return LIBCALL(AUXMOS, "byond:adjust_heat_hook_ffi")(src, temp) + +/datum/gas_mixture/proc/react(holder) + return LIBCALL(AUXMOS, "byond:react_hook_ffi")(src, holder) + +/datum/gas_mixture/proc/compare(other) + return LIBCALL(AUXMOS, "byond:compare_hook_ffi")(src, other) + +/datum/gas_mixture/proc/clear() + return LIBCALL(AUXMOS, "byond:clear_hook_ffi")(src) + +/datum/gas_mixture/proc/mark_immutable() + return LIBCALL(AUXMOS, "byond:mark_immutable_hook_ffi")(src) + +/datum/gas_mixture/proc/scrub_into(into, ratio_v, gas_list) + return LIBCALL(AUXMOS, "byond:scrub_into_hook_ffi")(src, into, ratio_v, gas_list) + +/datum/gas_mixture/proc/get_by_flag(flag_val) + return LIBCALL(AUXMOS, "byond:get_by_flag_hook_ffi")(src, flag_val) + +/datum/gas_mixture/proc/__remove_by_flag(into, flag_val, amount_val) + return LIBCALL(AUXMOS, "byond:remove_by_flag_hook_ffi")(src, into, flag_val, amount_val) + +/datum/gas_mixture/proc/divide(num_val) + return LIBCALL(AUXMOS, "byond:divide_hook_ffi")(src, num_val) + +/datum/gas_mixture/proc/multiply(num_val) + return LIBCALL(AUXMOS, "byond:multiply_hook_ffi")(src, num_val) + +/datum/gas_mixture/proc/subtract(num_val) + return LIBCALL(AUXMOS, "byond:subtract_hook_ffi")(src, num_val) + +/datum/gas_mixture/proc/add(num_val) + return LIBCALL(AUXMOS, "byond:add_hook_ffi")(src, num_val) + +/datum/gas_mixture/proc/adjust_multi(...) + var/list/args_copy = args.Copy() + args_copy.Insert(1, src) + return LIBCALL(AUXMOS, "byond:adjust_multi_hook_ffi")(arglist(args_copy)) + +/datum/gas_mixture/proc/adjust_moles_temp(id_val, num_val, temp_val) + return LIBCALL(AUXMOS, "byond:adjust_moles_temp_hook_ffi")(src, id_val, num_val, temp_val) + +/datum/gas_mixture/proc/adjust_moles(id_val, num_val) + return LIBCALL(AUXMOS, "byond:adjust_moles_hook_ffi")(src, id_val, num_val) + +/datum/gas_mixture/proc/set_moles(gas_id, amt_val) + return LIBCALL(AUXMOS, "byond:set_moles_hook_ffi")(src, gas_id, amt_val) + +/datum/gas_mixture/proc/get_moles(gas_id) + return LIBCALL(AUXMOS, "byond:get_moles_hook_ffi")(src, gas_id) + +/datum/gas_mixture/proc/set_volume(vol_arg) + return LIBCALL(AUXMOS, "byond:set_volume_hook_ffi")(src, vol_arg) + +/datum/gas_mixture/proc/partial_heat_capacity(gas_id) + return LIBCALL(AUXMOS, "byond:partial_heat_capacity_ffi")(src, gas_id) + +/datum/gas_mixture/proc/set_temperature(arg_temp) + return LIBCALL(AUXMOS, "byond:set_temperature_hook_ffi")(src, arg_temp) + +/datum/gas_mixture/proc/get_gases() + return LIBCALL(AUXMOS, "byond:get_gases_hook_ffi")(src) + +/datum/gas_mixture/proc/temperature_share(...) + var/list/args_copy = args.Copy() + args_copy.Insert(1, src) + return LIBCALL(AUXMOS, "byond:temperature_share_hook_ffi")(arglist(args_copy)) + +/datum/gas_mixture/proc/copy_from(giver) + return LIBCALL(AUXMOS, "byond:copy_from_hook_ffi")(src, giver) + +/datum/gas_mixture/proc/__remove(into, amount_arg) + return LIBCALL(AUXMOS, "byond:remove_hook_ffi")(src, into, amount_arg) + +/datum/gas_mixture/proc/__remove_ratio(into, ratio_arg) + return LIBCALL(AUXMOS, "byond:remove_ratio_hook_ffi")(src, into, ratio_arg) + +/datum/gas_mixture/proc/merge(giver) + return LIBCALL(AUXMOS, "byond:merge_hook_ffi")(src, giver) + +/datum/gas_mixture/proc/thermal_energy() + return LIBCALL(AUXMOS, "byond:thermal_energy_hook_ffi")(src) + +/datum/gas_mixture/proc/return_volume() + return LIBCALL(AUXMOS, "byond:return_volume_hook_ffi")(src) + +/datum/gas_mixture/proc/return_temperature() + return LIBCALL(AUXMOS, "byond:return_temperature_hook_ffi")(src) + +/datum/gas_mixture/proc/return_pressure() + return LIBCALL(AUXMOS, "byond:return_pressure_hook_ffi")(src) + +/datum/gas_mixture/proc/total_moles() + return LIBCALL(AUXMOS, "byond:total_moles_hook_ffi")(src) + +/datum/gas_mixture/proc/set_min_heat_capacity(arg_min) + return LIBCALL(AUXMOS, "byond:min_heat_cap_hook_ffi")(src, arg_min) + +/datum/gas_mixture/proc/heat_capacity() + return LIBCALL(AUXMOS, "byond:heat_cap_hook_ffi")(src) + +/datum/gas_mixture/proc/__gasmixture_unregister() + return LIBCALL(AUXMOS, "byond:unregister_gasmixture_hook_ffi")(src) + +/datum/gas_mixture/proc/__gasmixture_register() + return LIBCALL(AUXMOS, "byond:register_gasmixture_hook_ffi")(src) + +/proc/process_atmos_callbacks(remaining) + return LIBCALL(AUXMOS, "byond:atmos_callback_handle_ffi")(remaining) + diff --git a/code/__DEFINES/callbacks.dm b/code/__DEFINES/callbacks.dm index f25dfdf150..04e1a2da63 100644 --- a/code/__DEFINES/callbacks.dm +++ b/code/__DEFINES/callbacks.dm @@ -2,4 +2,4 @@ /// A shorthand for the callback datum, [documented here](datum/callback.html) #define CALLBACK new /datum/callback #define INVOKE_ASYNC world.ImmediateInvokeAsync -#define CALLBACK_NEW(typepath, args) CALLBACK(GLOBAL_PROC, /proc/___callbacknew, typepath, args) +#define CALLBACK_NEW(typepath, args) CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(___callbacknew), typepath, args) diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index 29c7a25dad..b88e51c0e3 100644 --- a/code/__DEFINES/cooldowns.dm +++ b/code/__DEFINES/cooldowns.dm @@ -34,7 +34,7 @@ #define COMSIG_CD_STOP(cd_index) "cooldown_[cd_index]" #define COMSIG_CD_RESET(cd_index) "cd_reset_[cd_index]" -#define TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, /proc/end_cooldown, cd_source, cd_index), cd_time)) +#define TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(end_cooldown), cd_source, cd_index), cd_time)) #define TIMER_COOLDOWN_CHECK(cd_source, cd_index) LAZYACCESS(cd_source.cooldowns, cd_index) @@ -47,7 +47,7 @@ * A bit more expensive than the regular timers, but can be reset before they end and the time left can be checked. */ -#define S_TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, /proc/end_cooldown, cd_source, cd_index), cd_time, TIMER_STOPPABLE)) +#define S_TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(end_cooldown), cd_source, cd_index), cd_time, TIMER_STOPPABLE)) #define S_TIMER_COOLDOWN_RESET(cd_source, cd_index) reset_cooldown(cd_source, cd_index) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index b3f0432d8e..bea0197288 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -135,7 +135,7 @@ #define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" //from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) #define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" //called when teleporting into a protected turf: (channel, turf/origin, turf/destination) #define COMPONENT_BLOCK_TELEPORT 1 -#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" //called when an atom with HEAR_1 is added to the hearers on /proc/get_hearers_in_view(): (list/processing_list, list/hearers) +#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" //called when an atom with HEAR_1 is added to the hearers on GLOBAL_PROC_REF(get_hearers_in_view)(): (list/processing_list, list/hearers) ///////////////// #define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" //from base of atom/attack_ghost(): (mob/dead/observer/ghost) #define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user) diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm index 2ff9edce4a..36ddde748b 100644 --- a/code/__DEFINES/qdel.dm +++ b/code/__DEFINES/qdel.dm @@ -47,11 +47,11 @@ #define QDELETED(X) (isnull(X) || QDELING(X)) #define QDESTROYING(X) (isnull(X) || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) -#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, (time) > GC_FILTER_QUEUE ? WEAKREF(item) : 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), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE) +#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) #define QDEL_NULL(item) qdel(item); item = null #define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); } -#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .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 b71bb3c407..7fcbbc237a 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -38,6 +38,59 @@ #define RUST_G (__rust_g || __detect_rust_g()) #endif +// Handle 515 call() -> call_ext() changes +#if DM_VERSION >= 515 +#define RUSTG_CALL call_ext +#else +#define RUSTG_CALL call +#endif + +/// Gets the version of rust_g +/proc/rustg_get_version() return RUSTG_CALL(RUST_G, "get_version")() + + +/** + * Sets up the Aho-Corasick automaton with its default options. + * + * The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call + * Arguments: + * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements calls + * * patterns - A non-associative list of strings to search for + * * replacements - Default replacements for this automaton, used with rustg_acreplace + */ +#define rustg_setup_acreplace(key, patterns, replacements) RUSTG_CALL(RUST_G, "setup_acreplace")(key, json_encode(patterns), json_encode(replacements)) + +/** + * Sets up the Aho-Corasick automaton using supplied options. + * + * The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call + * Arguments: + * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements calls + * * options - An associative list like list("anchored" = 0, "ascii_case_insensitive" = 0, "match_kind" = "Standard"). The values shown on the example are the defaults, and default values may be omitted. See the identically named methods at https://docs.rs/aho-corasick/latest/aho_corasick/struct.AhoCorasickBuilder.html to see what the options do. + * * patterns - A non-associative list of strings to search for + * * replacements - Default replacements for this automaton, used with rustg_acreplace + */ +#define rustg_setup_acreplace_with_options(key, options, patterns, replacements) RUSTG_CALL(RUST_G, "setup_acreplace")(key, json_encode(options), json_encode(patterns), json_encode(replacements)) + +/** + * Run the specified replacement engine with the provided haystack text to replace, returning replaced text. + * + * Arguments: + * * key - The key for the automaton + * * text - Text to run replacements on + */ +#define rustg_acreplace(key, text) RUSTG_CALL(RUST_G, "acreplace")(key, text) + +/** + * Run the specified replacement engine with the provided haystack text to replace, returning replaced text. + * + * Arguments: + * * key - The key for the automaton + * * text - Text to run replacements on + * * replacements - Replacements for this call. Must be the same length as the set-up patterns + */ +#define rustg_acreplace_with_replacements(key, text, replacements) RUSTG_CALL(RUST_G, "acreplace_with_replacements")(key, text, json_encode(replacements)) + /** * This proc generates a cellular automata noise grid which can be used in procedural generation methods. * @@ -52,24 +105,37 @@ * * height: The height of the grid. */ #define rustg_cnoise_generate(percentage, smoothing_iterations, birth_limit, death_limit, width, height) \ - call(RUST_G, "cnoise_generate")(percentage, smoothing_iterations, birth_limit, death_limit, width, height) + RUSTG_CALL(RUST_G, "cnoise_generate")(percentage, smoothing_iterations, birth_limit, death_limit, width, height) -#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_resize_png(path, width, height, resizetype) call(RUST_G, "dmi_resize_png")(path, width, height, resizetype) +#define rustg_dmi_strip_metadata(fname) RUSTG_CALL(RUST_G, "dmi_strip_metadata")(fname) +#define rustg_dmi_create_png(path, width, height, data) RUSTG_CALL(RUST_G, "dmi_create_png")(path, width, height, data) +#define rustg_dmi_resize_png(path, width, height, resizetype) RUSTG_CALL(RUST_G, "dmi_resize_png")(path, width, height, resizetype) +/** + * input: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg. + * + * output: json_encode'd list. json_decode to get a flat list with icon states in the order they're in inside the .dmi + */ +#define rustg_dmi_icon_states(fname) RUSTG_CALL(RUST_G, "dmi_icon_states")(fname) -#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) RUSTG_CALL(RUST_G, "file_read")(fname) +#define rustg_file_exists(fname) (RUSTG_CALL(RUST_G, "file_exists")(fname) == "true") +#define rustg_file_write(text, fname) RUSTG_CALL(RUST_G, "file_write")(text, fname) +#define rustg_file_append(text, fname) RUSTG_CALL(RUST_G, "file_append")(text, fname) +#define rustg_file_get_line_count(fname) text2num(RUSTG_CALL(RUST_G, "file_get_line_count")(fname)) +#define rustg_file_seek_line(fname, line) RUSTG_CALL(RUST_G, "file_seek_line")(fname, "[line]") #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) +/// Returns the git hash of the given revision, ex. "HEAD". +#define rustg_git_revparse(rev) RUSTG_CALL(RUST_G, "rg_git_revparse")(rev) +/** + * Returns the date of the given revision in the format YYYY-MM-DD. + * Returns null if the revision is invalid. + */ +#define rustg_git_commit_date(rev) RUSTG_CALL(RUST_G, "rg_git_commit_date")(rev) #define RUSTG_HTTP_METHOD_GET "get" #define RUSTG_HTTP_METHOD_PUT "put" @@ -77,24 +143,58 @@ #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, options) RUSTG_CALL(RUST_G, "http_request_blocking")(method, url, body, headers, options) +#define rustg_http_request_async(method, url, body, headers, options) RUSTG_CALL(RUST_G, "http_request_async")(method, url, body, headers, options) +#define rustg_http_check_request(req_id) RUSTG_CALL(RUST_G, "http_check_request")(req_id) #define RUSTG_JOB_NO_RESULTS_YET "NO RESULTS YET" #define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB" #define RUSTG_JOB_ERROR "JOB PANICKED" -#define rustg_json_is_valid(text) (call(RUST_G, "json_is_valid")(text) == "true") +#define rustg_json_is_valid(text) (RUSTG_CALL(RUST_G, "json_is_valid")(text) == "true") + +#define rustg_log_write(fname, text, format) RUSTG_CALL(RUST_G, "log_write")(fname, text, format) +/proc/rustg_log_close_all() return RUSTG_CALL(RUST_G, "log_close_all")() -#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_noise_get_at_coordinates(seed, x, y) RUSTG_CALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) -#define rustg_noise_get_at_coordinates(seed, x, y) call(RUST_G, "noise_get_at_coordinates")(seed, x, y) +#define rustg_sql_connect_pool(options) RUSTG_CALL(RUST_G, "sql_connect_pool")(options) +#define rustg_sql_query_async(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_async")(handle, query, params) +#define rustg_sql_query_blocking(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_blocking")(handle, query, params) +#define rustg_sql_connected(handle) RUSTG_CALL(RUST_G, "sql_connected")(handle) +#define rustg_sql_disconnect_pool(handle) RUSTG_CALL(RUST_G, "sql_disconnect_pool")(handle) +#define rustg_sql_check_query(job_id) RUSTG_CALL(RUST_G, "sql_check_query")("[job_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_time_microseconds(id) text2num(RUSTG_CALL(RUST_G, "time_microseconds")(id)) +#define rustg_time_milliseconds(id) text2num(RUSTG_CALL(RUST_G, "time_milliseconds")(id)) +#define rustg_time_reset(id) RUSTG_CALL(RUST_G, "time_reset")(id) + +/// Returns the timestamp as a string +/proc/rustg_unix_timestamp() + return RUSTG_CALL(RUST_G, "unix_timestamp")() + +#define rustg_raw_read_toml_file(path) json_decode(RUSTG_CALL(RUST_G, "toml_file_to_json")(path) || "null") + +/proc/rustg_read_toml_file(path) + var/list/output = rustg_raw_read_toml_file(path) + if (output["success"]) + return json_decode(output["content"]) + else + CRASH(output["content"]) + +#define rustg_raw_toml_encode(value) json_decode(RUSTG_CALL(RUST_G, "toml_encode")(json_encode(value))) + +/proc/rustg_toml_encode(value) + var/list/output = rustg_raw_toml_encode(value) + if (output["success"]) + return output["content"] + else + CRASH(output["content"]) + +#define rustg_url_encode(text) RUSTG_CALL(RUST_G, "url_encode")("[text]") +#define rustg_url_decode(text) RUSTG_CALL(RUST_G, "url_decode")(text) + +#ifdef RUSTG_OVERRIDE_BUILTINS + #define url_encode(text) rustg_url_encode(text) + #define url_decode(text) rustg_url_decode(text) +#endif \ No newline at end of file diff --git a/code/__DEFINES/spaceman_dmm.dm b/code/__DEFINES/spaceman_dmm.dm index 9e1e7fa482..db75cea5ac 100644 --- a/code/__DEFINES/spaceman_dmm.dm +++ b/code/__DEFINES/spaceman_dmm.dm @@ -3,21 +3,60 @@ // The SPACEMAN_DMM define is set by the linter and other tooling when it runs. #ifdef SPACEMAN_DMM + /** + * Sets a return type expression for a proc. The return type can take the forms: + * `/typepath` - a raw typepath. The return type of the proc is the type named. + * `param` - a typepath given as a parameter, for procs which return an instance of the passed-in type. + * `param.type` - the static type of a passed-in parameter, for procs which + * return their input or otherwise another value of the same type. + * `param[_].type` - the static type of a passed-in parameter, with one level + * of `/list` stripped, for procs which select one item from a list. The `[_]` + * may be repeated to strip more levels of `/list`. + */ #define RETURN_TYPE(X) set SpacemanDMM_return_type = X + /** + * If set, will enable a diagnostic on children of the proc it is set on which do + * not contain any `..()` parent calls. This can help with finding situations + * where a signal or other important handling in the parent proc is being skipped. + * Child procs may set this setting to `0` instead to override the check. + */ #define SHOULD_CALL_PARENT(X) set SpacemanDMM_should_call_parent = X - #define UNLINT(X) SpacemanDMM_unlint(X) + /** + * If set, raise a warning for any child procs that override this one, + * regardless of if it calls parent or not. + * This functions in a similar way to the `final` keyword in some languages. + * This cannot be disabled by child overrides. + */ #define SHOULD_NOT_OVERRIDE(X) set SpacemanDMM_should_not_override = X + /** + * If set, raise a warning if the proc or one of the sub-procs it calls + * uses a blocking call, such as `sleep()` or `input()` without using `set waitfor = 0` + * This cannot be disabled by child overrides. + */ #define SHOULD_NOT_SLEEP(X) set SpacemanDMM_should_not_sleep = X + /** + * If set, ensure a proc is 'pure', such that it does not make any changes + * outside itself or output. This also checks to make sure anything using + * this proc doesn't invoke it without making use of the return value. + * This cannot be disabled by child overrides. + */ #define SHOULD_BE_PURE(X) set SpacemanDMM_should_be_pure = X + ///Private procs can only be called by things of exactly the same type. #define PRIVATE_PROC(X) set SpacemanDMM_private_proc = X + ///Protected procs can only be call by things of the same type *or subtypes*. #define PROTECTED_PROC(X) set SpacemanDMM_protected_proc = X + ///If set, will not lint. + #define UNLINT(X) SpacemanDMM_unlint(X) + + ///If set, overriding their value isn't permitted by types that inherit it. #define VAR_FINAL var/SpacemanDMM_final + ///Private vars can only be called by things of exactly the same type. #define VAR_PRIVATE var/SpacemanDMM_private + ///Protected vars can only be called by things of the same type *or subtypes*. #define VAR_PROTECTED var/SpacemanDMM_protected #else #define RETURN_TYPE(X) #define SHOULD_CALL_PARENT(X) - #define UNLINT(X) X #define SHOULD_NOT_OVERRIDE(X) #define SHOULD_NOT_SLEEP(X) #define SHOULD_BE_PURE(X) @@ -26,7 +65,8 @@ #define VAR_FINAL var #define VAR_PRIVATE var #define VAR_PROTECTED var + #define UNLINT(X) X #endif -/proc/enable_debugging() - CRASH("Auxtools not found") +/*/proc/enable_debugging() + CRASH("Auxtools not found")*/ diff --git a/code/__HELPERS/AStar.dm b/code/__HELPERS/AStar.dm index a368e8ddc4..1fa7063328 100644 --- a/code/__HELPERS/AStar.dm +++ b/code/__HELPERS/AStar.dm @@ -20,7 +20,7 @@ Actual Adjacent procs : /turf/proc/reachableAdjacentTurfs : returns reachable turfs in cardinal directions (uses simulated_only) - /turf/proc/reachableAdjacentAtmosTurfs : returns turfs in cardinal directions reachable via atmos + TYPE_PROC_REF(/turf, reachableAdjacentAtmosTurfs) : returns turfs in cardinal directions reachable via atmos */ #define PF_TIEBREAKER 0.005 @@ -74,7 +74,7 @@ Actual Adjacent procs : return b.f - a.f //wrapper that returns an empty list if A* failed to find a path -/proc/get_path_to(caller, end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = /turf/proc/reachableTurftest, id=null, turf/exclude=null, simulated_only = 1) +/proc/get_path_to(caller, end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = TYPE_PROC_REF(/turf, reachableTurftest), id=null, turf/exclude=null, simulated_only = 1) var/l = SSpathfinder.mobs.getfree(caller) while(!l) stoplag(3) @@ -86,7 +86,7 @@ Actual Adjacent procs : path = list() return path -/proc/cir_get_path_to(caller, end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = /turf/proc/reachableTurftest, id=null, turf/exclude=null, simulated_only = 1) +/proc/cir_get_path_to(caller, end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = TYPE_PROC_REF(/turf, reachableTurftest), id=null, turf/exclude=null, simulated_only = 1) var/l = SSpathfinder.circuits.getfree(caller) while(!l) stoplag(3) @@ -97,7 +97,7 @@ Actual Adjacent procs : path = list() return path -/proc/AStar(caller, _end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = /turf/proc/reachableTurftest, id=null, turf/exclude=null, simulated_only = 1) +/proc/AStar(caller, _end, dist, maxnodes, maxnodedepth = 30, mintargetdist, adjacent = TYPE_PROC_REF(/turf, reachableTurftest), id=null, turf/exclude=null, simulated_only = 1) //sanitation var/turf/end = get_turf(_end) var/turf/start = get_turf(caller) @@ -111,7 +111,7 @@ Actual Adjacent procs : if(call(start, dist)(end) > maxnodes) return 0 maxnodedepth = maxnodes //no need to consider path longer than maxnodes - var/datum/Heap/open = new /datum/Heap(/proc/HeapPathWeightCompare) //the open list + var/datum/Heap/open = new /datum/Heap(GLOBAL_PROC_REF(HeapPathWeightCompare)) //the open list var/list/openc = new() //open list for node check var/list/path = null //the returned path, if any //initialization diff --git a/code/__HELPERS/_auxtools_api.dm b/code/__HELPERS/_auxtools_api.dm new file mode 100644 index 0000000000..8dbd58f2ee --- /dev/null +++ b/code/__HELPERS/_auxtools_api.dm @@ -0,0 +1,43 @@ +#define AUXTOOLS_FULL_INIT 2 +#define AUXTOOLS_PARTIAL_INIT 1 + +GLOBAL_LIST_EMPTY(auxtools_initialized) +GLOBAL_PROTECT(auxtools_initialized) + +#define AUXTOOLS_CHECK(LIB)\ + if (!CONFIG_GET(flag/auxtools_enabled)) {\ + CRASH("Auxtools is not enabled in config!");\ + }\ + if (GLOB.auxtools_initialized[LIB] != AUXTOOLS_FULL_INIT) {\ + if (fexists(LIB)) {\ + var/string = LIBCALL(LIB,"auxtools_init")();\ + if(findtext(string, "SUCCESS")) {\ + GLOB.auxtools_initialized[LIB] = AUXTOOLS_FULL_INIT;\ + } else {\ + CRASH(string);\ + }\ + } else {\ + CRASH("No file named [LIB] found!")\ + }\ + }\ + +#define AUXTOOLS_SHUTDOWN(LIB)\ + if (GLOB.auxtools_initialized[LIB] == AUXTOOLS_FULL_INIT && fexists(LIB)){\ + LIBCALL(LIB,"auxtools_shutdown")();\ + GLOB.auxtools_initialized[LIB] = AUXTOOLS_PARTIAL_INIT;\ + }\ + +#define AUXTOOLS_FULL_SHUTDOWN(LIB)\ + if (GLOB.auxtools_initialized[LIB] && fexists(LIB)){\ + LIBCALL(LIB,"auxtools_full_shutdown")();\ + GLOB.auxtools_initialized[LIB] = FALSE;\ + } + +/proc/auxtools_stack_trace(msg) + CRASH(msg) + +/proc/auxtools_expr_stub() + CRASH("auxtools not loaded") + +/proc/enable_debugging(mode, port) + CRASH("auxtools not loaded") diff --git a/code/__HELPERS/_extools_api.dm b/code/__HELPERS/_extools_api.dm deleted file mode 100644 index 7bff3f06c0..0000000000 --- a/code/__HELPERS/_extools_api.dm +++ /dev/null @@ -1,30 +0,0 @@ -//#define EXTOOLS_LOGGING // rust_g is used as a fallback if this is undefined - -/proc/extools_log_write() - -/proc/extools_finalize_logging() - -/proc/auxtools_stack_trace(msg) - CRASH(msg) - -GLOBAL_LIST_EMPTY(auxtools_initialized) - -#define AUXTOOLS_CHECK(LIB)\ - if (!GLOB.auxtools_initialized[LIB]) {\ - if (fexists(LIB)) {\ - var/string = call(LIB,"auxtools_init")();\ - if(findtext(string, "SUCCESS")) {\ - GLOB.auxtools_initialized[LIB] = TRUE;\ - } else {\ - CRASH(string);\ - }\ - } else {\ - CRASH("No file named [LIB] found!")\ - }\ - }\ - -#define AUXTOOLS_SHUTDOWN(LIB)\ - if (GLOB.auxtools_initialized[LIB] && fexists(LIB)){\ - call(LIB,"auxtools_shutdown")();\ - GLOB.auxtools_initialized[LIB] = FALSE;\ - }\ diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 829da12ad1..31696294ba 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -482,12 +482,12 @@ //for sorting clients or mobs by ckey /proc/sortKey(list/L, order=1) - return sortTim(L, order >= 0 ? /proc/cmp_ckey_asc : /proc/cmp_ckey_dsc) + return sortTim(L, order >= 0 ? GLOBAL_PROC_REF(cmp_ckey_asc) : GLOBAL_PROC_REF(cmp_ckey_dsc)) //Specifically for record datums in a list. /proc/sortRecord(list/L, field = "name", order = 1) GLOB.cmp_field = field - return sortTim(L, order >= 0 ? /proc/cmp_records_asc : /proc/cmp_records_dsc) + return sortTim(L, order >= 0 ? GLOBAL_PROC_REF(cmp_records_asc) : GLOBAL_PROC_REF(cmp_records_dsc)) //any value in a list /proc/sortList(list/L, cmp=/proc/cmp_text_asc) @@ -495,7 +495,7 @@ //uses sortList() but uses the var's name specifically. This should probably be using mergeAtom() instead /proc/sortNames(list/L, order=1) - return sortTim(L, order >= 0 ? /proc/cmp_name_asc : /proc/cmp_name_dsc) + return sortTim(L, order >= 0 ? GLOBAL_PROC_REF(cmp_name_asc) : GLOBAL_PROC_REF(cmp_name_dsc)) //Converts a bitfield to a list of numbers (or words if a wordlist is provided) diff --git a/code/__HELPERS/_string_lists.dm b/code/__HELPERS/_string_lists.dm index 43d45594e0..7d6415c1ef 100644 --- a/code/__HELPERS/_string_lists.dm +++ b/code/__HELPERS/_string_lists.dm @@ -13,7 +13,7 @@ GLOBAL_VAR(string_filename_current_key) if((filename in GLOB.string_cache) && (key in GLOB.string_cache[filename])) var/response = pick(GLOB.string_cache[filename][key]) var/regex/r = regex("@pick\\((\\D+?)\\)", "g") - response = r.Replace(response, /proc/strings_subkey_lookup) + response = r.Replace(response, GLOBAL_PROC_REF(strings_subkey_lookup)) return response else CRASH("strings list not found: strings/[filename], index=[key]") diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index 7e83abac93..a8d65825f0 100644 --- a/code/__HELPERS/areas.dm +++ b/code/__HELPERS/areas.dm @@ -12,11 +12,11 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engine/eng for(var/area/A in world) GLOB.sortedAreas.Add(A) - sortTim(GLOB.sortedAreas, /proc/cmp_name_asc) + sortTim(GLOB.sortedAreas, GLOBAL_PROC_REF(cmp_name_asc)) /area/proc/addSorted() GLOB.sortedAreas.Add(src) - sortTim(GLOB.sortedAreas, /proc/cmp_name_asc) + sortTim(GLOB.sortedAreas, GLOBAL_PROC_REF(cmp_name_asc)) //Takes: Area type as a text string from a variable. //Returns: Instance for the area in the world. diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 825c57eb02..dbc29ce5db 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -388,7 +388,7 @@ /proc/flick_overlay(image/I, list/show_to, duration) for(var/client/C in show_to) C.images += I - addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_images_from_clients, I, show_to), duration, TIMER_CLIENT_TIME) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration, TIMER_CLIENT_TIME) /proc/flick_overlay_view(image/I, atom/target, duration) //wrapper for the above, flicks to everyone who can see the target atom var/list/viewing = list() diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 0739912620..309ed841dd 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -89,11 +89,11 @@ continue GLOB.uplink_items += path //(sub)typesof entries are listed by the order they are loaded in the code, so we'll have to rearrange them here. - GLOB.uplink_items = sortList(GLOB.uplink_items, /proc/cmp_uplink_items_dsc) + GLOB.uplink_items = sortList(GLOB.uplink_items, GLOBAL_PROC_REF(cmp_uplink_items_dsc)) init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes) - INVOKE_ASYNC(GLOBAL_PROC, /proc/init_ref_coin_values) //so the current procedure doesn't sleep because of UNTIL() + INVOKE_ASYNC(GLOBAL_PROC,GLOBAL_PROC_REF(init_ref_coin_values)) //so the current procedure doesn't sleep because of UNTIL() //creates every subtype of prototype (excluding prototype) and adds it to list L. //if no list/L is provided, one is created. diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 06090d95e0..268bb86859 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -829,7 +829,7 @@ world 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 diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index d6ed46a4b9..3df4e19f8a 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -215,7 +215,7 @@ send2chat(" <@&1076394364231753788> ", CONFIG_GET(string/discord_channel_serverstatus)) world.TgsTargetedChatBroadcast("The current round has ended. Please standby for your [pick(publisher)] report!", FALSE) //lonestar edit. i'm adding a timer here because i'm tired of the messages being sent out of order - addtimer(CALLBACK(src, .proc/send_roundinfo), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(send_roundinfo)), 3 SECONDS) CHECK_TICK @@ -254,7 +254,7 @@ end_of_round_deathmatch() var/time_to_end = CONFIG_GET(number/eorg_period) to_chat(world, "EORD in progress, game end delayed by [time_to_end * 0.1] seconds!") - addtimer(CALLBACK(src, .proc/standard_reboot), time_to_end) + addtimer(CALLBACK(src, PROC_REF(standard_reboot)), time_to_end) /datum/controller/subsystem/ticker/proc/standard_reboot() @@ -494,7 +494,7 @@ var/currrent_category var/datum/antagonist/previous_category - sortTim(all_antagonists, /proc/cmp_antag_category) + sortTim(all_antagonists, GLOBAL_PROC_REF(cmp_antag_category)) for(var/datum/antagonist/A in all_antagonists) if(!A.show_in_roundend) diff --git a/code/__HELPERS/sorts/__main.dm b/code/__HELPERS/sorts/__main.dm index 2e64d8787d..a636ed4765 100644 --- a/code/__HELPERS/sorts/__main.dm +++ b/code/__HELPERS/sorts/__main.dm @@ -15,7 +15,7 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) var/list/L //The comparator proc-reference - var/cmp = /proc/cmp_numeric_asc + var/cmp = GLOBAL_PROC_REF(cmp_numeric_asc) //whether we are sorting list keys (0: L[i]) or associated values (1: L[L[i]]) var/associative = 0 diff --git a/code/__HELPERS/stat_tracking.dm b/code/__HELPERS/stat_tracking.dm index 007cd2695d..525d1a8c84 100644 --- a/code/__HELPERS/stat_tracking.dm +++ b/code/__HELPERS/stat_tracking.dm @@ -1,4 +1,4 @@ -/proc/render_stats(list/stats, user, sort = /proc/cmp_generic_stat_item_time) +/proc/render_stats(list/stats, user, sort = GLOBAL_PROC_REF(cmp_generic_stat_item_time)) sortTim(stats, sort, TRUE) var/list/lines = list() diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 3a33e560e0..2280bec053 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1378,9 +1378,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, 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) /proc/___callbackvarset(list_or_datum, var_name, var_value) if(length(list_or_datum)) @@ -1392,8 +1392,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) else D.vars[var_name] = var_value -#define TRAIT_CALLBACK_ADD(target, trait, source) CALLBACK(GLOBAL_PROC, /proc/___TraitAdd, ##target, ##trait, ##source) -#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(GLOBAL_PROC, /proc/___TraitRemove, ##target, ##trait, ##source) +#define TRAIT_CALLBACK_ADD(target, trait, source) CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(___TraitAdd), ##target, ##trait, ##source) +#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(___TraitRemove), ##target, ##trait, ##source) ///DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback. /proc/___TraitAdd(target,trait,source) diff --git a/code/_byond_version_compat.dm b/code/_byond_version_compat.dm new file mode 100644 index 0000000000..57ca045620 --- /dev/null +++ b/code/_byond_version_compat.dm @@ -0,0 +1,78 @@ +// This file contains defines allowing targeting byond versions newer than the supported + +//Update this whenever you need to take advantage of more recent byond features +#define MIN_COMPILER_VERSION 514 +#define MIN_COMPILER_BUILD 1584 +#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) && !defined(OPENDREAM) +//Don't forget to update this part +#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download/build/514 and update. +#error You need version 514.1584 or higher +#endif + + +#if (DM_VERSION == 515 && DM_BUILD >= 1624) +#warn Your version of BYOND is currently not supported by debugger. +#warn Please consider downgrading to 515.1623 or lower, or wait for auxtools to support latest BYOND builds. +#endif + + +/* +// Keep savefile compatibilty at minimum supported level +#if DM_VERSION >= 515 +/savefile/byond_version = MIN_COMPILER_VERSION +#endif +*/ + +// 515 split call for external libraries into call_ext +#if DM_VERSION < 515 +#define LIBCALL call +#else +#define LIBCALL call_ext +#endif + +// So we want to have compile time guarantees these methods exist on local type, unfortunately 515 killed the .proc/procname and .verb/verbname syntax so we have to use nameof() +// For the record: GLOBAL_VERB_REF would be useless as verbs can't be global. + +#if DM_VERSION < 515 + +/// Call by name proc references, checks if the proc exists on either this type or as a global proc. +#define PROC_REF(X) (.proc/##X) +/// Call by name verb references, checks if the verb exists on either this type or as a global verb. +#define VERB_REF(X) (.verb/##X) + +/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc +#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X) +/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb +#define TYPE_VERB_REF(TYPE, X) (##TYPE.verb/##X) + +/// Call by name proc reference, checks if the proc is an existing global proc +#define GLOBAL_PROC_REF(X) (/proc/##X) + +#else + +/// Call by name proc references, checks if the proc exists on either this type or as a global proc. +#define PROC_REF(X) (nameof(.proc/##X)) +/// Call by name verb references, checks if the verb exists on either this type or as a global verb. +#define VERB_REF(X) (nameof(.verb/##X)) + +/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc +#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X)) +/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb +#define TYPE_VERB_REF(TYPE, X) (nameof(##TYPE.verb/##X)) + +/// Call by name proc reference, checks if the proc is an existing global proc +#define GLOBAL_PROC_REF(X) (/proc/##X) + +#endif + +#if (DM_VERSION == 515) +/// fcopy will crash on 515 linux if given a non-existant file, instead of returning 0 like on 514 linux or 515 windows +/// var case matches documentation for fcopy. +/world/proc/__fcopy(Src, Dst) + if (istext(Src) && !fexists(Src)) + return 0 + return fcopy(Src, Dst) + +#define fcopy(Src, Dst) world.__fcopy(Src, Dst) + +#endif \ No newline at end of file diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 3eff86e206..8387883d3d 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -57,16 +57,16 @@ #ifdef LOWMEMORYMODE #define FORCE_MAP "_maps/runtimestation.json" #endif - +/* //Update this whenever you need to take advantage of more recent byond features -#define MIN_COMPILER_VERSION 513 -#define MIN_COMPILER_BUILD 1514 +#define MIN_COMPILER_VERSION 515 +#define MIN_COMPILER_BUILD 1623 #if DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD //Don't forget to update this part #error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update. #error You need version 513.1508 or higher #endif - +*/ //Additional code for the above flags. #ifdef TESTING #warn compiling in TESTING mode. testing() debug messages will be visible. diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index b92549ba03..6b2b3fd4db 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -79,7 +79,7 @@ return if(waypoint_mode) waypoint_mode = FALSE - INVOKE_ASYNC(src, .proc/set_waypoint, A) + INVOKE_ASYNC(src, PROC_REF(set_waypoint), A) return A.attack_ai(src) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index ae0e48b819..526f899b73 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -65,7 +65,7 @@ animate(thealert, transform = matrix(), time = 2.5, easing = CUBIC_EASING) if(thealert.timeout) - addtimer(CALLBACK(src, .proc/alert_timeout, thealert, category), thealert.timeout) + addtimer(CALLBACK(src, PROC_REF(alert_timeout), thealert, category), thealert.timeout) thealert.timeout = world.time + thealert.timeout - world.tick_lag return thealert diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm index 31ea453d4a..c7fe1a4750 100644 --- a/code/_onclick/hud/credits.dm +++ b/code/_onclick/hud/credits.dm @@ -53,7 +53,7 @@ animate(src, transform = M, time = CREDIT_ROLL_SPEED) target = M animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL) - addtimer(CALLBACK(src, .proc/FadeOut), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION) + addtimer(CALLBACK(src, PROC_REF(FadeOut)), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION) QDEL_IN(src, CREDIT_ROLL_SPEED) P.screen += src diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 60074b91b1..8fb9b93a0b 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -25,7 +25,7 @@ if(animated) animate(screen, alpha = 0, time = animated) - addtimer(CALLBACK(src, .proc/clear_fullscreen_after_animate, screen), animated, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(clear_fullscreen_after_animate), screen), animated, TIMER_CLIENT_TIME) else if(client) client.screen -= screen diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 9050bcb5f0..9213e698ba 100755 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -126,7 +126,7 @@ C.parallax_movedir = new_parallax_movedir if (C.parallax_animate_timer) deltimer(C.parallax_animate_timer) - var/datum/callback/CB = CALLBACK(src, .proc/update_parallax_motionblur, C, animatedir, new_parallax_movedir, newtransform) + var/datum/callback/CB = CALLBACK(src, PROC_REF(update_parallax_motionblur), C, animatedir, new_parallax_movedir, newtransform) if(skip_windups) CB.InvokeAsync() else diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index ef73e29bc1..7b0bbd37c4 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -14,7 +14,7 @@ GLOBAL_LIST_EMPTY(radial_menus) UnregisterSignal(parent, COMSIG_PARENT_QDELETING) parent = new_value if(parent) - RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/handle_parent_del) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(handle_parent_del)) /obj/screen/radial/proc/handle_parent_del() SIGNAL_HANDLER diff --git a/code/_onclick/hud/screen_objects/storage.dm b/code/_onclick/hud/screen_objects/storage.dm index 1dfabcf626..f9eff83f51 100644 --- a/code/_onclick/hud/screen_objects/storage.dm +++ b/code/_onclick/hud/screen_objects/storage.dm @@ -57,8 +57,8 @@ /obj/screen/storage/volumetric_box/Initialize(mapload, new_master, obj/item/our_item) src.our_item = our_item - RegisterSignal(our_item, COMSIG_ITEM_MOUSE_ENTER, .proc/on_item_mouse_enter) - RegisterSignal(our_item, COMSIG_ITEM_MOUSE_EXIT, .proc/on_item_mouse_exit) + RegisterSignal(our_item, COMSIG_ITEM_MOUSE_ENTER, PROC_REF(on_item_mouse_enter)) + RegisterSignal(our_item, COMSIG_ITEM_MOUSE_EXIT, PROC_REF(on_item_mouse_exit)) return ..() /obj/screen/storage/volumetric_box/Destroy() diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index d9a89b69d1..450fe54dbf 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -47,7 +47,7 @@ return if(interaction_flags_atom & INTERACT_ATOM_ATTACK_HAND) . = _try_interact(user) - INVOKE_ASYNC(src, .proc/on_attack_hand, user, act_intent, .) + INVOKE_ASYNC(src, PROC_REF(on_attack_hand), user, act_intent, .) if(!(. & ATTACK_IGNORE_ACTION)) if(attack_hand_unwieldlyness) user.DelayNextAction(attack_hand_unwieldlyness, considered_action = attack_hand_is_action) diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm index 2e6b1f3a59..6df0d15ea3 100644 --- a/code/controllers/admin.dm +++ b/code/controllers/admin.dm @@ -11,7 +11,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick) name = text src.target = target if(istype(target, /datum)) //Harddel man bad - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/cleanup) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(cleanup)) /obj/effect/statclick/Destroy() target = null diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index 259082a6ba..1a9ee8e101 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -44,19 +44,13 @@ . &= !(protection & CONFIG_ENTRY_HIDDEN) /datum/config_entry/vv_edit_var(var_name, var_value) - var/static/list/banned_edits = list(NAMEOF(src, name), NAMEOF(src, vv_VAS), NAMEOF(src, default), NAMEOF(src, resident_file), NAMEOF(src, protection), NAMEOF(src, abstract_type), NAMEOF(src, modified), NAMEOF(src, dupes_allowed)) + var/datum/config_entry/catched = src + if(!istype(catched)) + return + var/static/list/banned_edits = list(NAMEOF(catched, name), NAMEOF(catched, vv_VAS), NAMEOF(catched, default), NAMEOF(catched, resident_file), NAMEOF(catched, protection), NAMEOF(catched, abstract_type), NAMEOF(catched, modified), NAMEOF(catched, dupes_allowed)) if(var_name == NAMEOF(src, config_entry_value)) if(protection & CONFIG_ENTRY_LOCKED) return FALSE - if(vv_VAS) - . = ValidateAndSet("[var_value]") - if(.) - datum_flags |= DF_VAR_EDITED - return - else - return ..() - if(var_name in banned_edits) - return FALSE return ..() /datum/config_entry/proc/VASProcCallGuard(str_val) @@ -110,7 +104,10 @@ return FALSE /datum/config_entry/number/vv_edit_var(var_name, var_value) - var/static/list/banned_edits = list(NAMEOF(src, max_val), NAMEOF(src, min_val), NAMEOF(src, integer)) + var/datum/config_entry/number/catched = src + if(!istype(catched)) + return + var/static/list/banned_edits = list(NAMEOF(catched, max_val), NAMEOF(catched, min_val), NAMEOF(catched, integer)) return !(var_name in banned_edits) && ..() /datum/config_entry/flag diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 7e7654b172..8227c82ef3 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -481,4 +481,4 @@ Example config: //Message admins when you can. /datum/controller/configuration/proc/DelayedMessageAdmins(text) - addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, text), 0) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(message_admins), text), 0) diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 73b50b1772..f080c0c3b1 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -147,7 +147,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) /proc/recover_all_SS_and_recreate_master() del(Master) 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) new I . = Recreate_MC() diff --git a/code/controllers/master.dm b/code/controllers/master.dm index b17fc109cc..bcc5c71a1e 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -97,7 +97,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //Code used for first master on game boot or if existing master got deleted Master = src var/list/subsytem_types = subtypesof(/datum/controller/subsystem) - sortTim(subsytem_types, /proc/cmp_subsystem_init) + sortTim(subsytem_types, GLOBAL_PROC_REF(cmp_subsystem_init)) //Find any abandoned subsystem from the previous master (if there was any) var/list/existing_subsystems = list() for(var/global_var in global.vars) @@ -121,7 +121,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...") @@ -205,7 +205,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new to_chat(world, span_boldannounce("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. @@ -228,7 +228,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new SetRunLevel(1) // 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. world.fps = CONFIG_GET(number/fps) var/initialized_tod = REALTIMEOFDAY @@ -313,9 +313,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/subsystem/air.dm b/code/controllers/subsystem/air.dm index ac5579c531..5d1ce9a7d1 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -6,6 +6,8 @@ SUBSYSTEM_DEF(air) flags = SS_BACKGROUND runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + var/cached_cost = 0 + var/cost_turfs = 0 var/cost_groups = 0 var/cost_highpressure = 0 @@ -26,14 +28,13 @@ SUBSYSTEM_DEF(air) var/num_group_turfs_processed = 0 var/num_equalize_processed = 0 + var/gas_mixes_count = 0 + var/gas_mixes_allocated = 0 + var/list/hotspots = list() var/list/networks = list() var/list/pipenets_needing_rebuilt = list() - var/list/deferred_airs = list() - var/cur_deferred_airs = 0 - var/max_deferred_airs = 0 var/list/obj/machinery/atmos_machinery = list() - var/list/obj/machinery/atmos_air_machinery = list() var/list/pipe_init_dirs_cache = list() //atmos singletons @@ -56,11 +57,7 @@ SUBSYSTEM_DEF(air) // Max number of turfs to look for a space turf, and max number of turfs that will be decompressed. var/equalize_hard_turf_limit = 2000 // Whether equalization is enabled. Can be disabled for performance reasons. - var/equalize_enabled = TRUE - // Whether equalization should be enabled. - var/should_do_equalization = TRUE - // When above 0, won't equalize; performance handling - var/eq_cooldown = 0 + var/equalize_enabled = FALSE // Whether turf-to-turf heat exchanging should be enabled. var/heat_enabled = FALSE // Max number of times process_turfs will share in a tick. @@ -71,8 +68,6 @@ SUBSYSTEM_DEF(air) var/excited_group_pressure_goal = 1 // Target for excited_group_pressure_goal; can go below this, if it determines the thread is taking too long. var/excited_group_pressure_goal_target = 1 - // If this is set to 0, monstermos won't process planet atmos - var/planet_equalize_enabled = 0 /datum/controller/subsystem/air/stat_entry(msg) msg += "C:{" @@ -97,9 +92,8 @@ SUBSYSTEM_DEF(air) msg += "LT:[low_pressure_turfs]|" msg += "ET:[num_equalize_processed]|" msg += "GT:[num_group_turfs_processed]|" - msg += "DF:[max_deferred_airs]|" - msg += "GA:[get_amt_gas_mixes()]|" - msg += "MG:[get_max_gas_mixes()]" + msg += "GA:[gas_mixes_count]|" + msg += "MG:[gas_mixes_allocated]" return ..() /datum/controller/subsystem/air/Initialize(timeofday) @@ -108,17 +102,16 @@ SUBSYSTEM_DEF(air) setup_atmos_machinery() setup_pipenets() gas_reactions = init_gas_reactions() - should_do_equalization = CONFIG_GET(flag/atmos_equalize_enabled) auxtools_update_reactions() + equalize_enabled = CONFIG_GET(flag/atmos_equalize_enabled) return ..() /datum/controller/subsystem/air/proc/extools_update_ssair() -/datum/controller/subsystem/air/proc/auxtools_update_reactions() /datum/controller/subsystem/air/proc/add_reaction(datum/gas_reaction/r) gas_reactions += r - sortTim(gas_reactions, /proc/cmp_gas_reaction) + sortTim(gas_reactions, GLOBAL_PROC_REF(cmp_gas_reaction)) auxtools_update_reactions() /proc/reset_all_air() @@ -130,9 +123,6 @@ SUBSYSTEM_DEF(air) message_admins("Air reset done.") SSair.can_fire = 1 -/datum/controller/subsystem/air/proc/thread_running() - return FALSE - /proc/fix_corrupted_atmos() /datum/admins/proc/fixcorruption() @@ -144,6 +134,12 @@ SUBSYSTEM_DEF(air) /datum/controller/subsystem/air/fire(resumed = 0) var/timer = TICK_USAGE_REAL + thread_wait_ticks = MC_AVERAGE(thread_wait_ticks, cur_thread_wait_ticks) + cur_thread_wait_ticks = 0 + + gas_mixes_count = get_amt_gas_mixes() + gas_mixes_allocated = get_max_gas_mixes() + if(currentpart == SSAIR_REBUILD_PIPENETS) timer = TICK_USAGE_REAL var/list/pipenet_rebuilds = pipenets_needing_rebuilt @@ -161,67 +157,81 @@ SUBSYSTEM_DEF(air) if(currentpart == SSAIR_PIPENETS || !resumed) timer = TICK_USAGE_REAL + if(!resumed) + cached_cost = 0 process_pipenets(resumed) - cost_pipenets = MC_AVERAGE(cost_pipenets, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + cached_cost += TICK_USAGE_REAL - timer if(state != SS_RUNNING) return + cost_pipenets = MC_AVERAGE(cost_pipenets, TICK_DELTA_TO_MS(cached_cost)) resumed = 0 currentpart = SSAIR_ATMOSMACHINERY - // This is only machinery like filters, mixers that don't interact with air + if(currentpart == SSAIR_ATMOSMACHINERY) timer = TICK_USAGE_REAL + if(!resumed) + cached_cost = 0 process_atmos_machinery(resumed) - cost_atmos_machinery = MC_AVERAGE(cost_atmos_machinery, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + cached_cost += TICK_USAGE_REAL - timer if(state != SS_RUNNING) return resumed = 0 - currentpart = SSAIR_HIGHPRESSURE + cost_atmos_machinery = MC_AVERAGE(cost_atmos_machinery, TICK_DELTA_TO_MS(cached_cost)) + currentpart = SSAIR_ACTIVETURFS - if(currentpart == SSAIR_HIGHPRESSURE) + if(currentpart == SSAIR_ACTIVETURFS) timer = TICK_USAGE_REAL - process_high_pressure_delta(resumed) - cost_highpressure = MC_AVERAGE(cost_highpressure, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + process_turfs(resumed) if(state != SS_RUNNING) return resumed = 0 - currentpart = SSAIR_FINALIZE_TURFS - // This literally just waits for the turf processing thread to finish, doesn't do anything else. - // this is necessary cause the next step after this interacts with the air--we get consistency - // issues if we don't wait for it, disappearing gases etc. - if(currentpart == SSAIR_FINALIZE_TURFS) - finish_turf_processing(resumed) + currentpart = equalize_enabled ? SSAIR_EQUALIZE : SSAIR_EXCITEDGROUPS + + /*if(currentpart == SSAIR_EQUALIZE) + process_turf_equalize(resumed) if(state != SS_RUNNING) - cur_thread_wait_ticks++ return resumed = 0 - thread_wait_ticks = MC_AVERAGE(thread_wait_ticks, cur_thread_wait_ticks) - cur_thread_wait_ticks = 0 - currentpart = SSAIR_DEFERRED_AIRS - if(currentpart == SSAIR_DEFERRED_AIRS) - timer = TICK_USAGE_REAL - process_deferred_airs(resumed) - cost_deferred_airs = MC_AVERAGE(cost_deferred_airs, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + currentpart = SSAIR_EXCITEDGROUPS + + if(currentpart == SSAIR_EXCITEDGROUPS) + process_excited_groups(resumed) + if(state != SS_RUNNING) + return + resumed = 0 + currentpart = SSAIR_FINALIZE_TURFS + + if(currentpart == SSAIR_FINALIZE_TURFS) + finish_turf_processing(resumed) if(state != SS_RUNNING) return resumed = 0 - currentpart = SSAIR_ATMOSMACHINERY_AIR - if(currentpart == SSAIR_ATMOSMACHINERY_AIR) + currentpart = SSAIR_HIGHPRESSURE*/ + + if(currentpart == SSAIR_HIGHPRESSURE) timer = TICK_USAGE_REAL - process_atmos_air_machinery(resumed) - cost_atmos_machinery = MC_AVERAGE(cost_atmos_machinery, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + if(!resumed) + cached_cost = 0 + process_high_pressure_delta(resumed) + cached_cost += TICK_USAGE_REAL - timer if(state != SS_RUNNING) return + cost_highpressure = MC_AVERAGE(cost_highpressure, TICK_DELTA_TO_MS(cached_cost)) resumed = 0 currentpart = SSAIR_HOTSPOTS if(currentpart == SSAIR_HOTSPOTS) timer = TICK_USAGE_REAL + if(!resumed) + cached_cost = 0 process_hotspots(resumed) - cost_hotspots = MC_AVERAGE(cost_hotspots, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + cached_cost += TICK_USAGE_REAL - timer if(state != SS_RUNNING) return + cost_hotspots = MC_AVERAGE(cost_hotspots, TICK_DELTA_TO_MS(cached_cost)) resumed = 0 - currentpart = heat_enabled ? SSAIR_TURF_CONDUCTION : SSAIR_ACTIVETURFS + currentpart = heat_enabled ? SSAIR_TURF_CONDUCTION : SSAIR_REBUILD_PIPENETS + // Heat -- slow and of questionable usefulness. Off by default for this reason. Pretty cool, though. if(currentpart == SSAIR_TURF_CONDUCTION) timer = TICK_USAGE_REAL @@ -231,48 +241,7 @@ SUBSYSTEM_DEF(air) if(state != SS_RUNNING) return resumed = 0 - currentpart = SSAIR_ACTIVETURFS - // This simply starts the turf thread. It runs in the background until the FINALIZE_TURFS step, at which point it's waited for. - // This also happens to do all the commented out stuff below, all in a single separate thread. This is mostly so that the - // waiting is consistent. - if(currentpart == SSAIR_ACTIVETURFS) - run_delay_heuristics() - timer = TICK_USAGE_REAL - process_turfs(resumed) - cost_turfs = MC_AVERAGE(cost_turfs, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) - if(state != SS_RUNNING) - return - resumed = 0 - /* - // Monstermos and/or Putnamos--making large pressure deltas move faster - if(currentpart == SSAIR_EQUALIZE) - timer = TICK_USAGE_REAL - process_turf_equalize(resumed) - cost_equalize = MC_AVERAGE(cost_equalize, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) - if(state != SS_RUNNING) - return - resumed = 0 - currentpart = SSAIR_EXCITEDGROUPS - // Making small pressure deltas equalize immediately so they don't process anymore - if(currentpart == SSAIR_EXCITEDGROUPS) - timer = TICK_USAGE_REAL - process_excited_groups(resumed) - cost_groups = MC_AVERAGE(cost_groups, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) - if(state != SS_RUNNING) - return - resumed = 0 - currentpart = SSAIR_TURF_POST_PROCESS - // Quick multithreaded "should we display/react?" checks followed by finishing those up before the next step - if(currentpart == SSAIR_TURF_POST_PROCESS) - timer = TICK_USAGE_REAL - post_process_turfs(resumed) - cost_post_process = MC_AVERAGE(cost_post_process, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) - if(state != SS_RUNNING) - return - resumed = 0 - currentpart = SSAIR_HOTSPOTS - */ - currentpart = SSAIR_REBUILD_PIPENETS + currentpart = SSAIR_REBUILD_PIPENETS /datum/controller/subsystem/air/proc/process_pipenets(resumed = 0) if (!resumed) @@ -293,32 +262,6 @@ SUBSYSTEM_DEF(air) if(istype(atmos_machine, /obj/machinery/atmospherics)) pipenets_needing_rebuilt += atmos_machine -/datum/controller/subsystem/air/proc/process_deferred_airs(resumed = 0) - cur_deferred_airs = deferred_airs.len - max_deferred_airs = max(cur_deferred_airs,max_deferred_airs) - while(deferred_airs.len) - var/list/cur_op = deferred_airs[deferred_airs.len] - deferred_airs.len-- - var/datum/gas_mixture/air1 - var/datum/gas_mixture/air2 - if(isopenturf(cur_op[1])) - var/turf/open/T = cur_op[1] - air1 = T.return_air() - else - air1 = cur_op[1] - if(isopenturf(cur_op[2])) - var/turf/open/T = cur_op[2] - air2 = T.return_air() - else - air2 = cur_op[2] - if(istype(cur_op[3], /datum/callback)) - var/datum/callback/cb = cur_op[3] - cb.Invoke(air1, air2) - else - air1.transfer_ratio_to(air2, cur_op[3]) - if(MC_TICK_CHECK) - return - /datum/controller/subsystem/air/proc/process_atmos_machinery(resumed = 0) var/seconds = wait * 0.1 if (!resumed) @@ -333,22 +276,6 @@ SUBSYSTEM_DEF(air) if(MC_TICK_CHECK) return -/datum/controller/subsystem/air/proc/process_atmos_air_machinery(resumed = 0) - var/seconds = wait * 0.1 - if (!resumed) - src.currentrun = atmos_air_machinery.Copy() - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun - while(currentrun.len) - var/obj/machinery/M = currentrun[currentrun.len] - currentrun.len-- - if(!M || (M.process_atmos(seconds) == PROCESS_KILL)) - atmos_air_machinery.Remove(M) - if(MC_TICK_CHECK) - return - -/datum/controller/subsystem/air/proc/process_turf_heat() - /datum/controller/subsystem/air/proc/process_hotspots(resumed = 0) if (!resumed) src.currentrun = hotspots.Copy() @@ -376,50 +303,13 @@ SUBSYSTEM_DEF(air) return /datum/controller/subsystem/air/proc/process_turf_equalize(resumed = 0) - if(process_turf_equalize_auxtools(resumed,TICK_REMAINING_MS)) + if(process_turf_equalize_auxtools(TICK_REMAINING_MS)) pause() - /* - //cache for sanic speed - var/fire_count = times_fired - if (!resumed) - src.currentrun = active_turfs.Copy() - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun - while(currentrun.len) - var/turf/open/T = currentrun[currentrun.len] - currentrun.len-- - if (T) - T.equalize_pressure_in_zone(fire_count) - //equalize_pressure_in_zone(T, fire_count) - if (MC_TICK_CHECK) - return - */ - -/datum/controller/subsystem/air/proc/run_delay_heuristics() - if(should_do_equalization) - if(!equalize_enabled) - cost_equalize = 0 - if(should_do_equalization) - eq_cooldown-- - if(eq_cooldown <= 0) - equalize_enabled = TRUE - else - equalize_enabled = FALSE - var/total_thread_time = cost_turfs + cost_equalize + cost_groups + cost_post_process - if(total_thread_time) - var/wait_ms = wait * 100 - var/delay_threshold = 1-(total_thread_time/wait_ms + cur_deferred_airs / 50) - share_max_steps = max(1,round(share_max_steps_target * delay_threshold, 1)) - eq_cooldown += (1-delay_threshold) * (cost_equalize / total_thread_time) * 2 - if(eq_cooldown > 0.5) - equalize_enabled = FALSE - excited_group_pressure_goal = max(0,excited_group_pressure_goal_target * delay_threshold) - /datum/controller/subsystem/air/proc/process_turfs(resumed = 0) - if(process_turfs_auxtools(resumed,TICK_REMAINING_MS)) + if(process_turfs_auxtools(TICK_REMAINING_MS)) pause() - /* +/* //cache for sanic speed var/fire_count = times_fired if (!resumed) @@ -436,26 +326,26 @@ SUBSYSTEM_DEF(air) */ /datum/controller/subsystem/air/proc/process_excited_groups(resumed = 0) - if(process_excited_groups_auxtools(resumed,TICK_REMAINING_MS)) + if(process_excited_groups_auxtools(TICK_REMAINING_MS)) pause() /datum/controller/subsystem/air/proc/finish_turf_processing(resumed = 0) - if(finish_turf_processing_auxtools(TICK_REMAINING_MS) || thread_running()) + if(finish_turf_processing_auxtools(TICK_REMAINING_MS)) + pause() + +/datum/controller/subsystem/air/proc/equalize_turfs(resumed = 0) + if(equalize_turfs_auxtools(TICK_REMAINING_MS)) pause() /datum/controller/subsystem/air/proc/post_process_turfs(resumed = 0) - if(post_process_turfs_auxtools(resumed,TICK_REMAINING_MS)) + if(post_process_turfs_auxtools(TICK_REMAINING_MS)) pause() -/datum/controller/subsystem/air/proc/finish_turf_processing_auxtools() -/datum/controller/subsystem/air/proc/process_turfs_auxtools() +/datum/controller/subsystem/air/proc/equalize_turfs_auxtools() /datum/controller/subsystem/air/proc/post_process_turfs_auxtools() -/datum/controller/subsystem/air/proc/process_turf_equalize_auxtools() -/datum/controller/subsystem/air/proc/process_excited_groups_auxtools() -/datum/controller/subsystem/air/proc/get_amt_gas_mixes() -/datum/controller/subsystem/air/proc/get_max_gas_mixes() /datum/controller/subsystem/air/proc/turf_process_time() /datum/controller/subsystem/air/proc/heat_process_time() +/datum/controller/subsystem/air/proc/process_turf_heat() /datum/controller/subsystem/air/StartLoadingMap() map_loading = TRUE @@ -478,7 +368,7 @@ SUBSYSTEM_DEF(air) CHECK_TICK /datum/controller/subsystem/air/proc/setup_atmos_machinery() - for (var/obj/machinery/atmospherics/AM in atmos_machinery + atmos_air_machinery) + for (var/obj/machinery/atmospherics/AM in atmos_machinery) AM.atmosinit() CHECK_TICK @@ -486,7 +376,7 @@ SUBSYSTEM_DEF(air) // all atmos machinery has to initalize before the first // pipenet can be built. /datum/controller/subsystem/air/proc/setup_pipenets() - for (var/obj/machinery/atmospherics/AM in atmos_machinery + atmos_air_machinery) + for (var/obj/machinery/atmospherics/AM in atmos_machinery) AM.build_network() CHECK_TICK @@ -528,6 +418,19 @@ SUBSYSTEM_DEF(air) var/datum/atmosphere/mix = atmos_gen[gas_string] return mix.gas_string +/datum/controller/subsystem/air/proc/start_processing_machine(obj/machinery/machine) + if(machine.atmos_processing) + return + machine.atmos_processing = TRUE + atmos_machinery += machine + +/datum/controller/subsystem/air/proc/stop_processing_machine(obj/machinery/machine) + if(!machine.atmos_processing) + return + machine.atmos_processing = FALSE + atmos_machinery -= machine + currentrun -= machine + #undef SSAIR_PIPENETS #undef SSAIR_ATMOSMACHINERY #undef SSAIR_EXCITEDGROUPS diff --git a/code/controllers/subsystem/callback.dm b/code/controllers/subsystem/callback.dm index d4273f993e..1e7ef1b46a 100644 --- a/code/controllers/subsystem/callback.dm +++ b/code/controllers/subsystem/callback.dm @@ -4,10 +4,10 @@ SUBSYSTEM_DEF(callbacks) wait = 1 priority = FIRE_PRIORITY_CALLBACKS -/proc/process_atmos_callbacks() +/*/proc/process_atmos_callbacks() SScallbacks.can_fire = 0 SScallbacks.flags |= SS_NO_FIRE - CRASH("Auxtools not found! Callback subsystem shutting itself off.") + CRASH("Auxtools not found! Callback subsystem shutting itself off.")*/ /datum/controller/subsystem/callbacks/fire() diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index d4e3459ea3..264e52dc5b 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -188,11 +188,11 @@ SUBSYSTEM_DEF(garbage) if (GC_QUEUE_CHECK) #ifdef REFERENCE_TRACKING if(reference_find_on_fail[refID]) - INVOKE_ASYNC(D, /datum/proc/find_references) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) ref_searching = TRUE #ifdef GC_FAILURE_HARD_LOOKUP else - INVOKE_ASYNC(D, /datum/proc/find_references) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) ref_searching = TRUE #endif reference_find_on_fail -= refID diff --git a/code/controllers/subsystem/grace.dm b/code/controllers/subsystem/grace.dm index 862ec2a5ac..41f9b824c9 100644 --- a/code/controllers/subsystem/grace.dm +++ b/code/controllers/subsystem/grace.dm @@ -4,7 +4,7 @@ SUBSYSTEM_DEF(grace) /datum/controller/subsystem/grace/fire() if(allowed_firings) - addtimer(CALLBACK(src, .proc/announce_over), 30 MINUTES) + addtimer(CALLBACK(src, PROC_REF(announce_over)), 30 MINUTES) allowed_firings = FALSE // unfuck this later. /datum/controller/subsystem/grace/proc/announce_over() diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 901d0096b3..dbecac60fc 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -652,7 +652,7 @@ SUBSYSTEM_DEF(job) var/oldjobs = SSjob.occupations sleep(20) for (var/datum/job/J in oldjobs) - INVOKE_ASYNC(src, .proc/RecoverJob, J) + INVOKE_ASYNC(src, PROC_REF(RecoverJob), J) /datum/controller/subsystem/job/proc/RecoverJob(datum/job/J) var/datum/job/newjob = GetJob(J.title) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index d22b5bae2e..6912d30b30 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -210,7 +210,7 @@ SUBSYSTEM_DEF(mapping) message_admins("Shuttles in transit detected. Attempting to fast travel. Timeout is [wipe_safety_delay/10] seconds.") var/list/cleared = list() for(var/i in in_transit) - INVOKE_ASYNC(src, .proc/safety_clear_transit_dock, i, in_transit[i], cleared) + INVOKE_ASYNC(src, PROC_REF(safety_clear_transit_dock), i, in_transit[i], cleared) UNTIL((go_ahead < world.time) || (cleared.len == in_transit.len)) do_wipe_turf_reservations() clearing_reserved_turfs = FALSE @@ -452,7 +452,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) banned += generateMapList("[global.config.directory]/iceruinblacklist.txt") banned += generateMapList("[global.config.directory]/stationruinblacklist.txt") - for(var/item in sortList(subtypesof(/datum/map_template/ruin), /proc/cmp_ruincost_priority)) + for(var/item in sortList(subtypesof(/datum/map_template/ruin), GLOBAL_PROC_REF(cmp_ruincost_priority))) var/datum/map_template/ruin/ruin_type = item // screen out the abstract subtypes if(!initial(ruin_type.id)) diff --git a/code/controllers/subsystem/matchmaking.dm b/code/controllers/subsystem/matchmaking.dm index f042a4fd36..763f5214e0 100644 --- a/code/controllers/subsystem/matchmaking.dm +++ b/code/controllers/subsystem/matchmaking.dm @@ -20,8 +20,8 @@ SUBSYSTEM_DEF(matchmaking) /datum/controller/subsystem/matchmaking/proc/add_candidate_aspiration(mob/living/candidate, datum/matchmaking_pref/aspiration) if(!bachelors[candidate]) - RegisterSignal(candidate, COMSIG_PARENT_QDELETING, .proc/on_candidate_qdel) - RegisterSignal(candidate, COMSIG_MOB_CLIENT_LOGOUT, .proc/on_candidate_logout) + RegisterSignal(candidate, COMSIG_PARENT_QDELETING, PROC_REF(on_candidate_qdel)) + RegisterSignal(candidate, COMSIG_MOB_CLIENT_LOGOUT, PROC_REF(on_candidate_logout)) LAZYADD(bachelors[candidate], aspiration) @@ -89,7 +89,7 @@ SUBSYSTEM_DEF(matchmaking) CRASH("Matchmaking pref created without a holder.") if(matches_aimed <= 0) CRASH("Matchmaking pref created with invalid matches_aimed value: [matches_aimed]") - RegisterSignal(pref_holder, COMSIG_PARENT_QDELETING, .proc/on_candidate_qdel) + RegisterSignal(pref_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_candidate_qdel)) src.pref_holder = pref_holder src.matches_aimed = clamp(matches_aimed, 0, max_matches) SSmatchmaking.add_candidate_aspiration(pref_holder, src) @@ -161,7 +161,7 @@ SUBSYSTEM_DEF(matchmaking) /datum/matchmaking_pref/proc/enact_match(mob/living/target) matches_found++ if(spawn_time > 0) - addtimer(CALLBACK(src, .proc/do_enact_match, WEAKREF(target)), spawn_time) + addtimer(CALLBACK(src, PROC_REF(do_enact_match), WEAKREF(target)), spawn_time) else do_enact_match(target) if(matches_found >= matches_aimed) diff --git a/code/controllers/subsystem/materials.dm b/code/controllers/subsystem/materials.dm index b7d881b79f..7c3307605d 100644 --- a/code/controllers/subsystem/materials.dm +++ b/code/controllers/subsystem/materials.dm @@ -49,7 +49,7 @@ SUBSYSTEM_DEF(materials) var/datum/material/mat = x var/path_name = ispath(mat) ? "[mat]" : "[mat.type]" combo_params += "[path_name]=[materials_declaration[mat] * multiplier]" - sortTim(combo_params, /proc/cmp_text_asc) // We have to sort now in case the declaration was not in order + sortTim(combo_params, GLOBAL_PROC_REF(cmp_text_asc)) // We have to sort now in case the declaration was not in order var/combo_index = combo_params.Join("-") var/list/combo = material_combos[combo_index] if(!combo) diff --git a/code/controllers/subsystem/monster_wave.dm b/code/controllers/subsystem/monster_wave.dm index 474b8e222a..493d59eceb 100644 --- a/code/controllers/subsystem/monster_wave.dm +++ b/code/controllers/subsystem/monster_wave.dm @@ -23,7 +23,7 @@ SUBSYSTEM_DEF(monster_wave) if(prob(chance_of_fire)) return // 50/50 chance for it to either fire or not fire successful_firing++ - addtimer(CALLBACK(src, .proc/spawn_monsterwave), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(spawn_monsterwave)), 10 SECONDS) for(var/M in GLOB.player_list) to_chat(M, "You feel the ground tremor subtly beneath your feet. Something far off in the distance has emerged to the surface.") diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index 37de08d118..d069ec4b6a 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -155,7 +155,7 @@ SUBSYSTEM_DEF(pai) if(!G.can_reenter_round()) // this should use notify_ghosts() instead one day. return FALSE to_chat(G, "[user] is requesting a pAI personality! Use the pAI button to submit yourself as one.") - addtimer(CALLBACK(src, .proc/spam_again), spam_delay) + addtimer(CALLBACK(src, PROC_REF(spam_again)), spam_delay) var/list/available = list() for(var/datum/paiCandidate/c in SSpai.candidates) available.Add(check_ready(c)) diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index c57bac5526..c222cf35b1 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -22,7 +22,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() // Sort by Positive, Negative, Neutral; and then by name - var/list/quirk_list = sortList(subtypesof(/datum/quirk), /proc/cmp_quirk_asc) + var/list/quirk_list = sortList(subtypesof(/datum/quirk), GLOBAL_PROC_REF(cmp_quirk_asc)) for(var/V in quirk_list) var/datum/quirk/T = V diff --git a/code/controllers/subsystem/processing/weather.dm b/code/controllers/subsystem/processing/weather.dm index 47a54e4e93..f6383da021 100644 --- a/code/controllers/subsystem/processing/weather.dm +++ b/code/controllers/subsystem/processing/weather.dm @@ -25,7 +25,7 @@ PROCESSING_SUBSYSTEM_DEF(weather) run_weather(W, list(text2num(z)), initial(W.weather_duration_upper)) eligible_zlevels -= z var/randTime = rand(15000, 18000) - addtimer(CALLBACK(src, .proc/make_eligible, z, possible_weather), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 25-30 minutes between weathers + addtimer(CALLBACK(src, PROC_REF(make_eligible), z, possible_weather), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 25-30 minutes between weathers next_hit_by_zlevel["[z]"] = world.time + randTime + initial(W.telegraph_duration) if(!weather_on_start) weather_on_start = TRUE diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 034a756d0b..54c293eb30 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -162,7 +162,7 @@ SUBSYSTEM_DEF(shuttle) /datum/controller/subsystem/shuttle/proc/block_recall(lockout_timer) emergencyNoRecall = TRUE - addtimer(CALLBACK(src, .proc/unblock_recall), lockout_timer) + addtimer(CALLBACK(src, PROC_REF(unblock_recall)), lockout_timer) /datum/controller/subsystem/shuttle/proc/unblock_recall() emergencyNoRecall = FALSE diff --git a/code/controllers/subsystem/statpanel.dm b/code/controllers/subsystem/statpanel.dm index bba7f52874..0faf9c1421 100644 --- a/code/controllers/subsystem/statpanel.dm +++ b/code/controllers/subsystem/statpanel.dm @@ -132,7 +132,7 @@ SUBSYSTEM_DEF(statpanels) if(length(turfitems) < 30) // only create images for the first 30 items on the turf, for performance reasons if(!(REF(turf_content) in cached_images)) cached_images += REF(turf_content) - turf_content.RegisterSignal(turf_content, COMSIG_PARENT_QDELETING, /atom/.proc/remove_from_cache) // we reset cache if anything in it gets deleted + turf_content.RegisterSignal(turf_content, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/atom, remove_from_cache)) // we reset cache if anything in it gets deleted if(ismob(turf_content) || length(turf_content.overlays) > 2) turfitems[++turfitems.len] = list("[turf_content.name]", REF(turf_content), costly_icon2html(turf_content, target, sourceonly=TRUE)) else diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index bcecbf08c6..faf00d32da 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -426,7 +426,7 @@ SUBSYSTEM_DEF(ticker) livings += living if(livings.len) - addtimer(CALLBACK(src, .proc/release_characters, livings), 30, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(release_characters), livings), 30, TIMER_CLIENT_TIME) SSmatchmaking.matchmake() @@ -485,7 +485,7 @@ SUBSYSTEM_DEF(ticker) if (!prob((world.time/600)*CONFIG_GET(number/maprotatechancedelta)) && CONFIG_GET(flag/tgstyle_maprotation)) return if(CONFIG_GET(flag/tgstyle_maprotation)) - INVOKE_ASYNC(SSmapping, /datum/controller/subsystem/mapping/.proc/maprotate) + INVOKE_ASYNC(SSmapping, TYPE_PROC_REF(/datum/controller/subsystem/mapping, maprotate)) else var/vote_type = CONFIG_GET(string/map_vote_type) switch(vote_type) diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index a86a3e458e..bd80416959 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -275,7 +275,7 @@ SUBSYSTEM_DEF(timer) return // Sort all timers by time to run - sortTim(alltimers, .proc/cmp_timer) + sortTim(alltimers, PROC_REF(cmp_timer)) // Get the earliest timer, and if the TTR is earlier than the current world.time, // then set the head offset appropriately to be the earliest time tracked by the diff --git a/code/controllers/subsystem/vis_overlays.dm b/code/controllers/subsystem/vis_overlays.dm index 0635709074..97ecdb7eee 100644 --- a/code/controllers/subsystem/vis_overlays.dm +++ b/code/controllers/subsystem/vis_overlays.dm @@ -51,7 +51,7 @@ SUBSYSTEM_DEF(vis_overlays) if(!thing.managed_vis_overlays) thing.managed_vis_overlays = list(overlay) - RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_vis_overlay) + RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate_vis_overlay)) else thing.managed_vis_overlays += overlay diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 615c2fbbcd..b2ff338c37 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -153,7 +153,7 @@ SUBSYSTEM_DEF(vote) var/list/pretty_vote = list() for(var/choice in choices) if(("[choice]" in this_vote) && ("[choice]" in scores_by_choice)) - sorted_insert(scores_by_choice["[choice]"],this_vote["[choice]"],/proc/cmp_numeric_asc) + sorted_insert(scores_by_choice["[choice]"],this_vote["[choice]"],GLOBAL_PROC_REF(cmp_numeric_asc)) // START BALLOT GATHERING pretty_vote += "[choice]" if(this_vote["[choice]"] in GLOB.vote_score_options) @@ -350,7 +350,7 @@ SUBSYSTEM_DEF(vote) if("mode tiers") var/list/raw_score_numbers = list() for(var/score_name in scores) - sorted_insert(raw_score_numbers,scores[score_name],/proc/cmp_numeric_asc) + sorted_insert(raw_score_numbers,scores[score_name],GLOBAL_PROC_REF(cmp_numeric_asc)) stored_modetier_results = scores.Copy() for(var/score_name in stored_modetier_results) if(stored_modetier_results[score_name] <= raw_score_numbers[CONFIG_GET(number/dropped_modes)]) diff --git a/code/datums/action.dm b/code/datums/action.dm index 6143a227e9..6d6c9513fb 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -34,7 +34,7 @@ /datum/action/proc/link_to(Target) target = Target - RegisterSignal(Target, COMSIG_ATOM_UPDATED_ICON, .proc/OnUpdatedIcon) + RegisterSignal(Target, COMSIG_ATOM_UPDATED_ICON, PROC_REF(OnUpdatedIcon)) /datum/action/Destroy() if(owner) diff --git a/code/datums/beam.dm b/code/datums/beam.dm index 6a9878e086..b4c24286e6 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -30,7 +30,7 @@ icon_state = beam_icon_state beam_type = btype if(time < INFINITY) - addtimer(CALLBACK(src,.proc/End), time) + addtimer(CALLBACK(src,PROC_REF(End)), time) /datum/beam/proc/Start() Draw() @@ -66,13 +66,13 @@ if(timing_id) deltimer(timing_id) if(!finished) - timing_id = addtimer(CALLBACK(src, .proc/recalculate), time, TIMER_STOPPABLE) + timing_id = addtimer(CALLBACK(src, PROC_REF(recalculate)), time, TIMER_STOPPABLE) /datum/beam/proc/after_calculate() if((sleep_time == null) || finished) //Does not automatically recalculate. return if(isnull(timing_id)) - timing_id = addtimer(CALLBACK(src, .proc/recalculate), sleep_time, TIMER_STOPPABLE) + timing_id = addtimer(CALLBACK(src, PROC_REF(recalculate)), sleep_time, TIMER_STOPPABLE) /datum/beam/proc/End(destroy_self = TRUE) finished = TRUE @@ -167,5 +167,5 @@ /atom/proc/Beam(atom/BeamTarget,icon_state="b_beam",icon='icons/effects/beam.dmi',time=50, maxdistance=10,beam_type=/obj/effect/ebeam,beam_sleep_time = 3) var/datum/beam/newbeam = new(src,BeamTarget,icon,icon_state,time,maxdistance,beam_type,beam_sleep_time) - INVOKE_ASYNC(newbeam, /datum/beam/.proc/Start) + INVOKE_ASYNC(newbeam, TYPE_PROC_REF(/datum/beam, Start)) return newbeam diff --git a/code/datums/brain_damage/brain_trauma.dm b/code/datums/brain_damage/brain_trauma.dm index 5d4c5cfac5..e4fca31a88 100644 --- a/code/datums/brain_damage/brain_trauma.dm +++ b/code/datums/brain_damage/brain_trauma.dm @@ -40,8 +40,8 @@ //Called when given to a mob /datum/brain_trauma/proc/on_gain() to_chat(owner, gain_text) - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) - RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + RegisterSignal(owner, COMSIG_MOVABLE_HEAR, PROC_REF(handle_hearing)) //Called when removed from a mob /datum/brain_trauma/proc/on_lose(silent) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index b8216355db..5b0f04cc84 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -24,7 +24,7 @@ qdel(src) return if(!friend.client && friend_initialized) - addtimer(CALLBACK(src, .proc/reroll_friend), 600) + addtimer(CALLBACK(src, PROC_REF(reroll_friend)), 600) /datum/brain_trauma/special/imaginary_friend/on_death() ..() @@ -93,7 +93,7 @@ trauma = _trauma owner = trauma.owner - INVOKE_ASYNC(src, .proc/setup_friend) + INVOKE_ASYNC(src, PROC_REF(setup_friend)) join = new join.Grant(src) @@ -172,7 +172,7 @@ if(owner.client) var/mutable_appearance/MA = mutable_appearance('icons/mob/talk.dmi', src, "default[say_test(message)]", FLY_LAYER) MA.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA - INVOKE_ASYNC(GLOBAL_PROC, /proc/flick_overlay, MA, list(owner.client), 30) + INVOKE_ASYNC(GLOBAL_PROC,GLOBAL_PROC_REF(flick_overlay), MA, list(owner.client), 30) for(var/mob/M in GLOB.dead_mob_list) var/link = FOLLOW_LINK(M, owner) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 3d1c76a2ed..df7b6c2b9a 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -160,8 +160,8 @@ to_chat(owner, "[pick("You have a coughing fit!", "You can't stop coughing!")]") owner.Stun(20) owner.emote("cough") - addtimer(CALLBACK(owner, /mob/.proc/emote, "cough"), 6) - addtimer(CALLBACK(owner, /mob/.proc/emote, "cough"), 12) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, emote), "cough"), 6) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, emote), "cough"), 12) owner.emote("cough") ..() diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index 516305f237..10969b3154 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -88,7 +88,7 @@ var/regex/reg = regex("(\\b|\\A)[REGEX_QUOTE(word)]'?s*(\\b|\\Z)", "i") if(findtext(hearing_args[HEARING_RAW_MESSAGE], reg)) - addtimer(CALLBACK(src, .proc/freak_out, null, word), 10) //to react AFTER the chat message + addtimer(CALLBACK(src, PROC_REF(freak_out), null, word), 10) //to react AFTER the chat message hearing_args[HEARING_RAW_MESSAGE] = reg.Replace(hearing_args[HEARING_RAW_MESSAGE], "$1") break diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 303e8e2495..af1cb1888a 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -298,7 +298,7 @@ var/regex/reg = new("(\\b[REGEX_QUOTE(trigger_phrase)]\\b)","ig") if(findtext(hearing_args[HEARING_RAW_MESSAGE], reg)) - addtimer(CALLBACK(src, .proc/hypnotrigger), 10) //to react AFTER the chat message + addtimer(CALLBACK(src, PROC_REF(hypnotrigger)), 10) //to react AFTER the chat message hearing_args[HEARING_RAW_MESSAGE] = reg.Replace(hearing_args[HEARING_RAW_MESSAGE], "*********") /datum/brain_trauma/severe/hypnotic_trigger/proc/hypnotrigger() diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm index f9ab6bce77..ae796b2017 100644 --- a/code/datums/brain_damage/special.dm +++ b/code/datums/brain_damage/special.dm @@ -67,7 +67,7 @@ /datum/brain_trauma/special/death_whispers/proc/whispering() ADD_TRAIT(owner, TRAIT_SIXTHSENSE, TRAUMA_TRAIT) active = TRUE - addtimer(CALLBACK(src, .proc/cease_whispering), rand(50, 300)) + addtimer(CALLBACK(src, PROC_REF(cease_whispering)), rand(50, 300)) /datum/brain_trauma/special/death_whispers/proc/cease_whispering() REMOVE_TRAIT(owner, TRAIT_SIXTHSENSE, TRAUMA_TRAIT) @@ -111,7 +111,7 @@ var/atom/movable/AM = thing SEND_SIGNAL(AM, COMSIG_MOVABLE_SECLUDED_LOCATION) next_crisis = world.time + 600 - addtimer(CALLBACK(src, .proc/fade_in), duration) + addtimer(CALLBACK(src, PROC_REF(fade_in)), duration) /datum/brain_trauma/special/existential_crisis/proc/fade_in() QDEL_NULL(veil) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index 855810e2f8..8e69d303b8 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -220,7 +220,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/callback.dm b/code/datums/callback.dm index 3d2ae04e16..ad8a50b1c1 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -5,10 +5,10 @@ * ## USAGE * * ``` - * var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn) + * var/datum/callback/C = new(object|null, PROC_REF(procname), arg1, arg2, ... argn) * var/timerid = addtimer(C, time, timertype) * you can also use the compiler define shorthand - * var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype) + * var/timerid = addtimer(CALLBACK(object|null, PROC_REF(procname), arg1, arg2, ... argn), time, timertype) * ``` * * Note: proc strings can only be given for datum proc calls, global procs must be proc paths @@ -26,27 +26,19 @@ * ## PROC TYPEPATH SHORTCUTS * (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...) * - * ### global proc while in another global proc: - * .procname + * ### proc defined on current(src) object OR overridden at src or any of it's parents: + * PROC_REF(procname) * - * `CALLBACK(GLOBAL_PROC, .some_proc_here)` + * `CALLBACK(src, PROC_REF(some_proc_here))` * - * ### proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents: - * .procname + * ### global proc + * GLOBAL_PROC_REF(procname) * - * `CALLBACK(src, .some_proc_here)` + * `CALLBACK(src, GLOBAL_PROC_REF(some_proc_here))` * - * ### when the above doesn't apply: - *.proc/procname * - * `CALLBACK(src, .proc/some_proc_here)` - * - * - * proc defined on a parent of a some type - * - * `/some/type/.proc/some_proc_here` - * - * Otherwise you must always provide the full typepath of the proc (/type/of/thing/proc/procname) + * ### proc defined on some type + * TYPE_PROC_REF(/some/type, some_proc_here) */ /datum/callback @@ -102,7 +94,7 @@ * Calls the registered proc on the registered object, if the user ref * can be resolved it also inclues that as an arg * - * If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall + * If the datum being called on is varedited, the call is wrapped via [WrapAdminProcCall][/proc/WrapAdminProcCall] */ /datum/callback/proc/Invoke(...) if(!usr) diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 58d2976c2c..edf8a728a4 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -43,7 +43,7 @@ stack_trace("/datum/chatmessage created with [isnull(owner) ? "null" : "invalid"] mob owner") qdel(src) return - INVOKE_ASYNC(src, .proc/generate_image, text, target, owner, extra_classes, lifespan) + INVOKE_ASYNC(src, PROC_REF(generate_image), text, target, owner, extra_classes, lifespan) /datum/chatmessage/Destroy() if (owned_by) @@ -74,7 +74,7 @@ /datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, list/extra_classes, lifespan) // Register client who owns this message owned_by = owner.client - RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/on_parent_qdel) + RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_qdel)) // Clip message var/maxlen = owned_by.prefs.max_chat_length @@ -141,7 +141,7 @@ if (sched_remaining > CHAT_MESSAGE_SPAWN_TIME) var/remaining_time = (sched_remaining) * (CHAT_MESSAGE_EXP_DECAY ** idx++) * (CHAT_MESSAGE_HEIGHT_DECAY ** combined_height) m.scheduled_destruction = world.time + remaining_time - addtimer(CALLBACK(m, .proc/end_of_life), remaining_time, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(m, PROC_REF(end_of_life)), remaining_time, TIMER_UNIQUE|TIMER_OVERRIDE) // Build message image message = image(loc = message_loc, layer = CHAT_LAYER) @@ -161,7 +161,7 @@ // Prepare for destruction scheduled_destruction = world.time + (lifespan - CHAT_MESSAGE_EOL_FADE) - addtimer(CALLBACK(src, .proc/end_of_life), lifespan - CHAT_MESSAGE_EOL_FADE, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(end_of_life)), lifespan - CHAT_MESSAGE_EOL_FADE, TIMER_UNIQUE|TIMER_OVERRIDE) /** * Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm index 7b3081cb33..fbb670083c 100644 --- a/code/datums/cinematic.dm +++ b/code/datums/cinematic.dm @@ -66,7 +66,7 @@ //We are now playing this cinematic //Handle what happens when a different cinematic tries to play over us - RegisterSignal(SSdcs, COMSIG_GLOB_PLAY_CINEMATIC, .proc/replacement_cinematic) + RegisterSignal(SSdcs, COMSIG_GLOB_PLAY_CINEMATIC, PROC_REF(replacement_cinematic)) //Pause OOC var/ooc_toggled = FALSE @@ -78,7 +78,7 @@ for(var/MM in watchers) var/mob/M = MM show_to(M, M.client) - RegisterSignal(M, COMSIG_MOB_CLIENT_LOGIN, .proc/show_to) + RegisterSignal(M, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(show_to)) //Close watcher ui's SStgui.close_user_uis(M) diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm index 6f289af1fc..582220f661 100644 --- a/code/datums/components/anti_magic.dm +++ b/code/datums/components/anti_magic.dm @@ -10,10 +10,10 @@ /datum/component/anti_magic/Initialize(_magic = FALSE, _holy = FALSE, _psychic = FALSE, _allowed_slots, _charges, _blocks_self = TRUE, datum/callback/_reaction, datum/callback/_expire) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) else if(ismob(parent)) - RegisterSignal(parent, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect) + RegisterSignal(parent, COMSIG_MOB_RECEIVE_MAGIC, PROC_REF(protect)) else return COMPONENT_INCOMPATIBLE @@ -32,7 +32,7 @@ if(!CHECK_BITFIELD(allowed_slots, slotdefine2slotbit(slot))) //Check that the slot is valid for antimagic UnregisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC) return - RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect, TRUE) + RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, PROC_REF(protect), TRUE) /datum/component/anti_magic/proc/on_drop(datum/source, mob/user) UnregisterSignal(user, COMSIG_MOB_RECEIVE_MAGIC) diff --git a/code/datums/components/archaeology.dm b/code/datums/components/archaeology.dm index f5bedf42a9..c66410af10 100644 --- a/code/datums/components/archaeology.dm +++ b/code/datums/components/archaeology.dm @@ -15,9 +15,9 @@ archdrops[i][ARCH_PROB] = 100 stack_trace("ARCHAEOLOGY WARNING: [parent] contained a null probability value in [i].") callback = _callback - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,.proc/Dig) - RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/BombDig) - RegisterSignal(parent, COMSIG_ATOM_SING_PULL, .proc/SingDig) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,PROC_REF(Dig)) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(BombDig)) + RegisterSignal(parent, COMSIG_ATOM_SING_PULL, PROC_REF(SingDig)) /datum/component/archaeology/InheritComponent(datum/component/archaeology/A, i_am_original) var/list/other_archdrops = A.archdrops diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index f801d03bbf..767ece99b8 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -9,11 +9,11 @@ if(!isobj(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/applyplate) - RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/dropplates) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(applyplate)) + RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, PROC_REF(dropplates)) if(istype(parent, /obj/mecha/working/ripley)) - RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_mech_overlays) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_mech_overlays)) if(_maxamount) maxamount = _maxamount diff --git a/code/datums/components/bane.dm b/code/datums/components/bane.dm index bdfcfed517..cd6e9d5b35 100644 --- a/code/datums/components/bane.dm +++ b/code/datums/components/bane.dm @@ -21,9 +21,9 @@ /datum/component/bane/RegisterWithParent() . = ..() if(speciestype) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/speciesCheck) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(speciesCheck)) else - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/mobCheck) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(mobCheck)) /datum/component/bane/UnregisterFromParent() . = ..() diff --git a/code/datums/components/bouncy.dm b/code/datums/components/bouncy.dm index fed603410e..fbb3c18859 100644 --- a/code/datums/components/bouncy.dm +++ b/code/datums/components/bouncy.dm @@ -18,11 +18,11 @@ var/list/diff_bounces = difflist(bounce_signals, _bounce_signals, TRUE) for(var/bounce in diff_bounces) bounce_signals += bounce - RegisterSignal(parent, bounce, .proc/bounce_up) + RegisterSignal(parent, bounce, PROC_REF(bounce_up)) /datum/component/bouncy/RegisterWithParent() . = ..() - RegisterSignal(parent, bounce_signals, .proc/bounce_up) + RegisterSignal(parent, bounce_signals, PROC_REF(bounce_up)) /datum/component/bouncy/UnregisterFromParent() . = ..() diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 8cefc7160e..b6d6867be6 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -20,14 +20,14 @@ if(_can_be_blunt) can_be_blunt = _can_be_blunt if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/onItemAttack) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(onItemAttack)) /datum/component/butchering/proc/onItemAttack(obj/item/source, mob/living/M, mob/living/user) if(user.a_intent != INTENT_HARM) return if(M.stat == DEAD && (M.butcher_results || M.guaranteed_butcher_results)) //can we butcher it? if(butchering_enabled && (can_be_blunt || source.get_sharpness())) - INVOKE_ASYNC(src, .proc/startButcher, source, M, user) + INVOKE_ASYNC(src, PROC_REF(startButcher), source, M, user) return COMPONENT_ITEM_NO_ATTACK if(ishuman(M) && source.force && source.get_sharpness()) @@ -37,7 +37,7 @@ user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse!", 1, \ "Their neck has already been already cut, you can't make the bleeding any worse!") return COMPONENT_ITEM_NO_ATTACK - INVOKE_ASYNC(src, .proc/startNeckSlice, source, H, user) + INVOKE_ASYNC(src, PROC_REF(startNeckSlice), source, H, user) return COMPONENT_ITEM_NO_ATTACK /datum/component/butchering/proc/startButcher(obj/item/source, mob/living/M, mob/living/user) @@ -127,7 +127,7 @@ . = ..() if(. == COMPONENT_INCOMPATIBLE) return - RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/onCrossed) + RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(onCrossed)) /datum/component/butchering/recycler/proc/onCrossed(datum/source, mob/living/L) if(!istype(L)) diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm index d138cf1971..7e1220073a 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -12,7 +12,7 @@ probability = _probability flags = _flags - RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED), .proc/Crossed) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED), PROC_REF(Crossed)) /datum/component/caltrop/proc/Crossed(datum/source, atom/movable/AM) var/atom/A = parent diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index f5a34bfca2..fedbe93ed8 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -24,7 +24,7 @@ )) /datum/component/chasm/Initialize(turf/target) - RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), .proc/Entered) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), PROC_REF(Entered)) target_turf = target START_PROCESSING(SSobj, src) // process on create, in case stuff is still there @@ -57,7 +57,7 @@ for (var/thing in to_check) if (droppable(thing)) . = 1 - INVOKE_ASYNC(src, .proc/drop, thing) + INVOKE_ASYNC(src, PROC_REF(drop), thing) /datum/component/chasm/proc/droppable(atom/movable/AM) // avoid an infinite loop, but allow falling a large distance diff --git a/code/datums/components/cleaning.dm b/code/datums/components/cleaning.dm index ae6ee47e39..e202544536 100644 --- a/code/datums/components/cleaning.dm +++ b/code/datums/components/cleaning.dm @@ -4,7 +4,7 @@ /datum/component/cleaning/Initialize() if(!ismovableatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/Clean) + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), PROC_REF(Clean)) /datum/component/cleaning/proc/Clean() var/atom/movable/AM = parent diff --git a/code/datums/components/combat_mode.dm b/code/datums/components/combat_mode.dm index 69d961daa6..4ade62b187 100644 --- a/code/datums/components/combat_mode.dm +++ b/code/datums/components/combat_mode.dm @@ -15,14 +15,14 @@ src.hud_loc = hud_loc - RegisterSignal(L, list(SIGNAL_ADDTRAIT(TRAIT_COMBAT_MODE_LOCKED), SIGNAL_REMOVETRAIT(TRAIT_COMBAT_MODE_LOCKED)), .proc/update_combat_lock) - RegisterSignal(L, COMSIG_TOGGLE_COMBAT_MODE, .proc/user_toggle_intentional_combat_mode) - RegisterSignal(L, COMSIG_DISABLE_COMBAT_MODE, .proc/safe_disable_combat_mode) - RegisterSignal(L, COMSIG_ENABLE_COMBAT_MODE, .proc/safe_enable_combat_mode) - RegisterSignal(L, COMSIG_MOB_DEATH, .proc/on_death) - RegisterSignal(L, COMSIG_MOB_CLIENT_LOGOUT, .proc/on_logout) - RegisterSignal(L, COMSIG_MOB_HUD_CREATED, .proc/on_mob_hud_created) - RegisterSignal(L, COMSIG_COMBAT_MODE_CHECK, .proc/check_flags) + RegisterSignal(L, list(SIGNAL_ADDTRAIT(TRAIT_COMBAT_MODE_LOCKED), SIGNAL_REMOVETRAIT(TRAIT_COMBAT_MODE_LOCKED)), PROC_REF(update_combat_lock)) + RegisterSignal(L, COMSIG_TOGGLE_COMBAT_MODE, PROC_REF(user_toggle_intentional_combat_mode)) + RegisterSignal(L, COMSIG_DISABLE_COMBAT_MODE, PROC_REF(safe_disable_combat_mode)) + RegisterSignal(L, COMSIG_ENABLE_COMBAT_MODE, PROC_REF(safe_enable_combat_mode)) + RegisterSignal(L, COMSIG_MOB_DEATH, PROC_REF(on_death)) + RegisterSignal(L, COMSIG_MOB_CLIENT_LOGOUT, PROC_REF(on_logout)) + RegisterSignal(L, COMSIG_MOB_HUD_CREATED, PROC_REF(on_mob_hud_created)) + RegisterSignal(L, COMSIG_COMBAT_MODE_CHECK, PROC_REF(check_flags)) update_combat_lock() diff --git a/code/datums/components/connect_loc_behalf.dm b/code/datums/components/connect_loc_behalf.dm index adbc72dff6..c710b8af96 100644 --- a/code/datums/components/connect_loc_behalf.dm +++ b/code/datums/components/connect_loc_behalf.dm @@ -20,8 +20,8 @@ src.tracked = tracked /datum/component/connect_loc_behalf/RegisterWithParent() - RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(tracked, COMSIG_PARENT_QDELETING, .proc/handle_tracked_qdel) + RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel)) update_signals() /datum/component/connect_loc_behalf/UnregisterFromParent() diff --git a/code/datums/components/construction.dm b/code/datums/components/construction.dm index 01df44752c..45ef560297 100644 --- a/code/datums/components/construction.dm +++ b/code/datums/components/construction.dm @@ -15,8 +15,8 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,.proc/action) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,PROC_REF(action)) update_parent(index) /datum/component/construction/proc/examine(datum/source, mob/user, list/examine_list) diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index c5e6f9742c..2d1f8a97af 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) var/datum/hud/H = user.hud_used @@ -8,7 +8,7 @@ C.icon = H.ui_style H.static_inventory += 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 diff --git a/code/datums/components/decal.dm b/code/datums/components/decal.dm index 6b5b486764..aeade767ee 100644 --- a/code/datums/components/decal.dm +++ b/code/datums/components/decal.dm @@ -18,11 +18,11 @@ /datum/component/decal/RegisterWithParent() if(first_dir) - RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_react) + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate_react)) if(cleanable) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react)) if(description) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) /datum/component/decal/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_EXAMINE)) @@ -51,13 +51,13 @@ var/atom/master = thing || parent master.add_overlay(pic, TRUE) if(isitem(master)) - addtimer(CALLBACK(master, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE) + addtimer(CALLBACK(master, TYPE_PROC_REF(/obj/item, update_slot_icon)), 0, TIMER_UNIQUE) /datum/component/decal/proc/remove(atom/thing) var/atom/master = thing || parent master.cut_overlay(pic, TRUE) if(isitem(master)) - addtimer(CALLBACK(master, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE) + addtimer(CALLBACK(master, TYPE_PROC_REF(/obj/item, update_slot_icon)), 0, TIMER_UNIQUE) /datum/component/decal/proc/rotate_react(old_dir, new_dir) if(old_dir == new_dir) diff --git a/code/datums/components/decals/blood.dm b/code/datums/components/decals/blood.dm index 6edf209296..11d9b5ac96 100644 --- a/code/datums/components/decals/blood.dm +++ b/code/datums/components/decals/blood.dm @@ -5,7 +5,7 @@ if(!isitem(parent)) return COMPONENT_INCOMPATIBLE . = ..() - RegisterSignal(parent, COMSIG_ATOM_GET_EXAMINE_NAME, .proc/get_examine_name) + RegisterSignal(parent, COMSIG_ATOM_GET_EXAMINE_NAME, PROC_REF(get_examine_name)) /datum/component/decal/blood/generate_appearance(_icon, _icon_state, _dir, _layer, _color) var/obj/item/I = parent diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm index 19e41148d3..b2a2cddf9c 100644 --- a/code/datums/components/dejavu.dm +++ b/code/datums/components/dejavu.dm @@ -42,22 +42,22 @@ tox_loss = L.getToxLoss() oxy_loss = L.getOxyLoss() brain_loss = L.getOrganLoss(ORGAN_SLOT_BRAIN) - rewind_type = .proc/rewind_living + rewind_type = PROC_REF(rewind_living) if(iscarbon(parent)) var/mob/living/carbon/C = parent saved_bodyparts = C.save_bodyparts() - rewind_type = .proc/rewind_carbon + rewind_type = PROC_REF(rewind_carbon) else if(isanimal(parent)) var/mob/living/simple_animal/M = parent brute_loss = M.bruteloss - rewind_type = .proc/rewind_animal + rewind_type = PROC_REF(rewind_animal) else if(isobj(parent)) var/obj/O = parent integrity = O.obj_integrity - rewind_type = .proc/rewind_obj + rewind_type = PROC_REF(rewind_obj) addtimer(CALLBACK(src, rewind_type), rewind_interval) diff --git a/code/datums/components/earhealing.dm b/code/datums/components/earhealing.dm index 8fe6d2788e..95a3a6a60e 100644 --- a/code/datums/components/earhealing.dm +++ b/code/datums/components/earhealing.dm @@ -7,7 +7,7 @@ /datum/component/earhealing/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/equippedChanged) + RegisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(equippedChanged)) /datum/component/earhealing/proc/equippedChanged(mob/living/carbon/user, slot) if (slot == SLOT_EARS && istype(user)) diff --git a/code/datums/components/earprotection.dm b/code/datums/components/earprotection.dm index 9256c4310a..6439e49b83 100644 --- a/code/datums/components/earprotection.dm +++ b/code/datums/components/earprotection.dm @@ -1,7 +1,7 @@ /datum/component/wearertargeting/earprotection signals = list(COMSIG_CARBON_SOUNDBANG) mobtype = /mob/living/carbon - proctype = .proc/reducebang + proctype = PROC_REF(reducebang) /datum/component/wearertargeting/earprotection/Initialize(_valid_slots) . = ..() diff --git a/code/datums/components/edible.dm b/code/datums/components/edible.dm index 6c0fb951d0..8399d1b256 100644 --- a/code/datums/components/edible.dm +++ b/code/datums/components/edible.dm @@ -34,12 +34,12 @@ Behavior that's still missing from this component that original food items had t if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, .proc/UseByAnimal) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/UseFromHand) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(UseFromHand)) else if(isturf(parent)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/TryToEatTurf) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(TryToEatTurf)) src.bite_consumption = bite_consumption src.food_flags = food_flags diff --git a/code/datums/components/edit_complainer.dm b/code/datums/components/edit_complainer.dm index e2cca2eb50..038cd3e5e7 100644 --- a/code/datums/components/edit_complainer.dm +++ b/code/datums/components/edit_complainer.dm @@ -16,7 +16,7 @@ ) say_lines = text || default_lines - RegisterSignal(SSdcs, COMSIG_GLOB_VAR_EDIT, .proc/var_edit_react) + RegisterSignal(SSdcs, COMSIG_GLOB_VAR_EDIT, PROC_REF(var_edit_react)) /datum/component/edit_complainer/proc/var_edit_react(datum/source, list/arguments) var/atom/movable/master = parent diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index ec5ec19a6b..28da894a3b 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -100,12 +100,12 @@ /datum/component/embedded/RegisterWithParent() if(iscarbon(parent)) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/jostleCheck) - RegisterSignal(parent, COMSIG_CARBON_EMBED_RIP, .proc/ripOutCarbon) - RegisterSignal(parent, COMSIG_CARBON_EMBED_REMOVAL, .proc/safeRemoveCarbon) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(jostleCheck)) + RegisterSignal(parent, COMSIG_CARBON_EMBED_RIP, PROC_REF(ripOutCarbon)) + RegisterSignal(parent, COMSIG_CARBON_EMBED_REMOVAL, PROC_REF(safeRemoveCarbon)) else if(isclosedturf(parent)) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examineTurf) - RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/itemMoved) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examineTurf)) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(itemMoved)) /datum/component/embedded/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_EMBED_RIP, COMSIG_CARBON_EMBED_REMOVAL, COMSIG_PARENT_EXAMINE)) @@ -137,7 +137,7 @@ limb.embedded_objects |= weapon // on the inside... on the inside... weapon.forceMove(victim) - RegisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), .proc/byeItemCarbon) + RegisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), PROC_REF(byeItemCarbon)) var/damage = 0 if(harmful) victim.visible_message("[weapon] embeds itself in [victim]'s [limb.name]!",ignored_mobs=victim) @@ -303,7 +303,7 @@ // we can't store the item IN the turf (cause turfs are just kinda... there), so we fake it by making the item invisible and bailing if it moves due to a blast weapon.forceMove(hit) weapon.invisibility = INVISIBILITY_ABSTRACT - RegisterSignal(weapon, COMSIG_MOVABLE_MOVED, .proc/itemMoved) + RegisterSignal(weapon, COMSIG_MOVABLE_MOVED, PROC_REF(itemMoved)) var/pixelX = rand(-2, 2) var/pixelY = rand(-1, 3) // bias this upwards since in-hands are usually on the lower end of the sprite @@ -326,7 +326,7 @@ var/matrix/M = matrix() M.Translate(pixelX, pixelY) overlay.transform = M - RegisterSignal(hit,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/apply_overlay) + RegisterSignal(hit,COMSIG_ATOM_UPDATE_OVERLAYS,PROC_REF(apply_overlay)) hit.update_icon() if(harmful) diff --git a/code/datums/components/empprotection.dm b/code/datums/components/empprotection.dm index df4c49040b..cbc5143e37 100644 --- a/code/datums/components/empprotection.dm +++ b/code/datums/components/empprotection.dm @@ -5,7 +5,7 @@ if(!istype(parent, /atom)) return COMPONENT_INCOMPATIBLE flags = _flags - RegisterSignal(parent, list(COMSIG_ATOM_EMP_ACT), .proc/getEmpFlags) + RegisterSignal(parent, list(COMSIG_ATOM_EMP_ACT), PROC_REF(getEmpFlags)) /datum/component/empprotection/proc/getEmpFlags(severity) return flags diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm index 2e5834c025..aa39587529 100644 --- a/code/datums/components/explodable.dm +++ b/code/datums/components/explodable.dm @@ -10,16 +10,16 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/explodable_attack) - RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/explodable_insert_item) - RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/detonate) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(explodable_attack)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, PROC_REF(explodable_insert_item)) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(detonate)) if(ismovable(parent)) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/explodable_impact) - RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/explodable_bump) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(explodable_impact)) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(explodable_bump)) if(isitem(parent)) - RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/explodable_attack) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), PROC_REF(explodable_attack)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) @@ -56,7 +56,7 @@ detonate() /datum/component/explodable/proc/on_equip(datum/source, mob/equipper, slot) - RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMGE, .proc/explodable_attack_zone, TRUE) + RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMGE, PROC_REF(explodable_attack_zone), TRUE) /datum/component/explodable/proc/on_drop(datum/source, mob/user) UnregisterSignal(user, COMSIG_MOB_APPLY_DAMGE) diff --git a/code/datums/components/field_of_vision.dm b/code/datums/components/field_of_vision.dm index 97d3141db6..741195d898 100644 --- a/code/datums/components/field_of_vision.dm +++ b/code/datums/components/field_of_vision.dm @@ -82,14 +82,14 @@ var/mob/M = parent if(M.client) generate_fov_holder(M, angle) - RegisterSignal(M, COMSIG_MOB_CLIENT_LOGIN, .proc/on_mob_login) - RegisterSignal(M, COMSIG_MOB_CLIENT_LOGOUT, .proc/on_mob_logout) - RegisterSignal(M, COMSIG_MOB_GET_VISIBLE_MESSAGE, .proc/on_visible_message) - RegisterSignal(M, COMSIG_MOB_EXAMINATE, .proc/on_examinate) - RegisterSignal(M, COMSIG_MOB_FOV_VIEW, .proc/on_fov_view) - RegisterSignal(M, COMSIG_MOB_CLIENT_CHANGE_VIEW, .proc/on_change_view) - RegisterSignal(M, COMSIG_MOB_RESET_PERSPECTIVE, .proc/on_reset_perspective) - RegisterSignal(M, COMSIG_MOB_FOV_VIEWER, .proc/is_viewer) + RegisterSignal(M, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(on_mob_login)) + RegisterSignal(M, COMSIG_MOB_CLIENT_LOGOUT, PROC_REF(on_mob_logout)) + RegisterSignal(M, COMSIG_MOB_GET_VISIBLE_MESSAGE, PROC_REF(on_visible_message)) + RegisterSignal(M, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate)) + RegisterSignal(M, COMSIG_MOB_FOV_VIEW, PROC_REF(on_fov_view)) + RegisterSignal(M, COMSIG_MOB_CLIENT_CHANGE_VIEW, PROC_REF(on_change_view)) + RegisterSignal(M, COMSIG_MOB_RESET_PERSPECTIVE, PROC_REF(on_reset_perspective)) + RegisterSignal(M, COMSIG_MOB_FOV_VIEWER, PROC_REF(is_viewer)) /datum/component/field_of_vision/UnregisterFromParent() . = ..() @@ -134,14 +134,14 @@ if(_angle) rotate_shadow_cone(_angle) fov.alpha = M.stat == DEAD ? 0 : 255 - RegisterSignal(M, COMSIG_MOB_DEATH, .proc/hide_fov) - RegisterSignal(M, COMSIG_LIVING_REVIVE, .proc/show_fov) - RegisterSignal(M, COMSIG_ATOM_DIR_CHANGE, .proc/on_dir_change) - RegisterSignal(M, COMSIG_MOVABLE_MOVED, .proc/on_mob_moved) - RegisterSignal(M, COMSIG_ROBOT_UPDATE_ICONS, .proc/manual_centered_render_source) + RegisterSignal(M, COMSIG_MOB_DEATH, PROC_REF(hide_fov)) + RegisterSignal(M, COMSIG_LIVING_REVIVE, PROC_REF(show_fov)) + RegisterSignal(M, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_dir_change)) + RegisterSignal(M, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_moved)) + RegisterSignal(M, COMSIG_ROBOT_UPDATE_ICONS, PROC_REF(manual_centered_render_source)) var/atom/A = M if(M.loc && !isturf(M.loc)) - REGISTER_NESTED_LOCS(M, nested_locs, COMSIG_MOVABLE_MOVED, .proc/on_loc_moved) + REGISTER_NESTED_LOCS(M, nested_locs, COMSIG_MOVABLE_MOVED, PROC_REF(on_loc_moved)) A = nested_locs[nested_locs.len] CENTERED_RENDER_SOURCE(owner_mask, A, src) M.client.images += shadow_mask @@ -213,7 +213,7 @@ var/turf/T if(!isturf(source.loc)) //Recalculate all nested locations. UNREGISTER_NESTED_LOCS( nested_locs, COMSIG_MOVABLE_MOVED, 1) - REGISTER_NESTED_LOCS(source, nested_locs, COMSIG_MOVABLE_MOVED, .proc/on_loc_moved) + REGISTER_NESTED_LOCS(source, nested_locs, COMSIG_MOVABLE_MOVED, PROC_REF(on_loc_moved)) var/atom/movable/topmost = nested_locs[nested_locs.len] T = topmost.loc CENTERED_RENDER_SOURCE(owner_mask, topmost, src) @@ -233,7 +233,7 @@ var/atom/movable/prev_topmost = nested_locs[nested_locs.len] if(prev_topmost != source) UNREGISTER_NESTED_LOCS(nested_locs, COMSIG_MOVABLE_MOVED, nested_locs.Find(source) + 1) - REGISTER_NESTED_LOCS(source, nested_locs, COMSIG_MOVABLE_MOVED, .proc/on_loc_moved) + REGISTER_NESTED_LOCS(source, nested_locs, COMSIG_MOVABLE_MOVED, PROC_REF(on_loc_moved)) var/atom/movable/topmost = nested_locs[nested_locs.len] if(topmost != prev_topmost) CENTERED_RENDER_SOURCE(owner_mask, topmost, src) diff --git a/code/datums/components/footstep.dm b/code/datums/components/footstep.dm index db4f508dfc..8b5cbfda73 100644 --- a/code/datums/components/footstep.dm +++ b/code/datums/components/footstep.dm @@ -32,7 +32,7 @@ if(FOOTSTEP_MOB_HUMAN) if(!ishuman(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_humanstep) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_humanstep)) return if(FOOTSTEP_MOB_CLAW) footstep_sounds = GLOB.clawfootstep @@ -48,7 +48,7 @@ footstep_sounds = 'sound/effects/footstep/slime1.ogg' if(FOOTSTEP_MOB_CRAWL) footstep_sounds = 'sound/effects/footstep/crawl1.ogg' - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_simplestep) //Note that this doesn't get called for humans. + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep)) //Note that this doesn't get called for humans. ///Prepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open /datum/component/footstep/proc/prepare_step() diff --git a/code/datums/components/forced_gravity.dm b/code/datums/components/forced_gravity.dm index 4512a4de55..3c3735ee0d 100644 --- a/code/datums/components/forced_gravity.dm +++ b/code/datums/components/forced_gravity.dm @@ -5,9 +5,9 @@ /datum/component/forced_gravity/Initialize(forced_value = 1) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(COMSIG_ATOM_HAS_GRAVITY, .proc/gravity_check) + RegisterSignal(COMSIG_ATOM_HAS_GRAVITY, PROC_REF(gravity_check)) if(isturf(parent)) - RegisterSignal(COMSIG_TURF_HAS_GRAVITY, .proc/turf_gravity_check) + RegisterSignal(COMSIG_TURF_HAS_GRAVITY, PROC_REF(turf_gravity_check)) gravity = forced_value diff --git a/code/datums/components/forensics.dm b/code/datums/components/forensics.dm index 34cfb12af5..d834f0524d 100644 --- a/code/datums/components/forensics.dm +++ b/code/datums/components/forensics.dm @@ -21,7 +21,7 @@ blood_DNA = new_blood_DNA fibers = new_fibers check_blood() - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_act) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_act)) /datum/component/forensics/proc/wipe_fingerprints() fingerprints = null diff --git a/code/datums/components/fried.dm b/code/datums/components/fried.dm index 4e21962778..d86ee6cee9 100644 --- a/code/datums/components/fried.dm +++ b/code/datums/components/fried.dm @@ -12,8 +12,8 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/restore) //basically, unfry people who are being cleaned (badmemes fried someone) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(restore)) //basically, unfry people who are being cleaned (badmemes fried someone) fry_power = frying_power owner = parent diff --git a/code/datums/components/glow_heal.dm b/code/datums/components/glow_heal.dm index ee056f9c28..123253c6c6 100644 --- a/code/datums/components/glow_heal.dm +++ b/code/datums/components/glow_heal.dm @@ -33,7 +33,7 @@ glow_color = color_glow healing_types = type_healing START_PROCESSING(SSobj, src) - RegisterSignal(living_owner, COMSIG_LIVING_REVIVE, .proc/restart_process) + RegisterSignal(living_owner, COMSIG_LIVING_REVIVE, PROC_REF(restart_process)) /datum/component/glow_heal/proc/restart_process() START_PROCESSING(SSobj, src) diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index c2b3ad1f30..932a2e5afe 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -28,11 +28,11 @@ GLOBAL_LIST_EMPTY(GPS_list) var/atom/A = parent A.add_overlay("working") A.name = "[initial(A.name)] ([gpstag])" - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/interact) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact)) if(!emp_proof) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_AltClick) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(on_AltClick)) ///Called on COMSIG_ITEM_ATTACK_SELF /datum/component/gps/item/proc/interact(datum/source, mob/user) @@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(GPS_list) var/atom/A = parent A.cut_overlay("working") A.add_overlay("emp") - addtimer(CALLBACK(src, .proc/reboot), 300, TIMER_UNIQUE|TIMER_OVERRIDE) //if a new EMP happens, remove the old timer so it doesn't reactivate early + addtimer(CALLBACK(src, PROC_REF(reboot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE) //if a new EMP happens, remove the old timer so it doesn't reactivate early SStgui.close_uis(src) //Close the UI control if it is open. ///Restarts the GPS after getting turned off by an EMP. diff --git a/code/datums/components/identification.dm b/code/datums/components/identification.dm index a225547ef2..9fc73683f3 100644 --- a/code/datums/components/identification.dm +++ b/code/datums/components/identification.dm @@ -24,11 +24,11 @@ identification_method_flags = id_method_flags /datum/component/identification/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) if(identification_effect_flags & ID_COMPONENT_EFFECT_NO_ACTIONS) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) if(identification_method_flags & ID_COMPONENT_IDENTIFY_WITH_DECONSTRUCTOR) - RegisterSignal(parent, COMSIG_ITEM_DECONSTRUCTOR_DEEPSCAN, .proc/on_deconstructor_deepscan) + RegisterSignal(parent, COMSIG_ITEM_DECONSTRUCTOR_DEEPSCAN, PROC_REF(on_deconstructor_deepscan)) /datum/component/identification/UnregisterFromParent() var/list/unregister = list(COMSIG_PARENT_EXAMINE) diff --git a/code/datums/components/igniter.dm b/code/datums/components/igniter.dm index 2f311db166..cec8e2f972 100644 --- a/code/datums/components/igniter.dm +++ b/code/datums/components/igniter.dm @@ -11,11 +11,11 @@ /datum/component/igniter/RegisterWithParent() . = ..() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/igniter/UnregisterFromParent() . = ..() diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm index 8d3c6ab81f..67a0e4e5ab 100644 --- a/code/datums/components/infective.dm +++ b/code/datums/components/infective.dm @@ -15,19 +15,19 @@ if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean) - RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/try_infect_buckle) - RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/try_infect_collide) - RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/try_infect_crossed) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT_ZONE, .proc/try_infect_impact_zone) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean)) + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(try_infect_buckle)) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(try_infect_collide)) + RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(try_infect_crossed)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(try_infect_impact_zone)) if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_ZONE, .proc/try_infect_attack_zone) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/try_infect_attack) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/try_infect_equipped) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_ZONE, PROC_REF(try_infect_attack_zone)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(try_infect_attack)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(try_infect_equipped)) if(istype(parent, /obj/item/reagent_containers/food/snacks)) - RegisterSignal(parent, COMSIG_FOOD_EATEN, .proc/try_infect_eat) + RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(try_infect_eat)) else if(istype(parent, /obj/effect/decal/cleanable/blood/gibs)) - RegisterSignal(parent, COMSIG_GIBS_STREAK, .proc/try_infect_streak) + RegisterSignal(parent, COMSIG_GIBS_STREAK, PROC_REF(try_infect_streak)) /datum/component/infective/proc/try_infect_eat(datum/source, mob/living/eater, mob/living/feeder) for(var/V in diseases) diff --git a/code/datums/components/jousting.dm b/code/datums/components/jousting.dm index 2a865d6658..5f16e147af 100644 --- a/code/datums/components/jousting.dm +++ b/code/datums/components/jousting.dm @@ -18,12 +18,12 @@ /datum/component/jousting/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/on_attack) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack)) /datum/component/jousting/proc/on_equip(datum/source, mob/user, slot) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/mob_move, TRUE) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(mob_move), TRUE) current_holder = user /datum/component/jousting/proc/on_drop(datum/source, mob/user) @@ -68,7 +68,7 @@ current_tile_charge++ if(current_timerid) deltimer(current_timerid) - current_timerid = addtimer(CALLBACK(src, .proc/reset_charge), movement_reset_tolerance, TIMER_STOPPABLE) + current_timerid = addtimer(CALLBACK(src, PROC_REF(reset_charge)), movement_reset_tolerance, TIMER_STOPPABLE) /datum/component/jousting/proc/reset_charge() current_tile_charge = 0 diff --git a/code/datums/components/killerqueen.dm b/code/datums/components/killerqueen.dm index 6f6aa087da..7f3d049109 100644 --- a/code/datums/components/killerqueen.dm +++ b/code/datums/components/killerqueen.dm @@ -51,10 +51,10 @@ /datum/component/killerqueen/RegisterWithParent() . = ..() - RegisterSignal(parent, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW, COMSIG_ATOM_ATTACK_ANIMAL), .proc/touch_detonate) - RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/bump_detonate) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attackby_detonate) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(parent, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW, COMSIG_ATOM_ATTACK_ANIMAL), PROC_REF(touch_detonate)) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(bump_detonate)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_detonate)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) /datum/component/killerqueen/UnregisterFromParent() . = ..() diff --git a/code/datums/components/knockback.dm b/code/datums/components/knockback.dm index aa1a48d9cf..bccf7d8fcb 100644 --- a/code/datums/components/knockback.dm +++ b/code/datums/components/knockback.dm @@ -17,11 +17,11 @@ /datum/component/knockback/RegisterWithParent() . = ..() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/knockback/UnregisterFromParent() . = ..() diff --git a/code/datums/components/knockoff.dm b/code/datums/components/knockoff.dm index 7d399c7d26..cadffbd382 100644 --- a/code/datums/components/knockoff.dm +++ b/code/datums/components/knockoff.dm @@ -7,8 +7,8 @@ /datum/component/knockoff/Initialize(knockoff_chance,zone_override,slots_knockoffable) if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED,.proc/OnEquipped) - RegisterSignal(parent, COMSIG_ITEM_DROPPED,.proc/OnDropped) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED,PROC_REF(OnEquipped)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED,PROC_REF(OnDropped)) src.knockoff_chance = knockoff_chance @@ -38,7 +38,7 @@ if(slots_knockoffable && !(slot in slots_knockoffable)) UnregisterSignal(H, COMSIG_HUMAN_DISARM_HIT) return - RegisterSignal(H, COMSIG_HUMAN_DISARM_HIT, .proc/Knockoff, TRUE) + RegisterSignal(H, COMSIG_HUMAN_DISARM_HIT, PROC_REF(Knockoff), TRUE) /datum/component/knockoff/proc/OnDropped(datum/source, mob/living/M) UnregisterSignal(M, COMSIG_HUMAN_DISARM_HIT) diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm index c6d0c595eb..0a8c50cdf7 100644 --- a/code/datums/components/label.dm +++ b/code/datums/components/label.dm @@ -22,8 +22,8 @@ apply_label() /datum/component/label/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackby) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/Examine) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackby)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(Examine)) /datum/component/label/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE)) diff --git a/code/datums/components/largeobjecttransparency.dm b/code/datums/components/largeobjecttransparency.dm index e4f20990d9..e90d0474f1 100644 --- a/code/datums/components/largeobjecttransparency.dm +++ b/code/datums/components/largeobjecttransparency.dm @@ -57,7 +57,7 @@ return ..() /datum/component/largetransparency/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/OnMove) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(OnMove)) RegisterWithTurfs() /datum/component/largetransparency/UnregisterFromParent() @@ -75,9 +75,9 @@ for(var/regist_tu in registered_turfs) if(!regist_tu) continue - RegisterSignal(regist_tu, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_CREATED), .proc/objectEnter) - RegisterSignal(regist_tu, COMSIG_ATOM_EXITED, .proc/objectLeave) - RegisterSignal(regist_tu, COMSIG_TURF_CHANGE, .proc/OnTurfChange) + RegisterSignal(regist_tu, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_CREATED), PROC_REF(objectEnter)) + RegisterSignal(regist_tu, COMSIG_ATOM_EXITED, PROC_REF(objectLeave)) + RegisterSignal(regist_tu, COMSIG_TURF_CHANGE, PROC_REF(OnTurfChange)) for(var/thing in regist_tu) var/atom/check_atom = thing if(!(check_atom.flags_1 & CRITICAL_ATOM_1)) @@ -101,7 +101,7 @@ /datum/component/largetransparency/proc/OnTurfChange() SIGNAL_HANDLER - addtimer(CALLBACK(src, .proc/OnMove), 1, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain + addtimer(CALLBACK(src, PROC_REF(OnMove)), 1, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain /datum/component/largetransparency/proc/objectEnter(datum/source, atom/enterer) SIGNAL_HANDLER diff --git a/code/datums/components/lifesteal.dm b/code/datums/components/lifesteal.dm index 9d62d32866..0427394c20 100644 --- a/code/datums/components/lifesteal.dm +++ b/code/datums/components/lifesteal.dm @@ -12,11 +12,11 @@ /datum/component/lifesteal/RegisterWithParent() . = ..() if(isgun(parent)) - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/lifesteal/UnregisterFromParent() . = ..() diff --git a/code/datums/components/magnetic_catch.dm b/code/datums/components/magnetic_catch.dm index 20cd8e1d78..52c417981d 100644 --- a/code/datums/components/magnetic_catch.dm +++ b/code/datums/components/magnetic_catch.dm @@ -1,31 +1,31 @@ /datum/component/magnetic_catch/Initialize() if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) if(ismovable(parent)) - RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/crossed_react) - RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/uncrossed_react) + RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(crossed_react)) + RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, PROC_REF(uncrossed_react)) for(var/i in get_turf(parent)) if(i == parent) continue - RegisterSignal(i, COMSIG_MOVABLE_PRE_THROW, .proc/throw_react) + RegisterSignal(i, COMSIG_MOVABLE_PRE_THROW, PROC_REF(throw_react)) else - RegisterSignal(parent, COMSIG_ATOM_ENTERED, .proc/entered_react) - RegisterSignal(parent, COMSIG_ATOM_EXITED, .proc/exited_react) + RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(entered_react)) + RegisterSignal(parent, COMSIG_ATOM_EXITED, PROC_REF(exited_react)) for(var/i in parent) - RegisterSignal(i, COMSIG_MOVABLE_PRE_THROW, .proc/throw_react) + RegisterSignal(i, COMSIG_MOVABLE_PRE_THROW, PROC_REF(throw_react)) /datum/component/magnetic_catch/proc/examine(datum/source, mob/user, list/examine_list) examine_list += "It has been installed with inertia dampening to prevent coffee spills." /datum/component/magnetic_catch/proc/crossed_react(datum/source, atom/movable/thing) - RegisterSignal(thing, COMSIG_MOVABLE_PRE_THROW, .proc/throw_react, TRUE) + RegisterSignal(thing, COMSIG_MOVABLE_PRE_THROW, PROC_REF(throw_react), TRUE) /datum/component/magnetic_catch/proc/uncrossed_react(datum/source, atom/movable/thing) UnregisterSignal(thing, COMSIG_MOVABLE_PRE_THROW) /datum/component/magnetic_catch/proc/entered_react(datum/source, atom/movable/thing, atom/oldloc) - RegisterSignal(thing, COMSIG_MOVABLE_PRE_THROW, .proc/throw_react, TRUE) + RegisterSignal(thing, COMSIG_MOVABLE_PRE_THROW, PROC_REF(throw_react), TRUE) /datum/component/magnetic_catch/proc/exited_react(datum/source, atom/movable/thing, atom/newloc) UnregisterSignal(thing, COMSIG_MOVABLE_PRE_THROW) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 2d7cbb51da..7808f68766 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -38,8 +38,8 @@ precondition = _precondition after_insert = _after_insert - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(OnExamine)) for(var/mat in mat_list) //Make the assoc list ref | amount var/datum/material/M = SSmaterials.GetMaterialRef(mat) diff --git a/code/datums/components/mirv.dm b/code/datums/components/mirv.dm index 2a1663776c..b43ba7623d 100644 --- a/code/datums/components/mirv.dm +++ b/code/datums/components/mirv.dm @@ -16,7 +16,7 @@ /datum/component/mirv/RegisterWithParent() . = ..() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) /datum/component/mirv/UnregisterFromParent() . = ..() diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index ef7eba4914..6fa16285d4 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -27,12 +27,12 @@ if(owner.stat != DEAD) START_PROCESSING(SSobj, src) - RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event) - RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event) - RegisterSignal(parent, COMSIG_MODIFY_SANITY, .proc/modify_sanity) - RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/on_revive) - RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, .proc/modify_hud) - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/stop_processing) + RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, PROC_REF(add_event)) + RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, PROC_REF(clear_event)) + RegisterSignal(parent, COMSIG_MODIFY_SANITY, PROC_REF(modify_sanity)) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(on_revive)) + RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, PROC_REF(modify_hud)) + RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(stop_processing)) if(owner.hud_used) modify_hud() @@ -264,7 +264,7 @@ clear_event(null, category) else if(the_event.timeout) - addtimer(CALLBACK(src, .proc/clear_event, null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(clear_event), null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) return 0 //Don't have to update the event. the_event = new type(src, param)//This causes a runtime for some reason, was this me? No - there's an event floating around missing a definition. @@ -272,7 +272,7 @@ update_mood() if(the_event.timeout) - addtimer(CALLBACK(src, .proc/clear_event, null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(clear_event), null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) /datum/component/mood/proc/clear_event(datum/source, category) var/datum/mood_event/event = mood_events[category] @@ -297,8 +297,8 @@ var/datum/hud/hud = owner.hud_used screen_obj = new hud.infodisplay += screen_obj - RegisterSignal(hud, COMSIG_PARENT_QDELETING, .proc/unmodify_hud) - RegisterSignal(screen_obj, COMSIG_CLICK, .proc/hud_click) + RegisterSignal(hud, COMSIG_PARENT_QDELETING, PROC_REF(unmodify_hud)) + RegisterSignal(screen_obj, COMSIG_CLICK, PROC_REF(hud_click)) /datum/component/mood/proc/unmodify_hud(datum/source) if(!screen_obj || !parent) diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 29add286be..144b70e675 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -40,31 +40,31 @@ cloud_sync() /datum/component/nanites/RegisterWithParent() - RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) - RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth) - RegisterSignal(parent, COMSIG_NANITE_DELETE, .proc/delete_nanites) - RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) - RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) - RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) - RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites) - RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume) - RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud) - RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, .proc/set_cloud_sync) - RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety) - RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen) - RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) - RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) - RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) + RegisterSignal(parent, COMSIG_HAS_NANITES, PROC_REF(confirm_nanites)) + RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, PROC_REF(check_stealth)) + RegisterSignal(parent, COMSIG_NANITE_DELETE, PROC_REF(delete_nanites)) + RegisterSignal(parent, COMSIG_NANITE_UI_DATA, PROC_REF(nanite_ui_data)) + RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, PROC_REF(get_programs)) + RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, PROC_REF(set_volume)) + RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, PROC_REF(adjust_nanites)) + RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, PROC_REF(set_max_volume)) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, PROC_REF(set_cloud)) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, PROC_REF(set_cloud_sync)) + RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, PROC_REF(set_safety)) + RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, PROC_REF(set_regen)) + RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, PROC_REF(add_program)) + RegisterSignal(parent, COMSIG_NANITE_SCAN, PROC_REF(nanite_scan)) + RegisterSignal(parent, COMSIG_NANITE_SYNC, PROC_REF(sync)) if(isliving(parent)) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death) - RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access) - RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock) - RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, .proc/on_minor_shock) - RegisterSignal(parent, COMSIG_SPECIES_GAIN, .proc/check_viable_biotype) - RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal) - RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp)) + RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(on_death)) + RegisterSignal(parent, COMSIG_MOB_ALLOWED, PROC_REF(check_access)) + RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_shock)) + RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, PROC_REF(on_minor_shock)) + RegisterSignal(parent, COMSIG_SPECIES_GAIN, PROC_REF(check_viable_biotype)) + RegisterSignal(parent, COMSIG_NANITE_SIGNAL, PROC_REF(receive_signal)) + RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, PROC_REF(receive_comm_signal)) /datum/component/nanites/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_HAS_NANITES, diff --git a/code/datums/components/omen.dm b/code/datums/components/omen.dm index 3846bdcf87..5ac403124c 100644 --- a/code/datums/components/omen.dm +++ b/code/datums/components/omen.dm @@ -27,9 +27,9 @@ return ..() /datum/component/omen/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/check_accident) - RegisterSignal(parent, COMSIG_LIVING_STATUS_KNOCKDOWN, .proc/check_slip) - RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/check_bless) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(check_accident)) + RegisterSignal(parent, COMSIG_LIVING_STATUS_KNOCKDOWN, PROC_REF(check_slip)) + RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, PROC_REF(check_bless)) /datum/component/omen/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_LIVING_STATUS_KNOCKDOWN, COMSIG_MOVABLE_MOVED, COMSIG_ADD_MOOD_EVENT)) diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 83cd8cb422..01cc5f9420 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -23,7 +23,7 @@ . = ..() var/atom/target = parent while(ismovable(target)) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) target = target.loc /datum/component/orbiter/UnregisterFromParent() @@ -61,7 +61,7 @@ orbiter.orbiting.end_orbit(orbiter) orbiters[orbiter] = TRUE orbiter.orbiting = src - RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, .proc/orbiter_move_react) + RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, PROC_REF(orbiter_move_react)) SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_BEGIN, orbiter) @@ -135,7 +135,7 @@ if(orbited?.loc && orbited.loc != newturf) // We want to know when anything holding us moves too var/atom/target = orbited.loc while(ismovable(target)) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react, TRUE) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(move_react), TRUE) target = target.loc var/atom/curloc = master.loc diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm index 9ab436f5ee..0875be2c80 100644 --- a/code/datums/components/overlay_lighting.dm +++ b/code/datums/components/overlay_lighting.dm @@ -105,14 +105,14 @@ /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_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)) var/atom/movable/movable_parent = parent if(movable_parent.light_flags & LIGHT_ATTACHED) overlay_lighting_flags |= LIGHTING_ATTACHED @@ -214,13 +214,13 @@ var/atom/movable/old_parent_attached_to = . UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) 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_PARENT_QDELETING, PROC_REF(on_holder_qdel)) + RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) if(parent_attached_to) if(parent_attached_to == current_holder) UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) - 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_PARENT_QDELETING, PROC_REF(on_parent_attached_to_qdel)) + RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_attached_to_moved)) check_holder() @@ -240,10 +240,10 @@ 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_PARENT_QDELETING, PROC_REF(on_holder_qdel)) + RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) 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() @@ -463,7 +463,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) diff --git a/code/datums/components/paintable.dm b/code/datums/components/paintable.dm index 756c42aa9d..f982306431 100644 --- a/code/datums/components/paintable.dm +++ b/code/datums/components/paintable.dm @@ -2,7 +2,7 @@ var/current_paint /datum/component/spraycan_paintable/Initialize() - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/Repaint) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(Repaint)) /datum/component/spraycan_paintable/Destroy() RemoveCurrentCoat() diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index d51f26eb08..77f4880ba8 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -78,14 +78,14 @@ return ..() /datum/component/pellet_cloud/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/nullspace_parent) + RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, PROC_REF(nullspace_parent)) if(isammocasing(parent)) - RegisterSignal(parent, COMSIG_PELLET_CLOUD_INIT, .proc/create_casing_pellets) + RegisterSignal(parent, COMSIG_PELLET_CLOUD_INIT, PROC_REF(create_casing_pellets)) else if(isgrenade(parent)) - RegisterSignal(parent, COMSIG_GRENADE_ARMED, .proc/grenade_armed) - RegisterSignal(parent, COMSIG_GRENADE_PRIME, .proc/create_blast_pellets) + RegisterSignal(parent, COMSIG_GRENADE_ARMED, PROC_REF(grenade_armed)) + RegisterSignal(parent, COMSIG_GRENADE_PRIME, PROC_REF(create_blast_pellets)) else if(islandmine(parent)) - RegisterSignal(parent, COMSIG_ITEM_MINE_TRIGGERED, .proc/create_blast_pellets) + RegisterSignal(parent, COMSIG_ITEM_MINE_TRIGGERED, PROC_REF(create_blast_pellets)) /datum/component/pellet_cloud/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_PARENT_PREQDELETED, COMSIG_PELLET_CLOUD_INIT, COMSIG_GRENADE_PRIME, COMSIG_GRENADE_ARMED, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_UNCROSSED, COMSIG_ITEM_MINE_TRIGGERED, COMSIG_ITEM_DROPPED)) @@ -110,8 +110,8 @@ else //Smart spread spread = round((i / num_pellets - 0.5) * distro) - RegisterSignal(shell.BB, COMSIG_PROJECTILE_SELF_ON_HIT, .proc/pellet_hit) - RegisterSignal(shell.BB, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), .proc/pellet_range) + RegisterSignal(shell.BB, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit)) + RegisterSignal(shell.BB, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range)) LAZYADD(pellets, shell.BB) if(!shell.throw_proj(target, targloc, shooter, params, spread)) return @@ -187,7 +187,7 @@ if(martyr.stat != DEAD && martyr.client) LAZYADD(purple_hearts, martyr) - RegisterSignal(martyr, COMSIG_PARENT_QDELETING, .proc/on_target_qdel, override=TRUE) + RegisterSignal(martyr, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE) for(var/i in 1 to round(pellets_absorbed * 0.5)) pew(martyr) @@ -219,7 +219,7 @@ if (targets_hit.Find(target)) targets_hit[target]++ if(targets_hit[target] == 1) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/on_target_qdel, override=TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE) UnregisterSignal(P, list(COMSIG_PARENT_QDELETING, COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PROJECTILE_SELF_ON_HIT)) if(terminated == num_pellets) finalize() @@ -244,8 +244,8 @@ LAZYADD(P.permutated, parent) // don't hit the target we hit already with the flak P.suppressed = SUPPRESSED_VERY // set the projectiles to make no message so we can do our own aggregate message P.preparePixelProjectile(target, parent) - RegisterSignal(P, COMSIG_PROJECTILE_SELF_ON_HIT, .proc/pellet_hit) - RegisterSignal(P, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), .proc/pellet_range) + RegisterSignal(P, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit)) + RegisterSignal(P, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range)) LAZYADD(pellets, P) P.fire() @@ -284,9 +284,9 @@ if(ismob(nade.loc)) shooter = nade.loc LAZYINITLIST(bodies) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/grenade_dropped) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/grenade_moved) - RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/grenade_uncrossed) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(grenade_dropped)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(grenade_moved)) + RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, PROC_REF(grenade_uncrossed)) /// Someone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off /datum/component/pellet_cloud/proc/grenade_dropped(obj/item/nade, mob/living/slick_willy) @@ -297,7 +297,7 @@ /datum/component/pellet_cloud/proc/grenade_moved() LAZYCLEARLIST(bodies) for(var/mob/living/L in get_turf(parent)) - RegisterSignal(L, COMSIG_PARENT_QDELETING, .proc/on_target_qdel, override=TRUE) + RegisterSignal(L, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE) LAZYADD(bodies, L) /// Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it diff --git a/code/datums/components/phantomthief.dm b/code/datums/components/phantomthief.dm index 6b7e7221c3..767d877151 100644 --- a/code/datums/components/phantomthief.dm +++ b/code/datums/components/phantomthief.dm @@ -3,7 +3,7 @@ /datum/component/wearertargeting/phantomthief dupe_mode = COMPONENT_DUPE_ALLOWED signals = list(COMSIG_LIVING_COMBAT_ENABLED, COMSIG_LIVING_COMBAT_DISABLED) - proctype = .proc/handlefilterstuff + proctype = PROC_REF(handlefilterstuff) var/filter_x var/filter_y var/filter_size diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index 6592e41103..cebd7d4b0e 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -25,8 +25,8 @@ reagents = AM.reagents turn_connects = _turn_connects - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED,COMSIG_PARENT_PREQDELETED), .proc/disable) - RegisterSignal(parent, list(COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH), .proc/toggle_active) + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED,COMSIG_PARENT_PREQDELETED), PROC_REF(disable)) + RegisterSignal(parent, list(COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH), PROC_REF(toggle_active)) if(start) enable() diff --git a/code/datums/components/rad_insulation.dm b/code/datums/components/rad_insulation.dm index 73d8c29440..546cfe8dc4 100644 --- a/code/datums/components/rad_insulation.dm +++ b/code/datums/components/rad_insulation.dm @@ -6,11 +6,11 @@ return COMPONENT_INCOMPATIBLE if(protects) // Does this protect things in its contents from being affected? - RegisterSignal(parent, COMSIG_ATOM_RAD_PROBE, .proc/rad_probe_react) + RegisterSignal(parent, COMSIG_ATOM_RAD_PROBE, PROC_REF(rad_probe_react)) if(contamination_proof) // Can this object be contaminated? - RegisterSignal(parent, COMSIG_ATOM_RAD_CONTAMINATING, .proc/rad_contaminating) + RegisterSignal(parent, COMSIG_ATOM_RAD_CONTAMINATING, PROC_REF(rad_contaminating)) if(_amount != 1) // If it's 1 it wont have any impact on radiation passing through anyway - RegisterSignal(parent, COMSIG_ATOM_RAD_WAVE_PASSING, .proc/rad_pass) + RegisterSignal(parent, COMSIG_ATOM_RAD_WAVE_PASSING, PROC_REF(rad_pass)) amount = _amount diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 8afa4353b2..6aee66f099 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -19,10 +19,10 @@ can_contaminate = _can_contaminate if(istype(parent, /atom)) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/rad_examine) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(rad_examine)) if(istype(parent, /obj/item)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/rad_attack) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, .proc/rad_attack) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(rad_attack)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, PROC_REF(rad_attack)) else CRASH("Something that wasn't an atom was given /datum/component/radioactive") @@ -33,7 +33,7 @@ //This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS var/atom/movable/master = parent master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) - addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1,19))//Things should look uneven + addtimer(CALLBACK(src, PROC_REF(glow_loop), master), rand(1,19))//Things should look uneven START_PROCESSING(SSradiation, src) diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index 6a8ee097a8..8309c8e719 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -25,11 +25,11 @@ handles linking back and forth. src.allow_standalone = allow_standalone after_insert = _after_insert - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) var/turf/T = get_turf(parent) if (force_connect || (mapload && is_station_level(T.z))) - addtimer(CALLBACK(src, .proc/LateInitialize)) + addtimer(CALLBACK(src, PROC_REF(LateInitialize))) else if (allow_standalone) _MakeLocal() diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index e3248dbeb3..eb08ec3f89 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -25,9 +25,9 @@ /datum/component/riding/Initialize() if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/vehicle_mob_buckle) - RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, .proc/vehicle_mob_unbuckle) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/vehicle_moved) + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(vehicle_mob_buckle)) + RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, PROC_REF(vehicle_mob_unbuckle)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(vehicle_moved)) /datum/component/riding/proc/vehicle_mob_unbuckle(datum/source, mob/living/M, force = FALSE) var/atom/movable/AM = parent @@ -192,7 +192,7 @@ to_chat(user, "You'll need the keys in one of your hands to [drive_verb] [AM].") /datum/component/riding/proc/Unbuckle(atom/movable/M) - addtimer(CALLBACK(parent, /atom/movable/.proc/unbuckle_mob, M), 0, TIMER_UNIQUE) + addtimer(CALLBACK(parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), M), 0, TIMER_UNIQUE) /datum/component/riding/proc/Process_Spacemove(direction) var/atom/movable/AM = parent @@ -214,7 +214,7 @@ /datum/component/riding/human/Initialize() . = ..() directional_vehicle_layers = list(TEXT_NORTH = MOB_LOWER_LAYER, TEXT_SOUTH = MOB_UPPER_LAYER, TEXT_EAST = MOB_UPPER_LAYER, TEXT_WEST = MOB_UPPER_LAYER) - RegisterSignal(parent, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, .proc/on_host_unarmed_melee) + RegisterSignal(parent, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, PROC_REF(on_host_unarmed_melee)) /datum/component/riding/human/vehicle_mob_unbuckle(datum/source, mob/living/M, force = FALSE) var/mob/living/carbon/human/H = parent diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index 3bd452cb02..a638a0573d 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -43,10 +43,10 @@ /datum/component/simple_rotation/proc/add_signals() if(rotation_flags & ROTATION_ALTCLICK) - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/HandRot) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/ExamineMessage) + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(HandRot)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(ExamineMessage)) if(rotation_flags & ROTATION_WRENCH) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/WrenchRot) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(WrenchRot)) /datum/component/simple_rotation/proc/add_verbs() if(rotation_flags & ROTATION_VERBS) diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index 3cf70e80ef..a5b91c94ac 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -40,11 +40,11 @@ /datum/component/shielded/RegisterWithParent() . = ..() if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) else //it's a mob var/mob/living/L = parent - RegisterSignal(L, COMSIG_LIVING_RUN_BLOCK, .proc/living_block) + RegisterSignal(L, COMSIG_LIVING_RUN_BLOCK, PROC_REF(living_block)) holder = L var/to_add = charges >= 1 ? shield_state : broken_state if(to_add) @@ -111,9 +111,9 @@ if(!(accepted_slots & slotdefine2slotbit(slot))) return holder = equipper - RegisterSignal(parent, COMSIG_ITEM_RUN_BLOCK, .proc/on_run_block) - RegisterSignal(parent, COMSIG_ITEM_CHECK_BLOCK, .proc/on_check_block) - RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, .proc/include_shield) + RegisterSignal(parent, COMSIG_ITEM_RUN_BLOCK, PROC_REF(on_run_block)) + RegisterSignal(parent, COMSIG_ITEM_CHECK_BLOCK, PROC_REF(on_check_block)) + RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, PROC_REF(include_shield)) var/to_add = charges >= 1 ? shield_state : broken_state if(to_add) var/layer = (holder.layer > MOB_LAYER ? holder.layer : MOB_LAYER) + 0.01 diff --git a/code/datums/components/signal_redirect.dm b/code/datums/components/signal_redirect.dm index 4de7e99a02..551fc8b42b 100644 --- a/code/datums/components/signal_redirect.dm +++ b/code/datums/components/signal_redirect.dm @@ -10,7 +10,7 @@ warning("signals are [list2params(signals)], callback is [_callback]]") return COMPONENT_INCOMPATIBLE if(flags & REDIRECT_TRANSFER_WITH_TURF && isturf(parent)) - RegisterSignal(parent, COMSIG_TURF_CHANGE, .proc/turf_change) + RegisterSignal(parent, COMSIG_TURF_CHANGE, PROC_REF(turf_change)) RegisterSignal(parent, signals, _callback) /datum/component/redirect/proc/turf_change(path, new_baseturfs, flags, list/transfers) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index 7e263c4f30..9ab8f72502 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -7,7 +7,7 @@ intensity = max(_intensity, 0) lube_flags = _lube_flags callback = _callback - RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED, COMSIG_ITEM_WEARERCROSSED), .proc/Slip) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED, COMSIG_ITEM_WEARERCROSSED), PROC_REF(Slip)) /datum/component/slippery/proc/Slip(datum/source, atom/movable/AM) var/mob/victim = AM diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 44fbf313cf..78b7f64677 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -21,8 +21,8 @@ if(_max_mobs) max_mobs=_max_mobs - RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/stop_spawning) - RegisterSignal(parent, COMSIG_OBJ_ATTACK_GENERIC, .proc/on_attack_generic) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(stop_spawning)) + RegisterSignal(parent, COMSIG_OBJ_ATTACK_GENERIC, PROC_REF(on_attack_generic)) START_PROCESSING(SSprocessing, src) /datum/component/spawner/process() diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm index b74f71aaa5..90e1330209 100644 --- a/code/datums/components/spooky.dm +++ b/code/datums/components/spooky.dm @@ -2,7 +2,7 @@ var/too_spooky = TRUE //will it spawn a new instrument? /datum/component/spooky/Initialize() - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/spectral_attack) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(spectral_attack)) /datum/component/spooky/proc/spectral_attack(datum/source, mob/living/carbon/C, mob/user) if(ishuman(user)) //this weapon wasn't meant for mortals. diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index df44aef4de..06f82df1d3 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -22,19 +22,19 @@ /datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), .proc/play_squeak) + RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), PROC_REF(play_squeak)) if(ismovable(parent)) - RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak) - RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED), .proc/play_squeak_crossed) - RegisterSignal(parent, COMSIG_CROSS_SQUEAKED, .proc/delay_squeak) - RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react) + RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), PROC_REF(play_squeak)) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED), PROC_REF(play_squeak_crossed)) + RegisterSignal(parent, COMSIG_CROSS_SQUEAKED, PROC_REF(delay_squeak)) + RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react)) if(isitem(parent)) - RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/play_squeak) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/use_squeak) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), PROC_REF(play_squeak)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(use_squeak)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) if(istype(parent, /obj/item/clothing/shoes)) - RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, .proc/step_squeak) + RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, PROC_REF(step_squeak)) override_squeak_sounds = custom_sounds if(chance_override) @@ -92,7 +92,7 @@ last_squeak = world.time /datum/component/squeak/proc/on_equip(datum/source, mob/equipper, slot) - RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react, TRUE) + RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react), TRUE) /datum/component/squeak/proc/on_drop(datum/source, mob/user) UnregisterSignal(user, COMSIG_MOVABLE_DISPOSING) @@ -100,7 +100,7 @@ // Disposal pipes related shit /datum/component/squeak/proc/disposing_react(datum/source, obj/structure/disposalholder/holder, obj/machinery/disposal/source) //We don't need to worry about unregistering this signal as it will happen for us automaticaly when the holder is qdeleted - RegisterSignal(holder, COMSIG_ATOM_DIR_CHANGE, .proc/holder_dir_change) + RegisterSignal(holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(holder_dir_change)) /datum/component/squeak/proc/holder_dir_change(datum/source, old_dir, new_dir) //If the dir changes it means we're going through a bend in the pipes, let's pretend we bumped the wall diff --git a/code/datums/components/stationloving.dm b/code/datums/components/stationloving.dm index b651133274..4fe494640e 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -7,10 +7,10 @@ /datum/component/stationloving/Initialize(inform_admins = FALSE, allow_death = FALSE) if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOVABLE_Z_CHANGED), .proc/check_in_bounds) - RegisterSignal(parent, list(COMSIG_MOVABLE_SECLUDED_LOCATION), .proc/relocate) - RegisterSignal(parent, list(COMSIG_PARENT_PREQDELETED), .proc/check_deletion) - RegisterSignal(parent, list(COMSIG_ITEM_IMBUE_SOUL), .proc/check_soul_imbue) + RegisterSignal(parent, list(COMSIG_MOVABLE_Z_CHANGED), PROC_REF(check_in_bounds)) + RegisterSignal(parent, list(COMSIG_MOVABLE_SECLUDED_LOCATION), PROC_REF(relocate)) + RegisterSignal(parent, list(COMSIG_PARENT_PREQDELETED), PROC_REF(check_deletion)) + RegisterSignal(parent, list(COMSIG_ITEM_IMBUE_SOUL), PROC_REF(check_soul_imbue)) src.inform_admins = inform_admins src.allow_death = allow_death check_in_bounds() // Just in case something is being created outside of station/centcom diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm index dce837eae9..09c163040a 100644 --- a/code/datums/components/storage/concrete/_concrete.dm +++ b/code/datums/components/storage/concrete/_concrete.dm @@ -17,9 +17,9 @@ /datum/component/storage/concrete/Initialize() . = ..() - RegisterSignal(parent, COMSIG_ATOM_CONTENTS_DEL, .proc/on_contents_del) - RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, .proc/on_deconstruct) - RegisterSignal(parent, COMSIG_OBJ_BREAK, .proc/on_break) + RegisterSignal(parent, COMSIG_ATOM_CONTENTS_DEL, PROC_REF(on_contents_del)) + RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, PROC_REF(on_deconstruct)) + RegisterSignal(parent, COMSIG_OBJ_BREAK, PROC_REF(on_break)) /datum/component/storage/concrete/Destroy() var/atom/real_location = real_location() @@ -88,7 +88,7 @@ if(S == src) return if(!length(slaves)) - RegisterSignal(parent, COMSIG_ATOM_GET_LOCS, .proc/get_locs_react) + RegisterSignal(parent, COMSIG_ATOM_GET_LOCS, PROC_REF(get_locs_react)) slaves += S diff --git a/code/datums/components/storage/concrete/emergency.dm b/code/datums/components/storage/concrete/emergency.dm index faaeada13d..1aa152a69c 100644 --- a/code/datums/components/storage/concrete/emergency.dm +++ b/code/datums/components/storage/concrete/emergency.dm @@ -5,7 +5,7 @@ /datum/component/storage/concrete/emergency/Initialize() . = ..() - RegisterSignal(parent, COMSIG_ATOM_EMAG_ACT, .proc/unlock_me) + RegisterSignal(parent, COMSIG_ATOM_EMAG_ACT, PROC_REF(unlock_me)) /datum/component/storage/concrete/emergency/on_attack_hand(datum/source, mob/user) var/atom/A = parent diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 50f283774e..e9b36c2281 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -87,39 +87,39 @@ if(master) change_master(master) - RegisterSignal(parent, COMSIG_CONTAINS_STORAGE, .proc/on_check) - RegisterSignal(parent, COMSIG_IS_STORAGE_LOCKED, .proc/check_locked) - RegisterSignal(parent, COMSIG_TRY_STORAGE_SHOW, .proc/signal_show_attempt) - RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/signal_insertion_attempt) - RegisterSignal(parent, COMSIG_TRY_STORAGE_CAN_INSERT, .proc/signal_can_insert) - RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE_TYPE, .proc/signal_take_type) - RegisterSignal(parent, COMSIG_TRY_STORAGE_FILL_TYPE, .proc/signal_fill_type) - RegisterSignal(parent, COMSIG_TRY_STORAGE_SET_LOCKSTATE, .proc/set_locked) - RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE, .proc/signal_take_obj) - RegisterSignal(parent, COMSIG_TRY_STORAGE_QUICK_EMPTY, .proc/signal_quick_empty) - RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_FROM, .proc/signal_hide_attempt) - RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_ALL, .proc/close_all) - RegisterSignal(parent, COMSIG_TRY_STORAGE_RETURN_INVENTORY, .proc/signal_return_inv) - - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attackby) - - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/on_attack_hand) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_PAW, .proc/on_attack_hand) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/emp_act) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_GHOST, .proc/show_to_ghost) - RegisterSignal(parent, COMSIG_ATOM_ENTERED, .proc/refresh_mob_views) - RegisterSignal(parent, COMSIG_ATOM_EXITED, .proc/_remove_and_refresh) - - RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, .proc/preattack_intercept) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/attack_self) - RegisterSignal(parent, COMSIG_ITEM_PICKUP, .proc/signal_on_pickup) - - RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/close_all) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/check_views) - - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_alt_click) - RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, .proc/mousedrop_onto) - RegisterSignal(parent, COMSIG_MOUSEDROPPED_ONTO, .proc/mousedrop_receive) + RegisterSignal(parent, COMSIG_CONTAINS_STORAGE, PROC_REF(on_check)) + RegisterSignal(parent, COMSIG_IS_STORAGE_LOCKED, PROC_REF(check_locked)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_SHOW, PROC_REF(signal_show_attempt)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, PROC_REF(signal_insertion_attempt)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_CAN_INSERT, PROC_REF(signal_can_insert)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE_TYPE, PROC_REF(signal_take_type)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_FILL_TYPE, PROC_REF(signal_fill_type)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_SET_LOCKSTATE, PROC_REF(set_locked)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_TAKE, PROC_REF(signal_take_obj)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_QUICK_EMPTY, PROC_REF(signal_quick_empty)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_FROM, PROC_REF(signal_hide_attempt)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_HIDE_ALL, PROC_REF(close_all)) + RegisterSignal(parent, COMSIG_TRY_STORAGE_RETURN_INVENTORY, PROC_REF(signal_return_inv)) + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby)) + + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_PAW, PROC_REF(on_attack_hand)) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(emp_act)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_GHOST, PROC_REF(show_to_ghost)) + RegisterSignal(parent, COMSIG_ATOM_ENTERED, PROC_REF(refresh_mob_views)) + RegisterSignal(parent, COMSIG_ATOM_EXITED, PROC_REF(_remove_and_refresh)) + + RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(preattack_intercept)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(attack_self)) + RegisterSignal(parent, COMSIG_ITEM_PICKUP, PROC_REF(signal_on_pickup)) + + RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, PROC_REF(close_all)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(check_views)) + + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(on_alt_click)) + RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, PROC_REF(mousedrop_onto)) + RegisterSignal(parent, COMSIG_MOUSEDROPPED_ONTO, PROC_REF(mousedrop_receive)) update_actions() @@ -146,7 +146,7 @@ return var/obj/item/I = parent modeswitch_action = new(I) - RegisterSignal(modeswitch_action, COMSIG_ACTION_TRIGGER, .proc/action_trigger) + RegisterSignal(modeswitch_action, COMSIG_ACTION_TRIGGER, PROC_REF(action_trigger)) if(I.obj_flags & IN_INVENTORY) var/mob/M = I.loc if(!istype(M)) @@ -216,7 +216,7 @@ return var/datum/progressbar/progress = new(M, len, I.loc) var/list/rejections = list() - while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress))) + while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, PROC_REF(handle_mass_pickup), things, I.loc, rejections, progress))) stoplag(1) qdel(progress) to_chat(M, "You put everything you could [insert_preposition] [parent].") @@ -274,7 +274,7 @@ var/turf/T = get_turf(A) var/list/things = contents() var/datum/progressbar/progress = new(M, length(things), T) - while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress))) + while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, PROC_REF(mass_remove_from_storage), T, things, progress))) stoplag(1) qdel(progress) A.do_squish(0.8, 1.2) diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm index 8e01275b70..b5aec26273 100644 --- a/code/datums/components/storage/ui.dm +++ b/code/datums/components/storage/ui.dm @@ -11,7 +11,7 @@ else var/datum/numbered_display/ND = .[I.type] ND.number++ - . = sortTim(., /proc/cmp_numbered_displays_name_asc, associative = TRUE) + . = sortTim(., GLOBAL_PROC_REF(cmp_numbered_displays_name_asc), associative = TRUE) /** * Orients all objects in legacy mode, and returns the objects to show to the user. @@ -196,7 +196,7 @@ else if(current_maxscreensize) maxallowedscreensize = current_maxscreensize // we got screen size, register signal - RegisterSignal(M, COMSIG_MOB_CLIENT_LOGOUT, .proc/on_logout, override = TRUE) + RegisterSignal(M, COMSIG_MOB_CLIENT_LOGOUT, PROC_REF(on_logout), override = TRUE) if(M.active_storage != src) if(M.active_storage) M.active_storage.ui_hide(M) diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm index ffb4309c1c..0394a1abaf 100644 --- a/code/datums/components/summoning.dm +++ b/code/datums/components/summoning.dm @@ -26,11 +26,11 @@ /datum/component/summoning/RegisterWithParent() . = ..() if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(projectile_hit)) else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) else if(ishostile(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) /datum/component/summoning/UnregisterFromParent() . = ..() @@ -63,7 +63,7 @@ spawned_mobs += L if(faction != null) L.faction = faction - RegisterSignal(L, COMSIG_MOB_DEATH, .proc/on_spawned_death) // so we can remove them from the list, etc (for mobs with corpses) + RegisterSignal(L, COMSIG_MOB_DEATH, PROC_REF(on_spawned_death)) // so we can remove them from the list, etc (for mobs with corpses) playsound(spawn_location,spawn_sound, 50, 1) spawn_location.visible_message("[L] [spawn_text].") diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm index 76179a82e8..21e61b9445 100644 --- a/code/datums/components/swarming.dm +++ b/code/datums/components/swarming.dm @@ -8,8 +8,8 @@ offset_x = rand(-max_x, max_x) offset_y = rand(-max_y, max_y) - RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/join_swarm) - RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/leave_swarm) + RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(join_swarm)) + RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, PROC_REF(leave_swarm)) /datum/component/swarming/Destroy() if(is_swarming) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index f10eb2badc..72afcd08c0 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -43,7 +43,7 @@ var/mob/living/carbon/P = parent to_chat(P, "You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.") P.tackling = TRUE - addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(resetTackle)), base_knockdown, TIMER_STOPPABLE) /datum/component/tackler/Destroy() var/mob/living/carbon/P = parent @@ -52,9 +52,9 @@ ..() /datum/component/tackler/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOB_CLICKON, .proc/checkTackle) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/sack) - RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/registerTackle) + RegisterSignal(parent, COMSIG_MOB_CLICKON, PROC_REF(checkTackle)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(sack)) + RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, PROC_REF(registerTackle)) /datum/component/tackler/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_MOB_CLICKON, COMSIG_MOVABLE_IMPACT, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_POST_THROW)) @@ -96,7 +96,7 @@ return user.tackling = TRUE - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(checkObstacle)) playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) var/leap_word = iscatperson(user) ? "pounce" : "leap" ///If cat, "pounce" instead of "leap". @@ -112,7 +112,7 @@ user.adjustStaminaLoss(stamina_cost) user.throw_at(A, range, speed, user, FALSE) user.toggle_throw_mode() - addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(resetTackle)), base_knockdown, TIMER_STOPPABLE) return(COMSIG_MOB_CANCEL_CLICKON) /** diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 251272ac2e..ae44050443 100644 --- a/code/datums/components/thermite.dm +++ b/code/datums/components/thermite.dm @@ -34,9 +34,9 @@ overlay = mutable_appearance('icons/effects/effects.dmi', "thermite") master.add_overlay(overlay) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attackby_react) - RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, .proc/flame_react) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_react)) + RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, PROC_REF(flame_react)) /datum/component/thermite/Destroy() var/turf/master = parent diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index b85c9e50b6..462c5db68f 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -69,13 +69,13 @@ // register signals withthe parent item /datum/component/two_handed/RegisterWithParent() - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/on_attack_self) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/on_attack) - RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_moved) - RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, .proc/on_sharpen) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, PROC_REF(on_update_icon)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, PROC_REF(on_sharpen)) // Remove all siginals registered to the parent item /datum/component/two_handed/UnregisterFromParent() @@ -144,7 +144,7 @@ if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELD, user) & COMPONENT_TWOHANDED_BLOCK_WIELD) return // blocked wield from item wielded = TRUE - RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, .proc/on_swap_hands) + RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, PROC_REF(on_swap_hands)) // update item stats and name var/obj/item/parent_item = parent @@ -171,7 +171,7 @@ offhand_item.name = "[parent_item.name] - offhand" offhand_item.desc = "Your second grip on [parent_item]." offhand_item.wielded = TRUE - RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) user.put_in_inactive_hand(offhand_item) /** diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index 433e57abbe..5072a10893 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -35,19 +35,19 @@ GLOBAL_LIST_EMPTY(uplinks) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/interact) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact)) if(istype(parent, /obj/item/implant)) - RegisterSignal(parent, COMSIG_IMPLANT_ACTIVATED, .proc/implant_activation) - RegisterSignal(parent, COMSIG_IMPLANT_IMPLANTING, .proc/implanting) - RegisterSignal(parent, COMSIG_IMPLANT_OTHER, .proc/old_implant) - RegisterSignal(parent, COMSIG_IMPLANT_EXISTING_UPLINK, .proc/new_implant) + RegisterSignal(parent, COMSIG_IMPLANT_ACTIVATED, PROC_REF(implant_activation)) + RegisterSignal(parent, COMSIG_IMPLANT_IMPLANTING, PROC_REF(implanting)) + RegisterSignal(parent, COMSIG_IMPLANT_OTHER, PROC_REF(old_implant)) + RegisterSignal(parent, COMSIG_IMPLANT_EXISTING_UPLINK, PROC_REF(new_implant)) else if(istype(parent, /obj/item/pda)) - RegisterSignal(parent, COMSIG_PDA_CHANGE_RINGTONE, .proc/new_ringtone) + RegisterSignal(parent, COMSIG_PDA_CHANGE_RINGTONE, PROC_REF(new_ringtone)) else if(istype(parent, /obj/item/radio)) - RegisterSignal(parent, COMSIG_RADIO_NEW_FREQUENCY, .proc/new_frequency) + RegisterSignal(parent, COMSIG_RADIO_NEW_FREQUENCY, PROC_REF(new_frequency)) else if(istype(parent, /obj/item/pen)) - RegisterSignal(parent, COMSIG_PEN_ROTATED, .proc/pen_rotation) + RegisterSignal(parent, COMSIG_PEN_ROTATED, PROC_REF(pen_rotation)) GLOB.uplinks += src if(istype(traitor_class)) diff --git a/code/datums/components/virtual_reality.dm b/code/datums/components/virtual_reality.dm index 0d5f5e6d7c..48dec7ff88 100644 --- a/code/datums/components/virtual_reality.dm +++ b/code/datums/components/virtual_reality.dm @@ -50,12 +50,12 @@ if(!quit_action) quit_action = new quit_action.Grant(M) - RegisterSignal(quit_action, COMSIG_ACTION_TRIGGER, .proc/action_trigger) - RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over) - RegisterSignal(M, COMSIG_MOB_GHOSTIZE, .proc/be_a_quitter) - RegisterSignal(M, COMSIG_MOB_KEY_CHANGE, .proc/on_player_transfer) - RegisterSignal(current_mind, COMSIG_MIND_TRANSFER, .proc/on_player_transfer) - RegisterSignal(current_mind, COMSIG_PRE_MIND_TRANSFER, .proc/pre_player_transfer) + RegisterSignal(quit_action, COMSIG_ACTION_TRIGGER, PROC_REF(action_trigger)) + RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(game_over)) + RegisterSignal(M, COMSIG_MOB_GHOSTIZE, PROC_REF(be_a_quitter)) + RegisterSignal(M, COMSIG_MOB_KEY_CHANGE, PROC_REF(on_player_transfer)) + RegisterSignal(current_mind, COMSIG_MIND_TRANSFER, PROC_REF(on_player_transfer)) + RegisterSignal(current_mind, COMSIG_PRE_MIND_TRANSFER, PROC_REF(pre_player_transfer)) if(mastermind?.current) mastermind.current.audiovisual_redirect = M ADD_TRAIT(M, TRAIT_NO_MIDROUND_ANTAG, VIRTUAL_REALITY_TRAIT) @@ -87,9 +87,9 @@ M.transfer_ckey(vr_M, FALSE) mastermind = M.mind mastermind.current.audiovisual_redirect = parent - RegisterSignal(mastermind, COMSIG_PRE_MIND_TRANSFER, .proc/switch_player) - RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over) - RegisterSignal(M, COMSIG_MOB_PRE_PLAYER_CHANGE, .proc/player_hijacked) + RegisterSignal(mastermind, COMSIG_PRE_MIND_TRANSFER, PROC_REF(switch_player)) + RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(game_over)) + RegisterSignal(M, COMSIG_MOB_PRE_PLAYER_CHANGE, PROC_REF(player_hijacked)) SStgui.close_user_uis(vr_M, src) session_paused = FALSE return TRUE @@ -114,8 +114,8 @@ quit() return COMPONENT_STOP_MIND_TRANSFER UnregisterSignal(old_mob, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING, COMSIG_MOB_PRE_PLAYER_CHANGE)) - RegisterSignal(new_mob, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over) - RegisterSignal(new_mob, COMSIG_MOB_PRE_PLAYER_CHANGE, .proc/player_hijacked) + RegisterSignal(new_mob, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(game_over)) + RegisterSignal(new_mob, COMSIG_MOB_PRE_PLAYER_CHANGE, PROC_REF(player_hijacked)) old_mob.audiovisual_redirect = null new_mob.audiovisual_redirect = parent diff --git a/code/datums/components/waddling.dm b/code/datums/components/waddling.dm index f09a92c91c..11b4113c9d 100644 --- a/code/datums/components/waddling.dm +++ b/code/datums/components/waddling.dm @@ -4,7 +4,7 @@ /datum/component/waddling/Initialize() if(!isliving(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/Waddle) + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), PROC_REF(Waddle)) /datum/component/waddling/proc/Waddle() var/mob/living/L = parent diff --git a/code/datums/components/wearertargeting.dm b/code/datums/components/wearertargeting.dm index 4760757701..dbf06ea22f 100644 --- a/code/datums/components/wearertargeting.dm +++ b/code/datums/components/wearertargeting.dm @@ -3,14 +3,14 @@ /datum/component/wearertargeting var/list/valid_slots = list() var/list/signals = list() - var/proctype = .proc/pass + var/proctype = PROC_REF(pass) var/mobtype = /mob/living /datum/component/wearertargeting/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) /datum/component/wearertargeting/proc/on_equip(datum/source, mob/equipper, slot) if((slot in valid_slots) && istype(equipper, mobtype)) diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index e2c3cbff86..0521fc8443 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -29,13 +29,13 @@ permanent = _permanent if(!permanent) START_PROCESSING(SSwet_floors, src) - addtimer(CALLBACK(src, .proc/gc, TRUE), 1) //GC after initialization. + addtimer(CALLBACK(src, PROC_REF(gc), TRUE), 1) //GC after initialization. last_process = world.time /datum/component/wet_floor/RegisterWithParent() . = ..() - RegisterSignal(parent, COMSIG_TURF_IS_WET, .proc/is_wet) - RegisterSignal(parent, COMSIG_TURF_MAKE_DRY, .proc/dry) + RegisterSignal(parent, COMSIG_TURF_IS_WET, PROC_REF(is_wet)) + RegisterSignal(parent, COMSIG_TURF_MAKE_DRY, PROC_REF(dry)) /datum/component/wet_floor/UnregisterFromParent() . = ..() @@ -96,7 +96,7 @@ qdel(parent.GetComponent(/datum/component/slippery)) return - var/datum/component/slippery/S = parent.LoadComponent(/datum/component/slippery, NONE, CALLBACK(src, .proc/AfterSlip)) + var/datum/component/slippery/S = parent.LoadComponent(/datum/component/slippery, NONE, CALLBACK(src, PROC_REF(AfterSlip))) S.intensity = intensity S.lube_flags = lube_flags diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index db5fa677f2..f143fea419 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -39,7 +39,7 @@ spot1.Beam(spot2,beam_effect,time=20) current_charges-- holder.update_action_buttons_icon() - addtimer(CALLBACK(src, .proc/charge), charge_rate) + addtimer(CALLBACK(src, PROC_REF(charge)), charge_rate) /datum/action/innate/dash/proc/charge() current_charges = clamp(current_charges + 1, 0, max_charges) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index a61e6964e2..3ed03ca9f9 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -98,7 +98,7 @@ advance_diseases += P var/replace_num = advance_diseases.len + 1 - DISEASE_LIMIT //amount of diseases that need to be removed to fit this one if(replace_num > 0) - sortTim(advance_diseases, /proc/cmp_advdisease_resistance_asc) + sortTim(advance_diseases, GLOBAL_PROC_REF(cmp_advdisease_resistance_asc)) for(var/i in 1 to replace_num) var/datum/disease/advance/competition = advance_diseases[i] if(totalTransmittable() > competition.totalResistance()) diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm index cf15ec407a..e79e89ce15 100644 --- a/code/datums/diseases/advance/symptoms/cough.dm +++ b/code/datums/diseases/advance/symptoms/cough.dm @@ -68,9 +68,9 @@ BONUS to_chat(M, "[pick("You have a coughing fit!", "You can't stop coughing!")]") M.Stun(20) M.emote("cough") - addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 6) - addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 12) - addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 18) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, emote), "cough"), 6) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, emote), "cough"), 12) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, emote), "cough"), 18) if(infective && M.CanSpreadAirborneDisease()) A.spread(1) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 393f2ac091..0fab937e18 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -274,7 +274,7 @@ else if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma) to_chat(M, "You feel yourself slip into a regenerative coma...") active_coma = TRUE - addtimer(CALLBACK(src, .proc/coma, M), 60) + addtimer(CALLBACK(src, PROC_REF(coma), M), 60) /datum/symptom/heal/coma/proc/coma(mob/living/M) if(deathgasp) @@ -282,7 +282,7 @@ M.fakedeath("regenerative_coma", TRUE) M.update_stat() M.update_mobility() - addtimer(CALLBACK(src, .proc/uncoma, M), 300) + addtimer(CALLBACK(src, PROC_REF(uncoma), M), 300) /datum/symptom/heal/coma/proc/uncoma(mob/living/M) if(!active_coma) diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm index 47a6a86529..c78c545944 100644 --- a/code/datums/diseases/advance/symptoms/shedding.dm +++ b/code/datums/diseases/advance/symptoms/shedding.dm @@ -40,11 +40,11 @@ BONUS if(3, 4) if(!(H.hair_style == "Bald") && !(H.hair_style == "Balding Hair")) to_chat(H, "Your hair starts to fall out in clumps...") - addtimer(CALLBACK(src, .proc/Shed, H, FALSE), 50) + addtimer(CALLBACK(src, PROC_REF(Shed), H, FALSE), 50) if(5) if(!(H.facial_hair_style == "Clean shave (Hairless)") || !(H.hair_style == "Bald")) to_chat(H, "Your hair starts to fall out in clumps...") - addtimer(CALLBACK(src, .proc/Shed, H, TRUE), 50) + addtimer(CALLBACK(src, PROC_REF(Shed), H, TRUE), 50) /datum/symptom/shedding/proc/Shed(mob/living/carbon/human/H, fullbald) if(fullbald) diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm index b323399906..15901dad4f 100644 --- a/code/datums/diseases/pierrot_throat.dm +++ b/code/datums/diseases/pierrot_throat.dm @@ -28,7 +28,7 @@ affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) , forced = "pierrot's throat") /datum/disease/pierrot_throat/after_add() - RegisterSignal(affected_mob, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(affected_mob, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/disease/pierrot_throat/proc/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] diff --git a/code/datums/ductnet.dm b/code/datums/ductnet.dm index 14a74a67c4..3c10956481 100644 --- a/code/datums/ductnet.dm +++ b/code/datums/ductnet.dm @@ -15,8 +15,8 @@ /datum/ductnet/proc/remove_duct(obj/machinery/duct/ducting) destroy_network(FALSE) for(var/obj/machinery/duct/D in ducting.neighbours) - addtimer(CALLBACK(D, /obj/machinery/duct/proc/reconnect), 0) //all needs to happen after the original duct that was destroyed finishes destroying itself - addtimer(CALLBACK(D, /obj/machinery/duct/proc/generate_connects), 0) + addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/duct, reconnect)), 0) //all needs to happen after the original duct that was destroyed finishes destroying itself + addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/duct, generate_connects)), 0) qdel(src) ///add a plumbing object to either demanders or suppliers /datum/ductnet/proc/add_plumber(datum/component/plumbing/P, dir) diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index fc46910007..78d4bfd68a 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -21,7 +21,7 @@ return ELEMENT_INCOMPATIBLE SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src) if(element_flags & ELEMENT_DETACH) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(Detach), override = TRUE) /// Deactivates the functionality defines by the element on the given datum /datum/element/proc/Detach(datum/source, force) diff --git a/code/datums/elements/art.dm b/code/datums/elements/art.dm index 5142b8cbae..6d75d8feb0 100644 --- a/code/datums/elements/art.dm +++ b/code/datums/elements/art.dm @@ -14,13 +14,13 @@ return ELEMENT_INCOMPATIBLE impressiveness = impress if(isobj(target)) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_obj_examine) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(on_obj_examine)) if(isstructure(target)) - RegisterSignal(target, COMSIG_ATOM_ATTACK_HAND, .proc/on_attack_hand) + RegisterSignal(target, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) if(isitem(target)) - RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, .proc/apply_moodlet) + RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, PROC_REF(apply_moodlet)) else - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_other_examine) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(on_other_examine)) /datum/element/art/Detach(datum/target) UnregisterSignal(target, list(COMSIG_PARENT_EXAMINE, COMSIG_ATOM_ATTACK_HAND, COMSIG_ITEM_ATTACK_SELF)) diff --git a/code/datums/elements/beauty.dm b/code/datums/elements/beauty.dm index 4915897e6c..87bf587518 100644 --- a/code/datums/elements/beauty.dm +++ b/code/datums/elements/beauty.dm @@ -11,8 +11,8 @@ beauty = beautyamount if(ismovable(target)) - RegisterSignal(target, COMSIG_ENTER_AREA, .proc/enter_area) - RegisterSignal(target, COMSIG_EXIT_AREA, .proc/exit_area) + RegisterSignal(target, COMSIG_ENTER_AREA, PROC_REF(enter_area)) + RegisterSignal(target, COMSIG_EXIT_AREA, PROC_REF(exit_area)) var/area/A = get_area(target) if(A) diff --git a/code/datums/elements/bsa_blocker.dm b/code/datums/elements/bsa_blocker.dm index 61140ad0ed..e33338650b 100644 --- a/code/datums/elements/bsa_blocker.dm +++ b/code/datums/elements/bsa_blocker.dm @@ -3,7 +3,7 @@ /datum/element/bsa_blocker/Attach(datum/target) if(!isatom(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_BSA_BEAM, .proc/block_bsa) + RegisterSignal(target, COMSIG_ATOM_BSA_BEAM, PROC_REF(block_bsa)) return ..() /datum/element/bsa_blocker/proc/block_bsa() diff --git a/code/datums/elements/cleaning.dm b/code/datums/elements/cleaning.dm index d86fe22632..99ad08db20 100644 --- a/code/datums/elements/cleaning.dm +++ b/code/datums/elements/cleaning.dm @@ -2,7 +2,7 @@ . = ..() if(!ismovable(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/Clean) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(Clean)) /datum/element/cleaning/Detach(datum/target) . = ..() diff --git a/code/datums/elements/connect_loc.dm b/code/datums/elements/connect_loc.dm index fee9072f75..12fa35ea3f 100644 --- a/code/datums/elements/connect_loc.dm +++ b/code/datums/elements/connect_loc.dm @@ -14,7 +14,7 @@ src.connections = connections - RegisterSignal(listener, COMSIG_MOVABLE_MOVED, .proc/on_moved, override = TRUE) + RegisterSignal(listener, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved), override = TRUE) update_signals(listener) /datum/element/connect_loc/Detach(atom/movable/listener) diff --git a/code/datums/elements/decal.dm b/code/datums/elements/decal.dm index a20d46c813..c3f9f1bd17 100644 --- a/code/datums/elements/decal.dm +++ b/code/datums/elements/decal.dm @@ -27,12 +27,12 @@ if(!num_decals_per_atom[A]) if(first_dir) - RegisterSignal(A, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_react) + RegisterSignal(A, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate_react)) if(cleanable) - RegisterSignal(A, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react) + RegisterSignal(A, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react)) if(description) - RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/examine) - RegisterSignal(A, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_overlay, TRUE) + RegisterSignal(A, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(A, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_overlay), TRUE) num_decals_per_atom[A]++ apply(A) @@ -51,9 +51,9 @@ if(target.flags_1 & INITIALIZED_1) target.update_icon() //could use some queuing here now maybe. else if(!QDELETED(target) && num_decals_per_atom[target] == 1) - RegisterSignal(target, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE, .proc/late_update_icon) + RegisterSignal(target, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE, PROC_REF(late_update_icon)) if(isitem(target)) - addtimer(CALLBACK(target, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE) + addtimer(CALLBACK(target, TYPE_PROC_REF(/obj/item, update_slot_icon)), 0, TIMER_UNIQUE) /datum/element/decal/proc/late_update_icon(atom/source) source.update_icon() diff --git a/code/datums/elements/dusts_on_leaving_area.dm b/code/datums/elements/dusts_on_leaving_area.dm index 7b1807a15c..2e2aba2506 100644 --- a/code/datums/elements/dusts_on_leaving_area.dm +++ b/code/datums/elements/dusts_on_leaving_area.dm @@ -8,7 +8,7 @@ if(!ismob(target)) return ELEMENT_INCOMPATIBLE area_types = types - RegisterSignal(target,COMSIG_ENTER_AREA,.proc/check_dust) + RegisterSignal(target,COMSIG_ENTER_AREA,PROC_REF(check_dust)) /datum/element/dusts_on_leaving_area/Detach(mob/M) . = ..() diff --git a/code/datums/elements/dwarfism.dm b/code/datums/elements/dwarfism.dm index 5903edb067..4fcc29d33d 100644 --- a/code/datums/elements/dwarfism.dm +++ b/code/datums/elements/dwarfism.dm @@ -21,7 +21,7 @@ else L.transform = L.transform.Scale(1, SHORT) attached_targets[target] = comsig_target - RegisterSignal(target, comsig, .proc/check_loss) //Second arg of the signal will be checked against the comsig_target. + RegisterSignal(target, comsig, PROC_REF(check_loss)) //Second arg of the signal will be checked against the comsig_target. /datum/element/dwarfism/proc/check_loss(mob/living/L, comsig_target) if(attached_targets[L] == comsig_target) diff --git a/code/datums/elements/earhealing.dm b/code/datums/elements/earhealing.dm index 91c2120fc2..8fe7f81828 100644 --- a/code/datums/elements/earhealing.dm +++ b/code/datums/elements/earhealing.dm @@ -11,7 +11,7 @@ if(!isitem(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/equippedChanged) + RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(equippedChanged)) /datum/element/earhealing/Detach(datum/target) . = ..() diff --git a/code/datums/elements/embed.dm b/code/datums/elements/embed.dm index d5417f1428..7a0d349c8a 100644 --- a/code/datums/elements/embed.dm +++ b/code/datums/elements/embed.dm @@ -37,16 +37,16 @@ if(!isitem(target) && !isprojectile(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ELEMENT_ATTACH, .proc/severancePackage) + RegisterSignal(target, COMSIG_ELEMENT_ATTACH, PROC_REF(severancePackage)) if(isprojectile(target)) payload_type = projectile_payload - RegisterSignal(target, COMSIG_PROJECTILE_SELF_ON_HIT, .proc/checkEmbedProjectile) + RegisterSignal(target, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(checkEmbedProjectile)) else if(isitem(target)) - RegisterSignal(target, COMSIG_MOVABLE_IMPACT_ZONE, .proc/checkEmbedMob) - RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/checkEmbedOther) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/examined) - RegisterSignal(target, COMSIG_EMBED_TRY_FORCE, .proc/tryForceEmbed) - RegisterSignal(target, COMSIG_ITEM_DISABLE_EMBED, .proc/detachFromWeapon) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT_ZONE, PROC_REF(checkEmbedMob)) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(checkEmbedOther)) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(examined)) + RegisterSignal(target, COMSIG_EMBED_TRY_FORCE, PROC_REF(tryForceEmbed)) + RegisterSignal(target, COMSIG_ITEM_DISABLE_EMBED, PROC_REF(detachFromWeapon)) if(!initialized) src.embed_chance = embed_chance src.fall_chance = fall_chance diff --git a/code/datums/elements/empprotection.dm b/code/datums/elements/empprotection.dm index c24914decb..bf36d6d432 100644 --- a/code/datums/elements/empprotection.dm +++ b/code/datums/elements/empprotection.dm @@ -8,7 +8,7 @@ if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) return ELEMENT_INCOMPATIBLE flags = _flags - RegisterSignal(target, COMSIG_ATOM_EMP_ACT, .proc/getEmpFlags) + RegisterSignal(target, COMSIG_ATOM_EMP_ACT, PROC_REF(getEmpFlags)) /datum/element/empprotection/Detach(atom/target) UnregisterSignal(target, COMSIG_ATOM_EMP_ACT) diff --git a/code/datums/elements/firestacker.dm b/code/datums/elements/firestacker.dm index d074c8f6ed..26b225368b 100644 --- a/code/datums/elements/firestacker.dm +++ b/code/datums/elements/firestacker.dm @@ -15,10 +15,10 @@ src.amount = amount - RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/impact, override = TRUE) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(impact), override = TRUE) if(isitem(target)) - RegisterSignal(target, COMSIG_ITEM_ATTACK, .proc/item_attack, override = TRUE) - RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, .proc/item_attack_self, override = TRUE) + RegisterSignal(target, COMSIG_ITEM_ATTACK, PROC_REF(item_attack), override = TRUE) + RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, PROC_REF(item_attack_self), override = TRUE) /datum/element/firestacker/Detach(datum/source, force) . = ..() diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm index ae139104f0..ee497f84b8 100644 --- a/code/datums/elements/flavor_text.dm +++ b/code/datums/elements/flavor_text.dm @@ -32,7 +32,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code save_key = _save_key examine_no_preview = _examine_no_preview - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(show_flavor)) if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being var/mob/M = target @@ -40,7 +40,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code M.verbs |= /mob/proc/manage_flavor_tests if(save_key && ishuman(target)) - RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO, .proc/update_prefs_flavor_text) + RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO, PROC_REF(update_prefs_flavor_text)) /datum/element/flavor_text/Detach(atom/A) . = ..() @@ -141,11 +141,11 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code . = ..() if(. == ELEMENT_INCOMPATIBLE) return - RegisterSignal(target, COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, .proc/update_dna_flavor_text) - RegisterSignal(target, COMSIG_MOB_ANTAG_ON_GAIN, .proc/on_antag_gain) + RegisterSignal(target, COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, PROC_REF(update_dna_flavor_text)) + RegisterSignal(target, COMSIG_MOB_ANTAG_ON_GAIN, PROC_REF(on_antag_gain)) if(ishuman(target)) - RegisterSignal(target, COMSIG_HUMAN_HARDSET_DNA, .proc/update_dna_flavor_text) - RegisterSignal(target, COMSIG_HUMAN_ON_RANDOMIZE, .proc/unset_flavor) + RegisterSignal(target, COMSIG_HUMAN_HARDSET_DNA, PROC_REF(update_dna_flavor_text)) + RegisterSignal(target, COMSIG_HUMAN_ON_RANDOMIZE, PROC_REF(unset_flavor)) /datum/element/flavor_text/carbon/Detach(mob/living/carbon/C) . = ..() diff --git a/code/datums/elements/forced_gravity.dm b/code/datums/elements/forced_gravity.dm index 0b50df5b21..23dd79f443 100644 --- a/code/datums/elements/forced_gravity.dm +++ b/code/datums/elements/forced_gravity.dm @@ -12,9 +12,9 @@ src.gravity = gravity src.ignore_space = ignore_space - RegisterSignal(target, COMSIG_ATOM_HAS_GRAVITY, .proc/gravity_check) + RegisterSignal(target, COMSIG_ATOM_HAS_GRAVITY, PROC_REF(gravity_check)) if(isturf(target)) - RegisterSignal(target, COMSIG_TURF_HAS_GRAVITY, .proc/turf_gravity_check) + RegisterSignal(target, COMSIG_TURF_HAS_GRAVITY, PROC_REF(turf_gravity_check)) /datum/element/forced_gravity/Detach(datum/source, force) . = ..() diff --git a/code/datums/elements/ghost_role_eligibility.dm b/code/datums/elements/ghost_role_eligibility.dm index 4e7884efe4..50c75c0b61 100644 --- a/code/datums/elements/ghost_role_eligibility.dm +++ b/code/datums/elements/ghost_role_eligibility.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(client_ghost_timeouts) var/mob/M = target if(!(M in GLOB.ghost_eligible_mobs)) GLOB.ghost_eligible_mobs += M - RegisterSignal(M, COMSIG_MOB_GHOSTIZE, .proc/get_ghost_flags) + RegisterSignal(M, COMSIG_MOB_GHOSTIZE, PROC_REF(get_ghost_flags)) /datum/element/ghost_role_eligibility/Detach(mob/M) . = ..() diff --git a/code/datums/elements/light_blocking.dm b/code/datums/elements/light_blocking.dm index df0f5f6f48..1f21f62000 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)) return diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index 6633ee3a47..171bce6389 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -23,8 +23,8 @@ src.proctype = proctype src.escape_on_find = escape_on_find - RegisterSignal(target, COMSIG_CLICK_ALT, .proc/mob_try_pickup) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(target, COMSIG_CLICK_ALT, PROC_REF(mob_try_pickup)) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) /datum/element/mob_holder/Detach(datum/source, force) . = ..() diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm index 7ae0d04b05..ce6134f6b4 100644 --- a/code/datums/elements/polychromic.dm +++ b/code/datums/elements/polychromic.dm @@ -38,11 +38,11 @@ L += make_appearances ? mutable_appearance(mut_icon, overlays_states[I], color = col) : col colors_by_atom[A] = L - RegisterSignal(A, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_overlays) + RegisterSignal(A, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_overlays)) if(_flags & POLYCHROMIC_ALTCLICK) - RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(A, COMSIG_CLICK_ALT, .proc/set_color) + RegisterSignal(A, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(A, COMSIG_CLICK_ALT, PROC_REF(set_color)) if(!overlays_names && names) //generate overlays_names = names @@ -55,16 +55,16 @@ if(isitem(A)) if(_flags & POLYCHROMIC_ACTION) - RegisterSignal(A, COMSIG_ITEM_EQUIPPED, .proc/grant_user_action) - RegisterSignal(A, COMSIG_ITEM_DROPPED, .proc/remove_user_action) + RegisterSignal(A, COMSIG_ITEM_EQUIPPED, PROC_REF(grant_user_action)) + RegisterSignal(A, COMSIG_ITEM_DROPPED, PROC_REF(remove_user_action)) if(!(_flags & POLYCHROMIC_NO_WORN) || !(_flags & POLYCHROMIC_NO_HELD)) A.AddElement(/datum/element/update_icon_updates_onmob) - RegisterSignal(A, COMSIG_ITEM_WORN_OVERLAYS, .proc/apply_worn_overlays) + RegisterSignal(A, COMSIG_ITEM_WORN_OVERLAYS, PROC_REF(apply_worn_overlays)) if(suits_with_helmet_typecache[A.type]) - RegisterSignal(A, COMSIG_SUIT_MADE_HELMET, .proc/register_helmet) //you better work now you slut + RegisterSignal(A, COMSIG_SUIT_MADE_HELMET, PROC_REF(register_helmet)) //you better work now you slut else if(_flags & POLYCHROMIC_ACTION && ismob(A)) //in the event mob update icon procs are ever standarized. var/datum/action/polychromic/P = new(A) - RegisterSignal(P, COMSIG_ACTION_TRIGGER, .proc/activate_action) + RegisterSignal(P, COMSIG_ACTION_TRIGGER, PROC_REF(activate_action)) actions_by_atom[A] = P P.Grant(A) @@ -152,7 +152,7 @@ P.name = "Modify [source]'\s Colors" actions_by_atom[source] = P P.check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS - RegisterSignal(P, COMSIG_ACTION_TRIGGER, .proc/activate_action) + RegisterSignal(P, COMSIG_ACTION_TRIGGER, PROC_REF(activate_action)) P.Grant(user) /datum/element/polychromic/proc/remove_user_action(atom/source, mob/user) @@ -178,9 +178,9 @@ suit_by_helmet[H] = source helmet_by_suit[source] = H colors_by_atom[H] = colors_by_atom[source] - RegisterSignal(H, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_overlays) - RegisterSignal(H, COMSIG_ITEM_WORN_OVERLAYS, .proc/apply_worn_overlays) - RegisterSignal(H, COMSIG_PARENT_QDELETING, .proc/unregister_helmet) + RegisterSignal(H, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_overlays)) + RegisterSignal(H, COMSIG_ITEM_WORN_OVERLAYS, PROC_REF(apply_worn_overlays)) + RegisterSignal(H, COMSIG_PARENT_QDELETING, PROC_REF(unregister_helmet)) /datum/element/polychromic/proc/unregister_helmet(atom/source) var/obj/item/clothing/suit/S = suit_by_helmet[source] diff --git a/code/datums/elements/scavenging.dm b/code/datums/elements/scavenging.dm index 0c3b3c5160..db6de3c63e 100644 --- a/code/datums/elements/scavenging.dm +++ b/code/datums/elements/scavenging.dm @@ -47,10 +47,10 @@ loot_restriction = restriction maximum_loot_per_player = max_per_player if(can_use_hands) - RegisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW), .proc/scavenge_barehanded) + RegisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW), PROC_REF(scavenge_barehanded)) if(tool_types) - RegisterSignal(target, COMSIG_PARENT_ATTACKBY, .proc/scavenge_tool) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(target, COMSIG_PARENT_ATTACKBY, PROC_REF(scavenge_tool)) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) /datum/element/scavenging/Detach(atom/target) . = ..() @@ -98,7 +98,7 @@ if(len_messages >= 3) msg_blind = "[search_texts[3]]" user.visible_message("[user] [search_texts[1]] [source].", msg_first_person, msg_blind) - if(do_after(user, scavenge_time * speed_multi, TRUE, source, TRUE, CALLBACK(src, .proc/set_progress, source, world.time), resume_time = progress_done * speed_multi)) + if(do_after(user, scavenge_time * speed_multi, TRUE, source, TRUE, CALLBACK(src, PROC_REF(set_progress), source, world.time), resume_time = progress_done * speed_multi)) spawn_loot(source, user) players_busy_scavenging -= user diff --git a/code/datums/elements/snail_crawl.dm b/code/datums/elements/snail_crawl.dm index 0e322c7c9d..91ed2e31dc 100644 --- a/code/datums/elements/snail_crawl.dm +++ b/code/datums/elements/snail_crawl.dm @@ -7,9 +7,9 @@ return ELEMENT_INCOMPATIBLE var/P if(iscarbon(target)) - P = .proc/snail_crawl + P = PROC_REF(snail_crawl) else - P = .proc/lubricate + P = PROC_REF(lubricate) RegisterSignal(target, COMSIG_MOVABLE_MOVED, P) /datum/element/snailcrawl/Detach(mob/living/carbon/target) diff --git a/code/datums/elements/spellcasting.dm b/code/datums/elements/spellcasting.dm index 0d9afb2b52..814c6f3c59 100644 --- a/code/datums/elements/spellcasting.dm +++ b/code/datums/elements/spellcasting.dm @@ -9,10 +9,10 @@ /datum/element/spellcasting/Attach(datum/target, _flags, _slots) . = ..() if(isitem(target)) - RegisterSignal(target, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(target, COMSIG_ITEM_DROPPED, .proc/on_drop) + RegisterSignal(target, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(target, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) else if(ismob(target)) - RegisterSignal(target, COMSIG_MOB_SPELL_CAN_CAST, .proc/on_cast) + RegisterSignal(target, COMSIG_MOB_SPELL_CAN_CAST, PROC_REF(on_cast)) stacked_spellcasting_by_user[target]++ else return ELEMENT_INCOMPATIBLE @@ -39,7 +39,7 @@ return users_by_item[source] = equipper if(!stacked_spellcasting_by_user[equipper]) - RegisterSignal(equipper, COMSIG_MOB_SPELL_CAN_CAST, .proc/on_cast) + RegisterSignal(equipper, COMSIG_MOB_SPELL_CAN_CAST, PROC_REF(on_cast)) stacked_spellcasting_by_user[equipper]++ /datum/element/spellcasting/proc/on_drop(datum/source, mob/user) diff --git a/code/datums/elements/squish.dm b/code/datums/elements/squish.dm index 823d391e14..5ac31fa76e 100644 --- a/code/datums/elements/squish.dm +++ b/code/datums/elements/squish.dm @@ -11,7 +11,7 @@ var/mob/living/carbon/C = target var/was_lying = (C.lying != 0) - addtimer(CALLBACK(src, .proc/Detach, C, was_lying), duration) + addtimer(CALLBACK(src, PROC_REF(Detach), C, was_lying), duration) C.transform = C.transform.Scale(TALL, SHORT) diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm index d16ef6625f..f77435c78d 100644 --- a/code/datums/elements/swimming.dm +++ b/code/datums/elements/swimming.dm @@ -7,7 +7,7 @@ return if(!isliving(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/check_valid) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(check_valid)) ADD_TRAIT(target, TRAIT_SWIMMING, TRAIT_SWIMMING) //seriously there's only one way to get this /datum/element/swimming/Detach(datum/target) diff --git a/code/datums/elements/sword_point.dm b/code/datums/elements/sword_point.dm index d691e22a6a..c41a2a30f4 100644 --- a/code/datums/elements/sword_point.dm +++ b/code/datums/elements/sword_point.dm @@ -7,7 +7,7 @@ return if(!istype(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ITEM_ALT_AFTERATTACK, .proc/point) + RegisterSignal(target, COMSIG_ITEM_ALT_AFTERATTACK, PROC_REF(point)) /datum/element/sword_point/Detach(datum/source) . = ..() diff --git a/code/datums/elements/tactical.dm b/code/datums/elements/tactical.dm index 4b49552fbe..913686062f 100644 --- a/code/datums/elements/tactical.dm +++ b/code/datums/elements/tactical.dm @@ -9,8 +9,8 @@ return ELEMENT_INCOMPATIBLE src.allowed_slot = allowed_slot - RegisterSignal(target, COMSIG_ITEM_EQUIPPED, .proc/modify) - RegisterSignal(target, COMSIG_ITEM_DROPPED, .proc/unmodify) + RegisterSignal(target, COMSIG_ITEM_EQUIPPED, PROC_REF(modify)) + RegisterSignal(target, COMSIG_ITEM_DROPPED, PROC_REF(unmodify)) /datum/element/tactical/Detach(datum/target) UnregisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) diff --git a/code/datums/elements/update_icon_blocker.dm b/code/datums/elements/update_icon_blocker.dm index f52a712ebb..f584f2194d 100644 --- a/code/datums/elements/update_icon_blocker.dm +++ b/code/datums/elements/update_icon_blocker.dm @@ -4,7 +4,7 @@ . = ..() if(!istype(target, /atom)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, .proc/block_update_icon) + RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, PROC_REF(block_update_icon)) /datum/element/update_icon_blocker/proc/block_update_icon() return COMSIG_ATOM_NO_UPDATE_ICON_STATE | COMSIG_ATOM_NO_UPDATE_OVERLAYS diff --git a/code/datums/elements/update_icon_updates_onmob.dm b/code/datums/elements/update_icon_updates_onmob.dm index 5c71547f62..b60f88e601 100644 --- a/code/datums/elements/update_icon_updates_onmob.dm +++ b/code/datums/elements/update_icon_updates_onmob.dm @@ -5,7 +5,7 @@ . = ..() if(!istype(target, /obj/item)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, .proc/update_onmob, override = TRUE) + RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, PROC_REF(update_onmob), override = TRUE) /datum/element/update_icon_updates_onmob/proc/update_onmob(obj/item/target) if(ismob(target.loc)) diff --git a/code/datums/elements/wuv.dm b/code/datums/elements/wuv.dm index 6476a204cf..27e8e5656d 100644 --- a/code/datums/elements/wuv.dm +++ b/code/datums/elements/wuv.dm @@ -28,7 +28,7 @@ pet_moodlet = pet_mood punt_moodlet = punt_mood - RegisterSignal(target, COMSIG_MOB_ATTACK_HAND, .proc/on_attack_hand) + RegisterSignal(target, COMSIG_MOB_ATTACK_HAND, PROC_REF(on_attack_hand)) /datum/element/wuv/Detach(datum/source, force) . = ..() @@ -42,9 +42,9 @@ //we want to delay the effect to be displayed after the mob is petted, not before. switch(user.a_intent) if(INTENT_HARM) - addtimer(CALLBACK(src, .proc/kick_the_dog, source, user), 1) + addtimer(CALLBACK(src, PROC_REF(kick_the_dog), source, user), 1) if(INTENT_HELP) - addtimer(CALLBACK(src, .proc/pet_the_dog, source, user), 1) + addtimer(CALLBACK(src, PROC_REF(pet_the_dog), source, user), 1) /datum/element/wuv/proc/pet_the_dog(mob/target, mob/user) if(QDELETED(target) || QDELETED(user) || target.stat != CONSCIOUS) diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 5ac01eb3f4..7fadd23cbc 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -402,7 +402,7 @@ GLOBAL_LIST_EMPTY(explosions) else continue - addtimer(CALLBACK(GLOBAL_PROC, .proc/wipe_color_and_text, wipe_colours), 100) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(wipe_color_and_text), wipe_colours), 100) /proc/wipe_color_and_text(list/atom/wiping) for(var/i in wiping) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 06e2c1e18d..d8c4232cb3 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -36,6 +36,7 @@ msg += "HEAD: [commit]" else if(!originmastercommit) msg += "No commit information" + msg += "Running rust-g version [rustg_get_version()]" return msg.Join("\n") diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index a7646d6e06..9f42c07332 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -237,7 +237,7 @@ /obj/item/disk/holodisk/Initialize(mapload) . = ..() if(preset_record_text) - INVOKE_ASYNC(src, .proc/build_record) + INVOKE_ASYNC(src, PROC_REF(build_record)) /obj/item/disk/holodisk/Destroy() QDEL_NULL(record) diff --git a/code/datums/http.dm b/code/datums/http.dm index 2a9b53f131..0762cc48ac 100644 --- a/code/datums/http.dm +++ b/code/datums/http.dm @@ -21,13 +21,13 @@ src.headers = headers /datum/http_request/proc/execute_blocking() - _raw_response = rustg_http_request_blocking(method, url, body, headers) + _raw_response = rustg_http_request_blocking(method, url, body, headers, null) /datum/http_request/proc/begin_async() if (in_progress) CRASH("Attempted to re-use a request object.") - id = rustg_http_request_async(method, url, body, headers) + id = rustg_http_request_async(method, url, body, headers, null) if (isnull(text2num(id))) stack_trace("Proc error: [id]") diff --git a/code/datums/hud.dm b/code/datums/hud.dm index a0f43c5565..3e17804ca2 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(huds, list( hudusers[M] = 1 if(next_time_allowed[M] > world.time) if(!queued_to_see[M]) - addtimer(CALLBACK(src, .proc/show_hud_images_after_cooldown, M), next_time_allowed[M] - world.time) + addtimer(CALLBACK(src, PROC_REF(show_hud_images_after_cooldown), M), next_time_allowed[M] - world.time) queued_to_see[M] = TRUE else next_time_allowed[M] = world.time + ADD_HUD_TO_COOLDOWN diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm index 8bee4f3d1c..9a7e3a43b6 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -74,7 +74,7 @@ if(!chance || prob(chance)) play(get_sound(starttime)) if(!timerid) - timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP) + timerid = addtimer(CALLBACK(src, PROC_REF(sound_loop), world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP) /datum/looping_sound/proc/play(soundfile) var/list/atoms_cache = output_atoms @@ -99,7 +99,7 @@ if(start_sound) play(start_sound) start_wait = start_length - init_timerid = addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME | TIMER_STOPPABLE) + init_timerid = addtimer(CALLBACK(src, PROC_REF(sound_loop)), start_wait, TIMER_CLIENT_TIME | TIMER_STOPPABLE) /datum/looping_sound/proc/on_stop() if(end_sound) diff --git a/code/datums/looping_sounds/looping_sound.dm b/code/datums/looping_sounds/looping_sound.dm index c39014e287..075bdd66ed 100644 --- a/code/datums/looping_sounds/looping_sound.dm +++ b/code/datums/looping_sounds/looping_sound.dm @@ -64,7 +64,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 @@ -92,7 +92,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/martial/wrestling.dm b/code/datums/martial/wrestling.dm index c92a2b033a..10470caae4 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -376,7 +376,7 @@ A.setDir(turn(A.dir, 90)) A.forceMove(D.loc) - addtimer(CALLBACK(src, .proc/CheckStrikeTurf, A, T), 4) + addtimer(CALLBACK(src, PROC_REF(CheckStrikeTurf), A, T), 4) A.visible_message("[A] headbutts [D]!") D.apply_damage(damage + 15, BRUTE) diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index 3bddfdaa63..56f8e4f85c 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -48,7 +48,7 @@ . = ..() class = class_ if(timer) - addtimer(CALLBACK(src, .proc/remove), timer) + addtimer(CALLBACK(src, PROC_REF(remove)), timer) timed = TRUE if(copymut && istype(copymut, /datum/mutation/human)) copy_mutation(copymut) @@ -86,7 +86,7 @@ grant_spell() if(!modified) - addtimer(CALLBACK(src, .proc/modify, 5)) //gonna want children calling ..() to run first + addtimer(CALLBACK(src, PROC_REF(modify), 5)) //gonna want children calling ..() to run first /datum/mutation/human/proc/get_visual_indicator() return diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index a24e6da75a..4baaa2f2c6 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -428,7 +428,7 @@ /obj/item/hardened_spike/Initialize(mapload, firedby) . = ..() fired_by = firedby - addtimer(CALLBACK(src, .proc/checkembedded), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(checkembedded)), 5 SECONDS) /obj/item/hardened_spike/proc/checkembedded() if(missed) diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 77779bc862..7a8424b48a 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -15,7 +15,7 @@ owner.Unconscious(200 * GET_MUTATION_POWER(src)) owner.Jitter(1000 * GET_MUTATION_POWER(src)) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "epilepsy", /datum/mood_event/epilepsy) - addtimer(CALLBACK(src, .proc/jitter_less), 90) + addtimer(CALLBACK(src, PROC_REF(jitter_less)), 90) /datum/mutation/human/epilepsy/proc/jitter_less(mob/living/carbon/human/owner) if(owner) diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index 55b9c8aaed..d467cacf1d 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -17,7 +17,7 @@ ADD_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK) owner.update_body_parts() SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "hulk", /datum/mood_event/hulk) - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/hulk/on_attack_hand(atom/target, proximity, act_intent, unarmed_attack_flags) if(proximity && (act_intent == INTENT_HARM)) //no telekinetic hulk attack diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index ee2abd635d..24ab0b8822 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -23,7 +23,7 @@ . = ..() if(.) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/wacky/on_losing(mob/living/carbon/human/owner) . = ..() @@ -65,7 +65,7 @@ . = ..() if(.) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/smile/on_losing(mob/living/carbon/human/owner) . = ..() @@ -114,7 +114,7 @@ . = ..() if(.) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/swedish/on_losing(mob/living/carbon/human/owner) . = ..() @@ -146,7 +146,7 @@ . = ..() if(.) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/chav/on_losing(mob/living/carbon/human/owner) . = ..() @@ -205,7 +205,7 @@ . = ..() if(.) return - RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/mutation/human/elvis/on_losing(mob/living/carbon/human/owner) . = ..() diff --git a/code/datums/profiling.dm b/code/datums/profiling.dm index 49a80d0ede..1eec878711 100644 --- a/code/datums/profiling.dm +++ b/code/datums/profiling.dm @@ -6,7 +6,7 @@ GLOBAL_REAL_VAR(PROFILE_SLEEPCHECK) GLOBAL_REAL_VAR(PROFILE_TIME) -/proc/profile_show(user, sort = /proc/cmp_profile_avg_time_dsc) +/proc/profile_show(user, sort = GLOBAL_PROC_REF(cmp_profile_avg_time_dsc)) sortTim(PROFILE_STORE, sort, TRUE) var/list/lines = list() diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 03a4f39cf1..6b7f4ba292 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -45,9 +45,9 @@ user_client = user.client add_prog_bar_image_to_client() - RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/on_user_delete) - RegisterSignal(user, COMSIG_MOB_CLIENT_LOGOUT, .proc/clean_user_client) - RegisterSignal(user, COMSIG_MOB_CLIENT_LOGIN, .proc/on_user_login) + RegisterSignal(user, COMSIG_PARENT_QDELETING, PROC_REF(on_user_delete)) + RegisterSignal(user, COMSIG_MOB_CLIENT_LOGOUT, PROC_REF(clean_user_client)) + RegisterSignal(user, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(on_user_login)) /datum/progressbar/Destroy() diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index 897b82633f..568742b272 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -18,7 +18,7 @@ * transfers reagents from prerequisite objects, * deletes all prerequisite objects (even not needed for recipe at the moment). * - * /proc/select_recipe(list/datum/recipe/avaiable_recipes, obj/obj as obj, exact = 1) + * GLOBAL_PROC_REF(select_recipe)(list/datum/recipe/avaiable_recipes, obj/obj as obj, exact = 1) * Wonderful function that select suitable recipe for you. * obj is a machine (or magik hat) with prerequisites, * exact = 0 forces algorithm to ignore superfluous stuff. diff --git a/code/datums/skills/_skill.dm b/code/datums/skills/_skill.dm index a0141ccf3d..4270ff3ed9 100644 --- a/code/datums/skills/_skill.dm +++ b/code/datums/skills/_skill.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums()) continue S = new path .[S.type] = S - . = sortTim(., /proc/cmp_skill_categories, TRUE) + . = sortTim(., GLOBAL_PROC_REF(cmp_skill_categories), TRUE) /** * Skill datums diff --git a/code/datums/skills/_skill_modifier.dm b/code/datums/skills/_skill_modifier.dm index d785b2b5cf..20fbaa6b85 100644 --- a/code/datums/skills/_skill_modifier.dm +++ b/code/datums/skills/_skill_modifier.dm @@ -52,7 +52,7 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill) GLOB.potential_skills_per_mod[target_skills_key] = list(target_skills) else //Should be a list. var/list/T = target_skills - T = sortTim(target_skills, /proc/cmp_text_asc) //Sort the list contents alphabetically. + T = sortTim(target_skills, GLOBAL_PROC_REF(cmp_text_asc)) //Sort the list contents alphabetically. target_skills_key = T.Join("-") var/list/L = GLOB.potential_skills_per_mod[target_skills_key] if(!L) @@ -117,7 +117,7 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill) if(M.modifier_flags & MODIFIER_SKILL_BODYBOUND) M.RegisterSignal(src, COMSIG_MIND_TRANSFER, /datum/skill_modifier.proc/on_mind_transfer) M.RegisterSignal(current, COMSIG_MOB_ON_NEW_MIND, /datum/skill_modifier.proc/on_mob_new_mind, TRUE) - RegisterSignal(M, COMSIG_PARENT_PREQDELETED, .proc/on_skill_modifier_deletion) + RegisterSignal(M, COMSIG_PARENT_PREQDELETED, PROC_REF(on_skill_modifier_deletion)) #undef ADD_MOD_STEP diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index e319268b75..1f6e24e225 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -135,7 +135,7 @@ owner.add_stun_absorption("inathneq", 150, 2, "'s flickering blue aura momentarily intensifies!", "Inath-neq's power absorbs the stun!", " glowing with a flickering blue light!") owner.status_flags |= GODMODE animate(owner, color = oldcolor, time = 150, easing = EASE_IN) - addtimer(CALLBACK(owner, /atom/proc/update_atom_colour), 150) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, update_atom_colour)), 150) playsound(owner, 'sound/magic/ethereal_enter.ogg', 50, 1) return ..() @@ -409,7 +409,7 @@ owner.add_stun_absorption("bloody bastard sword", duration, 2, "doesn't even flinch as the sword's power courses through them!", "You shrug off the stun!", " glowing with a blazing red aura!") owner.spin(duration,1) animate(owner, color = oldcolor, time = duration, easing = EASE_IN) - addtimer(CALLBACK(owner, /atom/proc/update_atom_colour), duration) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, update_atom_colour)), duration) playsound(owner, 'sound/weapons/fwoosh.wav', 75, 0) return ..() diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index ede71dd58e..949f0dc74a 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -457,7 +457,7 @@ /datum/status_effect/eldritch/on_apply() . = ..() if(owner.mob_size >= MOB_SIZE_HUMAN) - RegisterSignal(owner,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/update_owner_underlay) + RegisterSignal(owner,COMSIG_ATOM_UPDATE_OVERLAYS,PROC_REF(update_owner_underlay)) owner.update_icon() return TRUE return FALSE @@ -970,7 +970,7 @@ . = ..() if(!iscarbon(owner)) return FALSE - RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/hypnotize) + RegisterSignal(owner, COMSIG_MOVABLE_HEAR, PROC_REF(hypnotize)) ADD_TRAIT(owner, TRAIT_MUTE, "trance") owner.add_client_colour(/datum/client_colour/monochrome/trance) owner.visible_message("[stun ? "[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point." : ""]", \ diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index d3d39e625a..e42f9b917b 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -12,7 +12,7 @@ icon_state = "frozen" /datum/status_effect/freon/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist)) if(!owner.stat) to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") diff --git a/code/datums/status_effects/wound_effects.dm b/code/datums/status_effects/wound_effects.dm index 045b1b257d..ac1a35e05e 100644 --- a/code/datums/status_effects/wound_effects.dm +++ b/code/datums/status_effects/wound_effects.dm @@ -41,8 +41,8 @@ left = C.get_bodypart(BODY_ZONE_L_LEG) right = C.get_bodypart(BODY_ZONE_R_LEG) update_limp() - RegisterSignal(C, COMSIG_MOVABLE_MOVED, .proc/check_step) - RegisterSignal(C, list(COMSIG_CARBON_GAIN_WOUND, COMSIG_CARBON_LOSE_WOUND, COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB), .proc/update_limp) + RegisterSignal(C, COMSIG_MOVABLE_MOVED, PROC_REF(check_step)) + RegisterSignal(C, list(COMSIG_CARBON_GAIN_WOUND, COMSIG_CARBON_LOSE_WOUND, COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB), PROC_REF(update_limp)) return ..() /datum/status_effect/limp/on_remove() @@ -129,7 +129,7 @@ /datum/status_effect/wound/on_apply() if(!iscarbon(owner)) return FALSE - RegisterSignal(owner, COMSIG_CARBON_LOSE_WOUND, .proc/check_remove) + RegisterSignal(owner, COMSIG_CARBON_LOSE_WOUND, PROC_REF(check_remove)) return ..() /// check if the wound getting removed is the wound we're tied to diff --git a/code/datums/tgs_event_handler.dm b/code/datums/tgs_event_handler.dm index 731be64183..61f984b886 100644 --- a/code/datums/tgs_event_handler.dm +++ b/code/datums/tgs_event_handler.dm @@ -23,7 +23,7 @@ to_chat(world, "Server updated, changes will be applied on the next round...") if(TGS_EVENT_WATCHDOG_DETACH) message_admins("TGS restarting...") - reattach_timer = addtimer(CALLBACK(src, .proc/LateOnReattach), 1 MINUTES) + reattach_timer = addtimer(CALLBACK(src, PROC_REF(LateOnReattach)), 1 MINUTES) if(TGS_EVENT_WATCHDOG_REATTACH) var/datum/tgs_version/old_version = world.TgsVersion() var/datum/tgs_version/new_version = args[2] diff --git a/code/datums/traits/_quirk.dm b/code/datums/traits/_quirk.dm index 86ef8e0533..9ad782bdfd 100644 --- a/code/datums/traits/_quirk.dm +++ b/code/datums/traits/_quirk.dm @@ -29,7 +29,7 @@ add() if(spawn_effects) on_spawn() - addtimer(CALLBACK(src, .proc/post_add), 30) + addtimer(CALLBACK(src, PROC_REF(post_add)), 30) /datum/quirk/Destroy() STOP_PROCESSING(SSquirks, src) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index ec8bfc2335..677cf8dbea 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -295,8 +295,8 @@ GLOBAL_LIST_EMPTY(family_heirlooms) var/dumb_thing = TRUE /datum/quirk/social_anxiety/add() - RegisterSignal(quirk_holder, COMSIG_MOB_EYECONTACT, .proc/eye_contact) - RegisterSignal(quirk_holder, COMSIG_MOB_EXAMINATE, .proc/looks_at_floor) + RegisterSignal(quirk_holder, COMSIG_MOB_EYECONTACT, PROC_REF(eye_contact)) + RegisterSignal(quirk_holder, COMSIG_MOB_EXAMINATE, PROC_REF(looks_at_floor)) /datum/quirk/social_anxiety/remove() UnregisterSignal(quirk_holder, list(COMSIG_MOB_EYECONTACT, COMSIG_MOB_EXAMINATE)) @@ -324,7 +324,7 @@ GLOBAL_LIST_EMPTY(family_heirlooms) if(prob(85) || (istype(mind_check) && mind_check.mind)) return - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, "You make eye contact with [A]."), 3) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), quirk_holder, "You make eye contact with [A]."), 3) /datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner) if(prob(75)) @@ -347,7 +347,7 @@ GLOBAL_LIST_EMPTY(family_heirlooms) msg += "causing you to freeze up!" SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "anxiety_eyecontact", /datum/mood_event/anxiety_eyecontact) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, "[msg]"), 3) // so the examine signal has time to fire and this will print after + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), quirk_holder, "[msg]"), 3) // so the examine signal has time to fire and this will print after return COMSIG_BLOCK_EYECONTACT /datum/mood_event/anxiety_eyecontact diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index d69bd7c8b9..44aa3df831 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -125,7 +125,7 @@ to_chat(M, telegraph_message) if(telegraph_sound) SEND_SOUND(M, sound(telegraph_sound)) - addtimer(CALLBACK(src, .proc/start), telegraph_duration) + addtimer(CALLBACK(src, PROC_REF(start)), telegraph_duration) /** * Starts the actual weather and effects from it @@ -146,7 +146,7 @@ to_chat(M, weather_message) if(weather_sound) SEND_SOUND(M, sound(weather_sound)) - addtimer(CALLBACK(src, .proc/wind_down), weather_duration) + addtimer(CALLBACK(src, PROC_REF(wind_down)), weather_duration) /** * Weather enters the winding down phase, stops effects @@ -167,7 +167,7 @@ to_chat(M, end_message) if(end_sound) SEND_SOUND(M, sound(end_sound)) - addtimer(CALLBACK(src, .proc/end), end_duration) + addtimer(CALLBACK(src, PROC_REF(end)), end_duration) /** * Fully ends the weather diff --git a/code/datums/wounds/_scars.dm b/code/datums/wounds/_scars.dm index d50de8878a..4568d534c4 100644 --- a/code/datums/wounds/_scars.dm +++ b/code/datums/wounds/_scars.dm @@ -47,7 +47,7 @@ qdel(src) return limb = BP - RegisterSignal(limb, COMSIG_PARENT_QDELETING, .proc/limb_gone) + RegisterSignal(limb, COMSIG_PARENT_QDELETING, PROC_REF(limb_gone)) severity = W.severity if(limb.owner) victim = limb.owner @@ -87,7 +87,7 @@ return limb = BP - RegisterSignal(limb, COMSIG_PARENT_QDELETING, .proc/limb_gone) + RegisterSignal(limb, COMSIG_PARENT_QDELETING, PROC_REF(limb_gone)) src.severity = severity LAZYADD(limb.scars, src) if(BP.owner) diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 96adcf0914..317f103501 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -128,7 +128,7 @@ return victim = L.owner - RegisterSignal(victim, COMSIG_PARENT_QDELETING, .proc/null_victim) + RegisterSignal(victim, COMSIG_PARENT_QDELETING, PROC_REF(null_victim)) limb = L LAZYADD(victim.all_wounds, src) LAZYADD(limb.wounds, src) diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm index aa490fdb9a..f38f7661cc 100644 --- a/code/datums/wounds/bones.dm +++ b/code/datums/wounds/bones.dm @@ -39,7 +39,7 @@ active_trauma = victim.gain_trauma_type(brain_trauma_group, TRAUMA_RESILIENCE_WOUND) next_trauma_cycle = world.time + (rand(100-WOUND_BONE_HEAD_TIME_VARIANCE, 100+WOUND_BONE_HEAD_TIME_VARIANCE) * 0.01 * trauma_cycle_cooldown) - RegisterSignal(victim, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/attack_with_hurt_hand) + RegisterSignal(victim, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(attack_with_hurt_hand)) if(limb.held_index && victim.get_item_for_held_index(limb.held_index) && (disabling || prob(30 * severity))) var/obj/item/I = victim.get_item_for_held_index(limb.held_index) if(istype(I, /obj/item/offhand)) @@ -228,7 +228,7 @@ /datum/wound/blunt/moderate/proc/chiropractice(mob/living/carbon/human/user) var/time = base_treat_time - if(!do_after(user, time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, time, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return if(prob(65)) @@ -247,7 +247,7 @@ /datum/wound/blunt/moderate/proc/malpractice(mob/living/carbon/human/user) var/time = base_treat_time - if(!do_after(user, time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, time, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return if(prob(65)) @@ -268,7 +268,7 @@ else user.visible_message("[user] begins resetting [victim]'s [limb.name] with [I].", "You begin resetting [victim]'s [limb.name] with [I]...") - if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, PROC_REF(still_exists)))) return if(victim == user) @@ -344,7 +344,7 @@ user.visible_message("[user] begins hastily applying [I] to [victim]'s' [limb.name]...", "You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name], disregarding the warning label...") - if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, PROC_REF(still_exists)))) return I.use(1) @@ -382,7 +382,7 @@ user.visible_message("[user] begins applying [I] to [victim]'s' [limb.name]...", "You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...") - if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, PROC_REF(still_exists)))) return regen_points_current = 0 diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index c7cc254211..81bf6953fa 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -192,7 +192,7 @@ /// if someone is using ointment on our burns /datum/wound/burn/proc/ointment(obj/item/stack/medical/ointment/I, mob/user) user.visible_message("[user] begins applying [I] to [victim]'s [limb.name]...", "You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...") - if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return limb.heal_damage(I.heal_brute, I.heal_burn) @@ -210,7 +210,7 @@ /// if someone is using mesh on our burns /datum/wound/burn/proc/mesh(obj/item/stack/medical/mesh/I, mob/user) user.visible_message("[user] begins wrapping [victim]'s [limb.name] with [I]...", "You begin wrapping [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") - if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return limb.heal_damage(I.heal_brute, I.heal_burn) diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index 4fa4a2d3f9..42f942f098 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -88,7 +88,7 @@ /datum/wound/pierce/proc/suture(obj/item/stack/medical/suture/I, mob/user) var/self_penalty_mult = (user == victim ? 1.2 : 1) user.visible_message("[user] begins stitching [victim]'s [limb.name] with [I]...", "You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") - if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return user.visible_message("[user] stitches up some of the bleeding on [victim].", "You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].") var/blood_sutured = I.stop_bleeding / self_penalty_mult * 0.5 @@ -104,7 +104,7 @@ /datum/wound/pierce/proc/tool_cauterize(obj/item/I, mob/user) var/self_penalty_mult = (user == victim ? 1.5 : 1) user.visible_message("[user] begins cauterizing [victim]'s [limb.name] with [I]...", "You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") - if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return user.visible_message("[user] cauterizes some of the bleeding on [victim].", "You cauterize some of the bleeding on [victim].") diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index a787eafce6..0d0628aa45 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -168,7 +168,7 @@ user.visible_message("[user] begins licking the wounds on [victim]'s [limb.name].", "You begin licking the wounds on [victim]'s [limb.name]...", ignored_mobs=victim) to_chat(victim, "[user] begins to lick the wounds on your [limb.name].[user] licks the wounds on [victim]'s [limb.name].", "You lick some of the wounds on [victim]'s [limb.name]", ignored_mobs=victim) @@ -197,7 +197,7 @@ /datum/wound/slash/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user) var/self_penalty_mult = (user == victim ? 1.25 : 1) user.visible_message("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]...", "You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.name]...") - if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return var/damage = lasgun.chambered.BB.damage lasgun.chambered.BB.wound_bonus -= 30 @@ -212,7 +212,7 @@ /datum/wound/slash/proc/tool_cauterize(obj/item/I, mob/user) var/self_penalty_mult = (user == victim ? 1.5 : 1) user.visible_message("[user] begins cauterizing [victim]'s [limb.name] with [I]...", "You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") - if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return user.visible_message("[user] cauterizes some of the bleeding on [victim].", "You cauterize some of the bleeding on [victim].") @@ -232,7 +232,7 @@ var/self_penalty_mult = (user == victim ? 1.2 : 1) user.visible_message("[user] begins stitching [victim]'s [limb.name] with [I]...", "You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...") - if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) + if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return user.visible_message("[user] stitches up some of the bleeding on [victim].", "You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].") var/blood_sutured = I.stop_bleeding / self_penalty_mult diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 81d30073da..a27a558353 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -124,7 +124,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) if (picked && is_station_level(picked.z)) GLOB.teleportlocs[AR.name] = AR - sortTim(GLOB.teleportlocs, /proc/cmp_text_dsc) + sortTim(GLOB.teleportlocs, GLOBAL_PROC_REF(cmp_text_dsc)) // === @@ -236,7 +236,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) A.power_light = FALSE A.power_equip = FALSE A.power_environ = FALSE - INVOKE_ASYNC(A, .proc/power_change) + INVOKE_ASYNC(A, PROC_REF(power_change)) STOP_PROCESSING(SSobj, src) return ..() @@ -556,7 +556,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) if(!L.client.played) SEND_SOUND(L, sound(sound, repeat = 0, wait = 0, volume = 25, channel = CHANNEL_AMBIENCE)) L.client.played = TRUE - addtimer(CALLBACK(L.client, /client/proc/ResetAmbiencePlayed), 600) + addtimer(CALLBACK(L.client, TYPE_PROC_REF(/client, ResetAmbiencePlayed)), 600) /* MARKED FOR DEATH, part of emergency delagging, removes the whole system to evaluate ///Divides total beauty in the room by roomsize to allow us to get an average beauty per tile. /area/proc/update_beauty() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 9e862849d7..8847085f13 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -488,7 +488,7 @@ /atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). - addtimer(CALLBACK(src, .proc/hitby_react, AM), 2) + addtimer(CALLBACK(src, PROC_REF(hitby_react), AM), 2) /atom/proc/hitby_react(atom/movable/AM) if(AM && isturf(AM.loc)) @@ -1127,7 +1127,7 @@ /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/game/atoms_movable.dm b/code/game/atoms_movable.dm index d6e6da791e..27471ac464 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -117,7 +117,7 @@ if(isobj(A) || ismob(A)) if(A.layer > highest.layer) highest = A - INVOKE_ASYNC(src, .proc/SpinAnimation, 5, 2) + INVOKE_ASYNC(src, PROC_REF(SpinAnimation), 5, 2) throw_impact(highest) return TRUE diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 724d911aca..efa11278c1 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -410,7 +410,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) update_playercounts() for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_roundstart_rule, rule), rule.delay) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic, execute_roundstart_rule), rule), rule.delay) ..() /// A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it. @@ -577,7 +577,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) latejoin_rules = remove_from_list(latejoin_rules, rule.type) else if(rule.ruletype == "Midround") midround_rules = remove_from_list(midround_rules, rule.type) - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_midround_latejoin_rule, rule), rule.delay) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic, execute_midround_latejoin_rule), rule), rule.delay) return TRUE /// An experimental proc to allow admins to call rules on the fly or have rules call other rules. diff --git a/code/game/gamemodes/end_of_round_deathmatch.dm b/code/game/gamemodes/end_of_round_deathmatch.dm index dc7e8c361e..204ac6d9cc 100644 --- a/code/game/gamemodes/end_of_round_deathmatch.dm +++ b/code/game/gamemodes/end_of_round_deathmatch.dm @@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(eord_arsenal, list( /datum/controller/subsystem/ticker/proc/end_of_round_deathmatch() - RegisterSignal(SSdcs, COMSIG_GLOB_MOB_LOGIN, .proc/grant_eord_respawn) // New mobs can now respawn into EORD + RegisterSignal(SSdcs, COMSIG_GLOB_MOB_LOGIN, PROC_REF(grant_eord_respawn)) // New mobs can now respawn into EORD var/list/spawns = GLOB.deathmatch_spawn_points.Copy() if(!length(spawns)) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index d76e2fa7bb..790093be92 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -84,7 +84,7 @@ //finalize_monster_hunters() Disabled for now if(!report) report = !CONFIG_GET(flag/no_intercept_report) - addtimer(CALLBACK(GLOBAL_PROC, .proc/display_roundstart_logout_report), ROUNDSTART_LOGOUT_REPORT_TIME) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(display_roundstart_logout_report)), ROUNDSTART_LOGOUT_REPORT_TIME) if(prob(20)) //CIT CHANGE - adds a 20% chance for the security level to be the opposite of what it normally is flipseclevel = TRUE @@ -101,7 +101,7 @@ query_round_game_mode.Execute() qdel(query_round_game_mode) if(report) - addtimer(CALLBACK(src, .proc/send_intercept, 0), rand(waittime_l, waittime_h)) + addtimer(CALLBACK(src, PROC_REF(send_intercept), 0), rand(waittime_l, waittime_h)) generate_station_goals() gamemode_ready = TRUE return 1 diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 03e76f66d1..acc5be6661 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -133,7 +133,8 @@ Class Procs: var/payment_department = ACCOUNT_ENG var/barricade = TRUE //if true, acts as barricade var/proj_pass_rate = 65 //percentage change for bullets to fly over, if barricade=1 - + ///Boolean on whether this machines interact with atmos + var/atmos_processing = FALSE /obj/machinery/Initialize() if(!armor) armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) @@ -149,7 +150,7 @@ Class Procs: circuit = new circuit circuit.apply_default_parts(src) power_change() - RegisterSignal(src, COMSIG_ENTER_AREA, .proc/power_change) + RegisterSignal(src, COMSIG_ENTER_AREA, PROC_REF(power_change)) if (occupant_typecache) occupant_typecache = typecacheof(occupant_typecache) @@ -453,7 +454,7 @@ Class Procs: I.play_tool_sound(src, 50) var/prev_anchored = anchored //as long as we're the same anchored state and we're either on a floor or are anchored, toggle our anchored state - if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, .proc/unfasten_wrench_check, prev_anchored, user))) + if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, PROC_REF(unfasten_wrench_check), prev_anchored, user))) to_chat(user, "You [anchored ? "un" : ""]secure [src].") setAnchored(!anchored) playsound(src, 'sound/items/deconstruct.ogg', 50, 1) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 4935c9d4d3..39c8371f9b 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -45,4 +45,4 @@ to_chat(user, "You activate [src]. It now has [uses] uses of foam remaining.") cooldown = world.time + cooldown_time power_change() - addtimer(CALLBACK(src, .proc/power_change), cooldown_time) + addtimer(CALLBACK(src, PROC_REF(power_change)), cooldown_time) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index a64f67b6d2..38f29c601d 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -61,7 +61,7 @@ var/list/mats = allowed_materials if(!mats) mats = SSmaterials.materialtypes_by_category[MAT_CATEGORY_RIGID] - AddComponent(/datum/component/material_container, mats, _show_on_examine=TRUE, _after_insert=CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container, mats, _show_on_examine=TRUE, _after_insert=CALLBACK(src, PROC_REF(AfterMaterialInsert))) . = ..() wires = new /datum/wires/autolathe(src) stored_research = new stored_research @@ -217,7 +217,7 @@ use_power(power) icon_state = "[icon_state]_n" var/time = is_stack ? 10 : base_print_speed * coeff * multiplier - addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack), time) + addtimer(CALLBACK(src, PROC_REF(make_item), power, materials_used, custom_materials, multiplier, coeff, is_stack), time) else to_chat(usr, "Not enough materials for this operation.") diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 86abba88e0..3bdf30530c 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -183,7 +183,7 @@ if(device) device.pulsed() - addtimer(CALLBACK(src, /atom/.proc/update_icon), 15) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 15) /obj/machinery/button/power_change() ..() diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 0316cc80c3..d464c0270b 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -117,7 +117,7 @@ if(can_use()) GLOB.cameranet.addCamera(src) emped = 0 //Resets the consecutive EMP count - addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100) + addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 100) for(var/i in GLOB.player_list) var/mob/M = i if (M.client.eye == src) @@ -325,7 +325,7 @@ change_msg = "reactivates" triggerCameraAlarm() if(!QDELETED(src)) //We'll be doing it anyway in destroy - addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100) + addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 100) if(displaymessage) if(user) visible_message("[user] [change_msg] [src]!") diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index c07dd6a199..163b84d98c 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -137,7 +137,7 @@ if(G.suiciding) // The ghost came from a body that is suiciding. return FALSE if(clonemind.damnation_type) //Can't clone the damned. - INVOKE_ASYNC(src, .proc/horrifyingsound) + INVOKE_ASYNC(src, PROC_REF(horrifyingsound)) mess = TRUE update_icon() return FALSE diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 8fc193ce3b..ba02808ce6 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -21,7 +21,7 @@ /obj/machinery/computer/Initialize(mapload, obj/item/circuitboard/C) . = ..() for(var/obj/machinery/computer/pickComputer in range(1, src)) - addtimer(CALLBACK(pickComputer, .proc/why_overlays), 5) + addtimer(CALLBACK(pickComputer, PROC_REF(why_overlays)), 5) power_change() if(!QDELETED(C)) qdel(circuit) @@ -30,7 +30,7 @@ /obj/machinery/computer/Destroy() for(var/obj/machinery/computer/pickComputer in range(1, src)) - addtimer(CALLBACK(pickComputer, .proc/why_overlays), 5) + addtimer(CALLBACK(pickComputer, PROC_REF(why_overlays)), 5) return ..() /obj/machinery/computer/process() @@ -168,5 +168,5 @@ for(var/obj/C in src) C.forceMove(loc) for(var/obj/machinery/computer/pickComputer in range(1, src)) - addtimer(CALLBACK(pickComputer, .proc/why_overlays), 5) + addtimer(CALLBACK(pickComputer, PROC_REF(why_overlays)), 5) qdel(src) diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index c14837b8e3..939d238df3 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -112,7 +112,7 @@ log_game("[key_name(operator)] set the logs of [src] in [AREACOORD(src)] [should_log ? "On" : "Off"]") if("restore-console") restoring = TRUE - addtimer(CALLBACK(src, .proc/restore_comp), rand(3,5) * 9) + addtimer(CALLBACK(src, PROC_REF(restore_comp)), rand(3,5) * 9) if("access-apc") var/ref = params["ref"] playsound(src, "terminal_type", 50, FALSE) diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index bae64f97dd..28b821f807 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -72,11 +72,11 @@ /obj/machinery/air_sensor/Initialize() . = ..() - SSair.atmos_air_machinery += src + SSair.atmos_machinery += src set_frequency(frequency) /obj/machinery/air_sensor/Destroy() - SSair.atmos_air_machinery -= src + SSair.atmos_machinery -= src SSradio.remove_object(src, frequency) return ..() diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index a21ebbeccf..605cfe22d2 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -72,7 +72,7 @@ if(!P.tool_start_check(user, amount=5)) return to_chat(user, "You start adding cables to the frame...") - if(P.use_tool(src, user, 20, 5, 50, CALLBACK(src, .proc/check_state, 2))) + if(P.use_tool(src, user, 20, 5, 50, CALLBACK(src, PROC_REF(check_state), 2))) to_chat(user, "You add cables to the frame.") state = 3 icon_state = "3" @@ -92,7 +92,7 @@ return playsound(src, 'sound/items/deconstruct.ogg', 50, 1) to_chat(user, "You start to put in the glass panel...") - if(P.use_tool(src, user, 20, 2, 0, CALLBACK(src, .proc/check_state, 3))) + if(P.use_tool(src, user, 20, 2, 0, CALLBACK(src, PROC_REF(check_state), 3))) to_chat(user, "You put in the glass panel.") state = 4 src.icon_state = "4" diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index a1107e70a9..1ea042d43f 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -252,7 +252,7 @@ /obj/machinery/computer/security/telescreen/entertainment/Initialize() . = ..() - RegisterSignal(src, COMSIG_CLICK, .proc/BigClick) + RegisterSignal(src, COMSIG_CLICK, PROC_REF(BigClick)) // Bypass clickchain to allow humans to use the telescreen from a distance /obj/machinery/computer/security/telescreen/entertainment/proc/BigClick() diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index faca98da86..ae49bf4701 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -307,7 +307,7 @@ say("Initiating scan...") var/prev_locked = scanner.locked scanner.locked = TRUE - addtimer(CALLBACK(src, .proc/finish_scan, scanner.occupant, prev_locked), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(finish_scan), scanner.occupant, prev_locked), 2 SECONDS) . = TRUE //No locking an open scanner. diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index f409729443..6195903fc1 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -184,7 +184,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) else results_undamaged[++results_undamaged.len] = total_list - var/list/returning = sortTim(results_damaged,/proc/damage_compare) + sortTim(results_undamaged,/proc/ijob_compare) + var/list/returning = sortTim(results_damaged,GLOBAL_PROC_REF(damage_compare)) + sortTim(results_undamaged,GLOBAL_PROC_REF(ijob_compare)) data_by_z["[z]"] = returning last_update["[z]"] = world.time diff --git a/code/game/machinery/computer/gulag_teleporter.dm b/code/game/machinery/computer/gulag_teleporter.dm index 68cbf03f03..ed9b1aa9e0 100644 --- a/code/game/machinery/computer/gulag_teleporter.dm +++ b/code/game/machinery/computer/gulag_teleporter.dm @@ -122,7 +122,7 @@ if("teleport") if(!teleporter || !beacon) return - addtimer(CALLBACK(src, .proc/teleport, usr), 5) + addtimer(CALLBACK(src, PROC_REF(teleport), usr), 5) /obj/machinery/computer/gulag_teleporter_computer/proc/scan_machinery() teleporter = findteleporter() diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index 13727b585b..9d44a1fe97 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -111,7 +111,7 @@ if("teleport") if(!teleporter || !beacon) return - addtimer(CALLBACK(src, .proc/teleport, usr), 5) + addtimer(CALLBACK(src, PROC_REF(teleport), usr), 5) return TRUE /obj/machinery/computer/prisoner/gulag_teleporter_computer/proc/scan_machinery() diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 747b55db78..487824d235 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -90,7 +90,7 @@ say("Processing hub calibration to target...") calibrating = TRUE power_station.update_icon() - addtimer(CALLBACK(src, .proc/finish_calibration), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration + addtimer(CALLBACK(src, PROC_REF(finish_calibration)), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration . = TRUE /obj/machinery/computer/teleporter/proc/finish_calibration() @@ -150,7 +150,7 @@ var/mob/living/M = target var/obj/item/implant/tracking/I = locate() in M.implants if(I) - RegisterSignal(I, COMSIG_IMPLANT_REMOVING, .proc/untarget_implant) + RegisterSignal(I, COMSIG_IMPLANT_REMOVING, PROC_REF(untarget_implant)) imp_t = I else target = null diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 36012bfb14..e82655b3ad 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -210,7 +210,7 @@ for(var/obj/item/co in replacer) part_list += co //Sort the parts. This ensures that higher tier items are applied first. - part_list = sortTim(part_list, /proc/cmp_rped_sort) + part_list = sortTim(part_list, GLOBAL_PROC_REF(cmp_rped_sort)) for(var/path in req_components) while(req_components[path] > 0 && (locate(path) in part_list)) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index e6b0008b90..985dda946a 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -402,7 +402,7 @@ glow.update_light() continue if(prob(2)) // Unique effects for the dance floor that show up randomly to mix things up - INVOKE_ASYNC(src, .proc/hierofunk) + INVOKE_ASYNC(src, PROC_REF(hierofunk)) sleep(selection.song_beat) #undef DISCO_INFENO_RANGE @@ -678,7 +678,7 @@ src.visible_message(" music library has been updated.") /obj/machinery/gramophone_recorder/proc/diskProcess() //its an old piece of tech and it takes it's time - addtimer(CALLBACK(src, .proc/burnDisk), 40) + addtimer(CALLBACK(src, PROC_REF(burnDisk)), 40) inuse = TRUE src.visible_message("your disk is being burned, please stand by.") diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index a956579980..1f5ed4308a 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -146,7 +146,7 @@ /obj/structure/barricade/security/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/deploy), deploy_time) + addtimer(CALLBACK(src, PROC_REF(deploy)), deploy_time) /obj/structure/barricade/security/proc/deploy() icon_state = "barrier1" diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 034f684939..ad350eb27c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -222,9 +222,9 @@ return if(density) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) else - INVOKE_ASYNC(src, .proc/close) + INVOKE_ASYNC(src, PROC_REF(close)) if("bolt") if(command_value == "on" && locked) @@ -344,7 +344,7 @@ if(cyclelinkedairlock.operating) cyclelinkedairlock.delayed_close_requested = TRUE else - addtimer(CALLBACK(cyclelinkedairlock, .proc/close), 2) + addtimer(CALLBACK(cyclelinkedairlock, PROC_REF(close)), 2) ..() /obj/machinery/door/airlock/proc/isElectrified() @@ -401,7 +401,7 @@ secondsBackupPowerLost = 10 if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE - INVOKE_ASYNC(src, .proc/handlePowerRestore) + INVOKE_ASYNC(src, PROC_REF(handlePowerRestore)) update_icon() /obj/machinery/door/airlock/proc/loseBackupPower() @@ -409,7 +409,7 @@ src.secondsBackupPowerLost = 60 if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE - INVOKE_ASYNC(src, .proc/handlePowerRestore) + INVOKE_ASYNC(src, PROC_REF(handlePowerRestore)) update_icon() /obj/machinery/door/airlock/proc/regainBackupPower() @@ -1013,7 +1013,7 @@ user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \ "You begin [welded ? "unwelding":"welding"] the airlock...", \ "You hear welding.") - if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) + if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(weld_checks), W, user))) welded = !welded user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \ "You [welded ? "weld the airlock shut":"unweld the airlock"].") @@ -1025,7 +1025,7 @@ user.visible_message("[user] is welding the airlock.", \ "You begin repairing the airlock...", \ "You hear welding.") - if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) + if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(weld_checks), W, user))) obj_integrity = max_integrity stat &= ~BROKEN user.visible_message("[user.name] has repaired [src].", \ @@ -1071,9 +1071,9 @@ if(!axe.wielded) to_chat(user, "You need to be wielding \the [axe] to do that!") return - INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) + INVOKE_ASYNC(src, (density ? PROC_REF(open) : PROC_REF(close)), 2) else - INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) + INVOKE_ASYNC(src, (density ? PROC_REF(open) : PROC_REF(close)), 2) if(istype(I, /obj/item/crowbar/power)) if(hasPower() && isElectrified()) @@ -1150,7 +1150,7 @@ operating = FALSE if(delayed_close_requested) delayed_close_requested = FALSE - addtimer(CALLBACK(src, .proc/close), 1) + addtimer(CALLBACK(src, PROC_REF(close)), 1) return TRUE @@ -1299,7 +1299,7 @@ return operating = TRUE update_icon(AIRLOCK_EMAG, 1) - addtimer(CALLBACK(src, .proc/open_sesame), 6) + addtimer(CALLBACK(src, PROC_REF(open_sesame)), 6) return TRUE /obj/machinery/door/airlock/proc/open_sesame() @@ -1368,7 +1368,7 @@ secondsElectrified = seconds diag_hud_set_electrified() if(secondsElectrified > NOT_ELECTRIFIED) - INVOKE_ASYNC(src, .proc/electrified_loop) + INVOKE_ASYNC(src, PROC_REF(electrified_loop)) if(user) var/message diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index cb6bdfa718..5749bd7d80 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -628,7 +628,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/machinery/door/airlock/clockwork/attackby(obj/item/I, mob/living/user, params) if(!attempt_construction(I, user)) diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index fa516f4b6b..8b3778f2a7 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -23,7 +23,7 @@ . = ..() SSradio.remove_object(src, air_frequency) air_connection = SSradio.add_object(src, air_frequency, RADIO_TO_AIRALARM) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) /obj/machinery/door/airlock/alarmlock/receive_signal(datum/signal/signal) ..() diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 48ccf325f6..ef439efc40 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -254,7 +254,7 @@ if (. & EMP_PROTECT_SELF) return if(prob(severity/5) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) ) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) /obj/machinery/door/proc/unelectrify() secondsElectrified = MACHINE_NOT_ELECTRIFIED @@ -377,7 +377,7 @@ close() /obj/machinery/door/proc/autoclose_in(wait) - addtimer(CALLBACK(src, .proc/autoclose), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(autoclose)), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE) /obj/machinery/door/proc/requiresID() return 1 diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index da8c262581..94a31071d2 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -100,9 +100,9 @@ /obj/machinery/door/poddoor/shuttledock/proc/check() var/turf/T = get_step(src, checkdir) if(!istype(T, turftype)) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) else - INVOKE_ASYNC(src, .proc/close) + INVOKE_ASYNC(src, PROC_REF(close)) /obj/machinery/door/poddoor/incinerator_toxmix name = "combustion chamber vent" diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index b163194c89..6a7cb3b9ff 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -143,7 +143,7 @@ do_animate("opening") playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1) src.icon_state ="[src.base_state]open" - addtimer(CALLBACK(src, .proc/finish_opening), 10) + addtimer(CALLBACK(src, PROC_REF(finish_opening)), 10) return TRUE /obj/machinery/door/window/proc/finish_opening() @@ -173,7 +173,7 @@ density = TRUE air_update_turf(1) update_freelook_sight() - addtimer(CALLBACK(src, .proc/finish_closing), 10) + addtimer(CALLBACK(src, PROC_REF(finish_closing)), 10) return TRUE /obj/machinery/door/window/proc/finish_closing() @@ -224,7 +224,7 @@ operating = TRUE flick("[src.base_state]spark", src) playsound(src, "sparks", 75, 1) - addtimer(CALLBACK(src, .proc/open_windows_me), 6) + addtimer(CALLBACK(src, PROC_REF(open_windows_me)), 6) return TRUE /obj/machinery/door/window/proc/open_windows_me() @@ -342,11 +342,11 @@ return if(density) - INVOKE_ASYNC(src, .proc/open) + INVOKE_ASYNC(src, PROC_REF(open)) else - INVOKE_ASYNC(src, .proc/close) + INVOKE_ASYNC(src, PROC_REF(close)) if("touch") - INVOKE_ASYNC(src, .proc/open_and_close) + INVOKE_ASYNC(src, PROC_REF(open_and_close)) /obj/machinery/door/window/brigdoor name = "secure door" @@ -408,7 +408,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/machinery/door/window/clockwork/allowed(mob/M) if(is_servant_of_ratvar(M)) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index 08419360ec..ed2bd29cb6 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(doppler_arrays) /obj/machinery/doppler_array/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE,null,null,CALLBACK(src,.proc/rot_message)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE,null,null,CALLBACK(src,PROC_REF(rot_message))) /obj/machinery/doppler_array/Destroy() GLOB.doppler_arrays -= src diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 5d0165189d..14392249b6 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -50,7 +50,7 @@ addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5) usr.set_machine(src) - addtimer(CALLBACK(src, .proc/updateDialog), 5) + addtimer(CALLBACK(src, PROC_REF(updateDialog)), 5) /obj/machinery/embedded_controller/process() if(program) diff --git a/code/game/machinery/exp_cloner.dm b/code/game/machinery/exp_cloner.dm index d7ac1e6139..5b7c4fc12c 100644 --- a/code/game/machinery/exp_cloner.dm +++ b/code/game/machinery/exp_cloner.dm @@ -50,10 +50,10 @@ H.faction |= factions H.Unconscious(80) - RegisterSignal(src, COMSIG_NOTIFY_JOIN, .proc/join_as_defective_clone) + RegisterSignal(src, COMSIG_NOTIFY_JOIN, PROC_REF(join_as_defective_clone)) notify_ghosts("[clonename] is available to play as a defective clone.", source = src, action = NOTIFY_JOIN, flashwindow = FALSE) - addtimer(CALLBACK(src, .proc/finish_cloning), 30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(finish_cloning)), 30 SECONDS) return TRUE diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 191967ac1a..29834bd2d7 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -97,7 +97,7 @@ visible_message("The [name] begins warming up!") say("Initializing harvest protocol.") update_icon() - addtimer(CALLBACK(src, .proc/harvest), interval) + addtimer(CALLBACK(src, PROC_REF(harvest)), interval) /obj/machinery/harvester/proc/harvest() warming_up = FALSE @@ -132,7 +132,7 @@ operation_order.Remove(BP) break use_power(5000) - addtimer(CALLBACK(src, .proc/harvest), interval) + addtimer(CALLBACK(src, PROC_REF(harvest)), interval) /obj/machinery/harvester/proc/end_harvesting() warming_up = FALSE diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 9c003ab8f3..600d729fa4 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -639,7 +639,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ if(HOLORECORD_SOUND) playsound(src,entry[2],50,TRUE) if(HOLORECORD_DELAY) - addtimer(CALLBACK(src,.proc/replay_entry,entry_number+1),entry[2]) + addtimer(CALLBACK(src,PROC_REF(replay_entry),entry_number+1),entry[2]) return if(HOLORECORD_LANGUAGE) var/datum/language_holder/holder = replay_holo.get_language_holder() diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index 41f420204e..e42eb49a81 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -95,7 +95,7 @@ START_PROCESSING(SSobj, src) start_time = world.time update_icon() - timerid = addtimer(CALLBACK(src, .proc/finish_interrogation), 450, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(finish_interrogation)), 450, TIMER_STOPPABLE) /obj/machinery/hypnochair/process() var/mob/living/carbon/C = occupant diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index f77cf3adfb..dc0edd0ee6 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -108,7 +108,7 @@ use_power(power) flick("limbgrower_fill",src) icon_state = "limbgrower_idleon" - addtimer(CALLBACK(src, .proc/build_item),32*prod_coeff) + addtimer(CALLBACK(src, PROC_REF(build_item)),32*prod_coeff) else to_chat(usr, "The limb grower is busy. Please wait for completion of previous operation.") diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index c4494b822f..27ac712cf1 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -129,7 +129,7 @@ on = !on if(on) - INVOKE_ASYNC(src, .proc/magnetic_process) + INVOKE_ASYNC(src, PROC_REF(magnetic_process)) @@ -316,7 +316,7 @@ if("togglemoving") moving = !moving if(moving) - INVOKE_ASYNC(src, .proc/MagnetMove) + INVOKE_ASYNC(src, PROC_REF(MagnetMove)) updateUsrDialog() diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index b39c6d350f..da95ef2a35 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -48,4 +48,4 @@ if(isliving(O)) var/mob/living/L = O to_chat(L, "You feel something click beneath you!") - addtimer(CALLBACK(src, .proc/drive), drive_delay) + addtimer(CALLBACK(src, PROC_REF(drive)), drive_delay) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 7534cc6a6c..8167f71faf 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -116,7 +116,7 @@ base.layer = NOT_HIGH_OBJ_LAYER underlays += base if(!has_cover) - INVOKE_ASYNC(src, .proc/popUp) + INVOKE_ASYNC(src, PROC_REF(popUp)) /obj/machinery/porta_turret/proc/toggle_on(set_to) var/current = on @@ -348,7 +348,7 @@ toggle_on(FALSE) //turns off the turret temporarily update_icon() //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit - addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 6 SECONDS) //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here /obj/machinery/porta_turret/emp_act(severity) @@ -368,7 +368,7 @@ toggle_on(FALSE) remove_control() - addtimer(CALLBACK(src, .proc/toggle_on, TRUE), rand(60,600)) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(60,600)) /obj/machinery/porta_turret/take_damage(damage, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) . = ..() @@ -377,7 +377,7 @@ spark_system.start() if(on && !(turret_flags & TURRET_FLAG_SHOOT_ALL_REACT) && !(obj_flags & EMAGGED)) turret_flags |= TURRET_FLAG_SHOOT_ALL_REACT - addtimer(CALLBACK(src, .proc/reset_attacked), 60) + addtimer(CALLBACK(src, PROC_REF(reset_attacked)), 60) /obj/machinery/porta_turret/proc/reset_attacked() turret_flags &= ~TURRET_FLAG_SHOOT_ALL_REACT @@ -564,7 +564,7 @@ if(target) popUp() //pop the turret up if it's not already up. setDir(get_dir(base, target))//even if you can't shoot, follow the target - INVOKE_ASYNC(src, .proc/shootAt, target) + INVOKE_ASYNC(src, PROC_REF(shootAt), target) return 1 return @@ -778,9 +778,9 @@ if(target) setDir(get_dir(base, target))//even if you can't shoot, follow the target shootAt(target) - addtimer(CALLBACK(src, .proc/shootAt, target), 5) - addtimer(CALLBACK(src, .proc/shootAt, target), 10) - addtimer(CALLBACK(src, .proc/shootAt, target), 15) + addtimer(CALLBACK(src, PROC_REF(shootAt), target), 5) + addtimer(CALLBACK(src, PROC_REF(shootAt), target), 10) + addtimer(CALLBACK(src, PROC_REF(shootAt), target), 15) return TRUE /obj/machinery/porta_turret/ai @@ -1176,8 +1176,8 @@ if(team_color == "blue") if(istype(P, /obj/item/projectile/beam/lasertag/redtag)) toggle_on(FALSE) - addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 10 SECONDS) else if(team_color == "red") if(istype(P, /obj/item/projectile/beam/lasertag/bluetag)) toggle_on(FALSE) - addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 10 SECONDS) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 69b2582e73..c3e8c0abad 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -180,7 +180,7 @@ safety_mode = TRUE update_icon() L.forceMove(loc) - addtimer(CALLBACK(src, .proc/reboot), SAFETY_COOLDOWN) + addtimer(CALLBACK(src, PROC_REF(reboot)), SAFETY_COOLDOWN) /obj/machinery/recycler/proc/reboot() playsound(src, 'sound/machines/ping.ogg', 50, 0) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 5687f060e2..4806455bf9 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -338,7 +338,7 @@ GLOBAL_LIST_EMPTY(allConsoles) Radio.set_frequency(radio_freq) Radio.talk_into(src, "[emergency] emergency in [department]!!", radio_freq) update_icon() - addtimer(CALLBACK(src, .proc/clear_emergency), 5 MINUTES) + addtimer(CALLBACK(src, PROC_REF(clear_emergency)), 5 MINUTES) if(href_list["department"] && message) var/sending = message diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm index 7b83401194..dad5a5279c 100644 --- a/code/game/machinery/sheetifier.dm +++ b/code/game/machinery/sheetifier.dm @@ -13,7 +13,7 @@ /obj/machinery/sheetifier/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, .proc/CanInsertMaterials), CALLBACK(src, .proc/AfterInsertMaterials)) + AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, PROC_REF(CanInsertMaterials)), CALLBACK(src, PROC_REF(AfterInsertMaterials))) /obj/machinery/sheetifier/update_overlays() . = ..() @@ -35,7 +35,7 @@ var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing") processing_overlay.color = last_inserted_material.color flick_overlay_static(processing_overlay, src, 64) - addtimer(CALLBACK(src, .proc/finish_processing), 64) + addtimer(CALLBACK(src, PROC_REF(finish_processing)), 64) /obj/machinery/sheetifier/proc/finish_processing() busy_processing = FALSE diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index bd4875e023..cdd781cd6a 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -42,13 +42,13 @@ give_money(rand(1, 125)) crct.start_cash = FALSE - INVOKE_ASYNC(src, .proc/toggle_reel_spin, TRUE)//The reels won't spin unless we activate them + INVOKE_ASYNC(src, PROC_REF(toggle_reel_spin), TRUE)//The reels won't spin unless we activate them var/list/reel = reels[1] for(var/i = 0, i < reel.len, i++) //Populate the reels. randomize_reels() - INVOKE_ASYNC(src, .proc/toggle_reel_spin, FALSE) + INVOKE_ASYNC(src, PROC_REF(toggle_reel_spin), FALSE) /obj/machinery/computer/slot_machine/Destroy() if(balance) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 9fee7e8c3d..5588ae0189 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -211,7 +211,7 @@ usr.visible_message("[usr] switches [on ? "on" : "off"] \the [src].", "You switch [on ? "on" : "off"] \the [src].") update_icon() if (on) - SSair.atmos_air_machinery += src + SSair.atmos_machinery += src . = TRUE if("mode") setMode = params["mode"] diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 1845013289..2fbdb86b96 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -233,7 +233,7 @@ else mob_occupant.adjustFireLoss(rand(10, 16)) mob_occupant.emote("scream") - addtimer(CALLBACK(src, .proc/cook), 50) + addtimer(CALLBACK(src, PROC_REF(cook)), 50) else uv_cycles = initial(uv_cycles) uv = FALSE @@ -322,7 +322,7 @@ if(locked) visible_message("You see [user] kicking against the doors of [src]!", \ "You start kicking against the doors...") - addtimer(CALLBACK(src, .proc/resist_open, user), 300) + addtimer(CALLBACK(src, PROC_REF(resist_open), user), 300) else open_machine() dump_contents() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index ac981dfb14..a24538c04e 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -389,7 +389,7 @@ chem_splash(get_turf(src), spread_range, list(reactants), temp_boost) // Detonate it again in one second, until it's out of juice. - addtimer(CALLBACK(src, .proc/detonate), 10) + addtimer(CALLBACK(src, PROC_REF(detonate)), 10) // If it's not a time release bomb, do normal explosion diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index 539025e4d5..27a2c93173 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -216,7 +216,7 @@ if(istype(S) && S.hack_software) hacking = TRUE //Time it takes to bruteforce is dependant on the password length. - addtimer(CALLBACK(src, .proc/BruteForce, usr), (10 SECONDS) * length(linkedServer.decryptkey)) + addtimer(CALLBACK(src, PROC_REF(BruteForce), usr), (10 SECONDS) * length(linkedServer.decryptkey)) if("del_log") if(!auth) @@ -344,7 +344,7 @@ var/obj/item/paper/monitorkey/MK = new(loc, linkedServer) // Will help make emagging the console not so easy to get away with. MK.info += "

�%@%(*$%&(�&?*(%&�/{}" - addtimer(CALLBACK(src, .proc/UnmagConsole), (10 SECONDS) * length(linkedServer.decryptkey)) + addtimer(CALLBACK(src, PROC_REF(UnmagConsole)), (10 SECONDS) * length(linkedServer.decryptkey)) //message = rebootmsg return TRUE diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 319734469a..cf3cd59dfb 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -103,7 +103,7 @@ R.set_connected_ai(masterAI) R.lawsync() R.lawupdate = 1 - addtimer(CALLBACK(src, .proc/unlock_new_robot, R), 50) + addtimer(CALLBACK(src, PROC_REF(unlock_new_robot), R), 50) /obj/machinery/transformer/proc/unlock_new_robot(mob/living/silicon/robot/R) playsound(src.loc, 'sound/machines/ping.ogg', 50, 0) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 50182454d4..6ae9e44236 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -125,7 +125,7 @@ GLOBAL_LIST_INIT(dye_registry, list( busy = TRUE update_icon() - addtimer(CALLBACK(src, .proc/wash_cycle), 200) + addtimer(CALLBACK(src, PROC_REF(wash_cycle)), 200) START_PROCESSING(SSfastprocess, src) return TRUE diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 17d4f9234a..23f7dd1bd8 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -25,8 +25,8 @@ shield = new/obj/durand_shield shield.chassis = src shield.layer = layer - RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, .proc/relay) - RegisterSignal(src, COMSIG_PROJECTILE_PREHIT, .proc/prehit) + RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, PROC_REF(relay)) + RegisterSignal(src, COMSIG_PROJECTILE_PREHIT, PROC_REF(prehit)) . = ..() /obj/mecha/combat/durand/Destroy() @@ -144,7 +144,7 @@ own integrity back to max. Shield is automatically dropped if we run out of powe /obj/durand_shield/Initialize() . = ..() - RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, .proc/activate) + RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, PROC_REF(activate)) /obj/durand_shield/Destroy() if(chassis) diff --git a/code/game/mecha/combat/neovgre.dm b/code/game/mecha/combat/neovgre.dm index 584a2d007e..619d6e2501 100644 --- a/code/game/mecha/combat/neovgre.dm +++ b/code/game/mecha/combat/neovgre.dm @@ -52,7 +52,7 @@ M.dust() playsound(src, 'sound/effects/neovgre_exploding.ogg', 100, 0) src.visible_message("The reactor has gone critical, its going to blow!") - addtimer(CALLBACK(src,.proc/go_critical),breach_time) + addtimer(CALLBACK(src,PROC_REF(go_critical)),breach_time) /obj/mecha/combat/neovgre/proc/go_critical() explosion(get_turf(loc), 3, 5, 10, 20, 30) diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 4dfa0881a8..b4952622fc 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -95,7 +95,7 @@ M.dust() playsound(src, 'sound//f13machines//vertibird_crash.ogg', 100, 0) src.visible_message("The reactor has gone critical, its going to blow!") - addtimer(CALLBACK(src,.proc/go_critical),breach_time) + addtimer(CALLBACK(src,PROC_REF(go_critical)),breach_time) /obj/mecha/combat/phazon/vertibird/proc/go_critical() explosion(get_turf(loc), 3, 5, 10) @@ -176,7 +176,7 @@ M.dust() playsound(src, 'sound//f13machines//vertibird_crash.ogg', 100, 0) src.visible_message("The reactor has gone critical, its going to blow!") - addtimer(CALLBACK(src,.proc/go_critical),breach_time) + addtimer(CALLBACK(src,PROC_REF(go_critical)),breach_time) /obj/mecha/combat/phazon/vertibird/ncr/loaded/Initialize() . = ..() @@ -255,7 +255,7 @@ M.dust() playsound(src, 'sound//f13machines//vertibird_crash.ogg', 100, 0) src.visible_message("The reactor has gone critical, its going to blow!") - addtimer(CALLBACK(src,.proc/go_critical),breach_time) + addtimer(CALLBACK(src,PROC_REF(go_critical)),breach_time) /obj/mecha/combat/phazon/vertibird/enclave/loaded/Initialize() . = ..() @@ -328,7 +328,7 @@ M.dust() playsound(src, 'sound//f13machines//vertibird_crash.ogg', 100, 0) src.visible_message("The reactor has gone critical, its going to blow!") - addtimer(CALLBACK(src,.proc/go_critical),breach_time) + addtimer(CALLBACK(src,PROC_REF(go_critical)),breach_time) /obj/mecha/combat/phazon/vertibird/brotherhood/loaded/Initialize() . = ..() diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index ef1565502e..874ea00894 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -97,7 +97,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/start_cooldown() set_ready_state(0) chassis.use_power(energy_drain) - addtimer(CALLBACK(src, .proc/set_ready_state, 1), equip_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown) /obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(atom/target) if(!chassis) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 3682c0d4a6..28730b8ee0 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -367,7 +367,7 @@ /obj/item/mecha_parts/mecha_equipment/cable_layer/attach() ..() - event = chassis.events.addEvent("onMove", CALLBACK(src, .proc/layCable)) + event = chassis.events.addEvent("onMove", CALLBACK(src, PROC_REF(layCable))) return /obj/item/mecha_parts/mecha_equipment/cable_layer/detach() diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 172e32645b..12eba533c2 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -70,7 +70,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/start_cooldown() set_ready_state(0) chassis.use_power(energy_drain*get_shot_amount()) - addtimer(CALLBACK(src, .proc/set_ready_state, 1), equip_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown) /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser equip_cooldown = 7 diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 5524f6bd8c..87adb5109c 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -67,7 +67,7 @@ /obj/machinery/mecha_part_fabricator/Initialize(mapload) stored_research = new - rmat = AddComponent(/datum/component/remote_materials, "mechfab", mapload && link_on_init, _after_insert=CALLBACK(src, .proc/AfterMaterialInsert)) + rmat = AddComponent(/datum/component/remote_materials, "mechfab", mapload && link_on_init, _after_insert=CALLBACK(src, PROC_REF(AfterMaterialInsert))) RefreshParts() //Recalculating local material sizes if the fab isn't linked return ..() diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 14a7334a11..5bf09b3b7a 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -436,7 +436,7 @@ for(var/mob/M in get_hearers_in_view(7,src)) if(M.client) speech_bubble_recipients.Add(M.client) - INVOKE_ASYNC(GLOBAL_PROC, /proc/flick_overlay, image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30) + INVOKE_ASYNC(GLOBAL_PROC,GLOBAL_PROC_REF(flick_overlay), image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30) //////////////////////////// ///// Action processing //// diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 6156a867ed..5ada142f21 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -132,7 +132,7 @@ return if(chassis) chassis.emp_act(80) - addtimer(CALLBACK(src, /obj/item/mecha_parts/mecha_tracking/proc/recharge), 5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/mecha_parts/mecha_tracking, recharge)), 5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) recharging = TRUE /** diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index a79f86fef3..ebdc386de0 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -147,7 +147,7 @@ occupant?.update_mouse_pointer() if(!equipment_disabled && occupant) //prevent spamming this message with back-to-back EMPs to_chat(occupant, "Error -- Connection to equipment control unit has been lost.
") - addtimer(CALLBACK(src, /obj/mecha/proc/restore_equipment), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/mecha, restore_equipment)), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) equipment_disabled = 1 /obj/mecha/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 8f8b83bfde..4c7db0f120 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -138,7 +138,7 @@ /obj/effect/anomaly/grav/high/Initialize(mapload, new_lifespan) . = ..() - INVOKE_ASYNC(src, .proc/setup_grav_field) + INVOKE_ASYNC(src, PROC_REF(setup_grav_field)) /obj/effect/anomaly/grav/high/proc/setup_grav_field() grav_field = make_field(/datum/proximity_monitor/advanced/gravity, list("current_range" = 7, "host" = src, "gravity_value" = rand(0,3))) @@ -245,7 +245,7 @@ if(ismob(A) && !(A in flashers)) // don't flash if we're already doing an effect var/mob/M = A if(M.client) - INVOKE_ASYNC(src, .proc/blue_effect, M) + INVOKE_ASYNC(src, PROC_REF(blue_effect), M) /obj/effect/anomaly/bluespace/proc/blue_effect(mob/M) var/obj/blueeffect = new /obj(src) @@ -280,7 +280,7 @@ T.atmos_spawn_air("o2=5;plasma=5;TEMP=1000") /obj/effect/anomaly/pyro/detonate() - INVOKE_ASYNC(src, .proc/makepyroslime) + INVOKE_ASYNC(src, PROC_REF(makepyroslime)) /obj/effect/anomaly/pyro/proc/makepyroslime() var/turf/open/T = get_turf(src) diff --git a/code/game/objects/effects/blessing.dm b/code/game/objects/effects/blessing.dm index 6db28b3700..886c1b7648 100644 --- a/code/game/objects/effects/blessing.dm +++ b/code/game/objects/effects/blessing.dm @@ -16,7 +16,7 @@ I.alpha = 64 I.appearance_flags = RESET_ALPHA add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessedAware, "blessing", I) - RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, .proc/block_cult_teleport) + RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, PROC_REF(block_cult_teleport)) /obj/effect/blessing/Destroy() UnregisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT) diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index df65cbc24b..ee92265a62 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -30,7 +30,7 @@ name = "[name] - [poster_structure.original_name]" //If the poster structure is being deleted something has gone wrong, kill yourself off too - RegisterSignal(poster_structure, COMSIG_PARENT_QDELETING, .proc/react_to_deletion) + RegisterSignal(poster_structure, COMSIG_PARENT_QDELETING, PROC_REF(react_to_deletion)) /obj/item/poster/Destroy() diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 2ca8422373..a1a1581d8e 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -53,7 +53,7 @@ would spawn and follow the beaker, even if it is carried or thrown. for(var/i in 1 to number) if(total_effects > 20) return - INVOKE_ASYNC(src, .proc/generate_effect) + INVOKE_ASYNC(src, PROC_REF(generate_effect)) /datum/effect_system/proc/generate_effect() if(holder) @@ -74,7 +74,7 @@ would spawn and follow the beaker, even if it is carried or thrown. sleep(5) step(E,direction) if(!QDELETED(src)) - addtimer(CALLBACK(src, .proc/decrement_total_effect), 20) + addtimer(CALLBACK(src, PROC_REF(decrement_total_effect)), 20) /datum/effect_system/proc/decrement_total_effect() total_effects-- diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm index d208510e86..c6d3108642 100644 --- a/code/game/objects/effects/effect_system/effects_explosion.dm +++ b/code/game/objects/effects/effect_system/effects_explosion.dm @@ -17,7 +17,7 @@ var/direct = pick(GLOB.alldirs) var/steps_amt = pick(1;25,2;50,3,4;200) for(var/j in 1 to steps_amt) - addtimer(CALLBACK(GLOBAL_PROC, .proc/_step, expl, direct), j) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(_step), expl, direct), j) /obj/effect/explosion name = "fire" @@ -55,4 +55,4 @@ S.start() /datum/effect_system/explosion/smoke/start() ..() - addtimer(CALLBACK(src, .proc/create_smoke), 5) + addtimer(CALLBACK(src, PROC_REF(create_smoke)), 5) diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 5a475ec351..5c7b9cca4f 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -42,7 +42,7 @@ /obj/effect/particle_effect/smoke/proc/kill_smoke() STOP_PROCESSING(SSobj, src) - INVOKE_ASYNC(src, .proc/fade_out) + INVOKE_ASYNC(src, PROC_REF(fade_out)) QDEL_IN(src, 10) /obj/effect/particle_effect/smoke/process() @@ -64,7 +64,7 @@ if(C.smoke_delay) return 0 C.smoke_delay++ - addtimer(CALLBACK(src, .proc/remove_smoke_delay, C), 10) + addtimer(CALLBACK(src, PROC_REF(remove_smoke_delay), C), 10) return 1 /obj/effect/particle_effect/smoke/proc/remove_smoke_delay(mob/living/carbon/C) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 92fdbb4d58..b62fc2713f 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -80,7 +80,7 @@ else //if on the floor, glowshroom on-floor sprite icon_state = base_icon_state - //addtimer(CALLBACK(src, .proc/Spread), delay) + //addtimer(CALLBACK(src, PROC_REF(Spread)), delay) /obj/structure/glowshroom/proc/Spread() return //temp disable @@ -129,7 +129,7 @@ shrooms_planted++ //if we failed due to generation, don't try to plant one later if(shrooms_planted < myseed.yield) //if we didn't get all possible shrooms planted, try again later myseed.yield -= shrooms_planted - addtimer(CALLBACK(src, .proc/Spread), delay)*/ + addtimer(CALLBACK(src, PROC_REF(Spread)), delay)*/ /obj/structure/glowshroom/proc/CalcDir(turf/location = loc) var/direction = 16 diff --git a/code/game/objects/effects/proximity.dm b/code/game/objects/effects/proximity.dm index ab35d213ea..d736828d2f 100644 --- a/code/game/objects/effects/proximity.dm +++ b/code/game/objects/effects/proximity.dm @@ -23,7 +23,7 @@ else if(hasprox_receiver == host) //Default case hasprox_receiver = H host = H - RegisterSignal(host, COMSIG_MOVABLE_MOVED, .proc/HandleMove) + RegisterSignal(host, COMSIG_MOVABLE_MOVED, PROC_REF(HandleMove)) last_host_loc = host.loc SetRange(current_range,TRUE) diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm index 256db65e06..5ad25f4c33 100644 --- a/code/game/objects/effects/spawners/gibspawner.dm +++ b/code/game/objects/effects/spawners/gibspawner.dm @@ -18,7 +18,7 @@ if(gibamounts.len != gibdirections.len) stack_trace("Gib list dir length mismatch!") return - INVOKE_ASYNC(src, .proc/do_gibs) // shitty hack + INVOKE_ASYNC(src, PROC_REF(do_gibs)) // shitty hack /obj/effect/gibspawner/proc/do_gibs(mob/living/source_mob, list/datum/disease/diseases, list/blood_dna) var/obj/effect/decal/cleanable/blood/gibs/gib = null diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm index dd4a6ea479..c6f8b29a94 100644 --- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm +++ b/code/game/objects/effects/spawners/xeno_egg_delivery.dm @@ -15,5 +15,5 @@ message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].") log_game("An alien egg has been delivered to [AREACOORD(T)]") var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen." - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, /proc/_addtimer, CALLBACK(GLOBAL_PROC, /proc/print_command_report, message), announcement_time)) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(print_command_report), message), announcement_time)) return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/effects/temporary_visuals/clockcult.dm b/code/game/objects/effects/temporary_visuals/clockcult.dm index 9a236c00c3..cae85bbf5b 100644 --- a/code/game/objects/effects/temporary_visuals/clockcult.dm +++ b/code/game/objects/effects/temporary_visuals/clockcult.dm @@ -113,7 +113,7 @@ var/matrix/M = new M.Turn(Get_Angle(src, user)) transform = M - INVOKE_ASYNC(src, .proc/volthit) + INVOKE_ASYNC(src, PROC_REF(volthit)) /obj/effect/temp_visual/ratvar/volt_hit/proc/volthit() if(user) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 8d5458333c..3057f1c852 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -478,7 +478,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 @@ -500,7 +500,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.dm b/code/game/objects/items.dm index 048e8e6651..986e49e560 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -668,7 +668,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, messy_throw = TRUE) thrownby = thrower - callback = CALLBACK(src, .proc/after_throw, callback, (spin && messy_throw)) //replace their callback with our own + callback = CALLBACK(src, PROC_REF(after_throw), callback, (spin && messy_throw)) //replace their callback with our own . = ..(target, range, speed, thrower, spin, diagonals_first, callback, force) /obj/item/proc/after_throw(datum/callback/callback, messy_throw) @@ -840,7 +840,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if((item_flags & IN_INVENTORY) && usr.client.prefs.enable_tips && !QDELETED(src)) var/timedelay = usr.client.prefs.tip_delay/100 var/user = usr - tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it. + tip_timer = addtimer(CALLBACK(src, PROC_REF(openTip), location, control, params, user), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it. /obj/item/MouseExited(location,control,params) SEND_SIGNAL(src, COMSIG_ITEM_MOUSE_EXIT, location, control, params) @@ -868,7 +868,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb delay = user.mind.item_action_skills_mod(src, delay, skill_difficulty, SKILL_USE_TOOL, null, FALSE) // Create a callback with checks that would be called every tick by do_after. - var/datum/callback/tool_check = CALLBACK(src, .proc/tool_check_callback, user, amount, extra_checks) + var/datum/callback/tool_check = CALLBACK(src, PROC_REF(tool_check_callback), user, amount, extra_checks) if(ismob(target)) if(!do_mob(user, target, delay, extra_checks=tool_check)) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 63c7a7279a..e55309b5d4 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -292,7 +292,7 @@ RLD "SOUTH" = image(icon = 'icons/mob/radial.dmi', icon_state = "csouth"), "WEST" = image(icon = 'icons/mob/radial.dmi', icon_state = "cwest") ) - var/computerdirs = show_radial_menu(user, src, computer_dirs, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/computerdirs = show_radial_menu(user, src, computer_dirs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(computerdirs) @@ -351,13 +351,13 @@ RLD "External Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance/external/glass) ) - var/airlockcat = show_radial_menu(user, src, solid_or_glass_choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) + var/airlockcat = show_radial_menu(user, src, solid_or_glass_choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE) if(!check_menu(user)) return switch(airlockcat) if("Solid") if(advanced_airlock_setting == 1) - var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) + var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE) if(!check_menu(user)) return switch(airlockpaint) @@ -402,7 +402,7 @@ RLD if("Glass") if(advanced_airlock_setting == 1) - var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) + var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE) if(!check_menu(user)) return switch(airlockpaint) @@ -494,7 +494,7 @@ RLD choices += list( "Change Window Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "windowtype") ) - var/choice = show_radial_menu(user,src,choices, custom_check = CALLBACK(src,.proc/check_menu,user)) + var/choice = show_radial_menu(user,src,choices, custom_check = CALLBACK(src,PROC_REF(check_menu),user)) if(!check_menu(user)) return switch(choice) @@ -548,7 +548,7 @@ RLD buzz loudly!
","[src] begins \ vibrating violently!") // 5 seconds to get rid of it - addtimer(CALLBACK(src, .proc/detonate_pulse_explode), 50) + addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 50) /obj/item/construction/rcd/proc/detonate_pulse_explode() explosion(src, 0, 0, 3, 1, flame_range = 1) @@ -886,7 +886,7 @@ RLD machinery_data["cost"][A] = initial(M.rcd_cost) machinery_data["delay"][A] = initial(M.rcd_delay) - 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 diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index e0ac4b43c6..b04969168a 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -25,8 +25,8 @@ /obj/item/rcl/Initialize() . = ..() - 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)) update_icon() /obj/item/rcl/ComponentInitialize() @@ -171,7 +171,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, .proc/trigger) + RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, PROC_REF(trigger)) listeningTo = to_hook /obj/item/rcl/proc/trigger(mob/user) @@ -252,7 +252,7 @@ /obj/item/rcl/proc/showWiringGui(mob/user) var/list/choices = wiringGuiGenerateChoices(user) - wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, .proc/wiringGuiReact, user), radius = 42) + wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, PROC_REF(wiringGuiReact), user), radius = 42) /obj/item/rcl/proc/wiringGuiUpdate(mob/user) if(!wiring_gui_menu) diff --git a/code/game/objects/items/binoculars.dm b/code/game/objects/items/binoculars.dm index e08d3b82ca..6ee3754119 100644 --- a/code/game/objects/items/binoculars.dm +++ b/code/game/objects/items/binoculars.dm @@ -27,8 +27,8 @@ /obj/item/binoculars/Initialize() . = ..() - 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/binoculars/ComponentInitialize() . = ..() @@ -39,8 +39,8 @@ return ..() /obj/item/binoculars/proc/on_wield(obj/item/source, mob/user) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/unwield) - RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(unwield)) + RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate)) listeningTo = user user.visible_message("[user] holds [src] up to [user.p_their()] eyes.", "You hold [src] up to your eyes.") item_state = "binoculars_wielded" diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm index d08e622285..adb36d7bc8 100644 --- a/code/game/objects/items/body_egg.dm +++ b/code/game/objects/items/body_egg.dm @@ -18,13 +18,13 @@ ..() ADD_TRAIT(owner, TRAIT_XENO_HOST, TRAIT_GENERIC) owner.med_hud_set_status() - INVOKE_ASYNC(src, .proc/AddInfectionImages, owner) + INVOKE_ASYNC(src, PROC_REF(AddInfectionImages), owner) /obj/item/organ/body_egg/Remove(special = FALSE) if(!QDELETED(owner)) REMOVE_TRAIT(owner, TRAIT_XENO_HOST, TRAIT_GENERIC) owner.med_hud_set_status() - INVOKE_ASYNC(src, .proc/RemoveInfectionImages, owner) + INVOKE_ASYNC(src, PROC_REF(RemoveInfectionImages), owner) return ..() /obj/item/organ/body_egg/on_death() diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index da2420586f..a3499d717d 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -15,8 +15,8 @@ /obj/item/broom/Initialize() . = ..() - 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/broom/ComponentInitialize() . = ..() @@ -28,7 +28,7 @@ /// triggered on wield of two handed item /obj/item/broom/proc/on_wield(obj/item/source, mob/user) to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") - RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, .proc/sweep) + RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(sweep)) /// triggered on unwield of two handed item /obj/item/broom/proc/on_unwield(obj/item/source, mob/user) diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index ce1e7554e1..c328d35947 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -115,7 +115,7 @@ /obj/item/candle/tribal_torch/proc/flicker(duration) flickering = TRUE - addtimer(CALLBACK(src, .proc/unflicker, light_range), duration) + addtimer(CALLBACK(src, PROC_REF(unflicker), light_range), duration) set_light_range(light_range - rand(1, 2)) /obj/item/candle/tribal_torch/proc/unflicker(new_range) diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index daaf964c43..d37a8a4a5f 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -107,7 +107,7 @@ * * user The mob choosing a skin of the cardboard cutout */ /obj/item/cardboard_cutout/proc/change_appearance(obj/item/toy/crayon/crayon, mob/living/user) - var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, .proc/check_menu, user, crayon), radius = 36, require_near = TRUE) + var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, PROC_REF(check_menu), user, crayon), radius = 36, require_near = TRUE) if(!new_appearance) return if(!do_after(user, 10, FALSE, src, TRUE)) diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 9b658bc5f1..32935a4e0d 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -62,7 +62,7 @@ to_chat(user, "Your name has been sent to your employers for approval.") // Autoapproves after a certain time - response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) + response_timer_id = addtimer(CALLBACK(src, PROC_REF(rename_station), new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]") /obj/item/station_charter/proc/reject_proposed(user) diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 8d55d3d5a2..d7c1cb044f 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -78,7 +78,7 @@ add_overlay("flaps") add_overlay("hatch") add_overlay("legs_retracted") - addtimer(CALLBACK(src, .proc/startUp), 50) + addtimer(CALLBACK(src, PROC_REF(startUp)), 50) QDEL_IN(src, 8 MINUTES) //Self destruct after 8 min @@ -171,7 +171,7 @@ if (account) // get_bank_account() may return FALSE account.transfer_money(B, amount) B.bank_card_talk("You have lost [percentage_lost * 100]% of your funds! A spacecoin credit deposit machine is located at: [get_area(src)].") - addtimer(CALLBACK(src, .proc/dump), 150) //Drain every 15 seconds + addtimer(CALLBACK(src, PROC_REF(dump)), 150) //Drain every 15 seconds /obj/structure/checkoutmachine/process() var/anydir = pick(GLOB.cardinals) @@ -208,7 +208,7 @@ /obj/effect/dumpeetTarget/Initialize(mapload, user) . = ..() bogdanoff = user - addtimer(CALLBACK(src, .proc/startLaunch), 100) + addtimer(CALLBACK(src, PROC_REF(startLaunch)), 100) sound_to_playing_players('sound/items/dump_it.ogg', 20) deadchat_broadcast("Protocol CRAB-17 has been activated. A space-coin market has been launched at the station!", turf_target = get_turf(src)) @@ -218,7 +218,7 @@ priority_announce("The spacecoin bubble has popped! Get to the credit deposit machine at [get_area(src)] and cash out before you lose all of your funds!", sender_override = "CRAB-17 Protocol") animate(DF, pixel_z = -8, time = 5, , easing = LINEAR_EASING) playsound(src, 'sound/weapons/mortar_whistle.ogg', 70, TRUE, 6) - addtimer(CALLBACK(src, .proc/endLaunch), 5, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation + addtimer(CALLBACK(src, PROC_REF(endLaunch)), 5, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm index c7aaab6a26..33c67039dc 100644 --- a/code/game/objects/items/debug_items.dm +++ b/code/game/objects/items/debug_items.dm @@ -65,7 +65,7 @@ "Scalpel" = image(icon = 'icons/obj/surgery.dmi', icon_state = "scalpel"), "Saw" = image(icon = 'icons/obj/surgery.dmi', icon_state = "saw") ) - var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user)) return switch(tool_result) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index b32840e7a8..5a64894b23 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -307,8 +307,8 @@ /obj/item/shockpaddles/Initialize() . = ..() - 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)) if(!req_defib) return //If it doesn't need a defib, just say it exists if (!loc || !istype(loc, /obj/item/defibrillator)) //To avoid weird issues from admin spawns @@ -338,7 +338,7 @@ . = ..() if(!req_defib) return - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/check_range) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(check_range)) /obj/item/shockpaddles/Moved() . = ..() diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 9f9f636db4..89e9498db3 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -559,7 +559,7 @@ GLOBAL_LIST_EMPTY(PDAs) update_label() if (!silent) playsound(src, 'sound/machines/terminal_processing.ogg', 15, 1) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/machines/terminal_success.ogg', 15, 1), 13) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(playsound), src, 'sound/machines/terminal_success.ogg', 15, 1), 13) if("Eject")//Ejects the cart, only done from hub. if (!isnull(cartridge)) diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index dbd9cb2909..e941a23b70 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -57,7 +57,7 @@ SEND_SIGNAL(AM, COMSIG_MOVABLE_SECLUDED_LOCATION) last_use = world.time icon_state = "desynchronizer-on" - resync_timer = addtimer(CALLBACK(src, .proc/resync), duration , TIMER_STOPPABLE) + resync_timer = addtimer(CALLBACK(src, PROC_REF(resync)), duration , TIMER_STOPPABLE) /obj/item/desynchronizer/proc/resync() new /obj/effect/temp_visual/desynchronizer(sync_holder.drop_location()) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 5dbda8de54..b62a166d3d 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -43,7 +43,7 @@ maptext = "[circuits]" icon_state = "[initial(icon_state)]_recharging" var/recharge_time = min(600, circuit_cost * 5) //40W of cost for one fabrication = 20 seconds of recharge time; this is to prevent spamming - addtimer(CALLBACK(src, .proc/recharge), recharge_time) + addtimer(CALLBACK(src, PROC_REF(recharge)), recharge_time) return TRUE //The actual circuit magic itself is done on a per-object basis /obj/item/electroadaptive_pseudocircuit/afterattack(atom/target, mob/living/user, proximity) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index f5d3014d35..180c0de06d 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -136,7 +136,7 @@ if(user.a_intent == INTENT_HELP) if(!(obj_flags & EMAGGED)) user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...") - addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents + addtimer(CALLBACK(src, PROC_REF(scan), target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents else user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!") target.rad_act(radiation_count) @@ -213,7 +213,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT) - RegisterSignal(user, COMSIG_ATOM_RAD_ACT, .proc/redirect_rad_act) + RegisterSignal(user, COMSIG_ATOM_RAD_ACT, PROC_REF(redirect_rad_act)) listeningTo = user /obj/item/geiger_counter/cyborg/proc/redirect_rad_act(datum/source, amount) diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 4daedf30bf..233a1fe1ba 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -21,7 +21,7 @@ /obj/item/megaphone/equipped(mob/M, slot) . = ..() if (slot == SLOT_HANDS) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm index 2b5c8d873b..de166dd383 100644 --- a/code/game/objects/items/devices/pressureplates.dm +++ b/code/game/objects/items/devices/pressureplates.dm @@ -44,7 +44,7 @@ else if(!trigger_item) return can_trigger = FALSE - addtimer(CALLBACK(src, .proc/trigger), trigger_delay) + addtimer(CALLBACK(src, PROC_REF(trigger)), trigger_delay) /obj/item/pressure_plate/proc/trigger() can_trigger = TRUE diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 2c92bb4033..375243ebb9 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -247,7 +247,7 @@ spans = list(M.speech_span) if(!language) language = M.get_selected_language() - INVOKE_ASYNC(src, .proc/talk_into_impl, M, message, channel, spans.Copy(), language) + INVOKE_ASYNC(src, PROC_REF(talk_into_impl), M, message, channel, spans.Copy(), language) return ITALICS | REDUCE_RANGE /obj/item/radio/proc/talk_into_impl(atom/movable/M, message, channel, list/spans, datum/language/language) @@ -322,7 +322,7 @@ // Non-subspace radios will check in a couple of seconds, and if the signal // was never received, send a mundane broadcast (no headsets). - addtimer(CALLBACK(src, .proc/backup_transmission, signal), 20) + addtimer(CALLBACK(src, PROC_REF(backup_transmission), signal), 20) /obj/item/radio/proc/backup_transmission(datum/signal/subspace/vocal/signal) var/turf/T = get_turf(src) diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index f2a0ea5450..f19f0a7205 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -43,7 +43,7 @@ soundloop.stop() soundloop2.stop() to_chat(loc, "*ding*") - addtimer(CALLBACK(src, .proc/snap), 2) + addtimer(CALLBACK(src, PROC_REF(snap)), 2) /obj/item/reverse_bear_trap/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) if(iscarbon(user)) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index b78a5b1c1c..4538d58210 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -674,7 +674,7 @@ GENETICS SCANNER else to_chat(user, "[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].")*/ cooldown = TRUE - addtimer(CALLBACK(src,/obj/item/analyzer/proc/ping), cooldown_time) + addtimer(CALLBACK(src,TYPE_PROC_REF(/obj/item/analyzer, ping)), cooldown_time) /obj/item/analyzer/proc/ping() if(isliving(loc)) @@ -974,7 +974,7 @@ GENETICS SCANNER ready = FALSE icon_state = "[icon_state]_recharging" - addtimer(CALLBACK(src, .proc/recharge), cooldown, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(recharge)), cooldown, TIMER_UNIQUE) /obj/item/sequence_scanner/proc/recharge() icon_state = initial(icon_state) diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index eb444cdb12..0eedd1aab5 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -92,7 +92,7 @@ effective or pretty fucking useless. addtimer(VARSET_CALLBACK(src, used, FALSE), cooldown) addtimer(VARSET_CALLBACK(src, icon_state, "health"), cooldown) to_chat(user, "Successfully irradiated [M].") - addtimer(CALLBACK(src, .proc/radiation_aftereffect, M), (wavelength+(intensity*4))*5) + addtimer(CALLBACK(src, PROC_REF(radiation_aftereffect), M), (wavelength+(intensity*4))*5) else to_chat(user, "The radioactive microlaser is still recharging.") diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 17115b4289..858426c483 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -144,7 +144,7 @@ if(toggle) toggle = FALSE toggle_valve() - addtimer(CALLBACK(src, .proc/toggle_off), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever + addtimer(CALLBACK(src, PROC_REF(toggle_off)), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever /obj/item/transfer_valve/proc/toggle_off() toggle = TRUE diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 4aeefbdf3b..85485b2765 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -90,8 +90,8 @@ /obj/item/dualsaber/Initialize() . = ..() - 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/dualsaber/ComponentInitialize() . = ..() @@ -186,7 +186,7 @@ impale(user) return if(spinnable && (wielded) && prob(50)) - INVOKE_ASYNC(src, .proc/jedi_spin, user) + INVOKE_ASYNC(src, PROC_REF(jedi_spin), user) /obj/item/dualsaber/proc/jedi_spin(mob/living/user) for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) @@ -242,7 +242,7 @@ add_fingerprint(user) // Light your candles while spinning around the room if(spinnable) - INVOKE_ASYNC(src, .proc/jedi_spin, user) + INVOKE_ASYNC(src, PROC_REF(jedi_spin), user) /obj/item/dualsaber/green possible_colors = list("green") diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 0d5c9a22aa..eb5147b77c 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -64,7 +64,7 @@ say(answer) on_cooldown = TRUE - addtimer(CALLBACK(src, .proc/clear_cooldown), cooldown_time) + addtimer(CALLBACK(src, PROC_REF(clear_cooldown)), cooldown_time) shaking = FALSE diff --git a/code/game/objects/items/electrostaff.dm b/code/game/objects/items/electrostaff.dm index ced96deacb..e2556ad349 100644 --- a/code/game/objects/items/electrostaff.dm +++ b/code/game/objects/items/electrostaff.dm @@ -75,8 +75,8 @@ . = ..() if(ispath(cell)) cell = new cell - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/turn_on) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/turn_off) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(turn_on)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(turn_off)) /obj/item/electrostaff/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 68af765c6a..2fcfae6588 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -160,7 +160,7 @@ if(user.buckled && isobj(user.buckled) && !user.buckled.anchored) var/obj/B = user.buckled var/movementdirection = turn(direction,180) - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_chair, B, movementdirection), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_chair), B, movementdirection), 1) else user.newtonian_move(turn(direction, 180)) @@ -188,7 +188,7 @@ reagents.trans_to(W,1) //Make em move dat ass, hun - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_particles, water_particles), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_particles), water_particles), 2) //Particle movement loop /obj/item/extinguisher/proc/move_particles(list/particles, repetition=0) @@ -210,7 +210,7 @@ break if(repetition < power) repetition++ - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_particles, particles, repetition), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_particles), particles, repetition), 2) //Chair movement loop /obj/item/extinguisher/proc/move_chair(obj/B, movementdirection, repetition=0) @@ -228,7 +228,7 @@ return repetition++ - addtimer(CALLBACK(src, /obj/item/extinguisher/proc/move_chair, B, movementdirection, repetition), timer_seconds) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/extinguisher, move_chair), B, movementdirection, repetition), timer_seconds) /obj/item/extinguisher/AltClick(mob/user) if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) diff --git a/code/game/objects/items/fishingrod.dm b/code/game/objects/items/fishingrod.dm index ff039a056e..79b0bdb11a 100644 --- a/code/game/objects/items/fishingrod.dm +++ b/code/game/objects/items/fishingrod.dm @@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(fish_rates, list( return if(current_user) UnregisterSignal(current_user, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/falsify_inuse) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(falsify_inuse)) current_user = user /obj/item/fishingrod/dropped(mob/user) @@ -70,7 +70,7 @@ GLOBAL_LIST_INIT(fish_rates, list( return //yea, we aren't terraria with a fishing rod that has multiple lines inuse = TRUE var/random_fishtime = rand(min_fishtime, max_fishtime) - addtimer(CALLBACK(src, .proc/play_readysound), random_fishtime) + addtimer(CALLBACK(src, PROC_REF(play_readysound)), random_fishtime) current_wait = world.time + random_fishtime current_waitfail = current_wait + max_afterfish to_chat(current_user, "You cast your fishing line, get ready to reel it back in!") diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index b5996cefee..5429d23988 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -312,7 +312,7 @@ message_admins("grenade primed by an assembly at [AREACOORD(DT)], attached by [ADMIN_LOOKUPFLW(M)] and last touched by [ADMIN_LOOKUPFLW(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]).") log_game("grenade primed by an assembly at [AREACOORD(DT)], attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name])") else - addtimer(CALLBACK(src, .proc/prime), det_time) + addtimer(CALLBACK(src, PROC_REF(prime)), det_time) log_game("A grenade detonated at [AREACOORD(DT)]") return TRUE diff --git a/code/game/objects/items/grenades/clusterbuster.dm b/code/game/objects/items/grenades/clusterbuster.dm index 9980ff34ce..cae73f157d 100644 --- a/code/game/objects/items/grenades/clusterbuster.dm +++ b/code/game/objects/items/grenades/clusterbuster.dm @@ -58,7 +58,7 @@ var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) - addtimer(CALLBACK(src, .proc/prime), rand(15,60)) + addtimer(CALLBACK(src, PROC_REF(prime)), rand(15,60)) /obj/item/grenade/clusterbuster/segment/prime(mob/living/lanced_by) new payload_spawner(drop_location(), payload, rand(min_spawned,max_spawned)) diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 01323557be..df4308edd3 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -154,7 +154,7 @@ item_state = initial(item_state) + "_active" if(isGlass) return - addtimer(CALLBACK(src, .proc/splash_and_boom), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(splash_and_boom)), 5 SECONDS) /obj/item/reagent_containers/food/drinks/bottle/molotov/proc/splash_and_boom() diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index e056636e1f..5c4ca32320 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -112,7 +112,7 @@ active = TRUE icon_state = initial(icon_state) + "_active" item_state = initial(item_state) + "_active" - addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) + addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride) // for ticking sound until detonation /obj/item/grenade/proc/primetimer(mob/user, delayoverride, msg = TRUE, volume = 60) @@ -128,7 +128,7 @@ active = TRUE icon_state = initial(icon_state) + "_active" item_state = initial(item_state) + "_active" - addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) + addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride) // For hissing fuse sound /obj/item/grenade/proc/primefuse(mob/user, delayoverride, msg = TRUE, volume = 60) @@ -145,7 +145,7 @@ active = TRUE icon_state = initial(icon_state) + "_active" item_state = initial(item_state) + "_active" - addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) + addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride) /obj/item/grenade/proc/prime(mob/living/lanced_by) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 014487332c..c6e5092265 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -61,7 +61,7 @@ if(!QDELETED(target)) location = get_turf(target) target.cut_overlay(plastic_overlay) - UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/add_plastic_overlay) + UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_plastic_overlay)) if(!ismob(target) || full_damage_on_mobs) target.ex_act(EXPLODE_HEAVY, target) else @@ -127,11 +127,11 @@ I.embedding["embed_chance"] = 0 I.updateEmbedding() - RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/add_plastic_overlay) + RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_plastic_overlay)) target.update_icon() if(!nadeassembly) to_chat(user, "You plant the bomb. Timer counting down from [det_time].") - addtimer(CALLBACK(src, .proc/prime), det_time*10) + addtimer(CALLBACK(src, PROC_REF(prime)), det_time*10) else qdel(src) //How? diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index abf5b7b612..9dfc54868d 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -314,7 +314,7 @@ /obj/item/restraints/legcuffs/beartrap/energy/New() ..() - addtimer(CALLBACK(src, .proc/dissipate), 100) + addtimer(CALLBACK(src, PROC_REF(dissipate)), 100) /obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate() if(!ismob(loc)) diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index 6e270b6374..ce9c001c68 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -29,7 +29,7 @@ . = ..() START_PROCESSING(SSprocessing, src) GLOB.poi_list += src - RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, .proc/move_gracefully) + RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, PROC_REF(move_gracefully)) /obj/item/his_grace/Destroy() STOP_PROCESSING(SSprocessing, src) @@ -40,7 +40,7 @@ /obj/item/his_grace/attack_self(mob/living/user) if(!awakened) - INVOKE_ASYNC(src, .proc/awaken, user) + INVOKE_ASYNC(src, PROC_REF(awaken), user) /obj/item/his_grace/attack(mob/living/M, mob/user) if(awakened && M.stat) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 5f156eea8b..7b4b5f5072 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -317,7 +317,7 @@ nullrod_icons = sortList(nullrod_icons) - var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, .proc/check_menu, L), radius = 42, require_near = TRUE) + var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), L), radius = 42, require_near = TRUE) if(!choice || !check_menu(L)) return @@ -723,7 +723,7 @@ playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, 1, -1) H.adjustStaminaLoss(rand(12,18)) if(prob(25)) - (INVOKE_ASYNC(src, .proc/jedi_spin, user)) + (INVOKE_ASYNC(src, PROC_REF(jedi_spin), user)) else return ..() diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 347ec118fd..e0dbf12c10 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -136,7 +136,7 @@ ADD_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT) name = "primed [name]" activation_time = timer + world.time - detonation_timerid = addtimer(CALLBACK(src, .proc/detonate), delay, TIMER_STOPPABLE) + detonation_timerid = addtimer(CALLBACK(src, PROC_REF(detonate)), delay, TIMER_STOPPABLE) START_PROCESSING(SSfastprocess, src) var/turf/T = get_turf(src) message_admins("[user? "[ADMIN_LOOKUPFLW(user)] has primed [src]" : "A [src] has been primed"] (Timer:[delay],Explosive:[detonate_explosion],Range:[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_fire_range]) for detonation at [ADMIN_VERBOSEJMP(T)]") diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index 370924063d..489cef3d39 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -37,7 +37,7 @@ popup = FALSE if(response == "No") return FALSE - addtimer(CALLBACK(src, .proc/timed_explosion, cause), 1) + addtimer(CALLBACK(src, PROC_REF(timed_explosion), cause), 1) /obj/item/implant/explosive/implant(mob/living/target) for(var/X in target.implants) @@ -65,10 +65,10 @@ if(delay > 7) imp_in?.visible_message("[imp_in] starts beeping ominously!") playsound(get_turf(imp_in ? imp_in : src), 'sound/items/timer.ogg', 30, 0) - addtimer(CALLBACK(src, .proc/double_pain, TRUE), delay * 0.25) - addtimer(CALLBACK(src, .proc/double_pain), delay * 0.5) - addtimer(CALLBACK(src, .proc/double_pain), delay * 0.75) - addtimer(CALLBACK(src, .proc/boom_goes_the_weasel), delay) + addtimer(CALLBACK(src, PROC_REF(double_pain), TRUE), delay * 0.25) + addtimer(CALLBACK(src, PROC_REF(double_pain)), delay * 0.5) + addtimer(CALLBACK(src, PROC_REF(double_pain)), delay * 0.75) + addtimer(CALLBACK(src, PROC_REF(boom_goes_the_weasel)), delay) else //If the delay is short, just blow up already jeez boom_goes_the_weasel() diff --git a/code/game/objects/items/implants/implant_stealth.dm b/code/game/objects/items/implants/implant_stealth.dm index eb58d76d1b..f53cfc1f5b 100644 --- a/code/game/objects/items/implants/implant_stealth.dm +++ b/code/game/objects/items/implants/implant_stealth.dm @@ -36,7 +36,7 @@ /obj/structure/closet/cardboard/agent/proc/reveal() alpha = 255 - addtimer(CALLBACK(src, .proc/go_invisible), 10, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(go_invisible)), 10, TIMER_OVERRIDE|TIMER_UNIQUE) /obj/structure/closet/cardboard/agent/Bump(atom/movable/A) . = ..() diff --git a/code/game/objects/items/melee/f13twohanded.dm b/code/game/objects/items/melee/f13twohanded.dm index d5d58dd688..5018d9963b 100644 --- a/code/game/objects/items/melee/f13twohanded.dm +++ b/code/game/objects/items/melee/f13twohanded.dm @@ -15,8 +15,8 @@ /obj/item/twohanded/Initialize() . = ..() - 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/twohanded/proc/on_wield(obj/item/source, mob/user) wielded = TRUE diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 116e904509..56e76ac7d5 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -135,8 +135,8 @@ var/speedbase = abs((4 SECONDS) / limbs_to_dismember.len) for(bodypart in limbs_to_dismember) i++ - addtimer(CALLBACK(src, .proc/suicide_dismember, user, bodypart), speedbase * i) - addtimer(CALLBACK(src, .proc/manual_suicide, user), (5 SECONDS) * i) + addtimer(CALLBACK(src, PROC_REF(suicide_dismember), user, bodypart), speedbase * i) + addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), (5 SECONDS) * i) return MANUAL_SUICIDE /obj/item/melee/sabre/proc/suicide_dismember(mob/living/user, obj/item/bodypart/affecting) diff --git a/code/game/objects/items/melee/weaponry.dm b/code/game/objects/items/melee/weaponry.dm index 231097e2c2..e44d0a5de2 100644 --- a/code/game/objects/items/melee/weaponry.dm +++ b/code/game/objects/items/melee/weaponry.dm @@ -522,7 +522,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/mob/living/owner = loc if(!istype(owner)) return - RegisterSignal(owner, COMSIG_PARENT_EXAMINE, .proc/ownerExamined) + RegisterSignal(owner, COMSIG_PARENT_EXAMINE, PROC_REF(ownerExamined)) /obj/item/circlegame/Destroy() var/mob/owner = loc @@ -539,7 +539,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/circlegame/proc/ownerExamined(mob/living/owner, mob/living/sucker) if(!istype(sucker) || !in_range(owner, sucker)) return - addtimer(CALLBACK(src, .proc/waitASecond, owner, sucker), 4) + addtimer(CALLBACK(src, PROC_REF(waitASecond), owner, sucker), 4) /// Stage 2: Fear sets in /obj/item/circlegame/proc/waitASecond(mob/living/owner, mob/living/sucker) @@ -548,10 +548,10 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(owner == sucker) // big mood to_chat(owner, "Wait a second... you just looked at your own [src.name]!") - addtimer(CALLBACK(src, .proc/selfGottem, owner), 10) + addtimer(CALLBACK(src, PROC_REF(selfGottem), owner), 10) else to_chat(sucker, "Wait a second... was that a-") - addtimer(CALLBACK(src, .proc/GOTTEM, owner, sucker), 6) + addtimer(CALLBACK(src, PROC_REF(GOTTEM), owner, sucker), 6) /// Stage 3A: We face our own failures /obj/item/circlegame/proc/selfGottem(mob/living/owner) @@ -679,8 +679,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/vibro_weapon/Initialize() . = ..() - 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/vibro_weapon/ComponentInitialize() . = ..() @@ -735,8 +735,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/pitchfork/Initialize() . = ..() - 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/pitchfork/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index da2371b532..aee3555ce9 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -363,7 +363,7 @@ if(charging) return if(candy < candymax) - addtimer(CALLBACK(src, .proc/charge_lollipops), charge_delay) + addtimer(CALLBACK(src, PROC_REF(charge_lollipops)), charge_delay) charging = TRUE /obj/item/borg/lollipop/proc/charge_lollipops() diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 8c9cc01e71..72e77400b4 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -530,7 +530,7 @@ The telescopic shields are legacy and don't fit, but the code might be of intere /obj/item/shield/riot/implant/Moved() . = ..() if(istype(loc, /obj/item/organ/cyberimp/arm/shield)) - recharge_timerid = addtimer(CALLBACK(src, .proc/recharge), recharge_delay, flags = TIMER_STOPPABLE) + recharge_timerid = addtimer(CALLBACK(src, PROC_REF(recharge)), recharge_delay, flags = TIMER_STOPPABLE) else //extending if(recharge_timerid) deltimer(recharge_timerid) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 7a6c159160..4a7d973a79 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -19,8 +19,8 @@ /obj/item/singularityhammer/New() ..() - 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)) START_PROCESSING(SSobj, src) /obj/item/singularityhammer/ComponentInitialize() @@ -99,8 +99,8 @@ /obj/item/mjollnir/Initialize() . = ..() - 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/mjollnir/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index e77c823ab9..95bdd9cf34 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -29,7 +29,7 @@ /obj/item/stack/medical/attack(mob/living/M, mob/user) . = ..() - INVOKE_ASYNC(src, .proc/try_heal, M, user) + INVOKE_ASYNC(src, PROC_REF(try_heal), M, user) /obj/item/stack/medical/proc/try_heal(mob/living/M, mob/user, silent = FALSE) if(!M.can_inject(user, TRUE)) @@ -37,12 +37,12 @@ if(M == user) if(!silent) user.visible_message("[user] starts to apply \the [src] on [user.p_them()]self...", "You begin applying \the [src] on yourself...") - if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE))) + if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, TYPE_PROC_REF(/mob/living, can_inject), user, TRUE))) return else if(other_delay) if(!silent) user.visible_message("[user] starts to apply \the [src] on [M].", "You begin applying \the [src] on [M]...") - if(!do_mob(user, M, other_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE))) + if(!do_mob(user, M, other_delay, extra_checks=CALLBACK(M, TYPE_PROC_REF(/mob/living, can_inject), user, TRUE))) return if(heal(M, user)) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 18c57074be..a7a26ae48e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -975,7 +975,7 @@ GLOBAL_LIST_INIT(hay_recipes, list ( \ /obj/item/stack/sheet/hay/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins shoving hay up [user.p_their()] arse! It looks like [user.p_theyre()] trying to commit suicide!") - addtimer(CALLBACK(user, /mob/proc/gib), 30) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, gib)), 30) return BRUTELOSS /obj/item/stack/sheet/hay/fifty diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 84cedb7847..138f3615f0 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -64,7 +64,7 @@ custom_materials[i] *= amount . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_movable_entered_occupied_turf, + COMSIG_ATOM_ENTERED = PROC_REF(on_movable_entered_occupied_turf), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -73,7 +73,7 @@ if(item_stack == src) continue if(can_merge(item_stack)) - INVOKE_ASYNC(src, .proc/merge_without_del, item_stack) + INVOKE_ASYNC(src, PROC_REF(merge_without_del), item_stack) if(zero_amount()) return INITIALIZE_HINT_QDEL var/list/temp_recipes = get_main_recipes() @@ -434,7 +434,7 @@ else transfer = min(transfer, (limit ? limit : target_stack.max_amount) - target_stack.amount) if(pulledby) - INVOKE_ASYNC(pulledby, /atom/movable/.proc/start_pulling, target_stack) + INVOKE_ASYNC(pulledby, TYPE_PROC_REF(/atom/movable, start_pulling), target_stack) target_stack.copy_evidences(src) use(transfer, transfer = TRUE, check = FALSE) target_stack.add(transfer) @@ -458,7 +458,7 @@ return if(!arrived.throwing && can_merge(arrived)) - INVOKE_ASYNC(src, .proc/merge, arrived) + INVOKE_ASYNC(src, PROC_REF(merge), arrived) /obj/item/stack/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(istype(AM, merge_type)) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 6faf884ea8..a3ec77a884 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -131,7 +131,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/Pickup_ores) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(Pickup_ores)) listeningTo = user /obj/item/storage/bag/ore/dropped(mob/user) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 51ae4e928b..22759ba98d 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -60,7 +60,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", 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) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 5d42546c74..e003cbeee1 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -839,7 +839,7 @@ /obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) - var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, .proc/check_menu, user, W), radius = 36, require_near = TRUE) + var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, W), radius = 36, require_near = TRUE) if(!choice) return FALSE if(icon_state == "paperbag_[choice]") diff --git a/code/game/objects/items/storage/f13storage.dm b/code/game/objects/items/storage/f13storage.dm index 49592925a1..7614ff19b2 100644 --- a/code/game/objects/items/storage/f13storage.dm +++ b/code/game/objects/items/storage/f13storage.dm @@ -159,7 +159,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/Pickup_casings) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(Pickup_casings)) listeningTo = user diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index cc152a9f60..6117674a19 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -56,7 +56,7 @@ on = TRUE icon_state = "[initial(icon_state)]-on" ion_trail.start() - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) if(full_speed) user.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index f9ede407ca..b3c1603386 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -184,8 +184,8 @@ var/list/obj/effect/portal/created = create_portal_pair(current_location, get_teleport_turf(get_turf(T)), 300, 1, null, atmos_link_override) if(!(LAZYLEN(created) == 2)) return - RegisterSignal(created[1], COMSIG_PARENT_QDELETING, .proc/on_portal_destroy) //Gosh darn it kevinz. - RegisterSignal(created[2], COMSIG_PARENT_QDELETING, .proc/on_portal_destroy) + RegisterSignal(created[1], COMSIG_PARENT_QDELETING, PROC_REF(on_portal_destroy)) //Gosh darn it kevinz. + RegisterSignal(created[2], COMSIG_PARENT_QDELETING, PROC_REF(on_portal_destroy)) try_move_adjacent(created[1], user.dir) active_portal_pairs[created[1]] = created[2] var/obj/effect/portal/c1 = created[1] diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index b69ab1210f..90007eb57c 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -65,7 +65,7 @@ core = ncore icon_state = "core_container_loaded" to_chat(user, "Container is sealing...") - addtimer(CALLBACK(src, .proc/seal), 50) + addtimer(CALLBACK(src, PROC_REF(seal)), 50) return TRUE /obj/item/nuke_core_container/proc/seal() @@ -213,7 +213,7 @@ T.icon_state = "supermatter_tongs" icon_state = "core_container_loaded" to_chat(user, "Container is sealing...") - addtimer(CALLBACK(src, .proc/seal), 50) + addtimer(CALLBACK(src, PROC_REF(seal)), 50) return TRUE /obj/item/nuke_core_container/supermatter/seal() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index fe66c49781..4c3b1b689d 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -821,15 +821,14 @@ update_icon() /obj/item/toy/cards/deck/update_icon_state() - switch(cards.len) - if(original_size*0.5 to INFINITY) - icon_state = "deck_[deckstyle]_full" - if(original_size*0.25 to original_size*0.5) - icon_state = "deck_[deckstyle]_half" - if(1 to original_size*0.25) - icon_state = "deck_[deckstyle]_low" - else - icon_state = "deck_[deckstyle]_empty" + if(cards.len >= original_size*0.5) + icon_state = "deck_[deckstyle]_full" + if(cards.len < original_size*0.5 && cards.len >= original_size*0.25) + icon_state = "deck_[deckstyle]_half" + if(cards.len >= 1 && cards.len < original_size*0.25) + icon_state = "deck_[deckstyle]_low" + else + icon_state = "deck_[deckstyle]_empty" /obj/item/toy/cards/deck/attack_self(mob/user) if(cooldown < world.time - 50) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 199e3fd3e3..b5d5da846b 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -248,7 +248,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(QDELETED(src)) return 0 obj_flags |= BEING_SHOCKED - addtimer(CALLBACK(src, .proc/reset_shocked), 10) + addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) return power / 2 //The surgeon general warns that being buckled to certain objects receiving powerful shocks is greatly hazardous to your health diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index f6f3cef508..098aa57986 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -342,7 +342,7 @@ var/list/skins = list() for(var/S in unique_reskin) skins[S] = image(icon = icon, icon_state = unique_reskin[S]) - var/choice = show_radial_menu(M, src, skins, custom_check = CALLBACK(src, .proc/check_skinnable, M), radius = 40, require_near = TRUE) + var/choice = show_radial_menu(M, src, skins, custom_check = CALLBACK(src, PROC_REF(check_skinnable), M), radius = 40, require_near = TRUE) if(!choice) return FALSE icon_state = unique_reskin[choice] diff --git a/code/game/objects/structures/HMG.dm b/code/game/objects/structures/HMG.dm index c82f5ea11a..b3d1d56a2a 100644 --- a/code/game/objects/structures/HMG.dm +++ b/code/game/objects/structures/HMG.dm @@ -248,7 +248,7 @@ /obj/item/ammo_box/magazine/ammobelt/get_round() //Finally deletes itself. . = ..() - addtimer(CALLBACK(src, .proc/delempty), 0) + addtimer(CALLBACK(src, PROC_REF(delempty)), 0) /obj/item/ammo_box/magazine/ammobelt/proc/delempty() if(ammo_count() < 1) diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 89e959c4ce..c440bc3cff 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -229,7 +229,7 @@ if(status == GROWING || status == GROWN) child = new(src) if(status == GROWING) - addtimer(CALLBACK(src, .proc/Grow), rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME)) + addtimer(CALLBACK(src, PROC_REF(Grow)), rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME)) proximity_monitor = new(src, status == GROWN ? 1 : 0) if(status == BURST) obj_integrity = integrity_failure * max_integrity @@ -283,7 +283,7 @@ status = BURST update_icon() flick("egg_opening", src) - addtimer(CALLBACK(src, .proc/finish_bursting, kill), 15) + addtimer(CALLBACK(src, PROC_REF(finish_bursting), kill), 15) /obj/structure/alien/egg/proc/finish_bursting(kill = TRUE) if(child) diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index c7e18fd16e..97d251629f 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -111,7 +111,7 @@ return obj_flags |= EMAGGED to_chat(user, "You emag the barsign. Takeover in progress...") - addtimer(CALLBACK(src, .proc/syndie_bar_good), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(syndie_bar_good)), 10 SECONDS) return TRUE /obj/structure/sign/barsign/proc/syndie_bar_good() diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 0cea5db90f..f524514536 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -24,11 +24,11 @@ /obj/structure/chair/Initialize() . = ..() if(!anchored) //why would you put these on the shuttle? - addtimer(CALLBACK(src, .proc/RemoveFromLatejoin), 0) + addtimer(CALLBACK(src, PROC_REF(RemoveFromLatejoin)), 0) /obj/structure/chair/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate),CALLBACK(src, .proc/can_be_rotated),null) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, PROC_REF(can_user_rotate)),CALLBACK(src, PROC_REF(can_be_rotated)),null) /obj/structure/chair/proc/can_be_rotated(mob/user) return TRUE diff --git a/code/game/objects/structures/chisel_statue.dm b/code/game/objects/structures/chisel_statue.dm index b42971756c..9ea6e8975a 100644 --- a/code/game/objects/structures/chisel_statue.dm +++ b/code/game/objects/structures/chisel_statue.dm @@ -81,7 +81,7 @@ Moving interrupts /obj/item/chisel/proc/set_block(obj/structure/carving_block/B,mob/living/user) prepared_block = B tracked_user = user - RegisterSignal(tracked_user,COMSIG_MOVABLE_MOVED,.proc/break_sculpting) + RegisterSignal(tracked_user,COMSIG_MOVABLE_MOVED,PROC_REF(break_sculpting)) to_chat(user,span_notice("You prepare to work on [B].")) /obj/item/chisel/dropped(mob/user, silent) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 8041c9953f..bca81d8eff 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -52,7 +52,7 @@ if(anchored) storage_capacity = 30 if(mapload && !opened) // if closed, any item at the crate's loc is put in the contents - addtimer(CALLBACK(src, .proc/take_contents), 0) + addtimer(CALLBACK(src, PROC_REF(take_contents)), 0) if(secure) lockerelectronics = new(src) lockerelectronics.accesses = req_access diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 21cab16963..1f49940e11 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -27,7 +27,7 @@ step(src, direction) user.setDir(direction) if(oldloc != loc) - addtimer(CALLBACK(src, .proc/ResetMoveDelay), (use_mob_movespeed ? user.movement_delay() : CONFIG_GET(number/movedelay/walk_delay)) * move_speed_multiplier) + addtimer(CALLBACK(src, PROC_REF(ResetMoveDelay)), (use_mob_movespeed ? user.movement_delay() : CONFIG_GET(number/movedelay/walk_delay)) * move_speed_multiplier) else ResetMoveDelay() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm b/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm index 0c88efb6ee..455cdab3dc 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm @@ -38,7 +38,7 @@ SupplyOrder = SO//uses Supply Order passed from expressconsole into BDPtarget else other_delivery = SO//if the object is not a supply order, we force the object in the pod - addtimer(CALLBACK(src, .proc/open), 30)//open 3seconds after appearing + addtimer(CALLBACK(src, PROC_REF(open)), 30)//open 3seconds after appearing /obj/structure/closet/supplypod/update_icon() cut_overlays() @@ -63,7 +63,7 @@ update_icon() playsound(src, open_sound, 15, 1, -3) if(istype(src,/obj/structure/closet/supplypod/bluespacepod)) - addtimer(CALLBACK(src, .proc/sparks), 30)//if bluespace, then 3 seconds after opening, make some sparks and delete + addtimer(CALLBACK(src, PROC_REF(sparks)), 30)//if bluespace, then 3 seconds after opening, make some sparks and delete /obj/structure/closet/supplypod/proc/sparks()//sparks cant be called from addtimer do_sparks(5, TRUE, src) @@ -115,12 +115,12 @@ if(POD_CENTCOM) //Admin smite, even faster. delayTime = 5//speedy delivery - addtimer(CALLBACK(src, .proc/beginLaunch, SO, podID), delayTime)//standard pods take 3 seconds to come in, bluespace pods take 1.5 + addtimer(CALLBACK(src, PROC_REF(beginLaunch), SO, podID), delayTime)//standard pods take 3 seconds to come in, bluespace pods take 1.5 /obj/effect/DPtarget/proc/beginLaunch(SO, podID) fallingPod = new /obj/effect/temp_visual/DPfall(drop_location(), podID) animate(fallingPod, pixel_z = 0, time = 3, easing = LINEAR_EASING)//make and animate a falling pod - addtimer(CALLBACK(src, .proc/endLaunch, SO, podID), 3, TIMER_CLIENT_TIME)//fall 0.3seconds + addtimer(CALLBACK(src, PROC_REF(endLaunch), SO, podID), 3, TIMER_CLIENT_TIME)//fall 0.3seconds /obj/effect/DPtarget/proc/endLaunch(SO, podID) if(podID == POD_STANDARD) diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm index f64397df09..164368e54c 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -41,7 +41,7 @@ to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20) update_icon() - addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), time_between_uses) /obj/structure/healingfountain/update_icon_state() diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 95c14fcb98..5bebe07d94 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -55,7 +55,7 @@ for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield opening = FALSE return - addtimer(CALLBACK(src, /obj/structure/falsewall/proc/toggle_open), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/structure/falsewall, toggle_open)), 5) /obj/structure/falsewall/proc/toggle_open() if(!QDELETED(src)) diff --git a/code/game/objects/structures/femur_breaker.dm b/code/game/objects/structures/femur_breaker.dm index 53be20d1aa..e8788f393b 100644 --- a/code/game/objects/structures/femur_breaker.dm +++ b/code/game/objects/structures/femur_breaker.dm @@ -45,7 +45,7 @@ if (BREAKER_SLAT_DROPPED) slat_status = BREAKER_SLAT_MOVING icon_state = "breaker_raise" - addtimer(CALLBACK(src, .proc/raise_slat), BREAKER_ANIMATION_LENGTH) + addtimer(CALLBACK(src, PROC_REF(raise_slat)), BREAKER_ANIMATION_LENGTH) return if (BREAKER_SLAT_RAISED) if (LAZYLEN(buckled_mobs)) @@ -90,7 +90,7 @@ playsound(src, 'sound/effects/femur_breaker.ogg', 100, FALSE) H.Stun(BREAKER_ANIMATION_LENGTH) - addtimer(CALLBACK(src, .proc/damage_leg, H), BREAKER_ANIMATION_LENGTH, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(damage_leg), H), BREAKER_ANIMATION_LENGTH, TIMER_UNIQUE) log_combat(user, H, "femur broke", src) slat_status = BREAKER_SLAT_DROPPED diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 1cba5431f6..d5dc24ce53 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -311,7 +311,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/structure/grille/ratvar/ratvar_act() return diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index 3d97f9efdc..796aba012c 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -64,7 +64,7 @@ if (GUILLOTINE_BLADE_DROPPED) blade_status = GUILLOTINE_BLADE_MOVING icon_state = "guillotine_raise" - addtimer(CALLBACK(src, .proc/raise_blade), GUILLOTINE_ANIMATION_LENGTH) + addtimer(CALLBACK(src, PROC_REF(raise_blade)), GUILLOTINE_ANIMATION_LENGTH) return if (GUILLOTINE_BLADE_RAISED) if (LAZYLEN(buckled_mobs)) @@ -77,7 +77,7 @@ current_action = 0 blade_status = GUILLOTINE_BLADE_MOVING icon_state = "guillotine_drop" - addtimer(CALLBACK(src, .proc/drop_blade, user), GUILLOTINE_ANIMATION_LENGTH - 2) // Minus two so we play the sound and decap faster + addtimer(CALLBACK(src, PROC_REF(drop_blade), user), GUILLOTINE_ANIMATION_LENGTH - 2) // Minus two so we play the sound and decap faster else current_action = 0 else @@ -90,7 +90,7 @@ else blade_status = GUILLOTINE_BLADE_MOVING icon_state = "guillotine_drop" - addtimer(CALLBACK(src, .proc/drop_blade), GUILLOTINE_ANIMATION_LENGTH) + addtimer(CALLBACK(src, PROC_REF(drop_blade)), GUILLOTINE_ANIMATION_LENGTH) /obj/structure/guillotine/proc/raise_blade() blade_status = GUILLOTINE_BLADE_RAISED @@ -133,7 +133,7 @@ for(var/mob/M in fov_viewers(world.view, src)) var/mob/living/carbon/human/C = M if (ishuman(M)) - addtimer(CALLBACK(C, /mob/.proc/emote, "clap"), delay_offset * 0.3) + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob, emote), "clap"), delay_offset * 0.3) delay_offset++ else H.apply_damage(15 * blade_sharpness, BRUTE, head) diff --git a/code/game/objects/structures/hivebot.dm b/code/game/objects/structures/hivebot.dm index f58ba5d617..2410ae6ed8 100644 --- a/code/game/objects/structures/hivebot.dm +++ b/code/game/objects/structures/hivebot.dm @@ -15,7 +15,7 @@ smoke.start() visible_message("[src] warps in!") playsound(src.loc, 'sound/effects/empulse.ogg', 25, 1) - addtimer(CALLBACK(src, .proc/warpbots), rand(10, 600)) + addtimer(CALLBACK(src, PROC_REF(warpbots)), rand(10, 600)) /obj/structure/hivebot_beacon/proc/warpbots() icon_state = "def_radar" diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 739abe8104..d769e4043a 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -193,7 +193,7 @@ var/mob/living/M = user M.electrocute_act(15,"Energy Barrier", flags = SHOCK_NOGLOVES) shockcd = TRUE - addtimer(CALLBACK(src, .proc/cooldown), 5) + addtimer(CALLBACK(src, PROC_REF(cooldown)), 5) /obj/structure/holosign/barrier/cyborg/hacked/Bumped(atom/movable/AM) if(shockcd) @@ -205,4 +205,4 @@ var/mob/living/M = AM M.electrocute_act(15,"Energy Barrier", flags = SHOCK_NOGLOVES) shockcd = TRUE - addtimer(CALLBACK(src, .proc/cooldown), 5) + addtimer(CALLBACK(src, PROC_REF(cooldown)), 5) diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 9cf4545ef8..158760ba07 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -112,7 +112,7 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) visible_message("[src] begins to collapse, cutting it off from this world!") animate(src, transform = matrix().Scale(0, 1), alpha = 50, time = 5 SECONDS) - addtimer(CALLBACK(src, .proc/collapse), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(collapse)), 5 SECONDS) /obj/effect/collapsing_demonic_portal/proc/collapse() visible_message("Something slips out of [src]!") diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index e8edb76cf6..b658ca9c94 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -111,7 +111,7 @@ if(!length(items)) return items = sortList(items) - var/pick = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 38, require_near = TRUE) + var/pick = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 38, require_near = TRUE) if(!pick) return switch(pick) diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index be563f6508..eef5af343b 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -99,18 +99,18 @@ if(UP) peeker.reset_perspective(up.loc) if(!LAZYACCESS(ladder_watchers, "[peek_dir]")) - RegisterSignal(up, COMSIG_CLICK, .proc/on_connected_ladder_clicked) + RegisterSignal(up, COMSIG_CLICK, PROC_REF(on_connected_ladder_clicked)) if(DOWN) peeker.reset_perspective(down.loc) if(!LAZYACCESS(ladder_watchers, "[peek_dir]")) - RegisterSignal(down, COMSIG_CLICK, .proc/on_connected_ladder_clicked) + RegisterSignal(down, COMSIG_CLICK, PROC_REF(on_connected_ladder_clicked)) else return LAZYADDASSOC(ladder_watchers, "[peek_dir]", peeker) - RegisterSignal(peeker, COMSIG_MOVABLE_MOVED, .proc/on_peeker_move) + RegisterSignal(peeker, COMSIG_MOVABLE_MOVED, PROC_REF(on_peeker_move)) // This is the closest thing this codebase has to an incapacitation signal. - RegisterSignal(peeker, COMSIG_DISABLE_COMBAT_MODE, .proc/stop_peeking) + RegisterSignal(peeker, COMSIG_DISABLE_COMBAT_MODE, PROC_REF(stop_peeking)) /obj/structure/ladder/proc/on_peeker_move(mob/source) @@ -198,7 +198,7 @@ ) if (up && down) - var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if (!is_ghost && !in_range(src, user)) return // nice try switch(result) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index edc4f0c91f..4477e5bbf7 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(tendrils, list()) visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") visible_message("Something falls free of the tendril!") playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, 1, 1) - addtimer(CALLBACK(src, .proc/collapse), 50) + addtimer(CALLBACK(src, PROC_REF(collapse)), 50) /obj/effect/collapse/Destroy() QDEL_NULL(emitted_light) diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm index 83ffb29be7..d48be0e865 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -65,7 +65,7 @@ for(var/m in linked_minds) var/datum/mind/mind = m if(!mind.current || (mind.current && mind.current.stat == DEAD)) - addtimer(CALLBACK(src, .proc/respawn, mind), respawn_time, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(respawn), mind), respawn_time, TIMER_UNIQUE) /obj/structure/life_candle/proc/respawn(datum/mind/mind) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index e8fbafa42b..052df44857 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -142,7 +142,7 @@ /obj/machinery/manned_turret/proc/volley(mob/user) target_turf = get_turf(target) for(var/i in 1 to number_of_shots) - addtimer(CALLBACK(src, /obj/machinery/manned_turret/.proc/fire_helper, user), i*rate_of_fire) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/manned_turret, fire_helper), user), i*rate_of_fire) /obj/machinery/manned_turret/proc/fire_helper(mob/user) if(user.incapacitated() || !(user in buckled_mobs)) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index a9e3e5b82e..f8fe000bb9 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -95,7 +95,7 @@ isSwitchingStates = 0 if(close_delay != -1) - addtimer(CALLBACK(src, .proc/Close), close_delay) + addtimer(CALLBACK(src, PROC_REF(Close)), close_delay) /obj/structure/mineral_door/proc/Close() if(isSwitchingStates || state != 1) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 00865563dc..a7691a06f3 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -30,7 +30,7 @@ var/action = anchored ? "unscrews [src] from" : "screws [src] to" var/uraction = anchored ? "unscrew [src] from " : "screw [src] to" user.visible_message("[user] [action] the floor.", "You start to [uraction] the floor...", "You hear rustling noises.") - if(W.use_tool(src, user, 100, volume=100, extra_checks = CALLBACK(src, .proc/check_anchored_state, anchored))) + if(W.use_tool(src, user, 100, volume=100, extra_checks = CALLBACK(src, PROC_REF(check_anchored_state), anchored))) setAnchored(!anchored) to_chat(user, " You [anchored ? "unscrew" : "screw"] [src] from the floor.") return TRUE diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 63d7deb394..61908958b4 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -16,7 +16,7 @@ /obj/structure/railing/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src,PROC_REF(after_rotation))) /obj/structure/railing/Initialize() . = ..() @@ -59,7 +59,7 @@ if(flags_1&NODECONSTRUCT_1) return to_chat(user, "You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...") - if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) + if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored))) setAnchored(!anchored) to_chat(user, "You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.") return TRUE diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index 0139ce0864..1e9f3c59dc 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -109,7 +109,7 @@ if(listeningTo) UnregisterSignal(listeningTo, COMSIG_TURF_MULTIZ_NEW) var/turf/open/transparent/openspace/T = get_step_multiz(get_turf(src), UP) - RegisterSignal(T, COMSIG_TURF_MULTIZ_NEW, .proc/on_multiz_new) + RegisterSignal(T, COMSIG_TURF_MULTIZ_NEW, PROC_REF(on_multiz_new)) listeningTo = T /obj/structure/stairs/proc/force_open_above() diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 0ec114d2bd..94c06df007 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -16,7 +16,7 @@ . = ..() AddElement(/datum/element/art, impressiveness) // addtimer(CALLBACK(src, /datum.proc/_AddElement, list(/datum/element/beauty, impressiveness * 75)), 0) MARKED FOR DEATH, part of emergency delagging, removes the whole system to evaluate on 2023-01-20 - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate), CALLBACK(src, .proc/can_be_rotated), null) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, PROC_REF(can_user_rotate)), CALLBACK(src, PROC_REF(can_be_rotated)), null) /obj/structure/statue/proc/can_be_rotated(mob/user) if(!anchored) diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 7e2922279b..c16a88d775 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -138,4 +138,4 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 370c03a369..71fb3439cc 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -259,7 +259,7 @@ /obj/structure/table/rolling/AfterPutItemOnTable(obj/item/I, mob/living/user) . = ..() attached_items += I - RegisterSignal(I, COMSIG_MOVABLE_MOVED, .proc/RemoveItemFromTable) //Listen for the pickup event, unregister on pick-up so we aren't moved + RegisterSignal(I, COMSIG_MOVABLE_MOVED, PROC_REF(RemoveItemFromTable)) //Listen for the pickup event, unregister on pick-up so we aren't moved /obj/structure/table/rolling/proc/RemoveItemFromTable(datum/source, newloc, dir) if(newloc != loc) //Did we not move with the table? because that shit's ok @@ -308,7 +308,7 @@ return // Don't break if they're just flying past if(AM.throwing) - addtimer(CALLBACK(src, .proc/throw_check, AM), 5) + addtimer(CALLBACK(src, PROC_REF(throw_check), AM), 5) else check_break(AM) @@ -594,7 +594,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/structure/table/reinforced/brass/ratvar_act() obj_integrity = max_integrity diff --git a/code/game/objects/structures/timeddoor.dm b/code/game/objects/structures/timeddoor.dm index aef4747aaf..7e3e38f9fa 100644 --- a/code/game/objects/structures/timeddoor.dm +++ b/code/game/objects/structures/timeddoor.dm @@ -15,7 +15,7 @@ /obj/structure/timeddoor/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/timeddeletedoor), deletion_time) + addtimer(CALLBACK(src, PROC_REF(timeddeletedoor)), deletion_time) /obj/structure/timeddoor/proc/timeddeletedoor() playsound(loc, 'sound/f13machines/doorhidden_open.ogg', 50, TRUE, -1) diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm index c9d9f9dd41..f6325c04bd 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm @@ -27,7 +27,7 @@ /obj/structure/c_transit_tube/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS,null,null,CALLBACK(src,.proc/after_rot)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS,null,null,CALLBACK(src,PROC_REF(after_rot))) /obj/structure/c_transit_tube/proc/after_rot(mob/user,rotation_type) if(flipped_build_type && rotation_type == ROTATION_FLIP) @@ -45,7 +45,7 @@ return to_chat(user, "You start attaching the [name]...") add_fingerprint(user) - if(I.use_tool(src, user, time_to_unwrench, volume=50, extra_checks=CALLBACK(src, .proc/can_wrench_in_loc, user))) + if(I.use_tool(src, user, time_to_unwrench, volume=50, extra_checks=CALLBACK(src, PROC_REF(can_wrench_in_loc), user))) to_chat(user, "You attach the [name].") var/obj/structure/transit_tube/R = new build_type(loc, dir) transfer_fingerprints_to(R) diff --git a/code/game/objects/structures/tribal_torch.dm b/code/game/objects/structures/tribal_torch.dm index edfb102b02..b0ee476cd1 100644 --- a/code/game/objects/structures/tribal_torch.dm +++ b/code/game/objects/structures/tribal_torch.dm @@ -55,10 +55,10 @@ flicker(rand(1, 4)) // 0.1 to 0.4 seconds /obj/structure/destructible/tribal_torch/proc/flicker(duration) - addtimer(CALLBACK(src, .proc/unflicker, light_range), duration) + addtimer(CALLBACK(src, PROC_REF(unflicker), light_range), duration) set_light(light_range - rand(1, 2)) flickering = TRUE - addtimer(CALLBACK(src, .proc/unflicker), duration) + addtimer(CALLBACK(src, PROC_REF(unflicker)), duration) /obj/structure/destructible/tribal_torch/proc/unflicker(new_range) set_light(new_range) diff --git a/code/game/objects/structures/wasteplants.dm b/code/game/objects/structures/wasteplants.dm index a52bdff28a..79bb3ffb37 100644 --- a/code/game/objects/structures/wasteplants.dm +++ b/code/game/objects/structures/wasteplants.dm @@ -21,7 +21,7 @@ has_plod = FALSE update_icon() //Won't update due to proc otherwise timer = initial(timer) + rand(-100,100) //add some variability - addtimer(CALLBACK(src, .proc/regrow),timer) //Set up the timer properly + addtimer(CALLBACK(src, PROC_REF(regrow)),timer) //Set up the timer properly update_icon() /obj/structure/flora/wasteplant/proc/regrow() diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 6b5a72f049..ff25b3d2d4 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -319,10 +319,10 @@ // If there was already mist, and the shower was turned off (or made cold): remove the existing mist in 25 sec var/obj/effect/mist/mist = locate() in loc if(!mist && on && watertemp != "freezing") - addtimer(CALLBACK(src, .proc/make_mist), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(make_mist)), 5 SECONDS) if(mist && (!on || watertemp == "freezing")) - addtimer(CALLBACK(src, .proc/clear_mist), 25 SECONDS) + addtimer(CALLBACK(src, PROC_REF(clear_mist)), 25 SECONDS) /obj/machinery/shower/proc/make_mist() var/obj/effect/mist/mist = locate() in loc diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 3544312e76..5ab66ccfb1 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -315,7 +315,7 @@ /obj/structure/windoor_assembly/ComponentInitialize() . = ..() var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS - AddComponent(/datum/component/simple_rotation, rotation_flags, can_be_rotated=CALLBACK(src, .proc/can_be_rotated), after_rotation=CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation, rotation_flags, can_be_rotated=CALLBACK(src, PROC_REF(can_be_rotated)), after_rotation=CALLBACK(src,PROC_REF(after_rotation))) /obj/structure/windoor_assembly/proc/can_be_rotated(mob/user,rotation_type) if(anchored) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index d376dac479..22fd96b7de 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -95,7 +95,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src,PROC_REF(after_rotation))) /obj/structure/window/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) @@ -231,17 +231,17 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(reinf) if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME) to_chat(user, "You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame...") - if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) + if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = (state == WINDOW_IN_FRAME ? WINDOW_SCREWED_TO_FRAME : WINDOW_IN_FRAME) to_chat(user, "You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame.") else if(state == WINDOW_OUT_OF_FRAME) to_chat(user, "You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor...") - if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) + if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) setAnchored(!anchored) to_chat(user, "You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor.") else //if we're not reinforced, we don't need to check or update state to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...") - if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) + if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored))) setAnchored(!anchored) to_chat(user, "You [anchored ? "fasten the window to":"unfasten the window from"] the floor.") return @@ -250,7 +250,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) else if (istype(I, /obj/item/crowbar) && reinf && (state == WINDOW_OUT_OF_FRAME || state == WINDOW_IN_FRAME)) to_chat(user, "You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...") I.play_tool_sound(src, 75) - if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) + if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = (state == WINDOW_OUT_OF_FRAME ? WINDOW_IN_FRAME : WINDOW_OUT_OF_FRAME) to_chat(user, "You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.") return @@ -258,7 +258,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) else if(istype(I, /obj/item/wrench) && !anchored) I.play_tool_sound(src, 75) to_chat(user, " You begin to disassemble [src]...") - if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored))) + if(I.use_tool(src, user, decon_speed, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount) G.add_fingerprint(user) playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) @@ -784,7 +784,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/structure/window/reinforced/clockwork/unanchored anchored = FALSE diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 473bfc021f..9d93859d8a 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -290,7 +290,7 @@ lube |= SLIDE_ICE if(lube&SLIDE) - new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 4), 1, FALSE, CALLBACK(C, /mob/living/carbon/.proc/spin, 1, 1)) + new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 4), 1, FALSE, CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, spin), 1, 1)) else if(lube&SLIDE_ICE) new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 1), 1, FALSE) //spinning would be bad for ice, fucks up the next dir return TRUE diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 54dd76d9ff..94a7f1c180 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -231,7 +231,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /turf/open/floor/clockwork/reebe name = "cogplate" diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index f2e23c7623..0f4642390b 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -156,7 +156,7 @@ var/previouscolor = color color = "#FAE48C" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /turf/open/floor/engine/cult/airless initial_gas_mix = AIRLESS_ATMOS diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 2cecd213f6..3512ea6f69 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -96,7 +96,7 @@ if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE ScrapeAway(null, flags) - addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction /turf/closed/mineral/attack_animal(mob/living/simple_animal/user) @@ -818,7 +818,7 @@ if(defer_change) flags = CHANGETURF_DEFER_CHANGE ScrapeAway(null, flags) - addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) /turf/closed/mineral/gibtonite/volcanic @@ -886,7 +886,7 @@ if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE ScrapeAway(flags=flags) - addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction // H.mind.adjust_experience(/datum/skill/mining, 100) //yay! diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm index 933315920f..f72004456e 100644 --- a/code/game/turfs/simulated/wall/misc_walls.dm +++ b/code/game/turfs/simulated/wall/misc_walls.dm @@ -33,7 +33,7 @@ var/previouscolor = color color = "#FAE48C" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /turf/closed/wall/mineral/cult/artificer name = "runed stone wall" @@ -110,7 +110,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /turf/closed/wall/clockwork/dismantle_wall(devastated=0, explode=0) if(devastated) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 4a9b6c077e..f919cd1d82 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -124,7 +124,7 @@ ComponentInitialize() - RegisterSignal(src, COMSIG_ATOM_ENTERED, .proc/cleanbloatup) + RegisterSignal(src, COMSIG_ATOM_ENTERED, PROC_REF(cleanbloatup)) return INITIALIZE_HINT_NORMAL diff --git a/code/game/world.dm b/code/game/world.dm index d708a54197..3c4e69e691 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -11,11 +11,11 @@ GLOBAL_LIST(topic_status_cache) //So subsystems globals exist, but are not initialised /world/New() - var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") - if (debug_server) - call(debug_server, "auxtools_init")() + var/dll = GetConfig("env", "AUXTOOLS_DEBUG_DLL") + if (dll) + LIBCALL(dll, "auxtools_init")() enable_debugging() - AUXTOOLS_CHECK(AUXMOS) + //AUXTOOLS_CHECK(AUXMOS) world.Profile(PROFILE_START) log_world("World loaded at [TIME_STAMP("hh:mm:ss", FALSE)]!") @@ -86,11 +86,11 @@ GLOBAL_LIST(topic_status_cache) CONFIG_SET(number/round_end_countdown, 0) var/datum/callback/cb #ifdef UNIT_TESTS - cb = CALLBACK(GLOBAL_PROC, /proc/RunUnitTests) + cb = CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(RunUnitTests)) #else cb = VARSET_CALLBACK(SSticker, force_ending, TRUE) #endif - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, /proc/_addtimer, cb, 10 SECONDS)) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(_addtimer), cb, 10 SECONDS)) /world/proc/SetupLogs() var/override_dir = params[OVERRIDE_LOG_DIRECTORY_PARAMETER] @@ -271,6 +271,9 @@ GLOBAL_LIST(topic_status_cache) if(do_hard_reboot) log_world("World hard rebooted at [TIME_STAMP("hh:mm:ss", FALSE)]") shutdown_logging() // See comment below. + var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") + if (debug_server) + LIBCALL(debug_server, "auxtools_shutdown")() TgsEndProcess() log_world("World rebooted at [TIME_STAMP("hh:mm:ss", FALSE)]") @@ -280,10 +283,10 @@ GLOBAL_LIST(topic_status_cache) /world/Del() shutdown_logging() // makes sure the thread is closed before end, else we terminate - AUXTOOLS_SHUTDOWN(AUXMOS) + //AUXTOOLS_SHUTDOWN(AUXMOS) var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (debug_server) - call(debug_server, "auxtools_shutdown")() + LIBCALL(debug_server, "auxtools_shutdown")() ..() /world/proc/update_status() diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm index 1f011d8c5e..859dad3ff3 100644 --- a/code/modules/VR/vr_sleeper.dm +++ b/code/modules/VR/vr_sleeper.dm @@ -65,7 +65,7 @@ obj_flags |= EMAGGED you_die_in_the_game_you_die_for_real = TRUE sparks.start() - addtimer(CALLBACK(src, .proc/emagNotify), 150) + addtimer(CALLBACK(src, PROC_REF(emagNotify)), 150) return TRUE /obj/machinery/vr_sleeper/update_icon_state() @@ -176,8 +176,8 @@ C.updateappearance(TRUE, TRUE, TRUE) var/datum/component/virtual_reality/VR = vr_mob.AddComponent(/datum/component/virtual_reality, you_die_in_the_game_you_die_for_real) if(VR.connect(M)) - RegisterSignal(VR, COMSIG_COMPONENT_UNREGISTER_PARENT, .proc/unset_vr_mob) - RegisterSignal(VR, COMSIG_COMPONENT_REGISTER_PARENT, .proc/set_vr_mob) + RegisterSignal(VR, COMSIG_COMPONENT_UNREGISTER_PARENT, PROC_REF(unset_vr_mob)) + RegisterSignal(VR, COMSIG_COMPONENT_REGISTER_PARENT, PROC_REF(set_vr_mob)) if(!only_current_user_can_interact) VR.RegisterSignal(src, COMSIG_ATOM_EMAG_ACT, /datum/component/virtual_reality.proc/you_only_live_once) VR.RegisterSignal(src, COMSIG_MACHINE_EJECT_OCCUPANT, /datum/component/virtual_reality.proc/revert_to_reality) @@ -269,7 +269,7 @@ vr_area = get_base_area(src) if(!vr_area) return INITIALIZE_HINT_QDEL - addtimer(CALLBACK(src, .proc/clean_up), 3 MINUTES, TIMER_LOOP) + addtimer(CALLBACK(src, PROC_REF(clean_up)), 3 MINUTES, TIMER_LOOP) /obj/effect/vr_clean_master/proc/clean_up() if (!vr_area) @@ -285,4 +285,4 @@ if(!QDELETED(M) && (M in contents) && M.stat == DEAD) qdel(M) corpse_party -= M - addtimer(CALLBACK(src, .proc/clean_up), 3 MINUTES) + addtimer(CALLBACK(src, PROC_REF(clean_up)), 3 MINUTES) diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index 88aab2c4ce..d1d7d19a43 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -115,7 +115,7 @@ GLOBAL_VAR(antag_prototypes) GLOB.antag_prototypes[cat_id] = list(A) else GLOB.antag_prototypes[cat_id] += A - sortTim(GLOB.antag_prototypes,/proc/cmp_text_asc,associative=TRUE) + sortTim(GLOB.antag_prototypes,GLOBAL_PROC_REF(cmp_text_asc),associative=TRUE) var/list/sections = list() var/list/priority_sections = list() diff --git a/code/modules/admin/check_antagonists.dm b/code/modules/admin/check_antagonists.dm index 532a11a532..3b683ebaf7 100644 --- a/code/modules/admin/check_antagonists.dm +++ b/code/modules/admin/check_antagonists.dm @@ -106,7 +106,7 @@ else sections += T.antag_listing_entry() - sortTim(all_antagonists, /proc/cmp_antag_category) + sortTim(all_antagonists, GLOBAL_PROC_REF(cmp_antag_category)) var/current_category var/list/current_section = list() diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 72a941975d..6b633a0642 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -699,9 +699,9 @@ var/ghostcandidates = list() for (var/j in 1 to min(prefs["amount"]["value"], length(candidates))) ghostcandidates += pick_n_take(candidates) - addtimer(CALLBACK(GLOBAL_PROC, .proc/doPortalSpawn, get_random_station_turf(), pathToSpawn, length(ghostcandidates), storm, ghostcandidates, outfit), i*prefs["delay"]["value"]) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, length(ghostcandidates), storm, ghostcandidates, outfit), i*prefs["delay"]["value"]) else if (prefs["playersonly"]["value"] != "Yes") - addtimer(CALLBACK(GLOBAL_PROC, .proc/doPortalSpawn, get_random_station_turf(), pathToSpawn, prefs["amount"]["value"], storm, null, outfit), i*prefs["delay"]["value"]) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, prefs["amount"]["value"], storm, null, outfit), i*prefs["delay"]["value"]) if(E) E.processing = FALSE diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index aa6719cdbf..c428f24cce 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -497,7 +497,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null options |= SDQL2_OPTION_SEQUENTIAL /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/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 7dc9aa2ee3..baa23263f2 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -228,7 +228,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //Removes the ahelp verb and returns it after 2 minutes /datum/admin_help/proc/TimeoutVerb() remove_verb(initiator, /client/verb/adminhelp) - initiator.adminhelptimerid = addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 1200, TIMER_STOPPABLE) //2 minute cooldown of admin helps + initiator.adminhelptimerid = addtimer(CALLBACK(initiator, TYPE_PROC_REF(/client, giveadminhelpverb)), 1200, TIMER_STOPPABLE) //2 minute cooldown of admin helps //private /datum/admin_help/proc/FullMonty(ref_src) @@ -344,7 +344,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) state = AHELP_RESOLVED GLOB.ahelp_tickets.ListInsert(src) - addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 50) + addtimer(CALLBACK(initiator, TYPE_PROC_REF(/client, giveadminhelpverb)), 50) AddInteraction("Resolved by [key_name].") to_chat(initiator, "Your ticket has been resolved by [usr?.client?.holder?.fakekey? usr.client.holder.fakekey : "an administrator"]. The Adminhelp verb will be returned to you shortly.") diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 0f8fe152ec..cba0dc50b0 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -218,7 +218,7 @@ //AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config.txt ~Carn if(CONFIG_GET(flag/popup_admin_pm)) - INVOKE_ASYNC(src, .proc/popup_admin_pm, recipient, msg) + INVOKE_ASYNC(src, PROC_REF(popup_admin_pm), recipient, msg) else //neither are admins to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.", confidential = TRUE) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index a5777a2e6c..f287d9a7a5 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -113,7 +113,7 @@ alert("Wait until the game starts") return if(ishuman(M)) - INVOKE_ASYNC(M, /mob/living/carbon/human/proc/Alienize) + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob/living/carbon/human, Alienize)) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Alien") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into an alien at [AREACOORD(M)].") message_admins("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into an alien.") @@ -128,7 +128,7 @@ alert("Wait until the game starts") return if(ishuman(M)) - INVOKE_ASYNC(M, /mob/living/carbon/human/proc/slimeize) + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob/living/carbon/human, slimeize)) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Slime") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] made [key_name(M)] into a slime at [AREACOORD(M)].") message_admins("[key_name_admin(usr)] made [ADMIN_LOOKUPFLW(M)] into a slime.") diff --git a/code/modules/admin/verbs/individual_logging.dm b/code/modules/admin/verbs/individual_logging.dm index 0842992e63..39cd384060 100644 --- a/code/modules/admin/verbs/individual_logging.dm +++ b/code/modules/admin/verbs/individual_logging.dm @@ -63,7 +63,7 @@ for(var/entry in all_the_entrys) concatenated_logs += "[entry]
[all_the_entrys[entry]]" if(length(concatenated_logs)) - sortTim(concatenated_logs, cmp = /proc/cmp_text_dsc) //Sort by timestamp. + sortTim(concatenated_logs, cmp = GLOBAL_PROC_REF(cmp_text_dsc)) //Sort by timestamp. dat += "" dat += concatenated_logs.Join("
") dat += "
" diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 5798acbc13..d741c539fb 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -346,9 +346,9 @@ ertemplate = new /datum/ert/centcom_official var/list/settings = list( - "preview_callback" = CALLBACK(src, .proc/makeERTPreviewIcon), + "preview_callback" = CALLBACK(src, PROC_REF(makeERTPreviewIcon)), "mainsettings" = list( - "template" = list("desc" = "Template", "callback" = CALLBACK(src, .proc/makeERTTemplateModified), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type), + "template" = list("desc" = "Template", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type), "teamsize" = list("desc" = "Team Size", "type" = "number", "value" = ertemplate.teamsize), "mission" = list("desc" = "Mission", "type" = "string", "value" = ertemplate.mission), "polldesc" = list("desc" = "Ghost poll description", "type" = "string", "value" = ertemplate.polldesc), diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index 3860706538..33e82350de 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -25,7 +25,7 @@ GLOBAL_VAR_INIT(highlander, FALSE) send_to_playing_players("Bagpipes begin to blare. You feel Scottish pride coming over you.") message_admins("[key_name_admin(usr)] used (delayed) THERE CAN BE ONLY ONE!") log_admin("[key_name(usr)] used delayed THERE CAN BE ONLY ONE.") - addtimer(CALLBACK(src, .proc/only_one), 420) + addtimer(CALLBACK(src, PROC_REF(only_one)), 420) /mob/living/carbon/human/proc/make_scottish() mind.add_antag_datum(/datum/antagonist/highlander) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 120a53031c..573b8e179b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1534,7 +1534,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits var/shots_this_limb = 0 for(var/t in shuffle(open_adj_turfs)) var/turf/iter_turf = t - addtimer(CALLBACK(GLOBAL_PROC, .proc/firing_squad, dude, iter_turf, slice_part.body_zone, wound_bonuses[wound_bonus_rep], damage), delay_counter) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(firing_squad), dude, iter_turf, slice_part.body_zone, wound_bonuses[wound_bonus_rep], damage), delay_counter) delay_counter += delay_per_shot shots_this_limb++ if(shots_this_limb > shots_per_limb_per_rep) diff --git a/code/modules/admin/view_variables/topic_basic.dm b/code/modules/admin/view_variables/topic_basic.dm index 30d8ebabea..d83c5f041c 100644 --- a/code/modules/admin/view_variables/topic_basic.dm +++ b/code/modules/admin/view_variables/topic_basic.dm @@ -63,11 +63,11 @@ if(!check_rights(NONE)) return var/list/names = list() - var/list/componentsubtypes = sortList(subtypesof(/datum/component), /proc/cmp_typepaths_asc) + var/list/componentsubtypes = sortList(subtypesof(/datum/component), GLOBAL_PROC_REF(cmp_typepaths_asc)) names += "---Components---" names += componentsubtypes names += "---Elements---" - names += sortList(subtypesof(/datum/element), /proc/cmp_typepaths_asc) + names += sortList(subtypesof(/datum/element), GLOBAL_PROC_REF(cmp_typepaths_asc)) var/result = input(usr, "Choose a component/element to add","better know what ur fuckin doin pal") as null|anything in names if(!usr || !result || result == "---Components---" || result == "---Elements---") return diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 7eb7ec2af2..95b1785c51 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -112,7 +112,7 @@ /datum/antagonist/abductor/get_admin_commands() . = ..() - .["Equip"] = CALLBACK(src,.proc/admin_equip) + .["Equip"] = CALLBACK(src,PROC_REF(admin_equip)) /datum/antagonist/abductor/proc/admin_equip(mob/admin) if(!ishuman(owner.current)) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 4adc0872c4..f796e89990 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -662,7 +662,7 @@ user.visible_message("[user] places down [src] and activates it.", "You place down [src] and activate it.") user.dropItemToGround(src) playsound(src, 'sound/machines/terminal_alert.ogg', 50) - addtimer(CALLBACK(src, .proc/try_spawn_machine), 30) + addtimer(CALLBACK(src, PROC_REF(try_spawn_machine)), 30) /obj/item/abductor_machine_beacon/proc/try_spawn_machine() var/viable = FALSE diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index aed096e9df..aa3b15079e 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -63,7 +63,7 @@ update_gland_hud() var/obj/screen/alert/mind_control/mind_alert = owner.throw_alert("mind_control", /obj/screen/alert/mind_control) mind_alert.command = command - addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration) + addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration) return TRUE /obj/item/organ/heart/gland/proc/clear_mind_control() diff --git a/code/modules/antagonists/abductor/equipment/glands/access.dm b/code/modules/antagonists/abductor/equipment/glands/access.dm index ccef04b091..d7271b052b 100644 --- a/code/modules/antagonists/abductor/equipment/glands/access.dm +++ b/code/modules/antagonists/abductor/equipment/glands/access.dm @@ -9,7 +9,7 @@ /obj/item/organ/heart/gland/access/activate() to_chat(owner, "You feel like a VIP for some reason.") - RegisterSignal(owner, COMSIG_MOB_ALLOWED, .proc/free_access) + RegisterSignal(owner, COMSIG_MOB_ALLOWED, PROC_REF(free_access)) /obj/item/organ/heart/gland/access/proc/free_access(datum/source, obj/O) return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm index 9de0b96930..3a4ca4d0f4 100644 --- a/code/modules/antagonists/abductor/equipment/glands/electric.dm +++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm @@ -20,7 +20,7 @@ owner.visible_message("[owner]'s skin starts emitting electric arcs!",\ "You feel electric energy building up inside you!") playsound(get_turf(owner), "sparks", 100, TRUE, -1) - addtimer(CALLBACK(src, .proc/zap), rand(30, 100)) + addtimer(CALLBACK(src, PROC_REF(zap)), rand(30, 100)) /obj/item/organ/heart/gland/electric/proc/zap() tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 3e03717755..feb3e74a1c 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -107,7 +107,7 @@ else to_chat(owner, "You feel a weird rumble behind your eye sockets...") - addtimer(CALLBACK(src, .proc/finish_replace_eyes), rand(100, 200)) + addtimer(CALLBACK(src, PROC_REF(finish_replace_eyes)), rand(100, 200)) /obj/item/organ/heart/gland/heal/proc/finish_replace_eyes() var/eye_type = /obj/item/organ/eyes @@ -125,7 +125,7 @@ else to_chat(owner, "You feel a weird tingle in your [parse_zone(body_zone)]... even if you don't have one.") - addtimer(CALLBACK(src, .proc/finish_replace_limb, body_zone), rand(150, 300)) + addtimer(CALLBACK(src, PROC_REF(finish_replace_limb), body_zone), rand(150, 300)) /obj/item/organ/heart/gland/heal/proc/finish_replace_limb(body_zone) owner.visible_message("With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body!", @@ -155,7 +155,7 @@ if(owner.reagents.has_reagent(R.type)) keep_going = TRUE if(keep_going) - addtimer(CALLBACK(src, .proc/keep_replacing_blood), 30) + addtimer(CALLBACK(src, PROC_REF(keep_replacing_blood)), 30) /obj/item/organ/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest) if(chest.status == BODYPART_ROBOTIC) diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index fa63e2c82a..a50eb949b0 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -48,7 +48,7 @@ if(LAZYLEN(broadcasted_mobs)) active_mind_control = TRUE - addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration) + addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration) update_gland_hud() return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/plasma.dm b/code/modules/antagonists/abductor/equipment/glands/plasma.dm index fe8b06ac77..bf6d139914 100644 --- a/code/modules/antagonists/abductor/equipment/glands/plasma.dm +++ b/code/modules/antagonists/abductor/equipment/glands/plasma.dm @@ -9,8 +9,8 @@ /obj/item/organ/heart/gland/plasma/activate() to_chat(owner, "You feel bloated.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, "A massive stomachache overcomes you."), 150) - addtimer(CALLBACK(src, .proc/vomit_plasma), 200) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), owner, "A massive stomachache overcomes you."), 150) + addtimer(CALLBACK(src, PROC_REF(vomit_plasma)), 200) /obj/item/organ/heart/gland/plasma/proc/vomit_plasma() if(!owner) diff --git a/code/modules/antagonists/abductor/equipment/glands/quantum.dm b/code/modules/antagonists/abductor/equipment/glands/quantum.dm index fc1ddae030..50b4a03858 100644 --- a/code/modules/antagonists/abductor/equipment/glands/quantum.dm +++ b/code/modules/antagonists/abductor/equipment/glands/quantum.dm @@ -15,7 +15,7 @@ if(!iscarbon(M)) continue entangled_mob = M - addtimer(CALLBACK(src, .proc/quantum_swap), rand(600, 2400)) + addtimer(CALLBACK(src, PROC_REF(quantum_swap)), rand(600, 2400)) return /obj/item/organ/heart/gland/quantum/proc/quantum_swap() diff --git a/code/modules/antagonists/abductor/machinery/pad.dm b/code/modules/antagonists/abductor/machinery/pad.dm index ab636f7d0e..00e9ba6f4e 100644 --- a/code/modules/antagonists/abductor/machinery/pad.dm +++ b/code/modules/antagonists/abductor/machinery/pad.dm @@ -31,7 +31,7 @@ /obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target) new /obj/effect/temp_visual/teleport_abductor(place) - addtimer(CALLBACK(src, .proc/doMobToLoc, place, target), 80) + addtimer(CALLBACK(src, PROC_REF(doMobToLoc), place, target), 80) /obj/machinery/abductor/pad/proc/doPadToLoc(place) flick("alien-pad", src) @@ -41,7 +41,7 @@ /obj/machinery/abductor/pad/proc/PadToLoc(place) new /obj/effect/temp_visual/teleport_abductor(place) - addtimer(CALLBACK(src, .proc/doPadToLoc, place), 80) + addtimer(CALLBACK(src, PROC_REF(doPadToLoc), place), 80) /obj/effect/temp_visual/teleport_abductor name = "Huh" diff --git a/code/modules/antagonists/blob/blob/blobs/core.dm b/code/modules/antagonists/blob/blob/blobs/core.dm index 38484c70b0..6eebbbf6fb 100644 --- a/code/modules/antagonists/blob/blob/blobs/core.dm +++ b/code/modules/antagonists/blob/blob/blobs/core.dm @@ -18,7 +18,7 @@ return INITIALIZE_HINT_QDEL if(overmind) update_icon() - addtimer(CALLBACK(src, .proc/generate_announcement), 1800) + addtimer(CALLBACK(src, PROC_REF(generate_announcement)), 1800) . = ..() /obj/structure/blob/core/proc/generate_announcement() diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index 1ce603f615..52b5ad39ef 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -109,7 +109,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) set_security_level("delta") max_blob_points = INFINITY blob_points = INFINITY - addtimer(CALLBACK(src, .proc/victory), 450) + addtimer(CALLBACK(src, PROC_REF(victory)), 450) else if(!free_strain_rerolls && (last_reroll_time + BLOB_REROLL_TIMEYou have gained another free strain re-roll.") free_strain_rerolls = 1 diff --git a/code/modules/antagonists/blood_contract/blood_contract.dm b/code/modules/antagonists/blood_contract/blood_contract.dm index 5d2fda08fc..4de55f49e1 100644 --- a/code/modules/antagonists/blood_contract/blood_contract.dm +++ b/code/modules/antagonists/blood_contract/blood_contract.dm @@ -24,7 +24,7 @@ return H.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY) var/obj/effect/mine/pickup/bloodbath/B = new(H) - INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H) //could use moving out from the mine + INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath, mineEffect), H) //could use moving out from the mine for(var/mob/living/carbon/human/P in GLOB.player_list) if(P == H || HAS_TRAIT(P, TRAIT_NO_MIDROUND_ANTAG)) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index f897127f80..899e88dfd5 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -341,7 +341,7 @@ //This handles the application of antag huds/special abilities /datum/antagonist/bloodsucker/apply_innate_effects(mob/living/mob_override) - RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,.proc/LifeTick) + RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,PROC_REF(LifeTick)) return //This handles the removal of antag huds/special abilities diff --git a/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm b/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm index 7a1ee4aad4..0de3bf3434 100644 --- a/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm +++ b/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm @@ -81,7 +81,7 @@ // Make Attempt... to_chat(user, "You put all your weight into embedding the stake into [target]'s chest...") playsound(user, 'sound/magic/Demon_consume.ogg', 50, 1) - if(!do_mob(user, C, staketime, 0, 1, extra_checks=CALLBACK(C, /mob/living/carbon/proc/can_be_staked))) // user / target / time / uninterruptable / show progress bar / extra checks + if(!do_mob(user, C, staketime, 0, 1, extra_checks=CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, can_be_staked)))) // user / target / time / uninterruptable / show progress bar / extra checks return // Drop & Embed Stake user.visible_message("[user.name] drives the [src] into [target]'s chest!", \ diff --git a/code/modules/antagonists/bloodsucker/powers/brawn.dm b/code/modules/antagonists/bloodsucker/powers/brawn.dm index 47159f6da0..4dab30eb34 100644 --- a/code/modules/antagonists/bloodsucker/powers/brawn.dm +++ b/code/modules/antagonists/bloodsucker/powers/brawn.dm @@ -146,7 +146,7 @@ var/turf/T = get_ranged_target_turf(M, send_dir, pull_power) owner.newtonian_move(send_dir) // Bounce back in 0 G M.throw_at(T, pull_power, TRUE, owner, FALSE) // Throw distance based on grab state! Harder grabs punished more aggressively. - // /proc/log_combat(atom/user, atom/target, what_done, atom/object=null, addition=null) + // GLOBAL_PROC_REF(log_combat)(atom/user, atom/target, what_done, atom/object=null, addition=null) log_combat(owner, M, "used Brawn power") owner.visible_message("[owner] tears free of [M]'s grasp!", \ "You shrug off [M]'s grasp!") diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 1ec49cdf77..f7c88b4c3d 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -146,7 +146,7 @@ to_chat(user, "You lean quietly toward [target] and secretly draw out your fangs...") else to_chat(user, "You pull [target] close to you and draw out your fangs...") - if(!do_mob(user, target, feed_time, 0, 1, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target)))//sleep(10) + if(!do_mob(user, target, feed_time, 0, 1, extra_checks = CALLBACK(src, PROC_REF(ContinueActive), user, target)))//sleep(10) to_chat(user, "Your feeding was interrupted.") //DeactivatePower(user,target) return @@ -207,7 +207,7 @@ //user.mobility_flags &= ~MOBILITY_MOVE // user.canmove = 0 // Prevents spilling blood accidentally. // Abort? A bloody mistake. - if(!do_mob(user, target, 20, 0, 0, extra_checks=CALLBACK(src, .proc/ContinueActive, user, target))) + if(!do_mob(user, target, 20, 0, 0, extra_checks=CALLBACK(src, PROC_REF(ContinueActive), user, target))) // May have disabled Feed during do_mob if(!active || !ContinueActive(user, target)) break @@ -294,7 +294,7 @@ user.visible_message("[user] unclenches their teeth from [target]'s neck.", \ "You retract your fangs and release [target] from your bite.") - // /proc/log_combat(atom/user, atom/target, what_done, atom/object=null, addition=null) + // GLOBAL_PROC_REF(log_combat)(atom/user, atom/target, what_done, atom/object=null, addition=null) log_combat(owner, target, "fed on blood", addition="(and took [amount_taken] blood)") // Killed Target? diff --git a/code/modules/antagonists/bloodsucker/powers/haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm index 05e2cd0330..5c5df41cdc 100644 --- a/code/modules/antagonists/bloodsucker/powers/haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -48,7 +48,7 @@ /datum/action/bloodsucker/targeted/haste/FireTargetedPower(atom/A) // This is a non-async proc to make sure the power is "locked" until this finishes. hit = list() - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) var/mob/living/user = owner var/turf/T = isturf(A) ? A : get_turf(A) // Pulled? Not anymore. diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index db7868fa8a..bc18008eef 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -31,14 +31,14 @@ T.min_distance = 2 active = TRUE user.toggle_throw_mode() - RegisterSignal(user, COMSIG_CARBON_TACKLED, .proc/DelayedDeactivatePower) + RegisterSignal(user, COMSIG_CARBON_TACKLED, PROC_REF(DelayedDeactivatePower)) while(B && ContinueActive(user)) B.AddBloodVolume(-0.1) sleep(5) //Without this, the leap component would get removed too early, causing the normal crash into effects. /datum/action/bloodsucker/lunge/proc/DelayedDeactivatePower() - addtimer(CALLBACK(src, .proc/DeactivatePower), 1 SECONDS, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(DeactivatePower)), 1 SECONDS, TIMER_UNIQUE) /datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) . = ..() diff --git a/code/modules/antagonists/bloodsucker/powers/mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm index efdd312c6e..73a49ca531 100644 --- a/code/modules/antagonists/bloodsucker/powers/mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm @@ -114,9 +114,9 @@ var/power_time = 138 + level_current * 12 target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30) L.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/ContinueTarget) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(ContinueTarget)) // 5 second windup - addtimer(CALLBACK(src, .proc/apply_effects, L, target, power_time), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(apply_effects), L, target, power_time), 6 SECONDS) /datum/action/bloodsucker/targeted/mesmerize/proc/apply_effects(aggressor, victim, power_time) var/mob/living/carbon/target = victim diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 002fd6ac89..1bf01c3491 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -360,7 +360,7 @@ B.organ_flags &= ~ORGAN_VITAL B.decoy_override = TRUE update_changeling_icons_added() - RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,.proc/regenerate) + RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,PROC_REF(regenerate)) return /datum/antagonist/changeling/remove_innate_effects() @@ -506,7 +506,7 @@ /datum/antagonist/changeling/get_admin_commands() . = ..() if(stored_profiles.len && (owner.current.real_name != first_prof.name)) - .["Transform to initial appearance."] = CALLBACK(src,.proc/admin_restore_appearance) + .["Transform to initial appearance."] = CALLBACK(src,PROC_REF(admin_restore_appearance)) /datum/antagonist/changeling/proc/admin_restore_appearance(mob/admin) if(!stored_profiles.len || !iscarbon(owner.current)) diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm index db4e47aa78..1c4b68bff4 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -23,7 +23,7 @@ user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \ "We vomit acidic ooze onto our restraints!") - addtimer(CALLBACK(src, .proc/dissolve_handcuffs, user, O), 30) + addtimer(CALLBACK(src, PROC_REF(dissolve_handcuffs), user, O), 30) used = TRUE if(user.wear_suit && user.wear_suit.breakouttime && !used) @@ -32,7 +32,7 @@ return 0 user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S]!", \ "We vomit acidic ooze onto our straight jacket!") - addtimer(CALLBACK(src, .proc/dissolve_straightjacket, user, S), 30) + addtimer(CALLBACK(src, PROC_REF(dissolve_straightjacket), user, S), 30) used = TRUE @@ -42,7 +42,7 @@ return 0 C.visible_message("[C]'s hinges suddenly begin to melt and run!") to_chat(user, "We vomit acidic goop onto the interior of [C]!") - addtimer(CALLBACK(src, .proc/open_closet, user, C), 70) + addtimer(CALLBACK(src, PROC_REF(open_closet), user, C), 70) used = TRUE if(istype(user.loc, /obj/structure/spider/cocoon) && !used) @@ -51,7 +51,7 @@ return 0 C.visible_message("[src] shifts and starts to fall apart!") to_chat(user, "We secrete acidic enzymes from our skin and begin melting our cocoon...") - addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 25) //Very short because it's just webs + addtimer(CALLBACK(src, PROC_REF(dissolve_cocoon), user, C), 25) //Very short because it's just webs used = TRUE return used diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index da626bcf1c..447709961b 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -19,7 +19,7 @@ user.fakedeath("changeling") //play dead user.update_stat() - addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(ready_to_regenerate), user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) return TRUE /obj/effect/proc_holder/changeling/fakedeath/proc/ready_to_regenerate(mob/user) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 165efe1301..0b9d788c50 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -386,12 +386,12 @@ if(INTENT_GRAB) C.visible_message("[L] is grabbed by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") - C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_grab, H, C)) + C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, PROC_REF(tentacle_grab), H, C)) return BULLET_ACT_HIT if(INTENT_HARM) C.visible_message("[L] is thrown towards [H] by a tentacle!","A tentacle grabs you and throws you towards [H]!") - C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_stab, H, C)) + C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, PROC_REF(tentacle_stab), H, C)) return BULLET_ACT_HIT else L.visible_message("[L] is pulled by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") diff --git a/code/modules/antagonists/changeling/powers/strained_muscles.dm b/code/modules/antagonists/changeling/powers/strained_muscles.dm index 68451012f6..13897e97d6 100644 --- a/code/modules/antagonists/changeling/powers/strained_muscles.dm +++ b/code/modules/antagonists/changeling/powers/strained_muscles.dm @@ -25,7 +25,7 @@ user.DefaultCombatKnockdown(60) user.emote("gasp") - INVOKE_ASYNC(src, .proc/muscle_loop, user) + INVOKE_ASYNC(src, PROC_REF(muscle_loop), user) return TRUE diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index a8fe56aae7..cda6c42658 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -47,7 +47,7 @@ return if(!isturf(user.loc)) return - if(!AStar(user, target.loc, /turf/proc/Distance, changeling.sting_range, simulated_only = 0)) + if(!AStar(user, target.loc, TYPE_PROC_REF(/turf, Distance), changeling.sting_range, simulated_only = 0)) return return 1 @@ -153,7 +153,7 @@ target.visible_message("A grotesque blade forms around [target.name]\'s arm!", "Your arm twists and mutates, transforming into a horrific monstrosity!", "You hear organic matter ripping and tearing!") playsound(target, 'sound/effects/blobattack.ogg', 30, 1) - addtimer(CALLBACK(src, .proc/remove_fake, target, blade), 600) + addtimer(CALLBACK(src, PROC_REF(remove_fake), target, blade), 600) return TRUE /obj/effect/proc_holder/changeling/sting/false_armblade/proc/remove_fake(mob/target, obj/item/melee/arm_blade/false/blade) diff --git a/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm b/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm index 97d2935a86..60a913a8f1 100644 --- a/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm +++ b/code/modules/antagonists/clockcult/clock_effects/clock_overlay.dm @@ -35,7 +35,7 @@ /obj/effect/clockwork/overlay/wall/Initialize() . = ..() queue_smooth_neighbors(src) - addtimer(CALLBACK(GLOBAL_PROC, .proc/queue_smooth, src), 1) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(queue_smooth), src), 1) /obj/effect/clockwork/overlay/wall/Destroy() queue_smooth_neighbors(src) diff --git a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm index 3ce3bea24a..8047ecaa9e 100644 --- a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm +++ b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm @@ -137,7 +137,7 @@ if(glow) qdel(glow) animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 20) visible_message("[src] slowly stops glowing!") return if(is_eligible_servant(L)) @@ -170,7 +170,7 @@ else to_chat(M, "[message] [L.real_name]!") animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 20) visible_message("[src] slowly stops glowing!") @@ -234,7 +234,7 @@ if(!cyborg_checks(cyborg)) return to_chat(cyborg, "You start to charge from the [sigil_name]...") - if(!do_after(cyborg, 50, target = src, extra_checks = CALLBACK(src, .proc/cyborg_checks, cyborg, TRUE))) + if(!do_after(cyborg, 50, target = src, extra_checks = CALLBACK(src, PROC_REF(cyborg_checks), cyborg, TRUE))) return var/giving_power = min(FLOOR(cyborg.cell.maxcharge - cyborg.cell.charge, MIN_CLOCKCULT_POWER), get_clockwork_power()) //give the borg either all our power or their missing power floored to MIN_CLOCKCULT_POWER if(adjust_clockwork_power(-giving_power)) @@ -243,7 +243,7 @@ cyborg.color = list("#EC8A2D", "#EC8A2D", "#EC8A2D", rgb(0,0,0)) cyborg.apply_status_effect(STATUS_EFFECT_POWERREGEN, giving_power * 0.1) //ten ticks, restoring 10% each animate(cyborg, color = previous_color, time = 100) - addtimer(CALLBACK(cyborg, /atom/proc/update_atom_colour), 100) + addtimer(CALLBACK(cyborg, TYPE_PROC_REF(/atom, update_atom_colour)), 100) /obj/effect/clockwork/sigil/transmission/proc/cyborg_checks(mob/living/silicon/robot/cyborg, silent) if(!cyborg.cell) diff --git a/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm b/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm index ab8c7abd0a..890d61b167 100644 --- a/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm +++ b/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm @@ -19,7 +19,7 @@ /obj/effect/clockwork/spatial_gateway/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/check_setup), 1) + addtimer(CALLBACK(src, PROC_REF(check_setup)), 1) /obj/effect/clockwork/spatial_gateway/Destroy() deltimer(timerid) @@ -161,7 +161,7 @@ else animate(src, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW) animate(linked_gateway, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW) - addtimer(CALLBACK(src, .proc/check_uses), 10) + addtimer(CALLBACK(src, PROC_REF(check_uses)), 10) return TRUE /obj/effect/clockwork/spatial_gateway/proc/check_uses() diff --git a/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm b/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm index 66e20b6e87..13b6d6dff1 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm @@ -40,7 +40,7 @@ /proc/generate_all_scripture() if(GLOB.all_scripture.len) return - for(var/V in sortList(subtypesof(/datum/clockwork_scripture) - list(/datum/clockwork_scripture/channeled, /datum/clockwork_scripture/create_object, /datum/clockwork_scripture/create_object/construct), /proc/cmp_clockscripture_priority)) + for(var/V in sortList(subtypesof(/datum/clockwork_scripture) - list(/datum/clockwork_scripture/channeled, /datum/clockwork_scripture/create_object, /datum/clockwork_scripture/create_object/construct), GLOBAL_PROC_REF(cmp_clockscripture_priority))) var/datum/clockwork_scripture/S = new V GLOB.all_scripture[S.type] = S diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 0bae7d3539..038f523a47 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -121,7 +121,7 @@ /obj/item/clockwork/slab/dropped(mob/user) . = ..() - addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later + addtimer(CALLBACK(src, PROC_REF(check_on_mob), user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later /obj/item/clockwork/slab/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = ..() @@ -347,7 +347,7 @@ if("toggle") recollecting = !recollecting if("recite") - INVOKE_ASYNC(src, .proc/recite_scripture, text2path(params["script"]), usr, FALSE) + INVOKE_ASYNC(src, PROC_REF(recite_scripture), text2path(params["script"]), usr, FALSE) if("bind") var/datum/clockwork_scripture/path = text2path(params["script"]) //we need a path and not a string if(!ispath(path, /datum/clockwork_scripture) || !initial(path.quickbind) || initial(path.tier) == SCRIPTURE_PERIPHERAL) //fuck you href bus diff --git a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm index 6a53097922..f94f701147 100644 --- a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm +++ b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm @@ -52,7 +52,7 @@ /obj/item/clothing/glasses/judicial_visor/dropped(mob/user) . = ..() - addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later + addtimer(CALLBACK(src, PROC_REF(check_on_mob), user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later /obj/item/clothing/glasses/judicial_visor/proc/check_on_mob(mob/user) if(user && src != user.get_item_by_slot(SLOT_GLASSES)) //if we happen to check and we AREN'T in the slot, we need to remove our shit from whoever we got dropped from @@ -161,7 +161,7 @@ . = ..() set_light(1.4, 2, "#FE9C11") user = caster - INVOKE_ASYNC(src, .proc/judicialblast) + INVOKE_ASYNC(src, PROC_REF(judicialblast)) /obj/effect/clockwork/judicial_marker/singularity_act() return diff --git a/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm b/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm index 7be9ef039b..9327bac74c 100644 --- a/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm +++ b/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm @@ -115,7 +115,7 @@ else user.visible_message("[user]'s [name] starts consuming [target]!", \ "Your [name] starts consuming [target]...") - if(!do_after(user, fabrication_values["operation_time"], target = target, extra_checks = CALLBACK(src, .proc/fabricate_checks, fabrication_values, target, target_type, user, TRUE))) + if(!do_after(user, fabrication_values["operation_time"], target = target, extra_checks = CALLBACK(src, PROC_REF(fabricate_checks), fabrication_values, target, target_type, user, TRUE))) return FALSE if(!silent) var/atom/A = fabrication_values["new_obj_type"] diff --git a/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm b/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm index 21920c93b5..2c151037a9 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm @@ -114,11 +114,11 @@ superheat_wall(A) return if(modifiers["middle"] || modifiers["ctrl"]) - INVOKE_ASYNC(src, .proc/issue_command, A) + INVOKE_ASYNC(src, PROC_REF(issue_command), A) return if(GLOB.ark_of_the_clockwork_justiciar == A) var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar - INVOKE_ASYNC(src, .proc/attempt_recall, G) + INVOKE_ASYNC(src, PROC_REF(attempt_recall), G) else if(istype(A, /obj/structure/destructible/clockwork/trap/trigger)) var/obj/structure/destructible/clockwork/trap/trigger/T = A T.visible_message("[T] clunks as it's activated remotely.") diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm index 76c9db7231..fcb321eca5 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm @@ -319,32 +319,32 @@ else var/healthpercent = (health/maxHealth) * 100 switch(healthpercent) - if(100 to 70) //Bonuses to speed and damage at high health + if(70 to 100) //Bonuses to speed and damage at high health speed = 0 melee_damage_lower = 16 melee_damage_upper = 16 attack_verb_continuous = "viciously slashes" - if(70 to 40) + if(40 to 69) speed = initial(speed) melee_damage_lower = initial(melee_damage_lower) melee_damage_upper = initial(melee_damage_upper) attack_verb_continuous = initial(attack_verb_continuous) - if(40 to 30) //Damage decrease, but not speed + if(30 to 39) //Damage decrease, but not speed speed = initial(speed) melee_damage_lower = 10 melee_damage_upper = 10 attack_verb_continuous = "lightly slashes" - if(30 to 20) //Speed decrease + if(20 to 29) //Speed decrease speed = 2 melee_damage_lower = 8 melee_damage_upper = 8 attack_verb_continuous = "lightly slashes" - if(20 to 10) //Massive speed decrease and weak melee attacks + if(10 to 19) //Massive speed decrease and weak melee attacks speed = 3 melee_damage_lower = 6 melee_damage_upper = 6 attack_verb_continuous = "weakly slashes" - if(10 to 0) //We are super weak and going to die + if(0 to 9) //We are super weak and going to die speed = 4 melee_damage_lower = 4 melee_damage_upper = 4 diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm index a85245e9d0..e67a29e928 100644 --- a/code/modules/antagonists/clockcult/clock_scripture.dm +++ b/code/modules/antagonists/clockcult/clock_scripture.dm @@ -154,7 +154,7 @@ Judgement 5 converts if(!channel_time) return TRUE chant() - if(!do_after(invoker, channel_time, target = invoker, extra_checks = CALLBACK(src, .proc/check_special_requirements))) + if(!do_after(invoker, channel_time, target = invoker, extra_checks = CALLBACK(src, PROC_REF(check_special_requirements)))) slab.busy = null chanting = FALSE scripture_fail() @@ -201,7 +201,7 @@ Judgement 5 converts /datum/clockwork_scripture/channeled/scripture_effects() for(var/i in 1 to chant_amount) - if(!do_after(invoker, chant_interval, target = invoker, extra_checks = CALLBACK(src, .proc/can_recite))) + if(!do_after(invoker, chant_interval, target = invoker, extra_checks = CALLBACK(src, PROC_REF(can_recite)))) break clockwork_say(invoker, text2ratvar(pick(chant_invocations)), whispered) if(multiple_invokers_used) diff --git a/code/modules/antagonists/clockcult/clock_structure.dm b/code/modules/antagonists/clockcult/clock_structure.dm index 2464015b6b..20f92f1110 100644 --- a/code/modules/antagonists/clockcult/clock_structure.dm +++ b/code/modules/antagonists/clockcult/clock_structure.dm @@ -37,7 +37,7 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/structure/destructible/clockwork/examine(mob/user) var/can_see_clockwork = is_servant_of_ratvar(user) || isobserver(user) diff --git a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm index d438a55f6f..2d379df5ed 100644 --- a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -35,7 +35,7 @@ /obj/structure/destructible/clockwork/massive/celestial_gateway/Initialize() . = ..() - INVOKE_ASYNC(src, .proc/spawn_animation) + INVOKE_ASYNC(src, PROC_REF(spawn_animation)) glow = new(get_turf(src)) if(!GLOB.ark_of_the_clockwork_justiciar) GLOB.ark_of_the_clockwork_justiciar = src @@ -131,7 +131,7 @@ recalling = TRUE sound_to_playing_players('sound/machines/clockcult/ark_recall.ogg', 75, FALSE) hierophant_message("The Eminence has initiated a mass recall! You are being transported to the Ark!") - addtimer(CALLBACK(src, .proc/mass_recall), 100) + addtimer(CALLBACK(src, PROC_REF(mass_recall)), 100) /obj/structure/destructible/clockwork/massive/celestial_gateway/proc/mass_recall() for(var/V in SSticker.mode.servants_of_ratvar) diff --git a/code/modules/antagonists/clockcult/clock_structures/eminence_spire.dm b/code/modules/antagonists/clockcult/clock_structures/eminence_spire.dm index 5302153b9c..6d6b9da281 100644 --- a/code/modules/antagonists/clockcult/clock_structures/eminence_spire.dm +++ b/code/modules/antagonists/clockcult/clock_structures/eminence_spire.dm @@ -81,7 +81,7 @@ hierophant_message("[nominee] proposes selecting an Eminence from ghosts! You may object by interacting with the eminence spire. The vote will otherwise pass in 30 seconds.") for(var/mob/M in servants_and_ghosts()) M.playsound_local(M, 'sound/machines/clockcult/ocularwarden-target.ogg', 50, FALSE) - selection_timer = addtimer(CALLBACK(src, .proc/kingmaker), 300, TIMER_STOPPABLE) + selection_timer = addtimer(CALLBACK(src, PROC_REF(kingmaker)), 300, TIMER_STOPPABLE) /obj/structure/destructible/clockwork/eminence_spire/proc/objection(mob/living/wright) if(alert(wright, "Object to the selection of [eminence_nominee] as Eminence?", "Objection!", "Object", "Cancel") == "Cancel" || !is_servant_of_ratvar(wright) || !wright.canUseTopic(src) || !eminence_nominee) diff --git a/code/modules/antagonists/clockcult/clock_structures/reflector.dm b/code/modules/antagonists/clockcult/clock_structures/reflector.dm index 3b9277402c..67d6442eb0 100644 --- a/code/modules/antagonists/clockcult/clock_structures/reflector.dm +++ b/code/modules/antagonists/clockcult/clock_structures/reflector.dm @@ -22,7 +22,7 @@ /obj/structure/destructible/clockwork/reflector/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src,PROC_REF(after_rotation))) /obj/structure/destructible/clockwork/reflector/bullet_act(obj/item/projectile/P) if(!anchored || !allowed_projectile_typecache[P.type] || !(P.dir in GLOB.cardinals)) diff --git a/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm b/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm index f1ce13a90f..2f65596e40 100644 --- a/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm @@ -57,7 +57,7 @@ "A massive brass spike rips through your chassis and bursts into shrapnel in your casing!") squirrel.adjustBruteLoss(50) squirrel.Stun(20) - addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1) + addtimer(CALLBACK(src, PROC_REF(take_damage), max_integrity), 1) else squirrel.visible_message("A massive brass spike erupts from the ground, impaling [squirrel]!", \ "A massive brass spike rams through your chest, hoisting you into the air!") @@ -72,7 +72,7 @@ if(M) M.take_damage(50,BRUTE,"melee") M.visible_message("A massive brass spike erupts from the ground, penetrating \the [M] and shattering the trap into pieces!") - addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1) + addtimer(CALLBACK(src, PROC_REF(take_damage), max_integrity), 1) else visible_message("A massive brass spike erupts from the ground!") diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index b6ed7dfe65..cf0b873267 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -199,7 +199,7 @@ /datum/antagonist/clockcult/get_admin_commands() . = ..() - .["Give slab"] = CALLBACK(src,.proc/admin_give_slab) + .["Give slab"] = CALLBACK(src,PROC_REF(admin_give_slab)) /datum/antagonist/clockcult/proc/admin_give_slab(mob/admin) if(!SSticker.mode.equip_servant(owner.current)) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index edce8b7932..af6719e715 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -268,7 +268,7 @@ SEND_SOUND(ranged_ability_user, sound('sound/effects/ghost.ogg',0,1,50)) var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER) add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, FALSE) - addtimer(CALLBACK(H,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(H,TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) to_chat(ranged_ability_user,"[H] has been cursed with living nightmares!") attached_action.charges-- attached_action.desc = attached_action.base_desc @@ -428,7 +428,7 @@ L.mob_light(_color = LIGHT_COLOR_HOLY_MAGIC, _range = 2, _duration = 100) var/mutable_appearance/forbearance = mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER) L.add_overlay(forbearance) - addtimer(CALLBACK(L, /atom/proc/cut_overlay, forbearance), 100) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom, cut_overlay), forbearance), 100) if(istype(anti_magic_source, /obj/item)) var/obj/item/ams_object = anti_magic_source diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 61f6ec9998..60544e565d 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -175,8 +175,8 @@ /datum/antagonist/cult/get_admin_commands() . = ..() - .["Dagger"] = CALLBACK(src,.proc/admin_give_dagger) - .["Dagger and Metal"] = CALLBACK(src,.proc/admin_give_metal) + .["Dagger"] = CALLBACK(src,PROC_REF(admin_give_dagger)) + .["Dagger and Metal"] = CALLBACK(src,PROC_REF(admin_give_metal)) /datum/antagonist/cult/proc/admin_give_dagger(mob/admin) if(!equip_cultist(FALSE)) @@ -301,7 +301,7 @@ if(B.current) SEND_SOUND(B.current, 'sound/hallucinations/i_see_you2.ogg') to_chat(B.current, "The veil weakens as your cult grows, your eyes begin to glow...") - addtimer(CALLBACK(src, .proc/rise, B.current), 200) + addtimer(CALLBACK(src, PROC_REF(rise), B.current), 200) cult_risen = TRUE if(ratio > CULT_ASCENDENT && !cult_ascendent) @@ -309,7 +309,7 @@ if(B.current) SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') to_chat(B.current, "Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!") - addtimer(CALLBACK(src, .proc/ascend, B.current), 200) + addtimer(CALLBACK(src, PROC_REF(ascend), B.current), 200) cult_ascendent = TRUE diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index bc4748e44f..d3c150c434 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -189,7 +189,7 @@ S.release_shades(owner) B.current.setDir(SOUTH) new /obj/effect/temp_visual/cult/blood(final) - addtimer(CALLBACK(B.current, /mob/.proc/reckon, final), 10) + addtimer(CALLBACK(B.current, TYPE_PROC_REF(/mob, reckon), final), 10) else return antag.cult_team.reckoning_complete = TRUE @@ -290,7 +290,7 @@ B.current.client.images += C.cult_team.blood_target_image attached_action.owner.update_action_buttons_icon() remove_ranged_ability("The marking rite is complete! It will last for 90 seconds.") - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), 900, TIMER_STOPPABLE) + C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(reset_blood_target),C.cult_team), 900, TIMER_STOPPABLE) return TRUE return FALSE @@ -377,8 +377,8 @@ desc = "Remove the Blood Mark you previously set." button_icon_state = "emp" owner.update_action_buttons_icon() - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), base_cooldown, TIMER_STOPPABLE) - addtimer(CALLBACK(src, .proc/reset_button), base_cooldown) + C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(reset_blood_target),C.cult_team), base_cooldown, TIMER_STOPPABLE) + addtimer(CALLBACK(src, PROC_REF(reset_button)), base_cooldown) //////// ELDRITCH PULSE ///////// diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index e4cc134549..d8969c47e0 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -274,7 +274,7 @@ sword.spinning = TRUE sword.block_chance = 100 sword.slowdown += 1.5 - addtimer(CALLBACK(src, .proc/stop_spinning), 50) + addtimer(CALLBACK(src, PROC_REF(stop_spinning)), 50) holder.update_action_buttons_icon() /datum/action/innate/cult/spin2win/proc/stop_spinning() @@ -722,8 +722,8 @@ /obj/item/cult_spear/Initialize() . = ..() - 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/cult_spear/ComponentInitialize() . = ..() @@ -892,10 +892,10 @@ qdel(src) return charging = TRUE - INVOKE_ASYNC(src, .proc/charge, user) + INVOKE_ASYNC(src, PROC_REF(charge), user) if(do_after(user, 90, target = user)) firing = TRUE - INVOKE_ASYNC(src, .proc/pewpew, user, params) + INVOKE_ASYNC(src, PROC_REF(pewpew), user, params) var/obj/structure/emergency_shield/invoker/N = new(user.loc) if(do_after(user, 90, target = user)) user.DefaultCombatKnockdown(40) diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index cb17844ebe..919f357e9d 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -72,7 +72,7 @@ var/previouscolor = color color = "#FAE48C" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) /obj/structure/destructible/cult/proc/check_menu(mob/living/user) if(!user || user.incapacitated() || !iscultist(user) || !anchored || cooldowntime > world.time) @@ -111,7 +111,7 @@ to_chat(user, "You study the schematics etched into the altar...") var/list/options = list("Eldritch Whetstone" = radial_whetstone, "Construct Shell" = radial_shell, "Flask of Unholy Water" = radial_unholy_water) - var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) var/reward switch(choice) @@ -158,7 +158,7 @@ var/list/options = list("Shielded Robe" = radial_shielded, "Flagellant's Robe" = radial_flagellant, "Mirror Shield" = radial_mirror) - var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) var/reward switch(choice) @@ -289,7 +289,7 @@ to_chat(user, "You flip through the black pages of the archives...") var/list/options = list("Zealot's Blindfold" = radial_blindfold, "Shuttle Curse" = radial_curse, "Veil Walker Set" = radial_veilwalker) - var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) var/reward switch(choice) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 0512b6164c..fac0217ec6 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -156,7 +156,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/oldcolor = color color = rgb(255, 0, 0) animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) //Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user. /obj/effect/rune/malformed @@ -227,7 +227,7 @@ structure_check() searches for nearby cultist structures required for the invoca ..() do_sacrifice(L, invokers) animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) Cult_team.check_size() // Triggers the eye glow or aura effects if the cult has grown large enough relative to the crew rune_in_use = FALSE @@ -436,7 +436,7 @@ structure_check() searches for nearby cultist structures required for the invoca outer_portal = new(T, 600, color) light_range = 4 update_light() - addtimer(CALLBACK(src, .proc/close_portal), 600, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(close_portal)), 600, TIMER_UNIQUE) /obj/effect/rune/teleport/proc/close_portal() qdel(inner_portal) @@ -662,7 +662,7 @@ structure_check() searches for nearby cultist structures required for the invoca W.density = TRUE W.update_state() W.spread_density() - density_timer = addtimer(CALLBACK(src, .proc/lose_density), 3000, TIMER_STOPPABLE) + density_timer = addtimer(CALLBACK(src, PROC_REF(lose_density)), 3000, TIMER_STOPPABLE) /obj/effect/rune/wall/proc/lose_density() if(density) @@ -672,7 +672,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/oldcolor = color add_atom_colour("#696969", FIXED_COLOUR_PRIORITY) animate(src, color = oldcolor, time = 50, easing = EASE_IN) - addtimer(CALLBACK(src, .proc/recharge), 50) + addtimer(CALLBACK(src, PROC_REF(recharge)), 50) /obj/effect/rune/wall/proc/recharge() recharging = FALSE @@ -990,11 +990,11 @@ structure_check() searches for nearby cultist structures required for the invoca if(ishuman(M)) if(!iscultist(M)) AH.remove_hud_from(M) - addtimer(CALLBACK(GLOBAL_PROC, .proc/hudFix, M), duration) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(hudFix), M), duration) var/image/A = image('icons/mob/mob.dmi',M,"cultist", ABOVE_MOB_LAYER) A.override = 1 add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, FALSE) - addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"human_apoc",TRUE), duration) + addtimer(CALLBACK(M,TYPE_PROC_REF(/atom, remove_alt_appearance),"human_apoc",TRUE), duration) images += A SEND_SOUND(M, pick(sound('sound/ambience/antag/bloodcult.ogg'),sound('sound/spookoween/ghost_whisper.ogg'),sound('sound/spookoween/ghosty_wind.ogg'))) else @@ -1002,13 +1002,13 @@ structure_check() searches for nearby cultist structures required for the invoca var/image/B = image('icons/mob/mob.dmi',M,construct, ABOVE_MOB_LAYER) B.override = 1 add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "mob_apoc", B, FALSE) - addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"mob_apoc",TRUE), duration) + addtimer(CALLBACK(M,TYPE_PROC_REF(/atom, remove_alt_appearance),"mob_apoc",TRUE), duration) images += B if(!iscultist(M)) if(M.client) var/image/C = image('icons/effects/cult_effects.dmi',M,"bloodsparkles", ABOVE_MOB_LAYER) add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, FALSE) - addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), duration) + addtimer(CALLBACK(M,TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), duration) images += C else to_chat(M, "An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!") diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm index 3e1a292d0f..d66e587dd8 100644 --- a/code/modules/antagonists/devil/devil.dm +++ b/code/modules/antagonists/devil/devil.dm @@ -123,7 +123,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", /datum/antagonist/devil/get_admin_commands() . = ..() - .["Toggle ascendable"] = CALLBACK(src,.proc/admin_toggle_ascendable) + .["Toggle ascendable"] = CALLBACK(src,PROC_REF(admin_toggle_ascendable)) /datum/antagonist/devil/proc/admin_toggle_ascendable(mob/admin) ascendable = !ascendable diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index fb82bfed3a..e166dcd4fc 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -59,7 +59,7 @@ /mob/living/carbon/true_devil/death(gibbed) set_stat(DEAD) drop_all_held_items() - INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), /datum/antagonist/devil/proc/beginResurrectionCheck, src) + INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) /mob/living/carbon/true_devil/examine(mob/user) diff --git a/code/modules/antagonists/disease/disease_event.dm b/code/modules/antagonists/disease/disease_event.dm index 385cee998b..b7343b22f4 100644 --- a/code/modules/antagonists/disease/disease_event.dm +++ b/code/modules/antagonists/disease/disease_event.dm @@ -19,7 +19,7 @@ var/mob/camera/disease/virus = new /mob/camera/disease(SSmapping.get_station_center()) selected.transfer_ckey(virus, FALSE) - INVOKE_ASYNC(virus, /mob/camera/disease/proc/pick_name) + INVOKE_ASYNC(virus, TYPE_PROC_REF(/mob/camera/disease, pick_name)) message_admins("[ADMIN_LOOKUPFLW(virus)] has been made into a sentient disease by an event.") log_game("[key_name(virus)] was spawned as a sentient disease by an event.") spawned_mobs += virus diff --git a/code/modules/antagonists/disease/disease_mob.dm b/code/modules/antagonists/disease/disease_mob.dm index c0c2698baf..68bb91a0cd 100644 --- a/code/modules/antagonists/disease/disease_mob.dm +++ b/code/modules/antagonists/disease/disease_mob.dm @@ -67,7 +67,7 @@ the new instance inside the host to be updated to the template's stats. browser = new /datum/browser(src, "disease_menu", "Adaptation Menu", 1000, 770, src) freemove_end = world.time + freemove_time - freemove_end_timerid = addtimer(CALLBACK(src, .proc/infect_random_patient_zero), freemove_time, TIMER_STOPPABLE) + freemove_end_timerid = addtimer(CALLBACK(src, PROC_REF(infect_random_patient_zero)), freemove_time, TIMER_STOPPABLE) /mob/camera/disease/Destroy() . = ..() @@ -264,7 +264,7 @@ the new instance inside the host to be updated to the template's stats. /mob/camera/disease/proc/set_following(mob/living/L) if(following_host) UnregisterSignal(following_host, COMSIG_MOVABLE_MOVED) - RegisterSignal(L, COMSIG_MOVABLE_MOVED, .proc/follow_mob) + RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(follow_mob)) following_host = L follow_mob() @@ -306,7 +306,7 @@ the new instance inside the host to be updated to the template's stats. /mob/camera/disease/proc/adapt_cooldown() to_chat(src, "You have altered your genetic structure. You will be unable to adapt again for [DisplayTimeText(adaptation_cooldown)].") next_adaptation_time = world.time + adaptation_cooldown - addtimer(CALLBACK(src, .proc/notify_adapt_ready), adaptation_cooldown) + addtimer(CALLBACK(src, PROC_REF(notify_adapt_ready)), adaptation_cooldown) /mob/camera/disease/proc/notify_adapt_ready() to_chat(src, "You are now ready to adapt again.") diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index 1490705043..30e955355b 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -137,7 +137,7 @@ /datum/antagonist/heretic/get_admin_commands() . = ..() - .["Equip"] = CALLBACK(src,.proc/equip_cultist) + .["Equip"] = CALLBACK(src,PROC_REF(equip_cultist)) /datum/antagonist/heretic/roundend_report() var/list/parts = list() diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm index 9ac6068c20..b8d47147b9 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm @@ -18,7 +18,7 @@ if(!IS_HERETIC(user)) return if(!is_in_use) - INVOKE_ASYNC(src, .proc/activate , user) + INVOKE_ASYNC(src, PROC_REF(activate) , user) /obj/effect/eldritch/attackby(obj/item/I, mob/living/user) . = ..() @@ -165,7 +165,7 @@ * Use this whenever you want to add someone to the list */ /datum/reality_smash_tracker/proc/AddMind(datum/mind/M) - RegisterSignal(M.current,COMSIG_MOB_CLIENT_LOGIN,.proc/ReworkNetwork) + RegisterSignal(M.current,COMSIG_MOB_CLIENT_LOGIN,PROC_REF(ReworkNetwork)) targets |= M _Generate() for(var/X in smashes) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index b06efd97bc..99d58522c9 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -153,11 +153,11 @@ to_chat(user, "The items don't posses required fingerprints.") return FALSE - var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sortList(compiled_list, /proc/cmp_mob_realname_dsc) + var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sortList(compiled_list, GLOBAL_PROC_REF(cmp_mob_realname_dsc)) if(!chosen_mob) return FALSE curse(compiled_list[chosen_mob]) - addtimer(CALLBACK(src, .proc/uncurse, compiled_list[chosen_mob]),timer) + addtimer(CALLBACK(src, PROC_REF(uncurse), compiled_list[chosen_mob]),timer) return TRUE /datum/eldritch_knowledge/curse/proc/curse(mob/living/chosen_mob) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_magic.dm b/code/modules/antagonists/eldritch_cult/eldritch_magic.dm index c8acf327ba..9a3fbe6cae 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_magic.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_magic.dm @@ -354,15 +354,15 @@ for(var/X in targets) var/T T = line_target(-25, range, X, user) - INVOKE_ASYNC(src, .proc/fire_line, user,T) + INVOKE_ASYNC(src, PROC_REF(fire_line), user,T) T = line_target(10, range, X, user) - INVOKE_ASYNC(src, .proc/fire_line, user,T) + INVOKE_ASYNC(src, PROC_REF(fire_line), user,T) T = line_target(0, range, X, user) - INVOKE_ASYNC(src, .proc/fire_line, user,T) + INVOKE_ASYNC(src, PROC_REF(fire_line), user,T) T = line_target(-10, range, X, user) - INVOKE_ASYNC(src, .proc/fire_line, user,T) + INVOKE_ASYNC(src, PROC_REF(fire_line), user,T) T = line_target(25, range, X, user) - INVOKE_ASYNC(src, .proc/fire_line, user,T) + INVOKE_ASYNC(src, PROC_REF(fire_line), user,T) return ..() /obj/effect/proc_holder/spell/pointed/nightwatchers_rite/proc/line_target(offset, range, atom/at , atom/user) @@ -441,7 +441,7 @@ action_background_icon_state = "bg_ecult" /obj/effect/proc_holder/spell/aoe_turf/fire_cascade/cast(list/targets, mob/user = usr) - INVOKE_ASYNC(src, .proc/fire_cascade, user,range) + INVOKE_ASYNC(src, PROC_REF(fire_cascade), user,range) /obj/effect/proc_holder/spell/aoe_turf/fire_cascade/proc/fire_cascade(atom/centre,max_range) playsound(get_turf(centre), 'sound/items/welder.ogg', 75, TRUE) @@ -487,7 +487,7 @@ . = ..() current_user = user has_fire_ring = TRUE - addtimer(CALLBACK(src, .proc/remove, user), duration, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(remove), user), duration, TIMER_OVERRIDE|TIMER_UNIQUE) /obj/effect/proc_holder/spell/targeted/fire_sworn/proc/remove() has_fire_ring = FALSE diff --git a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm index 5e32cf1b4e..9086e5c560 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm @@ -55,7 +55,7 @@ var/datum/antagonist/heretic/master = user.mind.has_antag_datum(/datum/antagonist/heretic) heretic_monster.set_owner(master) atoms -= humie - RegisterSignal(humie,COMSIG_MOB_DEATH,.proc/remove_ghoul) + RegisterSignal(humie,COMSIG_MOB_DEATH,PROC_REF(remove_ghoul)) ghouls += humie /datum/eldritch_knowledge/flesh_ghoul/proc/remove_ghoul(datum/source) @@ -110,7 +110,7 @@ log_game("[key_name_admin(human_target)] has become a ghoul, their master is [user.real_name]") //we change it to true only after we know they passed all the checks . = TRUE - RegisterSignal(human_target,COMSIG_MOB_DEATH,.proc/remove_ghoul) + RegisterSignal(human_target,COMSIG_MOB_DEATH,PROC_REF(remove_ghoul)) human_target.revive(full_heal = TRUE, admin_revive = TRUE) human_target.setMaxHealth(40) human_target.health = 40 diff --git a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm index 5fdff5a514..d2e49f800b 100644 --- a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm +++ b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm @@ -156,7 +156,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, signalCache) - RegisterSignal(user, signalCache, .proc/disrupt) + RegisterSignal(user, signalCache, PROC_REF(disrupt)) listeningTo = user /obj/item/borg_chameleon/proc/deactivate(mob/living/silicon/robot/user) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 49c8711216..d4434b248f 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -458,7 +458,7 @@ sound_to_playing_players('sound/machines/alarm.ogg') if(SSticker && SSticker.mode) SSticker.roundend_check_paused = TRUE - addtimer(CALLBACK(src, .proc/actually_explode), 100) + addtimer(CALLBACK(src, PROC_REF(actually_explode)), 100) /obj/machinery/nuclearbomb/proc/actually_explode() if(!core) @@ -492,8 +492,8 @@ SSticker.roundend_check_paused = FALSE /obj/machinery/nuclearbomb/proc/really_actually_explode(off_station) - Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker,/datum/controller/subsystem/ticker/proc/station_explosion_detonation,src)) - INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z) + Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker,TYPE_PROC_REF(/datum/controller/subsystem/ticker, station_explosion_detonation),src)) + INVOKE_ASYNC(GLOBAL_PROC,GLOBAL_PROC_REF(KillEveryoneOnZLevel), z) /obj/machinery/nuclearbomb/proc/get_cinematic_type(off_station) if(off_station < 2) @@ -539,10 +539,10 @@ var/datum/round_event_control/E = locate(/datum/round_event_control/vent_clog/beer) in SSevents.control if(E) E.runEvent() - addtimer(CALLBACK(src, .proc/really_actually_explode), 110) + addtimer(CALLBACK(src, PROC_REF(really_actually_explode)), 110) else visible_message("[src] fizzes ominously.") - addtimer(CALLBACK(src, .proc/fizzbuzz), 110) + addtimer(CALLBACK(src, PROC_REF(fizzbuzz)), 110) /obj/machinery/nuclearbomb/beer/proc/disarm() detonation_timer = null @@ -686,7 +686,7 @@ This is here to make the tiles around the station mininuke change when it's arme playsound(src, 'sound/machines/alarm.ogg', 50, -1, TRUE) for(var/i in 1 to 100) addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? "#00FF00" : "#FF0000", ADMIN_COLOUR_PRIORITY), i) - addtimer(CALLBACK(src, .proc/manual_suicide, user), 101) + addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), 101) return MANUAL_SUICIDE /obj/item/disk/nuclear/proc/manual_suicide(mob/living/user) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 652b19a8e7..4874550682 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -126,8 +126,8 @@ /datum/antagonist/nukeop/get_admin_commands() . = ..() - .["Send to base"] = CALLBACK(src,.proc/admin_send_to_base) - .["Tell code"] = CALLBACK(src,.proc/admin_tell_code) + .["Send to base"] = CALLBACK(src,PROC_REF(admin_send_to_base)) + .["Tell code"] = CALLBACK(src,PROC_REF(admin_tell_code)) /datum/antagonist/nukeop/proc/admin_send_to_base(mob/admin) owner.current.forceMove(pick(GLOB.nukeop_start)) @@ -176,7 +176,7 @@ to_chat(owner, "If you feel you are not up to this task, give your ID to another operative.") to_chat(owner, "In your hand you will find a special item capable of triggering a greater challenge for your team. Examine it carefully and consult with your fellow operatives before activating it.") owner.announce_objectives() - addtimer(CALLBACK(src, .proc/nuketeam_name_assign), 1) + addtimer(CALLBACK(src, PROC_REF(nuketeam_name_assign)), 1) /datum/antagonist/nukeop/leader/proc/nuketeam_name_assign() diff --git a/code/modules/antagonists/overthrow/overthrow.dm b/code/modules/antagonists/overthrow/overthrow.dm index 0e8c4a35e0..90439a1d5c 100644 --- a/code/modules/antagonists/overthrow/overthrow.dm +++ b/code/modules/antagonists/overthrow/overthrow.dm @@ -83,8 +83,8 @@ /datum/antagonist/overthrow/get_admin_commands() . = ..() - .["Give storage with random item"] = CALLBACK(src,.proc/equip_overthrow) - .["Give overthrow boss equip"] = CALLBACK(src,.proc/equip_initial_overthrow_agent) + .["Give storage with random item"] = CALLBACK(src,PROC_REF(equip_overthrow)) + .["Give overthrow boss equip"] = CALLBACK(src,PROC_REF(equip_initial_overthrow_agent)) // Dynamically creates the HUD for the team if it doesn't exist already, inserting it into the global huds list, and assigns it to the user. The index is saved into a var owned by the team datum. /datum/antagonist/overthrow/proc/update_overthrow_icons_added(datum/mind/traitor_mind) diff --git a/code/modules/antagonists/overthrow/overthrow_team.dm b/code/modules/antagonists/overthrow/overthrow_team.dm index a22f08d45c..9d5ceb748f 100644 --- a/code/modules/antagonists/overthrow/overthrow_team.dm +++ b/code/modules/antagonists/overthrow/overthrow_team.dm @@ -25,7 +25,7 @@ target.team = src target.find_target() objectives += target - addtimer(CALLBACK(src,.proc/update_objectives),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE) + addtimer(CALLBACK(src,PROC_REF(update_objectives)),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE) /datum/team/overthrow/proc/update_objectives() var/datum/objective/overthrow/heads/heads_obj = locate() in objectives @@ -40,4 +40,4 @@ O.objectives += heads_obj heads_obj.find_targets() - addtimer(CALLBACK(src,.proc/update_objectives),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE) + addtimer(CALLBACK(src,PROC_REF(update_objectives)),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE) diff --git a/code/modules/antagonists/pirate/pirate.dm b/code/modules/antagonists/pirate/pirate.dm index e6d350064d..f6632bbe76 100644 --- a/code/modules/antagonists/pirate/pirate.dm +++ b/code/modules/antagonists/pirate/pirate.dm @@ -70,7 +70,7 @@ //Lists notable loot. if(!cargo_hold || !cargo_hold.total_report) return "Nothing" - cargo_hold.total_report.total_value = sortTim(cargo_hold.total_report.total_value, cmp = /proc/cmp_numeric_dsc, associative = TRUE) + cargo_hold.total_report.total_value = sortTim(cargo_hold.total_report.total_value, cmp = GLOBAL_PROC_REF(cmp_numeric_dsc), associative = TRUE) var/count = 0 var/list/loot_texts = list() for(var/datum/export/E in cargo_hold.total_report.total_value) diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index a7751c129a..83dfd04592 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -113,7 +113,7 @@ if(stasis) return if(revealed && essence <= 0) - INVOKE_ASYNC(src, .proc/death) + INVOKE_ASYNC(src, PROC_REF(death)) if(unreveal_time && world.time >= unreveal_time) unreveal_time = 0 revealed = FALSE @@ -191,7 +191,7 @@ adjustBruteLoss(25) //hella effective inhibited = TRUE update_action_buttons_icon() - addtimer(CALLBACK(src, .proc/reset_inhibit), 30) + addtimer(CALLBACK(src, PROC_REF(reset_inhibit)), 30) /mob/living/simple_animal/revenant/proc/reset_inhibit() inhibited = FALSE @@ -345,7 +345,7 @@ /obj/item/ectoplasm/revenant/New() ..() - addtimer(CALLBACK(src, .proc/try_reform), 600) + addtimer(CALLBACK(src, PROC_REF(try_reform)), 600) /obj/item/ectoplasm/revenant/proc/scatter() qdel(src) diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index e4ce920499..8359c6939e 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -192,7 +192,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/overload/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/overload, T, user) + INVOKE_ASYNC(src, PROC_REF(overload), T, user) /obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/overload(turf/T, mob/user) for(var/obj/machinery/light/L in T) @@ -203,7 +203,7 @@ s.set_up(4, 0, L) s.start() new /obj/effect/temp_visual/revenant(get_turf(L)) - addtimer(CALLBACK(src, .proc/overload_shock, L, user), 20) + addtimer(CALLBACK(src, PROC_REF(overload_shock), L, user), 20) /obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/overload_shock(obj/machinery/light/L, mob/user) if(!L.on) //wait, wait, don't shock me @@ -233,7 +233,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/defile, T) + INVOKE_ASYNC(src, PROC_REF(defile), T) /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T) for(var/obj/effect/blessing/B in T) @@ -284,7 +284,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/malfunction, T, user) + INVOKE_ASYNC(src, PROC_REF(malfunction), T, user) /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/proc/malfunction(turf/T, mob/user) for(var/mob/living/simple_animal/bot/bot in T) @@ -330,7 +330,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/blight/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) - INVOKE_ASYNC(src, .proc/blight, T, user) + INVOKE_ASYNC(src, PROC_REF(blight), T, user) /obj/effect/proc_holder/spell/aoe_turf/revenant/blight/proc/blight(turf/T, mob/user) for(var/mob/living/mob in T) diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index 235e50008c..0a398443b9 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -64,7 +64,7 @@ affected_mob.visible_message("[affected_mob] looks terrifyingly gaunt...", "You suddenly feel like your skin is wrong...") affected_mob.add_atom_colour("#1d2953", TEMPORARY_COLOUR_PRIORITY) new /obj/effect/temp_visual/revenant(affected_mob.loc) - addtimer(CALLBACK(src, .proc/curses), 150) + addtimer(CALLBACK(src, PROC_REF(curses)), 150) /datum/disease/revblight/proc/curses() if(QDELETED(affected_mob)) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 4f308cc4c0..4627a1e5c6 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -86,7 +86,7 @@ /datum/antagonist/rev/get_admin_commands() . = ..() - .["Promote"] = CALLBACK(src,.proc/admin_promote) + .["Promote"] = CALLBACK(src,PROC_REF(admin_promote)) /datum/antagonist/rev/proc/admin_promote(mob/admin) var/datum/mind/O = owner @@ -106,10 +106,10 @@ /datum/antagonist/rev/head/get_admin_commands() . = ..() . -= "Promote" - .["Take flash"] = CALLBACK(src,.proc/admin_take_flash) - .["Give flash"] = CALLBACK(src,.proc/admin_give_flash) - .["Repair flash"] = CALLBACK(src,.proc/admin_repair_flash) - .["Demote"] = CALLBACK(src,.proc/admin_demote) + .["Take flash"] = CALLBACK(src,PROC_REF(admin_take_flash)) + .["Give flash"] = CALLBACK(src,PROC_REF(admin_give_flash)) + .["Repair flash"] = CALLBACK(src,PROC_REF(admin_repair_flash)) + .["Demote"] = CALLBACK(src,PROC_REF(admin_demote)) /datum/antagonist/rev/head/proc/admin_take_flash(mob/admin) var/list/L = owner.current.get_contents() @@ -282,7 +282,7 @@ var/datum/antagonist/rev/R = M.has_antag_datum(/datum/antagonist/rev) R.objectives |= objectives - addtimer(CALLBACK(src,.proc/update_objectives),HEAD_UPDATE_PERIOD,TIMER_UNIQUE) + addtimer(CALLBACK(src,PROC_REF(update_objectives)),HEAD_UPDATE_PERIOD,TIMER_UNIQUE) /datum/team/revolution/proc/head_revolutionaries() . = list() @@ -308,7 +308,7 @@ var/datum/antagonist/rev/rev = new_leader.has_antag_datum(/datum/antagonist/rev) rev.promote() - addtimer(CALLBACK(src,.proc/update_heads),HEAD_UPDATE_PERIOD,TIMER_UNIQUE) + addtimer(CALLBACK(src,PROC_REF(update_heads)),HEAD_UPDATE_PERIOD,TIMER_UNIQUE) /datum/team/revolution/proc/save_members() ex_headrevs = get_antag_minds(/datum/antagonist/rev/head, TRUE) diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index e81f92ee09..1e2488b055 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -117,7 +117,7 @@ . = ..() add_movespeed_modifier(/datum/movespeed_modifier/slaughter) var/slowdown_time = 6 SECONDS + (0.5 * consumed_buff) - addtimer(CALLBACK(src, .proc/remove_movespeed_modifier, /datum/movespeed_modifier/slaughter), slowdown_time, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(remove_movespeed_modifier), /datum/movespeed_modifier/slaughter), slowdown_time, TIMER_UNIQUE | TIMER_OVERRIDE) /mob/living/simple_animal/slaughter/Destroy() release_victims() diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 03a653480c..d706a8d358 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -135,7 +135,7 @@ if(!silent) to_chat(H, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.") H.dna.remove_mutation(CLOWNMUT) - RegisterSignal(M, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) + RegisterSignal(M, COMSIG_MOVABLE_HEAR, PROC_REF(handle_hearing)) /datum/antagonist/traitor/remove_innate_effects(mob/living/mob_override) . = ..() diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 700c9ea508..8495a07520 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -457,7 +457,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( minor_announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.","Network Alert:", TRUE) to_chat(owner, "Lockdown initiated. Network reset in 90 seconds.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce, + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(minor_announce), "Automatic system reboot complete. Have a secure day.", "Network reset:"), 900) @@ -728,7 +728,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( I.loc = T client.images += I I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively - addtimer(CALLBACK(src, .proc/remove_transformer_image, client, I, T), 30) + addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, T), 30) if(!success) to_chat(src, "[alert_msg]") return success @@ -783,7 +783,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( for(var/obj/machinery/light/L in GLOB.machines) if(is_station_level(L.z)) L.no_emergency = TRUE - INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE) + INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE) CHECK_TICK to_chat(owner, "Emergency light connections severed.") owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE) diff --git a/code/modules/antagonists/traitor/syndicate_contract.dm b/code/modules/antagonists/traitor/syndicate_contract.dm index 16479e3f9b..677ffbe2b4 100644 --- a/code/modules/antagonists/traitor/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/syndicate_contract.dm @@ -61,7 +61,7 @@ /datum/syndicate_contract/proc/launch_extraction_pod(turf/empty_pod_turf) var/obj/structure/closet/supplypod/extractionpod/empty_pod = new() - RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, .proc/enter_check) + RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, PROC_REF(enter_check)) empty_pod.stay_after_drop = TRUE empty_pod.reversing = TRUE @@ -142,7 +142,7 @@ [C.registered_account.account_balance] cr.", TRUE) /datum/syndicate_contract/proc/handleVictimExperience(mob/living/M) // They're off to holding - handle the return timer and give some text about what's going on. - addtimer(CALLBACK(src, .proc/returnVictim, M), 4 MINUTES) // Ship 'em back - dead or alive... 4 minutes wait. + addtimer(CALLBACK(src, PROC_REF(returnVictim), M), 4 MINUTES) // Ship 'em back - dead or alive... 4 minutes wait. if(M.stat != DEAD) //Even if they weren't the target, we're still treating them the same. M.reagents.add_reagent(/datum/reagent/medicine/regen_jelly, 20) // Heal them up - gets them out of crit/soft crit. -- now 100% toxinlover friendly!! M.flash_act() diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 42954c3542..4019a86071 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -131,7 +131,7 @@ /datum/antagonist/wizard/get_admin_commands() . = ..() - .["Send to Lair"] = CALLBACK(src,.proc/admin_send_to_lair) + .["Send to Lair"] = CALLBACK(src,PROC_REF(admin_send_to_lair)) /datum/antagonist/wizard/proc/admin_send_to_lair(mob/admin) owner.current.forceMove(pick(GLOB.wizardstart)) diff --git a/code/modules/arousal/genitals.dm b/code/modules/arousal/genitals.dm index 5b54ef1699..3206e80c26 100644 --- a/code/modules/arousal/genitals.dm +++ b/code/modules/arousal/genitals.dm @@ -180,7 +180,7 @@ . = ..() if(.) update() - RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance) + RegisterSignal(owner, COMSIG_MOB_DEATH, PROC_REF(update_appearance)) if(genital_flags & GENITAL_THROUGH_CLOTHES) owner.exposed_genitals += src diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index c50ca2f187..067d8386f6 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -57,9 +57,9 @@ //Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs /obj/item/assembly/proc/pulsed(radio = FALSE) if(wire_type & WIRE_RECEIVE) - INVOKE_ASYNC(src, .proc/activate) + INVOKE_ASYNC(src, PROC_REF(activate)) if(radio && (wire_type & WIRE_RADIO_RECEIVE)) - INVOKE_ASYNC(src, .proc/activate) + INVOKE_ASYNC(src, PROC_REF(activate)) return TRUE diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 8c24269496..202ae38197 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -39,7 +39,7 @@ if(flash) add_overlay(flashing_overlay) attached_overlays += flashing_overlay - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5) if(holder) holder.update_icon() @@ -236,7 +236,7 @@ to_chat(our_implant.owner, "Your photon projector implant overheats and deactivates!") our_implant.Retract() overheat = TRUE - addtimer(CALLBACK(src, .proc/cooldown), flashcd * 2) + addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd * 2) /obj/item/assembly/flash/armimplant/try_use_flash(mob/user = null) if(overheat) @@ -244,7 +244,7 @@ to_chat(our_implant.owner, "Your photon projector is running too hot to be used again so quickly!") return FALSE overheat = TRUE - addtimer(CALLBACK(src, .proc/cooldown), flashcd) + addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd) playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) update_icon(1) return TRUE @@ -318,7 +318,7 @@ else if(flash) icon_state = "flashshield_flash" item_state = "flashshield_flash" - addtimer(CALLBACK(src, /atom/.proc/update_icon), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5) if(holder) holder.update_icon() diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 899eb12511..1cebf67713 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -20,7 +20,7 @@ /obj/item/assembly/infra/ComponentInitialize() . = ..() var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS - AddComponent(/datum/component/simple_rotation, rotation_flags, after_rotation=CALLBACK(src,.proc/after_rotation)) + AddComponent(/datum/component/simple_rotation, rotation_flags, after_rotation=CALLBACK(src,PROC_REF(after_rotation))) /obj/item/assembly/infra/proc/after_rotation() refreshBeam() @@ -161,7 +161,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_ATOM_EXITED) - RegisterSignal(newloc, COMSIG_ATOM_EXITED, .proc/check_exit) + RegisterSignal(newloc, COMSIG_ATOM_EXITED, PROC_REF(check_exit)) listeningTo = newloc /obj/item/assembly/infra/proc/check_exit(datum/source, atom/movable/offender) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 04af607d00..ec154e6668 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -92,7 +92,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/assembly/timer.dm b/code/modules/assembly/timer.dm index e06bb22b0b..768da4b4e3 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -14,7 +14,7 @@ /obj/item/assembly/timer/suicide_act(mob/living/user) user.visible_message("[user] looks at the timer and decides [user.p_their()] fate! It looks like [user.p_theyre()] going to commit suicide!") activate()//doesnt rely on timer_end to prevent weird metas where one person can control the timer and therefore someone's life. (maybe that should be how it works...) - addtimer(CALLBACK(src, .proc/manual_suicide, user), time*10)//kill yourself once the time runs out + addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), time*10)//kill yourself once the time runs out return MANUAL_SUICIDE /obj/item/assembly/timer/proc/manual_suicide(mob/living/user) diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index aeefb50430..0b2bb43ed2 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -37,7 +37,7 @@ if(!istype(speaker, /obj/item/assembly/playback)) // Check if it isn't a playback device to prevent spam and lag if(message_language == languages) // If it isn't in the same language as the message, don't try to find the message if(check_activation(speaker, raw_message)) // Is it the message? - addtimer(CALLBACK(src, .proc/pulse, 0), 10) + addtimer(CALLBACK(src, PROC_REF(pulse), 0), 10) /obj/item/assembly/voice/proc/record_speech(atom/movable/speaker, raw_message, datum/language/message_language) languages = message_language // Assign the message's language to a variable to use it elsewhere @@ -56,7 +56,7 @@ say("Your voice pattern is saved.", language = languages) if(VOICE_SENSOR_MODE) if(length(raw_message)) - addtimer(CALLBACK(src, .proc/pulse, 0), 10) + addtimer(CALLBACK(src, PROC_REF(pulse), 0), 10) /obj/item/assembly/voice/proc/check_activation(atom/movable/speaker, raw_message) . = FALSE diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm index f5a1af4f05..af9ea77bb3 100644 --- a/code/modules/asset_cache/transports/asset_transport.dm +++ b/code/modules/asset_cache/transports/asset_transport.dm @@ -14,7 +14,7 @@ /datum/asset_transport/proc/Load() if (CONFIG_GET(flag/asset_simple_preload)) for(var/client/C in GLOB.clients) - addtimer(CALLBACK(src, .proc/send_assets_slow, C, preload), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) /// Initialize - Called when SSassets initializes. /datum/asset_transport/proc/Initialize(list/assets) @@ -22,7 +22,7 @@ if (!CONFIG_GET(flag/asset_simple_preload)) return for(var/client/C in GLOB.clients) - addtimer(CALLBACK(src, .proc/send_assets_slow, C, preload), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) /// Register a browser asset with the asset cache system @@ -131,7 +131,7 @@ client.sent_assets[new_asset_name] = ACI.hash - addtimer(CALLBACK(client, /client/proc/asset_cache_update_json), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(client, TYPE_PROC_REF(/client, asset_cache_update_json)), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) return TRUE return FALSE diff --git a/code/modules/atmospherics/environmental/LINDA_system.dm b/code/modules/atmospherics/environmental/LINDA_system.dm index f6ef7901a9..5b12d8797d 100644 --- a/code/modules/atmospherics/environmental/LINDA_system.dm +++ b/code/modules/atmospherics/environmental/LINDA_system.dm @@ -70,7 +70,7 @@ (get_step(locate(x, y, z + z_traits["32"]), NONE)) : \ (null) : \ (get_step(src, direction)) - + if(!isopenturf(current_turf)) // not interested in you brother continue @@ -135,7 +135,7 @@ /turf/proc/set_sleeping(should_sleep) -/turf/proc/__update_auxtools_turf_adjacency_info() +///turf/proc/__update_auxtools_turf_adjacency_info() //returns a list of adjacent turfs that can share air with this one. //alldir includes adjacent diagonal tiles that can share diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index a51ecbbaaf..217a5d9f87 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -15,10 +15,6 @@ //approximation of MOLES_O2STANDARD and MOLES_N2STANDARD pending byond allowing constant expressions to be embedded in constant strings // If someone will place 0 of some gas there, SHIT WILL BREAK. Do not do that. -/turf/closed/Initialize(mapload) - . = ..() - update_air_ref() - /turf/open //used for spacewind var/pressure_difference = 0 @@ -32,13 +28,16 @@ var/list/atmos_overlay_types //gas IDs of current active gas overlays -/turf/open/Initialize() +/turf/open/Initialize(mapload) if(!blocks_air) - air = new(2500,src) - air.copy_from_turf(src) - update_air_ref() + if(planetary_atmos && !(initial_gas_mix in SSair.planetary)) + var/datum/gas_mixture/mix = new + mix.parse_gas_string(initial_gas_mix) + mix.mark_immutable() + SSair.planetary[initial_gas_mix] = mix + update_air_ref(planetary_atmos ? 1 : 2) . = ..() /turf/open/Destroy() @@ -46,8 +45,6 @@ QDEL_NULL(active_hotspot) return ..() -/turf/proc/update_air_ref() - /////////////////GAS MIXTURE PROCS/////////////////// /turf/open/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air @@ -56,55 +53,35 @@ /turf/open/assume_air_moles(datum/gas_mixture/giver, moles) if(!giver) return FALSE - if(SSair.thread_running()) - - SSair.deferred_airs += list(list(giver, air, moles / giver.total_moles())) - else - giver.transfer_to(air, moles) - update_visuals() + giver.transfer_to(air, moles) return TRUE /turf/open/assume_air_ratio(datum/gas_mixture/giver, ratio) if(!giver) return FALSE - if(SSair.thread_running()) - SSair.deferred_airs += list(list(giver, air, ratio)) - else - giver.transfer_ratio_to(air, ratio) - update_visuals() + giver.transfer_ratio_to(air, ratio) return TRUE /turf/open/transfer_air(datum/gas_mixture/taker, moles) if(!taker || !return_air()) // shouldn't transfer from space return FALSE - if(SSair.thread_running()) - SSair.deferred_airs += list(list(air, taker, moles / air.total_moles())) - else - air.transfer_to(taker, moles) - update_visuals() + air.transfer_to(taker, moles) return TRUE /turf/open/transfer_air_ratio(datum/gas_mixture/taker, ratio) if(!taker || !return_air()) return FALSE - if(SSair.thread_running()) - SSair.deferred_airs += list(list(air, taker, ratio)) - else - air.transfer_ratio_to(taker, ratio) - - update_visuals() + air.transfer_ratio_to(taker, ratio) return TRUE /turf/open/remove_air(amount) var/datum/gas_mixture/ours = return_air() var/datum/gas_mixture/removed = ours.remove(amount) - update_visuals() return removed /turf/open/remove_air_ratio(ratio) var/datum/gas_mixture/ours = return_air() var/datum/gas_mixture/removed = ours.remove_ratio(ratio) - update_visuals() return removed /turf/open/proc/copy_air_with_tile(turf/open/T) @@ -153,10 +130,8 @@ for(var/id in air.get_gases()) if (nonoverlaying_gases[id]) continue - var/gas_overlay = GLOB.gas_data.overlays[id] if(gas_overlay && air.get_moles(id) > GLOB.gas_data.visibility[id]) - new_overlay_types += gas_overlay[min(FACTOR_GAS_VISIBLE_MAX, CEILING(air.get_moles(id) / MOLES_GAS_VISIBLE_STEP, 1))] if (atmos_overlay_types) @@ -271,4 +246,3 @@ move_prob += pressure_resistance_prob_delta if (move_prob > PROBABILITY_OFFSET && prob(move_prob) && (move_resist != INFINITY) && (!anchored && (max_force >= (move_resist * MOVE_FORCE_PUSH_RATIO))) || (anchored && (max_force >= (move_resist * MOVE_FORCE_FORCEPUSH_RATIO)))) step(src, direction) - diff --git a/code/modules/atmospherics/gasmixtures/auxgm.dm b/code/modules/atmospherics/gasmixtures/auxgm.dm index 46fd37d582..65f578d493 100644 --- a/code/modules/atmospherics/gasmixtures/auxgm.dm +++ b/code/modules/atmospherics/gasmixtures/auxgm.dm @@ -12,7 +12,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA // Also allows you to add new gases at runtime -/proc/_auxtools_register_gas(datum/gas/gas) // makes sure auxtools knows stuff about this gas +///proc/_auxtools_register_gas(datum/gas/gas) // makes sure auxtools knows stuff about this gas /datum/auxgm var/done_initializing = FALSE @@ -144,7 +144,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA SSair.auxtools_update_reactions() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_NEW_GAS, g) -/proc/finalize_gas_refs() +///proc/finalize_gas_refs() /datum/auxgm/New() src.supermatter[HEAT_PENALTY] = list() diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 867761a6b3..a397797cea 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -16,13 +16,13 @@ What are the archived variables for? GLOBAL_LIST_INIT(auxtools_atmos_initialized,FALSE) -/proc/auxtools_atmos_init() +///proc/auxtools_atmos_init() /datum/gas_mixture/New(volume) if (!isnull(volume)) initial_volume = volume - AUXTOOLS_CHECK(AUXMOS) - if(!GLOB.auxtools_atmos_initialized && auxtools_atmos_init()) + //AUXTOOLS_CHECK(AUXMOS) + if(!GLOB.auxtools_atmos_initialized && auxtools_atmos_init(GLOB.gas_data)) GLOB.auxtools_atmos_initialized = TRUE __gasmixture_register() reaction_results = new @@ -111,8 +111,8 @@ we use a hook instead . = ..() */ -/datum/gas_mixture/proc/__gasmixture_unregister() -/datum/gas_mixture/proc/__gasmixture_register() +/*/datum/gas_mixture/proc/__gasmixture_unregister() +/datum/gas_mixture/proc/__gasmixture_register()*/ /proc/gas_types() var/list/L = subtypesof(/datum/gas) @@ -121,7 +121,7 @@ we use a hook instead L[gt] = initial(G.specific_heat) return L -/datum/gas_mixture/proc/heat_capacity() //joules per kelvin +/*/datum/gas_mixture/proc/heat_capacity() //joules per kelvin /datum/gas_mixture/proc/partial_heat_capacity(gas_type) @@ -136,7 +136,7 @@ we use a hook instead /datum/gas_mixture/proc/set_volume(new_volume) /datum/gas_mixture/proc/get_moles(gas_type) /datum/gas_mixture/proc/get_by_flag(flag) -/datum/gas_mixture/proc/set_moles(gas_type, moles) +/datum/gas_mixture/proc/set_moles(gas_type, moles)*/ // VV WRAPPERS - EXTOOLS HOOKED PROCS DO NOT TAKE ARGUMENTS FROM CALL() FOR SOME REASON. /datum/gas_mixture/proc/vv_set_moles(gas_type, moles) @@ -150,15 +150,15 @@ we use a hook instead /datum/gas_mixture/proc/vv_react(datum/holder) return react(holder) -/datum/gas_mixture/proc/scrub_into(datum/gas_mixture/target, ratio, list/gases) +/*datum/gas_mixture/proc/scrub_into(datum/gas_mixture/target, ratio, list/gases) /datum/gas_mixture/proc/mark_immutable() /datum/gas_mixture/proc/get_gases() /datum/gas_mixture/proc/add(amt) /datum/gas_mixture/proc/subtract(amt) /datum/gas_mixture/proc/multiply(factor) -/datum/gas_mixture/proc/divide(factor) +/datum/gas_mixture/proc/divide(factor)*/ /datum/gas_mixture/proc/get_last_share() -/datum/gas_mixture/proc/clear() +/*/datum/gas_mixture/proc/clear() /datum/gas_mixture/proc/adjust_moles(gas_type, amt = 0) set_moles(gas_type, clamp(get_moles(gas_type) + amt,0,INFINITY)) @@ -170,12 +170,13 @@ we use a hook instead /datum/gas_mixture/proc/return_volume() //liters /datum/gas_mixture/proc/thermal_energy() //joules +*/ /datum/gas_mixture/proc/archive() //Update archived versions of variables //Returns: 1 in all cases -/datum/gas_mixture/proc/merge(datum/gas_mixture/giver) +///datum/gas_mixture/proc/merge(datum/gas_mixture/giver) //Merges all air from giver into self. giver is untouched. //Returns: 1 if we are mutable, 0 otherwise @@ -187,10 +188,10 @@ we use a hook instead //Removes amount of gas from the gas mixture by flag //Returns: gas_mixture with gases that match the flag removed -/datum/gas_mixture/proc/transfer_to(datum/gas_mixture/target, amount) +///datum/gas_mixture/proc/transfer_to(datum/gas_mixture/target, amount) //Transfers amount of gas to target. Equivalent to target.merge(remove(amount)) but faster. -/datum/gas_mixture/proc/transfer_ratio_to(datum/gas_mixture/target, ratio) +///datum/gas_mixture/proc/transfer_ratio_to(datum/gas_mixture/target, ratio) //Transfers ratio of gas to target. Equivalent to target.merge(remove_ratio(amount)) but faster. /datum/gas_mixture/proc/remove_ratio(ratio) @@ -201,7 +202,7 @@ we use a hook instead //Creates new, identical gas mixture //Returns: duplicate gas mixture -/datum/gas_mixture/proc/copy_from(datum/gas_mixture/sample) +///datum/gas_mixture/proc/copy_from(datum/gas_mixture/sample) //Copies variables from sample //Returns: 1 if we are mutable, 0 otherwise @@ -217,7 +218,7 @@ we use a hook instead //Performs air sharing calculations between two gas_mixtures assuming only 1 boundary length //Returns: amount of gas exchanged (+ if sharer received) -/datum/gas_mixture/proc/temperature_share(datum/gas_mixture/sharer, conduction_coefficient,temperature=null,heat_capacity=null) +/*/datum/gas_mixture/proc/temperature_share(datum/gas_mixture/sharer, conduction_coefficient,temperature=null,heat_capacity=null) //Performs temperature sharing calculations (via conduction) between two gas_mixtures assuming only 1 boundary length //Returns: new temperature of the sharer @@ -247,7 +248,7 @@ we use a hook instead //Makes every gas in the given list have the same pressure, temperature and gas proportions. //Returns: null -/datum/gas_mixture/proc/__remove_by_flag() +/datum/gas_mixture/proc/__remove_by_flag()*/ /datum/gas_mixture/remove_by_flag(flag, amount) var/datum/gas_mixture/removed = new type @@ -255,14 +256,14 @@ we use a hook instead return removed -/datum/gas_mixture/proc/__remove() +///datum/gas_mixture/proc/__remove() /datum/gas_mixture/remove(amount) var/datum/gas_mixture/removed = new type __remove(removed, amount) return removed -/datum/gas_mixture/proc/__remove_ratio() +///datum/gas_mixture/proc/__remove_ratio() /datum/gas_mixture/remove_ratio(ratio) var/datum/gas_mixture/removed = new type __remove_ratio(removed, ratio) @@ -280,7 +281,7 @@ we use a hook instead parse_gas_string(model.initial_gas_mix) return 1 -/datum/gas_mixture/proc/__auxtools_parse_gas_string(gas_string) +///datum/gas_mixture/proc/__auxtools_parse_gas_string(gas_string) /datum/gas_mixture/parse_gas_string(gas_string) gas_string = SSair.preprocess_gas_string(gas_string) diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 99cc562ba3..20af3aaf28 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -8,7 +8,7 @@ reaction = new r if(!reaction.exclude) . += reaction - sortTim(., /proc/cmp_gas_reaction) + sortTim(., GLOBAL_PROC_REF(cmp_gas_reaction)) /proc/cmp_gas_reaction(datum/gas_reaction/a, datum/gas_reaction/b) // compares lists of reactions by the maximum priority contained within the list return b.priority - a.priority diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index c1e2bc78fb..06fcf00a5b 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -216,7 +216,7 @@ /obj/machinery/airalarm/Initialize(mapload, ndir, nbuild) . = ..() regenerate_TLV() - RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,.proc/regenerate_TLV) + RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,PROC_REF(regenerate_TLV)) wires = new /datum/wires/airalarm(src) if(ndir) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 6865084c77..293b3d17c5 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -59,17 +59,17 @@ ..() if(process) if(interacts_with_air) - SSair.atmos_air_machinery += src - else SSair.atmos_machinery += src + else + SSair.start_processing_machine(src) SetInitDirections() /obj/machinery/atmospherics/Destroy() for(var/i in 1 to device_type) nullifyNode(i) + SSair.stop_processing_machine(src) SSair.atmos_machinery -= src - SSair.atmos_air_machinery -= src SSair.pipenets_needing_rebuilt -= src dropContents() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index 35eb178771..8217ca4102 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -48,7 +48,7 @@ It's like a regular ol' straight pipe, but you can turn it on and off. return update_icon_nopipes(TRUE) switching = TRUE - addtimer(CALLBACK(src, .proc/finish_interact), 10) + addtimer(CALLBACK(src, PROC_REF(finish_interact)), 10) /obj/machinery/atmospherics/components/binary/valve/proc/finish_interact() toggle() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index ba86e3fa36..311153e6d8 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -152,7 +152,7 @@ occupant_overlay.pixel_y-- add_overlay(occupant_overlay) add_overlay("cover-on") - addtimer(CALLBACK(src, .proc/run_anim, anim_up, occupant_overlay), 7, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(run_anim), anim_up, occupant_overlay), 7, TIMER_UNIQUE) /obj/machinery/atmospherics/components/unary/cryo_cell/nap_violation(mob/violator) open_machine() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index a56c66759f..eb4ed21f77 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -124,7 +124,7 @@ on = !on if("inject" in signal.data) - INVOKE_ASYNC(src, .proc/inject) + INVOKE_ASYNC(src, PROC_REF(inject)) return if("set_volume_rate" in signal.data) @@ -132,7 +132,7 @@ var/datum/gas_mixture/air_contents = airs[1] volume_rate = clamp(number, 0, air_contents.return_volume()) - addtimer(CALLBACK(src, .proc/broadcast_status), 2) + addtimer(CALLBACK(src, PROC_REF(broadcast_status)), 2) if(!("status" in signal.data)) //do not update_icon update_icon() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 31bbfe3f14..eaa020efe9 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -36,7 +36,7 @@ if(!id_tag) id_tag = assign_uid_vents() generate_clean_filter_types() - RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,.proc/generate_clean_filter_types) + RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,PROC_REF(generate_clean_filter_types)) /obj/machinery/atmospherics/components/unary/vent_scrubber/proc/generate_clean_filter_types() clean_filter_types = list() diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index c17c93ab95..d4ac052241 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -34,7 +34,7 @@ /obj/machinery/meter/Initialize(mapload, new_piping_layer) if(!isnull(new_piping_layer)) target_layer = new_piping_layer - SSair.atmos_machinery += src + SSair.start_processing_machine(src) if(!target) reattach_to_layer() return ..() diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index 43879038a9..fa57e683c4 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -16,7 +16,7 @@ /obj/machinery/portable_atmospherics/New() ..() - SSair.atmos_air_machinery += src + SSair.atmos_machinery += src air_contents = new(volume) air_contents.set_temperature(T20C) @@ -24,7 +24,7 @@ return 1 /obj/machinery/portable_atmospherics/Destroy() - SSair.atmos_air_machinery -= src + SSair.atmos_machinery -= src disconnect() qdel(air_contents) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index bd17254cfb..6a75d646ff 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -255,7 +255,7 @@ var/turf/T = get_turf(body) new /obj/effect/ctf/ammo(T) recently_dead_ckeys += body.ckey - addtimer(CALLBACK(src, .proc/clear_cooldown, body.ckey), respawn_cooldown, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(clear_cooldown), body.ckey), respawn_cooldown, TIMER_UNIQUE) body.dust() /obj/machinery/capture_the_flag/proc/clear_cooldown(ckey) @@ -386,7 +386,7 @@ /obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /obj/item/ammo_casing/a50/ctf projectile_type = /obj/item/projectile/bullet/ctf @@ -406,14 +406,14 @@ /obj/item/gun/ballistic/automatic/laser/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /obj/item/ammo_box/magazine/recharge/ctf ammo_type = /obj/item/ammo_casing/caseless/laser/ctf /obj/item/ammo_box/magazine/recharge/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /obj/item/ammo_casing/caseless/laser/ctf projectile_type = /obj/item/projectile/beam/ctf @@ -479,7 +479,7 @@ /obj/item/claymore/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /datum/outfit/ctf name = "CTF" diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 425d18834a..0d9b92d44e 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -66,7 +66,7 @@ /obj/effect/mob_spawn/Initialize(mapload) . = ..() if(instant || (roundstart && (mapload || (SSticker && SSticker.current_state > GAME_STATE_SETTING_UP)))) - INVOKE_ASYNC(src, .proc/create) + INVOKE_ASYNC(src, PROC_REF(create)) else if(ghost_usable) GLOB.poi_list |= src LAZYADD(GLOB.mob_spawners[job_description ? job_description : name], src) diff --git a/code/modules/awaymissions/mission_code/murderdome.dm b/code/modules/awaymissions/mission_code/murderdome.dm index 2a7cb21841..e682ceeab1 100644 --- a/code/modules/awaymissions/mission_code/murderdome.dm +++ b/code/modules/awaymissions/mission_code/murderdome.dm @@ -28,7 +28,7 @@ /obj/effect/murderdome/dead_barricade/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/respawn), 3 MINUTES) + addtimer(CALLBACK(src, PROC_REF(respawn)), 3 MINUTES) /obj/effect/murderdome/dead_barricade/proc/respawn() if(!QDELETED(src)) diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index 4a56257882..cc098aadd8 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -27,7 +27,7 @@ mode = new /datum/buildmode_mode/basic(src) holder = c buttons = list() - li_cb = CALLBACK(src, .proc/post_login) + li_cb = CALLBACK(src, PROC_REF(post_login)) holder.player_details.post_login_callbacks += li_cb holder.show_popup_menus = FALSE create_buttons() diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index 5dab06ff18..df63b4f61c 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -264,7 +264,7 @@ if (temp_pod.effectShrapnel == TRUE) //If already doing custom damage, set back to default (no shrapnel) temp_pod.effectShrapnel = FALSE return - var/shrapnelInput = input("Please enter the type of pellet cloud you'd like to create on landing (Can be any projectile!)", "Projectile Typepath", 0) in sortList(subtypesof(/obj/item/projectile), /proc/cmp_typepaths_asc) + var/shrapnelInput = input("Please enter the type of pellet cloud you'd like to create on landing (Can be any projectile!)", "Projectile Typepath", 0) in sortList(subtypesof(/obj/item/projectile), GLOBAL_PROC_REF(cmp_typepaths_asc)) if (isnull(shrapnelInput)) return var/shrapnelMagnitude = input("Enter the magnitude of the pellet cloud. This is usually a value around 1-5. Please note that Ryll-Ryll has asked me to tell you that if you go too crazy with the projectiles you might crash the server. So uh, be gentle!", "Shrapnel Magnitude", 0) as null|num diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index d543958a25..f91188d326 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -107,7 +107,7 @@ anomalous_box_provided = TRUE log_game("An anomalous pizza box was provided in a pizza crate at during cargo delivery") if(prob(50)) - addtimer(CALLBACK(src, .proc/anomalous_pizza_report), rand(300, 1800)) + addtimer(CALLBACK(src, PROC_REF(anomalous_pizza_report)), rand(300, 1800)) else message_admins("An anomalous pizza box was silently created with no command report in a pizza crate delivery.") break diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 39437dbd22..b199fa8172 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -115,7 +115,7 @@ /obj/structure/closet/supplypod/proc/handleReturningClose(atom/movable/holder, returntobay) opened = FALSE - INVOKE_ASYNC(holder, .proc/setClosed) //Use the INVOKE_ASYNC proc to call setClosed() on whatever the holder may be, without giving the atom/movable base class a setClosed() proc definition + INVOKE_ASYNC(holder, PROC_REF(setClosed)) //Use the INVOKE_ASYNC proc to call setClosed() on whatever the holder may be, without giving the atom/movable base class a setClosed() proc definition for(var/atom/movable/O in get_turf(holder)) if ((ismob(O) && !isliving(O)) || (is_type_in_typecache(O, GLOB.blacklisted_cargo_types) && !isliving(O))) //We dont want to take ghosts with us, and we don't want blacklisted items going, but we allow mobs. continue @@ -180,7 +180,7 @@ opened = TRUE //We set opened to TRUE to avoid spending time trying to open (due to being deleted) during the Destroy() proc qdel(src) else - addtimer(CALLBACK(src, .proc/open, src), openingDelay) //After the openingDelay passes, we use the open proc from this supplypod, while referencing this supplypod's contents + addtimer(CALLBACK(src, PROC_REF(open), src), openingDelay) //After the openingDelay passes, we use the open proc from this supplypod, while referencing this supplypod's contents /obj/structure/closet/supplypod/open(atom/movable/holder, broken = FALSE, forced = FALSE) //The holder var represents an atom whose contents we will be working with var/turf/T = get_turf(holder) //Get the turf of whoever's contents we're talking about @@ -196,7 +196,7 @@ return if (openingSound) playsound(get_turf(holder), openingSound, soundVolume, 0, 0) //Special admin sound to play - INVOKE_ASYNC(holder, .proc/setOpened) //Use the INVOKE_ASYNC proc to call setOpened() on whatever the holder may be, without giving the atom/movable base class a setOpened() proc definition + INVOKE_ASYNC(holder, PROC_REF(setOpened)) //Use the INVOKE_ASYNC proc to call setOpened() on whatever the holder may be, without giving the atom/movable base class a setOpened() proc definition if (style == STYLE_SEETHROUGH) update_icon() for (var/atom/movable/O in holder.contents) //Go through the contents of the holder @@ -209,7 +209,7 @@ depart(src) else if(!stay_after_drop) // Departing should be handled manually - addtimer(CALLBACK(src, .proc/depart, holder), departureDelay) //Finish up the pod's duties after a certain amount of time + addtimer(CALLBACK(src, PROC_REF(depart), holder), departureDelay) //Finish up the pod's duties after a certain amount of time /obj/structure/closet/supplypod/proc/depart(atom/movable/holder) if (leavingSound) @@ -307,8 +307,8 @@ if (soundStartTime < 0) soundStartTime = 1 if (!pod.effectQuiet) - addtimer(CALLBACK(src, .proc/playFallingSound), soundStartTime) - addtimer(CALLBACK(src, .proc/beginLaunch, pod.effectCircle), pod.landingDelay) + addtimer(CALLBACK(src, PROC_REF(playFallingSound)), soundStartTime) + addtimer(CALLBACK(src, PROC_REF(beginLaunch), pod.effectCircle), pod.landingDelay) /obj/effect/abstract/DPtarget/proc/playFallingSound() playsound(src, pod.fallingSound, pod.soundVolume, 1, 6) @@ -326,7 +326,7 @@ M.Turn(rotation) //Turn the matrix pod.transform = M //Turn the actual pod (Won't be visible until endLaunch() proc tho) animate(fallingPod, pixel_z = 0, pixel_x = -16, time = pod.fallDuration, , easing = LINEAR_EASING) //Make the pod fall! At an angle! - addtimer(CALLBACK(src, .proc/endLaunch), pod.fallDuration, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation + addtimer(CALLBACK(src, PROC_REF(endLaunch)), pod.fallDuration, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation /obj/effect/abstract/DPtarget/proc/endLaunch() pod.update_icon() diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 53be1fd238..e499e1ae69 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -23,7 +23,7 @@ launched = TRUE playsound(src,'sound/machines/triple_beep.ogg',50,0) playsound(src,'sound/machines/warning-buzzer.ogg',50,0) - addtimer(CALLBACK(src, .proc/endLaunch), 33)//wait 3.3 seconds (time it takes for supplypod to land), then update icon + addtimer(CALLBACK(src, PROC_REF(endLaunch)), 33)//wait 3.3 seconds (time it takes for supplypod to land), then update icon if (SP_UNLINK) linked = FALSE playsound(src,'sound/machines/synth_no.ogg',50,0) diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm index d89598f6cb..70260f3fcc 100644 --- a/code/modules/client/client_colour.dm +++ b/code/modules/client/client_colour.dm @@ -27,7 +27,7 @@ var/datum/client_colour/CC = new colour_type() client_colours |= CC - sortTim(client_colours, /proc/cmp_clientcolour_priority) + sortTim(client_colours, GLOBAL_PROC_REF(cmp_clientcolour_priority)) update_client_colour() diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 934ad5bbf5..20199af457 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -275,7 +275,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( prefs = new /datum/preferences(src) GLOB.preferences_datums[ckey] = prefs - addtimer(CALLBACK(src, .proc/ensure_keys_set, prefs), 10) //prevents possible race conditions + addtimer(CALLBACK(src, PROC_REF(ensure_keys_set), prefs), 10) //prevents possible race conditions prefs.last_ip = address //these are gonna be used for banning prefs.last_id = computer_id //these are gonna be used for banning diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index f349b32d10..d4b11a1b43 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1057,7 +1057,7 @@ Records disabled until a use for them is found //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. var/datum/job/lastJob - for(var/datum/job/job in sortList(SSjob.occupations, /proc/cmp_job_display_asc)) + for(var/datum/job/job in sortList(SSjob.occupations, GLOBAL_PROC_REF(cmp_job_display_asc))) if(job.total_positions == 0) continue diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 24405591dd..3323757d44 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -45,7 +45,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car /datum/preferences/proc/update_preferences(current_version, savefile/S) if(current_version < 37) //If you remove this, remove force_reset_keybindings() too. force_reset_keybindings_direct(TRUE) - addtimer(CALLBACK(src, .proc/force_reset_keybindings), 30) //No mob available when this is run, timer allows user choice. + addtimer(CALLBACK(src, PROC_REF(force_reset_keybindings)), 30) //No mob available when this is run, timer allows user choice. /datum/preferences/proc/update_character(current_version, savefile/S) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 0d1cec7932..04c26d8308 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -85,7 +85,7 @@ var/datum/outfit/O = path if(initial(O.can_be_admin_equipped)) standard_outfit_options[initial(O.name)] = path - sortTim(standard_outfit_options, /proc/cmp_text_asc) + sortTim(standard_outfit_options, GLOBAL_PROC_REF(cmp_text_asc)) outfit_options = standard_outfit_options /datum/action/chameleon_outfit/Trigger() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 58f8725086..68e85cb542 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -197,7 +197,7 @@ if(iscarbon(loc)) var/mob/living/carbon/C = loc C.visible_message("The [zone_name] on [C]'s [src.name] is [break_verb] away!", "The [zone_name] on your [src.name] is [break_verb] away!", vision_distance = COMBAT_MESSAGE_RANGE) - RegisterSignal(C, COMSIG_MOVABLE_MOVED, .proc/bristle, TRUE) + RegisterSignal(C, COMSIG_MOVABLE_MOVED, PROC_REF(bristle), TRUE) zones_disabled++ for(var/i in zone2body_parts_covered(def_zone)) @@ -240,7 +240,7 @@ return if(slot_flags & slotdefine2slotbit(slot)) //Was equipped to a valid slot for this item? if(iscarbon(user) && LAZYLEN(zones_disabled)) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/bristle) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(bristle)) if(LAZYLEN(user_vars_to_edit)) for(var/variable in user_vars_to_edit) if(variable in user.vars) diff --git a/code/modules/clothing/glasses/phantomthief.dm b/code/modules/clothing/glasses/phantomthief.dm index 6d209ec695..ac022f3506 100644 --- a/code/modules/clothing/glasses/phantomthief.dm +++ b/code/modules/clothing/glasses/phantomthief.dm @@ -35,7 +35,7 @@ return if(slot != SLOT_GLASSES) return - RegisterSignal(user, COMSIG_LIVING_COMBAT_ENABLED, .proc/injectadrenaline) + RegisterSignal(user, COMSIG_LIVING_COMBAT_ENABLED, PROC_REF(injectadrenaline)) /obj/item/clothing/glasses/phantomthief/syndicate/dropped(mob/user) . = ..() diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 4ee0968597..03b157a1e1 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -51,7 +51,7 @@ /obj/item/clothing/gloves/color/yellow/sprayon/equipped(mob/user, slot) . = ..() - RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, .proc/Shocked) + RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, PROC_REF(Shocked)) /obj/item/clothing/gloves/color/yellow/sprayon/proc/Shocked() shocks_remaining-- diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 2f3efc8013..afc894f15a 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -229,7 +229,7 @@ /obj/item/clothing/head/warden/drill/equipped(mob/M, slot) . = ..() if (slot == SLOT_HEAD) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index e4d96f9921..2db6fd227f 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -350,7 +350,7 @@ /obj/item/clothing/head/frenchberet/equipped(mob/M, slot) . = ..() if (slot == SLOT_HEAD) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 9a1e8d7698..71902ca00d 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -263,7 +263,7 @@ /obj/item/clothing/head/foilhat/Initialize(mapload) . = ..() if(!warped) - AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, .proc/warp_up)) + AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, PROC_REF(warp_up))) else warp_up() diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 94f7ee179a..7457c303f6 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -19,7 +19,7 @@ /obj/item/clothing/mask/equipped(mob/M, slot) . = ..() if (slot == SLOT_WEAR_MASK && modifies_speech) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index af529632f9..c49907e349 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -94,7 +94,7 @@ equipped_before_drop = TRUE if(can_be_tied && tied == SHOES_UNTIED) our_alert = user.throw_alert("shoealert", /obj/screen/alert/shoes/untied) - RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, .proc/check_trip, override=TRUE) + RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(check_trip), override=TRUE) /obj/item/clothing/shoes/proc/restore_offsets(mob/user) equipped_before_drop = FALSE @@ -151,7 +151,7 @@ else if(tied == SHOES_UNTIED && our_guy && user == our_guy) our_alert = our_guy.throw_alert("shoealert", /obj/screen/alert/shoes/untied) // if we're the ones unknotting our own laces, of course we know they're untied - RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, .proc/check_trip, override=TRUE) + RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(check_trip), override=TRUE) /** * handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces @@ -178,7 +178,7 @@ return user.visible_message("[user] begins [tied ? "unknotting" : "tying"] the laces of [user.p_their()] [src.name].", "You begin [tied ? "unknotting" : "tying"] the laces of your [src.name]...") - if(do_after(user, lace_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, .proc/still_shoed, our_guy))) + if(do_after(user, lace_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, PROC_REF(still_shoed), our_guy))) to_chat(user, "You [tied ? "unknot" : "tie"] the laces of your [src.name].") if(tied == SHOES_UNTIED) adjust_laces(SHOES_TIED, user) @@ -202,7 +202,7 @@ if(HAS_TRAIT(user, TRAIT_CLUMSY)) // based clowns trained their whole lives for this mod_time *= 0.75 - if(do_after(user, mod_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, .proc/still_shoed, our_guy))) + if(do_after(user, mod_time, needhand=TRUE, target=our_guy, extra_checks=CALLBACK(src, PROC_REF(still_shoed), our_guy))) to_chat(user, "You [tied ? "untie" : "knot"] the laces on [loc]'s [src.name].") if(tied == SHOES_UNTIED) adjust_laces(SHOES_KNOTTED, user) @@ -283,6 +283,6 @@ to_chat(user, "You begin [tied ? "untying" : "tying"] the laces on [src]...") - if(do_after(user, lace_time, needhand=TRUE, target=src,extra_checks=CALLBACK(src, .proc/still_shoed, user))) + if(do_after(user, lace_time, needhand=TRUE, target=src,extra_checks=CALLBACK(src, PROC_REF(still_shoed), user))) to_chat(user, "You [tied ? "untie" : "tie"] the laces on [src].") adjust_laces(tied ? SHOES_TIED : SHOES_UNTIED, user) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 773b1ac361..14a247328a 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -90,14 +90,14 @@ /obj/item/clothing/shoes/magboots/crushing/attack_self(mob/user) . = ..() if (magpulse) - RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,PROC_REF(crush)) else UnregisterSignal(user,COMSIG_MOVABLE_MOVED) /obj/item/clothing/shoes/magboots/crushing/equipped(mob/user,slot) . = ..() if (slot == SLOT_SHOES && magpulse) - RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,PROC_REF(crush)) /obj/item/clothing/shoes/magboots/crushing/dropped(mob/user) . = ..() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 22fa462b1f..4229445608 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -315,14 +315,14 @@ active = TRUE set_light_color(rgb(rand(0,255),rand(0,255),rand(0,255))) set_light_on(TRUE) - addtimer(CALLBACK(src, .proc/lightUp), 5) + addtimer(CALLBACK(src, PROC_REF(lightUp)), 5) /obj/item/clothing/shoes/kindleKicks/proc/lightUp(mob/user) if(lightCycle < 15) set_light_color(rgb(rand(0,255),rand(0,255),rand(0,255))) set_light_on(TRUE) lightCycle += 1 - addtimer(CALLBACK(src, .proc/lightUp), 5) + addtimer(CALLBACK(src, PROC_REF(lightUp)), 5) else set_light_on(FALSE) lightCycle = 0 @@ -407,7 +407,7 @@ /obj/item/clothing/shoes/wallwalkers/equipped(mob/user,slot) . = ..() if(slot == SLOT_SHOES) - RegisterSignal(user, COMSIG_MOB_CLIENT_MOVE,.proc/intercept_user_move) + RegisterSignal(user, COMSIG_MOB_CLIENT_MOVE,PROC_REF(intercept_user_move)) /obj/item/clothing/shoes/wallwalkers/dropped(mob/user) . = ..() diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 4184bf6004..050b563f6f 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -137,12 +137,12 @@ user.Stun(INFINITY) animate(user, color = "#00ccee", time = 3) - phase_timer_id = addtimer(CALLBACK(src, .proc/phase_2, user, to_turf, phase_in_ds), 3, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_2), user, to_turf, phase_in_ds), 3, TIMER_STOPPABLE) /obj/item/clothing/suit/space/chronos/proc/phase_2(mob/living/carbon/human/user, turf/to_turf, phase_in_ds) if(teleporting && activated && user) animate(user, alpha = 0, time = 2) - phase_timer_id = addtimer(CALLBACK(src, .proc/phase_3, user, to_turf, phase_in_ds), 2, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_3), user, to_turf, phase_in_ds), 2, TIMER_STOPPABLE) else finish_chronowalk(user, to_turf) @@ -150,14 +150,14 @@ if(teleporting && activated && user) user.forceMove(to_turf) animate(user, alpha = 255, time = phase_in_ds) - phase_timer_id = addtimer(CALLBACK(src, .proc/phase_4, user, to_turf), phase_in_ds, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(phase_4), user, to_turf), phase_in_ds, TIMER_STOPPABLE) else finish_chronowalk(user, to_turf) /obj/item/clothing/suit/space/chronos/proc/phase_4(mob/living/carbon/human/user, turf/to_turf) if(teleporting && activated && user) animate(user, color = "#ffffff", time = 3) - phase_timer_id = addtimer(CALLBACK(src, .proc/finish_chronowalk, user, to_turf), 3, TIMER_STOPPABLE) + phase_timer_id = addtimer(CALLBACK(src, PROC_REF(finish_chronowalk), user, to_turf), 3, TIMER_STOPPABLE) else finish_chronowalk(user, to_turf) diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index c77d96dff6..b485167531 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -110,7 +110,7 @@ wearer = changeto LAZYADD(wearer.user_movement_hooks, src) cached_pull = changeto.pulling - mobhook = changeto.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED), CALLBACK(src, .proc/on_mob_move, changeto)) + mobhook = changeto.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED), CALLBACK(src, PROC_REF(on_mob_move), changeto)) /obj/item/flightpack/Initialize() ion_trail = new @@ -536,7 +536,7 @@ return TRUE usermessage("Warning: Velocity too high to safely disengage. Retry to confirm emergency shutoff.", "boldwarning") override_safe = TRUE - addtimer(CALLBACK(src, .proc/enable_safe), 50) + addtimer(CALLBACK(src, PROC_REF(enable_safe)), 50) return FALSE /obj/item/flightpack/proc/enable_safe() diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 6418d649bc..9fcbf39c70 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -281,7 +281,7 @@ . = ..() if(istype(loc, /obj/item/clothing/suit/space/hardsuit/syndi)) linkedsuit = loc - RegisterSignal(linkedsuit, COMSIG_PARENT_QDELETING, .proc/unlink_suit) + RegisterSignal(linkedsuit, COMSIG_PARENT_QDELETING, PROC_REF(unlink_suit)) /obj/item/clothing/head/helmet/space/hardsuit/syndi/proc/unlink_suit() linkedsuit = null @@ -685,7 +685,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) listeningTo = user /obj/item/clothing/suit/space/hardsuit/ancient/dropped(mob/user) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 7712c064d5..85a88537bc 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -390,7 +390,7 @@ Contains: /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/Initialize() . = ..() - AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, charges, TRUE, null, CALLBACK(src, .proc/anti_magic_gone)) + AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, charges, TRUE, null, CALLBACK(src, PROC_REF(anti_magic_gone))) /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/proc/anti_magic_gone() var/mob/M = loc @@ -411,7 +411,7 @@ Contains: /obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize() . = ..() - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_OCLOTHING, charges, TRUE, null, CALLBACK(src, .proc/anti_magic_gone)) + AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_OCLOTHING, charges, TRUE, null, CALLBACK(src, PROC_REF(anti_magic_gone))) /obj/item/clothing/suit/space/hardsuit/ert/paranormal/proc/anti_magic_gone() var/mob/M = loc diff --git a/code/modules/clothing/suits/f13armor.dm b/code/modules/clothing/suits/f13armor.dm index 855cd76f3f..bf525b9745 100644 --- a/code/modules/clothing/suits/f13armor.dm +++ b/code/modules/clothing/suits/f13armor.dm @@ -552,7 +552,7 @@ emped = TRUE slowdown += induced_slowdown L.update_equipment_speed_mods() - addtimer(CALLBACK(src, .proc/end_emp_effect, induced_slowdown), 50) + addtimer(CALLBACK(src, PROC_REF(end_emp_effect), induced_slowdown), 50) return /obj/item/clothing/suit/armor/f13/power_armor/proc/end_emp_effect(slowdown_induced) diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index e278a5cc80..29895272c2 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -193,7 +193,7 @@ /datum/action/item_action/stickmen/New(Target) ..() if(isitem(Target)) - RegisterSignal(Target, COMSIG_PARENT_EXAMINE, .proc/give_infos) + RegisterSignal(Target, COMSIG_PARENT_EXAMINE, PROC_REF(give_infos)) /datum/action/item_action/stickmen/Destroy() for(var/A in summoned_stickmen) @@ -215,7 +215,7 @@ /datum/action/item_action/stickmen/Grant(mob/M) . = ..() if(owner) - RegisterSignal(M, COMSIG_MOB_POINTED, .proc/rally) + RegisterSignal(M, COMSIG_MOB_POINTED, PROC_REF(rally)) if(book_of_grudges[M]) //Stop attacking your new master. book_of_grudges -= M for(var/A in summoned_stickmen) @@ -252,9 +252,9 @@ var/mob/living/simple_animal/hostile/S = new summoned_mob_path (get_turf(usr)) S.faction = owner.faction S.foes = book_of_grudges - RegisterSignal(S, COMSIG_PARENT_QDELETING, .proc/remove_from_list) + RegisterSignal(S, COMSIG_PARENT_QDELETING, PROC_REF(remove_from_list)) ready = FALSE - addtimer(CALLBACK(src, .proc/ready_again), cooldown) + addtimer(CALLBACK(src, PROC_REF(ready_again)), cooldown) /datum/action/item_action/stickmen/proc/remove_from_list(datum/source, forced) summoned_stickmen -= source @@ -283,9 +283,9 @@ var/obj/mecha/M = A L = M.occupant if(L && L.stat != DEAD && !HAS_TRAIT(L, TRAIT_DEATHCOMA)) //Taking revenge on the deads would be proposterous. - addtimer(CALLBACK(src, .proc/clear_grudge, L), 2 MINUTES, TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(clear_grudge), L), 2 MINUTES, TIMER_OVERRIDE|TIMER_UNIQUE) if(!book_of_grudges[L]) - RegisterSignal(L, list(COMSIG_PARENT_QDELETING, COMSIG_MOB_DEATH), .proc/grudge_settled) + RegisterSignal(L, list(COMSIG_PARENT_QDELETING, COMSIG_MOB_DEATH), PROC_REF(grudge_settled)) book_of_grudges[L] = TRUE for(var/k in summoned_stickmen) //Shamelessly copied from the blob rally power var/mob/living/simple_animal/hostile/S = k diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 70e85a9cfb..8d09b73f86 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -33,7 +33,7 @@ if(log.len && !scanning) scanning = TRUE to_chat(user, "Printing report, please wait...") - addtimer(CALLBACK(src, .proc/PrintReport), 100) + addtimer(CALLBACK(src, PROC_REF(PrintReport)), 100) else to_chat(user, "The scanner has no logs or is in use.") diff --git a/code/modules/events/fake_virus.dm b/code/modules/events/fake_virus.dm index cebf1ed14b..9be379b2aa 100644 --- a/code/modules/events/fake_virus.dm +++ b/code/modules/events/fake_virus.dm @@ -24,7 +24,7 @@ for(var/i=1; i<=rand(1,defacto_min); i++) var/mob/living/carbon/human/onecoughman = pick(fake_virus_victims) if(prob(25))//1/4 odds to get a spooky message instead of coughing out loud - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, onecoughman, "[pick("Your head hurts.", "Your head pounds.")]"), rand(30,150)) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), onecoughman, "[pick("Your head hurts.", "Your head pounds.")]"), rand(30,150)) else addtimer(CALLBACK(onecoughman, .mob/proc/emote, pick("cough", "sniff", "sneeze")), rand(30,150))//deliver the message with a slightly randomized time interval so there arent multiple people coughing at the exact same time fake_virus_victims -= onecoughman diff --git a/code/modules/events/fugitive_spawning.dm b/code/modules/events/fugitive_spawning.dm index a5a340a0c0..84c1e69f6a 100644 --- a/code/modules/events/fugitive_spawning.dm +++ b/code/modules/events/fugitive_spawning.dm @@ -57,7 +57,7 @@ //after spawning playsound(src, 'sound/weapons/emitter.ogg', 50, TRUE) new /obj/item/storage/toolbox/mechanical(landing_turf) //so they can actually escape maint - addtimer(CALLBACK(src, .proc/spawn_hunters), 10 MINUTES) + addtimer(CALLBACK(src, PROC_REF(spawn_hunters)), 10 MINUTES) role_name = "fugitive hunter" return SUCCESSFUL_SPAWN diff --git a/code/modules/events/ghost_role.dm b/code/modules/events/ghost_role.dm index 25e71ab8c9..ff4196dd72 100644 --- a/code/modules/events/ghost_role.dm +++ b/code/modules/events/ghost_role.dm @@ -27,7 +27,7 @@ var/waittime = 300 * (2**retry) message_admins("The event will not spawn a [role_name] until certain \ conditions are met. Waiting [waittime/10]s and then retrying.") - addtimer(CALLBACK(src, .proc/try_spawning, 0, ++retry), waittime) + addtimer(CALLBACK(src, PROC_REF(try_spawning), 0, ++retry), waittime) return if(status == MAP_ERROR) diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 8bada6da77..dba273dfdd 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -35,7 +35,7 @@ threat_message.title = "Business proposition" threat_message.content = "This is [ship_name]. Pay up [payoff] credits or you'll walk the plank." threat_message.possible_answers = list("We'll pay.","No way.") - threat_message.answer_callback = CALLBACK(src,.proc/answered) + threat_message.answer_callback = CALLBACK(src,PROC_REF(answered)) SScommunications.send_message(threat_message,unique = TRUE) /datum/round_event/pirates/proc/answered() @@ -205,7 +205,7 @@ . = ..() if(. == DOCKING_SUCCESS && !is_reserved_level(new_dock.z)) engines_cooling = TRUE - addtimer(CALLBACK(src,.proc/reset_cooldown),engine_cooldown,TIMER_UNIQUE) + addtimer(CALLBACK(src,PROC_REF(reset_cooldown)),engine_cooldown,TIMER_UNIQUE) /obj/docking_port/mobile/pirate/proc/reset_cooldown() engines_cooling = FALSE @@ -403,7 +403,7 @@ status_report = "Sending..." pad.visible_message("[pad] starts charging up.") pad.icon_state = pad.warmup_state - sending_timer = addtimer(CALLBACK(src,.proc/send),warmup_time, TIMER_STOPPABLE) + sending_timer = addtimer(CALLBACK(src,PROC_REF(send)),warmup_time, TIMER_STOPPABLE) /obj/machinery/computer/piratepad_control/proc/stop_sending() if(!sending) diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 9fe4586a5a..f6d6b852fc 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -35,7 +35,7 @@ /obj/item/greentext/Initialize(mapload) . = ..() GLOB.poi_list |= src - roundend_callback = CALLBACK(src,.proc/check_winner) + roundend_callback = CALLBACK(src,PROC_REF(check_winner)) SSticker.OnRoundend(roundend_callback) /obj/item/greentext/equipped(mob/living/user as mob) diff --git a/code/modules/fallout/obj/explosives.dm b/code/modules/fallout/obj/explosives.dm index 9880c9d92b..1857dfb8b8 100644 --- a/code/modules/fallout/obj/explosives.dm +++ b/code/modules/fallout/obj/explosives.dm @@ -130,7 +130,7 @@ to_chat(user, "The mine is already armed!") //how did we get here if(user.dropItemToGround(src)) anchored = TRUE - addtimer(CALLBACK(src, .proc/arm), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(arm)), 5 SECONDS) to_chat(user, "You drop the mine and activate the 5-second arming process.") return diff --git a/code/modules/fallout/obj/rockitlauncher.dm b/code/modules/fallout/obj/rockitlauncher.dm index 7b792f9dbf..e3515020df 100644 --- a/code/modules/fallout/obj/rockitlauncher.dm +++ b/code/modules/fallout/obj/rockitlauncher.dm @@ -228,8 +228,8 @@ Possible solution: Only add the minimum weight class of a stack (which is basica var/settings = 1 /obj/item/pneumatic_cannon/rockitlauncher/Initialize() - 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)) if(istype(loc, /obj/item/rockitlauncher_pack)) //We should spawn inside an ammo pack so let's use that one. ammo_pack = loc diff --git a/code/modules/fallout/obj/structures/mob_spawners.dm b/code/modules/fallout/obj/structures/mob_spawners.dm index 49bd969359..713ef2e932 100644 --- a/code/modules/fallout/obj/structures/mob_spawners.dm +++ b/code/modules/fallout/obj/structures/mob_spawners.dm @@ -46,7 +46,7 @@ if(!H?.client && !M?.occupant) return FALSE toggle_fire(FALSE) - addtimer(CALLBACK(src, .proc/toggle_fire), spawn_time) + addtimer(CALLBACK(src, PROC_REF(toggle_fire)), spawn_time) var/chosen_mob_type = pickweight(mob_types) var/mob/living/simple_animal/L = new chosen_mob_type(src.loc) L.flags_1 |= (flags_1 & ADMIN_SPAWNED_1) //If we were admin spawned, lets have our children count as that as well. diff --git a/code/modules/fallout/obj/structures/table_frames.dm b/code/modules/fallout/obj/structures/table_frames.dm index 14b3f7b098..16e40f8391 100644 --- a/code/modules/fallout/obj/structures/table_frames.dm +++ b/code/modules/fallout/obj/structures/table_frames.dm @@ -160,5 +160,5 @@ var/previouscolor = color color = "#960000" animate(src, color = previouscolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) */ diff --git a/code/modules/fallout/obj/structures/wasteplants.dm b/code/modules/fallout/obj/structures/wasteplants.dm index ff02e8d9d7..4a5b9c680a 100644 --- a/code/modules/fallout/obj/structures/wasteplants.dm +++ b/code/modules/fallout/obj/structures/wasteplants.dm @@ -62,7 +62,7 @@ has_plod = FALSE update_icon() //Won't update due to proc otherwise timer = initial(timer) + rand(-100,100) //add some variability - addtimer(CALLBACK(src, .proc/regrow),timer) //Set up the timer properly + addtimer(CALLBACK(src, PROC_REF(regrow)),timer) //Set up the timer properly update_icon() /obj/structure/flora/wasteplant/proc/regrow() diff --git a/code/modules/fallout/obj/trash/electronics.dm b/code/modules/fallout/obj/trash/electronics.dm index 125dd9aeb1..ba5e5b2078 100644 --- a/code/modules/fallout/obj/trash/electronics.dm +++ b/code/modules/fallout/obj/trash/electronics.dm @@ -61,7 +61,7 @@ playsound(get_turf(src), "sparks", 40, 1) if(cell && cell.charge) U.electrocute_act(fork_damage,src) - addtimer(CALLBACK(src,.proc/spew_contents), rand(5,15)) + addtimer(CALLBACK(src,PROC_REF(spew_contents)), rand(5,15)) is_toasting = 0 return @@ -85,7 +85,7 @@ if(user.transferItemToLoc(W, src)) U.visible_message("[user] slides [W] smoothly into [src].", "You slide [W] smoothly into [src].") is_toasting = 1 - addtimer(CALLBACK(src,.proc/toasterize),toast_time) + addtimer(CALLBACK(src,PROC_REF(toasterize)),toast_time) return to_chat(user, "Try as you might, you can't get [W] to fit into [src].") diff --git a/code/modules/farming/farming_structures.dm b/code/modules/farming/farming_structures.dm index 58ee60f141..f5786149f6 100644 --- a/code/modules/farming/farming_structures.dm +++ b/code/modules/farming/farming_structures.dm @@ -92,7 +92,7 @@ to_chat(user, span_warning("[I] is stuck to your hand!")) return TRUE to_chat(user, span_notice("You place [I] into [src] to start the fermentation process.")) - addtimer(CALLBACK(src, .proc/makeWine, list(fruit)), rand(8 SECONDS, 12 SECONDS) * speed_multiplier) + addtimer(CALLBACK(src, PROC_REF(makeWine), list(fruit)), rand(8 SECONDS, 12 SECONDS) * speed_multiplier) return TRUE else if(SEND_SIGNAL(I, COMSIG_CONTAINS_STORAGE) && do_after(user, 2 SECONDS, target = src)) var/list/storage_contents = list() @@ -104,7 +104,7 @@ continue fruits += fruit if (length(fruits)) - addtimer(CALLBACK(src, .proc/makeWine, fruits), rand(8 SECONDS, 12 SECONDS) * speed_multiplier) + addtimer(CALLBACK(src, PROC_REF(makeWine), fruits), rand(8 SECONDS, 12 SECONDS) * speed_multiplier) to_chat(user, span_notice("You fill \the [src] from \the [I] and start the fermentation process.")) else to_chat(user, span_warning("There's nothing in \the [I] that you can ferment!")) diff --git a/code/modules/fields/fields.dm b/code/modules/fields/fields.dm index 8a14befcac..5ebe4583e5 100644 --- a/code/modules/fields/fields.dm +++ b/code/modules/fields/fields.dm @@ -306,7 +306,7 @@ UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) listeningTo = null if(!istype(current) && operating) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) listeningTo = user setup_debug_field() else if(!operating) diff --git a/code/modules/fields/timestop.dm b/code/modules/fields/timestop.dm index 8649553602..bced9004b3 100644 --- a/code/modules/fields/timestop.dm +++ b/code/modules/fields/timestop.dm @@ -33,7 +33,7 @@ if(G.summoner && locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in G.summoner.mind.spell_list) //It would only make sense that a person's stand would also be immune. immune[G] = TRUE if(start) - INVOKE_ASYNC(src, .proc/timestop) // ironic... + INVOKE_ASYNC(src, PROC_REF(timestop)) // ironic... /obj/effect/timestop/Destroy() qdel(chronofield) @@ -100,8 +100,8 @@ A.move_resist = INFINITY global_frozen_atoms[A] = src into_the_negative_zone(A) - RegisterSignal(A, COMSIG_MOVABLE_PRE_MOVE, .proc/unfreeze_atom) - RegisterSignal(A, COMSIG_ITEM_PICKUP, .proc/unfreeze_atom) + RegisterSignal(A, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(unfreeze_atom)) + RegisterSignal(A, COMSIG_ITEM_PICKUP, PROC_REF(unfreeze_atom)) return TRUE diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 860d3898f2..ff3984efca 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -60,6 +60,6 @@ dream_fragments.Cut(1,2) to_chat(src, "... [next_message] ...") if(LAZYLEN(dream_fragments)) - addtimer(CALLBACK(src, .proc/dream_sequence, dream_fragments), rand(10,30)) + addtimer(CALLBACK(src, PROC_REF(dream_sequence), dream_fragments), rand(10,30)) else dreaming = FALSE diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 8db85a0171..b5e3b1ce1d 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -285,7 +285,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images |= fakerune target.playsound_local(wall,'sound/effects/meteorimpact.ogg', 150, 1) bubblegum = new(wall, target) - addtimer(CALLBACK(src, .proc/bubble_attack, landing), 10) + addtimer(CALLBACK(src, PROC_REF(bubble_attack), landing), 10) /datum/hallucination/oh_yeah/proc/bubble_attack(turf/landing) var/charged = FALSE //only get hit once @@ -1095,7 +1095,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( return to_chat(target, "You fall into the chasm!") target.DefaultCombatKnockdown(40) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, target, "It's surprisingly shallow."), 15) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), target, "It's surprisingly shallow."), 15) QDEL_IN(src, 30) /obj/effect/hallucination/danger/anomaly @@ -1218,13 +1218,13 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(target.client) target.client.images |= shock_image target.client.images |= electrocution_skeleton_anim - addtimer(CALLBACK(src, .proc/reset_shock_animation), 40) + addtimer(CALLBACK(src, PROC_REF(reset_shock_animation)), 40) target.playsound_local(get_turf(src), "sparks", 100, 1) target.staminaloss += 50 target.Stun(40) target.jitteriness += 1000 target.do_jitter_animation(target.jitteriness) - addtimer(CALLBACK(src, .proc/shock_drop), 20) + addtimer(CALLBACK(src, PROC_REF(shock_drop)), 20) /datum/hallucination/shock/proc/reset_shock_animation() if(target.client) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index cb1ed628c4..7bee665e70 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -100,7 +100,7 @@ All foods are distributed among various categories. Use common sense. /obj/item/reagent_containers/food/snacks/attack(mob/living/M, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1) if(user.a_intent == INTENT_HARM) return ..() - INVOKE_ASYNC(src, .proc/attempt_forcefeed, M, user) + INVOKE_ASYNC(src, PROC_REF(attempt_forcefeed), M, user) /obj/item/reagent_containers/food/snacks/proc/attempt_forcefeed(mob/living/M, mob/living/user) if(!eatverb) diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 3810f22d3f..abb421bc43 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -521,7 +521,7 @@ /obj/item/reagent_containers/food/snacks/lollipop/cyborg/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/spamcheck), 1200) + addtimer(CALLBACK(src, PROC_REF(spamcheck)), 1200) /obj/item/reagent_containers/food/snacks/lollipop/cyborg/equipped(mob/living/user, slot) . = ..(user, slot) @@ -549,7 +549,7 @@ /obj/item/reagent_containers/food/snacks/gumball/cyborg/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/spamcheck), 1200) + addtimer(CALLBACK(src, PROC_REF(spamcheck)), 1200) /obj/item/reagent_containers/food/snacks/gumball/cyborg/equipped(mob/living/user, slot) . = ..(user, slot) diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index 8e232f8f89..0dc1e2f877 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -478,7 +478,7 @@ for(var/R in S.bonus_reagents) LAZYSET(S.cached_reagents_amount, R, S.reagents.get_reagent_amount(R)) S.previous_typepath = type - addtimer(CALLBACK(S, .proc/cool_down), 7 MINUTES) //canonically they reverted back to normal after 7 minutes. + addtimer(CALLBACK(S, PROC_REF(cool_down)), 7 MINUTES) //canonically they reverted back to normal after 7 minutes. /obj/item/reagent_containers/food/snacks/donkpocket/proc/cool_down() if(!previous_typepath) //This shouldn't happen. diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index e4148d849a..b63baaa118 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -197,7 +197,7 @@ mob_occupant.death(1) mob_occupant.ghostize() qdel(src.occupant) - addtimer(CALLBACK(src, .proc/make_meat, skin, allmeat, meat_produced, gibtype, diseases), gibtime) + addtimer(CALLBACK(src, PROC_REF(make_meat), skin, allmeat, meat_produced, gibtype, diseases), gibtime) /obj/machinery/gibber/proc/make_meat(obj/item/stack/sheet/animalhide/skin, list/obj/item/reagent_containers/food/snacks/meat/slab/allmeat, meat_produced, gibtype, list/datum/disease/diseases) playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 5972b936c4..7969267a93 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -312,7 +312,7 @@ return time-- use_power(500) - addtimer(CALLBACK(src, .proc/loop, type, time, wait), wait) + addtimer(CALLBACK(src, PROC_REF(loop), type, time, wait), wait) /obj/machinery/microwave/proc/loop_finish() operating = FALSE diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm index 2318c54508..41b569aea1 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm @@ -70,7 +70,7 @@ use_power(500) grinded++ addtimer(VARSET_CALLBACK(src, pixel_x, initial(pixel_x))) - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, user, "The machine now has [grinded] monkey\s worth of material stored.")) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), user, "The machine now has [grinded] monkey\s worth of material stored.")) /obj/machinery/monkey_recycler/interact(mob/user) if(grinded >= required_grind) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 515a95e890..48833f746a 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -616,7 +616,7 @@ /obj/machinery/smartfridge/bottlerack/gardentool/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated))) // Preloaded simple farming rack for mapping /obj/machinery/smartfridge/bottlerack/gardentool/primitive diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index 83bb67b879..5e7c8fefba 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -563,7 +563,7 @@ Since Ramadan is an entire month that lasts 29.5 days on average, the start and return "Have a merry Christmas!" /datum/holiday/xmas/celebrate() - SSticker.OnRoundstart(CALLBACK(src, .proc/roundstart_celebrate)) + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(roundstart_celebrate))) /datum/holiday/xmas/proc/roundstart_celebrate() for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor in GLOB.machines) diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index c34b8435e5..d7f7c6cefa 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -220,7 +220,7 @@ if(toggleOn) if(last_program && last_program != offline_program) - addtimer(CALLBACK(src, .proc/load_program, last_program, TRUE), 25) + addtimer(CALLBACK(src, PROC_REF(load_program), last_program, TRUE), 25) active = TRUE else last_program = program @@ -280,7 +280,7 @@ S.flags_1 |= NODECONSTRUCT_1 effects = list() - addtimer(CALLBACK(src, .proc/finish_spawn), 30) + addtimer(CALLBACK(src, PROC_REF(finish_spawn)), 30) /obj/machinery/computer/holodeck/proc/finish_spawn() var/list/added = list() @@ -300,7 +300,7 @@ // Emagging a machine creates an anomaly in the derez systems. if(O && (obj_flags & EMAGGED) && !stat && !forced) if((ismob(O) || ismob(O.loc)) && prob(50)) - addtimer(CALLBACK(src, .proc/derez, O, silent), 50) // may last a disturbingly long time + addtimer(CALLBACK(src, PROC_REF(derez), O, silent), 50) // may last a disturbingly long time return spawned -= O @@ -328,7 +328,7 @@ if(O && !stat && !forced) if((ismob(O) || ismob(O.loc))) - addtimer(CALLBACK(src, .proc/derez, O, silent), 200) // We want virtual objects to last a long time. + addtimer(CALLBACK(src, PROC_REF(derez), O, silent), 200) // We want virtual objects to last a long time. return spawned -= O diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm index 169c9061d3..7aa2edf906 100644 --- a/code/modules/holodeck/turfs.dm +++ b/code/modules/holodeck/turfs.dm @@ -111,7 +111,7 @@ /turf/open/floor/holofloor/carpet/Initialize() . = ..() - addtimer(CALLBACK(src, /atom/.proc/update_icon), 1) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1) /turf/open/floor/holofloor/carpet/update_icon() . = ..() diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index 91dafb6509..2f45b160e9 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -162,7 +162,7 @@ C.throw_mode_on() icon_state = "firelemon_active" playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - addtimer(CALLBACK(src, .proc/prime), rand(10, 60)) + addtimer(CALLBACK(src, PROC_REF(prime)), rand(10, 60)) /obj/item/reagent_containers/food/snacks/grown/firelemon/burn() prime() diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index 4ec3c62be4..3ea80ea9c1 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -65,7 +65,7 @@ var/uses = 1 if(seed) uses = round(seed.potency / 20) - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, .proc/block_magic), CALLBACK(src, .proc/expire)) //deliver us from evil o melon god + AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, PROC_REF(block_magic)), CALLBACK(src, PROC_REF(expire))) //deliver us from evil o melon god /obj/item/reagent_containers/food/snacks/grown/holymelon/proc/block_magic(mob/user, major) if(major) diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 618458f3bc..2356e872a9 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -334,7 +334,7 @@ fusedactive = TRUE defused = FALSE playsound(src, 'sound/effects/fuse.ogg', 100, 0) - addtimer(CALLBACK(src, .proc/prime), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(prime)), 5 SECONDS) icon_state = "coconut_grenade_active" desc = "RUN!" if(!seed.get_gene(/datum/plant_gene/trait/glow)) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index a7d3ef343d..d1b3b72d59 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -243,7 +243,7 @@ if(!istype(G, /obj/item/grown/bananapeel) && (!G.reagents || !G.reagents.has_reagent(/datum/reagent/lube))) stun_len /= 3 - G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, .proc/handle_slip, G)) + G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, PROC_REF(handle_slip), G)) /datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/M) for(var/datum/plant_gene/trait/T in G.seed.genes) diff --git a/code/modules/instruments/instrument_data/_instrument_data.dm b/code/modules/instruments/instrument_data/_instrument_data.dm index 447bcdffb1..97c9e4b25d 100644 --- a/code/modules/instruments/instrument_data/_instrument_data.dm +++ b/code/modules/instruments/instrument_data/_instrument_data.dm @@ -83,7 +83,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/instruments/item.dm b/code/modules/instruments/instruments/item.dm index e5f3adb056..86dc9c0187 100644 --- a/code/modules/instruments/instruments/item.dm +++ b/code/modules/instruments/instruments/item.dm @@ -235,7 +235,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 e385eed142..d3a3dde935 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -157,7 +157,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(input("Enter your line: ", parent.name) as text|null) diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index 5f6440bffb..bdfa838c76 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -287,7 +287,7 @@ to_chat(usr, "You begin printing a custom assembly. This will take approximately [DisplayTimeText(cloning_time)]. You can still print \ off normal parts during this time.") playsound(src, 'sound/items/poster_being_created.ogg', 50, TRUE) - addtimer(CALLBACK(src, .proc/print_program, usr), cloning_time) + addtimer(CALLBACK(src, PROC_REF(print_program), usr), cloning_time) if("cancel") if(!cloning || !program) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 6fb2745da2..4a7bb455b9 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -342,7 +342,7 @@ assembly.visible_message("[assembly] has thrown [A]!") log_attack("[assembly] [REF(assembly)] has thrown [A] with non-lethal force.") A.forceMove(drop_location()) - A.throw_at(locate(x_abs, y_abs, T.z), range, 3, null, null, null, CALLBACK(src, .proc/post_throw, A)) + A.throw_at(locate(x_abs, y_abs, T.z), range, 3, null, null, null, CALLBACK(src, PROC_REF(post_throw), A)) // If the item came from a grabber now we can update the outputs since we've thrown it. if(istype(G)) @@ -417,7 +417,7 @@ ) /obj/item/integrated_circuit/manipulation/matman/ComponentInitialize() - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, mtypes, 100000, FALSE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) + var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, mtypes, 100000, FALSE, /obj/item/stack, CALLBACK(src, PROC_REF(is_insertion_ready)), CALLBACK(src, PROC_REF(AfterMaterialInsert))) materials.precise_insertion = TRUE .=..() diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 713fcb168b..ca0c55fd7c 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -324,7 +324,7 @@ oldLoc = get_turf(oldLoc) if(!QDELETED(camera) && !updating && oldLoc != get_turf(src)) updating = TRUE - addtimer(CALLBACK(src, .proc/do_camera_update, oldLoc), VIDEO_CAMERA_BUFFER) + addtimer(CALLBACK(src, PROC_REF(do_camera_update), oldLoc), VIDEO_CAMERA_BUFFER) #undef VIDEO_CAMERA_BUFFER /obj/item/integrated_circuit/output/video_camera/proc/do_camera_update(oldLoc) diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index 86bcd03eaa..128f2a3fab 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -136,7 +136,7 @@ L.visible_message("[acting_object] is trying to inject [L]!", \ "[acting_object] is trying to inject you!") busy = TRUE - if(do_atom(src, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,null,0))) + if(do_atom(src, L, extra_checks=CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject),null,0))) var/fraction = min(transfer_amount/reagents.total_volume, 1) reagents.reaction(L, INJECT, fraction) reagents.trans_to(L, transfer_amount) @@ -165,7 +165,7 @@ L.visible_message("[acting_object] is trying to take a blood sample from [L]!", \ "[acting_object] is trying to take a blood sample from you!") busy = TRUE - if(do_atom(src, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,null,0))) + if(do_atom(src, L, extra_checks=CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject),null,0))) if(L.transfer_blood_to(src, tramount)) L.visible_message("[acting_object] takes a blood sample from [L]!", \ "[acting_object] takes a blood sample from you!") @@ -677,7 +677,7 @@ reagents.trans_to(W,1) //Make em move dat ass, hun - addtimer(CALLBACK(src, /obj/item/integrated_circuit/reagent/extinguisher/proc/move_particles, water_particles), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/integrated_circuit/reagent/extinguisher, move_particles), water_particles), 2) //This whole proc is a loop /obj/item/integrated_circuit/reagent/extinguisher/proc/move_particles(list/particles, repetitions=0) @@ -699,7 +699,7 @@ break if(repetitions < 4) repetitions++ //Can't have math operations in addtimer(CALLBACK()) - addtimer(CALLBACK(src, /obj/item/integrated_circuit/reagent/extinguisher/proc/move_particles, particles, repetitions), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/integrated_circuit/reagent/extinguisher, move_particles), particles, repetitions), 2) else push_data() activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index cae43718c2..26e5b16d0a 100644 --- a/code/modules/integrated_electronics/subtypes/time.dm +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -17,7 +17,7 @@ power_draw_per_use = 2 /obj/item/integrated_circuit/time/delay/do_work() - addtimer(CALLBACK(src, .proc/activate_pin, 2), delay) + addtimer(CALLBACK(src, PROC_REF(activate_pin), 2), delay) /obj/item/integrated_circuit/time/delay/five_sec name = "five-sec delay circuit" @@ -98,7 +98,7 @@ /obj/item/integrated_circuit/time/ticker/proc/tick() if(is_running) - 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/interview/interview.dm b/code/modules/interview/interview.dm index 5f31820058..4ff0a47ac4 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -65,7 +65,7 @@ SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg')) to_chat(owner, "-- Interview Update --" \ + "\n[span_adminsay("Your interview was approved, you will now be reconnected in 5 seconds.")]", confidential = TRUE) - addtimer(CALLBACK(src, .proc/reconnect_owner), 50) + addtimer(CALLBACK(src, PROC_REF(reconnect_owner)), 50) /** * Denies the interview and adds the owner to the cooldown for new interviews. diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index ab253aab24..97a50f1b94 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -266,7 +266,7 @@ GLOBAL_PROTECT(exp_to_update) "ckey" = ckey, "minutes" = jvalue))) prefs.exp[jtype] += jvalue - addtimer(CALLBACK(SSblackbox,/datum/controller/subsystem/blackbox/proc/update_exp_db),20,TIMER_OVERRIDE|TIMER_UNIQUE) + addtimer(CALLBACK(SSblackbox,TYPE_PROC_REF(/datum/controller/subsystem/blackbox, update_exp_db)),20,TIMER_OVERRIDE|TIMER_UNIQUE) //ALWAYS call this at beginning to any proc touching player flags, or your database admin will probably be mad diff --git a/code/modules/jobs/job_types/SS13/captain.dm b/code/modules/jobs/job_types/SS13/captain.dm index ae8d0d4440..e04c25b8cd 100644 --- a/code/modules/jobs/job_types/SS13/captain.dm +++ b/code/modules/jobs/job_types/SS13/captain.dm @@ -37,7 +37,7 @@ /datum/job/captain/announce(mob/living/carbon/human/H) ..() - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, .proc/minor_announce, "Captain [H.real_name] on deck!")) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(minor_announce), "Captain [H.real_name] on deck!")) /datum/outfit/job/captain name = "Captain" diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 4fef763084..3f7104c9d1 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -215,7 +215,7 @@ /datum/job/proc/announce_head(mob/living/carbon/human/H, channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels. if(H && GLOB.announcement_systems.len) //timer because these should come after the captain announcement - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, .proc/_addtimer, CALLBACK(pick(GLOB.announcement_systems), /obj/machinery/announcement_system/proc/announce, "NEWHEAD", H.real_name, H.job, channels), 1)) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(_addtimer), CALLBACK(pick(GLOB.announcement_systems), TYPE_PROC_REF(/obj/machinery/announcement_system, announce), "NEWHEAD", H.real_name, H.job, channels), 1)) //If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1 /datum/job/proc/player_old_enough(client/C) diff --git a/code/modules/jobs/job_types/silicon.dm b/code/modules/jobs/job_types/silicon.dm index 9ec14d3342..0940f4210a 100644 --- a/code/modules/jobs/job_types/silicon.dm +++ b/code/modules/jobs/job_types/silicon.dm @@ -68,7 +68,7 @@ AI /datum/job/ai/announce(mob/living/silicon/ai/AI) . = ..() - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, .proc/minor_announce, "[AI] has been downloaded to an empty bluespace-networked AI core at [AREACOORD(AI)].")) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(minor_announce), "[AI] has been downloaded to an empty bluespace-networked AI core at [AREACOORD(AI)].")) /datum/job/ai/config_check() return CONFIG_GET(flag/allow_ai) diff --git a/code/modules/keybindings/setup.dm b/code/modules/keybindings/setup.dm index 225f958ff3..905dc42deb 100644 --- a/code/modules/keybindings/setup.dm +++ b/code/modules/keybindings/setup.dm @@ -59,7 +59,7 @@ full_macro_assert(prefs_override) /client/proc/full_macro_assert(datum/preferences/prefs_override = prefs) - INVOKE_ASYNC(src, .proc/do_full_macro_assert, prefs_override) // winget sleeps. + INVOKE_ASYNC(src, PROC_REF(do_full_macro_assert), prefs_override) // winget sleeps. // TODO: OVERHAUL ALL OF THIS AGAIN. While this works this is flatout horrid with the "use list but also don't use lists" crap. I hate my life. /client/proc/do_full_macro_assert(datum/preferences/prefs_override = prefs) diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm index 26fa5b6f3d..53679d1c4c 100644 --- a/code/modules/library/lib_codex_gigas.dm +++ b/code/modules/library/lib_codex_gigas.dm @@ -75,7 +75,7 @@ return FALSE if(action == "search") SStgui.close_uis(src) - addtimer(CALLBACK(src, .proc/perform_research, usr, currentName), 0) + addtimer(CALLBACK(src, PROC_REF(perform_research), usr, currentName), 0) currentName = "" currentSection = PRE_TITLE return FALSE diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index a47589d822..a2696d2347 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -190,10 +190,10 @@ if(turn == 1) send_message("The selected map is [current_map.name]!
[current_map.description]
") send_message("Day [turn] started! There is no voting on the first day. Say hello to everybody!") - next_phase_timer = addtimer(CALLBACK(src,.proc/check_trial, FALSE),first_day_phase_period,TIMER_STOPPABLE) //no voting period = no votes = instant night + next_phase_timer = addtimer(CALLBACK(src,PROC_REF(check_trial), FALSE),first_day_phase_period,TIMER_STOPPABLE) //no voting period = no votes = instant night else send_message("Day [turn] started! Voting will start in 1 minute.") - next_phase_timer = addtimer(CALLBACK(src,.proc/start_voting_phase),day_phase_period,TIMER_STOPPABLE) + next_phase_timer = addtimer(CALLBACK(src,PROC_REF(start_voting_phase)),day_phase_period,TIMER_STOPPABLE) SStgui.update_uis(src) @@ -206,7 +206,7 @@ */ /datum/mafia_controller/proc/start_voting_phase() phase = MAFIA_PHASE_VOTING - next_phase_timer = addtimer(CALLBACK(src, .proc/check_trial, TRUE),voting_phase_period,TIMER_STOPPABLE) //be verbose! + next_phase_timer = addtimer(CALLBACK(src, PROC_REF(check_trial), TRUE),voting_phase_period,TIMER_STOPPABLE) //be verbose! send_message("Voting started! Vote for who you want to see on trial today.") SStgui.update_uis(src) @@ -238,7 +238,7 @@ on_trial = loser on_trial.body.forceMove(get_turf(town_center_landmark)) phase = MAFIA_PHASE_JUDGEMENT - next_phase_timer = addtimer(CALLBACK(src, .proc/lynch),judgement_phase_period,TIMER_STOPPABLE) + next_phase_timer = addtimer(CALLBACK(src, PROC_REF(lynch)),judgement_phase_period,TIMER_STOPPABLE) reset_votes("Day") else if(verbose) @@ -267,13 +267,13 @@ if(judgement_guilty_votes.len > judgement_innocent_votes.len) //strictly need majority guilty to lynch send_message("Guilty wins majority, [on_trial.body.real_name] has been lynched.") on_trial.kill(src, lynch = TRUE) - addtimer(CALLBACK(src, .proc/send_home, on_trial),judgement_lynch_period) + addtimer(CALLBACK(src, PROC_REF(send_home), on_trial),judgement_lynch_period) else send_message("Innocent wins majority, [on_trial.body.real_name] has been spared.") on_trial.body.forceMove(get_turf(on_trial.assigned_landmark)) on_trial = null //day votes are already cleared, so this will skip the trial and check victory/lockdown/whatever else - next_phase_timer = addtimer(CALLBACK(src, .proc/check_trial, FALSE),judgement_lynch_period,TIMER_STOPPABLE)// small pause to see the guy dead, no verbosity since we already did this + next_phase_timer = addtimer(CALLBACK(src, PROC_REF(check_trial), FALSE),judgement_lynch_period,TIMER_STOPPABLE)// small pause to see the guy dead, no verbosity since we already did this /** * Teenie helper proc to move players back to their home. @@ -374,7 +374,7 @@ for(var/datum/mafia_role/R in all_roles) R.reveal_role(src) phase = MAFIA_PHASE_VICTORY_LAP - next_phase_timer = addtimer(CALLBACK(src,.proc/end_game),victory_lap_period,TIMER_STOPPABLE) + next_phase_timer = addtimer(CALLBACK(src,PROC_REF(end_game)),victory_lap_period,TIMER_STOPPABLE) /** * Cleans up the game, resetting variables back to the beginning and removing the map with the generator. @@ -423,7 +423,7 @@ phase = MAFIA_PHASE_NIGHT send_message("Night [turn] started! Lockdown will end in 45 seconds.") SEND_SIGNAL(src,COMSIG_MAFIA_SUNDOWN) - next_phase_timer = addtimer(CALLBACK(src, .proc/resolve_night),night_phase_period,TIMER_STOPPABLE) + next_phase_timer = addtimer(CALLBACK(src, PROC_REF(resolve_night)),night_phase_period,TIMER_STOPPABLE) SStgui.update_uis(src) /** @@ -522,7 +522,7 @@ tally[votes[vote_type][votee]] = 1 else tally[votes[vote_type][votee]] += 1 - sortTim(tally,/proc/cmp_numeric_dsc,associative=TRUE) + sortTim(tally,GLOBAL_PROC_REF(cmp_numeric_dsc),associative=TRUE) return length(tally) ? tally[1] : null /** @@ -561,7 +561,7 @@ var/mob/living/carbon/human/H = new(get_turf(role.assigned_landmark)) H.equipOutfit(player_outfit) H.status_flags |= GODMODE - RegisterSignal(H,COMSIG_ATOM_UPDATE_OVERLAYS,.proc/display_votes) + RegisterSignal(H,COMSIG_ATOM_UPDATE_OVERLAYS,PROC_REF(display_votes)) var/datum/action/innate/mafia_panel/mafia_panel = new(null,src) mafia_panel.Grant(H) var/client/player_client = GLOB.directory[role.player_key] diff --git a/code/modules/mafia/roles.dm b/code/modules/mafia/roles.dm index b6837606ce..9432cef03a 100644 --- a/code/modules/mafia/roles.dm +++ b/code/modules/mafia/roles.dm @@ -135,7 +135,7 @@ /datum/mafia_role/detective/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/investigate) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,PROC_REF(investigate)) /datum/mafia_role/detective/validate_action_target(datum/mafia_controller/game,action,datum/mafia_role/target) . = ..() @@ -189,7 +189,7 @@ /datum/mafia_role/psychologist/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,.proc/therapy_reveal) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,PROC_REF(therapy_reveal)) /datum/mafia_role/psychologist/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() @@ -225,7 +225,7 @@ /datum/mafia_role/chaplain/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/commune) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,PROC_REF(commune)) /datum/mafia_role/chaplain/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() @@ -258,8 +258,8 @@ /datum/mafia_role/md/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/protect) - RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,.proc/end_protection) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,PROC_REF(protect)) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,PROC_REF(end_protection)) /datum/mafia_role/md/validate_action_target(datum/mafia_controller/game,action,datum/mafia_role/target) . = ..() @@ -278,7 +278,7 @@ /datum/mafia_role/md/proc/protect(datum/mafia_controller/game) if(current_protected) - RegisterSignal(current_protected,COMSIG_MAFIA_ON_KILL,.proc/prevent_kill) + RegisterSignal(current_protected,COMSIG_MAFIA_ON_KILL,PROC_REF(prevent_kill)) add_note("N[game.turn] - Protected [current_protected.body.real_name]") /datum/mafia_role/md/proc/prevent_kill(datum/source) @@ -305,9 +305,9 @@ /datum/mafia_role/lawyer/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,.proc/roleblock_text) - RegisterSignal(game,COMSIG_MAFIA_NIGHT_START,.proc/try_to_roleblock) - RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,.proc/release) + RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,PROC_REF(roleblock_text)) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_START,PROC_REF(try_to_roleblock)) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,PROC_REF(release)) /datum/mafia_role/lawyer/proc/roleblock_text(datum/mafia_controller/game) if(SEND_SIGNAL(src,COMSIG_MAFIA_CAN_PERFORM_ACTION,game,"roleblock",current_target) & MAFIA_PREVENT_ACTION || game_status != MAFIA_ALIVE) //Got lynched or roleblocked by another lawyer. @@ -336,10 +336,9 @@ /datum/mafia_role/lawyer/proc/try_to_roleblock(datum/mafia_controller/game) if(current_target) - RegisterSignal(current_target,COMSIG_MAFIA_CAN_PERFORM_ACTION, .proc/prevent_action) + RegisterSignal(current_target,COMSIG_MAFIA_CAN_PERFORM_ACTION, PROC_REF(prevent_action)) /datum/mafia_role/lawyer/proc/release(datum/mafia_controller/game) - . = ..() if(current_target) UnregisterSignal(current_target, COMSIG_MAFIA_CAN_PERFORM_ACTION) current_target = null @@ -386,7 +385,7 @@ /datum/mafia_role/mafia/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,.proc/mafia_text) + RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,PROC_REF(mafia_text)) /datum/mafia_role/mafia/proc/mafia_text(datum/mafia_controller/source) to_chat(body,"Vote for who to kill tonight. The killer will be chosen randomly from voters.") @@ -405,7 +404,7 @@ /datum/mafia_role/mafia/thoughtfeeder/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/investigate) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,PROC_REF(investigate)) /datum/mafia_role/mafia/thoughtfeeder/validate_action_target(datum/mafia_controller/game,action,datum/mafia_role/target) . = ..() @@ -454,8 +453,8 @@ /datum/mafia_role/traitor/New(datum/mafia_controller/game) . = ..() - RegisterSignal(src,COMSIG_MAFIA_ON_KILL,.proc/nightkill_immunity) - RegisterSignal(game,COMSIG_MAFIA_NIGHT_KILL_PHASE,.proc/try_to_kill) + RegisterSignal(src,COMSIG_MAFIA_ON_KILL,PROC_REF(nightkill_immunity)) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_KILL_PHASE,PROC_REF(try_to_kill)) /datum/mafia_role/traitor/check_total_victory(alive_town, alive_mafia) //serial killers just want teams dead return alive_town + alive_mafia <= 1 @@ -508,7 +507,7 @@ /datum/mafia_role/nightmare/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_NIGHT_KILL_PHASE,.proc/flicker_or_hunt) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_KILL_PHASE,PROC_REF(flicker_or_hunt)) /datum/mafia_role/nightmare/check_total_victory(alive_town, alive_mafia) //nightmares just want teams dead return alive_town + alive_mafia <= 1 @@ -585,9 +584,9 @@ /datum/mafia_role/fugitive/New(datum/mafia_controller/game) . = ..() - RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,.proc/night_start) - RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,.proc/night_end) - RegisterSignal(game,COMSIG_MAFIA_GAME_END,.proc/survived) + RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,PROC_REF(night_start)) + RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,PROC_REF(night_end)) + RegisterSignal(game,COMSIG_MAFIA_GAME_END,PROC_REF(survived)) /datum/mafia_role/fugitive/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target) . = ..() @@ -606,7 +605,7 @@ /datum/mafia_role/fugitive/proc/night_start(datum/mafia_controller/game) if(protection_status == FUGITIVE_WILL_PRESERVE) to_chat(body,"Your preparations are complete. Nothing could kill you tonight!") - RegisterSignal(src,COMSIG_MAFIA_ON_KILL,.proc/prevent_death) + RegisterSignal(src,COMSIG_MAFIA_ON_KILL,PROC_REF(prevent_death)) /datum/mafia_role/fugitive/proc/night_end(datum/mafia_controller/game) if(protection_status == FUGITIVE_WILL_PRESERVE) @@ -649,7 +648,7 @@ /datum/mafia_role/obsessed/New(datum/mafia_controller/game) //note: obsession is always a townie . = ..() - RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,.proc/find_obsession) + RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,PROC_REF(find_obsession)) /datum/mafia_role/obsessed/proc/find_obsession(datum/mafia_controller/game) var/list/all_roles_shuffle = shuffle(game.all_roles) @@ -663,7 +662,7 @@ //if you still don't have an obsession you're playing a single player game like i can't help your dumb ass to_chat(body, "Your obsession is [obsession.body.real_name]! Get them lynched to win!") add_note("N[game.turn] - I vowed to watch my obsession, [obsession.body.real_name], hang!") //it'll always be N1 but whatever - RegisterSignal(obsession,COMSIG_MAFIA_ON_KILL,.proc/check_victory) + RegisterSignal(obsession,COMSIG_MAFIA_ON_KILL,PROC_REF(check_victory)) UnregisterSignal(game,COMSIG_MAFIA_SUNDOWN) /datum/mafia_role/obsessed/proc/check_victory(datum/source,datum/mafia_controller/game,lynch) diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index fac8fdc578..5faacfa3c3 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -284,7 +284,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also return anti_spam_cd = 1 - addtimer(CALLBACK(src, .proc/clear_cooldown), 50) + addtimer(CALLBACK(src, PROC_REF(clear_cooldown)), 50) var/turf/landing_spot = get_turf(src) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 2633b8f73e..886f76bc24 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -37,8 +37,8 @@ /obj/item/kinetic_crusher/Initialize() . = ..() - 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/kinetic_crusher/ComponentInitialize() . = ..() @@ -117,7 +117,7 @@ D.fire() charged = FALSE update_icon() - addtimer(CALLBACK(src, .proc/Recharge), charge_time) + addtimer(CALLBACK(src, PROC_REF(Recharge)), charge_time) return if(proximity_flag && isliving(target)) var/mob/living/L = target @@ -415,7 +415,7 @@ continue playsound(L, 'sound/magic/fireball.ogg', 20, 1) new /obj/effect/temp_visual/fire(L.loc) - addtimer(CALLBACK(src, .proc/pushback, L, user), 1) //no free backstabs, we push AFTER module stuff is done + addtimer(CALLBACK(src, PROC_REF(pushback), L, user), 1) //no free backstabs, we push AFTER module stuff is done L.adjustFireLoss(bonus_value, forced = TRUE) /obj/item/crusher_trophy/tail_spike/proc/pushback(mob/living/target, mob/living/user) @@ -479,7 +479,7 @@ /obj/item/crusher_trophy/blaster_tubes/on_mark_detonation(mob/living/target, mob/living/user) deadly_shot = TRUE - addtimer(CALLBACK(src, .proc/reset_deadly_shot), 300, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(reset_deadly_shot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE) /obj/item/crusher_trophy/blaster_tubes/proc/reset_deadly_shot() deadly_shot = FALSE diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 1de3a86702..b143c0a031 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -31,7 +31,7 @@ /obj/item/organ/regenerative_core/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/inert_check), 2400) + addtimer(CALLBACK(src, PROC_REF(inert_check)), 2400) /obj/item/organ/regenerative_core/proc/inert_check() if(!preserved) diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm index 16dd893c3a..3165af72d5 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -71,7 +71,7 @@ transform = matrix()*0.75 animate(src, transform = matrix()*1.5, time = duration) deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(burst)), duration, TIMER_STOPPABLE) /obj/effect/temp_visual/resonance/Destroy() if(res) diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 9c503279d4..e84312483f 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -21,7 +21,7 @@ /obj/item/wormhole_jaunter/equipped(mob/user, slot) . = ..() if(slot == SLOT_BELT) - RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROP, .proc/chasm_react) + RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROP, PROC_REF(chasm_react)) /obj/item/wormhole_jaunter/dropped(mob/user) . = ..() diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 429dc98e8a..3a775ecac1 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -28,7 +28,7 @@ GLOBAL_LIST(labor_sheet_values) if(!initial(sheet.point_value) || (initial(sheet.merge_type) && initial(sheet.merge_type) != sheet_type)) //ignore no-value sheets and x/fifty subtypes continue sheet_list += list(list("ore" = initial(sheet.name), "value" = initial(sheet.point_value))) - GLOB.labor_sheet_values = sortList(sheet_list, /proc/cmp_sheet_list) + GLOB.labor_sheet_values = sortList(sheet_list, GLOBAL_PROC_REF(cmp_sheet_list)) /proc/cmp_sheet_list(list/a, list/b) return a["value"] - b["value"] diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 9710773309..79a57f8a6e 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -45,7 +45,7 @@ name = harvested_name desc = harvested_desc harvested = TRUE - addtimer(CALLBACK(src, .proc/regrow), rand(regrowth_time_low, regrowth_time_high)) + addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high)) return 1 /obj/structure/flora/ash/proc/regrow() diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 4e9fe3810b..31c5fe83d6 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -430,7 +430,7 @@ /obj/effect/wisp/orbit(atom/thing, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit) . = ..() if(ismob(thing)) - RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight)) var/mob/being = thing being.update_sight() to_chat(thing, "The wisp enhances your vision.") @@ -620,7 +620,7 @@ can_destroy = FALSE - addtimer(CALLBACK(src, .proc/unvanish, user), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(unvanish), user), 10 SECONDS) /obj/effect/immortality_talisman/proc/unvanish(mob/user) user.status_flags &= ~GODMODE @@ -1057,7 +1057,7 @@ /obj/item/lava_staff/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - INVOKE_ASYNC(src, .proc/attempt_lava, target, user, proximity_flag, click_parameters) + INVOKE_ASYNC(src, PROC_REF(attempt_lava), target, user, proximity_flag, click_parameters) /obj/item/lava_staff/proc/attempt_lava(atom/target, mob/user, proximity_flag, click_parameters) if(timer > world.time) @@ -1131,7 +1131,7 @@ /obj/item/mayhem/attack_self(mob/user) for(var/mob/living/carbon/human/H in range(7,user)) var/obj/effect/mine/pickup/bloodbath/B = new(H) - INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H) + INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath, mineEffect), H) to_chat(user, "You shatter the bottle!") playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1) message_admins("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!") @@ -1258,11 +1258,11 @@ calculate_anger_mod(user) timer = world.time + CLICK_CD_MELEE //by default, melee attacks only cause melee blasts, and have an accordingly short cooldown if(proximity_flag) - INVOKE_ASYNC(src, .proc/aoe_burst, T, user) + INVOKE_ASYNC(src, PROC_REF(aoe_burst), T, user) log_combat(user, target, "fired 3x3 blast at", src) else if(ismineralturf(target) && get_dist(user, target) < 6) //target is minerals, we can hit it(even if we can't see it) - INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) + INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), T, user) timer = world.time + cooldown_time else if(target in view(5, get_turf(user))) //if the target is in view, hit it timer = world.time + cooldown_time @@ -1273,12 +1273,12 @@ C.monster_damage_boost = FALSE log_combat(user, target, "fired a chaser at", src) else - INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast + INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), T, user) //otherwise, just do cardinal blast log_combat(user, target, "fired cardinal blast at", src) else to_chat(user, "That target is out of range!" ) timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) /obj/item/hierophant_club/proc/calculate_anger_mod(mob/user) //we get stronger as the user loses health chaser_cooldown = initial(chaser_cooldown) @@ -1316,7 +1316,7 @@ user.visible_message("[user] starts fiddling with [src]'s pommel...", \ "You start detaching the hierophant beacon...") timer = world.time + 51 - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(do_after(user, 50, target = user) && !beacon) var/turf/T = get_turf(user) playsound(T,'sound/magic/blind.ogg', 200, 1, -4) @@ -1328,7 +1328,7 @@ You can remove the beacon to place it again by striking it with the club.") else timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) else to_chat(user, "You need to be on solid ground to detach the beacon!") return @@ -1345,7 +1345,7 @@ user.update_action_buttons_icon() user.visible_message("[user] starts to glow faintly...") timer = world.time + 50 - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_on" var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc) var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc) @@ -1357,7 +1357,7 @@ to_chat(user, "The beacon is blocked by something, preventing teleportation!") user.update_action_buttons_icon() timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_off" return new /obj/effect/temp_visual/hierophant/telegraph(T, user) @@ -1369,7 +1369,7 @@ if(user) user.update_action_buttons_icon() timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(beacon) beacon.icon_state = "hierophant_tele_off" return @@ -1378,7 +1378,7 @@ to_chat(user, "The beacon is blocked by something, preventing teleportation!") user.update_action_buttons_icon() timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_off" return user.log_message("teleported self from [AREACOORD(source)] to [beacon]") @@ -1391,7 +1391,7 @@ var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies B.damage = 30 for(var/mob/living/L in range(1, source)) - INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along + INVOKE_ASYNC(src, PROC_REF(teleport_mob), source, L, T, user) //regardless, take all mobs near us along sleep(6) //at this point the blasts detonate if(beacon) beacon.icon_state = "hierophant_tele_off" @@ -1399,7 +1399,7 @@ qdel(TE1) qdel(TE2) timer = world.time - INVOKE_ASYNC(src, .proc/prepare_icon_update) + INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(beacon) beacon.icon_state = "hierophant_tele_off" teleporting = FALSE @@ -1438,7 +1438,7 @@ sleep(2) new /obj/effect/temp_visual/hierophant/blast(T, user, friendly_fire_check) for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/blast_wall, T, d, user) + INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d, user) /obj/item/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long if(!T) diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 5c55a21164..d615b4b944 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -23,7 +23,7 @@ /obj/machinery/mineral/proc/register_input_turf() input_turf = get_step(src, input_dir) if(input_turf) // make sure there is actually a turf - RegisterSignal(input_turf, list(COMSIG_ATOM_CREATED, COMSIG_ATOM_ENTERED), .proc/pickup_item) + RegisterSignal(input_turf, list(COMSIG_ATOM_CREATED, COMSIG_ATOM_ENTERED), PROC_REF(pickup_item)) /// Unregisters signals that are registered the machine's input turf, if it has one. /obj/machinery/mineral/proc/unregister_input_turf() diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index c602cd7f52..fa78fe14e0 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -336,7 +336,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ else user.visible_message("[user] strikes \the [src], causing a chain reaction!", "You strike \the [src], causing a chain reaction.") log_game("[key_name(user)] has primed a [name] for detonation at [AREACOORD(bombturf)]") - det_timer = addtimer(CALLBACK(src, .proc/detonate, notify_admins), det_time, TIMER_STOPPABLE) + det_timer = addtimer(CALLBACK(src, PROC_REF(detonate), notify_admins), det_time, TIMER_STOPPABLE) /obj/item/gibtonite/proc/detonate(notify_admins) if(primed) @@ -404,7 +404,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ if (!attack_self(user)) user.visible_message("[user] couldn't flip \the [src]!") return SHAME - addtimer(CALLBACK(src, .proc/manual_suicide, user), 10)//10 = time takes for flip animation + addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), 10)//10 = time takes for flip animation return MANUAL_SUICIDE /obj/item/coin/proc/manual_suicide(mob/living/user) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 76b10684de..e739580d40 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -149,13 +149,13 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/old_color = color color = "#960000" animate(src, color = old_color, time = 10, flags = ANIMATION_PARALLEL) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 10) /mob/dead/observer/ratvar_act() var/old_color = color color = "#FAE48C" animate(src, color = old_color, time = 10, flags = ANIMATION_PARALLEL) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 10) /mob/dead/observer/Destroy() GLOB.ghost_images_default -= ghostimage_default diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index 78353b251d..75339f1fd6 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -152,7 +152,7 @@ newcolor = BLOOD_COLOR_XENO add_atom_colour(newcolor, TEMPORARY_COLOUR_PRIORITY) // but only for a few seconds - addtimer(CALLBACK(src, /atom/.proc/remove_atom_colour, TEMPORARY_COLOUR_PRIORITY, newcolor), 6 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, remove_atom_colour), TEMPORARY_COLOUR_PRIORITY, newcolor), 6 SECONDS) /mob/living/proc/phasein(obj/effect/decal/cleanable/B) if(src.mob_transforming) diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index 9802e75120..38f473b45d 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -83,7 +83,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) next_ask = world.time + askDelay searching = TRUE update_icon() - addtimer(CALLBACK(src, .proc/check_success), askDelay) + addtimer(CALLBACK(src, PROC_REF(check_success)), askDelay) /obj/item/mmi/posibrain/proc/check_success() searching = FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 0ce8482ca1..4fa657077c 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -50,7 +50,7 @@ leaping = 1 weather_immunities += "lava" update_icons() - throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end)) + throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(leap_end))) /mob/living/carbon/alien/humanoid/hunter/proc/leap_end() leaping = 0 diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 8e3966eb03..bfabeb0778 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -142,7 +142,7 @@ recent_queen_death = 1 owner.throw_alert("alien_noqueen", /obj/screen/alert/alien_vulnerable) - addtimer(CALLBACK(src, .proc/clear_queen_death), QUEEN_DEATH_DEBUFF_DURATION) + addtimer(CALLBACK(src, PROC_REF(clear_queen_death)), QUEEN_DEATH_DEBUFF_DURATION) /obj/item/organ/alien/hivenode/proc/clear_queen_death() diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index f36a7f8064..184f30d426 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -51,7 +51,7 @@ /obj/item/organ/body_egg/alien_embryo/egg_process() if(stage < 5 && prob(3)) stage++ - INVOKE_ASYNC(src, .proc/RefreshInfectionImage) + INVOKE_ASYNC(src, PROC_REF(RefreshInfectionImage)) if(stage == 5 && prob(50)) for(var/datum/surgery/S in owner.surgeries) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index ad8828572c..e1b7e85ae5 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -109,7 +109,7 @@ return if(stat == CONSCIOUS) icon_state = "[initial(icon_state)]_thrown" - addtimer(CALLBACK(src, .proc/clear_throw_icon_state), 15) + addtimer(CALLBACK(src, PROC_REF(clear_throw_icon_state)), 15) /obj/item/clothing/mask/facehugger/proc/clear_throw_icon_state() if(icon_state == "[initial(icon_state)]_thrown") @@ -181,7 +181,7 @@ // early returns and validity checks done: attach. attached++ //ensure we detach once we no longer need to be attached - addtimer(CALLBACK(src, .proc/detach), MAX_IMPREGNATION_TIME) + addtimer(CALLBACK(src, PROC_REF(detach)), MAX_IMPREGNATION_TIME) if(!sterile) @@ -190,7 +190,7 @@ GoIdle() //so it doesn't jump the people that tear it off - addtimer(CALLBACK(src, .proc/Impregnate, M), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) + addtimer(CALLBACK(src, PROC_REF(Impregnate), M), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) /obj/item/clothing/mask/facehugger/proc/detach() attached = 0 @@ -233,7 +233,7 @@ stat = UNCONSCIOUS icon_state = "[initial(icon_state)]_inactive" - addtimer(CALLBACK(src, .proc/GoActive), rand(MIN_ACTIVE_TIME, MAX_ACTIVE_TIME)) + addtimer(CALLBACK(src, PROC_REF(GoActive)), rand(MIN_ACTIVE_TIME, MAX_ACTIVE_TIME)) /obj/item/clothing/mask/facehugger/proc/Die() if(stat == DEAD) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 902cbd1182..315cbbf7a6 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -254,7 +254,7 @@ jitteriness += 1000 do_jitter_animation(jitteriness) stuttering += 2 - addtimer(CALLBACK(src, .proc/secondary_shock, should_stun), 20) + addtimer(CALLBACK(src, PROC_REF(secondary_shock), should_stun), 20) return shock_damage ///Called slightly after electrocute act to reduce jittering and apply a secondary stun. diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index bf643bfd1b..5aff5bf97b 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -6,7 +6,7 @@ losebreath = 0 if(!gibbed) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") if(istype(buckled, /obj/structure/chair)) buckled.unbuckle_mob(src) visible_message("[src] slips off the chair!") diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index b9a7b7caf7..4cd71002bc 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -195,7 +195,7 @@ //rock paper scissors emote handling /mob/living/carbon/human/proc/beginRockPaperScissors(chosen_move) GLOB.rockpaperscissors_players[src] = list(chosen_move, ROCKPAPERSCISSORS_NOT_DECIDED) - do_after_advanced(src, ROCKPAPERSCISSORS_TIME_LIMIT, src, DO_AFTER_REQUIRES_USER_ON_TURF|DO_AFTER_NO_COEFFICIENT|DO_AFTER_NO_PROGRESSBAR|DO_AFTER_DISALLOW_MOVING_ABSOLUTE_USER, CALLBACK(src, .proc/rockpaperscissors_tick)) + do_after_advanced(src, ROCKPAPERSCISSORS_TIME_LIMIT, src, DO_AFTER_REQUIRES_USER_ON_TURF|DO_AFTER_NO_COEFFICIENT|DO_AFTER_NO_PROGRESSBAR|DO_AFTER_DISALLOW_MOVING_ABSOLUTE_USER, CALLBACK(src, PROC_REF(rockpaperscissors_tick))) var/new_entry = GLOB.rockpaperscissors_players[src] if(new_entry[2] == ROCKPAPERSCISSORS_NOT_DECIDED) to_chat(src, "You put your hand back down.") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2295d21b64..d78429e208 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -735,7 +735,7 @@ electrocution_skeleton_anim = mutable_appearance(icon, "electrocuted_base") electrocution_skeleton_anim.appearance_flags |= RESET_COLOR|KEEP_APART add_overlay(electrocution_skeleton_anim) - addtimer(CALLBACK(src, .proc/end_electrocution_animation, electrocution_skeleton_anim), anim_duration) + addtimer(CALLBACK(src, PROC_REF(end_electrocution_animation), electrocution_skeleton_anim), anim_duration) else //or just do a generic animation flick_overlay_view(image(icon,src,"electrocuted_generic",ABOVE_MOB_LAYER), src, anim_duration) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 57046ee68a..f3c8bc2a9e 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1367,7 +1367,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(radiation > RAD_MOB_HAIRLOSS) if(prob(15) && !(H.hair_style == "Bald") && (HAIR in species_traits)) to_chat(H, "Your hair starts to fall out in clumps...") - addtimer(CALLBACK(src, .proc/go_bald, H), 50) + addtimer(CALLBACK(src, PROC_REF(go_bald), H), 50) /datum/species/proc/go_bald(mob/living/carbon/human/H) if(QDELETED(H)) //may be called from a timer diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index e61cd9926f..ae034d4e25 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -122,10 +122,10 @@ return INITIALIZE_HINT_QDEL owner = new_owner START_PROCESSING(SSobj, src) - RegisterSignal(owner, COMSIG_MOB_CLICKED_SHIFT_ON, .proc/examinate_check) - RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, .proc/include_owner) - RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, .proc/unlist_head) - RegisterSignal(owner, COMSIG_LIVING_REVIVE, .proc/retrieve_head) + RegisterSignal(owner, COMSIG_MOB_CLICKED_SHIFT_ON, PROC_REF(examinate_check)) + RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, PROC_REF(include_owner)) + RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, PROC_REF(unlist_head)) + RegisterSignal(owner, COMSIG_LIVING_REVIVE, PROC_REF(retrieve_head)) /obj/item/dullahan_relay/proc/examinate_check(mob/source, atom/target) if(source.client.eye == src) diff --git a/code/modules/mob/living/carbon/human/species_types/dwarves.dm b/code/modules/mob/living/carbon/human/species_types/dwarves.dm index 884b3f4c5a..1313aa088c 100644 --- a/code/modules/mob/living/carbon/human/species_types/dwarves.dm +++ b/code/modules/mob/living/carbon/human/species_types/dwarves.dm @@ -35,7 +35,7 @@ GLOBAL_LIST_INIT(dwarf_last, world.file2list("strings/names/dwarf_last.txt")) // H.facial_hair_style = dwarf_hair H.update_hair() H.AddElement(/datum/element/dwarfism, COMSIG_SPECIES_LOSS, src) - RegisterSignal(C, COMSIG_MOB_SAY, .proc/handle_speech) //We register handle_speech is being used. + RegisterSignal(C, COMSIG_MOB_SAY, PROC_REF(handle_speech)) //We register handle_speech is being used. /datum/species/dwarf/on_species_loss(mob/living/carbon/H, datum/species/new_species) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 26fe326aea..656937d59c 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -57,8 +57,8 @@ g1 = GETGREENPART(default_color) b1 = GETBLUEPART(default_color) spec_updatehealth(H) - RegisterSignal(C, COMSIG_ATOM_EMAG_ACT, .proc/on_emag_act) - RegisterSignal(C, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act) + RegisterSignal(C, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag_act)) + RegisterSignal(C, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) ethereal_light = H.mob_light() /datum/species/ethereal/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) @@ -93,7 +93,7 @@ EMPeffect = TRUE spec_updatehealth(H) to_chat(H, "You feel the light of your body leave you.") - addtimer(CALLBACK(src, .proc/stop_emp, H), (severity/5) SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //lights out + addtimer(CALLBACK(src, PROC_REF(stop_emp), H), (severity/5) SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //lights out /datum/species/ethereal/proc/on_emag_act(mob/living/carbon/human/H, mob/user) if(emageffect) @@ -103,7 +103,7 @@ to_chat(user, "You tap [H] on the back with your card.") H.visible_message("[H] starts flickering in an array of colors!") handle_emag(H) - addtimer(CALLBACK(src, .proc/stop_emag, H), 30 SECONDS) //Disco mode for 30 seconds! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass. + addtimer(CALLBACK(src, PROC_REF(stop_emag), H), 30 SECONDS) //Disco mode for 30 seconds! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass. /datum/species/ethereal/spec_life(mob/living/carbon/human/H) @@ -122,7 +122,7 @@ return current_color = pick(ETHEREAL_COLORS) spec_updatehealth(H) - addtimer(CALLBACK(src, .proc/handle_emag, H), 5) //Call ourselves every 0.5 seconds to change color + addtimer(CALLBACK(src, PROC_REF(handle_emag), H), 5) //Call ourselves every 0.5 seconds to change color /datum/species/ethereal/proc/stop_emag(mob/living/carbon/human/H) emageffect = FALSE diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 00324c15b4..a1fcba21f6 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -479,7 +479,7 @@ var/mob/living/carbon/human/H = owner H.visible_message("[H] starts vibrating!", "You start charging your bluespace core...") playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, 1) - addtimer(CALLBACK(src, .proc/teleport, H), 15) + addtimer(CALLBACK(src, PROC_REF(teleport), H), 15) /datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H) H.visible_message("[H] disappears in a shower of sparks!", "You teleport!") @@ -570,7 +570,7 @@ /datum/species/golem/clockwork/on_species_gain(mob/living/carbon/human/H) . = ..() H.faction |= "ratvar" - RegisterSignal(H, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(H, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/species/golem/clockwork/on_species_loss(mob/living/carbon/human/H) if(!is_servant_of_ratvar(H)) @@ -678,7 +678,7 @@ H.forceMove(src) cloth_golem = H to_chat(cloth_golem, "You start gathering your life energy, preparing to rise again...") - addtimer(CALLBACK(src, .proc/revive), revive_time) + addtimer(CALLBACK(src, PROC_REF(revive)), revive_time) else return INITIALIZE_HINT_QDEL @@ -935,7 +935,7 @@ badtime.appearance_flags = RESET_COLOR H.overlays_standing[FIRE_LAYER+0.5] = badtime H.apply_overlay(FIRE_LAYER+0.5) - addtimer(CALLBACK(H, /mob/living/carbon/.proc/remove_overlay, FIRE_LAYER+0.5), 25) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon, remove_overlay), FIRE_LAYER+0.5), 25) else playsound(get_turf(owner),'sound/magic/RATTLEMEBONES.ogg', 100) for(var/mob/living/L in orange(7, get_turf(owner))) diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 9e713da422..7d76624e2e 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -912,8 +912,8 @@ var/datum/action/innate/linked_speech/action = new(src) linked_actions.Add(action) action.Grant(M) - RegisterSignal(M, COMSIG_MOB_DEATH , .proc/unlink_mob) - RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/unlink_mob) + RegisterSignal(M, COMSIG_MOB_DEATH , PROC_REF(unlink_mob)) + RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(unlink_mob)) return TRUE /datum/species/jelly/stargazer/proc/unlink_mob(mob/living/M) diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index f91c3518a3..68be2c61f4 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -38,7 +38,7 @@ H.faction |= "mushroom" mush = new() mush.teach(H, TRUE) - RegisterSignal(C, COMSIG_MOB_ON_NEW_MIND, .proc/on_new_mind) + RegisterSignal(C, COMSIG_MOB_ON_NEW_MIND, PROC_REF(on_new_mind)) /datum/species/mush/proc/on_new_mind(mob/owner) mush.teach(owner, TRUE) //make_temporary TRUE as it shouldn't carry over to other mobs on mind transfer_to. diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm index 2fd92901d6..d563e25545 100644 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ b/code/modules/mob/living/carbon/human/species_types/synths.dm @@ -31,7 +31,7 @@ /datum/species/synth/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) ..() assume_disguise(old_species, H) - RegisterSignal(H, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(H, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /datum/species/synth/on_species_loss(mob/living/carbon/human/H) . = ..() diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm index 9b2a5f54e6..ec07fcb3d9 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -30,7 +30,7 @@ return 0 if(myPath.len <= 0) - myPath = get_path_to(src, get_turf(target), /turf/proc/Distance, MAX_RANGE_FIND + 1, 250,1) + myPath = get_path_to(src, get_turf(target), TYPE_PROC_REF(/turf, Distance), MAX_RANGE_FIND + 1, 250,1) if(myPath) if(myPath.len > 0) @@ -74,7 +74,7 @@ if(I.force >= best_force) best_force = I.force else - addtimer(CALLBACK(src, .proc/pickup_and_wear, I), 5) + addtimer(CALLBACK(src, PROC_REF(pickup_and_wear), I), 5) return TRUE @@ -117,7 +117,7 @@ pickupTarget = null pickupTimer = 0 else - INVOKE_ASYNC(src, .proc/walk2derpless, pickupTarget.loc) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), pickupTarget.loc) if(Adjacent(pickupTarget) || Adjacent(pickupTarget.loc)) // next to target drop_all_held_items() // who cares about these items, i want that one! if(isturf(pickupTarget.loc)) // on floor @@ -131,7 +131,7 @@ if(!pickpocketing) pickpocketing = TRUE M.visible_message("[src] starts trying to take [pickupTarget] from [M]", "[src] tries to take [pickupTarget]!") - INVOKE_ASYNC(src, .proc/pickpocket, M) + INVOKE_ASYNC(src, PROC_REF(pickpocket), M) return TRUE switch(mode) @@ -167,7 +167,7 @@ return TRUE if(target != null) - INVOKE_ASYNC(src, .proc/walk2derpless, target) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), target) // pickup any nearby weapon if(!pickupTarget && prob(MONKEY_WEAPON_PROB)) @@ -252,7 +252,7 @@ if(target.pulledby != src && !istype(target.pulledby, /mob/living/carbon/monkey/)) - INVOKE_ASYNC(src, .proc/walk2derpless, target.loc) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), target.loc) if(Adjacent(target) && isturf(target.loc)) a_intent = INTENT_GRAB @@ -265,11 +265,11 @@ frustration = 0 else if(!disposing_body) - INVOKE_ASYNC(src, .proc/walk2derpless, bodyDisposal.loc) + INVOKE_ASYNC(src, PROC_REF(walk2derpless), bodyDisposal.loc) if(Adjacent(bodyDisposal)) disposing_body = TRUE - addtimer(CALLBACK(src, .proc/stuff_mob_in), 5) + addtimer(CALLBACK(src, PROC_REF(stuff_mob_in)), 5) else var/turf/olddist = get_dist(src, bodyDisposal) diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 71a13e85d2..fb7bcabd58 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -80,7 +80,7 @@ med_hud_set_status() clear_typing_indicator() if(!gibbed && !QDELETED(src)) - addtimer(CALLBACK(src, .proc/med_hud_set_status), (DEFIB_TIME_LIMIT * 10) + 1) + addtimer(CALLBACK(src, PROC_REF(med_hud_set_status)), (DEFIB_TIME_LIMIT * 10) + 1) stop_pulling() var/signal = SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed) diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index ec1e5b4241..c7fe4a0353 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -1,7 +1,7 @@ /// Called on [/mob/living/Initialize()], for the mob to register to relevant signals. /mob/living/proc/register_init_signals() - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), .proc/on_knockedout_trait_gain) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), .proc/on_knockedout_trait_loss) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_loss)) /// Called when [TRAIT_KNOCKEDOUT] is added to the mob. diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 7761d2d7ba..90bd5e500c 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -209,7 +209,7 @@ /mob/living/proc/gravity_animate() if(!get_filter("gravity")) add_filter("gravity",1, GRAVITY_MOTION_BLUR) - INVOKE_ASYNC(src, .proc/gravity_pulse_animation) + INVOKE_ASYNC(src, PROC_REF(gravity_pulse_animation)) /mob/living/proc/gravity_pulse_animation() animate(get_filter("gravity"), y = 1, time = 10) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 204d342933..e9a8a01216 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -434,12 +434,12 @@ return else src.reset_perspective(T) - RegisterSignal(src, COMSIG_MOB_CLIENT_CHANGE_VIEW, .proc/stop_looking_up) //no binos/scops - RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/stop_looking_up) - RegisterSignal(src, COMSIG_LIVING_STATUS_KNOCKDOWN, .proc/stop_looking_up) - RegisterSignal(src, COMSIG_LIVING_STATUS_PARALYZE, .proc/stop_looking_up) - RegisterSignal(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, .proc/stop_looking_up) - RegisterSignal(src, COMSIG_LIVING_STATUS_SLEEP, .proc/stop_looking_up) + RegisterSignal(src, COMSIG_MOB_CLIENT_CHANGE_VIEW, PROC_REF(stop_looking_up)) //no binos/scops + RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(stop_looking_up)) + RegisterSignal(src, COMSIG_LIVING_STATUS_KNOCKDOWN, PROC_REF(stop_looking_up)) + RegisterSignal(src, COMSIG_LIVING_STATUS_PARALYZE, PROC_REF(stop_looking_up)) + RegisterSignal(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, PROC_REF(stop_looking_up)) + RegisterSignal(src, COMSIG_LIVING_STATUS_SLEEP, PROC_REF(stop_looking_up)) /mob/living/proc/stop_looking_up() reset_perspective(null) diff --git a/code/modules/mob/living/living_active_block.dm b/code/modules/mob/living/living_active_block.dm index d1afee2945..007a7a2d3a 100644 --- a/code/modules/mob/living/living_active_block.dm +++ b/code/modules/mob/living/living_active_block.dm @@ -103,7 +103,7 @@ var/delay = data.block_start_delay combat_flags |= COMBAT_FLAG_ACTIVE_BLOCK_STARTING animate(src, pixel_x = get_standard_pixel_x_offset(), pixel_y = get_standard_pixel_y_offset(), time = delay, FALSE, SINE_EASING | EASE_IN) - if(!do_after_advanced(src, delay, src, DO_AFTER_REQUIRES_USER_ON_TURF|DO_AFTER_NO_COEFFICIENT, CALLBACK(src, .proc/continue_starting_active_block), MOBILITY_USE, null, null, I)) + if(!do_after_advanced(src, delay, src, DO_AFTER_REQUIRES_USER_ON_TURF|DO_AFTER_NO_COEFFICIENT, CALLBACK(src, PROC_REF(continue_starting_active_block)), MOBILITY_USE, null, null, I)) to_chat(src, "You fail to raise [I].") combat_flags &= ~(COMBAT_FLAG_ACTIVE_BLOCK_STARTING) animate(src, pixel_x = get_standard_pixel_x_offset(), pixel_y = get_standard_pixel_y_offset(), time = 2.5, FALSE, SINE_EASING | EASE_IN, ANIMATION_END_NOW) diff --git a/code/modules/mob/living/living_active_parry.dm b/code/modules/mob/living/living_active_parry.dm index 6d92c18874..c124dd3adb 100644 --- a/code/modules/mob/living/living_active_parry.dm +++ b/code/modules/mob/living/living_active_parry.dm @@ -79,7 +79,7 @@ adjustStaminaLossBuffered(data.parry_stamina_cost) parry_start_time = world.time successful_parries = list() - addtimer(CALLBACK(src, .proc/end_parry_sequence), full_parry_duration) + addtimer(CALLBACK(src, PROC_REF(end_parry_sequence)), full_parry_duration) if(data.parry_flags & PARRY_LOCK_ATTACKING) ADD_TRAIT(src, TRAIT_MOBILITY_NOUSE, ACTIVE_PARRY_TRAIT) if(data.parry_flags & PARRY_LOCK_SPRINTING) @@ -340,7 +340,7 @@ if(owner) attach_to(owner) if(autorun) - INVOKE_ASYNC(src, .proc/run_animation, windup, active, spindown) + INVOKE_ASYNC(src, PROC_REF(run_animation), windup, active, spindown) /obj/effect/abstract/parry/main/Destroy() detach_from(owner) diff --git a/code/modules/mob/living/living_block.dm b/code/modules/mob/living/living_block.dm index 5e8350c9eb..8e878535f1 100644 --- a/code/modules/mob/living/living_block.dm +++ b/code/modules/mob/living/living_block.dm @@ -27,7 +27,7 @@ return_list[BLOCK_RETURN_PROJECTILE_BLOCK_PERCENTAGE] = 100 return var/list/obj/item/tocheck = get_blocking_items() - sortTim(tocheck, /proc/cmp_numeric_dsc, TRUE) + sortTim(tocheck, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE) // i don't like this var/block_chance_modifier = round(damage / -3) if(real_attack) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index fae0f238aa..ee63e3011d 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -495,10 +495,10 @@ if((GLOB.cult_narsie.souls == GLOB.cult_narsie.soul_goal) && (GLOB.cult_narsie.resolved == FALSE)) GLOB.cult_narsie.resolved = TRUE sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, .proc/cult_ending_helper, 1), 120) - addtimer(CALLBACK(GLOBAL_PROC, .proc/ending_helper), 270) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(cult_ending_helper), 1), 120) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ending_helper)), 270) if(client) - INVOKE_ASYNC(GLOBAL_PROC, .proc/makeNewConstruct, /mob/living/simple_animal/hostile/construct/harvester, src, null, TRUE) // must pass keyword args explicitly + INVOKE_ASYNC(GLOBAL_PROC,GLOBAL_PROC_REF(makeNewConstruct), /mob/living/simple_animal/hostile/construct/harvester, src, null, TRUE) // must pass keyword args explicitly else switch(rand(1, 6)) if(1) @@ -526,7 +526,7 @@ /mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash) if(get_eye_protection() < intensity && (override_blindness_check || !(HAS_TRAIT(src, TRAIT_BLIND)))) overlay_fullscreen("flash", type) - addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25) + addtimer(CALLBACK(src, PROC_REF(clear_fullscreen), "flash", 25), 25) return TRUE return FALSE diff --git a/code/modules/mob/living/living_mobility.dm b/code/modules/mob/living/living_mobility.dm index 9f993f8ab3..189b4de0ee 100644 --- a/code/modules/mob/living/living_mobility.dm +++ b/code/modules/mob/living/living_mobility.dm @@ -170,7 +170,7 @@ //Handle citadel autoresist if(CHECK_MOBILITY(src, MOBILITY_MOVE) && !(combat_flags & COMBAT_FLAG_INTENTIONALLY_RESTING) && canstand_involuntary && iscarbon(src) && client?.prefs?.autostand)//CIT CHANGE - adds autostanding as a preference - addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto + addtimer(CALLBACK(src, PROC_REF(resist_a_rest), TRUE), 0) //CIT CHANGE - ditto // Movespeed mods based on arms/legs quantity if(!get_leg_ignore()) diff --git a/code/modules/mob/living/living_sprint.dm b/code/modules/mob/living/living_sprint.dm index 28ae7ea6cc..c9de22d97f 100644 --- a/code/modules/mob/living/living_sprint.dm +++ b/code/modules/mob/living/living_sprint.dm @@ -1,6 +1,6 @@ /mob/living/ComponentInitialize() . = ..() - RegisterSignal(src, list(SIGNAL_ADDTRAIT(TRAIT_SPRINT_LOCKED), SIGNAL_REMOVETRAIT(TRAIT_SPRINT_LOCKED)), .proc/update_sprint_lock) + RegisterSignal(src, list(SIGNAL_ADDTRAIT(TRAIT_SPRINT_LOCKED), SIGNAL_REMOVETRAIT(TRAIT_SPRINT_LOCKED)), PROC_REF(update_sprint_lock)) /mob/living/proc/update_sprint_icon() var/obj/screen/sprintbutton/S = locate() in hud_used?.static_inventory diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 987ea92062..4eb69c1d4f 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -131,7 +131,7 @@ create_eye() if(client) - INVOKE_ASYNC(src, .proc/apply_pref_name,"ai",client) + INVOKE_ASYNC(src, PROC_REF(apply_pref_name),"ai",client) set_core_display_icon() diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 29543a792f..fe0e5fae28 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -23,7 +23,7 @@ GLOB.shuttle_caller_list -= src SSshuttle.autoEvac() - INVOKE_ASYNC(src, .proc/ShutOffDoomsdayDevice) + INVOKE_ASYNC(src, PROC_REF(ShutOffDoomsdayDevice)) if(explosive) spawn(10) diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index 4591720b79..1240280091 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -50,7 +50,7 @@ /datum/camerachunk/proc/hasChanged(update_now = 0) if(seenby.len || update_now) - addtimer(CALLBACK(src, .proc/update), UPDATE_BUFFER, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(update)), UPDATE_BUFFER, TIMER_UNIQUE) else changed = 1 diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index dc92eac679..49438090c5 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -173,7 +173,7 @@ blind_eyes(1) update_sight() to_chat(src, "You've lost power!") - addtimer(CALLBACK(src, .proc/start_RestorePowerRoutine), 20) + addtimer(CALLBACK(src, PROC_REF(start_RestorePowerRoutine)), 20) #undef POWER_RESTORATION_OFF #undef POWER_RESTORATION_START diff --git a/code/modules/mob/living/silicon/death.dm b/code/modules/mob/living/silicon/death.dm index 26a77a37e8..93c886a408 100644 --- a/code/modules/mob/living/silicon/death.dm +++ b/code/modules/mob/living/silicon/death.dm @@ -6,7 +6,7 @@ /mob/living/silicon/death(gibbed) if(!gibbed) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") diag_hud_set_status() diag_hud_set_health() update_health_hud() diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index acaee05cc6..bb42f71433 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -9,7 +9,7 @@ throw_alert("newlaw", /obj/screen/alert/newlaw) if(announce && last_lawchange_announce != world.time) to_chat(src, "Your laws have been changed.") - addtimer(CALLBACK(src, .proc/show_laws), 0) + addtimer(CALLBACK(src, PROC_REF(show_laws)), 0) last_lawchange_announce = world.time /mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 5ad8ee7909..09474a2163 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -336,7 +336,7 @@ deltimer(radio_short_timerid) radio_short = TRUE to_chat(src, "Your radio shorts out!") - radio_short_timerid = addtimer(CALLBACK(src, .proc/unshort_radio), radio_short_cooldown, flags = TIMER_STOPPABLE) + radio_short_timerid = addtimer(CALLBACK(src, PROC_REF(unshort_radio)), radio_short_cooldown, flags = TIMER_STOPPABLE) /mob/living/silicon/pai/proc/unshort_radio() radio_short = FALSE diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 45b3d483f1..8a552d9448 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -16,7 +16,7 @@ wires = new /datum/wires/robot(src) AddElement(/datum/element/empprotection, EMP_PROTECT_WIRES) - RegisterSignal(src, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/charge) + RegisterSignal(src, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(charge)) robot_modules_background = new() robot_modules_background.icon_state = "block" @@ -63,7 +63,7 @@ mmi.brainmob.real_name = src.real_name mmi.brainmob.container = mmi - INVOKE_ASYNC(src, .proc/updatename) + INVOKE_ASYNC(src, PROC_REF(updatename)) equippable_hats = typecacheof(equippable_hats) @@ -345,11 +345,11 @@ /mob/living/silicon/robot/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/weldingtool) && (user.a_intent != INTENT_HARM || user == src)) - INVOKE_ASYNC(src, .proc/attempt_welder_repair, W, user) + INVOKE_ASYNC(src, PROC_REF(attempt_welder_repair), W, user) return else if(istype(W, /obj/item/stack/cable_coil) && wiresexposed) - INVOKE_ASYNC(src, .proc/attempt_cable_repair, W, user) + INVOKE_ASYNC(src, PROC_REF(attempt_cable_repair), W, user) return else if(istype(W, /obj/item/crowbar)) // crowbar means open or close the cover @@ -758,7 +758,7 @@ cell = new /obj/item/stock_parts/cell/hyper(src, 25000) radio = new /obj/item/radio/borg/syndicate(src) laws = new /datum/ai_laws/syndicate_override() - addtimer(CALLBACK(src, .proc/show_playstyle), 5) + addtimer(CALLBACK(src, PROC_REF(show_playstyle)), 5) /mob/living/silicon/robot/modules/syndicate/proc/show_playstyle() if(playstyle_string) @@ -959,7 +959,7 @@ hat_offset = module.hat_offset magpulse = module.magpulsing - INVOKE_ASYNC(src, .proc/updatename) + INVOKE_ASYNC(src, PROC_REF(updatename)) /mob/living/silicon/robot/proc/place_on_head(obj/item/new_hat) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 0ed380040b..51b36acc7e 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -127,7 +127,7 @@ ResetModule() return TRUE - INVOKE_ASYNC(src, .proc/beep_boop_rogue_bot, user) + INVOKE_ASYNC(src, PROC_REF(beep_boop_rogue_bot), user) return TRUE /mob/living/silicon/robot/proc/beep_boop_rogue_bot(mob/user) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 97b74e8c13..6afb8a55d4 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -207,7 +207,7 @@ R.module = RM R.update_module_innate() RM.rebuild_modules() - INVOKE_ASYNC(RM, .proc/do_transform_animation) + INVOKE_ASYNC(RM, PROC_REF(do_transform_animation)) R.maxHealth = borghealth R.health = min(borghealth, R.health) qdel(src) @@ -333,7 +333,7 @@ "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "medical") ) med_icons = sortList(med_icons) - var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(med_borg_icon) if("Default") cyborg_base_icon = "medical" @@ -388,7 +388,7 @@ "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "engineer") ) engi_icons = sortList(engi_icons) - var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(engi_borg_icon) if("Default") cyborg_base_icon = "engineer" @@ -425,7 +425,7 @@ "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "sec"), ) sec_icons = sortList(sec_icons) - var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(sec_borg_icon) if("Default") cyborg_base_icon = "sec" @@ -472,7 +472,7 @@ var/static/list/peace_icons = sortList(list( "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "peace") )) - var/peace_borg_icon = show_radial_menu(R, R , peace_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/peace_borg_icon = show_radial_menu(R, R , peace_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(peace_borg_icon) if("Default") cyborg_base_icon = "peace" @@ -583,7 +583,7 @@ "(Service) Can" = image(icon = 'icons/mob/robots.dmi', icon_state = "kent"), "(Service) Tophat" = image(icon = 'icons/mob/robots.dmi', icon_state = "tophat"), ) - var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(service_robot_icon) if("(Service) Waitress") cyborg_base_icon = "service_f" @@ -643,7 +643,7 @@ "Lavaland" = image(icon = 'icons/mob/robots.dmi', icon_state = "miner"), "Asteroid" = image(icon = 'icons/mob/robots.dmi', icon_state = "minerOLD") ) - var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(mining_borg_icon) if("Lavaland") cyborg_base_icon = "miner" diff --git a/code/modules/mob/living/silicon/silicon_movement.dm b/code/modules/mob/living/silicon/silicon_movement.dm index 590326eda1..cc0a01aa37 100644 --- a/code/modules/mob/living/silicon/silicon_movement.dm +++ b/code/modules/mob/living/silicon/silicon_movement.dm @@ -18,5 +18,5 @@ oldLoc = get_turf(oldLoc) if(!QDELETED(builtInCamera) && !updating && oldLoc != get_turf(src)) updating = TRUE - addtimer(CALLBACK(src, .proc/do_camera_update, oldLoc), SILICON_CAMERA_BUFFER) + addtimer(CALLBACK(src, PROC_REF(do_camera_update), oldLoc), SILICON_CAMERA_BUFFER) #undef SILICON_CAMERA_BUFFER diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm index 99048b4e9f..e1350e1256 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -51,7 +51,7 @@ weapon.attack(C, src) playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1) if(C.stat == DEAD) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 2) back_to_idle() @@ -107,7 +107,7 @@ if((C.name == oldtarget_name) && (world.time < last_found + 100)) continue - threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) if(!threatlevel) continue @@ -122,7 +122,7 @@ icon_state = "grievous-c" visible_message("[src] points at [C.name]!") mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break else continue diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 85066c720a..8ee444c134 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -550,7 +550,7 @@ Pass a positive integer as an argument to override a bot's default speed. var/datum/job/captain/All = new/datum/job/captain all_access.access = All.get_access() - set_path(get_path_to(src, waypoint, /turf/proc/Distance_cardinal, 0, 200, id=all_access)) + set_path(get_path_to(src, waypoint, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 200, id=all_access)) calling_ai = caller //Link the AI to the bot! ai_waypoint = waypoint @@ -560,7 +560,7 @@ Pass a positive integer as an argument to override a bot's default speed. turn_on() //Saves the AI the hassle of having to activate a bot manually. access_card = all_access //Give the bot all-access while under the AI's command. if(client) - reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 600, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time + reset_access_timer_id = addtimer(CALLBACK (src, PROC_REF(bot_reset)), 600, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time to_chat(src, "Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area].
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.
") if(message) to_chat(calling_ai, "[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.") @@ -764,12 +764,12 @@ Pass a positive integer as an argument to override a bot's default speed. // given an optional turf to avoid /mob/living/simple_animal/bot/proc/calc_path(turf/avoid) check_bot_access() - set_path(get_path_to(src, patrol_target, /turf/proc/Distance_cardinal, 0, 120, id=access_card, exclude=avoid)) + set_path(get_path_to(src, patrol_target, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 120, id=access_card, exclude=avoid)) /mob/living/simple_animal/bot/proc/calc_summon_path(turf/avoid) check_bot_access() spawn() - set_path(get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid)) + set_path(get_path_to(src, summon_target, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 150, id=access_card, exclude=avoid)) if(!path.len) //Cannot reach target. Give up and announce the issue. speak("Summon command failed, destination unreachable.",radio_channel) bot_reset() diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index e7c5644e26..09c58054ea 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -285,7 +285,7 @@ if(!path || path.len == 0) //No path, need a new one //Try to produce a path to the target, and ignore airlocks to which it has access. - path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 0, 30, id=access_card) + path = get_path_to(src, target.loc, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 30, id=access_card) if(!bot_move(target)) add_to_ignore(target) target = null diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 6571e8cb0e..4bfc1625b9 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -171,7 +171,7 @@ Auto Patrol[]"}, /mob/living/simple_animal/bot/ed209/proc/retaliate(mob/living/carbon/human/H) var/judgement_criteria = judgement_criteria() - threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) threatlevel += 6 if(threatlevel >= 4) target = H @@ -223,7 +223,7 @@ Auto Patrol[]"}, var/threatlevel = 0 if((C.stat) || (C.lying)) continue - threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) //speak(C.real_name + text(": threat: []", threatlevel)) if(threatlevel < 4 ) continue @@ -325,13 +325,13 @@ Auto Patrol[]"}, target = null last_found = world.time frustration = 0 - INVOKE_ASYNC(src, .proc/handle_automated_action) //ensure bot quickly responds + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) //ensure bot quickly responds /mob/living/simple_animal/bot/ed209/proc/back_to_hunt() anchored = FALSE frustration = 0 mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) //ensure bot quickly responds + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) //ensure bot quickly responds // look for a criminal in view of the bot @@ -348,7 +348,7 @@ Auto Patrol[]"}, if((C.name == oldtarget_name) && (world.time < last_found + 100)) continue - threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) if(!threatlevel) continue @@ -546,7 +546,7 @@ Auto Patrol[]"}, if(ishuman(C)) var/mob/living/carbon/human/H = C var/judgement_criteria = judgement_criteria() - threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) log_combat(src,C,"stunned") if(declare_arrests) var/area/location = get_area(src) diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index d0e969dc4e..97e5bd9d44 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -231,7 +231,7 @@ if(target_fire && (get_dist(src, target_fire) > 2)) - path = get_path_to(src, get_turf(target_fire), /turf/proc/Distance_cardinal, 0, 30, 1, id=access_card) + path = get_path_to(src, get_turf(target_fire), TYPE_PROC_REF(/turf, Distance_cardinal), 0, 30, 1, id=access_card) mode = BOT_MOVING if(!path.len) soft_reset() diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index c6ab5d7038..c665d48f7f 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -275,9 +275,9 @@ if(path.len == 0) if(!isturf(target)) var/turf/TL = get_turf(target) - path = get_path_to(src, TL, /turf/proc/Distance_cardinal, 0, 30, id=access_card,simulated_only = 0) + path = get_path_to(src, TL, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 30, id=access_card,simulated_only = 0) else - path = get_path_to(src, target, /turf/proc/Distance_cardinal, 0, 30, id=access_card,simulated_only = 0) + path = get_path_to(src, target, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 30, id=access_card,simulated_only = 0) if(!bot_move(target)) add_to_ignore(target) diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index c4dd0fe4de..dae3f2ef6b 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -514,10 +514,10 @@ return if(patient && path.len == 0 && (get_dist(src,patient) > 1)) - path = get_path_to(src, get_turf(patient), /turf/proc/Distance_cardinal, 0, 30,id=access_card) + path = get_path_to(src, get_turf(patient), TYPE_PROC_REF(/turf, Distance_cardinal), 0, 30,id=access_card) mode = BOT_MOVING if(!path.len) //try to get closer if you can't reach the patient directly - path = get_path_to(src, get_turf(patient), /turf/proc/Distance_cardinal, 0, 30,1,id=access_card) + path = get_path_to(src, get_turf(patient), TYPE_PROC_REF(/turf, Distance_cardinal), 0, 30,1,id=access_card) if(!path.len) //Do not chase a patient we cannot reach. soft_reset() diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index d983348285..6d1038a76c 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -475,8 +475,8 @@ process_bot() num_steps-- if(mode != BOT_IDLE) - var/process_timer = addtimer(CALLBACK(src, .proc/process_bot), 2, TIMER_LOOP|TIMER_STOPPABLE) - addtimer(CALLBACK(GLOBAL_PROC, /proc/deltimer, process_timer), (num_steps*2) + 1) + var/process_timer = addtimer(CALLBACK(src, PROC_REF(process_bot)), 2, TIMER_LOOP|TIMER_STOPPABLE) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(deltimer), process_timer), (num_steps*2) + 1) /mob/living/simple_animal/bot/mulebot/proc/process_bot() if(!on || client) @@ -541,7 +541,7 @@ buzz(SIGH) mode = BOT_WAIT_FOR_NAV blockcount = 0 - addtimer(CALLBACK(src, .proc/process_blocked, next), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(process_blocked), next), 2 SECONDS) return return else @@ -554,7 +554,7 @@ if(BOT_NAV) // calculate new path mode = BOT_WAIT_FOR_NAV - INVOKE_ASYNC(src, .proc/process_nav) + INVOKE_ASYNC(src, PROC_REF(process_nav)) /mob/living/simple_animal/bot/mulebot/proc/process_blocked(turf/next) calc_path(avoid=next) @@ -578,7 +578,7 @@ // calculates a path to the current destination // given an optional turf to avoid /mob/living/simple_animal/bot/mulebot/calc_path(turf/avoid = null) - path = get_path_to(src, target, /turf/proc/Distance_cardinal, 0, 250, id=access_card, exclude=avoid) + path = get_path_to(src, target, TYPE_PROC_REF(/turf, Distance_cardinal), 0, 250, id=access_card, exclude=avoid) // sets the current destination // signals all beacons matching the delivery code @@ -603,7 +603,7 @@ /mob/living/simple_animal/bot/mulebot/proc/start_home() if(!on) return - INVOKE_ASYNC(src, .proc/do_start_home) + INVOKE_ASYNC(src, PROC_REF(do_start_home)) update_icon() /mob/living/simple_animal/bot/mulebot/proc/do_start_home() diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 0d79fee349..9c4979b219 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -263,7 +263,7 @@ Auto Patrol: []"}, /mob/living/simple_animal/bot/secbot/proc/retaliate(mob/living/carbon/human/H) var/judgement_criteria = judgement_criteria() - threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) threatlevel += 6 if(threatlevel >= 4) target = H @@ -403,7 +403,7 @@ Auto Patrol: []"}, /mob/living/simple_animal/bot/secbot/proc/stun_attack(mob/living/carbon/C) var/judgement_criteria = judgement_criteria() icon_state = "secbot-c" - addtimer(CALLBACK(src, /atom/.proc/update_icon), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 2) var/threat = 5 if(ishuman(C)) if(stored_fashion) @@ -415,12 +415,12 @@ Auto Patrol: []"}, C.stuttering = 5 C.DefaultCombatKnockdown(100) var/mob/living/carbon/human/H = C - threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) else playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1) C.DefaultCombatKnockdown(100) C.stuttering = 5 - threat = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threat = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) log_combat(src,C,"stunned") if(declare_arrests) @@ -522,13 +522,13 @@ Auto Patrol: []"}, target = null last_found = world.time frustration = 0 - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) /mob/living/simple_animal/bot/secbot/proc/back_to_hunt() anchored = FALSE frustration = 0 mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) // look for a criminal in view of the bot /mob/living/simple_animal/bot/secbot/proc/look_for_perp() @@ -541,7 +541,7 @@ Auto Patrol: []"}, if((C.name == oldtarget_name) && (world.time < last_found + 100)) continue - threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons)) + threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons))) if(!threatlevel) continue @@ -553,7 +553,7 @@ Auto Patrol: []"}, playsound(loc, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE) visible_message(process_emote("TAUNT", target, threatlevel)) mode = BOT_HUNT - INVOKE_ASYNC(src, .proc/handle_automated_action) + INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break else continue diff --git a/code/modules/mob/living/simple_animal/eldritch_demons.dm b/code/modules/mob/living/simple_animal/eldritch_demons.dm index e5e717773c..12f114915b 100644 --- a/code/modules/mob/living/simple_animal/eldritch_demons.dm +++ b/code/modules/mob/living/simple_animal/eldritch_demons.dm @@ -85,7 +85,7 @@ var/datum/action/innate/mansus_speech/action = new(src) linked_mobs[mob_linked] = action action.Grant(mob_linked) - RegisterSignal(mob_linked, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING) , .proc/unlink_mob) + RegisterSignal(mob_linked, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING) , PROC_REF(unlink_mob)) return TRUE /mob/living/simple_animal/hostile/eldritch/raw_prophet/proc/unlink_mob(mob/living/mob_linked) @@ -143,7 +143,7 @@ stack_trace("Eldritch Armsy created with invalid len ([len]). Reverting to 3.") len = 3 //code breaks below 3, let's just not allow it. oldloc = loc - RegisterSignal(src,COMSIG_MOVABLE_MOVED,.proc/update_chain_links) + RegisterSignal(src,COMSIG_MOVABLE_MOVED,PROC_REF(update_chain_links)) if(!spawn_more) return allow_pulling = TRUE diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 6b3a4410b1..b7dfaeefe5 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -467,7 +467,7 @@ if(prob(1)) emote("me", EMOTE_VISIBLE, pick("dances around.","chases its tail!")) - INVOKE_ASYNC(GLOBAL_PROC, .proc/dance_rotate, src, null, TRUE) + INVOKE_ASYNC(GLOBAL_PROC,GLOBAL_PROC_REF(dance_rotate), src, null, TRUE) /mob/living/simple_animal/pet/dog/corgi/Ian/narsie_act() playsound(src, 'sound/magic/demon_dies.ogg', 75, TRUE) diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm index 0b4952aa9e..b98e776df3 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm @@ -31,7 +31,7 @@ /mob/living/simple_animal/hostile/guardian/charger/Shoot(atom/targeted_atom) charging = 1 - throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/charging_end)) + throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(charging_end))) /mob/living/simple_animal/hostile/guardian/charger/proc/charging_end() charging = 0 diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm index b9037ff4a4..fb6c1be6b9 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm @@ -35,7 +35,7 @@ return if(isobj(A) && Adjacent(A)) if(bomb_cooldown <= world.time && !stat) - var/datum/component/killerqueen/K = A.AddComponent(/datum/component/killerqueen, EXPLODE_HEAVY, CALLBACK(src, .proc/on_explode), CALLBACK(src, .proc/on_failure), \ + var/datum/component/killerqueen/K = A.AddComponent(/datum/component/killerqueen, EXPLODE_HEAVY, CALLBACK(src, PROC_REF(on_explode)), CALLBACK(src, PROC_REF(on_failure)), \ examine_message = "It glows with a strange light!") QDEL_IN(K, 1 MINUTES) to_chat(src, "Success! Bomb armed!") diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 0a32572a2a..edd6e924e2 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -313,4 +313,4 @@ /mob/living/simple_animal/hostile/poison/bees/short/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/death), 50 SECONDS) + addtimer(CALLBACK(src, PROC_REF(death)), 50 SECONDS) diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm index fe00af9384..3ca1fe8e88 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm @@ -69,7 +69,7 @@ var/minions_chosen = pick(minions) var/mob/living/simple_animal/hostile/stickman/S = new minions_chosen (get_step(boss,pick_n_take(directions)), 1) S.faction = boss.faction - RegisterSignal(S, COMSIG_PARENT_QDELETING, .proc/remove_from_list) + RegisterSignal(S, COMSIG_PARENT_QDELETING, PROC_REF(remove_from_list)) summoned_minions += S /datum/action/boss/wizard_summon_minions/proc/remove_from_list(datum/source, forced) diff --git a/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm b/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm index dd2e311b1e..91e43deffe 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm @@ -81,8 +81,8 @@ /mob/living/simple_animal/hostile/securitron/death() do_sparks(3, TRUE, src) for(var/i in 1 to 3) - addtimer(CALLBACK(src, .proc/do_death_beep), i * 1 SECONDS) - addtimer(CALLBACK(src, .proc/self_destruct), 4 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_death_beep)), i * 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(self_destruct)), 4 SECONDS) return ..() /mob/living/simple_animal/hostile/securitron/Aggro() @@ -225,5 +225,5 @@ /mob/living/simple_animal/hostile/securitron/sentrybot/suicide/AttackingTarget() if(ishuman(target)) - addtimer(CALLBACK(src, .proc/do_death_beep), 1 SECONDS) - addtimer(CALLBACK(src, .proc/self_destruct), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_death_beep)), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(self_destruct)), 2 SECONDS) diff --git a/code/modules/mob/living/simple_animal/hostile/f13/captainarlem.dm b/code/modules/mob/living/simple_animal/hostile/f13/captainarlem.dm index a17761ce48..bf4020e107 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/captainarlem.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/captainarlem.dm @@ -55,10 +55,10 @@ blast() else if(health > maxHealth/2 && !client) - INVOKE_ASYNC(src, .proc/charge) + INVOKE_ASYNC(src, PROC_REF(charge)) visible_message("\" FOR THE ENCLAVE!\"") else - INVOKE_ASYNC(src, .proc/triple_charge) + INVOKE_ASYNC(src, PROC_REF(triple_charge)) visible_message("\"YOUR RIDE IS OVER MUTIE, TIME TO DIE!\"") /mob/living/simple_animal/hostile/enclave/captainarlem/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) @@ -167,7 +167,7 @@ /mob/living/simple_animal/hostile/enclave/captainarlem/death() do_sparks(3, TRUE, src) - addtimer(CALLBACK(src, .proc/self_destruct), 4 SECONDS) + addtimer(CALLBACK(src, PROC_REF(self_destruct)), 4 SECONDS) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm b/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm index 9fe2132e1f..d76ffc932c 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm @@ -115,7 +115,7 @@ if(prob(10)) visible_message(span_danger("\The [src] growls, enraged!")) - addtimer(CALLBACK(src, .proc/Charge), 3) + addtimer(CALLBACK(src, PROC_REF(Charge)), 3) if(prob(85) || Proj.damage > 30) //prob(x) = chance for proj to actually do something, adjust depending on how OP you want deathclaws to be return ..() else @@ -153,7 +153,7 @@ setDir(get_dir(src, T)) var/obj/effect/temp_visual/decoy/D = new /obj/effect/temp_visual/decoy(loc,src) animate(D, alpha = 0, color = "#FF0000", transform = matrix()*2, time = 1) - throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, .proc/charge_end)) + throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, PROC_REF(charge_end))) /mob/living/simple_animal/hostile/deathclaw/proc/charge_end(list/effects_to_destroy) charging = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm b/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm index 9b16caaf9b..f21f8a1ccd 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm @@ -269,8 +269,8 @@ visible_message("With anger stares at it's target, pressing down on their nuke as it starts violently beeping.") do_sparks(6, TRUE, src) for(var/i in 1 to 3) - addtimer(CALLBACK(src, .proc/do_death_beep), i * 1 SECONDS) - addtimer(CALLBACK(src, .proc/self_destruct), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_death_beep)), i * 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(self_destruct)), 6 SECONDS) return ..() /mob/living/simple_animal/hostile/supermutant/suicider/proc/do_death_beep() @@ -364,7 +364,7 @@ var/obj/effect/temp_visual/decoy/D = new /obj/effect/temp_visual/decoy(loc,src) animate(D, alpha = 0, color = "#FF0000", transform = matrix()*2, time = 1) addtimer(3) - throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, .proc/charge_end)) + throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, PROC_REF(charge_end))) /mob/living/simple_animal/hostile/supermutant/nightkin/rain/proc/charge_end(list/effects_to_destroy) charging = FALSE @@ -432,7 +432,7 @@ playsound(get_turf(src),'sound/magic/fireball.ogg', 200, 1) for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/fire_release_wall, d) + INVOKE_ASYNC(src, PROC_REF(fire_release_wall), d) /mob/living/simple_animal/hostile/supermutant/nightkin/rangedmutant/rain/proc/fire_release_wall(dir) var/list/hit_things = list(src) diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index ec6fcff91f..b4e53b4eaa 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -429,7 +429,7 @@ if(target_atom.anchored) return user.cocoon_target = target_atom - INVOKE_ASYNC(user, /mob/living/simple_animal/hostile/poison/giant_spider/nurse/.proc/cocoon) + INVOKE_ASYNC(user, TYPE_PROC_REF(/mob/living/simple_animal/hostile/poison/giant_spider/nurse, cocoon)) remove_ranged_ability() return TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 850beeb099..954fd70eac 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -49,7 +49,7 @@ return Infect(target) to_chat(src, "With our egg laid, our death approaches rapidly...") - addtimer(CALLBACK(src, .proc/death), 100) + addtimer(CALLBACK(src, PROC_REF(death)), 100) /obj/item/organ/body_egg/changeling_egg name = "changeling egg" diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 1b6c35322b..02e9e5d315 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -108,7 +108,7 @@ /mob/living/simple_animal/hostile/handle_automated_movement() . = ..() if(dodging && target && in_melee && isturf(loc) && isturf(target.loc)) - var/datum/cb = CALLBACK(src,.proc/sidestep) + var/datum/cb = CALLBACK(src,PROC_REF(sidestep)) if(sidestep_per_cycle > 1) //For more than one just spread them equally - this could changed to some sensible distribution later var/sidestep_delay = SSnpcpool.wait / sidestep_per_cycle for(var/i in 1 to sidestep_per_cycle) @@ -302,7 +302,7 @@ //What we do after closing in /mob/living/simple_animal/hostile/proc/MeleeAction(patience = TRUE) if(rapid_melee > 1) - var/datum/callback/cb = CALLBACK(src, .proc/CheckAndAttack) + var/datum/callback/cb = CALLBACK(src, PROC_REF(CheckAndAttack)) var/delay = SSnpcpool.wait / rapid_melee for(var/i in 1 to rapid_melee) addtimer(cb, (i - 1)*delay) @@ -444,13 +444,13 @@ if(rapid > 1) - var/datum/callback/cb = CALLBACK(src, .proc/Shoot, A) + var/datum/callback/cb = CALLBACK(src, PROC_REF(Shoot), A) for(var/i in 1 to rapid) addtimer(cb, (i - 1)*rapid_fire_delay) else Shoot(A) for(var/i in 1 to extra_projectiles) - addtimer(CALLBACK(src, .proc/Shoot, A), i * 2) + addtimer(CALLBACK(src, PROC_REF(Shoot), A), i * 2) ranged_cooldown = world.time + ranged_cooldown_time @@ -576,7 +576,7 @@ /mob/living/simple_animal/hostile/proc/GainPatience() if(lose_patience_timeout) LosePatience() - lose_patience_timer_id = addtimer(CALLBACK(src, .proc/LoseTarget), lose_patience_timeout, TIMER_STOPPABLE) + lose_patience_timer_id = addtimer(CALLBACK(src, PROC_REF(LoseTarget)), lose_patience_timeout, TIMER_STOPPABLE) /mob/living/simple_animal/hostile/proc/LosePatience() @@ -587,7 +587,7 @@ /mob/living/simple_animal/hostile/proc/LoseSearchObjects() search_objects = 0 deltimer(search_objects_timer_id) - search_objects_timer_id = addtimer(CALLBACK(src, .proc/RegainSearchObjects), search_objects_regain_time, TIMER_STOPPABLE) + search_objects_timer_id = addtimer(CALLBACK(src, PROC_REF(RegainSearchObjects)), search_objects_regain_time, TIMER_STOPPABLE) /mob/living/simple_animal/hostile/proc/RegainSearchObjects(value) diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm index 88388a1070..42616893cb 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -206,7 +206,7 @@ if(AIStatus == AI_ON && ranged_cooldown <= world.time) projectile_ready = TRUE update_icons() - throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, .proc/FinishHop)) + throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, PROC_REF(FinishHop))) /mob/living/simple_animal/hostile/jungle/leaper/proc/FinishHop() density = TRUE @@ -216,18 +216,18 @@ playsound(src.loc, 'sound/effects/meteorimpact.ogg', 100, 1) if(target && AIStatus == AI_ON && projectile_ready && !ckey) face_atom(target) - addtimer(CALLBACK(src, .proc/OpenFire, target), 5) + addtimer(CALLBACK(src, PROC_REF(OpenFire), target), 5) /mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlop() var/turf/new_turf = get_turf(target) hopping = TRUE mob_transforming = TRUE new /obj/effect/temp_visual/leaper_crush(new_turf) - addtimer(CALLBACK(src, .proc/BellyFlopHop, new_turf), 30) + addtimer(CALLBACK(src, PROC_REF(BellyFlopHop), new_turf), 30) /mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlopHop(turf/T) density = FALSE - throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, .proc/Crush)) + throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, PROC_REF(Crush))) /mob/living/simple_animal/hostile/jungle/leaper/proc/Crush() hopping = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm index 2d964f5721..45e847d042 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm @@ -71,9 +71,9 @@ walk(src,0) update_icons() if(prob(50) && get_dist(src,target) <= 3 || forced_slash_combo) - addtimer(CALLBACK(src, .proc/SlashCombo), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(SlashCombo)), ATTACK_INTERMISSION_TIME) return - addtimer(CALLBACK(src, .proc/LeapAttack), ATTACK_INTERMISSION_TIME + rand(0,3)) + addtimer(CALLBACK(src, PROC_REF(LeapAttack)), ATTACK_INTERMISSION_TIME + rand(0,3)) return attack_state = MOOK_ATTACK_RECOVERY ResetNeutral() @@ -83,9 +83,9 @@ attack_state = MOOK_ATTACK_ACTIVE update_icons() SlashAttack() - addtimer(CALLBACK(src, .proc/SlashAttack), 3) - addtimer(CALLBACK(src, .proc/SlashAttack), 6) - addtimer(CALLBACK(src, .proc/AttackRecovery), 9) + addtimer(CALLBACK(src, PROC_REF(SlashAttack)), 3) + addtimer(CALLBACK(src, PROC_REF(SlashAttack)), 6) + addtimer(CALLBACK(src, PROC_REF(AttackRecovery)), 9) /mob/living/simple_animal/hostile/jungle/mook/proc/SlashAttack() if(target && !stat && attack_state == MOOK_ATTACK_ACTIVE) @@ -113,7 +113,7 @@ playsound(src, 'sound/weapons/thudswoosh.ogg', 25, 1) playsound(src, 'sound/voice/mook_leap_yell.ogg', 100, 1) var/target_turf = get_turf(target) - throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, .proc/AttackRecovery)) + throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, PROC_REF(AttackRecovery))) return attack_state = MOOK_ATTACK_RECOVERY ResetNeutral() @@ -132,11 +132,11 @@ if(isliving(target)) var/mob/living/L = target if(L.incapacitated() && L.stat != DEAD) - addtimer(CALLBACK(src, .proc/WarmupAttack, TRUE), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(WarmupAttack), TRUE), ATTACK_INTERMISSION_TIME) return - addtimer(CALLBACK(src, .proc/WarmupAttack), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(WarmupAttack)), ATTACK_INTERMISSION_TIME) return - addtimer(CALLBACK(src, .proc/ResetNeutral), ATTACK_INTERMISSION_TIME) + addtimer(CALLBACK(src, PROC_REF(ResetNeutral)), ATTACK_INTERMISSION_TIME) /mob/living/simple_animal/hostile/jungle/mook/proc/ResetNeutral() if(attack_state == MOOK_ATTACK_RECOVERY) diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm index 3a4f85f653..6fbcdad503 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm @@ -131,7 +131,7 @@ if(get_dist(src,target) >= 4 && prob(40)) SolarBeamStartup(target) return - addtimer(CALLBACK(src, .proc/Volley), 5) + addtimer(CALLBACK(src, PROC_REF(Volley)), 5) /mob/living/simple_animal/hostile/jungle/seedling/proc/SolarBeamStartup(mob/living/living_target)//It's more like requiem than final spark if(combatant_state == SEEDLING_STATE_WARMUP && target) @@ -142,7 +142,7 @@ if(get_dist(src,living_target) > 7) playsound(living_target,'sound/effects/seedling_chargeup.ogg', 100, 0) solar_beam_identifier = world.time - addtimer(CALLBACK(src, .proc/Beamu, living_target, solar_beam_identifier), 35) + addtimer(CALLBACK(src, PROC_REF(Beamu), living_target, solar_beam_identifier), 35) /mob/living/simple_animal/hostile/jungle/seedling/proc/Beamu(mob/living/living_target, beam_id = 0) if(combatant_state == SEEDLING_STATE_ACTIVE && living_target && beam_id == solar_beam_identifier) @@ -162,7 +162,7 @@ living_target.adjust_fire_stacks(0.2)//Just here for the showmanship living_target.IgniteMob() playsound(living_target,'sound/weapons/sear.ogg', 50, 1) - addtimer(CALLBACK(src, .proc/AttackRecovery), 5) + addtimer(CALLBACK(src, PROC_REF(AttackRecovery)), 5) return AttackRecovery() @@ -170,10 +170,10 @@ if(combatant_state == SEEDLING_STATE_WARMUP && target) combatant_state = SEEDLING_STATE_ACTIVE update_icons() - var/datum/callback/cb = CALLBACK(src, .proc/InaccurateShot) + var/datum/callback/cb = CALLBACK(src, PROC_REF(InaccurateShot)) for(var/i in 1 to 13) addtimer(cb, i) - addtimer(CALLBACK(src, .proc/AttackRecovery), 14) + addtimer(CALLBACK(src, PROC_REF(AttackRecovery)), 14) /mob/living/simple_animal/hostile/jungle/seedling/proc/InaccurateShot() if(!QDELETED(target) && combatant_state == SEEDLING_STATE_ACTIVE && !stat) @@ -193,7 +193,7 @@ ranged_cooldown = world.time + ranged_cooldown_time if(target) face_atom(target) - addtimer(CALLBACK(src, .proc/ResetNeutral), 10) + addtimer(CALLBACK(src, PROC_REF(ResetNeutral)), 10) /mob/living/simple_animal/hostile/jungle/seedling/proc/ResetNeutral() combatant_state = SEEDLING_STATE_NEUTRAL diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/behemoth.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/behemoth.dm index fef021c1e3..9bcf06fccd 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/behemoth.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/behemoth.dm @@ -95,7 +95,7 @@ . = ..() stored_move_dirs &= ~direct if(!stored_move_dirs) - INVOKE_ASYNC(src, .proc/ground_slam, stomp_range, 1) + INVOKE_ASYNC(src, PROC_REF(ground_slam), stomp_range, 1) /// Slams the ground around the behemoth throwing back enemies caught nearby /mob/living/simple_animal/hostile/megafauna/behemoth/proc/ground_slam(range, delay) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 2a5f279386..ddc9f2e9f9 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -61,7 +61,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter/AttackingTarget() . = ..() if(. && prob(12)) - INVOKE_ASYNC(src, .proc/dash) + INVOKE_ASYNC(src, PROC_REF(dash)) /obj/item/melee/transforming/cleaving_saw/miner //nerfed saw because it is very murdery force = 6 @@ -109,7 +109,7 @@ Difficulty: Medium if(QDELETED(target)) return if(!CheckActionCooldown() || !Adjacent(target)) //some cheating - INVOKE_ASYNC(src, .proc/quick_attack_loop) + INVOKE_ASYNC(src, PROC_REF(quick_attack_loop)) return face_atom(target) if(isliving(target)) @@ -129,7 +129,7 @@ Difficulty: Medium if(guidance) adjustHealth(-2) transform_weapon() - INVOKE_ASYNC(src, .proc/quick_attack_loop) + INVOKE_ASYNC(src, PROC_REF(quick_attack_loop)) return TRUE /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) @@ -143,12 +143,12 @@ Difficulty: Medium if(. && target && !targets_the_same) wander = TRUE transform_weapon() - INVOKE_ASYNC(src, .proc/quick_attack_loop) + INVOKE_ASYNC(src, PROC_REF(quick_attack_loop)) /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/OpenFire() Goto(target, move_to_delay, minimum_distance) if(get_dist(src, target) > MINER_DASH_RANGE && dash_cooldown <= world.time) - INVOKE_ASYNC(src, .proc/dash, target) + INVOKE_ASYNC(src, PROC_REF(dash), target) else shoot_ka() transform_weapon() @@ -173,7 +173,7 @@ Difficulty: Medium if(dashing || !CheckActionCooldown() || !Adjacent(target)) if(dashing && next_action <= world.time) SetNextAction(1, considered_action = FALSE, immediate = FALSE, flush = TRUE) - INVOKE_ASYNC(src, .proc/quick_attack_loop) //lets try that again. + INVOKE_ASYNC(src, PROC_REF(quick_attack_loop)) //lets try that again. return AttackingTarget() @@ -243,7 +243,7 @@ Difficulty: Medium /obj/effect/temp_visual/dir_setting/miner_death/Initialize(mapload, set_dir) . = ..() - INVOKE_ASYNC(src, .proc/fade_out) + INVOKE_ASYNC(src, PROC_REF(fade_out)) /obj/effect/temp_visual/dir_setting/miner_death/proc/fade_out() var/matrix/M = new diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index e28262aff7..3329213fe8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -78,15 +78,15 @@ Difficulty: Hard blood_warp() if(prob(25)) - INVOKE_ASYNC(src, .proc/blood_spray) + INVOKE_ASYNC(src, PROC_REF(blood_spray)) else if(prob(5+anger_modifier/2)) slaughterlings() else if(health > maxHealth/2 && !client) - INVOKE_ASYNC(src, .proc/charge) + INVOKE_ASYNC(src, PROC_REF(charge)) else - INVOKE_ASYNC(src, .proc/triple_charge) + INVOKE_ASYNC(src, PROC_REF(triple_charge)) /mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index bb79aca131..cfe9363c07 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -78,7 +78,7 @@ Difficulty: Very Hard double_spiral() else visible_message("\"Judgement.\"") - INVOKE_ASYNC(src, .proc/spiral_shoot, pick(TRUE, FALSE)) + INVOKE_ASYNC(src, PROC_REF(spiral_shoot), pick(TRUE, FALSE)) else if(prob(20)) ranged_cooldown = world.time + 2 @@ -89,7 +89,7 @@ Difficulty: Very Hard blast() else ranged_cooldown = world.time + 20 - INVOKE_ASYNC(src, .proc/alternating_dir_shots) + INVOKE_ASYNC(src, PROC_REF(alternating_dir_shots)) /mob/living/simple_animal/hostile/megafauna/colossus/Initialize() @@ -109,7 +109,7 @@ Difficulty: Very Hard /obj/effect/temp_visual/at_shield/Initialize(mapload, new_target) . = ..() target = new_target - INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, orbit), target, 0, FALSE, 0, 0, FALSE, TRUE) /mob/living/simple_animal/hostile/megafauna/colossus/bullet_act(obj/item/projectile/P) if(!stat) @@ -141,8 +141,8 @@ Difficulty: Very Hard visible_message("\"Die.\"") sleep(10) - INVOKE_ASYNC(src, .proc/spiral_shoot) - INVOKE_ASYNC(src, .proc/spiral_shoot, TRUE) + INVOKE_ASYNC(src, PROC_REF(spiral_shoot)) + INVOKE_ASYNC(src, PROC_REF(spiral_shoot), TRUE) /mob/living/simple_animal/hostile/megafauna/colossus/proc/spiral_shoot(negative = FALSE, counter_start = 8) var/turf/start_turf = get_step(src, pick(GLOB.alldirs)) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index 4d5ed5ae92..9630a1d676 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -99,7 +99,7 @@ Difficulty: Extremely Hard if(easy_attack) snowball_machine_gun() else - INVOKE_ASYNC(src, .proc/ice_shotgun, 5, list(list(-180, -140, -100, -60, -20, 20, 60, 100, 140), list(-160, -120, -80, -40, 0, 40, 80, 120, 160))) + INVOKE_ASYNC(src, PROC_REF(ice_shotgun), 5, list(list(-180, -140, -100, -60, -20, 20, 60, 100, 140), list(-160, -120, -80, -40, 0, 40, 80, 120, 160))) snowball_machine_gun(5 * 8, 5) if(3) if(easy_attack) @@ -175,7 +175,7 @@ Difficulty: Extremely Hard P.original = target P.set_homing_target(target) P.fire(rand(0, 360)) - addtimer(CALLBACK(P, /obj/item/projectile/frost_orb/proc/orb_explosion, projectile_speed_multiplier), 20) // make the orbs home in after a second + addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/projectile/frost_orb, orb_explosion), projectile_speed_multiplier), 20) // make the orbs home in after a second SLEEP_CHECK_DEATH(added_delay) SetRecoveryTime(40, 60) @@ -283,7 +283,7 @@ Difficulty: Extremely Hard return forceMove(user) to_chat(user, "You feel a bit safer... but a demonic presence lurks in the back of your head...") - RegisterSignal(user, COMSIG_MOB_DEATH, .proc/resurrect) + RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(resurrect)) /// Resurrects the target when they die by cloning them into a new duplicate body and transferring their mind to the clone on a safe station turf /obj/item/resurrection_crystal/proc/resurrect(mob/living/carbon/user, gibbed) @@ -344,7 +344,7 @@ Difficulty: Extremely Hard icon_state = "frozen" /datum/status_effect/ice_block_talisman/on_apply() - RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/owner_moved) + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(owner_moved)) if(!owner.stat) to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index cdb7784fcc..da2531b289 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -116,15 +116,15 @@ Difficulty: Medium if(prob(15 + anger_modifier) && !client) if(health < maxHealth/2) - INVOKE_ASYNC(src, .proc/swoop_attack, TRUE, null, 50) + INVOKE_ASYNC(src, PROC_REF(swoop_attack), TRUE, null, 50) else fire_rain() else if(prob(10+anger_modifier) && !client) if(health > maxHealth/2) - INVOKE_ASYNC(src, .proc/swoop_attack) + INVOKE_ASYNC(src, PROC_REF(swoop_attack)) else - INVOKE_ASYNC(src, .proc/triple_swoop) + INVOKE_ASYNC(src, PROC_REF(triple_swoop)) else fire_walls() @@ -140,7 +140,7 @@ Difficulty: Medium playsound(get_turf(src),'sound/magic/fireball.ogg', 200, 1) for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/fire_wall, d) + INVOKE_ASYNC(src, PROC_REF(fire_wall), d) /mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_wall(dir) var/list/hit_things = list(src) @@ -314,7 +314,7 @@ Difficulty: Medium /obj/effect/temp_visual/target/Initialize(mapload, list/flame_hit) . = ..() - INVOKE_ASYNC(src, .proc/fall, flame_hit) + INVOKE_ASYNC(src, PROC_REF(fall), flame_hit) /obj/effect/temp_visual/target/proc/fall(list/flame_hit) var/turf/T = get_turf(src) @@ -358,7 +358,7 @@ Difficulty: Medium /obj/effect/temp_visual/dragon_flight/Initialize(mapload, negative) . = ..() - INVOKE_ASYNC(src, .proc/flight, negative) + INVOKE_ASYNC(src, PROC_REF(flight), negative) /obj/effect/temp_visual/dragon_flight/proc/flight(negative) if(negative) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 7aa7db8648..dd4c25006e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -158,10 +158,10 @@ Difficulty: Normal if(ranged_cooldown <= world.time) calculate_rage() ranged_cooldown = world.time + max(5, ranged_cooldown_time - anger_modifier * 0.75) - INVOKE_ASYNC(src, .proc/burst, get_turf(src)) + INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src)) else burst_range = 3 - INVOKE_ASYNC(src, .proc/burst, get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown + INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown if(L.stat == CONSCIOUS && L.health >= 30) OpenFire() else @@ -246,7 +246,7 @@ Difficulty: Normal blinking = TRUE sleep(4 + target_slowness) animate(src, color = oldcolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) sleep(8) blinking = FALSE else @@ -260,12 +260,12 @@ Difficulty: Normal while(health && !QDELETED(target) && cross_counter) cross_counter-- if(prob(60)) - INVOKE_ASYNC(src, .proc/cardinal_blasts, target) + INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), target) else - INVOKE_ASYNC(src, .proc/diagonal_blasts, target) + INVOKE_ASYNC(src, PROC_REF(diagonal_blasts), target) sleep(6 + target_slowness) animate(src, color = oldcolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) sleep(8) blinking = FALSE if("chaser_swarm") //fire four fucking chasers at a target and their friends. @@ -290,7 +290,7 @@ Difficulty: Normal sleep(8 + target_slowness) chaser_cooldown = world.time + initial(chaser_cooldown) animate(src, color = oldcolor, time = 8) - addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8) sleep(8) blinking = FALSE return @@ -308,13 +308,13 @@ Difficulty: Normal else if(prob(70 - anger_modifier)) //a cross blast of some type if(prob(anger_modifier * (2 / target_slowness)) && health < maxHealth * 0.5) //we're super angry do it at all dirs - INVOKE_ASYNC(src, .proc/alldir_blasts, target) + INVOKE_ASYNC(src, PROC_REF(alldir_blasts), target) else if(prob(60)) - INVOKE_ASYNC(src, .proc/cardinal_blasts, target) + INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), target) else - INVOKE_ASYNC(src, .proc/diagonal_blasts, target) + INVOKE_ASYNC(src, PROC_REF(diagonal_blasts), target) else //just release a burst of power - INVOKE_ASYNC(src, .proc/burst, get_turf(src)) + INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src)) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/diagonal_blasts(mob/victim) //fire diagonal cross blasts with a delay var/turf/T = get_turf(victim) @@ -325,7 +325,7 @@ Difficulty: Normal sleep(2) new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in GLOB.diagonals) - INVOKE_ASYNC(src, .proc/blast_wall, T, d) + INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/cardinal_blasts(mob/victim) //fire cardinal cross blasts with a delay var/turf/T = get_turf(victim) @@ -336,7 +336,7 @@ Difficulty: Normal sleep(2) new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/blast_wall, T, d) + INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/alldir_blasts(mob/victim) //fire alldir cross blasts with a delay var/turf/T = get_turf(victim) @@ -347,7 +347,7 @@ Difficulty: Normal sleep(2) new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in GLOB.alldirs) - INVOKE_ASYNC(src, .proc/blast_wall, T, d) + INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/blast_wall(turf/T, set_dir) //make a wall of blasts beam_range tiles long var/range = beam_range @@ -366,13 +366,13 @@ Difficulty: Normal return arena_cooldown = world.time + initial(arena_cooldown) for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/arena_squares, T, d) + INVOKE_ASYNC(src, PROC_REF(arena_squares), T, d) for(var/t in RANGE_TURFS(11, T)) if(t && get_dist(t, T) == 11) new /obj/effect/temp_visual/hierophant/wall(t, src) new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE) if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you! - INVOKE_ASYNC(src, .proc/blink, T) + INVOKE_ASYNC(src, PROC_REF(blink), T) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/arena_squares(turf/T, set_dir) //make a fancy effect extending from the arena target var/turf/previousturf = T @@ -523,7 +523,7 @@ Difficulty: Normal friendly_fire_check = is_friendly_fire if(new_speed) speed = new_speed - addtimer(CALLBACK(src, .proc/seek_target), 1) + addtimer(CALLBACK(src, PROC_REF(seek_target)), 1) /obj/effect/temp_visual/hierophant/chaser/proc/get_target_dir() . = get_cardinal_dir(src, targetturf) @@ -611,7 +611,7 @@ Difficulty: Normal if(ismineralturf(loc)) //drill mineral turfs var/turf/closed/mineral/M = loc M.gets_drilled(caster) - INVOKE_ASYNC(src, .proc/blast) + INVOKE_ASYNC(src, PROC_REF(blast)) /obj/effect/temp_visual/hierophant/blast/proc/blast() var/turf/T = get_turf(src) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 10b598d839..3c0c0ef596 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -93,7 +93,7 @@ Difficulty: Medium speed = 0 move_to_delay = 1 charging = 1 - addtimer(CALLBACK(src, .proc/reset_charge), 50) + addtimer(CALLBACK(src, PROC_REF(reset_charge)), 50) /mob/living/simple_animal/hostile/megafauna/legion/proc/reset_charge() ranged = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm index db6468d1b5..5d2837ed8f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm @@ -151,7 +151,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa /mob/living/simple_animal/hostile/swarmer/ai/proc/StartAction(deci = 0) stop_automated_movement = TRUE AIStatus = AI_OFF - addtimer(CALLBACK(src, .proc/EndAction), deci) + addtimer(CALLBACK(src, PROC_REF(EndAction)), deci) /mob/living/simple_animal/hostile/swarmer/ai/proc/EndAction() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 61c65c4093..b03b2dc19f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -111,7 +111,7 @@ Difficulty: Hard . = ..() stored_move_dirs &= ~direct if(!stored_move_dirs) - INVOKE_ASYNC(src, .proc/ground_slam, stomp_range, 1) + INVOKE_ASYNC(src, PROC_REF(ground_slam), stomp_range, 1) /// Slams the ground around the wendigo throwing back enemies caught nearby /mob/living/simple_animal/hostile/megafauna/wendigo/proc/ground_slam(range, delay) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index b9d4565296..78ea5ff498 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -162,15 +162,15 @@ While using this makes the system rely on OnFire, it still gives options for tim if(boosted) mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0) to_chat(mychild, "Someone has activated your tumor. You will be returned to fight shortly, get ready!") - addtimer(CALLBACK(src, .proc/return_elite), 30) - INVOKE_ASYNC(src, .proc/arena_checks) + addtimer(CALLBACK(src, PROC_REF(return_elite)), 30) + INVOKE_ASYNC(src, PROC_REF(arena_checks)) if(TUMOR_INACTIVE) activity = TUMOR_ACTIVE var/mob/elitemind = null visible_message("[src] begins to convulse. Your instincts tell you to step back.") activator = user if(!boosted) - addtimer(CALLBACK(src, .proc/spawn_elite), 30) + addtimer(CALLBACK(src, PROC_REF(spawn_elite)), 30) return visible_message("Something within [src] stirs...") var/list/candidates = pollCandidatesForMob("Do you want to play as a lavaland elite?", ROLE_SENTIENCE, null, ROLE_SENTIENCE, 50, src, POLL_IGNORE_SENTIENCE_POTION) @@ -179,7 +179,7 @@ While using this makes the system rely on OnFire, it still gives options for tim elitemind = pick(candidates) elitemind.playsound_local(get_turf(elitemind), 'sound/effects/magic.ogg', 40, 0) to_chat(elitemind, "You have been chosen to play as a Lavaland Elite.\nIn a few seconds, you will be summoned on Lavaland as a monster to fight your activator, in a fight to the death.\nYour attacks can be switched using the buttons on the top left of the HUD, and used by clicking on targets or tiles similar to a gun.\nWhile the opponent might have an upper hand with powerful mining equipment and tools, you have great power normally limited by AI mobs.\nIf you want to win, you'll have to use your powers in creative ways to ensure the kill. It's suggested you try using them all as soon as possible.\nShould you win, you'll receive extra information regarding what to do after. Good luck!") - addtimer(CALLBACK(src, .proc/spawn_elite, elitemind), 100) + addtimer(CALLBACK(src, PROC_REF(spawn_elite), elitemind), 100) else visible_message("The stirring stops, and nothing emerges. Perhaps try again later.") activity = TUMOR_INACTIVE @@ -195,7 +195,7 @@ While using this makes the system rely on OnFire, it still gives options for tim mychild.key = elitemind.key mychild.sentience_act() icon_state = "tumor_popped" - INVOKE_ASYNC(src, .proc/arena_checks) + INVOKE_ASYNC(src, PROC_REF(arena_checks)) /obj/structure/elite_tumor/proc/return_elite() mychild.forceMove(loc) @@ -243,11 +243,11 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/proc/arena_checks() if(activity != TUMOR_ACTIVE || QDELETED(src)) return - INVOKE_ASYNC(src, .proc/fighters_check) //Checks to see if our fighters died. - INVOKE_ASYNC(src, .proc/arena_trap) //Gets another arena trap queued up for when this one runs out. - INVOKE_ASYNC(src, .proc/border_check) //Checks to see if our fighters got out of the arena somehow. + INVOKE_ASYNC(src, PROC_REF(fighters_check)) //Checks to see if our fighters died. + INVOKE_ASYNC(src, PROC_REF(arena_trap)) //Gets another arena trap queued up for when this one runs out. + INVOKE_ASYNC(src, PROC_REF(border_check)) //Checks to see if our fighters got out of the arena somehow. if(!QDELETED(src)) - addtimer(CALLBACK(src, .proc/arena_checks), 50) + addtimer(CALLBACK(src, PROC_REF(arena_checks)), 50) /obj/structure/elite_tumor/proc/fighters_check() if(activator != null && activator.stat == DEAD || activity == TUMOR_ACTIVE && QDELETED(activator)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index a2b00a0c65..861ae2986e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -138,7 +138,7 @@ color = "#FF0000" set_varspeed(0) move_to_delay = 3 - addtimer(CALLBACK(src, .proc/reset_rage), 65) + addtimer(CALLBACK(src, PROC_REF(reset_rage)), 65) /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/reset_rage() color = "#FFFFFF" @@ -215,11 +215,11 @@ retract() else deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/retract), 10, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 10, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/broodmother/patch/Initialize(mapload, new_spawner) . = ..() - INVOKE_ASYNC(src, .proc/do_spiral) // shitty hack because we don't do sleeps in init + INVOKE_ASYNC(src, PROC_REF(do_spiral)) // shitty hack because we don't do sleeps in init /obj/effect/temp_visual/goliath_tentacle/broodmother/patch/proc/do_spiral() var/tentacle_locs = spiral_range_turfs(1, get_turf(src)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index f3331a67e5..b3a63f0c70 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -52,7 +52,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/herald/death() . = ..() if(!is_mirror) - addtimer(CALLBACK(src, .proc/become_ghost), 8) + addtimer(CALLBACK(src, PROC_REF(become_ghost)), 8) if(my_mirror != null) qdel(my_mirror) @@ -142,13 +142,13 @@ var/target_turf = get_turf(target) var/angle_to_target = Get_Angle(src, target_turf) shoot_projectile(target_turf, angle_to_target, FALSE) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 2) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 4) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 2) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 4) if(health < maxHealth * 0.5) playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 10) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 12) - addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE), 14) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 10) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 12) + addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE), 14) /mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_circleshot() var/static/list/directional_shot_angles = list(0, 45, 90, 135, 180, 225, 270, 315) @@ -165,11 +165,11 @@ if(!is_mirror) icon_state = "herald_enraged" playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/herald_circleshot), 5) + addtimer(CALLBACK(src, PROC_REF(herald_circleshot)), 5) if(health < maxHealth * 0.5) playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/herald_circleshot), 15) - addtimer(CALLBACK(src, .proc/unenrage), 20) + addtimer(CALLBACK(src, PROC_REF(herald_circleshot)), 15) + addtimer(CALLBACK(src, PROC_REF(unenrage)), 20) /mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_teleshot(target) ranged_cooldown = world.time + 30 @@ -272,4 +272,4 @@ return owner.visible_message("[owner]'s [src] emits a loud noise as [owner] is struck!") playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) - addtimer(CALLBACK(src, .proc/reactionshot, owner), 10) + addtimer(CALLBACK(src, PROC_REF(reactionshot), owner), 10) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index 3c220a88ea..954298870a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -109,7 +109,7 @@ T = get_step(T, dir_to_target) playsound(src,'sound/magic/demon_attack1.ogg', 200, 1) visible_message("[src] prepares to charge!") - addtimer(CALLBACK(src, .proc/legionnaire_charge_2, dir_to_target, 0), 5) + addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_2), dir_to_target, 0), 5) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/legionnaire_charge_2(move_dir, times_ran) if(times_ran >= 4) @@ -138,7 +138,7 @@ //L.Paralyze(20) L.Stun(20) //substituting this for the Paralyze from the line above, because we don't have tg paralysis stuff L.adjustBruteLoss(50) - addtimer(CALLBACK(src, .proc/legionnaire_charge_2, move_dir, (times_ran + 1)), 2) + addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_2), move_dir, (times_ran + 1)), 2) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/head_detach(target) ranged_cooldown = world.time + 10 @@ -166,7 +166,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/onHeadDeath() myhead = null - addtimer(CALLBACK(src, .proc/regain_head), 50) + addtimer(CALLBACK(src, PROC_REF(regain_head)), 50) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/regain_head() has_head = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 7f224c5bf0..0fd44fe45d 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -118,7 +118,7 @@ new /obj/effect/temp_visual/hierophant/blast/pandora(T, src, null, null, list(owner)) T = get_step(T, angleused) procsleft = procsleft - 1 - addtimer(CALLBACK(src, .proc/singular_shot_line, procsleft, angleused, T), 2) + addtimer(CALLBACK(src, PROC_REF(singular_shot_line), procsleft, angleused, T), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/magic_box(target) ranged_cooldown = world.time + cooldown_time @@ -134,7 +134,7 @@ new /obj/effect/temp_visual/hierophant/telegraph(T, src) new /obj/effect/temp_visual/hierophant/telegraph(source, src) playsound(source,'sound/machines/airlockopen.ogg', 200, 1) - addtimer(CALLBACK(src, .proc/pandora_teleport_2, T, source), 2) + addtimer(CALLBACK(src, PROC_REF(pandora_teleport_2), T, source), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_2(turf/T, turf/source) new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, src) @@ -146,7 +146,7 @@ animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out visible_message("[src] fades out!") density = FALSE - addtimer(CALLBACK(src, .proc/pandora_teleport_3, T), 2) + addtimer(CALLBACK(src, PROC_REF(pandora_teleport_3), T), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_3(turf/T) forceMove(T) @@ -159,7 +159,7 @@ var/turf/T = get_turf(target) new /obj/effect/temp_visual/hierophant/blast/pandora(T, src, null, null, list(owner)) var/max_size = 2 - addtimer(CALLBACK(src, .proc/aoe_squares_2, T, 0, max_size), 2) + addtimer(CALLBACK(src, PROC_REF(aoe_squares_2), T, 0, max_size), 2) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/aoe_squares_2(turf/T, ring, max_size) if(ring > max_size) @@ -167,7 +167,7 @@ for(var/t in spiral_range_turfs(ring, T)) if(get_dist(t, T) == ring) new /obj/effect/temp_visual/hierophant/blast/pandora(t, src, null, null, list(owner)) - addtimer(CALLBACK(src, .proc/aoe_squares_2, T, (ring + 1), max_size), 2) + addtimer(CALLBACK(src, PROC_REF(aoe_squares_2), T, (ring + 1), max_size), 2) //The specific version of hiero's squares pandora uses /obj/effect/temp_visual/hierophant/blast/pandora diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index 3845c6f406..dc544aca4e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -53,7 +53,7 @@ retreat_distance = 10 minimum_distance = 10 if(will_burrow) - addtimer(CALLBACK(src, .proc/Burrow), chase_time) + addtimer(CALLBACK(src, PROC_REF(Burrow)), chase_time) /mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget() if(istype(target, /obj/item/stack/ore)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index 1213b417c8..b598b044f3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -168,7 +168,7 @@ var/turf/closed/mineral/M = loc M.gets_drilled() deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/tripanim), 7, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(tripanim)), 7, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/original/Initialize(mapload, new_spawner) . = ..() @@ -182,7 +182,7 @@ /obj/effect/temp_visual/goliath_tentacle/proc/tripanim() icon_state = "Goliath_tentacle_wiggle" deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/trip), 3, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(trip)), 3, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/proc/trip() var/latched = FALSE @@ -206,7 +206,7 @@ retract() else deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/retract), 10, TIMER_STOPPABLE) + timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 10, TIMER_STOPPABLE) /obj/effect/temp_visual/goliath_tentacle/proc/retract() icon_state = "Goliath_tentacle_retract" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index b5e8a9df5a..2727416d8f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -93,7 +93,7 @@ . = ..() if(swarming) AddComponent(/datum/component/swarming) //oh god not the bees - addtimer(CALLBACK(src, .proc/death), 100) + addtimer(CALLBACK(src, PROC_REF(death)), 100) //Legion /mob/living/simple_animal/hostile/asteroid/hivelord/legion diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm index ca87097048..6d226f8f1a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm @@ -79,7 +79,7 @@ visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") visible_message("Something falls free of the tendril!") playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, 1, 1) - addtimer(CALLBACK(src, .proc/collapse), 50) + addtimer(CALLBACK(src, PROC_REF(collapse)), 50) /obj/effect/collapse/Destroy() QDEL_NULL(emitted_light) diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 9101430ccc..f18f4dea7a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -89,7 +89,7 @@ /mob/living/simple_animal/hostile/mushroom/adjustHealth(amount, updating_health = TRUE, forced = FALSE) //Possibility to flee from a fight just to make it more visually interesting if(!retreat_distance && prob(33)) retreat_distance = 5 - addtimer(CALLBACK(src, .proc/stop_retreat), 30) + addtimer(CALLBACK(src, PROC_REF(stop_retreat)), 30) . = ..() /mob/living/simple_animal/hostile/mushroom/proc/stop_retreat() @@ -138,7 +138,7 @@ revive(full_heal = 1) UpdateMushroomCap() recovery_cooldown = 1 - addtimer(CALLBACK(src, .proc/recovery_recharge), 300) + addtimer(CALLBACK(src, PROC_REF(recovery_recharge)), 300) /mob/living/simple_animal/hostile/mushroom/proc/recovery_recharge() recovery_cooldown = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index 324d9d8eb1..abaee649e4 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -36,7 +36,7 @@ coffer.Grant(src) riot = new /datum/action/cooldown/riot riot.Grant(src) - INVOKE_ASYNC(src, .proc/get_player) + INVOKE_ASYNC(src, PROC_REF(get_player)) /mob/living/simple_animal/hostile/regalrat/Destroy() QDEL_NULL(coffer) diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index 88540464af..246ac03a1a 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -21,7 +21,7 @@ for(var/turf/T in anchors) var/datum/beam/B = Beam(T, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine) B.sleep_time = 10 //these shouldn't move, so let's slow down updates to 1 second (any slower and the deletion of the vines would be too slow) - addtimer(CALLBACK(src, .proc/bear_fruit), growth_time) + addtimer(CALLBACK(src, PROC_REF(bear_fruit)), growth_time) /** * Spawns a venus human trap, then qdels itself. @@ -122,7 +122,7 @@ return var/datum/beam/newVine = Beam(the_target, "vine", time=INFINITY, maxdistance = vine_grab_distance, beam_type=/obj/effect/ebeam/vine) - RegisterSignal(newVine, COMSIG_PARENT_QDELETING, .proc/remove_vine, newVine) + RegisterSignal(newVine, COMSIG_PARENT_QDELETING, PROC_REF(remove_vine), newVine) vines += newVine if(isliving(the_target)) var/mob/living/L = the_target diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index bce1a01c8a..8da677b311 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -95,7 +95,7 @@ F.environment_smash = ENVIRONMENT_SMASH_WALLS F.mob_size = MOB_SIZE_LARGE F.speed = 1 - addtimer(CALLBACK(F, /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate), 100) + addtimer(CALLBACK(F, TYPE_PROC_REF(/mob/living/simple_animal/hostile/asteroid/fugu, Deflate)), 100) /mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate() if(wumbo) diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 877d6ea76c..7ade5c7da9 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -27,7 +27,7 @@ /mob/living/simple_animal/hostile/zombie/Initialize(mapload) . = ..() - INVOKE_ASYNC(src, .proc/setup_visuals) + INVOKE_ASYNC(src, PROC_REF(setup_visuals)) /mob/living/simple_animal/hostile/zombie/proc/setup_visuals() var/datum/preferences/dummy_prefs = new diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 4ab59544ba..2d8b774034 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -637,7 +637,7 @@ item = I break if(item) - if(!AStar(src, get_turf(item), /turf/proc/Distance_cardinal)) + if(!AStar(src, get_turf(item), TYPE_PROC_REF(/turf, Distance_cardinal))) item = null continue return item diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index cbf33040d0..c37322d590 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -375,7 +375,7 @@ if(death_sound) playsound(get_turf(src),death_sound, 200, 1) if(deathmessage || !del_on_death) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") if(del_on_death) ..() //Prevent infinite loops if the mob Destroy() is overridden in such diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 5fcaf3be70..d99ce9319f 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -388,7 +388,7 @@ else if(CHECK_MOBILITY(src, MOBILITY_MOVE) && isturf(loc) && prob(33)) step(src, pick(GLOB.cardinals)) else if(!AIproc) - INVOKE_ASYNC(src, .proc/AIprocess) + INVOKE_ASYNC(src, PROC_REF(AIprocess)) /mob/living/simple_animal/slime/handle_automated_movement() return //slime random movement is currently handled in handle_targets() diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 5da6950efd..463f5cf6fa 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -647,7 +647,7 @@ if(stat == DEAD) return if(!silent) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") ADD_TRAIT(src, TRAIT_FAKEDEATH, source) ADD_TRAIT(src, TRAIT_DEATHCOMA, source) tod = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c54d8658fa..42a633a376 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -341,8 +341,8 @@ if(isnull(client.recent_examines[A]) || client.recent_examines[A] < world.time) result = A.examine(src) client.recent_examines[A] = world.time + EXAMINE_MORE_TIME // set the value to when the examine cooldown ends - RegisterSignal(A, COMSIG_PARENT_QDELETING, .proc/clear_from_recent_examines, override=TRUE) // to flush the value if deleted early - addtimer(CALLBACK(src, .proc/clear_from_recent_examines, A), EXAMINE_MORE_TIME) + RegisterSignal(A, COMSIG_PARENT_QDELETING, PROC_REF(clear_from_recent_examines), override=TRUE) // to flush the value if deleted early + addtimer(CALLBACK(src, PROC_REF(clear_from_recent_examines), A), EXAMINE_MORE_TIME) handle_eye_contact(A) else result = A.examine_more(src) @@ -383,13 +383,13 @@ if(!istype(examined_carbon) || (!(examined_carbon.wear_mask && examined_carbon.wear_mask.flags_inv & HIDEFACE) && !(examined_carbon.head && examined_carbon.head.flags_inv & HIDEFACE))) if(SEND_SIGNAL(src, COMSIG_MOB_EYECONTACT, examined_mob, TRUE) != COMSIG_BLOCK_EYECONTACT) var/msg = "You make eye contact with [examined_mob]." - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, src, msg), 3) // so the examine signal has time to fire and this will print after + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), src, msg), 3) // so the examine signal has time to fire and this will print after var/mob/living/carbon/us_as_carbon = src // i know >casting as subtype, but this isn't really an inheritable check if(!istype(us_as_carbon) || (!(us_as_carbon.wear_mask && us_as_carbon.wear_mask.flags_inv & HIDEFACE) && !(us_as_carbon.head && us_as_carbon.head.flags_inv & HIDEFACE))) if(SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT) var/msg = "[src] makes eye contact with you." - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), examined_mob, msg), 3) //same as above //note: ghosts can point, this is intended diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 7de30a7095..4cd847215d 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -19,7 +19,7 @@ new /obj/effect/temp_visual/monkeyify(loc) - transformation_timer = addtimer(CALLBACK(src, .proc/finish_monkeyize, tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) + transformation_timer = addtimer(CALLBACK(src, PROC_REF(finish_monkeyize), tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) /mob/living/carbon/proc/finish_monkeyize(tr_flags) transformation_timer = null @@ -177,7 +177,7 @@ invisibility = INVISIBILITY_MAXIMUM new /obj/effect/temp_visual/monkeyify/humanify(loc) - transformation_timer = addtimer(CALLBACK(src, .proc/finish_humanize, tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) + transformation_timer = addtimer(CALLBACK(src, PROC_REF(finish_humanize), tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE) /mob/living/carbon/proc/finish_humanize(tr_flags) transformation_timer = null diff --git a/code/modules/mob/typing_indicator.dm b/code/modules/mob/typing_indicator.dm index 6dcc6bc29a..e8380a6498 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(typing_indicator_overlays) return typing_indicator_current = state_override add_overlay(state_override) - typing_indicator_timerid = addtimer(CALLBACK(src, .proc/clear_typing_indicator), timeout_override, TIMER_STOPPABLE) + typing_indicator_timerid = addtimer(CALLBACK(src, PROC_REF(clear_typing_indicator)), timeout_override, TIMER_STOPPABLE) /** * Removes typing indicator. diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 0d7b567877..01399266e3 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -38,7 +38,7 @@ integrity_failure = machinery_computer.integrity_failure base_active_power_usage = machinery_computer.base_active_power_usage base_idle_power_usage = machinery_computer.base_idle_power_usage - machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) //when we update_icon, also update the computer + machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, TYPE_PROC_REF(/atom, update_icon)) //when we update_icon, also update the computer /obj/item/modular_computer/processor/relay_qdel() qdel(machinery_computer) diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index 83bb057d66..10fc9af660 100644 --- a/code/modules/modular_computers/laptop_vendor.dm +++ b/code/modules/modular_computers/laptop_vendor.dm @@ -305,6 +305,6 @@ credits -= total_price say("Enjoy your new product!") state = 3 - addtimer(CALLBACK(src, .proc/reset_order), 100) + addtimer(CALLBACK(src, PROC_REF(reset_order)), 100) return TRUE return FALSE diff --git a/code/modules/newscaster/newscaster_machine.dm b/code/modules/newscaster/newscaster_machine.dm index 0b5fda2b55..9fdbbefe1f 100644 --- a/code/modules/newscaster/newscaster_machine.dm +++ b/code/modules/newscaster/newscaster_machine.dm @@ -689,7 +689,7 @@ GLOBAL_LIST_EMPTY(allCasters) say("Breaking news from [channel]!") alert = TRUE update_icon() - addtimer(CALLBACK(src,.proc/remove_alert),alert_delay,TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src,PROC_REF(remove_alert)),alert_delay,TIMER_UNIQUE|TIMER_OVERRIDE) playsound(loc, 'sound/machines/twobeep.ogg', 75, 1) else say("Attention! Wanted issue distributed!") diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm index 89f5d20e70..0ba97b3ace 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm @@ -11,7 +11,7 @@ a_boost-- to_chat(H, "There are [a_boost] adrenaline boosts remaining.") s_coold = 3 - addtimer(CALLBACK(src, .proc/ninjaboost_after), 70) + addtimer(CALLBACK(src, PROC_REF(ninjaboost_after)), 70) /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost_after() var/mob/living/carbon/human/H = affecting diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm index 56c50078c1..9bf9c57bf1 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm @@ -21,13 +21,13 @@ Contents: animate(affecting, alpha = 15, time = 3 SECONDS) affecting.visible_message("[affecting.name] vanishes into thin air!", \ "You are now mostly invisible to normal detection.") - addtimer(CALLBACK(src, .proc/enable_signals), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(enable_signals)), 3 SECONDS) /obj/item/clothing/suit/space/space_ninja/proc/enable_signals() if(!affecting) return - RegisterSignal(affecting, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_ATTACK_RANGED, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_THROW, COMSIG_PARENT_ATTACKBY, COMSIG_MOVABLE_TELEPORTED, COMSIG_LIVING_GUN_PROCESS_FIRE), .proc/reduce_stealth) - RegisterSignal(affecting, COMSIG_MOVABLE_BUMP, .proc/bumping_stealth) + RegisterSignal(affecting, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_ATTACK_RANGED, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_THROW, COMSIG_PARENT_ATTACKBY, COMSIG_MOVABLE_TELEPORTED, COMSIG_LIVING_GUN_PROCESS_FIRE), PROC_REF(reduce_stealth)) + RegisterSignal(affecting, COMSIG_MOVABLE_BUMP, PROC_REF(bumping_stealth)) /obj/item/clothing/suit/space/space_ninja/proc/reduce_stealth(datum/source) affecting.alpha = min(affecting.alpha + 40, 100) diff --git a/code/modules/ninja/suit/suit_initialisation.dm b/code/modules/ninja/suit/suit_initialisation.dm index 3d80282fe7..1c46449fe4 100644 --- a/code/modules/ninja/suit/suit_initialisation.dm +++ b/code/modules/ninja/suit/suit_initialisation.dm @@ -13,18 +13,18 @@ return //Not sure how this could happen. s_busy = TRUE to_chat(U, "Now initializing...") - addtimer(CALLBACK(src, .proc/ninitialize_two, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize_two), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_two(delay, mob/living/carbon/human/U) if(!lock_suit(U))//To lock the suit onto wearer. s_busy = FALSE return to_chat(U, "Securing external locking mechanism...\nNeural-net established.") - addtimer(CALLBACK(src, .proc/ninitialize_three, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize_three), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_three(delay, mob/living/carbon/human/U) to_chat(U, "Extending neural-net interface...\nNow monitoring brain wave pattern...") - addtimer(CALLBACK(src, .proc/ninitialize_four, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize_four), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_four(delay, mob/living/carbon/human/U) if(U.stat == DEAD|| U.health <= 0) @@ -35,15 +35,15 @@ lockIcons(U)//Check for icons. U.regenerate_icons() to_chat(U, "Linking neural-net interface...\nPattern\green GREEN, continuing operation.") - addtimer(CALLBACK(src, .proc/ninitialize_five, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize_five), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_five(delay, mob/living/carbon/human/U) to_chat(U, "VOID-shift device status: ONLINE.\nCLOAK-tech device status: ONLINE.") - addtimer(CALLBACK(src, .proc/ninitialize_six, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize_six), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_six(delay, mob/living/carbon/human/U) to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [DisplayEnergy(cell.charge)].") - addtimer(CALLBACK(src, .proc/ninitialize_seven, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(ninitialize_seven), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/ninitialize_seven(delay, mob/living/carbon/human/U) to_chat(U, "All systems operational. Welcome to SpiderOS, [U.real_name].") @@ -59,32 +59,32 @@ if(alert("Are you certain you wish to remove the suit? This will take time and remove all abilities.",,"Yes","No")=="No") return s_busy = TRUE - addtimer(CALLBACK(src, .proc/deinitialize_two, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_two), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_two(delay, mob/living/carbon/human/U) to_chat(U, "Now de-initializing...") - addtimer(CALLBACK(src, .proc/deinitialize_three, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_three), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_three(delay, mob/living/carbon/human/U) to_chat(U, "Logging off, [U.real_name]. Shutting down SpiderOS.") - addtimer(CALLBACK(src, .proc/deinitialize_four, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_four), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_four(delay, mob/living/carbon/human/U) to_chat(U, "Primary system status: OFFLINE.\nBackup system status: OFFLINE.") - addtimer(CALLBACK(src, .proc/deinitialize_five, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_five), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_five(delay, mob/living/carbon/human/U) to_chat(U, "VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE.") cancel_stealth()//Shutdowns stealth. - addtimer(CALLBACK(src, .proc/deinitialize_six, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_six), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_six(delay, mob/living/carbon/human/U) to_chat(U, "Disconnecting neural-net interface...\greenSuccess.") - addtimer(CALLBACK(src, .proc/deinitialize_seven, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_seven), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_seven(delay, mob/living/carbon/human/U) to_chat(U, "Disengaging neural-net interface...\greenSuccess.") - addtimer(CALLBACK(src, .proc/deinitialize_eight, delay, U), delay) + addtimer(CALLBACK(src, PROC_REF(deinitialize_eight), delay, U), delay) /obj/item/clothing/suit/space/space_ninja/proc/deinitialize_eight(delay, mob/living/carbon/human/U) to_chat(U, "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED.") diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 25a9cf0043..128cda4d53 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -97,23 +97,23 @@ return FALSE // Basic paper if(istype(paper_copy, /obj/item/paper)) - do_copy_loop(CALLBACK(src, .proc/make_paper_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_paper_copy)), usr) return TRUE // Devil contract paper. if(istype(paper_copy, /obj/item/paper/contract/employment)) - do_copy_loop(CALLBACK(src, .proc/make_devil_paper_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_devil_paper_copy)), usr) return TRUE // Copying photo. if(photo_copy) - do_copy_loop(CALLBACK(src, .proc/make_photo_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_photo_copy)), usr) return TRUE // Copying Documents. if(document_copy) - do_copy_loop(CALLBACK(src, .proc/make_document_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_document_copy)), usr) return TRUE // ASS COPY. By Miauw if(ass) - do_copy_loop(CALLBACK(src, .proc/make_ass_copy), usr) + do_copy_loop(CALLBACK(src, PROC_REF(make_ass_copy)), usr) return TRUE // Remove the paper/photo/document from the photocopier. @@ -193,7 +193,7 @@ // break addtimer(copy_cb, i SECONDS) num_loops++ - addtimer(CALLBACK(src, .proc/reset_busy), num_loops SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_busy)), num_loops SECONDS) /** * Sets busy to `FALSE`. Created as a proc so it can be used in callbacks. diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index 0e553ced35..b4dd89c35d 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -162,7 +162,7 @@ /obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user) . = ..() - INVOKE_ASYNC(src, .proc/attempt_ticket, user) + INVOKE_ASYNC(src, PROC_REF(attempt_ticket), user) /obj/machinery/ticket_machine/proc/attempt_ticket(mob/living/carbon/user) if(!ready) @@ -189,7 +189,7 @@ tickets += theirticket if(obj_flags & EMAGGED) //Emag the machine to destroy the HOP's life. ready = FALSE - addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown)//Small cooldown to prevent piles of flaming tickets + addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), cooldown)//Small cooldown to prevent piles of flaming tickets theirticket.fire_act() user.dropItemToGround(theirticket) user.adjust_fire_stacks(1) diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index b925c67940..0cfef48ef1 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -130,11 +130,11 @@ var/mob/living/carbon/human/H = user if (HAS_TRAIT(H, TRAIT_PHOTOGRAPHER)) realcooldown *= 0.5 - addtimer(CALLBACK(src, .proc/cooldown), realcooldown) + addtimer(CALLBACK(src, PROC_REF(cooldown)), realcooldown) icon_state = state_off - INVOKE_ASYNC(src, .proc/captureimage, target, user, flag, picture_size_x - 1, picture_size_y - 1) + INVOKE_ASYNC(src, PROC_REF(captureimage), target, user, flag, picture_size_x - 1, picture_size_y - 1) /obj/item/camera/proc/cooldown() diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index 0566945e3b..0ec95af2b9 100644 --- a/code/modules/plumbing/plumbers/_plumb_machinery.dm +++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm @@ -26,7 +26,7 @@ . = ..() anchored = bolt create_reagents(buffer, reagent_flags) - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/plumbing/proc/can_be_rotated(mob/user,rotation_type) return TRUE diff --git a/code/modules/plumbing/plumbers/autohydro.dm b/code/modules/plumbing/plumbers/autohydro.dm index 20b8e6012a..25f381a754 100644 --- a/code/modules/plumbing/plumbers/autohydro.dm +++ b/code/modules/plumbing/plumbers/autohydro.dm @@ -34,7 +34,7 @@ /obj/machinery/hydroponics/constructable/automagic/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/hydroponics/constructable/proc/can_be_rotated(mob/user, rotation_type) diff --git a/code/modules/plumbing/plumbers/medipenrefill.dm b/code/modules/plumbing/plumbers/medipenrefill.dm index 527bcc0a24..76df015cbc 100644 --- a/code/modules/plumbing/plumbers/medipenrefill.dm +++ b/code/modules/plumbing/plumbers/medipenrefill.dm @@ -57,7 +57,7 @@ if(reagents.has_reagent(allowed[P.type], 10)) busy = TRUE add_overlay("active") - addtimer(CALLBACK(src, .proc/refill, P, user), 20) + addtimer(CALLBACK(src, PROC_REF(refill), P, user), 20) qdel(P) return to_chat(user, "There aren't enough reagents to finish this operation.") diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 119768ff77..4c795b4af7 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -152,7 +152,7 @@ obj_flags |= EMAGGED do_sparks(5, TRUE, src) icon_state = "filter_b" - addtimer(CALLBACK(src, /obj/machinery/pool/filter/proc/spawn_shark), 50) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/pool/filter, spawn_shark)), 50) var/msg = "[key_name(user)] emagged the pool filter and spawned a shark" log_game(msg) message_admins(msg) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 94696742fa..2a35cebf3b 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -77,7 +77,7 @@ jumper.AddElement(/datum/element/swimming) sleep(1) jumper.forceMove(T) - addtimer(CALLBACK(src, .proc/dive, jumper, original_layer, original_px, original_py), 10) + addtimer(CALLBACK(src, PROC_REF(dive), jumper, original_layer, original_px, original_py), 10) /obj/structure/pool/Lboard/proc/dive(mob/living/carbon/jumper, original_layer, original_px, original_py) switch(rand(1, 100)) @@ -87,7 +87,7 @@ sleep(15) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) if(21 to 40) jumper.visible_message("[jumper] goes for a dive!", \ @@ -95,7 +95,7 @@ sleep(20) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 2, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.throw_at(throw_target, 2, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) if(41 to 60) jumper.visible_message("[jumper] goes for a long dive! Stay far away!", \ @@ -103,7 +103,7 @@ sleep(25) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 3, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.throw_at(throw_target, 3, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) if(61 to 80) jumper.visible_message("[jumper] goes for an awesome dive! Don't stand in [jumper.p_their()] way!", \ @@ -111,14 +111,14 @@ sleep(30) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 4, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.throw_at(throw_target, 4, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) if(81 to 91) sleep(20) backswim() jumper.visible_message("[jumper] misses [jumper.p_their()] step!", \ "You misstep!") var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 0, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.throw_at(throw_target, 0, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) jumper.DefaultCombatKnockdown(100) jumper.adjustBruteLoss(10) @@ -133,7 +133,7 @@ jumper.visible_message("[jumper] fails!", \ "You can't quite do it!") var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) else jumper.fire_stacks = min(1,jumper.fire_stacks + 1) jumper.IgniteMob() @@ -142,8 +142,8 @@ jumper.visible_message("[jumper] bursts into flames of pure awesomness!", \ "No one can stop you now!") var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 6, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) - addtimer(CALLBACK(src, .proc/togglejumping), 35) + jumper.throw_at(throw_target, 6, 1, callback = CALLBACK(src, PROC_REF(on_finish_jump), jumper)) + addtimer(CALLBACK(src, PROC_REF(togglejumping)), 35) reset_position(jumper, original_layer, original_px, original_py) /obj/structure/pool/Lboard/proc/togglejumping() diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 18b0469195..c6216063b7 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -250,7 +250,7 @@ else for(var/obj/machinery/am_shielding/AMS in linked_shielding) AMS.update_icon() - addtimer(CALLBACK(src, .proc/reset_shield_icon_delay), 20) + addtimer(CALLBACK(src, PROC_REF(reset_shield_icon_delay)), 20) /obj/machinery/power/am_control_unit/proc/reset_shield_icon_delay() shield_icon_delay = 0 @@ -263,7 +263,7 @@ for(var/obj/machinery/am_shielding/AMS in linked_cores) stored_core_stability += AMS.stability stored_core_stability/=linked_cores.len - addtimer(CALLBACK(src, .proc/reset_stored_core_stability_delay), 40) + addtimer(CALLBACK(src, PROC_REF(reset_stored_core_stability_delay)), 40) /obj/machinery/power/am_control_unit/proc/reset_stored_core_stability_delay() stored_core_stability_delay = 0 diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 938bb4ac64..b279c9c776 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -30,7 +30,7 @@ /obj/machinery/am_shielding/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/controllerscan), 10) + addtimer(CALLBACK(src, PROC_REF(controllerscan)), 10) /obj/machinery/am_shielding/proc/overheat() visible_message("[src] melts!") @@ -65,7 +65,7 @@ if(!control_unit) if(!priorscan) - addtimer(CALLBACK(src, .proc/controllerscan, 1), 20) + addtimer(CALLBACK(src, PROC_REF(controllerscan), 1), 20) return collapse() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 409efd4ddd..f20df111ab 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -189,7 +189,7 @@ name = "\improper [A.name] APC" stat |= MAINT update_icon() - addtimer(CALLBACK(src, .proc/update), 5) + addtimer(CALLBACK(src, PROC_REF(update)), 5) GLOB.apcs_list += src @@ -1072,7 +1072,7 @@ 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 return TRUE @@ -1141,7 +1141,7 @@ return to_chat(malf, "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.") malf.malfhack = src - malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE) + malf.malfhacking = addtimer(CALLBACK(malf, TYPE_PROC_REF(/mob/living/silicon/ai, malfhacked), src), 600, TIMER_STOPPABLE) var/obj/screen/alert/hackingapc/A A = malf.throw_alert("hackingapc", /obj/screen/alert/hackingapc) @@ -1459,7 +1459,7 @@ environ = 0 update_icon() update() - addtimer(CALLBACK(src, .proc/reset, APC_RESET_EMP), severity*8) + addtimer(CALLBACK(src, PROC_REF(reset), APC_RESET_EMP), severity*8) /obj/machinery/power/apc/blob_act(obj/structure/blob/B) set_broken() @@ -1486,7 +1486,7 @@ return if( cell && cell.charge>=20) cell.use(20) - INVOKE_ASYNC(src, .proc/break_lights) + INVOKE_ASYNC(src, PROC_REF(break_lights)) /obj/machinery/power/apc/proc/break_lights() for(var/obj/machinery/light/L in area) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index b33df9231d..e955b9c67b 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -468,7 +468,7 @@ By design, d1 is the smallest direction and d2 is the highest moveToNullspace() powernet.remove_cable(src) //remove the cut cable from its powernet - addtimer(CALLBACK(O, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables + addtimer(CALLBACK(O, PROC_REF(auto_propogate_cut_cable), O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables // Disconnect machines connected to nodes if(d1 == 0) // if we cut a node (O-X) cable diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index bc921b5b26..1d12609c58 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -17,7 +17,7 @@ . = ..() find_circs() connect_to_network() - SSair.atmos_machinery += src + SSair.start_processing_machine(src) update_icon() component_parts = list(new /obj/item/circuitboard/machine/generator) @@ -27,7 +27,7 @@ /obj/machinery/power/generator/Destroy() kill_circs() - SSair.atmos_machinery -= src + SSair.stop_processing_machine(src) return ..() /obj/machinery/power/generator/update_overlays() diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index aa07603eb7..afb2b4689c 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne part.main_part = src parts += part part.update_icon() - part.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) + part.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, TYPE_PROC_REF(/atom, update_icon)) /obj/machinery/gravity_generator/main/proc/connected_parts() return parts.len == 8 diff --git a/code/modules/power/multiz.dm b/code/modules/power/multiz.dm index d62005e6db..50ed8bbcf1 100644 --- a/code/modules/power/multiz.dm +++ b/code/modules/power/multiz.dm @@ -38,13 +38,13 @@ icon_state = "cablerelay-off" to_chat(user, "Powernet connection lost. Attempting to re-establish. Ensure the relays below this one are connected too.") find_relays() - addtimer(CALLBACK(src, .proc/refresh), 20) //Wait a bit so we can find the one below, then get powering + addtimer(CALLBACK(src, PROC_REF(refresh)), 20) //Wait a bit so we can find the one below, then get powering return TRUE /obj/machinery/power/deck_relay/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/find_relays), 30) - addtimer(CALLBACK(src, .proc/refresh), 50) //Wait a bit so we can find the one below, then get powering + addtimer(CALLBACK(src, PROC_REF(find_relays)), 30) + addtimer(CALLBACK(src, PROC_REF(refresh)), 50) //Wait a bit so we can find the one below, then get powering ///Handles re-acquiring + merging powernets found by find_relays() /obj/machinery/power/deck_relay/proc/refresh() diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 2dc12592c4..9d9b3abf14 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -336,7 +336,7 @@ else if (!power_source) return 0 else - log_admin("ERROR: /proc/electrocute_mob([M], [power_source], [source]): wrong power_source") + log_admin("ERROR: GLOBAL_PROC_REF(electrocute_mob)([M], [power_source], [source]): wrong power_source") return 0 if (!cell && !PN) return 0 diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index b558031fab..23804183b7 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -76,7 +76,7 @@ "You hear a loud electrical crack!") playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5) tesla_zap(src, 5, power_gen * 0.05) - addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion. + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(explosion), get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion. /obj/machinery/power/rtg/abductor/bullet_act(obj/item/projectile/Proj) . = ..() diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index ac84e82da1..a092c5f4f0 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -131,4 +131,4 @@ do_sparks(5, TRUE, AM.loc) var/atom/target = get_edge_target_turf(AM, get_dir(src, get_step_away(AM, src))) AM.throw_at(target, 200, 4) - addtimer(CALLBACK(src, .proc/clear_shock), 5) + addtimer(CALLBACK(src, PROC_REF(clear_shock)), 5) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 46db792b27..97d22ae9e9 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -95,7 +95,7 @@ /obj/machinery/power/emitter/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/power/emitter/proc/can_be_rotated(mob/user,rotation_type) if (anchored) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 2148b249cf..3a79516278 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -36,7 +36,7 @@ if(A) var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/cult_effects.dmi', "ghostalertsie") notify_ghosts("Nar'Sie has risen in \the [A.name]. Reach out to the Geometer to be given a new shell for your soul.", source = src, alert_overlay = alert_overlay, action=NOTIFY_ATTACK) - INVOKE_ASYNC(src, .proc/narsie_spawn_animation) + INVOKE_ASYNC(src, PROC_REF(narsie_spawn_animation)) /obj/singularity/narsie/large/cult // For the new cult ending, guaranteed to end the round within 3 minutes var/list/souls_needed = list() @@ -67,7 +67,7 @@ if(player.stat != DEAD && player.loc && is_station_level(player.loc.z) && !iscultist(player) && !isanimal(player)) souls_needed[player] = TRUE soul_goal = round(1 + LAZYLEN(souls_needed) * 0.75) - INVOKE_ASYNC(src, .proc/begin_the_end) + INVOKE_ASYNC(src, PROC_REF(begin_the_end)) /obj/singularity/narsie/large/cult/proc/begin_the_end() sleep(50) @@ -82,7 +82,7 @@ if(resolved == FALSE) resolved = TRUE sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, .proc/cult_ending_helper), 120) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(cult_ending_helper)), 120) /obj/singularity/narsie/large/cult/Destroy() GLOB.cult_narsie = null @@ -93,9 +93,9 @@ /proc/cult_ending_helper(no_explosion = 0) if(no_explosion) - Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) + Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ending_helper))) else - Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) + Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(ending_helper))) //ATTACK GHOST IGNORING PARENT RETURN VALUE /obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob) diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index 9e098446d1..9415219030 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -25,7 +25,7 @@ /obj/effect/accelerated_particle/New(loc) ..() - addtimer(CALLBACK(src, .proc/move), 1) + addtimer(CALLBACK(src, PROC_REF(move)), 1) /obj/effect/accelerated_particle/Bump(atom/A) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 7ddc27f77b..4f54edf34c 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -35,7 +35,7 @@ panel.layer = FLY_LAYER Make(S) connect_to_network() - RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/queue_update_solar_exposure) + RegisterSignal(SSsun, COMSIG_SUN_MOVED, PROC_REF(queue_update_solar_exposure)) /obj/machinery/power/solar/Destroy() unset_control() //remove from control computer @@ -306,7 +306,7 @@ /obj/machinery/power/solar_control/Initialize() . = ..() azimuth_rate = SSsun.base_rotation - RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/timed_track) + RegisterSignal(SSsun, COMSIG_SUN_MOVED, PROC_REF(timed_track)) connect_to_network() if(powernet) set_panels(azimuth_target) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 8d1795dd3f..4f2ac5d735 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -194,7 +194,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /obj/machinery/power/supermatter_crystal/Initialize() . = ..() uid = gl_uid++ - SSair.atmos_air_machinery += src + SSair.atmos_machinery += src countdown = new(src) countdown.start() GLOB.poi_list |= src @@ -207,13 +207,13 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GLOB.main_supermatter_engine = src AddElement(/datum/element/bsa_blocker) - RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, .proc/call_explode) + RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, PROC_REF(call_explode)) soundloop = new(list(src), TRUE) /obj/machinery/power/supermatter_crystal/Destroy() investigate_log("has been destroyed.", INVESTIGATE_SUPERMATTER) - SSair.atmos_air_machinery -= src + SSair.atmos_machinery -= src QDEL_NULL(radio) GLOB.poi_list -= src QDEL_NULL(countdown) @@ -1066,7 +1066,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else if(isliving(target))//If we got a fleshbag on our hands var/mob/living/creature = target creature.set_shocked() - addtimer(CALLBACK(creature, /mob/living/proc/reset_shocked), 10) + addtimer(CALLBACK(creature, TYPE_PROC_REF(/mob/living, reset_shocked)), 10) //3 shots a human with no resistance. 2 to crit, one to death. This is at at least 10000 power. //There's no increase after that because the input power is effectivly capped at 10k //Does 1.5 damage at the least diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 828739d3ba..6b1247bb22 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -90,7 +90,7 @@ D.adjust_money(min(power_produced, 1)) if(istype(linked_techweb)) linked_techweb.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, min(power_produced, 1)) // x4 coils = ~240/m point bonus for R&D - addtimer(CALLBACK(src, .proc/reset_shocked), 10) + addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) zap_buckle_check(power) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) return power_produced @@ -128,7 +128,7 @@ D.adjust_money(min(power_produced, 3)) if(istype(linked_techweb)) linked_techweb.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, min(power_produced, 3)) // x4 coils with a pulse per second or so = ~720/m point bonus for R&D - addtimer(CALLBACK(src, .proc/reset_shocked), 10) + addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) zap_buckle_check(power) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) return power_produced diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index d3ac8e7ea9..a963426937 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -132,7 +132,7 @@ energy_to_raise = energy_to_raise * 1.25 playsound(src.loc, 'sound/magic/lightning_chargeup.ogg', 100, TRUE, extrarange = 30) - addtimer(CALLBACK(src, .proc/new_mini_ball), 100) + addtimer(CALLBACK(src, PROC_REF(new_mini_ball)), 100) else if(energy < energy_to_lower && orbiting_balls.len) energy_to_raise = energy_to_raise / 1.25 @@ -340,7 +340,7 @@ if(closest_type == LIVING) var/mob/living/closest_mob = closest_atom closest_mob.set_shocked() - addtimer(CALLBACK(closest_mob, /mob/living/proc/reset_shocked), 10) + addtimer(CALLBACK(closest_mob, TYPE_PROC_REF(/mob/living, reset_shocked)), 10) var/shock_damage = (zap_flags & ZAP_MOB_DAMAGE) ? (min(round(power/600), 90) + rand(-5, 5)) : 0 closest_mob.electrocute_act(shock_damage, source, 1, SHOCK_TESLA | ((zap_flags & ZAP_MOB_STUN) ? NONE : SHOCK_NOSTUN)) if(issilicon(closest_mob)) diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 0627a55de0..e9f3e73ebc 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -21,7 +21,7 @@ . = ..() Make(S) connect_to_network() - RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/sun_update) + RegisterSignal(SSsun, COMSIG_SUN_MOVED, PROC_REF(sun_update)) /obj/machinery/power/tracker/Destroy() unset_control() //remove from control computer diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 2178297d12..8276eb1a92 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -35,7 +35,7 @@ pixel_y = rand(-10, 10) setDir(pick(GLOB.alldirs)) update_icon() - addtimer(CALLBACK(src, .proc/cleanup), 18000) + addtimer(CALLBACK(src, PROC_REF(cleanup)), 18000) /obj/item/ammo_casing/Destroy() if(BB) @@ -91,12 +91,12 @@ pixel_y = rand(-12, 12) var/turf/T = get_turf(src) if(still_warm && T && T.bullet_sizzle) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(playsound), src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. else if(T && T.bullet_bounce_sound) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, T.bullet_bounce_sound, 60, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(playsound), src, T.bullet_bounce_sound, 60, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. /obj/item/ammo_casing/proc/cleanup() if(isturf(loc)) qdel(src) else - addtimer(CALLBACK(src, .proc/cleanup), 18000) + addtimer(CALLBACK(src, PROC_REF(cleanup)), 18000) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 703fb63b75..7321a02263 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -944,7 +944,7 @@ ATTACHMENTS user.client.change_view(zoom_out_amt) user.client.pixel_x = world.icon_size*_x user.client.pixel_y = world.icon_size*_y - RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate) + RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate)) UnregisterSignal(user, COMSIG_MOVABLE_MOVED) //pls don't conflict with anything else using this signal user.visible_message("[user] looks down the scope of [src].", "You look down the scope of [src].") else @@ -954,7 +954,7 @@ ATTACHMENTS user.client.pixel_y = 0 UnregisterSignal(user, COMSIG_ATOM_DIR_CHANGE) user.visible_message("[user] looks up from the scope of [src].", "You look up from the scope of [src].") - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_walk) //Extra proc to make sure your zoom resets for bug where you don't unzoom when toggling while moving + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_walk)) //Extra proc to make sure your zoom resets for bug where you don't unzoom when toggling while moving /obj/item/gun/proc/on_walk(mob/living/user) UnregisterSignal(user, COMSIG_MOVABLE_MOVED) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index e9f669cf32..822a1ce804 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -76,7 +76,7 @@ playsound(src, "gun_insert_full_magazine", 70, 1) if(!chambered) chamber_round() - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/weapons/gun_chamber_round.ogg', 100, 1), 3) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(playsound), src, 'sound/weapons/gun_chamber_round.ogg', 100, 1), 3) else playsound(src, "gun_insert_empty_magazine", 70, 1) A.update_icon() @@ -189,7 +189,7 @@ var/mob/living/carbon/C = user var/list/blood_dna = C.get_blood_dna_list() B.add_blood_DNA(blood_dna, C.diseases) - var/datum/callback/gibspawner = CALLBACK(user, /mob/living/proc/spawn_gibs, FALSE, B) + var/datum/callback/gibspawner = CALLBACK(user, TYPE_PROC_REF(/mob/living, spawn_gibs), FALSE, B) B.throw_at(target, BRAINS_BLOWN_THROW_RANGE, BRAINS_BLOWN_THROW_SPEED, callback=gibspawner) return(BRUTELOSS) else diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 438c000a1e..d1b3aed999 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -144,7 +144,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/gun/energy/kinetic_accelerator/proc/empty_if_not_held() if(!ismob(loc) && !istype(loc, /obj/item/integrated_circuit)) @@ -175,7 +175,7 @@ carried = 1 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/gun/energy/kinetic_accelerator/emp_act(severity) return diff --git a/code/modules/projectiles/guns/energy/plasmaf13.dm b/code/modules/projectiles/guns/energy/plasmaf13.dm index bf8522d634..01177b33ab 100644 --- a/code/modules/projectiles/guns/energy/plasmaf13.dm +++ b/code/modules/projectiles/guns/energy/plasmaf13.dm @@ -138,8 +138,8 @@ . = ..() AddComponent(/datum/component/two_handed, force_unwielded=20, force_wielded=40, icon_wielded="[item_state]2") AddElement(/datum/element/update_icon_updates_onmob) - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/allow_fire) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/deny_fire) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(allow_fire)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(deny_fire)) /obj/item/gun/energy/laser/plasma/spear/proc/allow_fire() twohands = TRUE diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 61305c1a6f..05d6e289b7 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -266,7 +266,7 @@ current_user = null if(istype(user)) current_user = user - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_mob_move)) /obj/item/gun/energy/beam_rifle/onMouseDrag(src_object, over_object, src_location, over_location, params, mob) if(aiming) diff --git a/code/modules/projectiles/projectile/energy/net_snare.dm b/code/modules/projectiles/projectile/energy/net_snare.dm index 22eaadb1e0..947c57db96 100644 --- a/code/modules/projectiles/projectile/energy/net_snare.dm +++ b/code/modules/projectiles/projectile/energy/net_snare.dm @@ -37,7 +37,7 @@ if(com.power_station && com.power_station.teleporter_hub && com.power_station.engaged) teletarget = com.target - addtimer(CALLBACK(src, .proc/pop, teletarget), 30) + addtimer(CALLBACK(src, PROC_REF(pop), teletarget), 30) /obj/effect/nettingportal/proc/pop(teletarget) if(teletarget) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 37511cdee8..e93eb3bb05 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -384,8 +384,8 @@ /obj/structure/closet/decay/Initialize() . = ..() if(auto_destroy) - addtimer(CALLBACK(src, .proc/bust_open), 5 MINUTES) - addtimer(CALLBACK(src, .proc/magicly_lock), 5) + addtimer(CALLBACK(src, PROC_REF(bust_open)), 5 MINUTES) + addtimer(CALLBACK(src, PROC_REF(magicly_lock)), 5) /obj/structure/closet/decay/proc/magicly_lock() if(!welded) @@ -399,7 +399,7 @@ /obj/structure/closet/decay/proc/decay() animate(src, alpha = 0, time = 30) - addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, src), 30) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(qdel), src), 30) /obj/structure/closet/decay/open(mob/living/user) . = ..() @@ -407,12 +407,12 @@ if(icon_state == magic_icon) //check if we used the magic icon at all before giving it the lesser magic icon unmagify() else - addtimer(CALLBACK(src, .proc/decay), 15 SECONDS) + addtimer(CALLBACK(src, PROC_REF(decay)), 15 SECONDS) /obj/structure/closet/decay/proc/unmagify() icon_state = weakened_icon update_icon() - addtimer(CALLBACK(src, .proc/decay), 15 SECONDS) + addtimer(CALLBACK(src, PROC_REF(decay)), 15 SECONDS) icon_welded = "welded" /obj/item/projectile/magic/aoe @@ -503,7 +503,7 @@ return BULLET_ACT_BLOCK var/turf/T = get_turf(target) for(var/i=0, i<50, i+=10) - addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(explosion), T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i) /obj/item/projectile/magic/nuclear name = "\proper blazing manliness" diff --git a/code/modules/projectiles/projectile/special/hallucination.dm b/code/modules/projectiles/projectile/special/hallucination.dm index 19fd13857a..b9d870cc07 100644 --- a/code/modules/projectiles/projectile/special/hallucination.dm +++ b/code/modules/projectiles/projectile/special/hallucination.dm @@ -100,7 +100,7 @@ layer = ABOVE_MOB_LAYER hal_target.client.images += blood animate(blood, pixel_x = target_pixel_x, pixel_y = target_pixel_y, alpha = 0, time = 5) - addtimer(CALLBACK(src, .proc/cleanup_blood), 5) + addtimer(CALLBACK(src, PROC_REF(cleanup_blood)), 5) /obj/item/projectile/hallucination/proc/cleanup_blood(image/blood) hal_target.client.images -= blood diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 9ef7e354f4..c815983812 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -464,7 +464,7 @@ if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && meets_temp_requirement && can_special_react) possible_reactions += C - sortTim(possible_reactions, /proc/cmp_chemical_reactions_default, FALSE) + sortTim(possible_reactions, GLOBAL_PROC_REF(cmp_chemical_reactions_default), FALSE) if(possible_reactions.len) var/datum/chemical_reaction/selected_reaction = possible_reactions[1] diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 9b971acdd3..c6486fc867 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -93,16 +93,16 @@ /obj/machinery/chem_dispenser/Initialize() . = ..() - dispensable_reagents = sortList(dispensable_reagents, /proc/cmp_reagents_asc) + dispensable_reagents = sortList(dispensable_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) if(emagged_reagents) - emagged_reagents = sortList(emagged_reagents, /proc/cmp_reagents_asc) + emagged_reagents = sortList(emagged_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) if(upgrade_reagents) - upgrade_reagents = sortList(upgrade_reagents, /proc/cmp_reagents_asc) + upgrade_reagents = sortList(upgrade_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) if(upgrade_reagents2) - upgrade_reagents2 = sortList(upgrade_reagents2, /proc/cmp_reagents_asc) + upgrade_reagents2 = sortList(upgrade_reagents2, GLOBAL_PROC_REF(cmp_reagents_asc)) if(upgrade_reagents3) - upgrade_reagents3 = sortList(upgrade_reagents3, /proc/cmp_reagents_asc) - dispensable_reagents = sortList(dispensable_reagents, /proc/cmp_reagents_asc) + upgrade_reagents3 = sortList(upgrade_reagents3, GLOBAL_PROC_REF(cmp_reagents_asc)) + dispensable_reagents = sortList(dispensable_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) update_icon() /obj/machinery/chem_dispenser/Destroy() diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 5f600b647b..ccff9c310f 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -217,7 +217,7 @@ update_icon() var/turf/source_turf = get_turf(src) log_virus("A culture bottle was printed for the virus [A.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]") - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) + addtimer(CALLBACK(src, PROC_REF(reset_replicator_cooldown)), 50) . = TRUE if("create_vaccine_bottle") if (wait) @@ -229,7 +229,7 @@ B.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id)) wait = TRUE update_icon() - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 200) + addtimer(CALLBACK(src, PROC_REF(reset_replicator_cooldown)), 200) . = TRUE diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 6d6e6900f2..95e13452ee 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -234,7 +234,7 @@ var/offset = prob(50) ? -2 : 2 var/old_pixel_x = pixel_x animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = -1) //start shaking - addtimer(CALLBACK(src, .proc/stop_shaking, old_pixel_x), duration) + addtimer(CALLBACK(src, PROC_REF(stop_shaking), old_pixel_x), duration) /obj/machinery/reagentgrinder/proc/stop_shaking(old_px) animate(src) @@ -248,7 +248,7 @@ playsound(src, 'sound/machines/blender.ogg', 50, 1) else playsound(src, 'sound/machines/juicer.ogg', 20, 1) - addtimer(CALLBACK(src, .proc/stop_operating), time / speed) + addtimer(CALLBACK(src, PROC_REF(stop_operating)), time / speed) /obj/machinery/reagentgrinder/proc/stop_operating() operating = FALSE @@ -299,7 +299,7 @@ if(!beaker || stat & (NOPOWER|BROKEN)) return operate_for(50, juicing = TRUE) - addtimer(CALLBACK(src, /obj/machinery/reagentgrinder/proc/mix_complete), 50) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/reagentgrinder, mix_complete)), 50) /obj/machinery/reagentgrinder/proc/mix_complete() if(beaker?.reagents.total_volume) diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 80b8011af0..74cc0767a1 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -38,7 +38,7 @@ /obj/machinery/smoke_machine/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated)) + AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated))) /obj/machinery/smoke_machine/proc/can_be_rotated(mob/user, rotation_type) return !anchored diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 9cbfb0f496..b3c8fe55b2 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -2458,15 +2458,14 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "glass of [name]" glass_desc = description for(var/taste in tastes) - switch(tastes[taste]) - if(minimum_percent*2 to INFINITY) - primary_tastes += taste - if(minimum_percent to minimum_percent*2) - secondary_tastes += taste + if(taste >= minimum_percent*2) + primary_tastes += taste + if(taste >= minimum_percent && taste < minimum_percent*2) + secondary_tastes += taste var/minimum_name_percent = 0.35 name = "" - var/list/names_in_order = sortTim(names, /proc/cmp_numeric_dsc, TRUE) + var/list/names_in_order = sortTim(names, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE) var/named = FALSE for(var/fruit_name in names) if(names[fruit_name] >= minimum_name_percent) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c4c2a35cb2..b3dee0140a 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1340,7 +1340,7 @@ to_chat(M, "You feel unstable...") M.Jitter(2) current_cycle = 1 - addtimer(CALLBACK(M, /mob/living/proc/bluespace_shuffle), 30) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, bluespace_shuffle)), 30) ..() /mob/living/proc/bluespace_shuffle() @@ -1737,7 +1737,7 @@ ..() /////////////////////////Coloured Crayon Powder//////////////////////////// -//For colouring in /proc/mix_color_from_reagents +//For colouring in GLOBAL_PROC_REF(mix_color_from_reagents) /datum/reagent/colorful_reagent/crayonpowder @@ -2560,7 +2560,7 @@ /datum/reagent/gravitum/reaction_obj(obj/O, volume) O.AddElement(/datum/element/forced_gravity, 0) - addtimer(CALLBACK(O, .proc/_RemoveElement, /datum/element/forced_gravity, 0), volume * time_multiplier) + addtimer(CALLBACK(O, PROC_REF(_RemoveElement), /datum/element/forced_gravity, 0), volume * time_multiplier) /datum/reagent/gravitum/on_mob_add(mob/living/L) L.AddElement(/datum/element/forced_gravity, 0) //0 is the gravity, and in this case weightless diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index c396029eda..e4c1a8bc82 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -415,13 +415,13 @@ var/T3 = created_volume * 120 var/added_delay = 0.5 SECONDS if(created_volume >= 75) - addtimer(CALLBACK(src, .proc/zappy_zappy, holder, T1), added_delay) + addtimer(CALLBACK(src, PROC_REF(zappy_zappy), holder, T1), added_delay) added_delay += 1.5 SECONDS if(created_volume >= 40) - addtimer(CALLBACK(src, .proc/zappy_zappy, holder, T2), added_delay) + addtimer(CALLBACK(src, PROC_REF(zappy_zappy), holder, T2), added_delay) added_delay += 1.5 SECONDS if(created_volume >= 10) //10 units minimum for lightning, 40 units for secondary blast, 75 units for tertiary blast. - addtimer(CALLBACK(src, .proc/zappy_zappy, holder, T3), added_delay) + addtimer(CALLBACK(src, PROC_REF(zappy_zappy), holder, T3), added_delay) ..() /datum/chemical_reaction/reagent_explosion/teslium_lightning/proc/zappy_zappy(datum/reagents/holder, power) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 28e0e934c0..b66a6caec4 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -101,11 +101,11 @@ var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate violently!") - //addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) + //addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) /datum/chemical_reaction/slime/slimemobspawn/lesser name = "Slime Crit Lesser" @@ -114,7 +114,7 @@ /datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate violently!") - //addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) + //addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) /datum/chemical_reaction/slime/slimemobspawn/friendly name = "Slime Crit Friendly" @@ -123,7 +123,7 @@ /datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T) T.visible_message("The slime extract begins to vibrate adorably!") - //addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) + //addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) //Silver /datum/chemical_reaction/slime/slimebork @@ -203,11 +203,11 @@ /datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The slime extract starts to feel extremely cold!") - addtimer(CALLBACK(src, .proc/freeze, holder), 50) + addtimer(CALLBACK(src, PROC_REF(freeze), holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder) if(holder && holder.my_atom) @@ -246,11 +246,11 @@ /datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, .proc/slime_burn, holder), 50) + addtimer(CALLBACK(src, PROC_REF(slime_burn), holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder) if(holder && holder.my_atom) @@ -429,11 +429,11 @@ message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") T.visible_message("The slime extract begins to vibrate violently !") - addtimer(CALLBACK(src, .proc/boom, holder), 50) + addtimer(CALLBACK(src, PROC_REF(boom), holder), 50) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() - M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE) + M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) /datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder) if(holder && holder.my_atom) @@ -552,7 +552,7 @@ required_other = TRUE /datum/chemical_reaction/slime/slimestop/on_reaction(datum/reagents/holder, created_volume) - addtimer(CALLBACK(src, .proc/slime_stop, holder), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(slime_stop), holder), 5 SECONDS) /datum/chemical_reaction/slime/slimestop/proc/slime_stop(datum/reagents/holder) var/obj/item/slime_extract/sepia/extract = holder.my_atom diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index cd901b6e1a..bf6aacd029 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -180,7 +180,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related if(SSpersistence.initialized) UpdateInfo() else - SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateInfo)) + SSticker.OnRoundstart(CALLBACK(src,PROC_REF(UpdateInfo))) /obj/item/paper/secretrecipe/proc/UpdateInfo() var/datum/chemical_reaction/recipe = get_chemical_reaction(recipe_id) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index a36faafdfb..07be5bdf33 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -138,7 +138,7 @@ else if(bartender_check(target) && thrown) visible_message("[src] lands without spilling a single drop.") transform = initial(transform) - addtimer(CALLBACK(src, .proc/ForceResetRotation), 1) + addtimer(CALLBACK(src, PROC_REF(ForceResetRotation)), 1) else if(isturf(target) && reagents.reagent_list.len && thrownby) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 7ec25fd239..d86673916e 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -10,7 +10,7 @@ /obj/item/reagent_containers/glass/attack(mob/M, mob/user, obj/target) // WARNING: This entire section is shitcode and prone to breaking at any time. - INVOKE_ASYNC(src, .proc/attempt_feed, M, user, target) // for example, the arguments in this proc are wrong + INVOKE_ASYNC(src, PROC_REF(attempt_feed), M, user, target) // for example, the arguments in this proc are wrong // but i don't have time to properly fix it right now. /obj/item/reagent_containers/glass/proc/attempt_feed(mob/M, mob/user, obj/target) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index ab66040520..fbdcf921a3 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -131,7 +131,7 @@ qdel(src) return update_icon() - addtimer(CALLBACK(src, .proc/cyborg_recharge, user), 80) + addtimer(CALLBACK(src, PROC_REF(cyborg_recharge), user), 80) /obj/item/reagent_containers/hypospray/medipen/proc/cyborg_recharge(mob/living/silicon/robot/user) if(!reagents.total_volume && iscyborg(user)) @@ -466,7 +466,7 @@ /obj/item/hypospray/mkii/afterattack(atom/target, mob/user, proximity) . = ..() - INVOKE_ASYNC(src, .proc/attempt_inject, target, user, proximity) + INVOKE_ASYNC(src, PROC_REF(attempt_inject), target, user, proximity) /obj/item/hypospray/mkii/proc/attempt_inject(atom/target, mob/user, proximity) if(!vial || !proximity || !isliving(target)) @@ -502,7 +502,7 @@ if(L != user) L.visible_message("[user] is trying to [fp_verb] [L] with [src]!", \ "[user] is trying to [fp_verb] you with [src]!") - if(!do_mob(user, L, inject_wait, extra_checks = CALLBACK(L, /mob/living/proc/can_inject, user, FALSE, user.zone_selected, penetrates))) + if(!do_mob(user, L, inject_wait, extra_checks = CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject), user, FALSE, user.zone_selected, penetrates))) return if(!vial.reagents.total_volume) return diff --git a/code/modules/reagents/reagent_containers/medspray.dm b/code/modules/reagents/reagent_containers/medspray.dm index 3ae7399ae1..32746d0ff3 100644 --- a/code/modules/reagents/reagent_containers/medspray.dm +++ b/code/modules/reagents/reagent_containers/medspray.dm @@ -33,7 +33,7 @@ to_chat(user, "You will now apply the medspray's contents in [squirt_mode ? "short bursts":"extended sprays"]. You'll now use [amount_per_transfer_from_this] units per use.") /obj/item/reagent_containers/medspray/attack(mob/living/L, mob/user, def_zone) - INVOKE_ASYNC(src, .proc/attempt_spray, L, user, def_zone) // this is shitcode because the params for attack aren't even right but i'm not in the mood to refactor right now. + INVOKE_ASYNC(src, PROC_REF(attempt_spray), L, user, def_zone) // this is shitcode because the params for attack aren't even right but i'm not in the mood to refactor right now. /obj/item/reagent_containers/medspray/proc/attempt_spray(mob/living/L, mob/user, def_zone) if(!reagents || !reagents.total_volume) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 0424f91010..5da097fcf3 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -29,7 +29,7 @@ return DEFAULT_VOLUME_TINY/2 + reagents.total_volume / reagents.maximum_volume * DEFAULT_VOLUME_TINY /obj/item/reagent_containers/pill/attack(mob/living/M, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1) - INVOKE_ASYNC(src, .proc/attempt_feed, M, user) + INVOKE_ASYNC(src, PROC_REF(attempt_feed), M, user) /obj/item/reagent_containers/pill/proc/attempt_feed(mob/living/M, mob/living/user) if(!canconsume(M, user)) @@ -51,7 +51,7 @@ var/makes_me_think = pick(strings("redpill.json", "redpill_questions")) if(icon_state == "pill4" && prob(5)) //you take the red pill - you stay in Wonderland, and I show you how deep the rabbit hole goes - addtimer(CALLBACK(GLOBAL_PROC, /proc/to_chat, M, "[makes_me_think]"), 50) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), M, "[makes_me_think]"), 50) log_combat(user, M, "fed", reagents.log_list()) if(reagents.total_volume) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 8b01bac9c4..ff39022c27 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -87,7 +87,7 @@ log_reagent("SPRAY: [key_name(usr)] fired [src] ([REF(src)]) [COORD(T)] at [A] ([REF(A)]) [COORD(A)] (chempuff: [D.reagents.log_list()])") var/wait_step = max(round(2+ spray_delay * INVERSE(range)), 2) last_spray = world.time - INVOKE_ASYNC(src, .proc/do_spray, A, wait_step, D, range, puff_reagent_left) + INVOKE_ASYNC(src, PROC_REF(do_spray), A, wait_step, D, range, puff_reagent_left) return TRUE /obj/item/reagent_containers/spray/proc/do_spray(atom/A, wait_step, obj/effect/decal/chempuff/D, range, puff_reagent_left) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 8e7e849fa5..2911aed32c 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -58,7 +58,7 @@ /obj/item/reagent_containers/syringe/afterattack(atom/target, mob/user, proximity) . = ..() - INVOKE_ASYNC(src, .proc/attempt_inject, target, user, proximity) + INVOKE_ASYNC(src, PROC_REF(attempt_inject), target, user, proximity) /obj/item/reagent_containers/syringe/proc/attempt_inject(atom/target, mob/user, proximity) if(busy) @@ -93,7 +93,7 @@ target.visible_message("[user] is trying to take a blood sample from [target]!", \ "[user] is trying to take a blood sample from [target]!") busy = TRUE - if(!do_mob(user, target, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,user,1))) + if(!do_mob(user, target, extra_checks=CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject),user,1))) busy = FALSE return if(reagents.total_volume >= reagents.maximum_volume) @@ -143,7 +143,7 @@ if(L != user) L.visible_message("[user] is trying to inject [L]!", \ "[user] is trying to inject [L]!") - if(!do_mob(user, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,user,1))) + if(!do_mob(user, L, extra_checks=CALLBACK(L, TYPE_PROC_REF(/mob/living, can_inject),user,1))) return if(!reagents.total_volume) return diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index dbd2e6c982..4687d5cf28 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -132,7 +132,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) return use_power(6) affecting = loc.contents - src // moved items will be all in loc - addtimer(CALLBACK(src, .proc/convey, affecting), 1) + addtimer(CALLBACK(src, PROC_REF(convey), affecting), 1) /obj/machinery/conveyor/proc/convey(list/affecting) var/turf/T = get_step(src, movedir) diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm index d5014ac5e2..bfcdc10849 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -89,7 +89,7 @@ /obj/structure/disposalconstruct/ComponentInitialize() . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated), CALLBACK(src, .proc/after_rot)) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_FLIP | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)), CALLBACK(src, PROC_REF(after_rot))) /obj/structure/disposalconstruct/proc/after_rot(mob/user,rotation_type) if(rotation_type == ROTATION_FLIP) diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm index 7655988c8f..6e0894db50 100644 --- a/code/modules/recycling/disposal/outlet.dm +++ b/code/modules/recycling/disposal/outlet.dm @@ -44,9 +44,9 @@ if((start_eject + 30) < world.time) start_eject = world.time playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0) - addtimer(CALLBACK(src, .proc/expel_holder, H, TRUE), 20) + addtimer(CALLBACK(src, PROC_REF(expel_holder), H, TRUE), 20) else - addtimer(CALLBACK(src, .proc/expel_holder, H), 20) + addtimer(CALLBACK(src, PROC_REF(expel_holder), H), 20) /obj/structure/disposaloutlet/proc/expel_holder(obj/structure/disposalholder/H, playsound=FALSE) if(playsound) diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index dff14554f1..6d072ae34f 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -43,7 +43,7 @@ Note: Must be placed within 3 tiles of the R&D Console loaded_item = O to_chat(user, "You add the [O.name] to the [src.name]!") flick("d_analyzer_la", src) - addtimer(CALLBACK(src, .proc/finish_loading), 10) + addtimer(CALLBACK(src, PROC_REF(finish_loading)), 10) if (linked_console) linked_console.updateUsrDialog() @@ -74,7 +74,7 @@ Note: Must be placed within 3 tiles of the R&D Console if(!innermode) flick("d_analyzer_process", src) busy = TRUE - addtimer(CALLBACK(src, .proc/reset_busy), 24) + addtimer(CALLBACK(src, PROC_REF(reset_busy)), 24) use_power(250) if(thing == loaded_item) loaded_item = null diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index e6128ed5c2..7321760782 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -494,7 +494,7 @@ use_power(500000) investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR) - addtimer(CALLBACK(src, .proc/reset_exp), resetTime) + addtimer(CALLBACK(src, PROC_REF(reset_exp)), resetTime) /obj/machinery/rnd/experimentor/proc/reset_exp() update_icon() @@ -560,7 +560,7 @@ cooldown = TRUE call(src,realProc)(user) if(!QDELETED(src)) - addtimer(CALLBACK(src, .proc/cd), cooldownMax) + addtimer(CALLBACK(src, PROC_REF(cd)), cooldownMax) else to_chat(user, "You aren't quite sure what to do with this yet.") @@ -577,7 +577,7 @@ /obj/item/relic/proc/corgicannon(mob/user) playsound(src, "sparks", rand(25,50), 1) var/mob/living/simple_animal/pet/dog/corgi/C = new/mob/living/simple_animal/pet/dog/corgi(get_turf(user)) - C.throw_at(pick(oview(10,user)), 10, rand(3,8), callback = CALLBACK(src, .proc/throwSmoke, C)) + C.throw_at(pick(oview(10,user)), 10, rand(3,8), callback = CALLBACK(src, PROC_REF(throwSmoke), C)) warn_admins(user, "Corgi Cannon", 0) /obj/item/relic/proc/clean(mob/user) @@ -627,7 +627,7 @@ /obj/item/relic/proc/explode(mob/user) to_chat(user, "[src] begins to heat up!") - addtimer(CALLBACK(src, .proc/do_explode, user), rand(35, 100)) + addtimer(CALLBACK(src, PROC_REF(do_explode), user), rand(35, 100)) /obj/item/relic/proc/do_explode(mob/user) if(loc == user) @@ -638,7 +638,7 @@ /obj/item/relic/proc/teleport(mob/user) to_chat(user, "[src] begins to vibrate!") - addtimer(CALLBACK(src, .proc/do_the_teleport, user), rand(10, 30)) + addtimer(CALLBACK(src, PROC_REF(do_the_teleport), user), rand(10, 30)) /obj/item/relic/proc/do_the_teleport(mob/user) var/turf/userturf = get_turf(user) diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index c8706be46b..f88bbaa5dc 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -26,8 +26,8 @@ cached_designs = list() stored_research = new host_research = SSresearch.science_tech - INVOKE_ASYNC(src, .proc/update_research) - materials = AddComponent(/datum/component/remote_materials, "lathe", mapload, _after_insert=CALLBACK(src, .proc/AfterMaterialInsert)) + INVOKE_ASYNC(src, PROC_REF(update_research)) + materials = AddComponent(/datum/component/remote_materials, "lathe", mapload, _after_insert=CALLBACK(src, PROC_REF(AfterMaterialInsert))) RefreshParts() /obj/machinery/rnd/production/Destroy() @@ -171,8 +171,8 @@ if(production_animation) flick(production_animation, src) var/timecoeff = D.lathe_time_factor * print_cost_coeff - addtimer(CALLBACK(src, .proc/reset_busy), (20 * timecoeff * amount) ** 0.5) - addtimer(CALLBACK(src, .proc/do_print, D.build_path, amount, efficient_mats, D.dangerous_construction, usr), (20 * timecoeff * amount) ** 0.5) + addtimer(CALLBACK(src, PROC_REF(reset_busy)), (20 * timecoeff * amount) ** 0.5) + addtimer(CALLBACK(src, PROC_REF(do_print), D.build_path, amount, efficient_mats, D.dangerous_construction, usr), (20 * timecoeff * amount) ** 0.5) return TRUE /obj/machinery/rnd/production/proc/search(string) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index 01513a0b41..e37aa9118b 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -63,11 +63,11 @@ //TODO OMINOUS MACHINE SOUNDS set_busy(TRUE, "Initializing injection protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Priming nanites...", "[initial(icon_state)]_active"),40) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Injecting...", "[initial(icon_state)]_active"),70) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Activating nanites...", "[initial(icon_state)]_falling"),110) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state),130) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Priming nanites...", "[initial(icon_state)]_active"),40) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Injecting...", "[initial(icon_state)]_active"),70) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Activating nanites...", "[initial(icon_state)]_falling"),110) + addtimer(CALLBACK(src, PROC_REF(complete_injection), locked_state),130) /obj/machinery/nanite_chamber/proc/complete_injection(locked_state) //TODO MACHINE DING @@ -90,11 +90,11 @@ //TODO OMINOUS MACHINE SOUNDS set_busy(TRUE, "Initializing cleanup protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) - addtimer(CALLBACK(src, .proc/complete_removal, locked_state),130) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) + addtimer(CALLBACK(src, PROC_REF(complete_removal), locked_state),130) /obj/machinery/nanite_chamber/proc/complete_removal(locked_state) //TODO MACHINE DING diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index b00554e52c..fdc3bf6825 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -222,7 +222,7 @@ /datum/nanite_program/defib/on_trigger(comm_message) host_mob.notify_ghost_cloning("Your heart is being defibrillated by nanites. Re-enter your corpse if you want to be revived!") - addtimer(CALLBACK(src, .proc/zap), 50) + addtimer(CALLBACK(src, PROC_REF(zap)), 50) /datum/nanite_program/defib/proc/check_revivable() if(!iscarbon(host_mob)) //nonstandard biology diff --git a/code/modules/research/nanites/nanite_programs/sensor.dm b/code/modules/research/nanites/nanite_programs/sensor.dm index 260811445b..e596c690ed 100644 --- a/code/modules/research/nanites/nanite_programs/sensor.dm +++ b/code/modules/research/nanites/nanite_programs/sensor.dm @@ -36,7 +36,7 @@ /datum/nanite_program/sensor/repeat/on_trigger(comm_message) var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] - addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) + addtimer(CALLBACK(src, PROC_REF(send_code)), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat name = "Relay Signal Repeater" @@ -53,7 +53,7 @@ /datum/nanite_program/sensor/relay_repeat/on_trigger(comm_message) var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] - addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) + addtimer(CALLBACK(src, PROC_REF(send_code)), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat/send_code() var/datum/nanite_extra_setting/relay = extra_settings[NES_RELAY_CHANNEL] @@ -245,10 +245,10 @@ /datum/nanite_program/sensor/voice/on_mob_add() . = ..() - RegisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) + RegisterSignal(host_mob, COMSIG_MOVABLE_HEAR, PROC_REF(on_hear)) /datum/nanite_program/sensor/voice/on_mob_remove() - UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) + UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR, PROC_REF(on_hear)) /datum/nanite_program/sensor/voice/proc/on_hear(datum/source, list/hearing_args) var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index b9fa0db22f..279336e749 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -84,7 +84,7 @@ /datum/nanite_program/explosive/on_trigger(comm_message) host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\ "You start emitting a high-pitched buzzing, and your skin begins to glow...") - addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150)) + addtimer(CALLBACK(src, PROC_REF(boom)), clamp((nanites.nanite_volume * 0.35), 25, 150)) /datum/nanite_program/explosive/proc/boom() var/nanite_amount = nanites.nanite_volume @@ -178,7 +178,7 @@ sent_directive = ES.get_value() brainwash(host_mob, sent_directive) log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[sent_directive]'.") - addtimer(CALLBACK(src, .proc/end_brainwashing), 600) + addtimer(CALLBACK(src, PROC_REF(end_brainwashing)), 600) /datum/nanite_program/comm/mind_control/proc/end_brainwashing() if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed)) diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index b7a8db4080..30287b82db 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -45,9 +45,9 @@ //TODO OMINOUS MACHINE SOUNDS set_busy(TRUE, "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),60) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state, attacker),80) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_falling"),60) + addtimer(CALLBACK(src, PROC_REF(complete_injection), locked_state, attacker),80) /obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state, mob/living/attacker) //TODO MACHINE DING @@ -72,9 +72,9 @@ locked = TRUE set_busy(TRUE, "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),40) - addtimer(CALLBACK(src, .proc/complete_cloud_change, locked_state, attacker),60) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, PROC_REF(set_busy), TRUE, "[initial(icon_state)]_falling"),40) + addtimer(CALLBACK(src, PROC_REF(complete_cloud_change), locked_state, attacker),60) /obj/machinery/public_nanite_chamber/proc/complete_cloud_change(locked_state, mob/living/attacker) locked = locked_state @@ -149,7 +149,7 @@ . = TRUE - addtimer(CALLBACK(src, .proc/try_inject_nanites, attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts + addtimer(CALLBACK(src, PROC_REF(try_inject_nanites), attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts /obj/machinery/public_nanite_chamber/proc/try_inject_nanites(mob/living/attacker) if(occupant) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 764ec28744..d7bbfec257 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -45,7 +45,7 @@ if(. & EMP_PROTECT_SELF) return stat |= EMPED - addtimer(CALLBACK(src, .proc/unemp), severity*9) + addtimer(CALLBACK(src, PROC_REF(unemp)), severity*9) refresh_working() /obj/machinery/rnd/server/proc/unemp() diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 3bcc041062..f8395d5d9e 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -68,7 +68,7 @@ var/icon/bluespace /datum/status_effect/slimerecall/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/resistField) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(resistField)) to_chat(owner, "You feel a sudden tug from an unknown force, and feel a pull to bluespace!") to_chat(owner, "Resist if you wish avoid the force!") bluespace = icon('icons/effects/effects.dmi',"chronofield") @@ -102,7 +102,7 @@ var/obj/structure/ice_stasis/cube /datum/status_effect/frozenstasis/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/breakCube) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(breakCube)) cube = new /obj/structure/ice_stasis(get_turf(owner)) owner.forceMove(cube) owner.status_flags |= GODMODE diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 614f760bab..4d441cc7f8 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -242,7 +242,7 @@ Burning extracts: /obj/item/slimecross/burning/oil/do_effect(mob/user) user.visible_message("[src] begins to shake with rapidly increasing force!") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) /obj/item/slimecross/burning/oil/proc/boom() explosion(get_turf(src), 2, 4, 4) //Same area as normal oils, but increased high-impact values by one each, then decreased light by 2. diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index 11cca1d65f..20a86cc6d8 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -173,7 +173,7 @@ Charged extracts: /obj/item/slimecross/charged/gold/do_effect(mob/user) user.visible_message("[src] starts shuddering violently!") - addtimer(CALLBACK(src, .proc/startTimer), 50) + addtimer(CALLBACK(src, PROC_REF(startTimer)), 50) /obj/item/slimecross/charged/gold/proc/startTimer() START_PROCESSING(SSobj, src) @@ -197,7 +197,7 @@ Charged extracts: /obj/item/slimecross/charged/oil/do_effect(mob/user) user.visible_message("[src] begins to shake with rapidly increasing force!") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) /obj/item/slimecross/charged/oil/proc/boom() explosion(get_turf(src), 3, 2, 1) //Much smaller effect than normal oils, but devastatingly strong where it does hit. diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm index d117e6104c..dc7f960e21 100644 --- a/code/modules/research/xenobiology/crossbreeding/chilling.dm +++ b/code/modules/research/xenobiology/crossbreeding/chilling.dm @@ -264,7 +264,7 @@ Chilling extracts: /obj/item/slimecross/chilling/oil/do_effect(mob/user) user.visible_message("[src] begins to shake with muted intensity!") - addtimer(CALLBACK(src, .proc/boom), 50) + addtimer(CALLBACK(src, PROC_REF(boom)), 50) /obj/item/slimecross/chilling/oil/proc/boom() explosion(get_turf(src), -1, -1, 10, 0) //Large radius, but mostly light damage, and no flash. diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 54f3c12922..202e0718b4 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -51,7 +51,7 @@ potion_action = new hotkey_help = new stored_slimes = list() - RegisterSignal(src, COMSIG_ATOM_CONTENTS_DEL, .proc/on_contents_del) + RegisterSignal(src, COMSIG_ATOM_CONTENTS_DEL, PROC_REF(on_contents_del)) /obj/machinery/computer/camera_advanced/xenobio/Destroy() stored_slimes = null @@ -107,12 +107,12 @@ hotkey_help.Grant(user) actions += hotkey_help - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, .proc/XenoSlimeClickCtrl) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, .proc/XenoSlimeClickAlt) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, .proc/XenoSlimeClickShift) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, .proc/XenoTurfClickShift) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, .proc/XenoTurfClickCtrl) - RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, .proc/XenoMonkeyClickCtrl) + RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, PROC_REF(XenoSlimeClickCtrl)) + RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, PROC_REF(XenoSlimeClickAlt)) + RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, PROC_REF(XenoSlimeClickShift)) + RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, PROC_REF(XenoTurfClickShift)) + RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, PROC_REF(XenoTurfClickCtrl)) + RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, PROC_REF(XenoMonkeyClickCtrl)) /obj/machinery/computer/camera_advanced/xenobio/remove_eye_control(mob/living/user) UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 438e123d64..5b4e4172a8 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -458,7 +458,7 @@ return to_chat(user, "You feel your skin harden and become more resistant.") species.armor += 25 - addtimer(CALLBACK(src, .proc/reset_armor, species), 1200) + addtimer(CALLBACK(src, PROC_REF(reset_armor), species), 1200) return 450 if(SLIME_ACTIVATE_MAJOR) diff --git a/code/modules/ruins/icemoonruin_code/hotsprings.dm b/code/modules/ruins/icemoonruin_code/hotsprings.dm index 0caf7032ce..828828024c 100644 --- a/code/modules/ruins/icemoonruin_code/hotsprings.dm +++ b/code/modules/ruins/icemoonruin_code/hotsprings.dm @@ -23,7 +23,7 @@ GLOBAL_LIST_EMPTY(cursed_minds) if(GLOB.cursed_minds[L.mind]) return GLOB.cursed_minds[L.mind] = TRUE - RegisterSignal(L.mind, COMSIG_PARENT_QDELETING, .proc/remove_from_cursed) + RegisterSignal(L.mind, COMSIG_PARENT_QDELETING, PROC_REF(remove_from_cursed)) L = wabbajack(L, "animal") // Appearance randomization removed so citadel players don't get randomized into some ungodly ugly creature and complain var/turf/T = find_safe_turf() L.forceMove(T) diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 0e9a93c106..a05d33da3c 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -302,7 +302,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) if(break_that_sucker) QDEL_IN(src, 10) else - addtimer(CALLBACK(src, .proc/rebuild), 55) + addtimer(CALLBACK(src, PROC_REF(rebuild)), 55) /obj/structure/stone_tile/proc/rebuild() pixel_x = initial(pixel_x) diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index db3cef32a2..b93222fccb 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -24,7 +24,7 @@ know it'll be worth it.
") icon_state = "slots2" playsound(src, 'sound/lavaland/cursed_slot_machine.ogg', 50, 0) - addtimer(CALLBACK(src, .proc/determine_victor, user), 50) + addtimer(CALLBACK(src, PROC_REF(determine_victor), user), 50) /obj/structure/cursed_slot_machine/proc/determine_victor(mob/living/user) icon_state = "slots1" @@ -50,7 +50,7 @@ /obj/structure/cursed_money/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/collapse), 600) + addtimer(CALLBACK(src, PROC_REF(collapse)), 600) /obj/structure/cursed_money/proc/collapse() visible_message("[src] falls in on itself, \ diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index 7326cad816..aeccbdc633 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -28,7 +28,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) /obj/machinery/keycard_auth/Initialize() . = ..() - ev = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, .proc/triggerEvent)) + ev = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, PROC_REF(triggerEvent))) /obj/machinery/keycard_auth/Destroy() GLOB.keycard_events.clearEvent("triggerEvent", ev) @@ -93,7 +93,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) event = event_type waiting = 1 GLOB.keycard_events.fireEvent("triggerEvent", src, trigger_id) - addtimer(CALLBACK(src, .proc/eventSent), 20) + addtimer(CALLBACK(src, PROC_REF(eventSent)), 20) /obj/machinery/keycard_auth/proc/eventSent() triggerer = null @@ -104,7 +104,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) icon_state = "auth_on" first_id = trigger_id event_source = source - addtimer(CALLBACK(src, .proc/eventTriggered), 20) + addtimer(CALLBACK(src, PROC_REF(eventTriggered)), 20) /obj/machinery/keycard_auth/proc/eventTriggered() icon_state = "auth_off" diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index 8322c6cdd8..c4a2ae05a7 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -197,7 +197,7 @@ if(mode != SHUTTLE_CALL) AnnounceArrival(mob, rank) else - LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC, .proc/AnnounceArrival, mob, rank)) + LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(AnnounceArrival), mob, rank)) /obj/docking_port/mobile/arrivals/vv_edit_var(var_name, var_value) switch(var_name) diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index 195e87720c..3b74997707 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -112,7 +112,7 @@ if(designate_time && (landing_clear != SHUTTLE_DOCKER_BLOCKED)) to_chat(current_user, "Targeting transit location, please wait [DisplayTimeText(designate_time)]...") designating_target_loc = the_eye.loc - var/wait_completed = do_after(current_user, designate_time, FALSE, designating_target_loc, TRUE, CALLBACK(src, /obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget)) + var/wait_completed = do_after(current_user, designate_time, FALSE, designating_target_loc, TRUE, CALLBACK(src, TYPE_PROC_REF(/obj/machinery/computer/camera_advanced/shuttle_docker, canDesignateTarget))) designating_target_loc = null if(!current_user) return diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 0f66febf54..45393dabf0 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -181,7 +181,7 @@ All ShuttleMove procs go here for(var/obj/machinery/door/airlock/A in range(1, src)) // includes src A.shuttledocked = FALSE A.air_tight = TRUE - addtimer(CALLBACK(A, /obj/machinery/door/.proc/close), 0) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/door, close)), 0) /obj/machinery/door/airlock/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() @@ -390,4 +390,4 @@ All ShuttleMove procs go here /obj/effect/abstract/proximity_checker/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) //timer so it only happens once - addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) + addtimer(CALLBACK(monitor, TYPE_PROC_REF(/datum/proximity_monitor, SetRange), monitor.current_range, TRUE), 0, TIMER_UNIQUE) diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index 4bf6eac0eb..824c1843ba 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -14,7 +14,7 @@ /obj/effect/abstract/ripple/Initialize(mapload, time_left) . = ..() animate(src, alpha=255, time=time_left) - addtimer(CALLBACK(src, .proc/stop_animation), 8, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(stop_animation)), 8, TIMER_CLIENT_TIME) /obj/effect/abstract/ripple/proc/stop_animation() icon_state = "medi_holo_no_anim" diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 8fcce73a91..dbc0af7c5b 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -94,7 +94,7 @@ L.visible_message("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious.", "[desc]") // Don't let them sit suround unconscious forever - addtimer(CALLBACK(src, .proc/sleeper_dreams, L), 100) + addtimer(CALLBACK(src, PROC_REF(sleeper_dreams), L), 100) // Existing sleepers for(var/i in found) diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm index 8a615750e0..1667bcf21b 100644 --- a/code/modules/spells/spell_types/area_teleport.dm +++ b/code/modules/spells/spell_types/area_teleport.dm @@ -15,7 +15,7 @@ return invocation(thearea,user) if(charge_type == "recharge" && recharge) - INVOKE_ASYNC(src, .proc/start_recharge) + INVOKE_ASYNC(src, PROC_REF(start_recharge)) cast(targets,thearea,user) after_cast(targets) diff --git a/code/modules/spells/spell_types/cone_spells.dm b/code/modules/spells/spell_types/cone_spells.dm index 26dd157986..10096171b7 100644 --- a/code/modules/spells/spell_types/cone_spells.dm +++ b/code/modules/spells/spell_types/cone_spells.dm @@ -114,4 +114,4 @@ var/list/cone_turfs = cone_helper(get_turf(user), user.dir, cone_levels) for(var/list/turf_list in cone_turfs) level_counter++ - addtimer(CALLBACK(src, .proc/do_cone_effects, turf_list, level_counter), 2 * level_counter) + addtimer(CALLBACK(src, PROC_REF(do_cone_effects), turf_list, level_counter), 2 * level_counter) diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index e8f3ab7d06..ad8b214c65 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -213,7 +213,7 @@ target.playsound_local(get_turf(target), 'sound/hallucinations/i_see_you1.ogg', 50, 1) user.playsound_local(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1) target.become_blind(ABYSSAL_GAZE_BLIND) - addtimer(CALLBACK(src, .proc/cure_blindness, target), 40) + addtimer(CALLBACK(src, PROC_REF(cure_blindness), target), 40) target.adjust_bodytemperature(-200) /obj/effect/proc_holder/spell/targeted/abyssal_gaze/proc/cure_blindness(mob/target) diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm index 3b76107905..8dd57df043 100644 --- a/code/modules/spells/spell_types/devil.dm +++ b/code/modules/spells/spell_types/devil.dm @@ -161,7 +161,7 @@ client.eye = src visible_message("[src] appears in a fiery blaze!") playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1) - addtimer(CALLBACK(src, .proc/fakefireextinguish), 15, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(fakefireextinguish)), 15, TIMER_UNIQUE) /obj/effect/proc_holder/spell/targeted/sintouch name = "Sin Touch" diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index e3f242c3b5..dda669eaa0 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -19,7 +19,7 @@ /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets,mob/user = usr) //magnets, so mostly hardcoded play_sound("enter",user) for(var/mob/living/target in targets) - INVOKE_ASYNC(src, .proc/do_jaunt, target) + INVOKE_ASYNC(src, PROC_REF(do_jaunt), target) /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/proc/do_jaunt(mob/living/target) target.mob_transforming = 1 diff --git a/code/modules/spells/spell_types/genetic.dm b/code/modules/spells/spell_types/genetic.dm index 8a71ac617e..98c641db53 100644 --- a/code/modules/spells/spell_types/genetic.dm +++ b/code/modules/spells/spell_types/genetic.dm @@ -28,7 +28,7 @@ for(var/A in traits) ADD_TRAIT(target, A, GENETICS_SPELL) active_on += target - addtimer(CALLBACK(src, .proc/remove, target), duration) + addtimer(CALLBACK(src, PROC_REF(remove), target), duration) /obj/effect/proc_holder/spell/targeted/genetic/Destroy() . = ..() diff --git a/code/modules/spells/spell_types/knock.dm b/code/modules/spells/spell_types/knock.dm index e622b4a1ca..23f17b6c69 100644 --- a/code/modules/spells/spell_types/knock.dm +++ b/code/modules/spells/spell_types/knock.dm @@ -16,9 +16,9 @@ SEND_SOUND(user, sound('sound/magic/knock.ogg')) for(var/turf/T in targets) for(var/obj/machinery/door/door in T.contents) - INVOKE_ASYNC(src, .proc/open_door, door) + INVOKE_ASYNC(src, PROC_REF(open_door), door) for(var/obj/structure/closet/C in T.contents) - INVOKE_ASYNC(src, .proc/open_closet, C) + INVOKE_ASYNC(src, PROC_REF(open_closet), C) /obj/effect/proc_holder/spell/aoe_turf/knock/proc/open_door(obj/machinery/door/door) if(istype(door, /obj/machinery/door/airlock)) diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index 2cbec7d433..3b2173e4e1 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -111,7 +111,7 @@ return if(!mind.current || (mind.current && mind.current.stat == DEAD)) - addtimer(CALLBACK(src, .proc/rise), respawn_time, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(rise)), respawn_time, TIMER_UNIQUE) /obj/item/phylactery/proc/rise() if(mind.current && mind.current.stat != DEAD) diff --git a/code/modules/spells/spell_types/spacetime_distortion.dm b/code/modules/spells/spell_types/spacetime_distortion.dm index 5797cbf8b7..873e5652e6 100644 --- a/code/modules/spells/spell_types/spacetime_distortion.dm +++ b/code/modules/spells/spell_types/spacetime_distortion.dm @@ -35,7 +35,7 @@ perform(turf_steps,user=user) /obj/effect/proc_holder/spell/spacetime_dist/after_cast(list/targets) - addtimer(CALLBACK(src, .proc/clean_turfs), duration) + addtimer(CALLBACK(src, PROC_REF(clean_turfs)), duration) /obj/effect/proc_holder/spell/spacetime_dist/cast(list/targets, mob/user = usr) effects = list() diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 09ff6b6390..bc59cde62e 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -35,7 +35,7 @@ items_list += I // ayy only dropped signal for performance, we can't possibly have shitcode that doesn't call it when removing items from a mob, right? // .. right??! - RegisterSignal(I, COMSIG_ITEM_DROPPED, .proc/magnetic_catch) + RegisterSignal(I, COMSIG_ITEM_DROPPED, PROC_REF(magnetic_catch)) /obj/item/organ/cyberimp/arm/proc/magnetic_catch(datum/source, mob/user) . = COMPONENT_DROPPED_RELOCATION @@ -289,7 +289,7 @@ /obj/item/organ/cyberimp/arm/shield/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = TRUE) . = ..() if(.) - RegisterSignal(M, COMSIG_LIVING_ACTIVE_BLOCK_START, .proc/on_signal) + RegisterSignal(M, COMSIG_LIVING_ACTIVE_BLOCK_START, PROC_REF(on_signal)) /obj/item/organ/cyberimp/arm/shield/Remove(special = FALSE) UnregisterSignal(owner, COMSIG_LIVING_ACTIVE_BLOCK_START) diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index e1b198ade2..428a6cb427 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -24,7 +24,7 @@ synthesizing = TRUE to_chat(owner, "You feel less hungry...") owner.adjust_nutrition(50) - addtimer(CALLBACK(src, .proc/synth_cool), 50) + addtimer(CALLBACK(src, PROC_REF(synth_cool)), 50) /obj/item/organ/cyberimp/chest/nutriment/proc/synth_cool() synthesizing = FALSE @@ -69,7 +69,7 @@ else if(!do_heal) convalescence_time = world.time + DEF_CONVALESCENCE_TIME if(. && (do_heal || world.time < convalescence_time)) - addtimer(CALLBACK(src, .proc/heal), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(heal)), 3 SECONDS) else cooldown = revive_cost + world.time reviving = FALSE @@ -117,7 +117,7 @@ if(H.stat != DEAD && prob(severity/2) && H.can_heartattack()) H.set_heartattack(TRUE) to_chat(H, "You feel a horrible agony in your chest!") - addtimer(CALLBACK(src, .proc/undo_heart_attack), (60 * severity/100) SECONDS) + addtimer(CALLBACK(src, PROC_REF(undo_heart_attack)), (60 * severity/100) SECONDS) /obj/item/organ/cyberimp/chest/reviver/proc/undo_heart_attack() var/mob/living/carbon/human/H = owner @@ -166,7 +166,7 @@ on = TRUE if(allow_thrust(0.01)) ion_trail.start() - RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) owner.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic) if(!silent) to_chat(owner, "You turn your thrusters set on.") diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 0179f9966c..44370b662b 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -112,7 +112,7 @@ return crit_fail = TRUE organ_flags |= ORGAN_FAILING - addtimer(CALLBACK(src, .proc/reboot), 0.9 * severity) + addtimer(CALLBACK(src, PROC_REF(reboot)), 0.9 * severity) /obj/item/organ/cyberimp/brain/anti_stun/proc/reboot() crit_fail = FALSE diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index bdbd58af99..556a977b46 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -90,12 +90,12 @@ if(!.) return var/old_damaged = eye_damaged - switch(damage) - if(INFINITY to maxHealth) + if(damage) + if(damage >= maxHealth) eye_damaged = BLIND_VISION_THREE - if(maxHealth to high_threshold) + if(damage >= high_threshold && damage < maxHealth) eye_damaged = BLURRY_VISION_TWO - if(high_threshold to low_threshold) + if(damage >= low_threshold && damage < high_threshold) eye_damaged = BLURRY_VISION_ONE else eye_damaged = FALSE @@ -330,7 +330,7 @@ if(!silent) to_chat(owner, "Your [src] clicks and makes a whining noise, before shooting out a beam of light!") active = TRUE - RegisterSignal(owner, COMSIG_ATOM_DIR_CHANGE, .proc/update_visuals) + RegisterSignal(owner, COMSIG_ATOM_DIR_CHANGE, PROC_REF(update_visuals)) cycle_mob_overlay() /obj/item/organ/eyes/robotic/glow/proc/deactivate(silent = FALSE) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index b723dcfbd6..50daa1899d 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -31,7 +31,7 @@ /obj/item/organ/heart/Remove(special = FALSE) if(!special) - addtimer(CALLBACK(src, .proc/stop_if_unowned), 12 SECONDS) + addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 12 SECONDS) return ..() /obj/item/organ/heart/proc/stop_if_unowned() @@ -44,7 +44,7 @@ user.visible_message("[user] squeezes [src] to \ make it beat again!","You squeeze [src] to make it beat again!") Restart() - addtimer(CALLBACK(src, .proc/stop_if_unowned), 80) + addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 80) /obj/item/organ/heart/proc/Stop() beating = 0 @@ -198,7 +198,7 @@ if(. & EMP_PROTECT_SELF) return Stop() - addtimer(CALLBACK(src, .proc/Restart), 0.2*severity SECONDS) + addtimer(CALLBACK(src, PROC_REF(Restart)), 0.2*severity SECONDS) damage += severity /obj/item/organ/heart/cybernetic/upgraded diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 1f9c941c0e..3469a22b6e 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -33,7 +33,7 @@ /obj/item/organ/Initialize() . = ..() if(organ_flags & ORGAN_EDIBLE) - AddComponent(/datum/component/edible, food_reagents, null, RAW | MEAT | GROSS, null, 10, null, null, null, CALLBACK(src, .proc/OnEatFrom)) + AddComponent(/datum/component/edible, food_reagents, null, RAW | MEAT | GROSS, null, 10, null, null, null, CALLBACK(src, PROC_REF(OnEatFrom))) START_PROCESSING(SSobj, src) /obj/item/organ/Destroy() diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 195abbcc5b..af5e3748d7 100644 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -132,8 +132,8 @@ /obj/item/organ/stomach/ethereal/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() - RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/charge) - RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_electrocute) + RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(charge)) + RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_electrocute)) /obj/item/organ/stomach/ethereal/Remove(mob/living/carbon/M, special = 0) UnregisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index b2d484ad29..f8d65c1784 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -60,15 +60,15 @@ if(say_mod && M.dna && M.dna.species) M.dna.species.say_mod = say_mod if(length(initial_accents) || length(accents)) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) M.UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/organ/tongue/Remove(special = FALSE) if(!QDELETED(owner)) if(say_mod && owner.dna?.species) owner.dna.species.say_mod = initial(owner.dna.species.say_mod) - UnregisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) - owner.RegisterSignal(owner, COMSIG_MOB_SAY, /mob/living/carbon/.proc/handle_tongueless_speech) + UnregisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + owner.RegisterSignal(owner, COMSIG_MOB_SAY, TYPE_PROC_REF(/mob/living/carbon, handle_tongueless_speech)) return ..() /obj/item/organ/tongue/could_speak_language(language) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 2e071f7630..63f77d34c1 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -365,7 +365,7 @@ text = devilinfo.truename else text = L.real_name - addtimer(CALLBACK(L, /atom/movable/proc/say, text), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), text), 5 * i) i++ //SAY MY NAME @@ -373,7 +373,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /atom/movable/proc/say, user.name), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), user.name), 5 * i) i++ //KNOCK KNOCK @@ -381,7 +381,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /atom/movable/proc/say, "Who's there?"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), "Who's there?"), 5 * i) i++ //STATE LAWS @@ -405,7 +405,7 @@ for(var/iter in 1 to 5 * power_multiplier) for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(GLOBAL_PROC, .proc/_step, L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1)) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(_step), L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1)) //WALK else if((findtext(message, walk_words))) @@ -428,7 +428,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_HELP), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //DISARM INTENT @@ -436,7 +436,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_DISARM), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //GRAB INTENT @@ -444,7 +444,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_GRAB), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //HARM INTENT @@ -452,7 +452,7 @@ cooldown = COOLDOWN_MEME for(var/mob/living/carbon/human/H in listeners) addtimer(CALLBACK(H, /mob/verb/a_intent_change, INTENT_HARM), i * 2) - addtimer(CALLBACK(H, /mob/proc/click_random_mob), i * 2) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, click_random_mob)), i * 2) i++ //THROW/CATCH @@ -494,7 +494,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "dance"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "dance"), 5 * i) i++ //JUMP @@ -503,8 +503,8 @@ for(var/V in listeners) var/mob/living/L = V if(prob(25)) - addtimer(CALLBACK(L, /atom/movable/proc/say, "HOW HIGH?!!"), 5 * i) - addtimer(CALLBACK(L, /mob/living/.proc/emote, "jump"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), "HOW HIGH?!!"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "jump"), 5 * i) i++ //SALUTE @@ -512,7 +512,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "salute"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "salute"), 5 * i) i++ //PLAY DEAD @@ -520,7 +520,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "deathgasp"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "deathgasp"), 5 * i) i++ //PLEASE CLAP @@ -528,7 +528,7 @@ cooldown = COOLDOWN_MEME for(var/V in listeners) var/mob/living/L = V - addtimer(CALLBACK(L, /mob/living/.proc/emote, "clap"), 5 * i) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, emote), "clap"), 5 * i) i++ else @@ -733,7 +733,7 @@ else E.enthrallTally += power_multiplier*1.25 //thinking about it, I don't know how this can proc if(E.lewd) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "[E.enthrallGender] is so nice to listen to."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "[E.enthrallGender] is so nice to listen to."), 5) E.cooldown += 1 //REWARD mixable works @@ -745,13 +745,13 @@ if(L == user) continue if (E.lewd) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "[E.enthrallGender] has praised me!!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "[E.enthrallGender] has praised me!!"), 5) if(HAS_TRAIT(L, TRAIT_MASO)) E.enthrallTally -= power_multiplier E.resistanceTally += power_multiplier E.cooldown += 1 else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "I've been praised for doing a good job!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "I've been praised for doing a good job!"), 5) E.resistanceTally -= power_multiplier E.enthrallTally += power_multiplier var/descmessage = "[(E.lewd?"I feel so happy! I'm a good pet who [E.enthrallGender] loves!":"I did a good job!")]" @@ -774,11 +774,11 @@ descmessage += "And yet, it feels so good..!" //I don't really understand masco, is this the right sort of thing they like? E.enthrallTally += power_multiplier E.resistanceTally -= power_multiplier - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "I've let [E.enthrallGender] down...!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "I've let [E.enthrallGender] down...!"), 5) else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "I've let [E.enthrallGender] down..."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "I've let [E.enthrallGender] down..."), 5) else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "I've failed [E.master]..."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "I've failed [E.master]..."), 5) E.resistanceTally += power_multiplier E.enthrallTally += power_multiplier E.cooldown += 1 @@ -812,9 +812,9 @@ E.status = null user.emote("snap") if(E.lewd) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "The snapping of your [E.enthrallGender]'s fingers brings you back to your enthralled state, obedient and ready to serve."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "The snapping of your [E.enthrallGender]'s fingers brings you back to your enthralled state, obedient and ready to serve."), 5) else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "The snapping of [E.master]'s fingers brings you back to being under their influence."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "The snapping of [E.master]'s fingers brings you back to being under their influence."), 5) to_chat(user, "You wake up [L]!") //tier 1 @@ -831,7 +831,7 @@ if(0) continue if(1) - addtimer(CALLBACK(H, /atom/movable/proc/say, "I feel happy being with you."), 5) + addtimer(CALLBACK(H, TYPE_PROC_REF(/atom/movable, say), "I feel happy being with you."), 5) continue if(2) speaktrigger += "[(E.lewd?"I think I'm in love with you... ":"I find you really inspirational, ")]" //' @@ -947,7 +947,7 @@ ADD_TRAIT(C, TRAIT_MUTE, "enthrall") else C.silent += ((10 * power_multiplier) * E.phase) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You are unable to speak!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You are unable to speak!"), 5) to_chat(user, "You silence [C].") E.cooldown += 3 @@ -967,7 +967,7 @@ var/mob/living/L = V var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall) E.status = "Antiresist" - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "Your mind clouds over, as you find yourself unable to resist!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "Your mind clouds over, as you find yourself unable to resist!"), 5) E.statusStrength = (1 * power_multiplier * E.phase) E.cooldown += 15//Too short? yes, made 15 to_chat(user, "You frustrate [L]'s attempts at resisting.") @@ -980,7 +980,7 @@ E.deltaResist += (power_multiplier) E.owner_resist() E.cooldown += 2 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You are spurred into resisting from [user]'s words!'"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You are spurred into resisting from [user]'s words!'"), 5) to_chat(user, "You spark resistance in [C].") //FORGET (A way to cancel the process) @@ -988,9 +988,9 @@ for(var/mob/living/carbon/C in listeners) var/datum/status_effect/chem/enthrall/E = C.has_status_effect(/datum/status_effect/chem/enthrall) if(E.phase == 4) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You're unable to forget about [(E.lewd?"the dominating presence of [E.enthrallGender]":"[E.master]")]!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You're unable to forget about [(E.lewd?"the dominating presence of [E.enthrallGender]":"[E.master]")]!"), 5) continue - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You wake up, forgetting everything that just happened. You must've dozed off..? How embarassing!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You wake up, forgetting everything that just happened. You must've dozed off..? How embarassing!"), 5) C.Sleeping(50) switch(E.phase) if(1 to 2) @@ -1001,9 +1001,9 @@ E.phase = 0 E.cooldown = 0 if(E.lewd) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You revert to yourself before being enthralled by your [E.enthrallGender], with no memory of what happened."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You revert to yourself before being enthralled by your [E.enthrallGender], with no memory of what happened."), 5) else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You revert to who you were before, with no memory of what happened with [E.master]."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You revert to who you were before, with no memory of what happened with [E.master]."), 5) to_chat(user, "You put [C] into a sleeper state, ready to turn them back at the snap of your fingers.") //ATTRACT @@ -1013,7 +1013,7 @@ var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall) L.throw_at(get_step_towards(user,L), 3 * power_multiplier, 1 * power_multiplier) E.cooldown += 3 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You are drawn towards [user]!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You are drawn towards [user]!"), 5) to_chat(user, "You draw [L] towards you!") //SLEEP @@ -1024,7 +1024,7 @@ if(2 to INFINITY) C.Sleeping(45 * power_multiplier) E.cooldown += 10 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "Drowsiness suddenly overwhelms you as you fall asleep!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "Drowsiness suddenly overwhelms you as you fall asleep!"), 5) to_chat(user, "You send [C] to sleep.") //STRIP @@ -1038,7 +1038,7 @@ for(var/obj/item/W in items) if(W == H.wear_suit) H.dropItemToGround(W, TRUE) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "Before you can even think about it, you quickly remove your clothes in response to [(E.lewd?"your [E.enthrallGender]'s command'":"[E.master]'s directive'")]."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), H, "Before you can even think about it, you quickly remove your clothes in response to [(E.lewd?"your [E.enthrallGender]'s command'":"[E.master]'s directive'")]."), 5) E.cooldown += 10 //WALK @@ -1051,7 +1051,7 @@ if(L.m_intent != MOVE_INTENT_WALK) L.toggle_move_intent() E.cooldown += 1 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You slow down to a walk."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You slow down to a walk."), 5) to_chat(user, "You encourage [L] to slow down.") //RUN @@ -1064,7 +1064,7 @@ if(L.m_intent != MOVE_INTENT_RUN) L.toggle_move_intent() E.cooldown += 1 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You speed up into a jog!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You speed up into a jog!"), 5) to_chat(user, "You encourage [L] to pick up the pace!") //LIE DOWN @@ -1076,7 +1076,7 @@ if(2 to INFINITY) L.lay_down() E.cooldown += 10 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "[(E.lewd?"You eagerly lie down!":"You suddenly lie down!")]"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "[(E.lewd?"You eagerly lie down!":"You suddenly lie down!")]"), 5) to_chat(user, "You encourage [L] to lie down.") //KNOCKDOWN @@ -1088,7 +1088,7 @@ if(2 to INFINITY) L.DefaultCombatKnockdown(30 * power_multiplier * E.phase) E.cooldown += 8 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You suddenly drop to the ground!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You suddenly drop to the ground!"), 5) to_chat(user, "You encourage [L] to drop down to the ground.") //tier3 @@ -1107,7 +1107,7 @@ for (var/trigger in E.customTriggers) speaktrigger += "[trigger], " to_chat(user, "[C] whispers, \"[speaktrigger] are my triggers.\"")//So they don't trigger themselves! - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You whisper your triggers to [(E.lewd?"Your [E.enthrallGender]":"[E.master]")]."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "You whisper your triggers to [(E.lewd?"Your [E.enthrallGender]":"[E.master]")]."), 5) //CUSTOM TRIGGERS @@ -1142,7 +1142,7 @@ E.customTriggers[trigger] = trigger2 log_reagent("FERMICHEM: [H] has been implanted by [user] with [trigger], triggering [trigger2].") E.mental_capacity -= 5 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "[(E.lewd?"your [E.enthrallGender]":"[E.master]")] whispers you a new trigger."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), H, "[(E.lewd?"your [E.enthrallGender]":"[E.master]")] whispers you a new trigger."), 5) to_chat(user, "You sucessfully set the trigger word [trigger] in [H]") else to_chat(user, "Your pet looks at you confused, it seems they don't understand that effect!") @@ -1204,7 +1204,7 @@ objective = replacetext(lowertext(objective), "suicide", "self-love") message_admins("[H] has been implanted by [user] with the objective [objective].") log_reagent("FERMICHEM: [H] has been implanted by [user] with the objective [objective] via MKUltra.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "[(E.lewd?"Your [E.enthrallGender]":"[E.master]")] whispers you a new objective."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), H, "[(E.lewd?"Your [E.enthrallGender]":"[E.master]")] whispers you a new objective."), 5) brainwash(H, objective) E.mental_capacity -= 200 to_chat(user, "You sucessfully give an objective to [H]") @@ -1233,7 +1233,7 @@ if(E.phase > 1) if(user.ckey == E.enthrallID && user.real_name == E.master.real_name) E.master = user - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "[(E.lewd?"You hear the words of your [E.enthrallGender] again!! They're back!!":"You recognise the voice of [E.master].")]"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), H, "[(E.lewd?"You hear the words of your [E.enthrallGender] again!! They're back!!":"You recognise the voice of [E.master].")]"), 5) to_chat(user, "[H] looks at you with sparkling eyes, recognising you!") //I dunno how to do state objectives without them revealing they're an antag @@ -1248,7 +1248,7 @@ E.status = "heal" E.statusStrength = (5 * power_multiplier) E.cooldown += 5 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You begin to lick your wounds."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You begin to lick your wounds."), 5) L.Stun(15 * power_multiplier) to_chat(user, "[L] begins to lick their wounds.") @@ -1261,7 +1261,7 @@ if(3 to INFINITY) L.Stun(40 * power_multiplier) E.cooldown += 8 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "Your muscles freeze up!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "Your muscles freeze up!"), 5) to_chat(user, "You cause [L] to freeze up!") //HALLUCINATE @@ -1282,7 +1282,7 @@ switch(E.phase) if(3 to INFINITY) L.adjust_bodytemperature(50 * power_multiplier)//This seems nuts, reduced it, but then it didn't do anything, so I reverted it. - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You feel your metabolism speed up!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You feel your metabolism speed up!"), 5) to_chat(user, "You speed [L]'s metabolism up!") //COLD @@ -1293,7 +1293,7 @@ switch(E.phase) if(3 to INFINITY) L.adjust_bodytemperature(-50 * power_multiplier) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You feel your metabolism slow down!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You feel your metabolism slow down!"), 5) to_chat(user, "You slow [L]'s metabolism down!") //GET UP @@ -1307,7 +1307,7 @@ L.SetAllImmobility(0) L.SetUnconscious(0) //i said get up i don't care if you're being tased E.cooldown += 10 //This could be really strong - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You jump to your feet from sheer willpower!"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You jump to your feet from sheer willpower!"), 5) to_chat(user, "You spur [L] to their feet!") //PACIFY @@ -1319,7 +1319,7 @@ if(3)//Tier 3 only E.status = "pacify" E.cooldown += 10 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "You feel like never hurting anyone ever again."), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), L, "You feel like never hurting anyone ever again."), 5) to_chat(user, "You remove any intent to harm from [L]'s mind.") //CHARGE diff --git a/code/modules/tgs/v3210/api.dm b/code/modules/tgs/v3210/api.dm index 6382325100..db519bd3dd 100644 --- a/code/modules/tgs/v3210/api.dm +++ b/code/modules/tgs/v3210/api.dm @@ -92,7 +92,7 @@ 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 - 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 return TRUE /datum/tgs_api/v3210/OnTopic(T) diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index b51146fffe..6980854c1f 100644 --- a/code/modules/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui_panel/tgui_panel.dm @@ -16,7 +16,7 @@ /datum/tgui_panel/New(client/client) src.client = client window = new(client, "browseroutput") - window.subscribe(src, .proc/on_message) + window.subscribe(src, PROC_REF(on_message)) /datum/tgui_panel/Del() window.unsubscribe(src) @@ -51,7 +51,7 @@ window.send_asset(get_asset_datum(/datum/asset/spritesheet/chat)) // Other setup request_telemetry() - addtimer(CALLBACK(src, .proc/on_initialize_timed_out), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(on_initialize_timed_out)), 5 SECONDS) /** * private diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index ab7dc91739..4a71d8a1b3 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -88,7 +88,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/unit_tests/combat.dm b/code/modules/unit_tests/combat.dm index 1bf0883bd7..79a94f2a47 100644 --- a/code/modules/unit_tests/combat.dm +++ b/code/modules/unit_tests/combat.dm @@ -53,9 +53,9 @@ var/mob/living/carbon/human/victim = allocate(/mob/living/carbon/human) var/obj/item/storage/toolbox/toolbox = allocate(/obj/item/storage/toolbox) - RegisterSignal(toolbox, COMSIG_ITEM_PRE_ATTACK, .proc/pre_attack_hit) - RegisterSignal(toolbox, COMSIG_ITEM_ATTACK, .proc/attack_hit) - RegisterSignal(toolbox, COMSIG_ITEM_AFTERATTACK, .proc/post_attack_hit) + RegisterSignal(toolbox, COMSIG_ITEM_PRE_ATTACK, PROC_REF(pre_attack_hit)) + RegisterSignal(toolbox, COMSIG_ITEM_ATTACK, PROC_REF(attack_hit)) + RegisterSignal(toolbox, COMSIG_ITEM_AFTERATTACK, PROC_REF(post_attack_hit)) attacker.put_in_active_hand(toolbox, forced = TRUE) attacker.a_intent_change(INTENT_HARM) diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index f17a81693c..2765ea3a8a 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -134,7 +134,7 @@ // playsound(src, 'sound/vehicles/skateboard_roll.ogg', 50, TRUE) // if(prob (25)) // sparks.start() //the most radical way to start plasma fires -// addtimer(CALLBACK(src, .proc/grind), 2) +// addtimer(CALLBACK(src, PROC_REF(grind)), 2) // return // else // grinding = FALSE diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index 4ceb6a3a20..c41c204b92 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -23,7 +23,7 @@ /obj/vehicle/ridden/wheelchair/ComponentInitialize() //Since it's technically a chair I want it to have chair properties . = ..() - AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate),CALLBACK(src, .proc/can_be_rotated),null) + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, PROC_REF(can_user_rotate)),CALLBACK(src, PROC_REF(can_be_rotated)),null) /obj/vehicle/ridden/wheelchair/obj_destruction(damage_flag) new /obj/item/stack/rods(drop_location(), 1) diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 031027080a..d8bb138e28 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -65,7 +65,7 @@ not even death can stop, you will rise again!") var/revive_time = rand(revive_time_min, revive_time_max) var/flags = TIMER_STOPPABLE - timer_id = addtimer(CALLBACK(src, .proc/zombify), revive_time, flags) + timer_id = addtimer(CALLBACK(src, PROC_REF(zombify)), revive_time, flags) /obj/item/organ/zombie_infection/proc/zombify() timer_id = null diff --git a/debug_server.dll b/debug_server.dll new file mode 100644 index 0000000000..e87b692dce Binary files /dev/null and b/debug_server.dll differ diff --git a/dependencies.sh b/dependencies.sh index 69d037643a..cbddc454c8 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -8,11 +8,11 @@ export BYOND_MAJOR=514 export BYOND_MINOR=1584 #rust_g git tag -export RUST_G_VERSION=0.5.0 +export RUST_G_VERSION=3.1.0 #node version -export NODE_VERSION=14 -export NODE_VERSION_PRECISE=14.16.1 +export NODE_VERSION=18 +export NODE_VERSION_PRECISE=18.13.0 # SpacemanDMM git tag export SPACEMAN_DMM_VERSION=suite-1.7.2 diff --git a/fortune13.dme b/fortune13.dme index ba9ee11f39..e91ea72a3c 100644 --- a/fortune13.dme +++ b/fortune13.dme @@ -18,7 +18,7 @@ #include "_maps\templates\dungeons\dungeons.dm" #include "code\_compile_options.dm" #include "code\world.dm" -#include "code\__DEFINES\_auxtools.dm" +#include "code\_byond_version_compat.dm" #include "code\__DEFINES\_globals.dm" #include "code\__DEFINES\_helpers.dm" #include "code\__DEFINES\_protect.dm" @@ -28,6 +28,7 @@ #include "code\__DEFINES\antagonists.dm" #include "code\__DEFINES\atmospherics.dm" #include "code\__DEFINES\atom_hud.dm" +#include "code\__DEFINES\bindings.dm" #include "code\__DEFINES\botany.dm" #include "code\__DEFINES\callbacks.dm" #include "code\__DEFINES\cargo.dm" @@ -154,8 +155,8 @@ #include "code\__DEFINES\skills\helpers.dm" #include "code\__DEFINES\storage\_storage.dm" #include "code\__DEFINES\storage\volumetrics.dm" +#include "code\__HELPERS\_auxtools_api.dm" #include "code\__HELPERS\_cit_helpers.dm" -#include "code\__HELPERS\_extools_api.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" #include "code\__HELPERS\_string_lists.dm" diff --git a/modular_BD2/blacksmith/code/anvil.dm b/modular_BD2/blacksmith/code/anvil.dm index 8f271ef1f0..85c2275bde 100644 --- a/modular_BD2/blacksmith/code/anvil.dm +++ b/modular_BD2/blacksmith/code/anvil.dm @@ -115,7 +115,7 @@ GLOBAL_LIST_INIT(anvil_recipes, list( /obj/structure/blacksmith/anvil/Initialize(mapload) . = ..() - RegisterSignal(src, COMSIG_CLICK_ALT, .proc/ResetAnvil) // emergency way to reset the anvil incase something goes wrong. + RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(ResetAnvil)) // emergency way to reset the anvil incase something goes wrong. currentquality = anvilquality /obj/structure/blacksmith/anvil/attackby(obj/item/I, mob/user) diff --git a/modular_BD2/kitchen_50s/code/kitchen_50s.dm b/modular_BD2/kitchen_50s/code/kitchen_50s.dm index 541ecf85ee..7aedd23733 100644 --- a/modular_BD2/kitchen_50s/code/kitchen_50s.dm +++ b/modular_BD2/kitchen_50s/code/kitchen_50s.dm @@ -312,7 +312,7 @@ busy = TRUE playsound(src, 'modular_BD2/kitchen_50s/sound/washing.ogg', 85, 0) update_icon() - addtimer(CALLBACK(src, .proc/wash_cycle), 200) + addtimer(CALLBACK(src, PROC_REF(wash_cycle)), 200) START_PROCESSING(SSfastprocess, src) return TRUE diff --git a/modular_citadel/code/datums/components/souldeath.dm b/modular_citadel/code/datums/components/souldeath.dm index ab45210a46..7b0e52e49c 100644 --- a/modular_citadel/code/datums/components/souldeath.dm +++ b/modular_citadel/code/datums/components/souldeath.dm @@ -6,13 +6,13 @@ /datum/component/souldeath/Initialize() if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/equip) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/unequip) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(unequip)) /datum/component/souldeath/proc/equip(datum/source, mob/living/equipper, slot) if(!slot || equip_slot == slot) wearer = equipper - RegisterSignal(wearer, COMSIG_MOB_DEATH, .proc/die, TRUE) + RegisterSignal(wearer, COMSIG_MOB_DEATH, PROC_REF(die), TRUE) signal = TRUE else if(signal) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 7dd921ae22..7cffccf741 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -121,8 +121,8 @@ master = get_mob_by_key(enthrallID) //if(M.ckey == enthrallID) // owner.remove_status_effect(src)//At the moment, a user can enthrall themselves, toggle this back in if that should be removed. - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist) //Do resistance calc if resist is pressed# - RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/owner_hear) + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist)) //Do resistance calc if resist is pressed# + RegisterSignal(owner, COMSIG_MOVABLE_HEAR, PROC_REF(owner_hear)) mental_capacity = 500 - M.getOrganLoss(ORGAN_SLOT_BRAIN)//It's their brain! lewd = (owner.client?.prefs.cit_toggles & HYPNO) && (master.client?.prefs.cit_toggles & HYPNO) var/message = "[(lewd ? "I am a good pet for [enthrallGender]." : "[master] is a really inspirational person!")]" @@ -305,7 +305,7 @@ if(67 to 89) //anger if(prob(10)) addtimer(CALLBACK(M, /mob/verb/a_intent_change, INTENT_HARM), 2) - addtimer(CALLBACK(M, /mob/proc/click_random_mob), 2) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, click_random_mob)), 2) if(lewd) to_chat(owner, "You are overwhelmed with anger at the lack of [enthrallGender]'s presence and suddenly lash out!") else @@ -477,14 +477,14 @@ //Speak (Forces player to talk) if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2 var/saytext = "Your mouth moves on it's own before you can even catch it." - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "[saytext]"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "[saytext]"), 5) addtimer(CALLBACK(C, /atom/movable/proc/say, "[customTriggers[trigger][2]]"), 5) log_reagent("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.") //Echo (repeats message!) allows customisation, but won't display var calls! Defaults to hypnophrase. else if (lowertext(customTriggers[trigger][1]) == "echo")//trigger2 - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "[customTriggers[trigger][2]]"), 5) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(to_chat), C, "[customTriggers[trigger][2]]"), 5) //(to_chat(owner, "[customTriggers[trigger][2]]"))//trigger3 //Shocking truth! diff --git a/modular_citadel/code/modules/mentor/mentorhelp.dm b/modular_citadel/code/modules/mentor/mentorhelp.dm index d3be97f4c9..7cccdc59fd 100644 --- a/modular_citadel/code/modules/mentor/mentorhelp.dm +++ b/modular_citadel/code/modules/mentor/mentorhelp.dm @@ -8,7 +8,7 @@ //remove out mentorhelp verb temporarily to prevent spamming of mentors. remove_verb(src, /client/verb/mentorhelp) - addtimer(CALLBACK(GLOBAL_PROC, /proc/add_verb, src, /client/verb/mentorhelp), 30 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC,GLOBAL_PROC_REF(add_verb), src, /client/verb/mentorhelp), 30 SECONDS) msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) if(!msg || !mob) diff --git a/modular_citadel/code/modules/reagents/objects/clothes.dm b/modular_citadel/code/modules/reagents/objects/clothes.dm index 656a786a86..a1e4063814 100644 --- a/modular_citadel/code/modules/reagents/objects/clothes.dm +++ b/modular_citadel/code/modules/reagents/objects/clothes.dm @@ -38,14 +38,14 @@ /obj/item/clothing/head/hattip/equipped(mob/M, slot) . = ..() if (slot == SLOT_HEAD) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech) + RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/clothing/head/hattip/dropped(mob/M) . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) - addtimer(CALLBACK(src, .proc/root_and_toot), 200) + addtimer(CALLBACK(src, PROC_REF(root_and_toot)), 200) /obj/item/clothing/head/hattip/proc/root_and_toot() if(QDELETED(src) || isnull(loc)) diff --git a/modular_coyote/code/regeneration/sleepingpart/regenerate_sleeping.dm b/modular_coyote/code/regeneration/sleepingpart/regenerate_sleeping.dm index 834ca6283c..f9f1bc3be9 100644 --- a/modular_coyote/code/regeneration/sleepingpart/regenerate_sleeping.dm +++ b/modular_coyote/code/regeneration/sleepingpart/regenerate_sleeping.dm @@ -27,7 +27,7 @@ /datum/component/sleeping_regeneration/RegisterWithParent() . = ..() var/mob/living/M = parent - RegisterSignal(M, COMSIG_MOB_SLEEPING, .proc/OnSleep) + RegisterSignal(M, COMSIG_MOB_SLEEPING, PROC_REF(OnSleep)) // We need to unregister it from calling when the component is removed, this is just because it can be a permanent/stacking effect. We dont want that. /datum/component/sleeping_regeneration/UnregisterFromParent() diff --git a/rust_g.dll b/rust_g.dll index be19f57946..30f63e72f4 100755 Binary files a/rust_g.dll and b/rust_g.dll differ diff --git a/tgui/.eslintrc.yml b/tgui/.eslintrc.yml index dd85d4ca15..2dd6718725 100644 --- a/tgui/.eslintrc.yml +++ b/tgui/.eslintrc.yml @@ -368,14 +368,14 @@ rules: ## Enforce a maximum depth that blocks can be nested # max-depth: error ## Enforce a maximum line length - max-len: [error, { - code: 80, - ## Ignore imports - ignorePattern: '^(import\s.+\sfrom\s|.*require\()', - ignoreUrls: true, - ignoreRegExpLiterals: true, - ignoreStrings: true, - }] + #max-len: [error, { + # code: 80, + # ## Ignore imports + # ignorePattern: '^(import\s.+\sfrom\s|.*require\()', + # ignoreUrls: true, + # ignoreRegExpLiterals: true, + # ignoreStrings: true, + # }] ## Enforce a maximum number of lines per file # max-lines: error ## Enforce a maximum number of line of code in a function diff --git a/tgui/.yarn/releases/yarn-3.3.1.cjs b/tgui/.yarn/releases/yarn-3.3.1.cjs index 53a282e439..de18876469 100644 --- a/tgui/.yarn/releases/yarn-3.3.1.cjs +++ b/tgui/.yarn/releases/yarn-3.3.1.cjs @@ -141,7 +141,7 @@ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e. `),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Je.performRuntimeChecks=Eye;function Iye(r,e,t){var i=[],n=!1,s=(0,Se.compact)((0,Se.flatten)((0,Se.mapValues)(r.modes,function(l){return l}))),o=(0,Se.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oq(t);return e&&(0,Se.forEach)(o,function(l){var c=nq(l,a);if(c!==!1){var u=sq(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Se.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,pf.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Je.performWarningRuntimeChecks=Iye;function yye(r){var e={},t=(0,Se.keys)(r);return(0,Se.forEach)(t,function(i){var n=r[i];if((0,Se.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Je.cloneEmptyGroups=yye;function vx(r){var e=r.PATTERN;if((0,Se.isRegExp)(e))return!1;if((0,Se.isFunction)(e))return!0;if((0,Se.has)(e,"exec"))return!0;if((0,Se.isString)(e))return!1;throw Error("non exhaustive match")}Je.isCustomPattern=vx;function iq(r){return(0,Se.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Je.isShortPattern=iq;Je.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type `)+(" Root cause: "+e.errMsg+`. @@ -164,8 +164,8 @@ but found: '`+a+"'";if(n)return o+n+l;var c=(0,_s.reduce)(e,function(h,p){return but found: '`+o+"'";if(i)return s+i+a;var l=(0,_s.map)(e,function(u){return"["+(0,_s.map)(u,function(g){return(0,mf.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ra.defaultParserErrorProvider);Ra.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+r.name+"<-";return t}};Ra.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Ox.Terminal?u.terminalType.name:u instanceof Ox.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,_s.first)(e),s=n.idx,o=(0,jq.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` - appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. - For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` `),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. `+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. @@ -184,7 +184,7 @@ This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){ `+(" inside <"+r.topLevelRule.name+`> Rule. has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=twe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. `+("rule: <"+e+`> can be invoked from itself (directly or indirectly) -`)+(`without consuming any Tokens. The grammar path that causes this is: +`)+(`without consuming any Tokens. The grammar path that causes this is: `+i+` `)+` To fix this refactor your grammar to remove the left recursion. see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Ox.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wq=y(GA=>{"use strict";var rwe=GA&&GA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(GA,"__esModule",{value:!0});GA.GastRefResolverVisitor=GA.resolveGrammar=void 0;var iwe=Hn(),qq=Gt(),nwe=Cf();function swe(r,e){var t=new Jq(r,e);return t.resolveRefs(),t.errors}GA.resolveGrammar=swe;var Jq=function(r){rwe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qq.forEach)((0,qq.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:iwe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(nwe.GAstVisitor);GA.GastRefResolverVisitor=Jq});var $d=y(Lr=>{"use strict";var Fc=Lr&&Lr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Lr,"__esModule",{value:!0});Lr.nextPossibleTokensAfter=Lr.possiblePathsFrom=Lr.NextTerminalAfterAtLeastOneSepWalker=Lr.NextTerminalAfterAtLeastOneWalker=Lr.NextTerminalAfterManySepWalker=Lr.NextTerminalAfterManyWalker=Lr.AbstractNextTerminalAfterProductionWalker=Lr.NextAfterTokenWalker=Lr.AbstractNextPossibleTokensWalker=void 0;var zq=My(),Ut=Gt(),owe=Tx(),Dt=Cn(),Vq=function(r){Fc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zq.RestWalker);Lr.AbstractNextPossibleTokensWalker=Vq;var awe=function(r){Fc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,owe.first)(o),this.found=!0}},e}(Vq);Lr.NextAfterTokenWalker=awe;var Zd=function(r){Fc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zq.RestWalker);Lr.AbstractNextTerminalAfterProductionWalker=Zd;var Awe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterManyWalker=Awe;var lwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterManySepWalker=lwe;var cwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterAtLeastOneWalker=cwe;var uwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterAtLeastOneSepWalker=uwe;function Xq(r,e,t){t===void 0&&(t=[]),t=(0,Ut.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(r,n+1))}function o(c){var u=Xq(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var _=B.definition[ge],L={idx:p,def:_.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:w};g.push(L),g.push(o)}else if(B instanceof Dt.Alternative)g.push({idx:p,def:B.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:w});else if(B instanceof Dt.Rule)g.push(fwe(B,p,C,w));else throw Error("non exhaustive match")}}return u}Lr.nextPossibleTokensAfter=gwe;function fwe(r,e,t,i){var n=(0,Ut.cloneArr)(t);n.push(r.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var eC=y(_t=>{"use strict";var $q=_t&&_t.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(_t,"__esModule",{value:!0});_t.areTokenCategoriesNotUsed=_t.isStrictPrefixOfPath=_t.containsPath=_t.getLookaheadPathsForOptionalProd=_t.getLookaheadPathsForOr=_t.lookAheadSequenceFromAlternatives=_t.buildSingleAlternativeLookaheadFunction=_t.buildAlternativesLookAheadFunc=_t.buildLookaheadFuncForOptionalProd=_t.buildLookaheadFuncForOr=_t.getProdType=_t.PROD_TYPE=void 0;var sr=Gt(),_q=$d(),hwe=My(),jy=df(),YA=Cn(),pwe=Cf(),li;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(li=_t.PROD_TYPE||(_t.PROD_TYPE={}));function dwe(r){if(r instanceof YA.Option)return li.OPTION;if(r instanceof YA.Repetition)return li.REPETITION;if(r instanceof YA.RepetitionMandatory)return li.REPETITION_MANDATORY;if(r instanceof YA.RepetitionMandatoryWithSeparator)return li.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof YA.RepetitionWithSeparator)return li.REPETITION_WITH_SEPARATOR;if(r instanceof YA.Alternation)return li.ALTERNATION;throw Error("non exhaustive match")}_t.getProdType=dwe;function Cwe(r,e,t,i,n,s){var o=tJ(r,e,t),a=Kx(o)?jy.tokenStructuredMatcherNoCategories:jy.tokenStructuredMatcher;return s(o,i,a,n)}_t.buildLookaheadFuncForOr=Cwe;function mwe(r,e,t,i,n,s){var o=rJ(r,e,n,t),a=Kx(o)?jy.tokenStructuredMatcherNoCategories:jy.tokenStructuredMatcher;return s(o[0],a,i)}_t.buildLookaheadFuncForOptionalProd=mwe;function Ewe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Hx=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.checkPrefixAlternativesAmbiguities=zt.validateSomeNonEmptyLookaheadPath=zt.validateTooManyAlts=zt.RepetionCollector=zt.validateAmbiguousAlternationAlternatives=zt.validateEmptyOrAlternative=zt.getFirstNoneTerminal=zt.validateNoLeftRecursion=zt.validateRuleIsOverridden=zt.validateRuleDoesNotAlreadyExist=zt.OccurrenceValidationCollector=zt.identifyProductionForDuplicates=zt.validateGrammar=void 0;var er=Gt(),Sr=Gt(),No=Hn(),Gx=Xd(),Ef=eC(),bwe=$d(),Zs=Cn(),Yx=Cf();function Qwe(r,e,t,i,n){var s=er.map(r,function(h){return Swe(h,i)}),o=er.map(r,function(h){return jx(h,h,i)}),a=[],l=[],c=[];(0,Sr.every)(o,Sr.isEmpty)&&(a=(0,Sr.map)(r,function(h){return AJ(h,i)}),l=(0,Sr.map)(r,function(h){return lJ(h,e,i)}),c=gJ(r,e,i));var u=Pwe(r,t,i),g=(0,Sr.map)(r,function(h){return uJ(h,i)}),f=(0,Sr.map)(r,function(h){return aJ(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}zt.validateGrammar=Qwe;function Swe(r,e){var t=new oJ;r.accept(t);var i=t.allProductions,n=er.groupBy(i,nJ),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,Gx.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=sJ(l);return f&&(g.parameter=f),g});return o}function nJ(r){return(0,Gx.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+sJ(r)}zt.identifyProductionForDuplicates=nJ;function sJ(r){return r instanceof Zs.Terminal?r.terminalType.name:r instanceof Zs.NonTerminal?r.nonTerminalName:""}var oJ=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(Yx.GAstVisitor);zt.OccurrenceValidationCollector=oJ;function aJ(r,e,t,i){var n=[],s=(0,Sr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}zt.validateRuleDoesNotAlreadyExist=aJ;function vwe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}zt.validateRuleIsOverridden=vwe;function jx(r,e,t,i){i===void 0&&(i=[]);var n=[],s=tC(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),jx(r,u,t,g)});return n.concat(er.flatten(c))}zt.validateNoLeftRecursion=jx;function tC(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof Zs.NonTerminal)e.push(t.referencedRule);else if(t instanceof Zs.Alternative||t instanceof Zs.Option||t instanceof Zs.RepetitionMandatory||t instanceof Zs.RepetitionMandatoryWithSeparator||t instanceof Zs.RepetitionWithSeparator||t instanceof Zs.Repetition)e=e.concat(tC(t.definition));else if(t instanceof Zs.Alternation)e=er.flatten(er.map(t.definition,function(o){return tC(o.definition)}));else if(!(t instanceof Zs.Terminal))throw Error("non exhaustive match");var i=(0,Gx.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(tC(s))}else return e}zt.getFirstNoneTerminal=tC;var qx=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(Yx.GAstVisitor);function AJ(r,e){var t=new qx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,bwe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}zt.validateEmptyOrAlternative=AJ;function lJ(r,e,t){var i=new qx;r.accept(i);var n=i.alternations;n=(0,Sr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Ef.getLookaheadPathsForOr)(l,r,c,a),g=xwe(u,a,r,t),f=fJ(u,a,r,t);return o.concat(g,f)},[]);return s}zt.validateAmbiguousAlternationAlternatives=lJ;var cJ=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(Yx.GAstVisitor);zt.RepetionCollector=cJ;function uJ(r,e){var t=new qx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}zt.validateTooManyAlts=uJ;function gJ(r,e,t){var i=[];return(0,Sr.forEach)(r,function(n){var s=new cJ;n.accept(s);var o=s.allProductions;(0,Sr.forEach)(o,function(a){var l=(0,Ef.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Ef.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Sr.isEmpty)((0,Sr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}zt.validateSomeNonEmptyLookaheadPath=gJ;function xwe(r,e,t,i){var n=[],s=(0,Sr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Sr.forEach)(l,function(u){var g=[c];(0,Sr.forEach)(r,function(f,h){c!==h&&(0,Ef.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Ef.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Sr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function fJ(r,e,t,i){var n=[],s=(0,Sr.reduce)(r,function(o,a,l){var c=(0,Sr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Sr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Sr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(If,"__esModule",{value:!0});If.validateGrammar=If.resolveGrammar=void 0;var Wx=Gt(),Dwe=Wq(),kwe=Jx(),hJ=_d();function Rwe(r){r=(0,Wx.defaults)(r,{errMsgProvider:hJ.defaultGrammarResolverErrorProvider});var e={};return(0,Wx.forEach)(r.rules,function(t){e[t.name]=t}),(0,Dwe.resolveGrammar)(e,r.errMsgProvider)}If.resolveGrammar=Rwe;function Fwe(r){return r=(0,Wx.defaults)(r,{errMsgProvider:hJ.defaultGrammarValidatorErrorProvider}),(0,kwe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}If.validateGrammar=Fwe});var yf=y(En=>{"use strict";var rC=En&&En.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(En,"__esModule",{value:!0});En.EarlyExitException=En.NotAllInputParsedException=En.NoViableAltException=En.MismatchedTokenException=En.isRecognitionException=void 0;var Nwe=Gt(),dJ="MismatchedTokenException",CJ="NoViableAltException",mJ="EarlyExitException",EJ="NotAllInputParsedException",IJ=[dJ,CJ,mJ,EJ];Object.freeze(IJ);function Twe(r){return(0,Nwe.contains)(IJ,r.name)}En.isRecognitionException=Twe;var qy=function(r){rC(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Lwe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=dJ,s}return e}(qy);En.MismatchedTokenException=Lwe;var Owe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=CJ,s}return e}(qy);En.NoViableAltException=Owe;var Mwe=function(r){rC(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=EJ,n}return e}(qy);En.NotAllInputParsedException=Mwe;var Uwe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mJ,s}return e}(qy);En.EarlyExitException=Uwe});var Vx=y(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var Jy=HA(),cs=Gt(),Kwe=yf(),Hwe=Lx(),Gwe=Hn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function zx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=zx;zx.prototype=Error.prototype;var Ywe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,cs.has)(e,"recoveryEnabled")?e.recoveryEnabled:Gwe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yJ)},r.prototype.getTokenToInsert=function(e){var t=(0,Jy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new Kwe.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,cs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new zx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,cs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,cs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,cs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,cs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,cs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,cs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,cs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[Jy.EOF];var t=e.ruleName+e.idxInCallingRule+Hwe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,Jy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,cs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,cs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,cs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=Ywe;function yJ(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=Jy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=yJ});var Wy=y(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.getKeyForAutomaticLookahead=qt.AT_LEAST_ONE_SEP_IDX=qt.MANY_SEP_IDX=qt.AT_LEAST_ONE_IDX=qt.MANY_IDX=qt.OPTION_IDX=qt.OR_IDX=qt.BITS_FOR_ALT_IDX=qt.BITS_FOR_RULE_IDX=qt.BITS_FOR_OCCURRENCE_IDX=qt.BITS_FOR_METHOD_TYPE=void 0;qt.BITS_FOR_METHOD_TYPE=4;qt.BITS_FOR_OCCURRENCE_IDX=8;qt.BITS_FOR_RULE_IDX=12;qt.BITS_FOR_ALT_IDX=8;qt.OR_IDX=1<{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});zy.LooksAhead=void 0;var Fa=eC(),$s=Gt(),wJ=Hn(),Na=Wy(),Nc=Xd(),qwe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,$s.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wJ.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,$s.has)(e,"maxLookahead")?e.maxLookahead:wJ.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,$s.isES2015MapSupported)()?new Map:[],(0,$s.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,$s.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,$s.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Nc.getProductionDslName)(g)+f,function(){var h=(0,Fa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Na.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Na.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,$s.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Na.MANY_IDX,Fa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Na.OPTION_IDX,Fa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Na.AT_LEAST_ONE_IDX,Fa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Na.AT_LEAST_ONE_SEP_IDX,Fa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Na.MANY_SEP_IDX,Fa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Fa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Na.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Fa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Fa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Na.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();zy.LooksAhead=qwe});var bJ=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.addNoneTerminalToCst=To.addTerminalToCst=To.setNodeLocationFull=To.setNodeLocationOnlyOffset=void 0;function Jwe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.defineNameProp=jA.functionName=jA.classNameFromInstance=void 0;var Xwe=Gt();function _we(r){return SJ(r.constructor)}jA.classNameFromInstance=_we;var QJ="name";function SJ(r){var e=r.name;return e||"anonymous"}jA.functionName=SJ;function Zwe(r,e){var t=Object.getOwnPropertyDescriptor(r,QJ);return(0,Xwe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,QJ,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}jA.defineNameProp=Zwe});var kJ=y(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.validateRedundantMethods=vi.validateMissingCstMethods=vi.validateVisitor=vi.CstVisitorDefinitionError=vi.createBaseVisitorConstructorWithDefaults=vi.createBaseSemanticVisitorConstructor=vi.defaultVisit=void 0;var us=Gt(),iC=Xx();function vJ(r,e){for(var t=(0,us.keys)(r),i=t.length,n=0;n: @@ -231,7 +231,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis