diff --git a/SpacemanDMM.toml b/SpacemanDMM.toml index 53a293e71c3..235eb97fc54 100644 --- a/SpacemanDMM.toml +++ b/SpacemanDMM.toml @@ -1,12 +1,14 @@ +environment = "fortune13.dme" + [langserver] dreamchecker = true -[debugger] -engine = "auxtools" - -#[code_standards] +[code_standards] disallow_relative_type_definitions = true disallow_relative_proc_definitions = true [dmdoc] use_typepath_names = true + +[debugger] +engine = "auxtools" diff --git a/arfsuits.dm b/arfsuits.dm index 7d86e13cc59..614184e9ffa 100644 --- a/arfsuits.dm +++ b/arfsuits.dm @@ -4831,7 +4831,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/power_armor/proc/end_emp_effect(slowdown_induced) diff --git a/code/__DEFINES/callbacks.dm b/code/__DEFINES/callbacks.dm index f25dfdf1500..21e8863458b 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(usr, GLOBAL_PROC_REF(___callbacknew), typepath, args) diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index f1d0e677ba3..c5852252205 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(usr, 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(usr, 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/qdel.dm b/code/__DEFINES/qdel.dm index 2ba41bc47cd..baf66055524 100644 --- a/code/__DEFINES/qdel.dm +++ b/code/__DEFINES/qdel.dm @@ -47,11 +47,11 @@ #define QDELETED(X) (!X || QDELING(X)) #define QDESTROYING(X) (!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(usr, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE) +#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(usr, 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(usr, 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 4b2ac79d8fd..5aa1f07d6a0 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -39,31 +39,31 @@ #endif /// Gets the version of rust_g -/proc/rustg_get_version() return call(RUST_G, "get_version")() +/proc/rustg_get_version() return LIBCALL(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 + * 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 LIBCALL * Arguments: - * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements calls + * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements LIBCALLs * * 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) call(RUST_G, "setup_acreplace")(key, json_encode(patterns), json_encode(replacements)) +#define rustg_setup_acreplace(key, patterns, replacements) LIBCALL(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 + * 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 LIBCALL * 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. + * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements LIBCALLs + * * 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 identiLIBCALLy 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) call(RUST_G, "setup_acreplace")(key, json_encode(options), json_encode(patterns), json_encode(replacements)) +#define rustg_setup_acreplace_with_options(key, options, patterns, replacements) LIBCALL(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. @@ -72,7 +72,7 @@ * * key - The key for the automaton * * text - Text to run replacements on */ -#define rustg_acreplace(key, text) call(RUST_G, "acreplace")(key, text) +#define rustg_acreplace(key, text) LIBCALL(RUST_G, "acreplace")(key, text) /** * Run the specified replacement engine with the provided haystack text to replace, returning replaced text. @@ -80,9 +80,9 @@ * 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 + * * replacements - Replacements for this LIBCALL. Must be the same length as the set-up patterns */ -#define rustg_acreplace_with_replacements(key, text, replacements) call(RUST_G, "acreplace_with_replacements")(key, text, json_encode(replacements)) +#define rustg_acreplace_with_replacements(key, text, replacements) LIBCALL(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. @@ -98,26 +98,26 @@ * * 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) + LIBCALL(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) LIBCALL(RUST_G, "dmi_strip_metadata")(fname) +#define rustg_dmi_create_png(path, width, height, data) LIBCALL(RUST_G, "dmi_create_png")(path, width, height, data) +#define rustg_dmi_resize_png(path, width, height, resizetype) LIBCALL(RUST_G, "dmi_resize_png")(path, width, height, resizetype) -#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_get_line_count(fname) text2num(call(RUST_G, "file_get_line_count")(fname)) -#define rustg_file_seek_line(fname, line) call(RUST_G, "file_seek_line")(fname, "[line]") +#define rustg_file_read(fname) LIBCALL(RUST_G, "file_read")(fname) +#define rustg_file_exists(fname) LIBCALL(RUST_G, "file_exists")(fname) +#define rustg_file_write(text, fname) LIBCALL(RUST_G, "file_write")(text, fname) +#define rustg_file_append(text, fname) LIBCALL(RUST_G, "file_append")(text, fname) +#define rustg_file_get_line_count(fname) text2num(LIBCALL(RUST_G, "file_get_line_count")(fname)) +#define rustg_file_seek_line(fname, line) LIBCALL(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) +#define rustg_git_revparse(rev) LIBCALL(RUST_G, "rg_git_revparse")(rev) +#define rustg_git_commit_date(rev) LIBCALL(RUST_G, "rg_git_commit_date")(rev) #define RUSTG_HTTP_METHOD_GET "get" #define RUSTG_HTTP_METHOD_PUT "put" @@ -125,36 +125,36 @@ #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, options) call(RUST_G, "http_request_blocking")(method, url, body, headers, options) -#define rustg_http_request_async(method, url, body, headers, options) call(RUST_G, "http_request_async")(method, url, body, headers, options) -#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) LIBCALL(RUST_G, "http_request_blocking")(method, url, body, headers, options) +#define rustg_http_request_async(method, url, body, headers, options) LIBCALL(RUST_G, "http_request_async")(method, url, body, headers, options) +#define rustg_http_check_request(req_id) LIBCALL(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) (LIBCALL(RUST_G, "json_is_valid")(text) == "true") -#define rustg_log_write(fname, text, format) call(RUST_G, "log_write")(fname, text, format) -/proc/rustg_log_close_all() return call(RUST_G, "log_close_all")() +#define rustg_log_write(fname, text, format) LIBCALL(RUST_G, "log_write")(fname, text, format) +/proc/rustg_log_close_all() return LIBCALL(RUST_G, "log_close_all")() -#define rustg_noise_get_at_coordinates(seed, x, y) call(RUST_G, "noise_get_at_coordinates")(seed, x, y) +#define rustg_noise_get_at_coordinates(seed, x, y) LIBCALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) -#define rustg_sql_connect_pool(options) call(RUST_G, "sql_connect_pool")(options) -#define rustg_sql_query_async(handle, query, params) call(RUST_G, "sql_query_async")(handle, query, params) -#define rustg_sql_query_blocking(handle, query, params) call(RUST_G, "sql_query_blocking")(handle, query, params) -#define rustg_sql_connected(handle) call(RUST_G, "sql_connected")(handle) -#define rustg_sql_disconnect_pool(handle) call(RUST_G, "sql_disconnect_pool")(handle) -#define rustg_sql_check_query(job_id) call(RUST_G, "sql_check_query")("[job_id]") +#define rustg_sql_connect_pool(options) LIBCALL(RUST_G, "sql_connect_pool")(options) +#define rustg_sql_query_async(handle, query, params) LIBCALL(RUST_G, "sql_query_async")(handle, query, params) +#define rustg_sql_query_blocking(handle, query, params) LIBCALL(RUST_G, "sql_query_blocking")(handle, query, params) +#define rustg_sql_connected(handle) LIBCALL(RUST_G, "sql_connected")(handle) +#define rustg_sql_disconnect_pool(handle) LIBCALL(RUST_G, "sql_disconnect_pool")(handle) +#define rustg_sql_check_query(job_id) LIBCALL(RUST_G, "sql_check_query")("[job_id]") -#define rustg_time_microseconds(id) text2num(call(RUST_G, "time_microseconds")(id)) -#define rustg_time_milliseconds(id) text2num(call(RUST_G, "time_milliseconds")(id)) -#define rustg_time_reset(id) call(RUST_G, "time_reset")(id) +#define rustg_time_microseconds(id) text2num(LIBCALL(RUST_G, "time_microseconds")(id)) +#define rustg_time_milliseconds(id) text2num(LIBCALL(RUST_G, "time_milliseconds")(id)) +#define rustg_time_reset(id) LIBCALL(RUST_G, "time_reset")(id) -#define rustg_read_toml_file(path) json_decode(call(RUST_G, "toml_file_to_json")(path) || "null") +#define rustg_read_toml_file(path) json_decode(LIBCALL(RUST_G, "toml_file_to_json")(path) || "null") -#define rustg_url_encode(text) call(RUST_G, "url_encode")("[text]") -#define rustg_url_decode(text) call(RUST_G, "url_decode")(text) +#define rustg_url_encode(text) LIBCALL(RUST_G, "url_encode")("[text]") +#define rustg_url_decode(text) LIBCALL(RUST_G, "url_decode")(text) #ifdef RUSTG_OVERRIDE_BUILTINS #define url_encode(text) rustg_url_encode(text) diff --git a/code/__DEFINES/skills/helpers.dm b/code/__DEFINES/skills/helpers.dm index e52179b554f..fc56ea1b0de 100644 --- a/code/__DEFINES/skills/helpers.dm +++ b/code/__DEFINES/skills/helpers.dm @@ -27,7 +27,7 @@ if(body.mind){\ body.mind.add_skill_modifier(prototype.identifier)\ } else {\ - prototype.RegisterSignal(body, COMSIG_MOB_ON_NEW_MIND, /datum/skill_modifier.proc/on_mob_new_mind, TRUE)\ + prototype.RegisterSignal(body, COMSIG_MOB_ON_NEW_MIND, TYPE_PROC_REF(/datum/skill_modifier,on_mob_new_mind), TRUE)\ } /// Same as above but to remove the skill modifier. diff --git a/code/__DEFINES/spaceman_dmm.dm b/code/__DEFINES/spaceman_dmm.dm index 9e1e7fa482d..cabb02fd49c 100644 --- a/code/__DEFINES/spaceman_dmm.dm +++ b/code/__DEFINES/spaceman_dmm.dm @@ -3,30 +3,72 @@ // 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) #define PRIVATE_PROC(X) #define PROTECTED_PROC(X) + #define UNLINT(X) X + #define VAR_FINAL var #define VAR_PRIVATE var #define VAR_PROTECTED var #endif - -/proc/enable_debugging() - CRASH("Auxtools not found") diff --git a/code/__HELPERS/_extools_api.dm b/code/__HELPERS/_extools_api.dm index ab88131d96f..ba7a4047f4a 100644 --- a/code/__HELPERS/_extools_api.dm +++ b/code/__HELPERS/_extools_api.dm @@ -16,7 +16,7 @@ GLOBAL_LIST_EMPTY(auxtools_initialized) #define AUXTOOLS_CHECK(LIB)\ if (!GLOB.auxtools_initialized[LIB]) {\ if (fexists(LIB)) {\ - var/string = call(LIB,"auxtools_init")();\ + var/string = LIBCALL(LIB,"auxtools_init")();\ if(findtext(string, "SUCCESS")) {\ GLOB.auxtools_initialized[LIB] = TRUE;\ } else {\ @@ -29,6 +29,9 @@ GLOBAL_LIST_EMPTY(auxtools_initialized) #define AUXTOOLS_SHUTDOWN(LIB)\ if (GLOB.auxtools_initialized[LIB] && fexists(LIB)){\ - call(LIB,"auxtools_shutdown")();\ + LIBCALL(LIB,"auxtools_shutdown")();\ GLOB.auxtools_initialized[LIB] = FALSE;\ }\ + +/proc/enable_debugging() + CRASH("Auxtools not found") diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 13c2ec265c0..d3f61b0e669 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -575,16 +575,16 @@ ///uses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead /proc/sort_names(list/list_to_sort, order=1) - return sortTim(list_to_sort.Copy(), order >= 0 ? /proc/cmp_name_asc : /proc/cmp_name_dsc) + return sortTim(list_to_sort.Copy(), order >= 0 ? GLOBAL_PROC_REF(cmp_name_asc) : GLOBAL_PROC_REF(cmp_name_dsc)) //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) @@ -592,11 +592,11 @@ //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)) //uses sortList() but uses the mob's ckey specifically! /proc/sortCkeys(list/L, order=1) - return sortTim(L, order >= 0 ? /proc/cmp_ckey_mob_asc : /proc/cmp_ckey_mob_dsc) + return sortTim(L, order >= 0 ? GLOBAL_PROC_REF(cmp_ckey_mob_asc) : GLOBAL_PROC_REF(cmp_ckey_mob_dsc)) //Converts a bitfield to a list of numbers (or words if a wordlist is provided) /proc/bitfield2list(bitfield = 0, list/wordlist) diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index b112ab1ee04..47f6f209867 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/files.dm b/code/__HELPERS/files.dm index 8cc54cd8641..976cf6b04fd 100644 --- a/code/__HELPERS/files.dm +++ b/code/__HELPERS/files.dm @@ -31,7 +31,7 @@ for(var/i=0, i ", 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 @@ -253,7 +253,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() @@ -522,7 +522,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 2e64d8787d4..a636ed47654 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 007cd2695d0..872a61ea3b1 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=/proc/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 0fdb53e702f..3437dc827f6 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -24,7 +24,7 @@ Location where the teleport begins, target that will teleport, distance to go, d Random error in tile placement x, error in tile placement y, and block offset. Block offset tells the proc how to place the box. Behind teleport location, relative to starting location, forward, etc. Negative values for offset are accepted, think of it in relation to North, -x is west, -y is south. Error defaults to positive. -Turf and target are separate in case you want to teleport some distance from a turf the target is not standing on or something. +/turf and target are separate in case you want to teleport some distance from a turf the target is not standing on or something. */ var/dirx = 0//Generic location finding variable. @@ -1075,7 +1075,7 @@ rough example of the "cone" made by the 3 dirs checked return closest_atom -proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) +/proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) if (value == FALSE) //nothing should be calling us with a number, so this is safe value = input("Enter type to find (blank for all, cancel to cancel)", "Search for type") as null|text if (isnull(value)) @@ -1357,12 +1357,25 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) if(is_servant_of_ratvar(V) || isobserver(V)) . += V*/ -//datum may be null, but it does need to be a typed var +/** + * NAMEOF: Compile time checked variable name to string conversion + * evaluates to a string equal to "X", but compile errors if X isn't a var on datum. + * 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) +/** + * NAMEOF that actually works in static definitions because src::type requires src to be defined + */ +#if DM_VERSION >= 515 +#define NAMEOF_STATIC(datum, X) (nameof(type::##X)) +#else +#define NAMEOF_STATIC(datum, X) (#X || ##datum.##X) +#endif + +#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(usr, 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(usr, GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value) /proc/___callbackvarset(list_or_datum, var_name, var_value) if(length(list_or_datum)) @@ -1374,8 +1387,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(usr, GLOBAL_PROC_REF(___TraitAdd), ##target, ##trait, ##source) +#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(usr, 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 00000000000..c65279d8dd8 --- /dev/null +++ b/code/__byond_version_compat.dm @@ -0,0 +1,75 @@ +// 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 1589 +#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) +//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 514.1556 or higher +#endif + +#if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577) +#error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers. +#error We require developers to test their content, so an inability to test means we cannot allow the compile. +#error Please consider downgrading to 514.1575 or lower. +#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 diff --git a/code/_compile_options.dm b/code/_compile_options.dm index e8916779641..56b506d013d 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -64,7 +64,7 @@ #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 @@ -73,7 +73,7 @@ #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 60006ddbcc7..273b31f4ff5 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -75,11 +75,11 @@ if(aicamera.in_camera_mode) aicamera.camera_mode_off() - INVOKE_ASYNC(aicamera, /obj/item/camera.proc/captureimage, pixel_turf, usr) + INVOKE_ASYNC(aicamera, TYPE_PROC_REF(/obj/item/camera,captureimage), pixel_turf, usr) 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/cyborg.dm b/code/_onclick/cyborg.dm index e30b1836805..0726c052d13 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -40,7 +40,7 @@ */ if(aicamera.in_camera_mode) //Cyborg picture taking aicamera.camera_mode_off() - INVOKE_ASYNC(aicamera, /obj/item/camera.proc/captureimage, A, usr) + INVOKE_ASYNC(aicamera, TYPE_PROC_REF(/obj/item/camera,captureimage), A, usr) return var/obj/item/W = get_active_held_item() @@ -48,7 +48,7 @@ if(!W && A.Adjacent(src) && (isobj(A) || ismob(A))) var/atom/movable/C = A if(C.can_buckle && C.has_buckled_mobs()) - INVOKE_ASYNC(C, /atom/movable.proc/precise_user_unbuckle_mob, src) + INVOKE_ASYNC(C, TYPE_PROC_REF(/atom/movable,precise_user_unbuckle_mob), src) return if(!W && (get_dist(src,A) <= interaction_range)) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index dd96abee1df..49f671cc261 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 974f1583236..35daf401d09 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 67f48907419..5ab9a49af6c 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 d684a841e27..b35ecb43ce3 100755 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -130,7 +130,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 f6551dfba2b..d299a22acc5 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)) /atom/movable/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 9a0f30ad7e0..39521cd0e66 100644 --- a/code/_onclick/hud/screen_objects/storage.dm +++ b/code/_onclick/hud/screen_objects/storage.dm @@ -57,8 +57,8 @@ /atom/movable/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 ..() /atom/movable/screen/storage/volumetric_box/Destroy() diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index e9bc47f710e..1de3c792f15 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 2e6b1f3a598..31a0811b59c 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 259082a6ba9..8e7857e9e83 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -44,7 +44,7 @@ . &= !(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/static/list/banned_edits = list(NAMEOF_STATIC(src, name), NAMEOF_STATIC(src, vv_VAS), NAMEOF_STATIC(src, default), NAMEOF_STATIC(src, resident_file), NAMEOF_STATIC(src, protection), NAMEOF_STATIC(src, abstract_type), NAMEOF_STATIC(src, modified), NAMEOF_STATIC(src, dupes_allowed)) if(var_name == NAMEOF(src, config_entry_value)) if(protection & CONFIG_ENTRY_LOCKED) return FALSE @@ -110,7 +110,7 @@ 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/static/list/banned_edits = list(NAMEOF_STATIC(src, max_val), NAMEOF_STATIC(src, min_val), NAMEOF_STATIC(src, 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 2a6e80275f0..256dd871672 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -460,4 +460,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(usr, GLOBAL_PROC_REF(message_admins), text), 0) diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 73b50b17729..f080c0c3b1f 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 b17fc109cc0..ede5a8724f6 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(I, GLOBAL_PROC_REF(cmp_subsystem_priority)) I += tickersubsystems var/cached_runlevel = current_runlevel diff --git a/code/controllers/subsystem/artifacts.dm b/code/controllers/subsystem/artifacts.dm index d74bd413c53..e00cc491bf5 100644 --- a/code/controllers/subsystem/artifacts.dm +++ b/code/controllers/subsystem/artifacts.dm @@ -500,7 +500,7 @@ PROCESSING_SUBSYSTEM_DEF(artifacts) /datum/controller/subsystem/processing/artifacts/fire(resumed = 0) if(prob(spawn_chance)) - INVOKE_ASYNC(src, .proc/spawn_random_artifact) + INVOKE_ASYNC(src,PROC_REF(spawn_random_artifact)) if (!resumed) currentrun = processing.Copy() //cache for sanic speed (lists are references anyways) @@ -745,7 +745,7 @@ PROCESSING_SUBSYSTEM_DEF(artifacts) rare_artifacts |= WEAKREF(thing) /datum/controller/subsystem/processing/artifacts/proc/sig_reg(obj/item/thing) - RegisterSignal(thing, COMSIG_PARENT_PREQDELETED, .proc/artifact_deleted, TRUE) + RegisterSignal(thing, COMSIG_PARENT_PREQDELETED,PROC_REF(artifact_deleted), TRUE) /datum/controller/subsystem/processing/artifacts/proc/artifact_deleted(obj/item/thing) if(!isitem(thing)) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 3b0695fc035..cb34e923c48 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -630,7 +630,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/listbank.dm b/code/controllers/subsystem/listbank.dm index de474bd29f4..ecd70128500 100644 --- a/code/controllers/subsystem/listbank.dm +++ b/code/controllers/subsystem/listbank.dm @@ -342,7 +342,7 @@ SUBSYSTEM_DEF(listbank) for(var/entry in aaa_debug_list_tally) var/datum/list_tally/LT = LAZYACCESS(aaa_debug_list_tally, entry) rawtallies += LT - rawtallies = sortTim(rawtallies.Copy(), /proc/cmp_list_tally_dec) + rawtallies = sortTim(rawtallies.Copy(), GLOBAL_PROC_REF(cmp_list_tally_dec)) var/list/tallies = list() for(var/i in 1 to num2get) var/datum/list_tally/LT = LAZYACCESS(rawtallies, i) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index bde22e12d0f..3dbd99880c2 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -165,7 +165,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 @@ -420,7 +420,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 1e98202224e..139c79dc7ad 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 e6b4fd30a83..42472558316 100644 --- a/code/controllers/subsystem/materials.dm +++ b/code/controllers/subsystem/materials.dm @@ -47,7 +47,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 1ceccc477ac..405a170e2ce 100644 --- a/code/controllers/subsystem/monster_wave.dm +++ b/code/controllers/subsystem/monster_wave.dm @@ -24,7 +24,7 @@ SUBSYSTEM_DEF(monster_wave) if(prob(chance_of_fire)) return // It fires, fuck you lmfaooo 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, span_notice("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/movement/movement_types.dm b/code/controllers/subsystem/movement/movement_types.dm index 5f6b05ceb88..a2351a22775 100644 --- a/code/controllers/subsystem/movement/movement_types.dm +++ b/code/controllers/subsystem/movement/movement_types.dm @@ -31,7 +31,7 @@ src.controller = controller src.extra_info = extra_info if(extra_info) - RegisterSignal(extra_info, COMSIG_PARENT_QDELETING, .proc/info_deleted) + RegisterSignal(extra_info, COMSIG_PARENT_QDELETING,PROC_REF(info_deleted)) src.moving = moving src.priority = priority src.flags = flags @@ -240,7 +240,7 @@ target = chasing if(!isturf(target)) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/handle_no_target) //Don't do this for turfs, because we don't care + RegisterSignal(target, COMSIG_PARENT_QDELETING,PROC_REF(handle_no_target)) //Don't do this for turfs, because we don't care /datum/move_loop/has_target/compare_loops(datum/move_loop/loop_type, priority, flags, extra_info, delay, timeout, atom/chasing) if(..() && chasing == target) @@ -369,7 +369,7 @@ src.avoid = avoid src.skip_first = skip_first if(istype(id, /obj/item/card/id)) - RegisterSignal(id, COMSIG_PARENT_QDELETING, .proc/handle_no_id) //I prefer erroring to harddels. If this breaks anything consider making id info into a datum or something + RegisterSignal(id, COMSIG_PARENT_QDELETING,PROC_REF(handle_no_id)) //I prefer erroring to harddels. If this breaks anything consider making id info into a datum or something /datum/move_loop/has_target/jps/compare_loops(datum/move_loop/loop_type, priority, flags, extra_info, delay, timeout, atom/chasing, repath_delay, max_path_length, minimum_distance, obj/item/card/id/id, simulated_only, turf/avoid, skip_first) if(..() && repath_delay == src.repath_delay && max_path_length == src.max_path_length && minimum_distance == src.minimum_distance && id == src.id && simulated_only == src.simulated_only && avoid == src.avoid) @@ -378,7 +378,7 @@ /datum/move_loop/has_target/jps/start_loop() . = ..() - INVOKE_ASYNC(src, .proc/recalculate_path) + INVOKE_ASYNC(src,PROC_REF(recalculate_path)) /datum/move_loop/has_target/jps/Destroy() id = null //Kill me @@ -399,7 +399,7 @@ /datum/move_loop/has_target/jps/move() if(!length(movement_path)) - INVOKE_ASYNC(src, .proc/recalculate_path) + INVOKE_ASYNC(src,PROC_REF(recalculate_path)) if(!length(movement_path)) return FALSE @@ -413,7 +413,7 @@ if(get_turf(moving) == next_step) movement_path.Cut(1,2) else - INVOKE_ASYNC(src, .proc/recalculate_path) + INVOKE_ASYNC(src,PROC_REF(recalculate_path)) return FALSE @@ -572,8 +572,8 @@ if(home) if(ismovable(target)) - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/update_slope) //If it can move, update your slope when it does - RegisterSignal(moving, COMSIG_MOVABLE_MOVED, .proc/handle_move) + RegisterSignal(target, COMSIG_MOVABLE_MOVED,PROC_REF(update_slope)) //If it can move, update your slope when it does + RegisterSignal(moving, COMSIG_MOVABLE_MOVED,PROC_REF(handle_move)) update_slope() /datum/move_loop/has_target/move_towards/compare_loops(datum/move_loop/loop_type, priority, flags, extra_info, delay, timeout, atom/chasing, home = FALSE) diff --git a/code/controllers/subsystem/nightcycle.dm b/code/controllers/subsystem/nightcycle.dm index 2d9d27c436f..e13f30a5ddc 100644 --- a/code/controllers/subsystem/nightcycle.dm +++ b/code/controllers/subsystem/nightcycle.dm @@ -146,7 +146,7 @@ SUBSYSTEM_DEF(nightcycle) CRASH("Invalid new_time returned from STATION_TIME()") current_time = new_time - INVOKE_ASYNC(src, .proc/AnimateTransition) + INVOKE_ASYNC(src,PROC_REF(AnimateTransition)) CHECK_TICK /datum/controller/subsystem/nightcycle/proc/AnimateTransition() diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index d03ec2d141a..ff41d0bba2a 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, span_ghostalert("[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/pathfinder.dm b/code/controllers/subsystem/pathfinder.dm index ccbea793066..2ed77541c90 100644 --- a/code/controllers/subsystem/pathfinder.dm +++ b/code/controllers/subsystem/pathfinder.dm @@ -31,7 +31,7 @@ SUBSYSTEM_DEF(pathfinder) while(flow[free]) CHECK_TICK free = (free % lcount) + 1 - var/t = addtimer(CALLBACK(src, /datum/flowcache.proc/toolong, free), 150, TIMER_STOPPABLE) + var/t = addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/flowcache,toolong), free), 150, TIMER_STOPPABLE) flow[free] = t flow[t] = M return free diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 12c4ca158a7..290e883f413 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -45,7 +45,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() /// Will give us a list of all quirks, sorted by point value, then name /// Will solve a lot of sorting issues later, i swear - 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 = new V(src) // They'll be fiiiiiine @@ -132,7 +132,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) /datum/controller/subsystem/processing/quirks/ui_close(mob/user) . = ..() SaveUserPreferences(user) - //INVOKE_ASYNC(src, .proc/UpdateTheWretchedPrefMenu, user) + //INVOKE_ASYNC(src,PROC_REF(UpdateTheWretchedPrefMenu), user) /datum/controller/subsystem/processing/quirks/ui_static_data(mob/user) var/list/data = list() @@ -204,7 +204,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) . = TRUE if("ClearQuirks") // Nuke the quirks! (gotta nuke something) . = TRUE - INVOKE_ASYNC(src, .proc/ConfirmClear, user) + INVOKE_ASYNC(src,PROC_REF(ConfirmClear), user) /// returns a list of ckey'd quirk names /datum/controller/subsystem/processing/quirks/proc/QuirkList2TGUI(mob/user) @@ -426,7 +426,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) to_prune[Q2] = Q2.value num_good_quirks++ // Now, lets sort the list by value, descending - to_prune = sortList(to_prune, /proc/cmp_quirk_asc) // only got the asc, so just flip it + to_prune = sortList(to_prune, GLOBAL_PROC_REF(cmp_quirk_asc)) // only got the asc, so just flip it to_prune = reverseList(to_prune) for(var/datum/quirk/Q3 in to_prune) RemoveQuirkFromPrefs(P, Q3) @@ -656,7 +656,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) failures += quirkname continue quirkthing += Q.type - quirkthing = sortList(quirkthing, /proc/cmp_quirk_asc) + quirkthing = sortList(quirkthing, GLOBAL_PROC_REF(cmp_quirk_asc)) quirkthing = reverseList(quirkthing) // yeah i dont wanna make another cmp /// remove all this current quirks P.char_quirks = list() diff --git a/code/controllers/subsystem/processing/weather.dm b/code/controllers/subsystem/processing/weather.dm index c889a034338..d127523a5ff 100644 --- a/code/controllers/subsystem/processing/weather.dm +++ b/code/controllers/subsystem/processing/weather.dm @@ -38,7 +38,7 @@ PROCESSING_SUBSYSTEM_DEF(weather) return FALSE var/datum/weather/W = pickweight(weather_rolls) var/randTime = rand(WEATHER_WAIT_MIN, WEATHER_WAIT_MAX) - timerid = addtimer(CALLBACK(src, .proc/run_weather, W), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE | TIMER_STOPPABLE) //Around 25-30 minutes between weathers + timerid = addtimer(CALLBACK(src,PROC_REF(run_weather), W), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE | TIMER_STOPPABLE) //Around 25-30 minutes between weathers next_hit_by_zlevel = world.time + randTime + initial(W.telegraph_duration) weather_queued = TRUE // weather'll set this to FALSE when it ends diff --git a/code/controllers/subsystem/progress_bars.dm b/code/controllers/subsystem/progress_bars.dm index 0422c2f567d..cccacd6bfec 100644 --- a/code/controllers/subsystem/progress_bars.dm +++ b/code/controllers/subsystem/progress_bars.dm @@ -24,19 +24,19 @@ PROCESSING_SUBSYSTEM_DEF(progress_bars) var/datum/progressbar/bar = new(owner, can_see, duration, automatic, auto_remove) register_bar(owner, bar) . = bar.bar_id - INVOKE_ASYNC(bar, /datum/progressbar.proc/start) + INVOKE_ASYNC(bar, TYPE_PROC_REF(/datum/progressbar,start)) /datum/controller/subsystem/processing/progress_bars/proc/remove_bar(bar_id) var/datum/progressbar/bar = LAZYACCESS(progbars, bar_id) if(!istype(bar)) return - INVOKE_ASYNC(bar, /datum/progressbar.proc/stop) + INVOKE_ASYNC(bar, TYPE_PROC_REF(/datum/progressbar,stop)) /datum/controller/subsystem/processing/progress_bars/proc/update_bar(bar_id, number) var/datum/progressbar/bar = LAZYACCESS(progbars, bar_id) if(!istype(bar)) return FALSE - INVOKE_ASYNC(bar, /datum/progressbar.proc/update, number) + INVOKE_ASYNC(bar, TYPE_PROC_REF(/datum/progressbar,update), number) return number /datum/controller/subsystem/processing/progress_bars/proc/check_bar(bar_id) @@ -92,7 +92,7 @@ PROCESSING_SUBSYSTEM_DEF(progress_bars) return for(var/datum/weakref/weakbar in ckey_proglist[the_ckey]) var/datum/progressbar/bar = RESOLVEWEAKREF(weakbar) - INVOKE_ASYNC(bar, /datum/progressbar.proc/show_bar) + INVOKE_ASYNC(bar, TYPE_PROC_REF(/datum/progressbar,show_bar)) return TRUE /// When a client who is supposed to see this connects, we need to show it to their client @@ -120,7 +120,7 @@ PROCESSING_SUBSYSTEM_DEF(progress_bars) var/datum/progressbar/bar = LAZYACCESS(progbars, barid) if(!bar) continue - INVOKE_ASYNC(bar, /datum/progressbar.proc/update_position, get_bar_index(owner, barid)) + INVOKE_ASYNC(bar, TYPE_PROC_REF(/datum/progressbar,update_position), get_bar_index(owner, barid)) #define BAR_MASTER var/atom/master = display_loc?.resolve();if(!master ||(master && QDELETED(master))){master_deleted(); return} #define PROGRESSBAR_HEIGHT 6 @@ -165,7 +165,7 @@ PROCESSING_SUBSYSTEM_DEF(progress_bars) display_loc = WEAKREF(location) generate_bar_id() register_visibility(can_see) - RegisterSignal(location, COMSIG_PARENT_QDELETING, .proc/master_deleted) + RegisterSignal(location, COMSIG_PARENT_QDELETING,PROC_REF(master_deleted)) /datum/progressbar/proc/register_visibility(list/can_see) if(!LAZYLEN(can_see) || SSprogress_bars.debug_make_visible_to_everyone) // heh @@ -267,7 +267,7 @@ PROCESSING_SUBSYSTEM_DEF(progress_bars) // var/turf/right_here = get_turf(master) // display_loc = WEAKREF(right_here) // bar.loc = right_here - INVOKE_ASYNC(src, .proc/stop) + INVOKE_ASYNC(src,PROC_REF(stop)) /// Generates a unique ID for the progress bar. /// I mean the time of day is unique enough, but I like big dumb numbers diff --git a/code/controllers/subsystem/radturf.dm b/code/controllers/subsystem/radturf.dm index e628fcd736e..fdccdbc5f14 100644 --- a/code/controllers/subsystem/radturf.dm +++ b/code/controllers/subsystem/radturf.dm @@ -28,7 +28,7 @@ SUBSYSTEM_DEF(radturf) /// the irradiated tile got changed and its component deleted, check back in a split second and apply a new one there /datum/controller/subsystem/radturf/proc/tile_got_changed(turf_coords, list/puddles, new_rads) - addtimer(CALLBACK(src, .proc/add_radtile, turf_coords, puddles, new_rads, 5), 2, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain //*doublepain + addtimer(CALLBACK(src,PROC_REF(add_radtile), turf_coords, puddles, new_rads, 5), 2, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain //*doublepain /datum/controller/subsystem/radturf/proc/add_radtile(turf_coords, list/puddles, new_rads, tries = 5) if(new_rads <= 0) // idk @@ -37,7 +37,7 @@ SUBSYSTEM_DEF(radturf) /// the new turf either doesnt exist, or is still being replaced, check back in another split second if(!new_turf || QDELETED(new_turf)) if(tries) - addtimer(CALLBACK(src, .proc/add_radtile, turf_coords, puddles, new_rads, tries - 1), 2, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain //*doublepain + addtimer(CALLBACK(src,PROC_REF(add_radtile), turf_coords, puddles, new_rads, tries - 1), 2, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain //*doublepain return // okay fine, there's a hole to nothing right here, fucking, cool. // the component itself will figure out of its puddles are still good or not at some point, not our concern if(SEND_SIGNAL(new_turf, COMSIG_TURF_CHECK_RADIATION)) // okay check if there's still a component there first diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 1e147b0f7b8..c2d1e037948 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -172,7 +172,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 a3176b42db1..8fde3b0a8e9 100644 --- a/code/controllers/subsystem/statpanel.dm +++ b/code/controllers/subsystem/statpanel.dm @@ -150,7 +150,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/movable, 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/throwing.dm b/code/controllers/subsystem/throwing.dm index 7f3770e4c87..108feecae60 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -92,7 +92,7 @@ SUBSYSTEM_DEF(throwing) /datum/thrownthing/New(thrownthing, target, init_dir, maxrange, speed, thrower, diagonals_first, force, gentle, callback, target_zone) . = ..() src.thrownthing = thrownthing - RegisterSignal(thrownthing, COMSIG_PARENT_QDELETING, .proc/on_thrownthing_qdel) + RegisterSignal(thrownthing, COMSIG_PARENT_QDELETING,PROC_REF(on_thrownthing_qdel)) src.target_turf = get_turf(target) if(target_turf != target) src.initial_target = WEAKREF(target) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 5e27e53ac36..4a279ec5e4e 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -202,7 +202,7 @@ SUBSYSTEM_DEF(ticker) for(var/client/C in SSvote.voting) C << browse(null, "window=vote;can_close=0") SSvote.reset() - addtimer(CALLBACK(src, .proc/send_midround_tip), 1 MINUTES)//Send out first tip + addtimer(CALLBACK(src, PROC_REF(send_midround_tip)), 1 MINUTES)//Send out first tip current_state = GAME_STATE_SETTING_UP Master.SetRunLevel(RUNLEVEL_SETUP) if(start_immediately) @@ -418,7 +418,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() @@ -458,7 +458,7 @@ SUBSYSTEM_DEF(ticker) to_chat(world, "Tip: [html_encode(m)]") // Queue up the next tip even if it didn't send one so long as it was an organic tip that wasn't sent by an admin. if(isnull(override)) - addtimer(CALLBACK(src, .proc/send_midround_tip), midround_tip_interval*(rand(5,15)*0.1))//Random tip interval of +- 50% the average + addtimer(CALLBACK(src,PROC_REF(send_midround_tip)), midround_tip_interval*(rand(5,15)*0.1))//Random tip interval of +- 50% the average /datum/controller/subsystem/ticker/proc/check_queue() var/hpc = CONFIG_GET(number/hard_popcap) @@ -497,7 +497,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) @@ -660,7 +660,7 @@ SUBSYSTEM_DEF(ticker) for(var/mob/dead/new_player/player in GLOB.player_list) if(player.ready == PLAYER_READY_TO_OBSERVE && player.mind) //Break chain since this has a sleep input in it - addtimer(CALLBACK(player, /mob/dead/new_player.proc/make_me_an_observer), 1) + addtimer(CALLBACK(player, TYPE_PROC_REF(/mob/dead/new_player,make_me_an_observer)), 1) /datum/controller/subsystem/ticker/proc/load_mode() var/mode = trim(file2text("data/mode.txt")) diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index adc4b65091f..c5ea98f07cb 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -273,7 +273,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/validball_spawner.dm b/code/controllers/subsystem/validball_spawner.dm index 66fb5a9d1f8..813c88be3dd 100644 --- a/code/controllers/subsystem/validball_spawner.dm +++ b/code/controllers/subsystem/validball_spawner.dm @@ -26,7 +26,7 @@ SUBSYSTEM_DEF(validball) message_admins("Validball failed to spawn after [initial(tries_left)] tries! Validball is not go!") return message_admins("Validball couldn't spawn, trying again in 1 second. [tries_left] tries left!") - addtimer(CALLBACK(src, .proc/spawn_validballs), 1 SECONDS) // try again later + addtimer(CALLBACK(src,PROC_REF(spawn_validballs)), 1 SECONDS) // try again later return if(num_to_spawn > LAZYLEN(valid_ball_spawners)) message_admins("Uh oh, config wants more validballs than there are available spawners! Validball is still go, but every validball spawner will spawn a validball. Have fun!") diff --git a/code/datums/action.dm b/code/datums/action.dm index 21a2d8f0205..8cec2583381 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -29,7 +29,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 6a9878e086d..3b3bbd33849 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 5a4703f99f4..866b79f3df4 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 b465eefaef7..07ac95e2fa0 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 42d756fc675..c0b20296b69 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 343c2f8760d..42cb8f8e0e7 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -98,7 +98,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], span_phobia("$1")) break @@ -126,7 +126,7 @@ owner.stuttering += 5 ADD_TRAIT(owner, TRAIT_PHOBIC, TRAIT_GENERIC) // Generic phobia trait for applying general non-mood debuffs to people if(!timer_active) - addtimer(CALLBACK(src, .proc/RemoveTrait), 3 MINUTES) + addtimer(CALLBACK(src, PROC_REF(RemoveTrait)), 3 MINUTES) timer_active = 1 SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "phobia", /datum/mood_event/phobia) //Always apply the phobia mood debuff diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 4af4024b0b9..3689da0ab78 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -206,7 +206,7 @@ to_chat(owner, span_warning("You feel sick...")) else to_chat(owner, span_warning("You feel really sick at the thought of being alone!")) - addtimer(CALLBACK(owner, /mob/living/carbon.proc/vomit, high_stress), 50) //blood vomit if high stress + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon,vomit), high_stress), 50) //blood vomit if high stress if(2) if(!high_stress) to_chat(owner, span_warning("You can't stop shaking...")) @@ -307,7 +307,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], span_hypnophrase("*********")) /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 04d09c3988d..9221bf22ddd 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 acf4dd01a11..da2f64f5c42 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -18,7 +18,7 @@ /datum/browser/New(nuser, nwindow_id, ntitle = 0, nwidth = 0, nheight = 0, atom/nref = null) user = nuser - RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/user_deleted) + RegisterSignal(user, COMSIG_PARENT_QDELETING,PROC_REF(user_deleted)) window_id = nwindow_id if (ntitle) title = format_text(ntitle) @@ -230,7 +230,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 3d2ae04e161..1f2396d4894 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -39,7 +39,7 @@ * ### when the above doesn't apply: *.proc/procname * - * `CALLBACK(src, .proc/some_proc_here)` + * `CALLBACK(src,PROC_REF(some_proc_here))` * * * proc defined on a parent of a some type diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 3b6722d2380..b9f2b4b78da 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -42,7 +42,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) @@ -73,7 +73,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 @@ -152,7 +152,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) @@ -173,7 +173,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 fc3f13e94eb..cf489ed0a59 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 f132dfc4576..a21488376f8 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 46936d977f3..8df4f5d640b 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 e3e4de32650..f583424ebcd 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/artifacts.dm b/code/datums/components/artifacts.dm index bfc3a6a7b8b..3a5091f5113 100644 --- a/code/datums/components/artifacts.dm +++ b/code/datums/components/artifacts.dm @@ -44,25 +44,25 @@ /datum/component/artifact/Initialize(rarity = ART_RARITY_COMMON) if(!isitem(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_GET_EFFECTS, .proc/get_effects) - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_EXISTS, .proc/hi) - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_MAKE_UNIQUE, .proc/make_unique) - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_IDENTIFIED, .proc/is_identified) - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_ADD_EFFECT, .proc/add_effect) - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_READ_PARAMETERS, .proc/read_parameters) - RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_FINALIZE, .proc/finalize) - RegisterSignal(parent, COMSIG_ITEM_WELLABLE, .proc/tabulate_wellability) - RegisterSignal(parent, COMSIG_ATOM_GET_VALUE, .proc/tabulate_value) - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/update_everything) - // RegisterSignal(parent, COMSIG_ITEM_CLICKED, .proc/on_clicked) - // RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_ACT, .proc/on_microwave) //c: - RegisterSignal(parent, COMSIG_ATOM_GET_EXAMINE_NAME, .proc/get_name) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/get_description) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_GET_EFFECTS,PROC_REF(get_effects)) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_EXISTS,PROC_REF(hi)) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_MAKE_UNIQUE,PROC_REF(make_unique)) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_IDENTIFIED,PROC_REF(is_identified)) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_ADD_EFFECT,PROC_REF(add_effect)) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_READ_PARAMETERS,PROC_REF(read_parameters)) + RegisterSignal(parent, COMSIG_ITEM_ARTIFACT_FINALIZE,PROC_REF(finalize)) + RegisterSignal(parent, COMSIG_ITEM_WELLABLE,PROC_REF(tabulate_wellability)) + RegisterSignal(parent, COMSIG_ATOM_GET_VALUE,PROC_REF(tabulate_value)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED,PROC_REF(update_everything)) + // RegisterSignal(parent, COMSIG_ITEM_CLICKED,PROC_REF(on_clicked)) + // RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_ACT,PROC_REF(on_microwave)) //c: + RegisterSignal(parent, COMSIG_ATOM_GET_EXAMINE_NAME,PROC_REF(get_name)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(get_description)) src.rarity = rarity /// Runs the artifact's main loop. starts when touched by a mob, stops when it doesnt have anything to do /datum/component/artifact/process() - INVOKE_ASYNC(src, .proc/mainloop) + INVOKE_ASYNC(src,PROC_REF(mainloop)) /datum/component/artifact/proc/mainloop(force_flags) ART_MASTER @@ -181,8 +181,8 @@ /datum/component/artifact/proc/register_mob_signals(mob/living/newbie) return // todo: this - //RegisterSignal(newbie, COMSIG_MOB_APPLY_DAMAGE, .proc/on_mob_damage) - //RegisterSignal(newbie, COMSIG_CARBON_GET_BLEED_MOD, .proc/on_bleed) + //RegisterSignal(newbie, COMSIG_MOB_APPLY_DAMAGE,PROC_REF(on_mob_damage)) + //RegisterSignal(newbie, COMSIG_CARBON_GET_BLEED_MOD,PROC_REF(on_bleed)) /datum/component/artifact/proc/unregister_mob_signals(mob/living/current) return // todo: this @@ -394,7 +394,7 @@ ART_MASTER update_color() //update_scanner_name() - INVOKE_ASYNC(src, .proc/floatycool) + INVOKE_ASYNC(src,PROC_REF(floatycool)) /datum/component/artifact/proc/floatycool() fade_in() @@ -544,7 +544,7 @@ my_parent = WEAKREF(parent) apply_parameters(parameters) generate_trait() - RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/on_effect_deleted, TRUE) + RegisterSignal(parent, COMSIG_PARENT_PREQDELETED,PROC_REF(on_effect_deleted), TRUE) /datum/artifact_effect/Del() cleanup(TRUE) diff --git a/code/datums/components/bane.dm b/code/datums/components/bane.dm index bdfcfed5175..efb147b9541 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 fed603410ea..d1ba146397e 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 1ddf047c0d3..540e8816875 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(span_warning("[H]'s neck has already been already cut, you can't make the bleeding any worse!"), 1, \ span_warning("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) @@ -132,7 +132,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 b89154de4ac..900334691d5 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -21,7 +21,7 @@ ///given to connect_loc to listen for something moving over target var/static/list/crossed_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) ///So we can update ant damage @@ -41,7 +41,7 @@ if(ismovable(parent)) AddComponent(/datum/component/connect_loc_behalf, parent, crossed_connections) else - RegisterSignal(get_turf(parent), COMSIG_ATOM_ENTERED, .proc/on_entered) + RegisterSignal(get_turf(parent), COMSIG_ATOM_ENTERED,PROC_REF(on_entered)) // Inherit the new values passed to the component /datum/component/caltrop/InheritComponent(datum/component/caltrop/new_comp, original, min_damage, max_damage, probability, flags, soundfile) @@ -108,7 +108,7 @@ span_userdanger("You step on [parent]!") ) - INVOKE_ASYNC(H, /mob/living/carbon/human/.proc/apply_damage, damage, BRUTE, picked_def_zone, FALSE, FALSE, FALSE, CANT_WOUND) + INVOKE_ASYNC(H, TYPE_PROC_REF(/mob/living/carbon/human/,apply_damage), damage, BRUTE, picked_def_zone, FALSE, FALSE, FALSE, CANT_WOUND) if(!(flags & CALTROP_NOSTUN)) // Won't set off the paralysis. H.Paralyze(60) diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index 87563582017..4fa480b4306 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 72213eb74d9..850700072b3 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 185698123ee..22d54135105 100644 --- a/code/datums/components/combat_mode.dm +++ b/code/datums/components/combat_mode.dm @@ -16,14 +16,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() @@ -87,8 +87,8 @@ to_chat(source, self_message) if(playsound) source.playsound_local(source, 'sound/misc/ui_toggle_vats.ogg', 50, FALSE, pressure_affected = FALSE) //Sound from interbay! - RegisterSignal(source, COMSIG_MOB_CLIENT_MOUSEMOVE, .proc/onMouseMove) - RegisterSignal(source, COMSIG_MOVABLE_MOVED, .proc/on_move) + RegisterSignal(source, COMSIG_MOB_CLIENT_MOUSEMOVE,PROC_REF(onMouseMove)) + RegisterSignal(source, COMSIG_MOVABLE_MOVED,PROC_REF(on_move)) if(hud_icon) hud_icon.combat_on = TRUE hud_icon.update_icon() diff --git a/code/datums/components/connect_containers.dm b/code/datums/components/connect_containers.dm index c386a096410..33a2fe5f1a0 100644 --- a/code/datums/components/connect_containers.dm +++ b/code/datums/components/connect_containers.dm @@ -37,8 +37,8 @@ tracked = new_tracked if(!tracked) return - 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(tracked) /datum/component/connect_containers/proc/handle_tracked_qdel() @@ -50,7 +50,7 @@ return for(var/atom/movable/container as anything in get_nested_locs(listener)) - RegisterSignal(container, COMSIG_MOVABLE_MOVED, .proc/on_moved) + RegisterSignal(container, COMSIG_MOVABLE_MOVED,PROC_REF(on_moved)) for(var/signal in connections) parent.RegisterSignal(container, signal, connections[signal]) diff --git a/code/datums/components/connect_loc_behalf.dm b/code/datums/components/connect_loc_behalf.dm index b758b6ad5f3..2a4c731f989 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 01df44752c9..cd9d2846499 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 de6e73fd160..e32b44249d2 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/crafting/recipes/recipes_tailoring.dm b/code/datums/components/crafting/recipes/recipes_tailoring.dm index 83e2d1950eb..dcc45bbe78f 100644 --- a/code/datums/components/crafting/recipes/recipes_tailoring.dm +++ b/code/datums/components/crafting/recipes/recipes_tailoring.dm @@ -166,7 +166,7 @@ category = CAT_CLOTHING subcategory = CAT_ARMOR -datum/crafting_recipe/steelbib +/datum/crafting_recipe/steelbib name = "Steel Breastplate" result = /obj/item/clothing/suit/armor/medium/vest/breastplate reqs = list(/obj/item/stack/sheet/leather = 2, @@ -178,7 +178,7 @@ datum/crafting_recipe/steelbib category = CAT_CLOTHING subcategory = CAT_ARMOR -datum/crafting_recipe/steelbib/heavy +/datum/crafting_recipe/steelbib/heavy name = "Reinforced Steel Breastplate" result = /obj/item/clothing/suit/armor/medium/vest/breastplate/reinforced reqs = list(/obj/item/clothing/suit/armor/medium/vest/breastplate = 1, @@ -190,7 +190,7 @@ datum/crafting_recipe/steelbib/heavy subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/combathazardsuit // sec biosuit +/datum/crafting_recipe/combathazardsuit // sec biosuit name = "Reinforced CBRN Suit" result = /obj/item/clothing/suit/bio_suit/security reqs = list(/obj/item/clothing/suit/radiation = 1, @@ -202,7 +202,7 @@ datum/crafting_recipe/combathazardsuit // sec biosuit subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/combathazardhood // sec biohood +/datum/crafting_recipe/combathazardhood // sec biohood name = "Reinforced CBRN Hood" result = /obj/item/clothing/head/bio_hood/security reqs = list(/obj/item/clothing/head/helmet/armyhelmet = 1, @@ -1486,7 +1486,7 @@ datum/crafting_recipe/combathazardhood // sec biohood subcategory = CAT_GENCLOTHES */ -datum/crafting_recipe/polis +/datum/crafting_recipe/polis name = "Police Officer's Uniform" result = /obj/item/clothing/under/f13/police/officer reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1497,7 +1497,7 @@ datum/crafting_recipe/polis subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polislt +/datum/crafting_recipe/polislt name = "Police Lieutenant's Uniform" result = /obj/item/clothing/under/f13/police/lieutenant reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1509,7 +1509,7 @@ datum/crafting_recipe/polislt subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polischief +/datum/crafting_recipe/polischief name = "Police Chief's Uniform" result = /obj/item/clothing/under/f13/police/chief reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1521,7 +1521,7 @@ datum/crafting_recipe/polischief subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polissnr +/datum/crafting_recipe/polissnr name = "Police Search and Rescue Uniform" result = /obj/item/clothing/under/f13/police/snr reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1532,7 +1532,7 @@ datum/crafting_recipe/polissnr subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/poliscoat +/datum/crafting_recipe/poliscoat name = "Police Officer's Jacket" result = /obj/item/clothing/suit/armor/medium/vest/polis reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1544,7 +1544,7 @@ datum/crafting_recipe/poliscoat always_available = FALSE -datum/crafting_recipe/polisltcoat +/datum/crafting_recipe/polisltcoat name = "Police Lieutenant's Jacket" result = /obj/item/clothing/suit/armor/medium/vest/polislt reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1556,7 +1556,7 @@ datum/crafting_recipe/polisltcoat subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polischiefcoat +/datum/crafting_recipe/polischiefcoat name = "Police Chief's Jacket" result = /obj/item/clothing/suit/armor/medium/vest/polischief reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1568,7 +1568,7 @@ datum/crafting_recipe/polischiefcoat subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polissnrcoat +/datum/crafting_recipe/polissnrcoat name = "Police Search and Rescue Jacket" result = /obj/item/clothing/suit/armor/medium/vest/polissnr reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1579,7 +1579,7 @@ datum/crafting_recipe/polissnrcoat subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polishat +/datum/crafting_recipe/polishat name = "Police Officer's Hat" result = /obj/item/clothing/head/hat/polis reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1591,7 +1591,7 @@ datum/crafting_recipe/polishat always_available = FALSE -datum/crafting_recipe/polislthat +/datum/crafting_recipe/polislthat name = "Police Lieutenant's Hat" result = /obj/item/clothing/head/hat/polislt reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1603,7 +1603,7 @@ datum/crafting_recipe/polislthat subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polischiefhat +/datum/crafting_recipe/polischiefhat name = "Police Chief's Hat" result = /obj/item/clothing/head/hat/polischief reqs = list(/obj/item/stack/sheet/durathread = 10, @@ -1615,7 +1615,7 @@ datum/crafting_recipe/polischiefhat subcategory = CAT_ARMOR always_available = FALSE -datum/crafting_recipe/polissnrhat +/datum/crafting_recipe/polissnrhat name = "Police Search and Rescue Hat" result = /obj/item/clothing/head/hat/polissnr reqs = list(/obj/item/stack/sheet/durathread = 10, diff --git a/code/datums/components/crafting/recipes/recipes_tribal.dm b/code/datums/components/crafting/recipes/recipes_tribal.dm index 65c346e73e8..66a8a2ba770 100644 --- a/code/datums/components/crafting/recipes/recipes_tribal.dm +++ b/code/datums/components/crafting/recipes/recipes_tribal.dm @@ -411,7 +411,7 @@ //Bone Dancers -datum/crafting_recipe/tribalwar/bone +/datum/crafting_recipe/tribalwar/bone category = CAT_PRIMAL always_available = FALSE diff --git a/code/datums/components/decal.dm b/code/datums/components/decal.dm index 6b5b486764c..62efecbba77 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 689ae0bca80..2d589c62503 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 19e41148d3b..b2a2cddf9c9 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/drift.dm b/code/datums/components/drift.dm index 4d509026a44..93174aa48ad 100644 --- a/code/datums/components/drift.dm +++ b/code/datums/components/drift.dm @@ -28,11 +28,11 @@ if(!drifting_loop) //Really want to qdel here but can't return COMPONENT_INCOMPATIBLE - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_START, .proc/drifting_start) - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_STOP, .proc/drifting_stop) - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, .proc/before_move) - RegisterSignal(drifting_loop, COMSIG_MOVELOOP_POSTPROCESS, .proc/after_move) - RegisterSignal(drifting_loop, COMSIG_PARENT_QDELETING, .proc/loop_death) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_START,PROC_REF(drifting_start)) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_STOP,PROC_REF(drifting_stop)) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK,PROC_REF(before_move)) + RegisterSignal(drifting_loop, COMSIG_MOVELOOP_POSTPROCESS,PROC_REF(after_move)) + RegisterSignal(drifting_loop, COMSIG_PARENT_QDELETING,PROC_REF(loop_death)) if(drifting_loop.running) drifting_start(drifting_loop) // There's a good chance it'll autostart, gotta catch that @@ -85,13 +85,13 @@ SIGNAL_HANDLER var/atom/movable/movable_parent = parent inertia_last_loc = movable_parent.loc - RegisterSignal(movable_parent, COMSIG_MOVABLE_MOVED, .proc/handle_move) - RegisterSignal(movable_parent, COMSIG_MOVABLE_NEWTONIAN_MOVE, .proc/newtonian_impulse) + RegisterSignal(movable_parent, COMSIG_MOVABLE_MOVED,PROC_REF(handle_move)) + RegisterSignal(movable_parent, COMSIG_MOVABLE_NEWTONIAN_MOVE,PROC_REF(newtonian_impulse)) // We will use glide size to intuit how long to delay our loop's next move for // This way you can't ride two movements at once while drifting, since that'd be dumb as fuck - RegisterSignal(movable_parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, .proc/handle_glidesize_update) + RegisterSignal(movable_parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE,PROC_REF(handle_glidesize_update)) // If you stop pulling something mid drift, I want it to retain that momentum - RegisterSignal(movable_parent, COMSIG_ATOM_NO_LONGER_PULLING, .proc/stopped_pulling) + RegisterSignal(movable_parent, COMSIG_ATOM_NO_LONGER_PULLING,PROC_REF(stopped_pulling)) /datum/component/drift/proc/drifting_stop() SIGNAL_HANDLER @@ -183,7 +183,7 @@ block_inputs_until = world.time + glide_for QDEL_IN(src, glide_for + 1) qdel(drifting_loop) - RegisterSignal(parent, COMSIG_MOB_CLIENT_PRE_MOVE, .proc/allow_final_movement) + RegisterSignal(parent, COMSIG_MOB_CLIENT_PRE_MOVE,PROC_REF(allow_final_movement)) /datum/component/drift/proc/allow_final_movement(datum/source) // Some things want to allow movement out of spacedrift, we should let them diff --git a/code/datums/components/earhealing.dm b/code/datums/components/earhealing.dm index 8fe6d2788e0..9fdef8cac34 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 9256c4310a7..6439e49b831 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 34292e613e5..c983dbc4d30 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 @@ -156,7 +156,7 @@ Behavior that's still missing from this component that original food items had t eater.visible_message( span_notice("[eater] unwillingly [eatverb]s \the [parent]."), span_notice("You unwillingly [eatverb] \the [parent].")) - if((600 * (1 + eater.overeatduration / 1000)) to INFINITY) + if(650 to INFINITY) if(HAS_TRAIT(eater, TRAIT_VORACIOUS)) eater.visible_message( span_notice("[eater] gluttonously [eatverb]s \the [parent], cramming it down [eater.p_their()] throat!"), diff --git a/code/datums/components/edit_complainer.dm b/code/datums/components/edit_complainer.dm index e2cca2eb50c..a0570a27ee0 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 63d5a13b2ec..fcc30b70fbf 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(span_danger("[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 df4c49040b6..9e3c8bb6ca9 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 6e4be8497d1..e47acc73b83 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_DAMAGE, .proc/explodable_attack_zone, TRUE) + RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(explodable_attack_zone), TRUE) /datum/component/explodable/proc/on_drop(datum/source, mob/user) UnregisterSignal(user, COMSIG_MOB_APPLY_DAMAGE) diff --git a/code/datums/components/field_of_vision.dm b/code/datums/components/field_of_vision.dm index 97d3141db62..0ffd7f3e3d3 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 b00258762a7..fa7f72248ab 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/crawl1.ogg' if(FOOTSTEP_MOB_HOOF) footstep_sounds = 'modular_coyote/sound/mobsounds/horsestep.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 4512a4de55d..f46ae39f000 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 34cfb12af5d..f9ada4a5c31 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 d94905ebc74..707eb44e782 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 026891ba83e..6cc9d16fc37 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 4f4ba21b70d..6db4260c658 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 4e7a622a31b..07c83675aa3 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 2f311db1668..d1a93475c72 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 8d3c6ab81f0..d8d0a4421c0 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 72aabb72c0b..1d5e0b6f93d 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 6f6aa087dac..504fb9979fa 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 aa1a48d9cf6..dea277db35f 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 e769ec4e0b6..aa45473491b 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 d72aa6a38e1..a18bf5ec177 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 fed9eb26b94..063c86762c5 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 9d62d328665..4e9a969e87b 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/lockon_aiming.dm b/code/datums/components/lockon_aiming.dm index 4acdece7e5c..c189c4f7e86 100644 --- a/code/datums/components/lockon_aiming.dm +++ b/code/datums/components/lockon_aiming.dm @@ -26,7 +26,7 @@ if(target_callback) can_target_callback = target_callback else - can_target_callback = CALLBACK(src, .proc/can_target) + can_target_callback = CALLBACK(src,PROC_REF(can_target)) if(range) lock_cursor_range = range if(typecache) @@ -47,7 +47,7 @@ if(icon_state) lock_icon_state = icon_state generate_lock_visuals() - RegisterSignal(parent, COMSIG_MOB_CLIENT_MOUSEMOVE, .proc/onMouseMove) + RegisterSignal(parent, COMSIG_MOB_CLIENT_MOUSEMOVE,PROC_REF(onMouseMove)) START_PROCESSING(SSfastprocess, src) /datum/component/lockon_aiming/Destroy() diff --git a/code/datums/components/lore_dump.dm b/code/datums/components/lore_dump.dm index 8a73194446f..7f1094b5bca 100644 --- a/code/datums/components/lore_dump.dm +++ b/code/datums/components/lore_dump.dm @@ -10,11 +10,11 @@ /datum/component/lore/Initialize() if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_PARENT_EXAMINE_MORE), .proc/lore_dump) + RegisterSignal(parent, list(COMSIG_PARENT_EXAMINE_MORE),PROC_REF(lore_dump)) /datum/component/lore/proc/lore_dump(datum/source, mob/reader) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/dump_lore, reader) + INVOKE_ASYNC(src,PROC_REF(dump_lore), reader) /datum/component/lore/proc/dump_lore(mob/reader) if(!reader) diff --git a/code/datums/components/magnetic_catch.dm b/code/datums/components/magnetic_catch.dm index 20cd8e1d78f..67b8ec68509 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 f0efc5be809..5f3dbe5193f 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -38,9 +38,9 @@ precondition = _precondition after_insert = _after_insert - RegisterSignal(parent, COMSIG_PARENT_FORCEFEED, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine) + RegisterSignal(parent, COMSIG_PARENT_FORCEFEED,PROC_REF(OnAttackBy)) + 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/melee_special.dm b/code/datums/components/melee_special.dm index ae5efa0f393..9ebcd17b8b1 100644 --- a/code/datums/components/melee_special.dm +++ b/code/datums/components/melee_special.dm @@ -101,7 +101,7 @@ /datum/component/weapon_special/RegisterWithParent() . = ..() - RegisterSignal(parent, COMSIG_ITEM_ATTACKCHAIN, .proc/item_attackchain) + RegisterSignal(parent, COMSIG_ITEM_ATTACKCHAIN,PROC_REF(item_attackchain)) /datum/component/weapon_special/UnregisterFromParent() . = ..() @@ -177,7 +177,7 @@ if(!target) target = client_mouse_angle2turf(user.client, get_turf(user)) if(debug) - INVOKE_ASYNC(src, .proc/debug_highlight, target) + INVOKE_ASYNC(src,PROC_REF(debug_highlight), target) if(target && max_distance < 2 && user.can_reach(target, reach = max_distance)) return list(get_turf(target)) // we're close enough to just hit the target // okay we clicked something out of range, so we need to find the turf at the edge of our range in the direction we clicked @@ -193,7 +193,7 @@ if(!LAZYLEN(line_of_turfs)) // ^ hopefully in the right order return // cool if(debug) - INVOKE_ASYNC(src, .proc/debug_highlight_line, user, line_of_turfs, target) + INVOKE_ASYNC(src,PROC_REF(debug_highlight_line), user, line_of_turfs, target) return line_of_turfs /datum/component/weapon_special/proc/sim_punch_laser(mob/user) @@ -278,7 +278,7 @@ var/list/out = list("[just_one]" = atomstuff[just_one]) if(debug) for(var/atom/movable/AM in out) - INVOKE_ASYNC(src, .proc/debug_highlight_atom, AM, "#0000FF") + INVOKE_ASYNC(src,PROC_REF(debug_highlight_atom), AM, "#0000FF") return out if(WS_FURTHEST_POPULATED_TILE) atomstuff = sort_list(atomstuff, cmp=/proc/cmp_text_dsc) @@ -286,18 +286,18 @@ var/list/out = list("[just_one]" = atomstuff[just_one]) if(debug) for(var/atom/movable/AM in out) - INVOKE_ASYNC(src, .proc/debug_highlight_atom, AM, "#0000FF") + INVOKE_ASYNC(src,PROC_REF(debug_highlight_atom), AM, "#0000FF") return out if(WS_RANDOM_POPULATED_TILE) var/just_one = pick(atomstuff) var/list/out = list("[just_one]" = atomstuff[just_one]) if(debug) for(var/atom/movable/AM in out) - INVOKE_ASYNC(src, .proc/debug_highlight_atom, AM, "#0000FF") + INVOKE_ASYNC(src,PROC_REF(debug_highlight_atom), AM, "#0000FF") return out if(debug) for(var/atom/movable/AM in atomstuff) - INVOKE_ASYNC(src, .proc/debug_highlight_atom, AM, "#0000FF") + INVOKE_ASYNC(src,PROC_REF(debug_highlight_atom), AM, "#0000FF") return atomstuff /datum/component/weapon_special/proc/get_atoms_on_turf(turf/turfhere, mob/user) @@ -398,7 +398,7 @@ WEAPON_MASTER var/d_zone = user.zone_selected if(debug) - INVOKE_ASYNC(src, .proc/debug_highlight_atom, hit_this, "#ff0000") + INVOKE_ASYNC(src,PROC_REF(debug_highlight_atom), hit_this, "#ff0000") for(var/dmge in damage_list) if(QDELETED(hit_this)) return diff --git a/code/datums/components/mirv.dm b/code/datums/components/mirv.dm index 2a1663776c5..3ccaa37b102 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 c5111290a2d..9907e7f7b7c 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -27,13 +27,13 @@ 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_PARENT_QDELETING, .proc/clean_up) + 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)) + RegisterSignal(parent, COMSIG_PARENT_QDELETING,PROC_REF(clean_up)) if(owner.hud_used) modify_hud() @@ -245,7 +245,7 @@ if(master.mind) master.mind.add_skill_modifier(malus.identifier) else - malus.RegisterSignal(master, COMSIG_MOB_ON_NEW_MIND, /datum/skill_modifier.proc/on_mob_new_mind, TRUE) + malus.RegisterSignal(master, COMSIG_MOB_ON_NEW_MIND, TYPE_PROC_REF(/datum/skill_modifier,on_mob_new_mind), TRUE) malus.value_mod = malus.level_mod = 1 - (sanity_level - 3) * MOOD_INSANITY_MALUS else if(malus) if(master.mind) @@ -281,7 +281,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. @@ -289,7 +289,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] @@ -314,8 +314,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 2cc23657978..5bd4ea4e10e 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -42,31 +42,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 f2d28be547e..cee0785239b 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 8ba586f5f9c..35f812bb4b3 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 9ab436f5ee5..f6ce4506db6 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 eb284f00463..1a8da30379d 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 c1673b95ce9..367d6d71e2b 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)) @@ -112,8 +112,8 @@ else //Smart spread angle_out = round((i / num_pellets - 0.5) * max(distro, 1)) - 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, angle_out)) return @@ -189,7 +189,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) @@ -221,7 +221,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() @@ -246,8 +246,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() @@ -286,9 +286,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) @@ -299,7 +299,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 6b7e7221c35..767d877151c 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 91b86adeb51..7c312657186 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 73d8c29440c..c216350511f 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/radiation_area.dm b/code/datums/components/radiation_area.dm index 7689bb7ff34..57b831ba8fd 100644 --- a/code/datums/components/radiation_area.dm +++ b/code/datums/components/radiation_area.dm @@ -8,8 +8,8 @@ return COMPONENT_INCOMPATIBLE if(!isnull(rads_per_second)) rads = rads_per_second - RegisterSignal(parent, list(COMSIG_AREA_ENTERED), .proc/AddMob) - RegisterSignal(parent, list(COMSIG_AREA_EXITED), .proc/RemoveMob) + RegisterSignal(parent, list(COMSIG_AREA_ENTERED),PROC_REF(AddMob)) + RegisterSignal(parent, list(COMSIG_AREA_EXITED),PROC_REF(RemoveMob)) /datum/component/radiation_area/proc/AddMob(area/the_area, mob/living/carbon/glowy) if(!istype(glowy)) diff --git a/code/datums/components/radiation_turf.dm b/code/datums/components/radiation_turf.dm index 5523feed9b7..d93e87abe20 100644 --- a/code/datums/components/radiation_turf.dm +++ b/code/datums/components/radiation_turf.dm @@ -23,12 +23,12 @@ radioactive_things[reff] = ref_n_type[reff] var/turf/our_turf = parent our_coordinates = "[our_turf.x]:[our_turf.y]:[our_turf.z]" - RegisterSignal(parent, list(COMSIG_TURF_CHECK_RADIATION), .proc/im_still_here) - RegisterSignal(parent, list(COMSIG_TURF_IRRADIATE), .proc/update_rads) - RegisterSignal(parent, list(COMSIG_ATOM_ENTERED), .proc/AddMob) - RegisterSignal(parent, list(COMSIG_ATOM_EXITED), .proc/RemoveMob) - RegisterSignal(parent, list(COMSIG_TURF_CHANGE), .proc/on_turf_change) - RegisterSignal(SSdcs, list(COMSIG_GLOB_RADIATION_SHOW), .proc/ping_rads) + RegisterSignal(parent, list(COMSIG_TURF_CHECK_RADIATION),PROC_REF(im_still_here)) + RegisterSignal(parent, list(COMSIG_TURF_IRRADIATE),PROC_REF(update_rads)) + RegisterSignal(parent, list(COMSIG_ATOM_ENTERED),PROC_REF(AddMob)) + RegisterSignal(parent, list(COMSIG_ATOM_EXITED),PROC_REF(RemoveMob)) + RegisterSignal(parent, list(COMSIG_TURF_CHANGE),PROC_REF(on_turf_change)) + RegisterSignal(SSdcs, list(COMSIG_GLOB_RADIATION_SHOW),PROC_REF(ping_rads)) // from this point onwards, we cannot rely on our parent to be our turf. // So, we'll have to sit here and treat whatever's at our coordinates *as* our parent @@ -110,7 +110,7 @@ return thingtoggle = TRUE blinker.maptext = thingtoggle ? "[rads]" : initial(blinker.maptext) - addtimer(CALLBACK(src, .proc/unping_rads), 2 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain //*doublepain + addtimer(CALLBACK(src,PROC_REF(unping_rads)), 2 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain //*doublepain /datum/component/radiation_turf/proc/unping_rads() var/turf/blinker = coords2turf(our_coordinates) diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 8afa4353b2f..ec8a007f746 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 f4b133a0e22..32268ee5bfd 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/reskin.dm b/code/datums/components/reskin.dm index 7b7644d4d5f..040db7e0caa 100644 --- a/code/datums/components/reskin.dm +++ b/code/datums/components/reskin.dm @@ -30,10 +30,10 @@ GLOBAL_LIST_EMPTY(reskin_list) if(LAZYLEN(skin_override)) skins = skin_override.Copy() initialize_skins() - RegisterSignal(parent, list(COMSIG_CLICK_CTRL_SHIFT), .proc/open_skin_picker) - RegisterSignal(parent, list(COMSIG_ITEM_RESKINNABLE), .proc/is_reskinnable) - RegisterSignal(parent, list(COMSIG_ITEM_UPDATE_RESKIN), .proc/update_skin) - RegisterSignal(parent, list(COMSIG_ITEM_GET_CURRENT_RESKIN), .proc/get_current_skin) + RegisterSignal(parent, list(COMSIG_CLICK_CTRL_SHIFT),PROC_REF(open_skin_picker)) + RegisterSignal(parent, list(COMSIG_ITEM_RESKINNABLE),PROC_REF(is_reskinnable)) + RegisterSignal(parent, list(COMSIG_ITEM_UPDATE_RESKIN),PROC_REF(update_skin)) + RegisterSignal(parent, list(COMSIG_ITEM_GET_CURRENT_RESKIN),PROC_REF(get_current_skin)) /datum/component/reskinnable/UnregisterFromParent() skins = null @@ -62,7 +62,7 @@ GLOBAL_LIST_EMPTY(reskin_list) init_skins_if_they_havent_yet() if(!can_reskin(src, user)) return - INVOKE_ASYNC(src, .proc/actually_open_skin_picker, user) + INVOKE_ASYNC(src,PROC_REF(actually_open_skin_picker), user) /datum/component/reskinnable/proc/actually_open_skin_picker(mob/user) var/obj/item/master = parent @@ -78,7 +78,7 @@ GLOBAL_LIST_EMPTY(reskin_list) if(!the_icon) the_icon = my_original_skin.icon skinnies["[skine.skin]"] = skine.get_preview_image(master) - var/choice = show_radial_menu(user, master, skinnies, custom_check = CALLBACK(src, .proc/can_reskin, src, user), radius = 40, require_near = TRUE, ultradense = (LAZYLEN(skins) > 7)) + var/choice = show_radial_menu(user, master, skinnies, custom_check = CALLBACK(src,PROC_REF(can_reskin), src, user), radius = 40, require_near = TRUE, ultradense = (LAZYLEN(skins) > 7)) if(!choice) return FALSE if(QDELETED(master)) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 9cbbbeeb4ae..80ef59334cf 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -26,9 +26,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 @@ -207,7 +207,7 @@ to_chat(user, span_notice("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 @@ -229,7 +229,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 9d207b01397..0cfc606af03 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/second_wind.dm b/code/datums/components/second_wind.dm index 2396ba1751a..a0f6760307f 100644 --- a/code/datums/components/second_wind.dm +++ b/code/datums/components/second_wind.dm @@ -10,10 +10,10 @@ /datum/component/second_wind/Initialize() if(!ismob(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOB_CLIENT_LOGIN), .proc/update_ckey) - RegisterSignal(parent, list(COMSIG_SECOND_WIND), .proc/open_revive_menu) - RegisterSignal(parent, list(COMSIG_SECOND_WIND_GRANT), .proc/grant_second_wind) - RegisterSignal(parent, list(COMSIG_LIVING_BIOLOGICAL_LIFE), .proc/check_living) + RegisterSignal(parent, list(COMSIG_MOB_CLIENT_LOGIN),PROC_REF(update_ckey)) + RegisterSignal(parent, list(COMSIG_SECOND_WIND),PROC_REF(open_revive_menu)) + RegisterSignal(parent, list(COMSIG_SECOND_WIND_GRANT),PROC_REF(grant_second_wind)) + RegisterSignal(parent, list(COMSIG_LIVING_BIOLOGICAL_LIFE),PROC_REF(check_living)) /datum/component/second_wind/proc/update_ckey(mob/my_mob, client/logged_in) if(!isclient(logged_in)) diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index e9dab0f8231..70add169d2c 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 4de7e99a024..85cfc909e85 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 b2789bbcf1d..4a5aef05b66 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -17,12 +17,12 @@ var/list/slot_whitelist = list(INV_SLOTBIT_OCLOTHING, INV_SLOTBIT_ICLOTHING, INV_SLOTBIT_GLOVES, INV_SLOTBIT_FEET, INV_SLOTBIT_HEAD, INV_SLOTBIT_MASK, INV_SLOTBIT_BELT, INV_SLOTBIT_NECK) ///what we give to connect_loc by default, makes slippable mobs moving over us slip var/static/list/default_connections = list( - COMSIG_ATOM_ENTERED = .proc/Slip, + COMSIG_ATOM_ENTERED =PROC_REF(Slip), ) ///what we give to connect_loc if we're an item and get equipped by a mob. makes slippable mobs moving over our holder slip var/static/list/holder_connections = list( - COMSIG_ATOM_ENTERED = .proc/Slip_on_wearer, + COMSIG_ATOM_ENTERED =PROC_REF(Slip_on_wearer), ) /// The connect_loc_behalf component for the holder_connections list. @@ -40,10 +40,10 @@ add_connect_loc_behalf_to_parent() if(ismovable(parent)) 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 - RegisterSignal(parent, COMSIG_ATOM_ENTERED, .proc/Slip) + RegisterSignal(parent, COMSIG_ATOM_ENTERED,PROC_REF(Slip)) /datum/component/slippery/proc/add_connect_loc_behalf_to_parent() if(ismovable(parent)) @@ -77,7 +77,7 @@ return var/mob/living/victim = arrived if(!(victim.movement_type & (FLYING | FLOATING)) && victim.slip(knockdown_time, parent, lube_flags, paralyze_time, force_drop_items) && callback) - INVOKE_ASYNC(callback, /datum/callback/.proc/Invoke, victim) + INVOKE_ASYNC(callback, TYPE_PROC_REF(/datum/callback/,Invoke), victim) /* * Gets called when COMSIG_ITEM_EQUIPPED is sent to parent. @@ -95,7 +95,7 @@ holder = equipper qdel(GetComponent(/datum/component/connect_loc_behalf)) AddComponent(/datum/component/connect_loc_behalf, holder, holder_connections) - RegisterSignal(holder, COMSIG_PARENT_QDELETING, .proc/holder_deleted) + RegisterSignal(holder, COMSIG_PARENT_QDELETING,PROC_REF(holder_deleted)) /* * Detects if the holder mob is deleted. diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index e9e2b25f063..4e6e703bca3 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -107,19 +107,19 @@ GLOBAL_VAR_INIT(debug_spawner_turfs, FALSE) var/coords = atom2coords(parent) GLOB.nest_spawn_points -= coords // im here! honest - RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/nest_destroyed) - RegisterSignal(parent, COMSIG_OBJ_ATTACK_GENERIC, .proc/on_attack_generic) - RegisterSignal(parent, COMSIG_SPAWNER_COVERED, .proc/coverme) - RegisterSignal(parent, COMSIG_SPAWNER_UNCOVERED, .proc/uncoverme) - RegisterSignal(parent, COMSIG_SPAWNER_ABSORB_MOB, .proc/unbirth_mob) - // RegisterSignal(parent, COMSIG_SPAWNER_EXISTS, .proc/has_spawner) + RegisterSignal(parent, COMSIG_PARENT_QDELETING,PROC_REF(nest_destroyed)) + RegisterSignal(parent, COMSIG_OBJ_ATTACK_GENERIC,PROC_REF(on_attack_generic)) + RegisterSignal(parent, COMSIG_SPAWNER_COVERED,PROC_REF(coverme)) + RegisterSignal(parent, COMSIG_SPAWNER_UNCOVERED,PROC_REF(uncoverme)) + RegisterSignal(parent, COMSIG_SPAWNER_ABSORB_MOB,PROC_REF(unbirth_mob)) + // RegisterSignal(parent, COMSIG_SPAWNER_EXISTS,PROC_REF(has_spawner)) if(istype(parent, /obj/structure/nest)) var/obj/structure/nest/nest = parent if(nest.spawned_by_ckey) am_special = TRUE if(istype(parent, /obj/structure/nest/special)) am_special = TRUE - RegisterSignal(parent, COMSIG_SPAWNER_SPAWN_NOW, .proc/spawn_mob_special) + RegisterSignal(parent, COMSIG_SPAWNER_SPAWN_NOW,PROC_REF(spawn_mob_special)) // if(SSspawners.use_turf_registration) // register_turfs() // else @@ -137,8 +137,8 @@ GLOBAL_VAR_INIT(debug_spawner_turfs, FALSE) // /datum/component/spawner/proc/connect_to_turf(turf/trip, debug_color) // my_turfs |= atom2coords(trip) -// RegisterSignal(trip, COMSIG_ATOM_ENTERED, .proc/turf_trip) -// RegisterSignal(trip, COMSIG_TURF_CHANGE, .proc/turf_changed) +// RegisterSignal(trip, COMSIG_ATOM_ENTERED,PROC_REF(turf_trip)) +// RegisterSignal(trip, COMSIG_TURF_CHANGE,PROC_REF(turf_changed)) // if(SSspawners.debug_spawner_turfs && debug_color) // trip.add_atom_colour(debug_color, ADMIN_COLOUR_PRIORITY) diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm index dfb6932ef74..084adb3ad46 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 300f04562bf..900ef8edcaf 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 143c1d70d34..5ac80dd8eb9 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -20,11 +20,11 @@ /datum/component/stationloving/Initialize(inform_admins = FALSE, allow_death = FALSE, put_somewhere_random = TRUE, allowed_z = VALIDBALL_Z_LEVELS) 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_ITEM_PROCESS), .proc/record_position) + 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)) + RegisterSignal(parent, list(COMSIG_ITEM_PROCESS),PROC_REF(record_position)) src.allowed_z = allowed_z src.put_somewhere_random = put_somewhere_random if(!put_somewhere_random) diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm index c81035e687c..76af8941c8b 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/bag_of_holding.dm b/code/datums/components/storage/concrete/bag_of_holding.dm index a503e8882af..ee0d5af43cb 100644 --- a/code/datums/components/storage/concrete/bag_of_holding.dm +++ b/code/datums/components/storage/concrete/bag_of_holding.dm @@ -10,7 +10,7 @@ var/list/obj/item/storage/backpack/holding/matching = typecache_filter_list(W.GetAllContents(), typecacheof(/obj/item/storage/backpack/holding)) matching -= A if(istype(W, /obj/item/storage/backpack/holding) || matching.len) - INVOKE_ASYNC(src, .proc/do_disaster, W, user) + INVOKE_ASYNC(src,PROC_REF(do_disaster), W, user) . = ..() /datum/component/storage/concrete/bluespace/bag_of_holding/proc/do_disaster(obj/item/W, mob/living/user) diff --git a/code/datums/components/storage/concrete/emergency.dm b/code/datums/components/storage/concrete/emergency.dm index faaeada13d8..5a602a09f4e 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 b357da95162..a32785d1c79 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -97,39 +97,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() @@ -156,7 +156,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)) @@ -226,7 +226,7 @@ return var/my_bar = SSprogress_bars.add_bar(I.loc, list(), len, FALSE, FALSE) var/list/rejections = list() - while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, my_bar))) + while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src,PROC_REF(handle_mass_pickup), things, I.loc, rejections, my_bar))) stoplag(1) SSprogress_bars.remove_bar(my_bar) to_chat(M, span_notice("You put everything you could [insert_preposition] [parent].")) @@ -284,7 +284,7 @@ var/turf/T = get_turf(A) var/list/things = get_quickempty_list() var/my_bar = SSprogress_bars.add_bar(T, list(), length(things), FALSE, FALSE) - while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, my_bar))) + while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src,PROC_REF(mass_remove_from_storage), T, things, my_bar))) stoplag(1) SSprogress_bars.remove_bar(my_bar) A.do_squish(0.8, 1.2) diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm index 8bd7d9b8b3b..20893acec6c 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. @@ -289,7 +289,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 054acf62bae..4a49c6139a8 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(span_danger("[L] [spawn_text].")) diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm index 5d9f5da833f..098e31e16ea 100644 --- a/code/datums/components/swarming.dm +++ b/code/datums/components/swarming.dm @@ -8,9 +8,9 @@ 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_MOB_DEATH, .proc/leave_swarm) + RegisterSignal(parent, COMSIG_MOVABLE_CROSSED,PROC_REF(join_swarm)) + RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED,PROC_REF(leave_swarm)) + RegisterSignal(parent, COMSIG_MOB_DEATH,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 7230e72814b..21ff429acf5 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -51,7 +51,7 @@ var/mob/living/carbon/P = parent to_chat(P, span_notice("You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.")) - addtimer(CALLBACK(src, .proc/resetTackle), max(base_knockdown, 3 SECONDS), TIMER_STOPPABLE) + addtimer(CALLBACK(src,PROC_REF(resetTackle)), max(base_knockdown, 3 SECONDS), TIMER_STOPPABLE) /datum/component/tackler/Destroy() var/mob/living/carbon/P = parent @@ -60,9 +60,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)) @@ -104,7 +104,7 @@ return user.tackling = TRUE - RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle, TRUE) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,PROC_REF(checkObstacle), TRUE) playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) var/leap_word = iscatperson(user) ? "pounce" : "leap" ///If cat, "pounce" instead of "leap". @@ -121,7 +121,7 @@ user.adjustStaminaLoss(stamina_cost) user.throw_at(A, range, speed, user, TRUE) user.toggle_throw_mode() - addtimer(CALLBACK(src, .proc/resetTackle), max(base_knockdown, 3 SECONDS), TIMER_STOPPABLE) + addtimer(CALLBACK(src,PROC_REF(resetTackle)), max(base_knockdown, 3 SECONDS), TIMER_STOPPABLE) return(COMSIG_MOB_CANCEL_CLICKON) /** diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 251272ac2e9..d71280cfd62 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 21b24c57eb7..13ba65c07d4 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() @@ -143,7 +143,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 @@ -170,7 +170,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 efdb6459056..5d9d2a9dc25 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 072c6b3fa11..ef0c4f3de94 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 661ec32b2fd..fdc9e563f45 100644 --- a/code/datums/components/waddling.dm +++ b/code/datums/components/waddling.dm @@ -15,7 +15,7 @@ up_waddle_time = amount_to_bob_up if(!isnull(amount_to_bob_side)) side_waddle_time = amount_to_bob_side - RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/Waddle) + RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED),PROC_REF(Waddle)) /datum/component/waddling/proc/UpdateFromPrefs(datum/preferences/P) if(!isnull(P)) diff --git a/code/datums/components/wearertargeting.dm b/code/datums/components/wearertargeting.dm index 4760757701f..1b37dbde200 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 6b3660edf0f..35eed97b26a 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 - parent.LoadComponent(/datum/component/slippery, intensity, lube_flags, CALLBACK(src, .proc/AfterSlip)) + parent.LoadComponent(/datum/component/slippery, intensity, lube_flags, CALLBACK(src,PROC_REF(AfterSlip))) /datum/component/wet_floor/proc/dry(datum/source, strength = TURF_WET_WATER, immediate = FALSE, duration_decrease = INFINITY) for(var/i in time_left_list) diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index 406dca2b19a..a0eb1741887 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 236fdc32d5b..d2d6babc112 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 cf15ec407ac..55bb7ee563c 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 52234633cd7..ed91ed6ae81 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -274,15 +274,15 @@ else if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma) to_chat(M, span_warning("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) - INVOKE_ASYNC(M, /mob/living.proc/emote, "deathgasp") + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob/living,emote), "deathgasp") 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 9e5cc3bc16a..6180e1442b7 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, span_warning("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 == "Shaved") || !(H.hair_style == "Bald")) to_chat(H, span_warning("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 323242a2b45..e025ac65e0a 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/elements/_element.dm b/code/datums/elements/_element.dm index fc469100074..9e8025af1da 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 70833225ea9..44d976e9224 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 f54235f316d..83b82fe3a4a 100644 --- a/code/datums/elements/beauty.dm +++ b/code/datums/elements/beauty.dm @@ -12,8 +12,8 @@ beauty = beautyamount if(ismovable(target)) - RegisterSignal(target, COMSIG_ENTER_AREA, .proc/enter_area, override = TRUE) - RegisterSignal(target, COMSIG_EXIT_AREA, .proc/exit_area, override = TRUE) + RegisterSignal(target, COMSIG_ENTER_AREA,PROC_REF(enter_area), override = TRUE) + RegisterSignal(target, COMSIG_EXIT_AREA,PROC_REF(exit_area), override = TRUE) 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 61140ad0ed5..c79960405e1 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 1c67d4ea068..c096f246bc7 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 fee9072f751..7590588a7db 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/debris.dm b/code/datums/elements/debris.dm index 993dc342562..29f89317b17 100644 --- a/code/datums/elements/debris.dm +++ b/code/datums/elements/debris.dm @@ -46,7 +46,7 @@ debris_velocity = _debris_velocity debris_amount = _debris_amount debris_scale = _debris_scale - RegisterSignal(target, COMSIG_ATOM_BULLET_ACT,.proc/register_for_impact) + RegisterSignal(target, COMSIG_ATOM_BULLET_ACT, PROC_REF(register_for_impact)) /datum/element/debris/Detach(datum/source, force) . = ..() @@ -55,7 +55,7 @@ /datum/element/debris/proc/register_for_impact(datum/source, what_should_be_a_projectile) // WHY DOES THIS NOT FUCKING WORK, WHY CAN I NOT JUST FUCKING TELL THIS WHAT THE VARIABLE TYPE IS HERE SIGNAL_HANDLER var/obj/item/projectile/proj = what_should_be_a_projectile - INVOKE_ASYNC(src, .proc/on_impact, source, proj) + INVOKE_ASYNC(src, PROC_REF(on_impact), source, proj) /datum/element/debris/proc/on_impact(datum/source, obj/item/projectile/P) var/angle = round(Get_Angle(P.starting, source), 1) @@ -79,7 +79,7 @@ debris_visuals.particles.spawning = debris_amount debris_visuals.particles.scale = debris_scale smoke_visuals.layer = ABOVE_OBJ_LAYER + 0.01 - addtimer(CALLBACK(src, .proc/remove_ping, src, smoke_visuals, debris_visuals), 0.7 SECONDS) + addtimer(CALLBACK(src, PROC_REF(remove_ping), src, smoke_visuals, debris_visuals), 0.7 SECONDS) /datum/element/debris/proc/remove_ping(hit, obj/effect/abstract/particle_holder/smoke_visuals, obj/effect/abstract/particle_holder/debris_visuals) QDEL_NULL(smoke_visuals) diff --git a/code/datums/elements/decal.dm b/code/datums/elements/decal.dm index a20d46c813b..7cc9c42b7b5 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/drag_pickup.dm b/code/datums/elements/drag_pickup.dm index 7501d552c47..480f65339d3 100644 --- a/code/datums/elements/drag_pickup.dm +++ b/code/datums/elements/drag_pickup.dm @@ -9,7 +9,7 @@ /datum/element/drag_pickup/Attach(datum/target) if(!ismovable(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_MOUSEDROP_ONTO, .proc/pick_up) + RegisterSignal(target, COMSIG_MOUSEDROP_ONTO,PROC_REF(pick_up)) return ..() /datum/element/drag_pickup/Detach(datum/source) @@ -23,7 +23,7 @@ return if(over == picker) - INVOKE_ASYNC(picker, /mob/.proc/put_in_hands, source) + INVOKE_ASYNC(picker, TYPE_PROC_REF(/mob/,put_in_hands), source) else if(istype(over, /atom/movable/screen/inventory/hand)) var/atom/movable/screen/inventory/hand/Selected_hand = over picker.putItemFromInventoryInHandIfPossible(source, Selected_hand.held_index) diff --git a/code/datums/elements/dusts_on_leaving_area.dm b/code/datums/elements/dusts_on_leaving_area.dm index 7b1807a15c4..dd22542bfed 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 fefbe4fbe79..edd00f690b3 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 91c2120fc2c..4747d9765e8 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 1dc0c4fba4a..c2318f7a024 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 c24914decb8..18fbe248caa 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 d074c8f6ed2..5807e8b5746 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 4d33268f3c0..f1fe16d77a6 100644 --- a/code/datums/elements/flavor_text.dm +++ b/code/datums/elements/flavor_text.dm @@ -35,8 +35,8 @@ 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_FLIST, .proc/show_flist) + RegisterSignal(target, COMSIG_PARENT_EXAMINE,PROC_REF(show_flavor)) + RegisterSignal(target, COMSIG_FLIST,PROC_REF(show_flist)) if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being var/mob/M = target @@ -44,7 +44,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) . = ..() @@ -106,7 +106,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code return if(!reader) return - INVOKE_ASYNC(src, .proc/actually_show_flist, target, reader) + INVOKE_ASYNC(src, PROC_REF(actually_show_flist), target, reader) return TRUE /datum/element/flavor_text/proc/actually_show_flist(mob/living/carbon/human/H, mob/reader) @@ -168,11 +168,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 0b50df5b21f..d9055b2a717 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 24c8bda7bd4..16949664fbd 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 df0f5f6f487..36a82dfd132 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 5a326f719f5..b5577eed4fd 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, override = TRUE) - RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine, override = TRUE) + RegisterSignal(target, COMSIG_CLICK_ALT,PROC_REF(mob_try_pickup), override = TRUE) + RegisterSignal(target, COMSIG_PARENT_EXAMINE,PROC_REF(on_examine), override = TRUE) /datum/element/mob_holder/Detach(datum/source, force) . = ..() @@ -118,11 +118,11 @@ /obj/item/clothing/head/mob_holder/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_VORE_ATOM_DEVOURED, .proc/release_into_belly) - RegisterSignal(src, COMSIG_VORE_CAN_EAT, .proc/relay_caneat) - RegisterSignal(src, COMSIG_VORE_CAN_BE_EATEN, .proc/relay_can_be_eaten) - RegisterSignal(src, COMSIG_VORE_CAN_BE_FED_PREY, .proc/relay_can_be_fed) - RegisterSignal(src, COMSIG_VORE_SNIFF_LIVING, .proc/relay_sniff) + RegisterSignal(src, COMSIG_VORE_ATOM_DEVOURED,PROC_REF(release_into_belly)) + RegisterSignal(src, COMSIG_VORE_CAN_EAT,PROC_REF(relay_caneat)) + RegisterSignal(src, COMSIG_VORE_CAN_BE_EATEN,PROC_REF(relay_can_be_eaten)) + RegisterSignal(src, COMSIG_VORE_CAN_BE_FED_PREY,PROC_REF(relay_can_be_fed)) + RegisterSignal(src, COMSIG_VORE_SNIFF_LIVING,PROC_REF(relay_sniff)) /obj/item/clothing/head/mob_holder/proc/relay_caneat() return SEND_SIGNAL(held_mob, COMSIG_VORE_CAN_EAT) @@ -189,11 +189,11 @@ if(!istype(grabber)) return carrier = WEAKREF(grabber) - RegisterSignal(grabber, COMSIG_MOB_APPLY_DAMAGE, .proc/pass_damage) // OUR APC IS UNDER ATTACK - RegisterSignal(grabber, COMSIG_MOB_DEATH, .proc/release) // Oh no im dead + RegisterSignal(grabber, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(pass_damage)) // OUR APC IS UNDER ATTACK + RegisterSignal(grabber, COMSIG_MOB_DEATH, PROC_REF(release)) // Oh no im dead if(!held_mob) return - RegisterSignal(held_mob, COMSIG_MOB_DEATH, .proc/release) // Oh no im dead 2 + RegisterSignal(held_mob, COMSIG_MOB_DEATH, PROC_REF(release)) // Oh no im dead 2 /obj/item/clothing/head/mob_holder/dropped(mob/user) . = ..() diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm index 63d02264729..2428e66ec91 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 3db4455208d..1f48374c820 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 = span_italic("[search_texts[3]]") user.visible_message(span_notice("[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/spellcasting.dm b/code/datums/elements/spellcasting.dm index 877bcdbcd37..8c206a60ecf 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 @@ -38,7 +38,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 823d391e14c..2265be68e04 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 d16ef6625f0..ca0be4290eb 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 91ed4710685..8251f5cd468 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 4b49552fbe5..d14f7fa8d64 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 f52a712ebb5..9a300b7662a 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 5c71547f624..37cdc4cc3f3 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 6476a204cfe..751e7467190 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 8776b6b91ef..420e7f37cc4 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -405,7 +405,7 @@ GLOBAL_LIST_EMPTY(explosions) else continue - addtimer(CALLBACK(GLOBAL_PROC, .proc/wipe_color_and_text, wipe_colours), 100) + addtimer(CALLBACK(usr, 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/holocall.dm b/code/datums/holocall.dm index 354af09cfbe..8b329927507 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/hud.dm b/code/datums/hud.dm index c1e5fad00b6..489162f7655 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -86,10 +86,10 @@ GLOBAL_LIST_INIT(huds, list( return if(!hudusers[M]) hudusers[M] = 1 - RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/unregister_mob) + RegisterSignal(M, COMSIG_PARENT_QDELETING,PROC_REF(unregister_mob)) 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 03ae7b9a602..f4b1f2261d3 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -55,7 +55,7 @@ if(!istype(add_thing)) CRASH("looping sound [src] given [add_thing]. [add_thing] is not an atom!!!!!!!!!!!!!!!!!") output_atoms |= add_thing - RegisterSignal(add_thing, COMSIG_PARENT_PREQDELETED, .proc/remove_atom) + RegisterSignal(add_thing, COMSIG_PARENT_PREQDELETED,PROC_REF(remove_atom)) /datum/looping_sound/proc/remove_atom(atom/remove_thing) UnregisterSignal(remove_thing, COMSIG_PARENT_PREQDELETED) @@ -64,7 +64,7 @@ /datum/looping_sound/proc/start(atom/add_thing) if(add_thing) output_atoms |= add_thing - RegisterSignal(add_thing, COMSIG_PARENT_PREQDELETED, .proc/remove_atom, override = TRUE) + RegisterSignal(add_thing, COMSIG_PARENT_PREQDELETED, PROC_REF(remove_atom), override = TRUE) if(timerid || init_timerid) // already running, will pick them up on the next go return on_start() @@ -106,7 +106,7 @@ play(sound_play) mid_length = sound_play[SL_FILE_LENGTH] if(!timerid) - timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length + loop_delay, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP) + timerid = addtimer(CALLBACK(src,PROC_REF(sound_loop), world.time), mid_length + loop_delay, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP) else set_timer_wait(timerid, mid_length + loop_delay) @@ -154,7 +154,7 @@ var/list/sound_start = pickweight(start_sound) play(sound_start) start_wait = sound_start[SL_FILE_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 59828fe24e6..4e1e7e9c8c5 100644 --- a/code/datums/looping_sounds/looping_sound.dm +++ b/code/datums/looping_sounds/looping_sound.dm @@ -80,7 +80,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 @@ -108,7 +108,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 2f22648a78c..65c4d2dbf7c 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -209,7 +209,7 @@ if (T && isturf(T)) if (!D.stat) D.emote("scream") - D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, /mob/living/carbon/human.proc/DefaultCombatKnockdown, 20)) + D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, TYPE_PROC_REF(/mob/living/carbon/human,DefaultCombatKnockdown), 20)) log_combat(A, D, "has thrown with wrestling") return FALSE @@ -350,7 +350,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/materials/_material.dm b/code/datums/materials/_material.dm index 6ab19334dba..831dc5e200b 100644 --- a/code/datums/materials/_material.dm +++ b/code/datums/materials/_material.dm @@ -54,7 +54,7 @@ Simple datum which is instanced once per type and is used for every object of sa source.name = "[name] [source.name]" if(beauty_modifier) - addtimer(CALLBACK(source, /datum.proc/_AddElement, list(/datum/element/beauty, beauty_modifier * amount)), 0) + addtimer(CALLBACK(source, TYPE_PROC_REF(/datum,_AddElement), list(/datum/element/beauty, beauty_modifier * amount)), 0) if(istype(source, /obj)) //objs on_applied_obj(source, amount, material_flags) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 216eb31fb1b..aca14fac076 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -177,7 +177,7 @@ var/datum/team/antag_team = A.get_team() if(antag_team) antag_team.add_member(src) - INVOKE_ASYNC(A, /datum/antagonist.proc/on_gain) + INVOKE_ASYNC(A, TYPE_PROC_REF(/datum/antagonist,on_gain)) return A /datum/mind/proc/remove_antag_datum(datum_type) @@ -734,7 +734,7 @@ continue S.charge_counter = delay S.updateButtonIcon() - INVOKE_ASYNC(S, /obj/effect/proc_holder/spell.proc/start_recharge) + INVOKE_ASYNC(S, TYPE_PROC_REF(/obj/effect/proc_holder/spell,start_recharge)) /datum/mind/proc/get_ghost(even_if_they_cant_reenter) for(var/mob/dead/observer/G in GLOB.dead_mob_list) diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index ca349d3b13d..d6c16a7bf81 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -91,7 +91,7 @@ var/mob/living/carbon/human/H = owner if(iscatperson(H)) H.dna.species.start_wagging_tail(H) - addtimer(CALLBACK(H.dna.species, /datum/species.proc/stop_wagging_tail, H), 30) + addtimer(CALLBACK(H.dna.species, TYPE_PROC_REF(/datum/species,stop_wagging_tail), H), 30) description = span_nicegreen("They want to play on the table!") mood_change = 2 diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index b77bc3f45c9..68e0f0381d0 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 15f76f74c73..07e2256f8a9 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -418,7 +418,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 8ee005194f5..7f07ac96eec 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 c66f78fa51d..f9edb7944fc 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 ad4b7b28ff0..a7778df3f3c 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 49a80d0eded..1eec8787116 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/skills/_skill.dm b/code/datums/skills/_skill.dm index 0346d956b1c..fd5ea0007c7 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 d785b2b5cfc..4792446bbf2 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) @@ -115,9 +115,9 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill) skill_holder.need_static_data_update = TRUE 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) + M.RegisterSignal(src, COMSIG_MIND_TRANSFER, TYPE_PROC_REF(/datum/skill_modifier,on_mind_transfer)) + M.RegisterSignal(current, COMSIG_MOB_ON_NEW_MIND, TYPE_PROC_REF(/datum/skill_modifier,on_mob_new_mind), TRUE) + RegisterSignal(M, COMSIG_PARENT_PREQDELETED,PROC_REF(on_skill_modifier_deletion)) #undef ADD_MOD_STEP @@ -201,4 +201,4 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill) /datum/skill_modifier/proc/on_mob_new_mind(mob/source) source.mind.add_skill_modifier(identifier) - RegisterSignal(source.mind, COMSIG_MIND_TRANSFER, /datum/skill_modifier.proc/on_mind_transfer) + RegisterSignal(source.mind, COMSIG_MIND_TRANSFER, TYPE_PROC_REF(/datum/skill_modifier,on_mind_transfer)) diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index d10b976540e..7cded411ea7 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -943,7 +943,7 @@ L.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND) -datum/status_effect/pacify +/datum/status_effect/pacify id = "pacify" status_type = STATUS_EFFECT_REPLACE tick_interval = 1 @@ -986,7 +986,7 @@ datum/status_effect/pacify . = ..() 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 ? span_warning("[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point.") : ""]", \ @@ -1014,8 +1014,8 @@ datum/status_effect/pacify var/mob/living/carbon/C = owner var/hypnomsg = uncostumize_say(hearing_args[HEARING_RAW_MESSAGE], hearing_args[HEARING_MESSAGE_MODE]) C.cure_trauma_type(/datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY) //clear previous hypnosis - addtimer(CALLBACK(C, /mob/living/carbon.proc/gain_trauma, /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hypnomsg), 10) - addtimer(CALLBACK(C, /mob/living.proc/Stun, 60, TRUE, TRUE), 15) //Take some time to think about it + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon,gain_trauma), /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hypnomsg), 10) + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living,Stun), 60, TRUE, TRUE), 15) //Take some time to think about it qdel(src) /datum/status_effect/spasms diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index eebd013f6e0..b7232850c72 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, span_userdanger("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 987d013e436..dde1b74fca9 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/tattoo.dm b/code/datums/tattoo.dm index d0ba2fdddab..ea2007b7236 100644 --- a/code/datums/tattoo.dm +++ b/code/datums/tattoo.dm @@ -47,7 +47,7 @@ /datum/tattoo/proc/on_apply(mob/user) if(fade_time) - addtimer(CALLBACK(src, .proc/fade_tattoo), fade_time) + addtimer(CALLBACK(src,PROC_REF(fade_tattoo)), fade_time) /datum/tattoo/Destroy(force, ...) if(owner_limb) @@ -82,7 +82,7 @@ if(fadedness++ > TATTOO_VERY_FADED) qdel(src) return - addtimer(CALLBACK(src, .proc/fade_tattoo), fade_time) + addtimer(CALLBACK(src,PROC_REF(fade_tattoo)), fade_time) /// Is the tattoo somewhere really private? So you dont examine someone in power armor and find FOXYGRANDMA above their ass /// A really in-depth check through a person's privates to see if their relevant bits are, in fact, visible @@ -748,7 +748,7 @@ victim.emote("scream") owie.receive_damage(brute = owie.brute_dam < 30 ? brute_d : 0, stamina = stamina_d, wound_bonus = bleed_d, sharpness = SHARP_EDGED, damage_coverings = FALSE) if(engraving) - addtimer(CALLBACK(src, .proc/make_noises_and_pain, victim, user, tat_loc, part), next_time) + addtimer(CALLBACK(src,PROC_REF(make_noises_and_pain), victim, user, tat_loc, part), next_time) /obj/item/tattoo_gun/proc/try_remove_tattoo(mob/living/carbon/human/victim, mob/living/user, bodyzone, obj/item/bodypart/part) if(!istype(victim) || !istype(user)) diff --git a/code/datums/tgs_event_handler.dm b/code/datums/tgs_event_handler.dm index bec98ccd81d..bdf36040363 100644 --- a/code/datums/tgs_event_handler.dm +++ b/code/datums/tgs_event_handler.dm @@ -23,7 +23,7 @@ to_chat(world, span_boldannounce("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 2718dca5828..818eb5dafbc 100644 --- a/code/datums/traits/_quirk.dm +++ b/code/datums/traits/_quirk.dm @@ -53,7 +53,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() if(reference) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 295e53973e5..d49aea970cc 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -471,8 +471,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() if(!quirk_holder) @@ -504,7 +504,7 @@ Edit: TK~ This is the dumbest fucking shit I've ever seen in my life. This isn if(prob(85) || (istype(mind_check) && mind_check.mind)) return - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, quirk_holder, span_smallnotice("You make eye contact with [A].")), 3) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), quirk_holder, span_smallnotice("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)) @@ -527,7 +527,7 @@ Edit: TK~ This is the dumbest fucking shit I've ever seen in my life. This isn 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, span_userdanger("[msg]")), 3) // so the examine signal has time to fire and this will print after + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), quirk_holder, span_userdanger("[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 499c360a9c8..c34dd45b13d 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -151,7 +151,7 @@ alert_players(pick(telegraph_message_list), telegraph_sound) else alert_players(telegraph_message, 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 @@ -162,15 +162,12 @@ */ /datum/weather/proc/start() if(stage >= MAIN_STAGE) - return - stage = MAIN_STAGE - update_areas() - if(LAZYLEN(weather_message_list)) + stage = MAIN_STAGE + update_areas() alert_players(pick(weather_message_list), weather_sound) else alert_players(weather_message, weather_sound) - addtimer(CALLBACK(src, .proc/wind_down), weather_duration) - sound_ao?.start() + addtimer(CALLBACK(src,PROC_REF(wind_down)), weather_duration) sound_ai?.start() for(var/P in GLOB.player_list) handle_looping_sound(P) @@ -191,7 +188,7 @@ alert_players(pick(end_message_list), end_sound) else alert_players(end_message, end_sound) - addtimer(CALLBACK(src, .proc/end), end_duration) + addtimer(CALLBACK(src, PROC_REF(end)), end_duration) /datum/weather/proc/alert_players(message, sound_play) if(!message && !sound_play) diff --git a/code/datums/wires/airalarm.dm b/code/datums/wires/airalarm.dm index 376512a3756..3434b0b888c 100644 --- a/code/datums/wires/airalarm.dm +++ b/code/datums/wires/airalarm.dm @@ -32,13 +32,13 @@ if(!A.shorted) A.shorted = TRUE A.update_icon() - addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 1200) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/airalarm,reset), wire), 1200) if(WIRE_IDSCAN) // Toggle lock. A.locked = !A.locked if(WIRE_AI) // Disable AI control for a while. if(!A.aidisabled) A.aidisabled = TRUE - addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 100) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/airalarm,reset), wire), 100) if(WIRE_PANIC) // Toggle panic siphon. if(!A.shorted) if(A.mode == 1) // AALARM_MODE_SCRUB diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index a5772da71b2..8e09aa75e01 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -83,9 +83,9 @@ return if(!A.requiresID() || A.check_access(null)) if(A.density) - INVOKE_ASYNC(A, /obj/machinery/door/airlock.proc/open) + INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock,open)) else - INVOKE_ASYNC(A, /obj/machinery/door/airlock.proc/close) + INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock,close)) else holder.visible_message(span_notice("You hear a a grinding noise coming from the airlock.")) if(WIRE_BOLTS) // Pulse to toggle bolts (but only raise if power is on). @@ -106,7 +106,7 @@ A.aiControlDisabled = 1 else if(A.aiControlDisabled == -1) A.aiControlDisabled = 2 - addtimer(CALLBACK(A, /obj/machinery/door/airlock.proc/reset_ai_wire), 1 SECONDS) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/door/airlock,reset_ai_wire)), 1 SECONDS) if(WIRE_SHOCK) // Pulse to shock the door for 10 ticks. if(!A.secondsElectrified) A.set_electrified(30, usr) diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index d167a11fd36..bd7453c950d 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -31,14 +31,14 @@ if(!A.shorted) A.shorted = TRUE A.update() - addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 1200) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc,reset), wire), 1200) if(WIRE_IDSCAN) // Unlock for a little while. A.locked = FALSE - addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 300) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc,reset), wire), 300) if(WIRE_AI) // Disable AI control for a very short time. if(!A.aidisabled) A.aidisabled = TRUE - addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 10) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc,reset), wire), 10) /datum/wires/apc/on_cut(index, mend) var/obj/machinery/power/apc/A = holder diff --git a/code/datums/wires/autolathe.dm b/code/datums/wires/autolathe.dm index 01e87228d4f..834333c0372 100644 --- a/code/datums/wires/autolathe.dm +++ b/code/datums/wires/autolathe.dm @@ -28,14 +28,14 @@ switch(wire) if(WIRE_HACK) A.adjust_hacked(!A.hacked) - addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe,reset), wire), 60) if(WIRE_SHOCK) A.shocked = !A.shocked A.shock(usr, 50) - addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe,reset), wire), 60) if(WIRE_DISABLE) A.disabled = !A.disabled - addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe,reset), wire), 60) /datum/wires/autolathe/on_cut(wire, mend) var/obj/machinery/autolathe/A = holder diff --git a/code/datums/wounds/bleed.dm b/code/datums/wounds/bleed.dm index ebfe09638cf..936f7f53f7c 100644 --- a/code/datums/wounds/bleed.dm +++ b/code/datums/wounds/bleed.dm @@ -346,7 +346,7 @@ /datum/wound/bleed/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user) var/self_penalty_mult = (user == victim ? 1.25 : 1) user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]..."), span_userdanger("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 @@ -362,7 +362,7 @@ var/self_penalty_mult = (user == victim ? 1.2 : 1) user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("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(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].")) var/blood_sutured = I.is_bandage / self_penalty_mult @@ -382,7 +382,7 @@ return var/self_penalty_mult = (user == victim ? 1.5 : 1) user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_danger("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(span_green("[user] cauterizes some of the bleeding on [victim]."), span_green("You cauterize some of the bleeding on [victim].")) @@ -417,7 +417,7 @@ user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.name]."), span_notice("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]. highest.layer) highest = hurt_atom - INVOKE_ASYNC(src, .proc/SpinAnimation, 5, 2) + INVOKE_ASYNC(src,PROC_REF(SpinAnimation), 5, 2) return TRUE /* diff --git a/code/game/atoms_movement.dm b/code/game/atoms_movement.dm index fb95c6251dc..10a4bb2f0c3 100644 --- a/code/game/atoms_movement.dm +++ b/code/game/atoms_movement.dm @@ -383,7 +383,7 @@ ///allows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents /atom/movable/proc/become_area_sensitive(trait_source = TRAIT_GENERIC) if(!HAS_TRAIT(src, TRAIT_AREA_SENSITIVE)) - //RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_AREA_SENSITIVE), .proc/on_area_sensitive_trait_loss) + //RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_AREA_SENSITIVE),PROC_REF(on_area_sensitive_trait_loss)) for(var/atom/movable/location as anything in get_nested_locs(src) + src) LAZYADDASSOCLIST(location.important_recursive_contents, RECURSIVE_CONTENTS_AREA_SENSITIVE, src) ADD_TRAIT(src, TRAIT_AREA_SENSITIVE, trait_source) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 49e0b9debb4..b16012eb0c7 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -403,7 +403,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) /datum/game_mode/dynamic/post_setup(report) for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) rule.candidates.Cut() // The rule should not use candidates at this point as they all are null. - 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) ..() @@ -709,7 +709,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) if (forced_latejoin_rule.ready(TRUE)) if (!forced_latejoin_rule.repeatable) latejoin_rules = remove_from_list(latejoin_rules, forced_latejoin_rule.type) - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_midround_latejoin_rule, forced_latejoin_rule), forced_latejoin_rule.delay) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic/,execute_midround_latejoin_rule), forced_latejoin_rule), forced_latejoin_rule.delay) forced_latejoin_rule = null else if (latejoin_injection_cooldown < world.time && prob(get_injection_chance())) diff --git a/code/game/gamemodes/dynamic/dynamic_hijacking.dm b/code/game/gamemodes/dynamic/dynamic_hijacking.dm index 04892ad1530..12bb407f12b 100644 --- a/code/game/gamemodes/dynamic/dynamic_hijacking.dm +++ b/code/game/gamemodes/dynamic/dynamic_hijacking.dm @@ -1,5 +1,5 @@ /datum/game_mode/dynamic/proc/setup_hijacking() - RegisterSignal(SSdcs, COMSIG_GLOB_PRE_RANDOM_EVENT, .proc/on_pre_random_event) + RegisterSignal(SSdcs, COMSIG_GLOB_PRE_RANDOM_EVENT,PROC_REF(on_pre_random_event)) /datum/game_mode/dynamic/proc/on_pre_random_event(datum/source, datum/round_event_control/round_event_control) SIGNAL_HANDLER diff --git a/code/game/gamemodes/dynamic/ruleset_picking.dm b/code/game/gamemodes/dynamic/ruleset_picking.dm index 7c87f1bc82b..749c06132ba 100644 --- a/code/game/gamemodes/dynamic/ruleset_picking.dm +++ b/code/game/gamemodes/dynamic/ruleset_picking.dm @@ -37,7 +37,7 @@ current_midround_rulesets = drafted_rules - rule midround_injection_timer_id = addtimer( - CALLBACK(src, .proc/execute_midround_rule, rule), \ + CALLBACK(src,PROC_REF(execute_midround_rule), rule), \ ADMIN_CANCEL_MIDROUND_TIME, \ TIMER_STOPPABLE, \ ) @@ -53,7 +53,7 @@ midround_injection_timer_id = null if (!rule.repeatable) midround_rules = remove_from_list(midround_rules, rule.type) - addtimer(CALLBACK(src, .proc/execute_midround_latejoin_rule, rule), rule.delay) + addtimer(CALLBACK(src,PROC_REF(execute_midround_latejoin_rule), rule), rule.delay) /// Executes a random latejoin ruleset from the list of drafted rules. /datum/game_mode/dynamic/proc/pick_latejoin_rule(list/drafted_rules) @@ -62,7 +62,7 @@ return if (!rule.repeatable) latejoin_rules = remove_from_list(latejoin_rules, rule.type) - addtimer(CALLBACK(src, .proc/execute_midround_latejoin_rule, rule), rule.delay) + addtimer(CALLBACK(src,PROC_REF(execute_midround_latejoin_rule), rule), rule.delay) return TRUE /// Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc. diff --git a/code/game/gamemodes/end_of_round_deathmatch.dm b/code/game/gamemodes/end_of_round_deathmatch.dm index dc7e8c361e6..ef603001bbd 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 8c57b3563c4..270e9e20711 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -89,7 +89,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(usr, 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 @@ -106,7 +106,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/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 8b1b18660ab..1730e6575c0 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -68,7 +68,7 @@ /datum/game_mode/traitor/post_setup() for(var/datum/mind/traitor in pre_traitors) var/datum/antagonist/traitor/new_antag = new antag_datum() - addtimer(CALLBACK(traitor, /datum/mind.proc/add_antag_datum, new_antag), rand(10,100)) + addtimer(CALLBACK(traitor, TYPE_PROC_REF(/datum/mind,add_antag_datum), new_antag), rand(10,100)) if(!exchange_blue) exchange_blue = -1 //Block latejoiners from getting exchange objectives ..() diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 1f585722d74..4bb5afad2b6 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -147,7 +147,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) @@ -452,7 +452,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, span_notice("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 2d4131ca06c..6e51166fe16 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -45,4 +45,4 @@ to_chat(user, span_notice("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 9fddfaef199..c07b8efee0d 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -77,7 +77,7 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) matching_designs = list() /obj/machinery/autolathe/ComponentInitialize() - AddComponent(/datum/component/material_container, SSmaterials.materialtypes_by_category[MAT_CATEGORY_RIGID], 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container, SSmaterials.materialtypes_by_category[MAT_CATEGORY_RIGID], 0, TRUE, null, null, CALLBACK(src,PROC_REF(AfterMaterialInsert))) /obj/machinery/autolathe/Destroy() QDEL_NULL(wires) @@ -248,7 +248,7 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) if(materials.materials[i] > 0) list_to_show += i - used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, /proc/cmp_typepaths_asc)) + used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, GLOBAL_PROC_REF(cmp_typepaths_asc))) if(isnull(used_material)) return //Didn't pick any material, so you can't build shit either. custom_materials[used_material] += amount_needed @@ -261,7 +261,7 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) use_power(power) icon_state = "autolathe_n" var/time = is_stack ? 32 : (32 * coeff * multiplier) ** 0.8 - addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time) + addtimer(CALLBACK(src,PROC_REF(make_item), power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time) . = TRUE else to_chat(usr, span_alert("Not enough materials for this operation.")) @@ -474,7 +474,7 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) // to_chat(user, span_warning("You can't load \the [gunammo] into \the [src]!")) // return FALSE // screw energy guns /// if we're here, we loaded something, so lets queue up another cycle - addtimer(CALLBACK(src, .proc/gun_loop, user, gunammo), 0.1 SECONDS) + addtimer(CALLBACK(src,PROC_REF(gun_loop), user, gunammo), 0.1 SECONDS) return TRUE /obj/machinery/autolathe/proc/load_from_bag(mob/user, obj/item/storage/bag/casings/cbag) // BIG BAG, BIG BAG, BIGABIGABIGBAG @@ -606,14 +606,14 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) report_card.inserted_something(item) if(report_timer) deltimer(report_timer) - report_timer = addtimer(CALLBACK(src, .proc/print_record), 30 SECONDS, TIMER_STOPPABLE) // save in 4 seconds + report_timer = addtimer(CALLBACK(src,PROC_REF(print_record)), 30 SECONDS, TIMER_STOPPABLE) // save in 4 seconds if(!istype(big_report_card)) big_report_card = new() big_report_card.inserted_something(item) if(big_report_timer) deltimer(big_report_timer) - big_report_timer = addtimer(CALLBACK(src, .proc/print_big_record), 15 MINUTES, TIMER_STOPPABLE) // save in 4 seconds + big_report_timer = addtimer(CALLBACK(src,PROC_REF(print_big_record)), 15 MINUTES, TIMER_STOPPABLE) // save in 4 seconds /obj/machinery/autolathe/proc/print_record() if(!istype(report_card, /datum/autolathe_loop_returns)) @@ -683,7 +683,7 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) /obj/machinery/autolathe/ComponentInitialize() var/list/extra_mats = list(/datum/material/plastic) - AddComponent(/datum/component/material_container, SSmaterials.materialtypes_by_category[MAT_CATEGORY_RIGID] + extra_mats, 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container, SSmaterials.materialtypes_by_category[MAT_CATEGORY_RIGID] + extra_mats, 0, TRUE, null, null, CALLBACK(src,PROC_REF(AfterMaterialInsert))) /obj/machinery/autolathe/constructionlathe name = "Workshop" @@ -1052,7 +1052,7 @@ GLOBAL_VAR_INIT(lathe_reports_done, 0) icon_state = icon_state_base wooded = FALSE framed = FALSE - RegisterSignal(T, list(COMSIG_OBJ_DECONSTRUCT, COMSIG_OBJ_BREAK, COMSIG_PARENT_PREQDELETED), .proc/self_destruct) + RegisterSignal(T, list(COMSIG_OBJ_DECONSTRUCT, COMSIG_OBJ_BREAK, COMSIG_PARENT_PREQDELETED),PROC_REF(self_destruct)) /obj/machinery/autolathe/ammo/improvised/proc/self_destruct(disassembled) var/obj/structure/table/T = GET_WEAKREF(mytable) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 4f2e5aa2450..9503f8cd1c4 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -182,7 +182,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 40a233a8b30..d34ebb90e4b 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(span_danger("[user] [change_msg] [src]!")) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index cb4d6a3a0b7..64b80d3bec7 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -135,7 +135,7 @@ if(!G) 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/colormate.dm b/code/game/machinery/colormate.dm index ae8ad8e392c..3960517ef05 100644 --- a/code/game/machinery/colormate.dm +++ b/code/game/machinery/colormate.dm @@ -91,7 +91,7 @@ return if(user) visible_message(span_warning("[user] stuffs [victim] into [src]!")) - RegisterSignal(victim, COMSIG_LIVING_RESIST, .proc/free_me) + RegisterSignal(victim, COMSIG_LIVING_RESIST,PROC_REF(free_me)) inserted = victim inserted.forceMove(src) diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 7776f0a36e4..3fd3f6aad09 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) @@ -31,7 +31,7 @@ /obj/machinery/computer/Destroy() QDEL_NULL(circuit) 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() @@ -169,5 +169,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 46c03f38176..20631847238 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/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index e6b11cf1020..13498e9d6b8 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, span_notice("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, span_notice("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, span_notice("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, span_notice("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 e66cee3e15a..9c40584735d 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 fdf999b00f1..795fd96811b 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -315,7 +315,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/dna_console.dm b/code/game/machinery/computer/dna_console.dm index a0523258c0a..6571d60e9e9 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -2026,7 +2026,7 @@ connected_scanner.set_linked_console(null) connected_scanner = new_scanner if(connected_scanner) - RegisterSignal(connected_scanner, COMSIG_PARENT_QDELETING, .proc/react_to_scanner_del) + RegisterSignal(connected_scanner, COMSIG_PARENT_QDELETING,PROC_REF(react_to_scanner_del)) connected_scanner.set_linked_console(src) /obj/machinery/computer/scan_consolenew/proc/react_to_scanner_del(datum/source) diff --git a/code/game/machinery/computer/gulag_teleporter.dm b/code/game/machinery/computer/gulag_teleporter.dm index cafd0ba7022..d30825016ec 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 dcad3257ea2..3d41d609440 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 ae12df6697b..668ca41b0d5 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 6dbe09688f2..6e4e97cf40f 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 39053af69fe..ba15ae17e68 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -298,7 +298,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 diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index ee5d4875fbb..2575b5e1cea 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -161,7 +161,7 @@ UnregisterSignal(linked_console, COMSIG_PARENT_QDELETING) linked_console = new_console if(linked_console) - RegisterSignal(linked_console, COMSIG_PARENT_QDELETING, .proc/react_to_console_del) + RegisterSignal(linked_console, COMSIG_PARENT_QDELETING,PROC_REF(react_to_console_del)) /obj/machinery/dna_scannernew/proc/react_to_console_del(datum/source) SIGNAL_HANDLER diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index d32c709727d..8fb688e8b9e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -109,7 +109,7 @@ set_frequency(frequency) if(closeOtherId != null) - addtimer(CALLBACK(.proc/update_other_id), 5) + addtimer(CALLBACK(PROC_REF(update_other_id)), 5) if(glass) airlock_material = "glass" if(security_level > AIRLOCK_SECURITY_METAL) @@ -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.", \ span_notice("You begin [welded ? "unwelding":"welding"] the airlock..."), \ span_italic("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].", \ span_notice("You [welded ? "weld the airlock shut":"unweld the airlock"].")) @@ -1025,7 +1025,7 @@ user.visible_message("[user] is welding the airlock.", \ span_notice("You begin repairing the airlock..."), \ span_italic("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, span_warning("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/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index fa516f4b6b5..ead50ad5ea4 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/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 620061b636b..844c8b9c741 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -89,7 +89,7 @@ for(var/obj/machinery/door/window/brigdoor/door in targets) if(door.density) continue - INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/close) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor,close)) for(var/obj/structure/closet/secure_closet/brig/C in targets) if(C.broken) @@ -117,7 +117,7 @@ for(var/obj/machinery/door/window/brigdoor/door in targets) if(!door.density) continue - INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/open) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor,open)) for(var/obj/structure/closet/secure_closet/brig/C in targets) if(C.broken) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index df45712eb62..77c395ab266 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -374,7 +374,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 @@ -495,7 +495,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 76100125ab8..3fde918351f 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 242608ab0cd..149fce7d606 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -51,7 +51,7 @@ src.unres_sides = unres_sides var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT =PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -367,11 +367,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/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index 4ddc4ecc7c2..688ba4b936f 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 888b67f3440..57dbd7ad853 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -58,10 +58,10 @@ if(program) program.receive_user_command(href_list["command"]) - addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5) + addtimer(CALLBACK(program, TYPE_PROC_REF(/datum/computer/file/embedded_program,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 1483228e250..2e71b0a1f9a 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 32d5f891ead..a24eb22bfb2 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -97,7 +97,7 @@ visible_message(span_notice("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 dc3676c474b..0c29e96e63e 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 c2edc26b474..93d2dcca657 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 b32ae66e41c..1f7be011c56 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -109,7 +109,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 c4494b822fe..0253d8fe713 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 e09348d0e43..37a4599a2ba 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -47,7 +47,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -57,4 +57,4 @@ if(isliving(AM)) var/mob/living/L = AM to_chat(L, span_warning("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/obstacles_barricades.dm b/code/game/machinery/obstacles_barricades.dm index 997a7005e4a..96ffb0fa0e1 100644 --- a/code/game/machinery/obstacles_barricades.dm +++ b/code/game/machinery/obstacles_barricades.dm @@ -159,7 +159,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" @@ -243,7 +243,7 @@ "Interior Wall" = image(icon = 'icons/fallout/turfs/walls/interior.dmi', icon_state = "interior0"), "House Wall" = image(icon = 'icons/fallout/turfs/walls/house.dmi', icon_state = "house0") ) - var/chosen_wall = show_radial_menu(user, src, walls, custom_check = CALLBACK(src, .proc/check_menu, user, I), require_near = TRUE, tooltips = TRUE) + var/chosen_wall = show_radial_menu(user, src, walls, custom_check = CALLBACK(src,PROC_REF(check_menu), user, I), require_near = TRUE, tooltips = TRUE) if(!check_menu(user, I)) return switch(chosen_wall) @@ -277,7 +277,7 @@ "House Window" = image(icon = 'icons/obj/wood_window.dmi', icon_state = "housewindow"), "Wood Framed Window" = image(icon = 'icons/obj/wood_window.dmi', icon_state = "woodwindow") ) - var/chosen_window = show_radial_menu(user, src, windows, custom_check = CALLBACK(src, .proc/check_menu, user, I), require_near = TRUE, tooltips = TRUE) + var/chosen_window = show_radial_menu(user, src, windows, custom_check = CALLBACK(src,PROC_REF(check_menu), user, I), require_near = TRUE, tooltips = TRUE) if(!check_menu(user, I)) return switch(chosen_window) @@ -304,7 +304,7 @@ "Tent Wall" = image(icon = 'icons/fallout/turfs/walls/tent.dmi', icon_state = "tent0"), "Tent Flaps" = image(icon = 'icons/fallout/structures/doors.dmi', icon_state = "tent") ) - var/chosen_tent = show_radial_menu(user, src, tentwalls, custom_check = CALLBACK(src, .proc/check_menu, user, I), require_near = TRUE, tooltips = TRUE) + var/chosen_tent = show_radial_menu(user, src, tentwalls, custom_check = CALLBACK(src,PROC_REF(check_menu), user, I), require_near = TRUE, tooltips = TRUE) if(!check_menu(user, I)) return switch(chosen_tent) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 7b47bec54b7..0a89b32b355 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -235,7 +235,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 @@ -469,7 +469,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) @@ -489,7 +489,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, atom/attacked_by) . = ..() @@ -577,16 +577,16 @@ /// We can see our target, start blasting if(activity_state == TURRET_ALERT_MODE) record_target_weakref(GET_WEAKREF(last_target)) // Update our target and turf's position every time we process - INVOKE_ASYNC(src, .proc/shine_laser_pointer) // lazer + INVOKE_ASYNC(src,PROC_REF(shine_laser_pointer)) // lazer if(!can_see_target()) // If we cant see the target, go into caution mode change_activity_state(TURRET_CAUTION_MODE) else - INVOKE_ASYNC(src, .proc/open_fire_on_target) + INVOKE_ASYNC(src,PROC_REF(open_fire_on_target)) /// We lost sight of our target, shoot where we last saw them if(activity_state == TURRET_CAUTION_MODE) - INVOKE_ASYNC(src, .proc/shine_laser_pointer) - INVOKE_ASYNC(src, .proc/open_fire_on_target) + INVOKE_ASYNC(src,PROC_REF(shine_laser_pointer)) + INVOKE_ASYNC(src,PROC_REF(open_fire_on_target)) if(!caution_bursts_left) change_activity_state(TURRET_EVASION_MODE) @@ -1053,7 +1053,7 @@ remove_control() return FALSE log_combat(caller,A,"fired with manual turret control at") - INVOKE_ASYNC(src, .proc/open_fire_on_target, A) + INVOKE_ASYNC(src,PROC_REF(open_fire_on_target), A) return TRUE /obj/machinery/porta_turret/syndicate @@ -1515,11 +1515,11 @@ 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) /* * * * * * * * * * * * * Fallout 13 turrets * diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 87135e5413a..70d091d9e0d 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -26,7 +26,7 @@ req_one_access = get_all_accesses() + get_all_centcom_access() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -105,7 +105,7 @@ /obj/machinery/recycler/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/eat, AM) + INVOKE_ASYNC(src,PROC_REF(eat), AM) /obj/machinery/recycler/proc/eat(atom/AM0) if(stat & (BROKEN|NOPOWER) || safety_mode) @@ -191,7 +191,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 6da2fc37480..07cb253bc54 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 7b834011940..6605874ea73 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 21d800393dd..b81bbed9e5d 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/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index eb5357de506..e60d8147985 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -232,7 +232,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 @@ -321,7 +321,7 @@ if(locked) visible_message(span_notice("You see [user] kicking against the doors of [src]!"), \ span_notice("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 f387986c1bc..d27538ac8da 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 03773053b28..bf2f27c13b7 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 9b6904b71f6..0aa0d8b0055 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -105,7 +105,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 255b2076df2..f6476ecaa58 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 b47869caf30..39b979caf23 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() @@ -91,7 +91,7 @@ Expects a turf. Returns true if the attack should be blocked, false if not.*/ . = TRUE return -obj/mecha/combat/durand/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) +/obj/mecha/combat/durand/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) if(defense_check(user.loc)) // log_message("Attack absorbed by defense field. Attacker - [user].", LOG_MECHA, color="orange") shield.attack_generic(user, damage_amount, damage_type, damage_flag, sound_effect, armor_penetration) @@ -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 49c0e7508fd..3b946bcd83b 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/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 8d29c3f7385..e23df42fe06 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 beaaeb9a381..00fe6ca62d2 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 6219ead08a7..03bbc459874 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -69,7 +69,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 @@ -340,7 +340,7 @@ var/turf/T = get_turf(src) message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] fired a [src] in [ADMIN_VERBOSEJMP(T)]") log_game("[key_name(chassis.occupant)] fired a [src] in [AREACOORD(T)]") - addtimer(CALLBACK(F, /obj/item/grenade/flashbang.proc/prime), det_time) + addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade/flashbang,prime)), det_time) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze name = "\improper SOB-3 grenade launcher" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 7933f62d8d7..20a4732752f 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 bd2d627af82..93358142951 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -367,7 +367,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/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index e6ec759a5dd..75c33b00240 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -24,7 +24,7 @@ pixel_y = target.pixel_y + rand(-4,4) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index ddc8a81ba05..de9df20260b 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -98,7 +98,7 @@ /obj/effect/anomaly/grav/Initialize(mapload, new_lifespan, core_drop_chance) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -167,7 +167,7 @@ /obj/effect/anomaly/flux/Initialize(mapload, new_lifespan, core_drop_chance) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -181,7 +181,7 @@ /obj/effect/anomaly/flux/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/mobShock, AM) + INVOKE_ASYNC(src,PROC_REF(mobShock), AM) /obj/effect/anomaly/flux/Bump(atom/A) mobShock(A) @@ -260,7 +260,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) @@ -295,7 +295,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 6db28b37003..e64387a20e2 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 66e4c2866f9..ff39915bb92 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/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 10f1adac583..488ac007ba6 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -33,11 +33,11 @@ AddComponent(/datum/component/infective, diseases_to_add) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) - addtimer(CALLBACK(src, /datum.proc/_AddElement, list(/datum/element/beauty, beauty)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum,_AddElement), list(/datum/element/beauty, beauty)), 0) /obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal if(mergeable_decal) diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index c57716b9e58..df024df1b6f 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -111,8 +111,8 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, - COMSIG_ATOM_EXITED = .proc/on_exit, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), + COMSIG_ATOM_EXITED =PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index ad5c84a6643..24e97da6003 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -54,7 +54,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) // STOP FUCKING ASYNCING + // INVOKE_ASYNC(src,PROC_REF(generate_effect)) // STOP FUCKING ASYNCING generate_effect() @@ -78,7 +78,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/generate_effect() if(holder) @@ -94,7 +94,7 @@ would spawn and follow the beaker, even if it is carried or thrown. var/step_delay = 5 var/datum/move_loop/loop = SSmove_manager.move(effect, direction, step_delay, timeout = step_delay * step_amt, priority = MOVEMENT_ABOVE_SPACE_PRIORITY) - RegisterSignal(loop, COMSIG_PARENT_QDELETING, .proc/decrement_total_effect) + RegisterSignal(loop, COMSIG_PARENT_QDELETING,PROC_REF(decrement_total_effect)) /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 d208510e860..748661e646d 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(usr, 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 a3c9c2be8e4..551a5f0718f 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/effect_system/effects_smoke_new.dm b/code/game/objects/effects/effect_system/effects_smoke_new.dm index fa248c855b7..47e2b9c4127 100644 --- a/code/game/objects/effects/effect_system/effects_smoke_new.dm +++ b/code/game/objects/effects/effect_system/effects_smoke_new.dm @@ -95,7 +95,7 @@ glide_size = driftdelay alpha = 255 / clamp(distance_modifier, 1, 3) transform = matrix(transform) * clamp(1 / max(distance_modifier + 1, 1), 0.5, 3) - INVOKE_ASYNC(src, .proc/fade_out) + INVOKE_ASYNC(src,PROC_REF(fade_out)) walk(src, driftdir, driftdelay, 32) lifetime = rand(lifetime*0.5, lifetime*3) QDEL_IN(src, lifetime) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index f24d64e34f8..f36cc2dfdb6 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/landmarks.dm b/code/game/objects/effects/landmarks.dm index 2c7336c6e3e..760c9544073 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -524,7 +524,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) name = "NCR Lieutenant" icon_state = "NCR Lieutenant" -obj/effect/landmark/start/f13/ncrlogisticsofficer +/obj/effect/landmark/start/f13/ncrlogisticsofficer name = "NCR Logistics Officer" icon_state = "NCR Lieutenant" diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index def5de5638d..ddcb553ee3b 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -11,7 +11,7 @@ /obj/effect/mine/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -30,7 +30,7 @@ if(AM.movement_type & FLYING) return - INVOKE_ASYNC(src, .proc/triggermine, AM) + INVOKE_ASYNC(src,PROC_REF(triggermine), AM) /obj/effect/mine/proc/triggermine(mob/victim) if(triggered) diff --git a/code/game/objects/effects/particle_holder.dm b/code/game/objects/effects/particle_holder.dm index 010688b70c2..43a5d83bec7 100644 --- a/code/game/objects/effects/particle_holder.dm +++ b/code/game/objects/effects/particle_holder.dm @@ -19,8 +19,8 @@ stack_trace("particle holder was created with no loc!") return INITIALIZE_HINT_QDEL if(ismovable(loc)) - RegisterSignal(loc, COMSIG_MOVABLE_MOVED, .proc/on_move) - RegisterSignal(loc, COMSIG_PARENT_QDELETING, .proc/on_qdel) + RegisterSignal(loc, COMSIG_MOVABLE_MOVED,PROC_REF(on_move)) + RegisterSignal(loc, COMSIG_PARENT_QDELETING,PROC_REF(on_qdel)) weak_attached = WEAKREF(loc) particles = new particle_path update_visual_contents(loc) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index ddc9b8ced45..b3911c2a762 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -33,7 +33,7 @@ /obj/effect/portal/Initialize(mapload, _lifespan, obj/effect/portal/_linked, automatic_link, turf/hard_target_override, atmos_link_override) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/effects/proximity.dm b/code/game/objects/effects/proximity.dm index 21ef9823826..01b498a1319 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) @@ -104,8 +104,8 @@ return INITIALIZE_HINT_QDEL var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, - COMSIG_ATOM_EXITED = .proc/on_exit, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), + COMSIG_ATOM_EXITED =PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/effects/spawners/f13lootdrop.dm b/code/game/objects/effects/spawners/f13lootdrop.dm index 6e6aee6d51e..33bded90c9d 100644 --- a/code/game/objects/effects/spawners/f13lootdrop.dm +++ b/code/game/objects/effects/spawners/f13lootdrop.dm @@ -1761,7 +1761,7 @@ there should be very few of these spawns on the whole map. finding one should be /obj/item/ammo_box/magazine/m556/rifle/ ) -obj/effect/spawner/bundle/f13/combat_rifle +/obj/effect/spawner/bundle/f13/combat_rifle name = "combat rifle and ammo spawner" items = list( /obj/item/gun/ballistic/automatic/combat, diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index f0d571ce33b..fbc7448f037 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -32,7 +32,7 @@ if(cull_spawners(mapload, block_tier_swap, survived_snap)) return INITIALIZE_HINT_NORMAL if(delay_spawn) // you have *checks watch* until the end of this frame to spawn the stuff. Otherwise it'll look wierd - RegisterSignal(src, COMSIG_ATOM_POST_ADMIN_SPAWN, .proc/spawn_the_stuff) + RegisterSignal(src, COMSIG_ATOM_POST_ADMIN_SPAWN,PROC_REF(spawn_the_stuff)) return INITIALIZE_HINT_NORMAL // have fun! spawn_the_stuff() // lov dan return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/effects/spawners/roomspawner.dm b/code/game/objects/effects/spawners/roomspawner.dm index f6753a7742b..a4d3713828e 100644 --- a/code/game/objects/effects/spawners/roomspawner.dm +++ b/code/game/objects/effects/spawners/roomspawner.dm @@ -22,7 +22,7 @@ if(istype(template, /datum/map_template/random_room) && room_height == template.template_height && room_width == template.template_width) if(!template.spawned) template.spawned = TRUE - addtimer(CALLBACK(src, /obj/effect/spawner/room.proc/LateSpawn), 600) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/effect/spawner/room,LateSpawn)), 600) break template = null if(!template) diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm index dd4a6ea479d..fd93bebf02d 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(usr, GLOBAL_PROC_REF(_addtimer), CALLBACK(usr, GLOBAL_PROC_REF(print_command_report), message), announcement_time)) return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 9f88f5c8bed..e85e9a5c684 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -11,7 +11,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -23,7 +23,7 @@ if(!H) return - INVOKE_ASYNC(src, .proc/Trigger, H) + INVOKE_ASYNC(src,PROC_REF(Trigger), H) /obj/effect/step_trigger/singularity_act() diff --git a/code/game/objects/effects/temporary_visuals/clockcult.dm b/code/game/objects/effects/temporary_visuals/clockcult.dm index 7a6b5f85aa3..70b8b225bad 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 d9c0578b825..75b631681fc 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -536,7 +536,7 @@ GLOBAL_LIST_EMPTY(blood_particles) 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 @@ -558,7 +558,7 @@ GLOBAL_LIST_EMPTY(blood_particles) 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/hand_items.dm b/code/game/objects/hand_items.dm index bf7731f04b3..ae6d49a9bd6 100644 --- a/code/game/objects/hand_items.dm +++ b/code/game/objects/hand_items.dm @@ -116,7 +116,7 @@ /obj/item/hand_item/healable/licker/Initialize(mapload) . = ..() - RegisterSignal(src, COMSIG_LICK_RETURN, .proc/start_licking) + RegisterSignal(src, COMSIG_LICK_RETURN,PROC_REF(start_licking)) /obj/item/hand_item/healable/proc/lick_atom(atom/movable/licked, mob/living/user) var/list/lick_words = get_lick_words(user) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index a4d6fe30856..9ea337cbf39 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -793,7 +793,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) set_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/set_thrownby(new_thrownby) @@ -801,7 +801,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb UnregisterSignal(thrownby, COMSIG_PARENT_QDELETING) thrownby = new_thrownby if(thrownby) - RegisterSignal(thrownby, COMSIG_PARENT_QDELETING, .proc/thrownby_deleted) + RegisterSignal(thrownby, COMSIG_PARENT_QDELETING,PROC_REF(thrownby_deleted)) /obj/item/proc/thrownby_deleted(datum/source) SIGNAL_HANDLER @@ -982,7 +982,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) @@ -1010,7 +1010,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 57c6d195644..91483008075 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -288,7 +288,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) @@ -347,13 +347,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) @@ -398,7 +398,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) @@ -490,7 +490,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) @@ -544,7 +544,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) @@ -889,7 +889,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 812fd3ed2b6..17f6373f88b 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -166,12 +166,12 @@ last = C break -obj/item/rcl/proc/getMobhook(mob/to_hook) +/obj/item/rcl/proc/getMobhook(mob/to_hook) if(listeningTo == to_hook) 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/getMobhook(mob/to_hook) /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 09cb72e6a4e..3cad657fecf 100644 --- a/code/game/objects/items/binoculars.dm +++ b/code/game/objects/items/binoculars.dm @@ -13,7 +13,7 @@ /obj/item/binoculars/wield(mob/living/user) . = ..() - RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate) + RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE,PROC_REF(rotate)) listeningTo = user user.visible_message(span_notice("[user] holds [src] up to [user.p_their()] eyes."), span_notice("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 9a941e9e4f0..03d6b504031 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 3aca8ad8e44..401e23d7857 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -26,7 +26,7 @@ /obj/item/broom/wield(mob/user) . = ..() to_chat(user, span_notice("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/unwield(mob/user) diff --git a/code/game/objects/items/button_item.dm b/code/game/objects/items/button_item.dm index 656c0ad370d..9cd125f282d 100644 --- a/code/game/objects/items/button_item.dm +++ b/code/game/objects/items/button_item.dm @@ -18,14 +18,14 @@ /obj/item/button/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_ITEM_CLICKED, .proc/activate) - RegisterSignal(src, COMSIG_BUTTON_ATTACH, .proc/attach_to_storage) + RegisterSignal(src, COMSIG_ITEM_CLICKED,PROC_REF(activate)) + RegisterSignal(src, COMSIG_BUTTON_ATTACH,PROC_REF(attach_to_storage)) /obj/item/button/attackby(obj/item/W, mob/user, params) activate(user) /obj/item/button/proc/attach_to_storage(datum/source, obj/item/storage/S) - RegisterSignal(S, COMSIG_BUTTON_UPDATE, .proc/reaction) + RegisterSignal(S, COMSIG_BUTTON_UPDATE,PROC_REF(reaction)) /obj/item/button/proc/activate(datum/source, mob/user) playsound(get_turf(src), click_sound, 50, TRUE) diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 46588725d2b..2fec8caaf7c 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 a0e19ac7fe2..f5a122aadf4 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/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 37742750bab..fbf768cc4c1 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -25,7 +25,7 @@ /obj/item/card/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_ATOM_GET_VALUE, .proc/tabulate_value) + RegisterSignal(src, COMSIG_ATOM_GET_VALUE,PROC_REF(tabulate_value)) /obj/item/card/proc/tabulate_value() return 0 diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 9b658bc5f1f..36286d873f9 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/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index a8737e34dcb..51ff1fbd8bb 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -1217,7 +1217,7 @@ /obj/item/circuitboard/machine/autolathe/ammo/improvised/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_TABLE_CLICKED_WITH_ITEM, .proc/apply_to_table) + RegisterSignal(src, COMSIG_TABLE_CLICKED_WITH_ITEM,PROC_REF(apply_to_table)) /obj/item/circuitboard/machine/autolathe/ammo/improvised/examine(mob/user) . = ..() @@ -1255,7 +1255,7 @@ return if(!user.Adjacent(T)) return - INVOKE_ASYNC(src, .proc/actually_apply_to_table, T, user, params) + INVOKE_ASYNC(src,PROC_REF(actually_apply_to_table), T, user, params) return TABLE_NO_PLACE /obj/item/circuitboard/machine/autolathe/ammo/improvised/proc/actually_apply_to_table(obj/structure/table/T, mob/user, params) diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index a3aa5892338..9717690a7ae 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) @@ -205,7 +205,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)) @@ -215,7 +215,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 c7aaab6a264..5d0fb37da9d 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 bf53363af7a..3f9c67e31e0 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -328,7 +328,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 48ef492604b..f9e0b660874 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -600,7 +600,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(usr, 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/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 480a2494c0b..0d68e1a0e88 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -646,7 +646,7 @@ Current Size: [usr.transform.a]

playsound(src, 'sound/machines/terminal_select.ogg', 50, 1) if("Send Signal") - INVOKE_ASYNC(radio, /obj/item/integrated_signaler.proc/send_activation) + INVOKE_ASYNC(radio, TYPE_PROC_REF(/obj/item/integrated_signaler,send_activation)) playsound(src, 'sound/machines/terminal_select.ogg', 50, 1) if("Signal Frequency") diff --git a/code/game/objects/items/devices/battery_box.dm b/code/game/objects/items/devices/battery_box.dm index 67d04ae32ad..876bff31529 100644 --- a/code/game/objects/items/devices/battery_box.dm +++ b/code/game/objects/items/devices/battery_box.dm @@ -85,9 +85,9 @@ /obj/item/storage/battery_box/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_BUTTON_CLICK, .proc/toggle_charge_direction) - RegisterSignal(src, COMSIG_ITEM_RECHARGE, .proc/charge_me) - RegisterSignal(src, COMSIG_CELL_CHECK_CHARGE_PERCENT, .proc/charge_percent) + RegisterSignal(src, COMSIG_BUTTON_CLICK,PROC_REF(toggle_charge_direction)) + RegisterSignal(src, COMSIG_ITEM_RECHARGE,PROC_REF(charge_me)) + RegisterSignal(src, COMSIG_CELL_CHECK_CHARGE_PERCENT,PROC_REF(charge_percent)) RegisterSignal(src, COMSIG_ATOM_ENTERED, /atom/proc/update_icon) RegisterSignal(src, COMSIG_ATOM_EXITED, /atom/proc/update_icon) RegisterSignal(src, COMSIG_ENERGY_GUN_SELFCHARGE_TICK, .proc/get_selfcharge_mult) diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index aa9b37d74a7..14ee07fb39f 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 7a0df3cb39a..385725a7f5a 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 6876cf66be7..51d42ba0833 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -143,7 +143,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 to_chat(user,"equipped") @@ -175,7 +175,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/attack_self(mob/user, silent) @@ -198,7 +198,7 @@ if(!(obj_flags & EMAGGED)) user.visible_message(span_notice("[user] scans [target] with [src]."), span_notice("You scan [target]'s radiation levels with [src]...")) scan(target, user) - //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(span_notice("[user] scans [target] with [src]."), span_danger("You project [src]'s stored radiation into [target]!")) target.rad_act(radiation_count) diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index b8d2e4b3b41..95dbf7d2d21 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -15,7 +15,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/portable_blender_brain.dm b/code/game/objects/items/devices/portable_blender_brain.dm index ede95853e74..ccda149b722 100644 --- a/code/game/objects/items/devices/portable_blender_brain.dm +++ b/code/game/objects/items/devices/portable_blender_brain.dm @@ -550,7 +550,7 @@ /datum/blender_brain/proc/preprocess_speech(mob/speaker, message) if(!should_listen_to(speaker)) return - INVOKE_ASYNC(src, .proc/process_speech, speaker, message) + INVOKE_ASYNC(src,PROC_REF(process_speech), speaker, message) /// takes in mob and message, and turns it into a stimulus /datum/blender_brain/proc/process_speech(mob/speaker, message) @@ -1000,18 +1000,18 @@ /obj/item/persona_core/proc/register_signals() var/atom/movable/sigtarg = get_host() - RegisterSignal(sigtarg, COMSIG_ITEM_RECYCLED, .proc/crushed) - RegisterSignal(sigtarg, COMSIG_BB_HOST_TO_PC_STIMULUS, .proc/input_stimulus) - RegisterSignal(sigtarg, COMSIG_ITEM_DROPPED, .proc/input_stimulus_dropped) - RegisterSignal(sigtarg, COMSIG_ITEM_EQUIPPED, .proc/input_stimulus_equipped) - //RegisterSignal(sigtarg, COMSIG_ITEM_CLICKED, .proc/input_stimulus_clicked) // yeah these dont work - //RegisterSignal(sigtarg, COMSIG_ITEM_PICKUP, .proc/input_stimulus_pickup) - //RegisterSignal(sigtarg, COMSIG_MOVABLE_IMPACT, .proc/input_stimulus_impact) - // RegisterSignal(sigtarg, COMSIG_ITEM_MICROWAVE_ACT, .proc/input_stimulus_microwave) - // RegisterSignal(sigtarg, COMSIG_ITEM_MOUSE_ENTER, .proc/input_stimulus_mouse_enter) - // RegisterSignal(sigtarg, COMSIG_ITEM_MOUSE_EXIT, .proc/input_stimulus_mouse_exit) - RegisterSignal(sigtarg, COMSIG_MOVABLE_HEAR, .proc/input_heard) - RegisterSignal(sigtarg, COMSIG_BB_HOST_TO_PC_AMOUR_MOD, .proc/get_host_modifier) + RegisterSignal(sigtarg, COMSIG_ITEM_RECYCLED,PROC_REF(crushed)) + RegisterSignal(sigtarg, COMSIG_BB_HOST_TO_PC_STIMULUS,PROC_REF(input_stimulus)) + RegisterSignal(sigtarg, COMSIG_ITEM_DROPPED,PROC_REF(input_stimulus_dropped)) + RegisterSignal(sigtarg, COMSIG_ITEM_EQUIPPED,PROC_REF(input_stimulus_equipped)) + //RegisterSignal(sigtarg, COMSIG_ITEM_CLICKED,PROC_REF(input_stimulus_clicked)) // yeah these dont work + //RegisterSignal(sigtarg, COMSIG_ITEM_PICKUP,PROC_REF(input_stimulus_pickup)) + //RegisterSignal(sigtarg, COMSIG_MOVABLE_IMPACT,PROC_REF(input_stimulus_impact)) + // RegisterSignal(sigtarg, COMSIG_ITEM_MICROWAVE_ACT,PROC_REF(input_stimulus_microwave)) + // RegisterSignal(sigtarg, COMSIG_ITEM_MOUSE_ENTER,PROC_REF(input_stimulus_mouse_enter)) + // RegisterSignal(sigtarg, COMSIG_ITEM_MOUSE_EXIT,PROC_REF(input_stimulus_mouse_exit)) + RegisterSignal(sigtarg, COMSIG_MOVABLE_HEAR,PROC_REF(input_heard)) + RegisterSignal(sigtarg, COMSIG_BB_HOST_TO_PC_AMOUR_MOD,PROC_REF(get_host_modifier)) /obj/item/persona_core/proc/crushed() SIGNAL_HANDLER @@ -1183,7 +1183,7 @@ busy_for = setting /obj/item/persona_core/process() - INVOKE_ASYNC(src, .proc/process_impulses) + INVOKE_ASYNC(src,PROC_REF(process_impulses)) /obj/item/persona_core/proc/process_impulses() busy_for = max(busy_for - 1, 0) @@ -1196,7 +1196,7 @@ CRASH("Blenderbrain [src] tried to process an invalid impulse: [impulse]") var/datum/blenderbrain_impulse/thimpulse = impulse var/do_next = thimpulse.immediate_next - INVOKE_ASYNC(thimpulse, /datum/blenderbrain_impulse.proc/run_it) + INVOKE_ASYNC(thimpulse, TYPE_PROC_REF(/datum/blenderbrain_impulse,run_it)) if(do_next) continue break diff --git a/code/game/objects/items/devices/portable_chem_blenderbelt.dm b/code/game/objects/items/devices/portable_chem_blenderbelt.dm index 0381af516ed..c9e06a2787a 100644 --- a/code/game/objects/items/devices/portable_chem_blenderbelt.dm +++ b/code/game/objects/items/devices/portable_chem_blenderbelt.dm @@ -80,9 +80,9 @@ /obj/item/storage/blender_belt/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_BB_PC_TO_HOST_REQUEST, .proc/handle_request) - RegisterSignal(src, COMSIG_BB_PC_TO_HOST_IMPULSE, .proc/handle_impulse) - RegisterSignal(src, COMSIG_BB_PC_TO_HOST_CAN_INSERT, .proc/can_insert) + RegisterSignal(src, COMSIG_BB_PC_TO_HOST_REQUEST,PROC_REF(handle_request)) + RegisterSignal(src, COMSIG_BB_PC_TO_HOST_IMPULSE,PROC_REF(handle_impulse)) + RegisterSignal(src, COMSIG_BB_PC_TO_HOST_CAN_INSERT,PROC_REF(can_insert)) /obj/item/storage/blender_belt/ex_act(severity, target) if(severity < 3) @@ -135,27 +135,27 @@ return switch(first_impulse) if(IMPULSE_START) - INVOKE_ASYNC(src, .proc/start_running, subject, grind_or_juice) + INVOKE_ASYNC(src,PROC_REF(start_running), subject, grind_or_juice) if(IMPULSE_STOP) - INVOKE_ASYNC(src, .proc/stop_running) + INVOKE_ASYNC(src,PROC_REF(stop_running)) if(IMPULSE_SET_GRINDER) if(second_impulse == IMPULSE_START) - INVOKE_ASYNC(src, .proc/start_running, subject, BLENDER_BLENDMODE_GRIND) + INVOKE_ASYNC(src,PROC_REF(start_running), subject, BLENDER_BLENDMODE_GRIND) else grind_or_juice = BLENDER_BLENDMODE_GRIND if(IMPULSE_SET_JUICER) if(second_impulse == IMPULSE_START) - INVOKE_ASYNC(src, .proc/start_running, subject, BLENDER_BLENDMODE_JUICE) + INVOKE_ASYNC(src,PROC_REF(start_running), subject, BLENDER_BLENDMODE_JUICE) else grind_or_juice = BLENDER_BLENDMODE_JUICE if(IMPULSE_SET_GRINDER) - INVOKE_ASYNC(src, .proc/set_blender, subject) + INVOKE_ASYNC(src,PROC_REF(set_blender), subject) if(IMPULSE_SET_DISPENSER) - INVOKE_ASYNC(src, .proc/set_dispenser, subject) + INVOKE_ASYNC(src,PROC_REF(set_dispenser), subject) if(IMPULSE_EJECT) - INVOKE_ASYNC(src, .proc/eject_all, subject) + INVOKE_ASYNC(src,PROC_REF(eject_all), subject) if(IMPULSE_EXAMINE) - INVOKE_ASYNC(src, .proc/describe_contents, subject) + INVOKE_ASYNC(src,PROC_REF(describe_contents), subject) if(IMPULSE_HORRIBLE_NOISES) use_horrible_grinding_noises = TRUE return TRUE @@ -197,7 +197,7 @@ if(grind_or_dispense != BLENDER_BELTMODE_BLENDER) set_blender(user) blending = TRUE - INVOKE_ASYNC(src, .proc/blend_loop, user) + INVOKE_ASYNC(src,PROC_REF(blend_loop), user) /obj/item/storage/blender_belt/proc/get_run_time(mob/user) BLENDER_GET_SUBJECT @@ -241,7 +241,7 @@ playsound(src, 'sound/machines/blender.ogg', 50, 1) else playsound(src, 'sound/machines/juicer.ogg', 20, 1) - if(!do_after(user, get_run_time(user), needhand = FALSE, target = src, extra_checks = CALLBACK(src, .proc/still_running), allow_movement = TRUE)) + if(!do_after(user, get_run_time(user), needhand = FALSE, target = src, extra_checks = CALLBACK(src,PROC_REF(still_running)), allow_movement = TRUE)) if(blending) SEND_SIGNAL(src, COMSIG_BB_HOST_TO_PC_STIMULUS, STIMULUS_ROCKY_ABORT, subject) else @@ -261,7 +261,7 @@ SEND_SIGNAL(src, COMSIG_BB_HOST_TO_PC_STIMULUS, STIMULUS_FULL_SECOND, subject) abort() return FALSE - INVOKE_ASYNC(src, .proc/blend_loop, user) // and loop! + INVOKE_ASYNC(src,PROC_REF(blend_loop), user) // and loop! /obj/item/storage/blender_belt/proc/get_thing_to_blend(mob/user) for(var/obj/item/thing in contents) @@ -670,7 +670,7 @@ /obj/item/storage/blender_belt/attack_hand(mob/user) if(grind_or_dispense == BLENDER_BELTMODE_DISPENSER && ismob(loc)) - INVOKE_ASYNC(src, /datum.proc/ui_interact, user) + INVOKE_ASYNC(src, TYPE_PROC_REF(/datum,ui_interact), user) else . = ..() diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm index fe051867be8..1fff8ac7c41 100644 --- a/code/game/objects/items/devices/portable_chem_mixer.dm +++ b/code/game/objects/items/devices/portable_chem_mixer.dm @@ -111,7 +111,7 @@ if (loc != user) return ..() if(SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED)) - INVOKE_ASYNC(src, /datum.proc/ui_interact, user) + INVOKE_ASYNC(src, TYPE_PROC_REF(/datum,ui_interact), user) /obj/item/storage/portable_chem_mixer/attack_self(mob/user) if(loc == user) diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm index 2beb3602164..a764e4a3bfa 100644 --- a/code/game/objects/items/devices/pressureplates.dm +++ b/code/game/objects/items/devices/pressureplates.dm @@ -33,7 +33,7 @@ hide(TRUE) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -49,7 +49,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 1ee5484aaf1..5c1c01f1008 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -230,7 +230,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) @@ -307,7 +307,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 31b9312ffd2..5ec30583ae6 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, span_userdanger("*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 3061eebf92e..0fbae297a4f 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -1069,7 +1069,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 826408c08b4..60171849871 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -86,13 +86,13 @@ effective or pretty fucking useless. return if(!used) log_combat(user, M, "irradiated", src) - var/cooldown = get_cooldown() + var/cooldown = get_cooldown() used = TRUE icon_state = "health1" addtimer(VARSET_CALLBACK(src, used, FALSE), cooldown) addtimer(VARSET_CALLBACK(src, icon_state, "health"), cooldown) to_chat(user, span_warning("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, span_warning("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 b9534526530..a26ac10f87e 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -20,7 +20,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -85,7 +85,7 @@ /obj/item/transfer_valve/proc/on_entered(atom/movable/AM as mob|obj) SIGNAL_HANDLER if(attached_device) - INVOKE_ASYNC(attached_device, .proc/on_entered, AM) + INVOKE_ASYNC(attached_device,PROC_REF(on_entered), AM) /obj/item/transfer_valve/on_attack_hand()//Triggers mousetraps . = ..() @@ -143,7 +143,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 @@ -228,7 +228,7 @@ merge_gases() for(var/i in 1 to 6) - addtimer(CALLBACK(src, /atom/.proc/update_icon), 20 + (i - 1) * 10) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/,update_icon)), 20 + (i - 1) * 10) else if(valve_open && tank_one && tank_two) split_gases() diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 248b162b4ff..b69805ea801 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -88,8 +88,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() . = ..() @@ -162,7 +162,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)) @@ -218,7 +218,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 5bac2821afa..cc0f044c5f9 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 8492befed22..9bd9e1b73b1 100644 --- a/code/game/objects/items/electrostaff.dm +++ b/code/game/objects/items/electrostaff.dm @@ -74,8 +74,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/fishingrod.dm b/code/game/objects/items/fishingrod.dm index 78a58369ec7..b87c71874aa 100644 --- a/code/game/objects/items/fishingrod.dm +++ b/code/game/objects/items/fishingrod.dm @@ -69,7 +69,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) @@ -106,7 +106,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 balloon_alert(user, "You cast out your fishing line!") @@ -176,6 +176,36 @@ GLOBAL_LIST_INIT(fish_rates, list( //default is 40, which is 40 percent chance trash_chance = 40 -/obj/item/fishingrod/sleepyrod/CtrlShiftClick(mob/user) +/obj/item/fishingrod/sleepyrod/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + if(!istype(target, /turf/open/water) && !istype(target, /turf/open/indestructible/ground/outside/water)) + return ..() + if(!(target in range(fish_range, user))) + to_chat(current_user, span_warning("The line cannot reach that far, move closer!")) + return + if(inuse) + if(current_wait <= world.time && world.time <= current_waitfail) + var/fish_result = complete_fishing() + switch(fish_result) + if(1) + to_chat(current_user, span_warning("You got trash, lame...")) + playsound(src.loc, 'sound/f13effects/karma_down.ogg', 100, TRUE, -1) + if(2) + to_chat(current_user, span_warning("You got nothing, lame...")) + playsound(src.loc, 'sound/f13effects/karma_down.ogg', 100, TRUE, -1) + if(3) + to_chat(current_user, span_green("You got a fish, nice!")) + playsound(src.loc, 'sound/f13effects/karma_up.ogg', 100, TRUE, -1) + to_chat(current_user, span_notice("You pull back your line!")) + playsound(src.loc, 'sound/f13items/youpullbackyourline.ogg', 100, TRUE, -1) + inuse = FALSE + 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_REF(play_readysound)), random_fishtime) + current_wait = world.time + random_fishtime + current_waitfail = current_wait + max_afterfish + to_chat(current_user, span_notice("You cast your fishing line, get ready to reel it back in!")) + +/obj/item/fishingrod/sleepyrod/CtrlShiftClick(mob/user) // ...wuh. It just...plays a sound? Weird! balloon_alert(user, "Time to vibe...") playsound(src.loc, 'sound/f13items/fishing.ogg', 60, TRUE, -1) diff --git a/code/game/objects/items/grenades/antigravity.dm b/code/game/objects/items/grenades/antigravity.dm index b6700599a3e..6caebeedfce 100644 --- a/code/game/objects/items/grenades/antigravity.dm +++ b/code/game/objects/items/grenades/antigravity.dm @@ -13,6 +13,6 @@ for(var/turf/T in view(range,src)) T.AddElement(/datum/element/forced_gravity, forced_value) - addtimer(CALLBACK(T, /datum/.proc/_RemoveElement, list(forced_value)), duration) + addtimer(CALLBACK(T, TYPE_PROC_REF(/datum/,_RemoveElement), list(forced_value)), duration) qdel(src) diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 57693ff2731..97d35ecf5a6 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -26,7 +26,7 @@ stage_change() // If no argument is set, it will change the stage to the current stage, useful for stock grenades that start READY. var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -161,7 +161,7 @@ /obj/item/grenade/chem_grenade/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER if(nadeassembly) - INVOKE_ASYNC(nadeassembly, .proc/on_entered, AM) + INVOKE_ASYNC(nadeassembly,PROC_REF(on_entered), AM) /obj/item/grenade/chem_grenade/on_found(mob/finder) if(nadeassembly) @@ -318,7 +318,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 9980ff34cec..1c4c0234642 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)) @@ -78,7 +78,7 @@ var/obj/item/grenade/P = new type(loc) if(istype(P)) P.active = TRUE - addtimer(CALLBACK(P, /obj/item/grenade/proc/prime), rand(15,60)) + addtimer(CALLBACK(P,TYPE_PROC_REF(/obj/item/grenade,prime)), rand(15,60)) var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) @@ -107,7 +107,7 @@ var/chosen = pick(subtypesof(/obj/item/slime_extract)) var/obj/item/slime_extract/P = new chosen(loc) if(volatile) - addtimer(CALLBACK(P, /obj/item/slime_extract/proc/activate_slime), rand(15,60)) + addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/slime_extract,activate_slime)), rand(15,60)) var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index d04ab00e54f..c352cf8e5ec 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -150,7 +150,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/make_boom() var/boomsize diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index 2e24bc16d01..073534f9ffa 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -40,7 +40,7 @@ /obj/item/grenade/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_VORE_ATOM_DIGESTED, .proc/vore_prime) + RegisterSignal(src, COMSIG_VORE_ATOM_DIGESTED,PROC_REF(vore_prime)) /obj/item/grenade/deconstruct(disassembled = TRUE) if(!disassembled) @@ -102,7 +102,7 @@ span_userdanger("Uh oh."), pref_check = VOREPREF_VORE_MESSAGES ) - INVOKE_ASYNC(src, .proc/preprime, vorer, null, FALSE, 100) + INVOKE_ASYNC(src,PROC_REF(preprime), vorer, null, FALSE, 100) return TRUE // for electric beep on activation @@ -120,7 +120,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) // Turn on the grenade if shot /obj/item/grenade/bullet_act(obj/item/projectile/P) @@ -147,7 +147,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) @@ -164,7 +164,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 1e023395bca..62d42923d1d 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -25,7 +25,7 @@ plastic_overlay = mutable_appearance(icon, "[item_state]2", HIGH_OBJ_LAYER) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -66,7 +66,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 @@ -89,7 +89,7 @@ /obj/item/grenade/plastic/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER if(nadeassembly) - INVOKE_ASYNC(nadeassembly, .proc/on_entered, AM) + INVOKE_ASYNC(nadeassembly,PROC_REF(on_entered), AM) /obj/item/grenade/plastic/on_found(mob/finder) if(nadeassembly) @@ -133,11 +133,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, span_notice("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 be9b7372511..0650becc5a2 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -254,7 +254,7 @@ icon_state = "[initial(icon_state)][armed]" var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/spring_trap, + COMSIG_ATOM_ENTERED =PROC_REF(spring_trap), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -286,7 +286,7 @@ if(!C.lying) def_zone = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) if(!C.legcuffed) //beartrap can't cuff your leg if there's already a beartrap or legcuffs, or you don't have two legs. - INVOKE_ASYNC(C, /mob/living/carbon.proc/equip_to_slot, src, SLOT_LEGCUFFED) + INVOKE_ASYNC(C, TYPE_PROC_REF(/mob/living/carbon,equip_to_slot), src, SLOT_LEGCUFFED) SSblackbox.record_feedback("tally", "handcuffs", 1, type) else if(snap && isanimal(L)) var/mob/living/simple_animal/SA = L @@ -324,7 +324,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 6af1d0d70c8..46996f58098 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 4369b6bf9e0..f93b36e62f2 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -319,7 +319,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 @@ -614,7 +614,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 db639efa29c..d908a8daae4 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 faa00b9486d..335bdc3001e 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(span_warning("[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_misc.dm b/code/game/objects/items/implants/implant_misc.dm index f32dc194344..fb3be05d856 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -35,7 +35,7 @@ return dat /obj/item/implant/adrenalin/post_implant(mob/living/target, mob/living/user, silent = FALSE) - RegisterSignal(target, COMSIG_MOB_STATCHANGE, .proc/prejuice) + RegisterSignal(target, COMSIG_MOB_STATCHANGE,PROC_REF(prejuice)) return /obj/item/implant/adrenalin/post_removed(mob/living/source, silent = FALSE, special = 0) @@ -49,7 +49,7 @@ if(newstat == CONSCIOUS) return playsound(imp_in, 'sound/effects/autoinjector_beeps.ogg', 75, TRUE) - addtimer(CALLBACK(src, .proc/juice), 2 SECONDS) + addtimer(CALLBACK(src,PROC_REF(juice)), 2 SECONDS) /obj/item/implant/adrenalin/proc/juice() diff --git a/code/game/objects/items/implants/implant_stealth.dm b/code/game/objects/items/implants/implant_stealth.dm index eb58d76d1b3..9bc9dd94479 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/loadout_beacons.dm b/code/game/objects/items/loadout_beacons.dm index 23375b11602..b225b6c1c7e 100644 --- a/code/game/objects/items/loadout_beacons.dm +++ b/code/game/objects/items/loadout_beacons.dm @@ -309,7 +309,7 @@ GLOBAL_LIST_EMPTY(loadout_boxes) /obj/item/kit_spawner/attack_self(mob/user) if(can_use_kit(user)) - INVOKE_ASYNC(src, .proc/use_the_kit, user) + INVOKE_ASYNC(src,PROC_REF(use_the_kit), user) else playsound(src, 'sound/machines/synth_no.ogg', 40, 1) @@ -376,7 +376,7 @@ GLOBAL_LIST_EMPTY(loadout_boxes) stop_using_the_kit(user) return //user.show_message("[final_key] selected!") - INVOKE_ASYNC(src, .proc/spawn_the_thing, user, GLOB.loadout_boxes[type][second_key][final_key], first_key) + INVOKE_ASYNC(src,PROC_REF(spawn_the_thing), user, GLOB.loadout_boxes[type][second_key][final_key], first_key) /obj/item/kit_spawner/proc/check_choice(choice_to_check) if(!choice_to_check) diff --git a/code/game/objects/items/mannequin.dm b/code/game/objects/items/mannequin.dm index f0c87be80aa..92f5a1a0d7b 100644 --- a/code/game/objects/items/mannequin.dm +++ b/code/game/objects/items/mannequin.dm @@ -22,7 +22,7 @@ /obj/item/mannequin/Initialize(mapload) . = ..() if(mapload) - addtimer(CALLBACK(src, .proc/set_looks), 30 SECONDS) + addtimer(CALLBACK(src,PROC_REF(set_looks)), 30 SECONDS) else set_looks() if(debug) @@ -57,7 +57,7 @@ my_overlay = SSdummy.get_dummy_image("mannequin", spec, dressup, null, null, null, random_body, random_species, random_outfit, TRUE, FALSE) update_icon() - addtimer(CALLBACK(src, .proc/set_looks), 1 HOURS) + addtimer(CALLBACK(src,PROC_REF(set_looks)), 1 HOURS) /obj/item/mannequin/update_overlays() . = ..() @@ -73,7 +73,7 @@ set_looks(src, user, user) /obj/item/mannequin/proc/debugify() - RegisterSignal(src, COMSIG_ITEM_ATTACKCHAIN, .proc/set_looks) + RegisterSignal(src, COMSIG_ITEM_ATTACKCHAIN,PROC_REF(set_looks)) /obj/item/mannequin/british_infantry name = "british infantry mannequin" diff --git a/code/game/objects/items/melee/f13onehanded.dm b/code/game/objects/items/melee/f13onehanded.dm index 1a25a77c3a8..2214974af78 100644 --- a/code/game/objects/items/melee/f13onehanded.dm +++ b/code/game/objects/items/melee/f13onehanded.dm @@ -256,7 +256,7 @@ tool_behaviour = TOOL_RITUAL toolspeed = 1 -obj/item/melee/onehanded/knife/switchblade +/obj/item/melee/onehanded/knife/switchblade name = "switchblade" desc = "A sharp, concealable, spring-loaded knife." icon_state = "knife_switch" @@ -859,7 +859,7 @@ obj/item/melee/onehanded/knife/switchblade attack_verb = list("stabbed", "sliced", "pierced", "diced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' -obj/item/melee/unarmed/punchdagger/cyborg +/obj/item/melee/unarmed/punchdagger/cyborg name = "assaultron claws" desc = "Razor sharp blades embedded into the grippers of an assaultron. Sharp." icon_state = "tiger_claw" diff --git a/code/game/objects/items/melee/f13twohanded.dm b/code/game/objects/items/melee/f13twohanded.dm index 496c608bb7f..9dac5064d52 100644 --- a/code/game/objects/items/melee/f13twohanded.dm +++ b/code/game/objects/items/melee/f13twohanded.dm @@ -19,8 +19,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)) force_unwielded = force diff --git a/code/game/objects/items/melee/huntinghorn.dm b/code/game/objects/items/melee/huntinghorn.dm index 0741fd98d0c..cef6784cd63 100644 --- a/code/game/objects/items/melee/huntinghorn.dm +++ b/code/game/objects/items/melee/huntinghorn.dm @@ -81,7 +81,7 @@ "performance" = image(icon = 'icons/misc/mark.dmi', icon_state = "X"), ), "huntinghornradial", - CALLBACK(src, .proc/radial_check, user), + CALLBACK(src, PROC_REF(radial_check), user), radius = 42, require_near = TRUE, tooltips = TRUE, diff --git a/code/game/objects/items/melee/weaponry.dm b/code/game/objects/items/melee/weaponry.dm index 84f1ba7aac5..eeec40cc2e7 100644 --- a/code/game/objects/items/melee/weaponry.dm +++ b/code/game/objects/items/melee/weaponry.dm @@ -400,7 +400,7 @@ superlagg says: cool story, oranges /obj/item/statuebust/Initialize() . = ..() AddElement(/datum/element/art, impressiveness) - addtimer(CALLBACK(src, /datum.proc/_AddElement, list(/datum/element/beauty, 1000)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum,_AddElement), list(/datum/element/beauty, 1000)), 0) /obj/item/tailclub name = "tail club" @@ -486,7 +486,7 @@ superlagg says: cool story, oranges 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 @@ -503,7 +503,7 @@ superlagg says: cool story, oranges /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) @@ -512,10 +512,10 @@ superlagg says: cool story, oranges if(owner == sucker) // big mood to_chat(owner, span_danger("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, span_danger("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) @@ -641,8 +641,8 @@ superlagg says: cool story, oranges /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() . = ..() @@ -696,8 +696,8 @@ superlagg says: cool story, oranges /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/plushes.dm b/code/game/objects/items/plushes.dm index 2110d8c136e..160e6439985 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -848,7 +848,7 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths()) if(!H) return //Type safety. H.apply_damage(5, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - addtimer(CALLBACK(H, /mob/living/carbon/human.proc/dropItemToGround, src, TRUE), 1) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human,dropItemToGround), src, TRUE), 1) /obj/item/toy/plush/plushling/New() var/initial_state = pick("plushie_lizard", "plushie_snake", "plushie_slime", "fox") diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 66a9dbecf41..257d0500bdb 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 130dd023147..fc991c71e40 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -262,7 +262,7 @@ return ..() //Bulletproof riot shield -obj/item/shield/riot/bullet_proof +/obj/item/shield/riot/bullet_proof name = "bullet resistant shield" desc = "Kevlar coated surface makes this riot shield a lot better for blocking projectiles." icon_state = "shield_bulletproof" @@ -536,7 +536,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 fdbed015d25..768ffda323d 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -18,8 +18,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() @@ -100,8 +100,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 5a35d1a6059..5313c887377 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -90,7 +90,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, just_check = FALSE) if(heal(M, user, just_check)) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 4cfbc344c3c..bd0660951b3 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -317,7 +317,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( SSblackbox.record_feedback("tally", "station_mess_created", 1, name) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 11e44c6ed73..8b918c78ae9 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -65,7 +65,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) @@ -74,7 +74,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() @@ -449,7 +449,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) @@ -473,7 +473,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(can_merge(AM, TRUE)) diff --git a/code/game/objects/items/storage/_storage.dm b/code/game/objects/items/storage/_storage.dm index 86a36853282..b59038cf749 100644 --- a/code/game/objects/items/storage/_storage.dm +++ b/code/game/objects/items/storage/_storage.dm @@ -17,7 +17,7 @@ /obj/item/storage/ComponentInitialize() AddComponent(component_type) - //RegisterSignal(src, COMSIG_VORE_ATOM_DIGESTED, .proc/dump_everything) // TODO: Make this work + //RegisterSignal(src, COMSIG_VORE_ATOM_DIGESTED,PROC_REF(dump_everything)) // TODO: Make this work /obj/item/storage/AllowDrop() return TRUE diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index cc47d1c950d..b5fb74ede78 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -640,7 +640,7 @@ new /obj/item/reagent_containers/pill/patch/medx(src) new /obj/item/grenade/syndieminibomb(src) -obj/item/storage/backpack/duffelbag/syndie/shredderbundle +/obj/item/storage/backpack/duffelbag/syndie/shredderbundle desc = "A large duffel bag containing two CX Shredders, some magazines, an elite hardsuit, and a chest rig." /obj/item/storage/backpack/duffelbag/syndie/shredderbundle/PopulateContents() diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 319ed07df8c..ecdc186c77b 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -105,7 +105,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) @@ -354,7 +354,7 @@ /* Now in tribal mode!*/ -obj/item/storage/bag/chemistry/tribal +/obj/item/storage/bag/chemistry/tribal name = "tribal medicinal bag" icon = 'icons/obj/chemical.dmi' icon_state = "tribal_chembag" @@ -464,7 +464,7 @@ obj/item/storage/bag/chemistry/tribal 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 /// finds a casing and return it diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 3f4fc259dab..1c65b20f9ec 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -56,7 +56,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 5abcaae6fcb..b882dac0af7 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -265,7 +265,7 @@ for(var/i in 1 to 7) new /obj/item/grenade/flashbang(src) -obj/item/storage/box/stingbangs +/obj/item/storage/box/stingbangs name = "box of stingbangs (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause severe injuries or death in repeated use." icon_state = "secbox" @@ -794,7 +794,7 @@ obj/item/storage/box/stingbangs /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/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index 0793cfb25a1..1ba8b94a31a 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -57,7 +57,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 c5489704d1b..47ceed39a82 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 6ad01a6a3fc..ef29d86e105 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -61,7 +61,7 @@ core = ncore icon_state = "core_container_loaded" to_chat(user, span_warning("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() @@ -208,7 +208,7 @@ T.icon_state = "supermatter_tongs" icon_state = "core_container_loaded" to_chat(user, span_warning("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 354ad818bd1..0f1cb0c9116 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -408,7 +408,7 @@ active = TRUE playsound(src, 'sound/effects/pope_entry.ogg', 100) Rumble() - addtimer(CALLBACK(src, .proc/stopRumble), 600) + addtimer(CALLBACK(src,PROC_REF(stopRumble)), 600) else to_chat(user, "[src] is already active.") @@ -512,7 +512,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -551,7 +551,7 @@ /obj/effect/decal/cleanable/ash/snappop_phoenix/New() . = ..() - addtimer(CALLBACK(src, .proc/respawn), respawn_time) + addtimer(CALLBACK(src,PROC_REF(respawn)), respawn_time) /obj/effect/decal/cleanable/ash/snappop_phoenix/proc/respawn() new /obj/item/toy/snappop/phoenix(get_turf(src)) @@ -908,7 +908,7 @@ if(!(cardUser.mobility_flags & MOBILITY_USE)) return var/O = src - var/choice = show_radial_menu(usr,src, handradial, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 36, require_near = TRUE) + var/choice = show_radial_menu(usr,src, handradial, custom_check = CALLBACK(src,PROC_REF(check_menu), user), radius = 36, require_near = TRUE) if(!choice) return FALSE var/obj/item/toy/cards/singlecard/C = new/obj/item/toy/cards/singlecard(cardUser.loc) diff --git a/code/game/objects/items/validball.dm b/code/game/objects/items/validball.dm index f3d704031e5..c072ced684f 100644 --- a/code/game/objects/items/validball.dm +++ b/code/game/objects/items/validball.dm @@ -27,7 +27,7 @@ /obj/item/validball/Initialize() . = ..() register_vb_datum() - addtimer(CALLBACK(src, .proc/activate_the_validball), autoreveal_time) + addtimer(CALLBACK(src,PROC_REF(activate_the_validball)), autoreveal_time) SSvalidball.valid_balls |= src /obj/item/validball/ComponentInitialize() @@ -178,7 +178,7 @@ user.show_message("You press the SCAN button, and [src] lets out an excited beep!") say(span_robot("Scanning for anomalous signals, please wait.")) currently_scanning = TRUE - addtimer(CALLBACK(src, .proc/read_scan_ping, user), scan_time) + addtimer(CALLBACK(src,PROC_REF(read_scan_ping), user), scan_time) /obj/item/pinpointer/validball_finder/proc/read_scan_ping() if(!isweakref(scan_turf)) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 9fb2a8d7522..57400608ee3 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -250,7 +250,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/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 1faf6774deb..0af0f97bf06 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -230,7 +230,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 @@ -284,7 +284,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 2e785352ba8..36837401bb6 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, span_notice("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 82f517c2d86..e7e490fb563 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -25,11 +25,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/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 5a66d1e83e8..15d2ac4d60b 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 21cab169636..14cbc10f72b 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 74da1a7634d..6daf5939e0c 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 8994b9ccd20..b7dddd4a9c1 100644 --- a/code/game/objects/structures/divine.dm +++ b/code/game/objects/structures/divine.dm @@ -87,7 +87,7 @@ GLOBAL_LIST_INIT(gunparts_rates, list( to_chat(user, span_notice("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() if(last_process + time_between_uses > world.time) diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index 51af17da7e2..1251bf98a27 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -42,5 +42,5 @@ var/mob/living/buckled_mob = m buckled_mob.electrocute_act(85, src, 1) to_chat(buckled_mob, span_userdanger("You feel a deep shock course through your body!")) - addtimer(CALLBACK(buckled_mob, /mob/living.proc/electrocute_act, 85, src, 1), 1) + addtimer(CALLBACK(buckled_mob, TYPE_PROC_REF(/mob/living,electrocute_act), 85, src, 1), 1) visible_message(span_danger("The electric chair went off!"), span_italic("You hear a deep sharp shock!")) diff --git a/code/game/objects/structures/femur_breaker.dm b/code/game/objects/structures/femur_breaker.dm index ed02a2122f0..064787c0a1c 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/flora.dm b/code/game/objects/structures/flora.dm index 5d47e3aa8f0..9b65c69b28f 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -346,7 +346,7 @@ /obj/item/kirbyplants/ComponentInitialize() . = ..() AddElement(/datum/element/tactical) - addtimer(CALLBACK(src, /datum.proc/_AddElement, list(/datum/element/beauty, 500)), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum,_AddElement), list(/datum/element/beauty, 500)), 0) AddComponent(/datum/component/two_handed, require_twohands=TRUE, force_unwielded=10, force_wielded=10) /obj/item/kirbyplants/random diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 9a47994fb59..bbe1a7c225c 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -427,7 +427,7 @@ id.update_label() else to_chat(L, span_userdanger("Your owner is already dead! You will soon perish.")) - addtimer(CALLBACK(L, /mob.proc/dust, 150)) //Give em a few seconds as a mercy. + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob,dust), 150)) //Give em a few seconds as a mercy. /datum/outfit/demonic_friend name = "Demonic Friend" diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index ea6f6ddc634..bfc6e884c4b 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 669818ec888..bc922492712 100644 --- a/code/game/objects/structures/hivebot.dm +++ b/code/game/objects/structures/hivebot.dm @@ -15,7 +15,7 @@ smoke.start() visible_message(span_boldannounce("[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 167340be7cd..a31bcde36b7 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -195,7 +195,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) @@ -207,4 +207,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 fc5aa22a59e..18f1c2291dd 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(span_boldannounce("[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(span_warning("Something slips out of [src]!")) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index c643d108da9..eba1b31918e 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 1beafe6d8b0..f2b076e43dd 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -118,18 +118,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) @@ -238,7 +238,7 @@ if(!LAZYLEN(tool_list)) to_chat(user, span_warning("Well that's awkward, [src] couldn't generate a menu! This is probably a bug, please call 1-800-IMCODER")) return - 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 7811c6f85c4..3885ac32748 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(span_boldannounce("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!")) visible_message(span_warning("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 be502a2128a..8c6abcc781e 100644 --- a/code/game/objects/structures/life_candle.dm +++ b/code/game/objects/structures/life_candle.dm @@ -35,7 +35,7 @@ linked_minds |= user.mind update_icon() - INVOKE_ASYNC(src, /atom/movable.proc/float, linked_minds.len) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable,float), linked_minds.len) if(linked_minds.len) START_PROCESSING(SSobj, src) set_light(lit_luminosity) @@ -64,7 +64,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 e8fbafa42bc..e2cdd27baa4 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 ef016a7bcfc..1f7cdbe7f10 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -100,7 +100,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 93781915da1..ed94665f69a 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(span_warning("[user] [action] the floor."), span_notice("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, span_notice(" 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 269a8a2206b..6b6bed02e59 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -35,7 +35,7 @@ if(density && flags_1 & ON_BORDER_1) // blocks normal movement from and to the direction it's facing. var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT =PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -81,7 +81,7 @@ if(flags_1&NODECONSTRUCT_1) return to_chat(user, span_notice("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))) set_anchored(!anchored) to_chat(user, span_notice("You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.")) return TRUE diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 1f78e0140b3..3c93d9bdbe1 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -41,7 +41,7 @@ FLOOR SAFES else return INITIALIZE_HINT_LATELOAD -obj/structure/safe/LateInitialize() +/obj/structure/safe/LateInitialize() for(var/obj/item/I in loc) if(space >= maxspace) return diff --git a/code/game/objects/structures/signs/signs_maps.dm b/code/game/objects/structures/signs/signs_maps.dm index ee29ef7443a..bcd7c02c668 100644 --- a/code/game/objects/structures/signs/signs_maps.dm +++ b/code/game/objects/structures/signs/signs_maps.dm @@ -56,17 +56,17 @@ desc = "A direction sign, pointing out which way the Cafe is." icon_state = "direction_cafe" -obj/structure/sign/directions/rooms +/obj/structure/sign/directions/rooms name = "room" desc = "Room numbers, helps others find you!" icon_state = "roomnum" -obj/structure/sign/directions/dorms +/obj/structure/sign/directions/dorms name = "dorm" desc = "Dorm numbers, help others find you, or you find others." icon_state = "dormnum" -obj/structure/sign/directions/cells +/obj/structure/sign/directions/cells name = "room" desc = "So the less fortunate amongst us know where they'll be staying." icon_state = "cellnum" diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index 3f0d8fb468b..0ebb7f00fb4 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -76,7 +76,7 @@ build_signal_listener() update_surrounding() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT =PROC_REF(on_exit), ) AddElement(/datum/element/connect_loc, loc_connections) if(destroy_in > STAIR_NOT_TEMPORARY) @@ -109,7 +109,7 @@ if(!isobserver(leaving) && isTerminator() && direction == dir) leaving.set_currently_z_moving(CURRENTLY_Z_ASCENDING) - INVOKE_ASYNC(src, .proc/stair_ascend, leaving) + INVOKE_ASYNC(src,PROC_REF(stair_ascend), leaving) leaving.Bump(src) return COMPONENT_ATOM_BLOCK_EXIT @@ -159,7 +159,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 5a71ab1a8fe..387660ac75b 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -15,8 +15,8 @@ /obj/structure/statue/Initialize() . = ..() AddElement(/datum/element/art, impressiveness) - addtimer(CALLBACK(src, /datum.proc/_AddElement, list(/datum/element/beauty, impressiveness * 75)), 0) - AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate), CALLBACK(src, .proc/can_be_rotated), null) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum,_AddElement), list(/datum/element/beauty, impressiveness * 75)), 0) + 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/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 98de7f462f2..0ddae279cd5 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -261,14 +261,14 @@ /obj/structure/table/rolling/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) /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 @@ -278,7 +278,7 @@ /obj/structure/table/rolling/proc/on_entered(atom/OldLoc, Dir) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/on_move, OldLoc, Dir) + INVOKE_ASYNC(src,PROC_REF(on_move), OldLoc, Dir) /obj/structure/table/rolling/proc/on_move(atom/OldLoc, Dir) for(var/mob/M in OldLoc.contents)//Kidnap everyone on top @@ -307,7 +307,7 @@ /obj/structure/table/glass/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -328,7 +328,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) diff --git a/code/game/objects/structures/timeddoor.dm b/code/game/objects/structures/timeddoor.dm index d66bb95a73d..17d8b30f794 100644 --- a/code/game/objects/structures/timeddoor.dm +++ b/code/game/objects/structures/timeddoor.dm @@ -48,7 +48,7 @@ GLOBAL_LIST_EMPTY(timeddoor_list) /obj/structure/timeddoor/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/timeddeletedoor), deletion_time) + addtimer(CALLBACK(src,PROC_REF(timeddeletedoor)), deletion_time) /obj/structure/timeddoor/proc/timeddeletedoor() announce_fall() 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 76d65eb2e4c..7db2d2d92f5 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, span_notice("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, span_notice("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/traps.dm b/code/game/objects/structures/traps.dm index 21def516ad2..58c2edf8e95 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -27,7 +27,7 @@ /mob/dead)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -62,7 +62,7 @@ /obj/structure/trap/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/process_entered, AM) + INVOKE_ASYNC(src,PROC_REF(process_entered), AM) /obj/structure/trap/proc/process_entered(atom/movable/AM) if(last_trigger + time_between_triggers > world.time) @@ -176,7 +176,7 @@ . = ..() time_between_triggers = 10 var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/game/objects/structures/tribal_torch.dm b/code/game/objects/structures/tribal_torch.dm index 6d4fb7e1d17..9cebcc374ea 100644 --- a/code/game/objects/structures/tribal_torch.dm +++ b/code/game/objects/structures/tribal_torch.dm @@ -18,7 +18,7 @@ /obj/structure/destructible/tribal_torch/Initialize() . = ..() - RegisterSignal(src, COMSIG_ATOM_LICKED, .proc/smooch_fire) + RegisterSignal(src, COMSIG_ATOM_LICKED,PROC_REF(smooch_fire)) /obj/structure/destructible/tribal_torch/Destroy() . = ..() @@ -84,10 +84,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 deleted file mode 100644 index fde80e6f66c..00000000000 --- a/code/game/objects/structures/wasteplants.dm +++ /dev/null @@ -1,141 +0,0 @@ -/obj/structure/flora/wasteplant - name = "wasteland plant" - desc = "It's a wasteland plant." - icon = 'icons/obj/flora/wastelandflora.dmi' - anchored = 1 - density = 0 - var/has_plod = TRUE - var/produce - var/timer = 5000 //50 seconds - -/obj/structure/flora/wasteplant/attack_hand(mob/user) - if(!ispath(produce)) - return ..() - - if(has_plod) - var/obj/item/product = new produce - if(!istype(product)) - return //Something fucked up here or it's a weird product - user.put_in_hands(product) - to_chat(user, span_notice("You pluck [product] from [src].")) - 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 - update_icon() - -/obj/structure/flora/wasteplant/proc/regrow() - if(!QDELETED(src)) - has_plod = TRUE - update_icon() - -/obj/structure/flora/wasteplant/update_icon() - if(has_plod) - icon_state = "[initial(icon_state)]" - else - icon_state = "[initial(icon_state)]_no" - -/obj/structure/flora/wasteplant/wild_broc - name = "wild broc flower" - icon_state = "wild_broc" - desc = "A tall stalk bearing a vibrant, orange flower famed for its healing properties." - produce = /obj/item/reagent_containers/food/snacks/grown/broc - -/obj/structure/flora/wasteplant/wild_xander - name = "wild xander roots" - icon_state = "wild_xander" - desc = "A hardy, onion-like root with mild healing properties." - produce = /obj/item/reagent_containers/food/snacks/grown/xander - -/obj/structure/flora/wasteplant/wild_buffalogourd - name = "wild buffalo vines" - icon_state = "wild_gourd" - desc = "This large spreading perennial vine is a close relative of many cultivated gourd crops. The ripe fruit forms a small gourd, which was reportedly boiled and eaten by various tribes." - produce = /obj/item/reagent_containers/food/snacks/grown/buffalogourd - -/obj/structure/flora/wasteplant/wild_horsenettle - name = "wild horsenettle" - icon_state = "wild_horsenettle" - desc = "The tribes use the berries of this toxic plant as a vegetable rennet." - produce = /obj/item/reagent_containers/food/snacks/grown/horsenettle - -/obj/structure/flora/wasteplant/wild_mesquite - name = "wild horsenettle" - icon_state = "wild_mesquite" - desc = "The honey mesquite pod grows on a short tree with willow-like branches. Trees with pickable pods will appear bushier in foliage and have strings of pods on them, resembling a fern pattern. Pods can be eaten or used in recipes" - produce = /obj/item/reagent_containers/food/snacks/grown/mesquite - -/obj/structure/flora/wasteplant/wild_pinyon - name = "wild pinyon pine" - icon_state = "wild_pinyon" - desc = "The seeds of the pinyon pine, known as pine nuts, are an important food for settlers and tribes living in the mountains of the North American Southwest. All species of pine produce edible seeds, but in North America only the pinyon produces seeds large enough to be a major source of food." - produce = /obj/item/reagent_containers/food/snacks/grown/pinyon - -/obj/structure/flora/wasteplant/wild_prickly - name = "wild prickly pear" - icon_state = "wild_prickly" - desc = "Distinguished by having cylindrical, rather than flattened, stem segments with large barbed spines. The stem joints are very brittle on young stems, readily breaking off when the barbed spines stick to clothing or animal fur." - produce = /obj/item/reagent_containers/food/snacks/grown/pricklypear - -/obj/structure/flora/wasteplant/wild_datura - name = "wild datura" - icon_state = "wild_datura" - desc = "The sacred datura root, useful as an anesthetic for surgery and in healing salves, as well as for rites of passage rituals and ceremonies" - produce = /obj/item/reagent_containers/food/snacks/grown/datura - -obj/structure/flora/wasteplant/wild_punga - name = "wild punga" - icon_state = "wild_punga" - desc = "Punga fruit plants flower at a single point at the terminus of their stems, gradually developing into large, fleshy fruits with a yellow/brown, thick skin." - produce = /obj/item/reagent_containers/food/snacks/grown/pungafruit - -/obj/structure/flora/wasteplant/wild_coyote - name = "wild coyote tobacco shrub" - icon_state = "wild_coyote" - desc = "This tobacco like plant is commonly used by tribals for a great variety of medicinal and ceremonial purposes." - produce = /obj/item/reagent_containers/food/snacks/grown/coyotetobacco - -/obj/structure/flora/wasteplant/wild_yucca - name = "wild banana yucca" - icon_state = "wild_yucca" - desc = "The species gets its common name banana yucca from its banana-shaped fruit. The specific epithet baccata means 'with berries'" - produce = /obj/item/reagent_containers/food/snacks/grown/yucca - -/obj/structure/flora/wasteplant/wild_tato - name = "wild tato" - icon_state = "wild_tato" - desc = "The outside looks like a tomato, but the inside is brown. Tastes as absolutely disgusting as it looks, but will keep you from starving." - produce = /obj/item/reagent_containers/food/snacks/grown/tato - -/obj/structure/flora/wasteplant/wild_feracactus - name = "wild barrel cactus" - icon_state = "wild_feracactus" - desc = "A squat, spherical cactus blooming with a toxic fruit." - produce = /obj/item/reagent_containers/food/snacks/grown/feracactus - - -/obj/structure/flora/wasteplant/wild_mutfruit - name = "wild mutfruit sapling" - icon_state = "wild_mutfruit" - desc = "This irradiated sapling offers a fruit that is highly nutritious and hydrating." - produce = /obj/item/reagent_containers/food/snacks/grown/mutfruit - - -/obj/structure/flora/wasteplant/wild_fungus - name = "cave fungi" - icon_state = "wild_fungus" - desc = "This edible strain of fungus grows in dark places and is said to have anti-toxic properties." - produce = /obj/item/reagent_containers/food/snacks/grown/fungus - - -/obj/structure/flora/wasteplant/wild_agave - name = "wild agave" - icon_state = "wild_agave" - desc = "The juice of this fleshy plant soothes burns, but it also removes nutrients from the body." - produce = /obj/item/reagent_containers/food/snacks/grown/agave - -/obj/structure/flora/wasteplant/fever_blossom - name = "wild fever blossom" - icon_state = "wild_blossom" - desc = "The wild fever blossom grows on creeping tangles of vine-like bushes. The flowers that adorn the bushes glow with an iridescent purple, drawing attention to the intricate floral arrays, which appear to have mutated from some sort of passion flower. It is known for its use as an aphrodisiac and sleep aid." - produce = /obj/item/reagent_containers/food/snacks/grown/fever_blossom diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 9710ff7786a..879dcade33f 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -313,7 +313,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -328,10 +328,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 @@ -355,7 +355,7 @@ /obj/machinery/shower/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/handle_enter, AM) + INVOKE_ASYNC(src,PROC_REF(handle_enter), AM) /proc/wash_obj(obj/O) if(isobj(O)) @@ -378,7 +378,7 @@ qdel(E) ///Washes a mob as if it were under a shower or rain. Shower object is optional -proc/give_mob_washies(mob/living/L, obj/machinery/shower/S) +/proc/give_mob_washies(mob/living/L, obj/machinery/shower/S) if(!isliving(L)) return FALSE SEND_SIGNAL(L, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK) diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index f12f86f8ed9..cef98236873 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -317,7 +317,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 ced10a88251..f895eec136a 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -99,7 +99,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) electrochromatic_dim() var/static/list/loc_connections = list( - COMSIG_ATOM_EXIT = .proc/on_exit, + COMSIG_ATOM_EXIT =PROC_REF(on_exit), ) if (flags_1 & ON_BORDER_1) @@ -109,7 +109,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) @@ -254,17 +254,17 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(reinf) if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME) to_chat(user, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("You [anchored ? "fasten the window to":"unfasten the window from"] the floor.")) return @@ -273,7 +273,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, span_notice("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, span_notice("You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.")) return @@ -281,7 +281,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) else if(istype(I, /obj/item/wrench) && !anchored) I.play_tool_sound(src, 75) to_chat(user, span_notice(" 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) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index c695cb4b2be..6b99ec7a286 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -279,7 +279,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/f13_floors.dm b/code/game/turfs/simulated/floor/f13_floors.dm index 9a36fac1e0d..e73f6ccb7e4 100644 --- a/code/game/turfs/simulated/floor/f13_floors.dm +++ b/code/game/turfs/simulated/floor/f13_floors.dm @@ -522,16 +522,16 @@ /turf/open/floor/plasteel/f13/metal/pipe/intersection icon_state = "pipe_intersection" -turf/open/floor/plasteel/f13/tile +/turf/open/floor/plasteel/f13/tile icon_state = "grey" -turf/open/floor/plasteel/f13/tile/broken +/turf/open/floor/plasteel/f13/tile/broken icon_state = "grey_1" - New() - ..() - if(icon_state == "grey_1") - icon_state = "grey_[rand(1,8)]" +/turf/open/floor/plasteel/f13/tile/broken/New() + ..() + if(icon_state == "grey_1") + icon_state = "grey_[rand(1,8)]" /turf/open/floor/plasteel/f13/tile/long icon_state = "grey_long" @@ -539,10 +539,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/tile/long/broken icon_state = "grey_long_1" - New() - ..() - if(icon_state == "grey_long1") - icon_state = "grey_long_[rand(1,6)]" +/turf/open/floor/plasteel/f13/tile/long/broken/New() + ..() + if(icon_state == "grey_long1") + icon_state = "grey_long_[rand(1,6)]" /turf/open/floor/plasteel/f13/tile/blue icon_state = "bluetile" @@ -550,10 +550,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/tile/blue/broken icon_state = "blue_1" - New() - ..() - if(icon_state == "blue_1") - icon_state = "blue_[rand(1,8)]" +/turf/open/floor/plasteel/f13/tile/blue/broken/New() + ..() + if(icon_state == "blue_1") + icon_state = "blue_[rand(1,8)]" /turf/open/floor/plasteel/f13/tile/blue_long icon_state = "blue_long" @@ -561,10 +561,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/tile/blue_long/broken icon_state = "blue_long_1" - New() - ..() - if(icon_state == "blue_long1") - icon_state = "blue_long_[rand(1,6)]" +/turf/open/floor/plasteel/f13/tile/blue_long/broken/New() + ..() + if(icon_state == "blue_long1") + icon_state = "blue_long_[rand(1,6)]" /turf/open/floor/plasteel/f13/tile/navy icon_state = "navy" @@ -572,10 +572,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/tile/navy/broken icon_state = "navy_1" - New() - ..() - if(icon_state == "navy_1") - icon_state = "navy_[rand(1,7)]" +/turf/open/floor/plasteel/f13/tile/navy/broken/New() + ..() + if(icon_state == "navy_1") + icon_state = "navy_[rand(1,7)]" /turf/open/floor/plasteel/f13/tile/brown icon_state = "browntile" @@ -583,10 +583,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/tile/brown/broken icon_state = "brown_1" - New() - ..() - if(icon_state == "brown_1") - icon_state = "brown_[rand(1,8)]" +/turf/open/floor/plasteel/f13/tile/brown/broken/New() + ..() + if(icon_state == "brown_1") + icon_state = "brown_[rand(1,8)]" /turf/open/floor/plasteel/f13/tile/fancy icon_state = "fancy" @@ -594,10 +594,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/tile/fancy/broken icon_state = "fancy_1" - New() - ..() - if(icon_state == "fancy_1") - icon_state = "fancy_[rand(1,7)]" +/turf/open/floor/plasteel/f13/tile/fancy/broken/New() + ..() + if(icon_state == "fancy_1") + icon_state = "fancy_[rand(1,7)]" @@ -611,10 +611,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/stone/ornate/broken icon_state = "ornate_1" - New() - ..() - if(icon_state == "ornate_1") - icon_state = "ornate_[rand(1,3)]" +/turf/open/floor/plasteel/f13/stone/ornate/broken/New() + ..() + if(icon_state == "ornate_1") + icon_state = "ornate_[rand(1,3)]" /turf/open/floor/plasteel/f13/stone/sierra icon_state = "sierra" @@ -622,10 +622,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/stone/sierra/broken icon_state = "sierra_1" - New() - ..() - if(icon_state == "sierra_1") - icon_state = "ornate_[rand(1,3)]" +/turf/open/floor/plasteel/f13/stone/sierra/broken/New() + ..() + if(icon_state == "sierra_1") + icon_state = "ornate_[rand(1,3)]" /turf/open/floor/plasteel/f13/stone/ceramic icon_state = "ceramic" @@ -633,10 +633,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/stone/ceramic/broken icon_state = "ceramic_1" - New() - ..() - if(icon_state == "ceramic_1") - icon_state = "ceramic_[rand(1,2)]" +/turf/open/floor/plasteel/f13/stone/ceramic/broken/New() + ..() + if(icon_state == "ceramic_1") + icon_state = "ceramic_[rand(1,2)]" /turf/open/floor/plasteel/f13/stone/brick icon_state = "brick" @@ -644,10 +644,10 @@ turf/open/floor/plasteel/f13/tile/broken /turf/open/floor/plasteel/f13/stone/brick/broken icon_state = "brick_1" - New() - ..() - if(icon_state == "brick_1") - icon_state = "brick_[rand(1,8)]" +/turf/open/floor/plasteel/f13/stone/brick/broken/New() + ..() + if(icon_state == "brick_1") + icon_state = "brick_[rand(1,8)]" /turf/open/floor/plasteel/f13/stone/rugged icon_state = "khanstone" diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 53b2bac960b..e7cbf3ce350 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -23,10 +23,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "common1") - icon_state = "common[rand(1,3)]" +/turf/open/floor/wood_common/New() + ..() + if(icon_state == "common1") + icon_state = "common[rand(1,3)]" /turf/open/floor/wood_common/wood_common_light desc = "Wood cast in a sturdy standard pattern." @@ -41,10 +41,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "common_light1") - icon_state = "common_light[rand(1,3)]" +/turf/open/floor/wood_common/wood_common_light/New() + ..() + if(icon_state == "common_light1") + icon_state = "common_light[rand(1,3)]" /turf/open/floor/wood_common/wood_common_dark desc = "Wood cast in a sturdy standard pattern." @@ -59,10 +59,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "common_dark1") - icon_state = "common_dark[rand(1,3)]" +/turf/open/floor/wood_common/wood_common_dark/New() + ..() + if(icon_state == "common_dark1") + icon_state = "common_dark[rand(1,3)]" @@ -79,10 +79,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "worn1") - icon_state = "worn[rand(1,4)]" +/turf/open/floor/wood_worn/New() + ..() + if(icon_state == "worn1") + icon_state = "worn[rand(1,4)]" /turf/open/floor/wood_worn/wood_worn_light desc = "Wood cast in a sturdy standard pattern." @@ -97,10 +97,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "worn_light1") - icon_state = "worn_light[rand(1,4)]" +/turf/open/floor/wood_worn/wood_worn_light/New() + ..() + if(icon_state == "worn_light1") + icon_state = "worn_light[rand(1,4)]" /turf/open/floor/wood_worn/wood_worn_dark desc = "Wood cast in a sturdy standard pattern." @@ -115,10 +115,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "worn_dark1") - icon_state = "worn_dark[rand(1,4)]" +/turf/open/floor/wood_worn/wood_worn_dark/New() + ..() + if(icon_state == "worn_dark1") + icon_state = "worn_dark[rand(1,4)]" @@ -135,10 +135,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "fancy1") - icon_state = "fancy[rand(1,1)]" +/turf/open/floor/wood_fancy/New() + ..() + if(icon_state == "fancy1") + icon_state = "fancy[rand(1,1)]" /turf/open/floor/wood_fancy/wood_fancy_light desc = "Wood cast in a fancy angled pattern." @@ -153,10 +153,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "fancy_light1") - icon_state = "fancy_light[rand(1,1)]" +/turf/open/floor/wood_fancy/wood_fancy_light/New() + ..() + if(icon_state == "fancy_light1") + icon_state = "fancy_light[rand(1,1)]" /turf/open/floor/wood_fancy/wood_fancy_dark @@ -172,10 +172,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "fancy_dark1") - icon_state = "fancy_dark[rand(1,1)]" +/turf/open/floor/wood_fancy/wood_fancy_dark/New() + ..() + if(icon_state == "fancy_dark1") + icon_state = "fancy_dark[rand(1,1)]" @@ -193,10 +193,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "wide1") - icon_state = "wide[rand(1,3)]" +/turf/open/floor/wood_wide/New() + ..() + if(icon_state == "wide1") + icon_state = "wide[rand(1,3)]" /turf/open/floor/wood_wide/wood_wide_light desc = "Wood cast in a sturdy standard pattern." @@ -211,10 +211,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "wide_light1") - icon_state = "wide_light[rand(1,3)]" +/turf/open/floor/wood_wide/wood_wide_light/New() + ..() + if(icon_state == "wide_light1") + icon_state = "wide_light[rand(1,3)]" /turf/open/floor/wood_wide/wood_wide_dark desc = "Wood cast in a sturdy standard pattern." @@ -229,10 +229,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "wide_dark1") - icon_state = "wide_dark[rand(1,3)]" +/turf/open/floor/wood_wide/wood_wide_dark/New() + ..() + if(icon_state == "wide_dark1") + icon_state = "wide_dark[rand(1,3)]" @@ -249,10 +249,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "mosaic1") - icon_state = "mosaic[rand(1,3)]" +/turf/open/floor/wood_mosaic/New() + ..() + if(icon_state == "mosaic1") + icon_state = "mosaic[rand(1,3)]" /turf/open/floor/wood_mosaic/wood_mosaic_light desc = "Wood cast in a sturdy standard pattern." @@ -267,10 +267,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "mosaic_light1") - icon_state = "mosaic_light[rand(1,3)]" +/turf/open/floor/wood_mosaic/wood_mosaic_light/New() + ..() + if(icon_state == "mosaic_light1") + icon_state = "mosaic_light[rand(1,3)]" /turf/open/floor/wood_mosaic/wood_mosaic_dark desc = "Wood cast in a sturdy standard pattern." @@ -285,10 +285,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE - New() - ..() - if(icon_state == "mosaic_dark1") - icon_state = "mosaic_dark[rand(1,3)]" +/turf/open/floor/wood_mosaic/wood_mosaic_dark/New() + ..() + if(icon_state == "mosaic_dark1") + icon_state = "mosaic_dark[rand(1,3)]" diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index e0a59c1f597..41c723ef7b1 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -100,7 +100,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) @@ -825,7 +825,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 @@ -893,7 +893,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/turf.dm b/code/game/turfs/turf.dm index 73f6c7e4ebe..ef0ebce75ab 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -403,7 +403,7 @@ var/list/things = src_object.contents() var/my_bar = SSprogress_bars.add_bar(src, list(), things.len, FALSE, TRUE) - while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(src_object, /datum/component/storage.proc/mass_remove_from_storage, src, things, my_bar))) + while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(src_object, TYPE_PROC_REF(/datum/component/storage,mass_remove_from_storage), src, things, my_bar))) stoplag(1) SSprogress_bars.remove_bar(my_bar) diff --git a/code/game/world.dm b/code/game/world.dm index c11f5c2f83a..1fb4baa9898 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -13,7 +13,7 @@ GLOBAL_LIST(topic_status_cache) /world/New() var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (debug_server) - call(debug_server, "auxtools_init")() + LIBCALL(debug_server, "auxtools_init")() enable_debugging() //AUXTOOLS_CHECK(AUXMOS) #ifdef EXTOOLS_REFERENCE_TRACKING @@ -85,11 +85,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(usr, GLOBAL_PROC_REF(_addtimer), cb, 10 SECONDS)) /world/proc/SetupLogs() var/override_dir = params[OVERRIDE_LOG_DIRECTORY_PARAMETER] @@ -284,7 +284,7 @@ GLOBAL_LIST(topic_status_cache) //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 86b612d903e..c1945bd7448 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,12 +176,12 @@ 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) - VR.RegisterSignal(src, COMSIG_PARENT_QDELETING, /datum/component/virtual_reality.proc/machine_destroyed) + VR.RegisterSignal(src, COMSIG_ATOM_EMAG_ACT, TYPE_PROC_REF(/datum/component/virtual_reality, you_only_live_once)) + VR.RegisterSignal(src, COMSIG_MACHINE_EJECT_OCCUPANT, TYPE_PROC_REF(/datum/component/virtual_reality, revert_to_reality)) + VR.RegisterSignal(src, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/datum/component/virtual_reality, machine_destroyed)) to_chat(vr_mob, span_notice("Transfer successful! You are now playing as [vr_mob] in VR!")) else to_chat(M, span_notice("Transfer failed! virtual reality data likely corrupted!")) @@ -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/WVM/wmv_buyer.dm b/code/modules/WVM/wmv_buyer.dm index 92632e533fb..132e4f1b3d5 100644 --- a/code/modules/WVM/wmv_buyer.dm +++ b/code/modules/WVM/wmv_buyer.dm @@ -280,7 +280,7 @@ GLOBAL_LIST_EMPTY(wasteland_vendor_shop_list) GLOB.wasteland_vendor_shop_list[trader_key] = list() var/list/donut = list() /// so parents are processed first, and subtype prices have priority - var/list/buylist = sortList(buyables_loose, /proc/cmp_typepaths_length_asc) + var/list/buylist = sortList(buyables_loose, GLOBAL_PROC_REF(cmp_typepaths_length_asc)) for(var/stuff in buylist) var/list/cumfrosting = list() cumfrosting = typecacheof(stuff) @@ -289,7 +289,7 @@ GLOBAL_LIST_EMPTY(wasteland_vendor_shop_list) donut[thing] = cumfrosting[thing] /// now, prune and process the tight list buylist.Cut() - buylist = sortList(buyables_tight, /proc/cmp_typepaths_length_asc) + buylist = sortList(buyables_tight, GLOBAL_PROC_REF(cmp_typepaths_length_asc)) for(var/stuff in buylist) var/list/cumfrosting = list() cumfrosting = typecacheof(stuff, TRUE) @@ -455,7 +455,7 @@ GLOBAL_LIST_EMPTY(wasteland_vendor_shop_list) if(istype(thingy, /obj/item/button)) continue if(appraise_item(thingy, TRUE)) - INVOKE_ASYNC(src, .proc/sell_loop_start) + INVOKE_ASYNC(src,PROC_REF(sell_loop_start)) return TRUE say("There's nothing to sell!") @@ -484,7 +484,7 @@ GLOBAL_LIST_EMPTY(wasteland_vendor_shop_list) my_bar = SSprogress_bars.add_bar(src, list(), time2sell, TRUE, TRUE) soundloop.start() lock_belt() - sales_timer = addtimer(CALLBACK(src, .proc/sell_loop_end, thing2sell), time2sell, TIMER_STOPPABLE) + sales_timer = addtimer(CALLBACK(src,PROC_REF(sell_loop_end), thing2sell), time2sell, TIMER_STOPPABLE) /obj/machinery/mineral/wasteland_trader/proc/sell_loop_end(obj/item/I) if(!I) diff --git a/code/modules/admin/check_antagonists.dm b/code/modules/admin/check_antagonists.dm index 532a11a532f..3b683ebaf71 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 c13d786ac3f..c17cdb946a8 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(usr, 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(usr, 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 f8fd94142f6..971330f0a1d 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -494,7 +494,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 07748d3fd60..cd6b783dca9 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) @@ -348,7 +348,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, span_adminhelp("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 068920bb5e1..e43c1757f33 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, span_danger("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 6d2db7a5faa..ca28adfc662 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1196,7 +1196,7 @@ GLOBAL_LIST_INIT(gun_loot_tables, list(/obj/effect/spawner/lootdrop/f13/trash_gu var/list/sortinglist = list() for(var/gg in GLOB.gun_balance_list) sortinglist[gg] = GLOB.gun_balance_list[gg][sorttype]//Associate the sorting value to the key - sortTim(sortinglist, /proc/cmp_numeric_dsc, associative = TRUE)//Sort the DPS associations + sortTim(sortinglist, GLOBAL_PROC_REF(cmp_numeric_dsc), associative = TRUE)//Sort the DPS associations for(var/gs in sortinglist)//Re-add the other variables sortinglist[gs] = GLOB.gun_balance_list[gs] GLOB.gun_balance_list = LAZYCOPY(sortinglist)//Copy the temporary sorted list into the global list diff --git a/code/modules/admin/verbs/individual_logging.dm b/code/modules/admin/verbs/individual_logging.dm index 75c8409031c..86542132e8c 100644 --- a/code/modules/admin/verbs/individual_logging.dm +++ b/code/modules/admin/verbs/individual_logging.dm @@ -64,7 +64,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 47a892bca08..c8eef115c29 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -347,9 +347,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 03f8e2e1cb3..5bec90268b5 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -19,13 +19,13 @@ GLOBAL_VAR_INIT(highlander, FALSE) message_admins(span_adminnotice("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!")) log_admin("[key_name(usr)] used THERE CAN BE ONLY ONE.") - addtimer(CALLBACK(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 1), 50) + addtimer(CALLBACK(SSshuttle.emergency, TYPE_PROC_REF(/obj/docking_port/mobile/emergency,request), null, 1), 50) /client/proc/only_one_delayed() send_to_playing_players(span_userdanger("Bagpipes begin to blare. You feel Scottish pride coming over you.")) message_admins(span_adminnotice("[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 447e1efbbe4..cbe4fbc3e62 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1526,7 +1526,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(usr, 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 ebd9e33df43..a5c98bb177d 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 fcaf4c696f4..7c1baa05cb5 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 2856905da0f..706827b119e 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -661,7 +661,7 @@ user.visible_message(span_notice("[user] places down [src] and activates it."), span_notice("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 @@ -805,7 +805,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index fddeac90f81..dc055b11e33 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/atom/movable/screen/alert/mind_control/mind_alert = owner.throw_alert("mind_control", /atom/movable/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 0b776840f99..48350189b38 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, span_notice("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 9ca684493d4..b3a6d55129a 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(span_danger("[owner]'s skin starts emitting electric arcs!"),\ span_warning("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 f837745f730..3a53458b4c0 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, span_warning("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, span_warning("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(span_warning("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 1ab33f96502..3224b5205ce 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 291c36b1c79..1f82dd51917 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, span_warning("You feel bloated.")) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, span_userdanger("A massive stomachache overcomes you.")), 150) - addtimer(CALLBACK(src, .proc/vomit_plasma), 200) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), owner, span_userdanger("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 4827cebb6e7..df8ac5c53f8 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 0b0531fb1ee..1a3a0a0e6f1 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 256b5fadc3b..7362624a1d7 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 86ad2aa60a1..50a3c20d2df 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 346243d785a..a7c2311dd16 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/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 1687c8b30e8..9a3ad75307c 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -146,7 +146,7 @@ to_chat(user, span_notice("You lean quietly toward [target] and secretly draw out your fangs...")) else to_chat(user, span_warning("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, span_warning("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 diff --git a/code/modules/antagonists/bloodsucker/powers/haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm index 9009a978776..6c0d480ca8c 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 db7868fa8a5..ab63f6adbe4 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 ef3d2af57d2..d11c243176a 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 2cf7a2dc626..2c399abc8d1 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -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 1913317dcc5..59bbc036700 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -23,7 +23,7 @@ user.visible_message(span_warning("[user] vomits a glob of acid on [user.p_their()] [O]!"), \ span_warning("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(span_warning("[user] vomits a glob of acid across the front of [user.p_their()] [S]!"), \ span_warning("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(span_warning("[C]'s hinges suddenly begin to melt and run!")) to_chat(user, span_warning("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(span_warning("[src] shifts and starts to fall apart!")) to_chat(user, span_warning("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 1907e68fb55..d89d0f6950d 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 d1a3d2b8e19..d94265cf3d0 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -394,12 +394,12 @@ if(INTENT_GRAB) C.visible_message(span_danger("[L] is grabbed by [H]'s tentacle!"),span_userdanger("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(span_danger("[L] is thrown towards [H] by a tentacle!"),span_userdanger("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(span_danger("[L] is pulled by [H]'s tentacle!"),span_userdanger("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 b0833c6e7f4..28fb9034796 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 dda314d208a..ae23b478eda 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -154,7 +154,7 @@ target.visible_message(span_warning("A grotesque blade forms around [target.name]\'s arm!"), span_userdanger("Your arm twists and mutates, transforming into a horrific monstrosity!"), span_italic("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 97d2935a86c..847b4a460ff 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(usr, 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 d8548d7ed08..020901a7497 100644 --- a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm +++ b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm @@ -19,7 +19,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -60,7 +60,7 @@ L.visible_message(span_warning("[L]'s [I.name] [resist_string], protecting [L.p_them()] from [src]'s effects!"), \ span_userdanger("Your [I.name] [resist_string], protecting you!")) return - INVOKE_ASYNC(src, .proc/sigil_effects, L) + INVOKE_ASYNC(src,PROC_REF(sigil_effects), L) /obj/effect/clockwork/sigil/proc/sigil_effects(mob/living/L) @@ -242,7 +242,7 @@ if(!cyborg_checks(cyborg)) return to_chat(cyborg, span_brass("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)) diff --git a/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm b/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm index c8cec2f41ac..9f145452035 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/fabrication_helpers.dm b/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm index 96ec774e160..7d0c57ded14 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm @@ -180,7 +180,7 @@ if(reinf) fabrication_cost -= POWER_ROD for(var/obj/structure/grille/G in get_turf(src)) - INVOKE_ASYNC(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricate, G, user) + INVOKE_ASYNC(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator,fabricate), G, user) return list("operation_time" = fabrication_time, "new_obj_type" = windowtype, "power_cost" = fabrication_cost, "spawn_dir" = dir, "dir_in_new" = new_dir) /obj/structure/window/reinforced/clockwork/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) @@ -237,7 +237,7 @@ fabricator.repairing = src while(fabricator && user && src) if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \ - extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE))) + extra_checks = CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator,fabricator_repair_checks), repair_values, src, user, TRUE))) break obj_integrity = clamp(obj_integrity + repair_values["healing_for_cycle"], 0, max_integrity) adjust_clockwork_power(-repair_values["power_required"]) @@ -259,7 +259,7 @@ fabricator.repairing = src while(fabricator && user && src) if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \ - extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE))) + extra_checks = CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator,fabricator_repair_checks), repair_values, src, user, TRUE))) break fabricator_heal_tick(repair_values["healing_for_cycle"]) adjust_clockwork_power(-repair_values["power_required"]) @@ -323,7 +323,7 @@ for(var/obj/item/clockwork/alloy_shards/S in get_turf(src)) //convert all other shards in the turf if we can if(S == src) continue //we want the shards to be fabricated after the main shard, thus this delay - addtimer(CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricate, S, user, TRUE), 0) + addtimer(CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator,fabricate), S, user, TRUE), 0) return list("operation_time" = 0, "new_obj_type" = null, "power_cost" = power_amount, "spawn_dir" = SOUTH) /obj/item/clockwork/alloy_shards/medium/gear_bit/large/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent, power_amount) diff --git a/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm b/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm index 66e20b6e87d..13b6d6dff12 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/clock_weapons/_call_weapon.dm b/code/modules/antagonists/clockcult/clock_items/clock_weapons/_call_weapon.dm index 98d4bfd033e..ada2f610dc4 100644 --- a/code/modules/antagonists/clockcult/clock_items/clock_weapons/_call_weapon.dm +++ b/code/modules/antagonists/clockcult/clock_items/clock_weapons/_call_weapon.dm @@ -44,6 +44,6 @@ /datum/action/innate/call_weapon/proc/weapon_reset(cooldown_time) cooldown = world.time + cooldown_time - addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), cooldown_time) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob,update_action_buttons_icon)), cooldown_time) owner.update_action_buttons_icon() QDEL_NULL(weapon) diff --git a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm index 2664f0739b0..116a5707cb3 100644 --- a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm +++ b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm @@ -49,7 +49,7 @@ obj/item/shield/riot/ratvarian/proc/calc_bash_mult() C.apply_damage((iscultist(C) ? damage * 2 : damage), BURN, (istype(part, /obj/item/bodypart/l_arm) ? BODY_ZONE_L_ARM : BODY_ZONE_R_ARM)) //Deals the damage to the holder instead of absorbing it instead + forcedrops. Doubled if a cultist of Nar'Sie. else owner.adjustFireLoss(iscultist(owner) ? damage * 2 : damage) - addtimer(CALLBACK(owner, /mob/living.proc/dropItemToGround, src, TRUE), 1) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living,dropItemToGround), src, TRUE), 1) else if(!is_servant_of_ratvar(attacker)) //No exploiting my snowflake mechanics dam_absorbed += damage playsound(owner, 'sound/machines/clockcult/steam_whoosh.ogg', 30) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm index d8a12f8272d..3d7ea62c038 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm @@ -51,7 +51,7 @@ user.emote("scream") user.apply_damage(30, BRUTE, BODY_ZONE_HEAD) user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30) - addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off. + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living,dropItemToGround), src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off. /obj/item/clothing/head/helmet/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) if(equipper && !is_servant_of_ratvar(equipper)) @@ -119,7 +119,7 @@ user.apply_damage(15, BURN, BODY_ZONE_CHEST) user.adjust_fire_stacks(2) user.IgniteMob() - addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living,dropItemToGround), src, TRUE), 1) /obj/item/clothing/gloves/clockwork name = "clockwork gauntlets" @@ -178,7 +178,7 @@ user.emote("scream") user.apply_damage(7, BRUTE, BODY_ZONE_L_ARM) user.apply_damage(7, BRUTE, BODY_ZONE_R_ARM) - addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living,dropItemToGround), src, TRUE), 1) /obj/item/clothing/shoes/clockwork name = "clockwork treads" @@ -228,4 +228,4 @@ user.emote("scream") user.apply_damage(7, BURN, BODY_ZONE_L_LEG) user.apply_damage(7, BURN, BODY_ZONE_R_LEG) - addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living,dropItemToGround), src, TRUE), 1) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index ea75004b7e1..4694f39232f 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 db9eef1064f..4deeed6ac28 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 @@ -131,7 +131,7 @@ continue V.recharging = TRUE //To prevent exploiting multiple visors to bypass the cooldown V.update_status() - addtimer(CALLBACK(V, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2) + addtimer(CALLBACK(V, TYPE_PROC_REF(/obj/item/clothing/glasses/judicial_visor,recharge_visor), ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2) clockwork_say(ranged_ability_user, text2ratvar("Kneel, heathens!")) ranged_ability_user.visible_message(span_warning("[ranged_ability_user]'s judicial visor fires a stream of energy at [target], creating a strange mark!"), span_heavy_brass("You direct [visor]'s power to [target]. You must wait for some time before doing this again.")) var/turf/targetturf = get_turf(target) @@ -139,7 +139,7 @@ log_combat(ranged_ability_user, targetturf, "created a judicial marker") ranged_ability_user.update_action_buttons_icon() ranged_ability_user.update_inv_glasses() - addtimer(CALLBACK(visor, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up + addtimer(CALLBACK(visor, TYPE_PROC_REF(/obj/item/clothing/glasses/judicial_visor,recharge_visor), ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up remove_ranged_ability() return TRUE @@ -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 c00aa773546..954f41265c9 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(span_warning("[user]'s [name] starts consuming [target]!"), \ span_brass("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 6ba78b84a7b..b6ba6a2539b 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm @@ -115,11 +115,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(span_danger("[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 dbc3b3844de..a101c4d583b 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 70) 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 40) //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 30) //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 20) //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 10) //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 44d76be594e..f0960b0048b 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_scriptures/scripture_scripts.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm index c39bb9b0833..1e0e1282936 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm @@ -217,7 +217,7 @@ playsound(owner, 'sound/magic/clockwork/fellowship_armory.ogg', 15 * do_message, TRUE) //get sound loudness based on how much we equipped cooldown = CLOCKWORK_ARMOR_COOLDOWN + world.time owner.update_action_buttons_icon() - addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), CLOCKWORK_ARMOR_COOLDOWN) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob,update_action_buttons_icon)), CLOCKWORK_ARMOR_COOLDOWN) return TRUE /datum/action/innate/clockwork_armaments/proc/remove_item_if_better(obj/item/I, mob/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 3ae9650461c..e448e264b8a 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 09c4401e0ff..98d16ca7a56 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/ratvar_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm index a820c103f7d..befdc1fc6b5 100644 --- a/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm +++ b/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm @@ -29,7 +29,7 @@ sound_to_playing_players('sound/effects/ratvar_reveal.ogg') var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/clockwork_effects.dmi', "ratvar_alert") notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [get_area_name(src)] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay) - INVOKE_ASYNC(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 10, null, FALSE, 0) + INVOKE_ASYNC(SSshuttle.emergency, TYPE_PROC_REF(/obj/docking_port/mobile/emergency,request), null, 10, null, FALSE, 0) /obj/structure/destructible/clockwork/massive/ratvar/Destroy() GLOB.ratvar_awakens-- diff --git a/code/modules/antagonists/clockcult/clock_structures/reflector.dm b/code/modules/antagonists/clockcult/clock_structures/reflector.dm index 58475d6e003..2ff6e59ca33 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/taunting_trail.dm b/code/modules/antagonists/clockcult/clock_structures/taunting_trail.dm index af310bda8d3..704d31f1292 100644 --- a/code/modules/antagonists/clockcult/clock_structures/taunting_trail.dm +++ b/code/modules/antagonists/clockcult/clock_structures/taunting_trail.dm @@ -30,7 +30,7 @@ animate(src, alpha = 100, time = 15) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor.dm b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor.dm index 349fb6da31c..ba7bce3ba1e 100644 --- a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor.dm +++ b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor.dm @@ -10,7 +10,7 @@ /obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) 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 5d0d3fe0936..8d6b22c1151 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 @@ span_userdanger("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(span_boldwarning("A massive brass spike erupts from the ground, impaling [squirrel]!"), \ span_userdanger("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(span_danger("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(span_danger("A massive brass spike erupts from the ground!")) diff --git a/code/modules/antagonists/clockcult/clock_structures/traps/steam_vent.dm b/code/modules/antagonists/clockcult/clock_structures/traps/steam_vent.dm index 1e25df75286..da34b3b30e4 100644 --- a/code/modules/antagonists/clockcult/clock_structures/traps/steam_vent.dm +++ b/code/modules/antagonists/clockcult/clock_structures/traps/steam_vent.dm @@ -20,7 +20,7 @@ /obj/structure/destructible/clockwork/trap/steam_vent/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index ae71038b366..be267a67a6d 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 diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 22176e41ab8..8b1d72a6d8d 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 0d685cf0d5c..28dea20c626 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 @@ -278,7 +278,7 @@ C.cult_team.blood_target = target var/area/A = get_area(target) attached_action.cooldown = world.time + attached_action.base_cooldown - addtimer(CALLBACK(attached_action.owner, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown) + addtimer(CALLBACK(attached_action.owner, TYPE_PROC_REF(/mob,update_action_buttons_icon)), attached_action.base_cooldown) C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) C.cult_team.blood_target_image.appearance_flags = RESET_COLOR C.cult_team.blood_target_image.pixel_x = -target.pixel_x @@ -290,7 +290,7 @@ B.current.client.images += C.cult_team.blood_target_image attached_action.owner.update_action_buttons_icon() remove_ranged_ability(span_cult("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(usr, GLOBAL_PROC_REF(reset_blood_target),C.cult_team), 900, TIMER_STOPPABLE) return TRUE return FALSE @@ -360,7 +360,7 @@ C.cult_team.blood_target = target var/area/A = get_area(target) cooldown = world.time + base_cooldown - addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob,update_action_buttons_icon)), base_cooldown) C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) C.cult_team.blood_target_image.appearance_flags = RESET_COLOR C.cult_team.blood_target_image.pixel_x = -target.pixel_x @@ -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(usr, GLOBAL_PROC_REF(reset_blood_target),C.cult_team), base_cooldown, TIMER_STOPPABLE) + addtimer(CALLBACK(src,PROC_REF(reset_button)), base_cooldown) //////// ELDRITCH PULSE ///////// @@ -468,4 +468,4 @@ attached_action.cooldown = world.time + attached_action.base_cooldown remove_ranged_ability(span_cult("A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.")) caller.update_action_buttons_icon() - addtimer(CALLBACK(caller, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown) + addtimer(CALLBACK(caller, TYPE_PROC_REF(/mob,update_action_buttons_icon)), attached_action.base_cooldown) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 9e4e41bb632..f1354ff2e88 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -270,7 +270,7 @@ sword.spinning = TRUE sword.block_chance = 75 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() . = ..() @@ -894,10 +894,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) @@ -970,7 +970,7 @@ playsound(L, 'sound/hallucinations/wail.ogg', 50, 1) L.emote("scream") var/datum/beam/current_beam = new(user,temp_target,time=7,beam_icon_state="blood_beam",btype=/obj/effect/ebeam/blood) - INVOKE_ASYNC(current_beam, /datum/beam.proc/Start) + INVOKE_ASYNC(current_beam, TYPE_PROC_REF(/datum/beam,Start)) /obj/effect/ebeam/blood @@ -1017,7 +1017,7 @@ playsound(src, 'sound/weapons/parry.ogg', 100, 1) if(illusions > 0) illusions-- - addtimer(CALLBACK(src, /obj/item/shield/mirror.proc/readd), 450) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/shield/mirror,readd)), 450) if(prob(60)) var/mob/living/simple_animal/hostile/illusion/M = new(owner.loc) M.faction = list("cult") diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index 080d9c12bde..f24eb42477b 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -111,7 +111,7 @@ to_chat(user, span_cultitalic("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, span_cultitalic("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/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm index 1ed2b760f97..76aa1969ca4 100644 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ b/code/modules/antagonists/cult/rune_spawn_action.dm @@ -57,7 +57,7 @@ cooldown = base_cooldown + world.time owner.update_action_buttons_icon() - addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob,update_action_buttons_icon)), base_cooldown) var/list/health if(damage_interrupt && isliving(owner)) var/mob/living/L = owner @@ -66,7 +66,7 @@ if(istype(T, /turf/open/floor/engine/cult)) scribe_mod *= 0.5 playsound(T, 'sound/magic/enter_blood.ogg', 100, FALSE) - if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, /mob.proc/break_do_after_checks, health, action_interrupt))) + if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob,break_do_after_checks), health, action_interrupt))) var/obj/effect/rune/new_rune = new rune_type(owner.loc) new_rune.keyword = chosen_keyword else diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 5eef00524fe..6d4b237f576 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -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(usr, 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, span_cultlarge("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 6b77de67e34..9531a66cbbd 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/disease/disease_mob.dm b/code/modules/antagonists/disease/disease_mob.dm index 3b3a3412196..17262f422c7 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() . = ..() @@ -265,7 +265,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() @@ -307,7 +307,7 @@ the new instance inside the host to be updated to the template's stats. /mob/camera/disease/proc/adapt_cooldown() to_chat(src, span_notice("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, span_notice("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 afb9a00dfe3..c9887b8ad81 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 671c3d46a75..d580d642775 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 bb2021283bb..0ca13b22f3c 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, span_warning("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 86be19c1fea..3cee2083e69 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) @@ -440,7 +440,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) @@ -486,7 +486,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/nukeop/equipment/borgchameleon.dm b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm index 126b1277aa5..c325d2c2a27 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 59197be481c..a59eeb69807 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) @@ -493,7 +493,7 @@ /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) + INVOKE_ASYNC(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(span_notice("[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 diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 2af23e09823..544df9ded29 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 537c1ff5218..ed30fff9bf4 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 a22f08d45c4..9d5ceb748f9 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 43437d90ed7..a0ac64ba78b 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 54691ca1bea..50f4163539c 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 903e714ac1d..5a7a01ee740 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 9fd2181ef6a..adc5c44ff71 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(span_warning("[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 512b3202361..fdfed6d0dcf 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -93,7 +93,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 @@ -113,10 +113,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() @@ -322,7 +322,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() @@ -348,7 +348,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 b236f836fc7..c89d38196b1 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/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index f07dfb64a80..daf2d32aa2c 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -647,7 +647,7 @@ /obj/structure/swarmer/trap/Initialize(mapload) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 25f35492101..40b51822f2c 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -134,7 +134,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 3e4638cc9a9..c37250ca939 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -448,8 +448,8 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( for(var/obj/machinery/door/D in GLOB.airlocks) if(!is_station_level(D.z)) continue - INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, owner) - addtimer(CALLBACK(D, /obj/machinery/door.proc/disable_lockdown), 900) + INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door,hostile_lockdown), owner) + addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/door,disable_lockdown)), 900) var/obj/machinery/computer/communications/C = locate() in GLOB.machines if(C) @@ -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, span_danger("Lockdown initiated. Network reset in 90 seconds.")) - addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce, + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(minor_announce), "Automatic system reboot complete. Have a secure day.", "Network reset:"), 900) @@ -606,7 +606,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( ranged_ability_user.playsound_local(ranged_ability_user, "sparks", 50, 0) attached_action.adjust_uses(-1) target.audible_message(span_userdanger("You hear a loud electrical buzzing sound coming from [target]!")) - addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/overload_machine.proc/detonate_machine, target), 50) //kaboom! + addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/overload_machine,detonate_machine), target), 50) //kaboom! remove_ranged_ability(span_danger("Overcharging machine...")) return TRUE @@ -653,7 +653,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0) attached_action.adjust_uses(-1) target.audible_message(span_userdanger("You hear a loud electrical buzzing sound coming from [target]!")) - addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep! + addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/override_machine,animate_machine), target), 50) //kabeep! remove_ranged_ability(span_danger("Sending override signal...")) return TRUE @@ -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, span_warning("[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, span_notice("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 0ac52045818..bb3f879d4f9 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/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index 47649be70d0..e7ae1722cb2 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -111,7 +111,7 @@ insaneinthemembrane.sanity = 0 for(var/lore in typesof(/datum/brain_trauma/severe)) C.gain_trauma(lore) - addtimer(CALLBACK(src, /obj/singularity/wizard.proc/deranged, C), 100) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/singularity/wizard,deranged), C), 100) /obj/singularity/wizard/proc/deranged(mob/living/carbon/C) if(!C || C.stat == DEAD) diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 40cd0163c2b..9b0f33774f1 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -111,7 +111,7 @@ name = "Fireball" spell_type = /obj/effect/proc_holder/spell/aimed/fireball -datum/spellbook_entry/rod_form +/datum/spellbook_entry/rod_form name = "Rod Form" spell_type = /obj/effect/proc_holder/spell/targeted/rod_form cost = 99 diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index d1fa7eed747..d0a2672c2ef 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 9055418c579..468e49111f8 100644 --- a/code/modules/arousal/genitals.dm +++ b/code/modules/arousal/genitals.dm @@ -440,7 +440,7 @@ . = ..() if(.) update() - RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance) + RegisterSignal(owner, COMSIG_MOB_DEATH,PROC_REF(update_appearance)) if(genital_visflags & GENITAL_ALWAYS_VISIBLE) owner.exposed_genitals += src diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index b714f886042..46690ebf74a 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -61,9 +61,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/bomb.dm b/code/modules/assembly/bomb.dm index 4f5e2a55c17..5cdfcd8359e 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -16,7 +16,7 @@ /obj/item/onetankbomb/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -94,7 +94,7 @@ /obj/item/onetankbomb/proc/on_entered(atom/movable/AM as mob|obj) //for mousetraps SIGNAL_HANDLER if(bombassembly) - INVOKE_ASYNC(bombassembly, .proc/on_entered, AM) + INVOKE_ASYNC(bombassembly,PROC_REF(on_entered), AM) /obj/item/onetankbomb/on_found(mob/finder) //for mousetraps if(bombassembly) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index ca81c1e3ecd..161aea4bb4f 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -45,7 +45,7 @@ if(M.id == src.id) if(openclose == null) openclose = M.density - INVOKE_ASYNC(M, openclose ? /obj/machinery/door/poddoor.proc/open : /obj/machinery/door/poddoor.proc/close) + INVOKE_ASYNC(M, openclose ? TYPE_PROC_REF(/obj/machinery/door/poddoor,open) : TYPE_PROC_REF(/obj/machinery/door/poddoor,close)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) /obj/item/assembly/control/airlock @@ -88,7 +88,7 @@ D.safe = !D.safe for(var/D in open_or_close) - INVOKE_ASYNC(D, doors_need_closing ? /obj/machinery/door/airlock.proc/close : /obj/machinery/door/airlock.proc/open) + INVOKE_ASYNC(D, doors_need_closing ? TYPE_PROC_REF(/obj/machinery/door/airlock, close) : TYPE_PROC_REF(/obj/machinery/door/airlock, open)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) @@ -101,7 +101,7 @@ cooldown = TRUE for(var/obj/machinery/door/poddoor/M in GLOB.machines) if (M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/door/poddoor.proc/open) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door/poddoor,open)) sleep(10) @@ -113,7 +113,7 @@ for(var/obj/machinery/door/poddoor/M in GLOB.machines) if (M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/door/poddoor.proc/close) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door/poddoor,close)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) @@ -126,7 +126,7 @@ cooldown = TRUE for(var/obj/machinery/sparker/M in GLOB.machines) if (M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/sparker.proc/ignite) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/sparker,ignite)) for(var/obj/machinery/igniter/M in GLOB.machines) if(M.id == src.id) @@ -144,7 +144,7 @@ cooldown = TRUE for(var/obj/machinery/flasher/M in GLOB.machines) if(M.id == src.id) - INVOKE_ASYNC(M, /obj/machinery/flasher.proc/flash) + INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/flasher,flash)) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 50) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 00e5abcd30c..6f46678a39a 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -28,7 +28,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() @@ -225,7 +225,7 @@ to_chat(I.owner, span_warning("Your photon projector implant overheats and deactivates!")) I.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) @@ -233,7 +233,7 @@ to_chat(I.owner, span_warning("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 @@ -303,7 +303,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/holder.dm b/code/modules/assembly/holder.dm index b0e0b480f57..629b9947161 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -18,7 +18,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -73,9 +73,9 @@ /obj/item/assembly_holder/proc/on_entered(atom/movable/AM as mob|obj) SIGNAL_HANDLER if(a_left) - INVOKE_ASYNC(a_left, .proc/on_entered, AM) + INVOKE_ASYNC(a_left,PROC_REF(on_entered), AM) if(a_right) - INVOKE_ASYNC(a_right, .proc/on_entered, AM) + INVOKE_ASYNC(a_right,PROC_REF(on_entered), AM) /obj/item/assembly_holder/on_found(mob/finder) if(a_left) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 93b388e46ac..20c118e8a37 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) @@ -225,7 +225,7 @@ /obj/effect/beam/i_beam/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -238,4 +238,4 @@ var/obj/item/I = AM if (I.item_flags & ABSTRACT) return - INVOKE_ASYNC(master, /obj/item/assembly/infra/.proc/trigger_beam, AM, get_turf(src)) + INVOKE_ASYNC(master, TYPE_PROC_REF(/obj/item/assembly/infra/,trigger_beam), AM, get_turf(src)) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 2a8de0d30f8..40f444a3275 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -10,7 +10,7 @@ /obj/item/assembly/mousetrap/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -122,7 +122,7 @@ /obj/item/assembly/mousetrap/proc/on_entered(atom/movable/AM as mob|obj) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/handle_entered, AM) + INVOKE_ASYNC(src,PROC_REF(handle_entered), AM) /obj/item/assembly/mousetrap/on_found(mob/finder) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 281b5a66df1..9b880df8713 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -64,7 +64,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/voice.dm b/code/modules/assembly/voice.dm index 04f40f08507..f271cad182e 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -41,7 +41,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 @@ -60,7 +60,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 314629d73e1..2e03ad7cc74 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) /** @@ -137,7 +137,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_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index fb34b60131c..09040cef1a1 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -221,7 +221,7 @@ /obj/effect/hotspot/proc/on_entered(atom/movable/AM, oldLoc) SIGNAL_HANDLER if(isliving(AM)) - INVOKE_ASYNC(AM, /atom/.proc/fire_act, temperature, volume) + INVOKE_ASYNC(AM, TYPE_PROC_REF(/atom/,fire_act), temperature, volume) /obj/effect/hotspot/singularity_pull() return diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 9d3c4d7721d..273874dc0f3 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -9,7 +9,7 @@ continue reaction = new r . += 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/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index 35eb1787714..becb772a5ff 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 aee49e5be45..874b72432c6 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 74e42f65f4b..62e5d491bcf 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/multiz.dm b/code/modules/atmospherics/multiz.dm index 79a5c2cf140..b75b47542ef 100644 --- a/code/modules/atmospherics/multiz.dm +++ b/code/modules/atmospherics/multiz.dm @@ -1,4 +1,4 @@ -obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe which can relay air up a deck (Z+1). It currently only supports being on pipe layer 1 +/obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe which can relay air up a deck (Z+1). It currently only supports being on pipe layer 1 name = "multi deck pipe adapter" desc = "An adapter which allows pipes to connect to other pipenets on different decks." icon_state = "multiz_pipe" diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 7cbb8a35817..c8a55b0c2c3 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -254,7 +254,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) @@ -385,7 +385,7 @@ /obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /obj/item/ammo_casing/a50/ctf projectile_type = /obj/item/projectile/bullet/ctf @@ -405,14 +405,14 @@ /obj/item/gun/ballistic/automatic/laser/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(usr, 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(usr, GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /obj/item/ammo_casing/caseless/laser/ctf projectile_type = /obj/item/projectile/beam/ctf @@ -477,7 +477,7 @@ /obj/item/claymore/ctf/dropped(mob/user) . = ..() - addtimer(CALLBACK(GLOBAL_PROC, /proc/ctf_floor_vanish, src), 1) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(ctf_floor_vanish), src), 1) /datum/outfit/ctf name = "CTF" @@ -610,7 +610,7 @@ /obj/effect/ctf/ammo/Initialize(mapload) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 1d1092e0bb8..824eeece240 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/gateway.dm b/code/modules/awaymissions/gateway.dm index 293e2b12b51..ca1852e7c10 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -89,7 +89,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /datum/gateway_destination/gateway/post_transfer(atom/movable/AM) . = ..() - addtimer(CALLBACK(AM,/atom/movable.proc/setDir,SOUTH),0) + addtimer(CALLBACK(AM,TYPE_PROC_REF(/atom/movable,setDir),SOUTH),0) /* Special home destination, so we can check exile implants */ /datum/gateway_destination/gateway/home diff --git a/code/modules/awaymissions/mission_code/murderdome.dm b/code/modules/awaymissions/mission_code/murderdome.dm index 2a7cb21841d..f8f66427c52 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/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 79821094695..cbaa1c6fd92 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -134,7 +134,7 @@ /obj/effect/meatgrinder/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index 6ae3ec5e8f8..adabc44520c 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -127,7 +127,7 @@ /obj/item/rupee/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -141,7 +141,7 @@ SIGNAL_HANDLER if(!istype(M)) return - INVOKE_ASYNC(M, /mob/.proc/put_in_hands, src) + INVOKE_ASYNC(M, TYPE_PROC_REF(/mob/,put_in_hands), src) /obj/item/rupee/equipped(mob/user, slot) playsound(get_turf(loc), 'sound/misc/server-ready.ogg', 50, 1, -1) diff --git a/code/modules/balloon_alert/balloon_alert.dm b/code/modules/balloon_alert/balloon_alert.dm index c068d08d56c..5cd8e4b755c 100644 --- a/code/modules/balloon_alert/balloon_alert.dm +++ b/code/modules/balloon_alert/balloon_alert.dm @@ -45,7 +45,7 @@ easing = CUBIC_EASING | EASE_IN, ) - addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_image_from_client, balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(remove_image_from_client), balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME) #undef BALLOON_TEXT_FADE_TIME #undef BALLOON_TEXT_FULLY_VISIBLE_TIME diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index 8290258c487..94e26fcae1e 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 1e2880a9c26..d6c822b345f 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 daac467cba4..5ffbeb48991 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -172,7 +172,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 710366e3634..48ffb9b4439 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 6bbd6949750..c0f029a1b38 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/border_control.dm b/code/modules/client/border_control.dm index dcaedfc3556..f7650e9821a 100644 --- a/code/modules/client/border_control.dm +++ b/code/modules/client/border_control.dm @@ -8,7 +8,7 @@ GLOBAL_VAR_INIT(borderControlFile, new /savefile("data/bordercontrol.db")) GLOBAL_VAR_INIT(whitelistLoaded, 0) ////////////////////////////////////////////////////////////////////////////////// -proc/BC_ModeToText(var/mode) +/proc/BC_ModeToText(mode) switch(mode) if(BORDER_CONTROL_DISABLED) return "Disabled" @@ -18,7 +18,7 @@ proc/BC_ModeToText(var/mode) return "Enforced" ////////////////////////////////////////////////////////////////////////////////// -proc/BC_IsKeyAllowedToConnect(var/key) +/proc/BC_IsKeyAllowedToConnect(key) key = ckey(key) var/borderControlMode = CONFIG_GET(number/border_control) @@ -34,7 +34,7 @@ proc/BC_IsKeyAllowedToConnect(var/key) return BC_IsKeyWhitelisted(key) ////////////////////////////////////////////////////////////////////////////////// -proc/BC_IsKeyWhitelisted(var/key) +/proc/BC_IsKeyWhitelisted(key) key = ckey(key) if(!GLOB.whitelistLoaded) @@ -63,7 +63,7 @@ proc/BC_IsKeyWhitelisted(var/key) ////////////////////////////////////////////////////////////////////////////////// -proc/BC_WhitelistKey(var/key) +/proc/BC_WhitelistKey(key) var/keyAsCkey = ckey(key) if(!GLOB.whitelistLoaded) @@ -78,7 +78,7 @@ proc/BC_WhitelistKey(var/key) else LAZYINITLIST(GLOB.whitelistedCkeys) - ADD_SORTED(GLOB.whitelistedCkeys, keyAsCkey, /proc/cmp_text_asc) + ADD_SORTED(GLOB.whitelistedCkeys, keyAsCkey, GLOBAL_PROC_REF(cmp_text_asc)) BC_SaveWhitelist() return 1 @@ -105,7 +105,7 @@ proc/BC_WhitelistKey(var/key) ////////////////////////////////////////////////////////////////////////////////// -proc/BC_RemoveKey(var/key) +/proc/BC_RemoveKey(key) key = ckey(key) if(!LAZYISIN(GLOB.whitelistedCkeys, key)) @@ -179,7 +179,7 @@ proc/BC_RemoveKey(var/key) ////////////////////////////////////////////////////////////////////////////////// -proc/BC_SaveWhitelist() +/proc/BC_SaveWhitelist() if(!GLOB.whitelistedCkeys) return 0 diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm index ab69003953b..d5b8affe2c1 100644 --- a/code/modules/client/client_colour.dm +++ b/code/modules/client/client_colour.dm @@ -28,7 +28,7 @@ var/datum/client_colour/CC = new colour_type() LAZYINITLIST(client_colours) 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 28eabe5c9b6..8cc4d7531c1 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -279,7 +279,7 @@ GLOBAL_LIST_INIT(warning_ckeys, 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 @@ -354,7 +354,7 @@ GLOBAL_LIST_INIT(warning_ckeys, list()) // Initialize tgui panel tgui_panel.initialize() - addtimer(CALLBACK(src, .proc/nuke_chat), 5 SECONDS)//Reboot it to fix broken chat window instead of making the player do it (bandaid fix) + addtimer(CALLBACK(src,PROC_REF(nuke_chat)), 5 SECONDS)//Reboot it to fix broken chat window instead of making the player do it (bandaid fix) src << browse(file('html/statbrowser.html'), "window=statbrowser") @@ -970,7 +970,7 @@ GLOBAL_LIST_INIT(warning_ckeys, list()) //Precache the client with all other assets slowly, so as to not block other browse() calls if (CONFIG_GET(flag/asset_simple_preload)) - addtimer(CALLBACK(SSassets.transport, /datum/asset_transport.proc/send_assets_slow, src, SSassets.transport.preload), 5 SECONDS) + addtimer(CALLBACK(SSassets.transport, TYPE_PROC_REF(/datum/asset_transport,send_assets_slow), src, SSassets.transport.preload), 5 SECONDS) #if (PRELOAD_RSC == 0) for (var/name in GLOB.vox_sounds) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 68f3973246e..aeb5ea02bfb 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2014,7 +2014,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //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 8b4c390f049..38d88228559 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -56,7 +56,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 4158705bb63..1824c54215b 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 cc830442d62..91a5cf88700 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -211,7 +211,7 @@ if(iscarbon(loc)) var/mob/living/carbon/C = loc C.visible_message(span_danger("The [zone_name] on [C]'s [src.name] is [break_verb] away!"), span_userdanger("The [zone_name] on your [src.name] is [break_verb] away!"), vision_distance = COMBAT_MESSAGE_RANGE) - RegisterSignal(C, COMSIG_MOVABLE_MOVED, .proc/bristle) + RegisterSignal(C, COMSIG_MOVABLE_MOVED,PROC_REF(bristle)) zones_disabled++ for(var/i in zone2body_parts_covered(def_zone)) @@ -254,7 +254,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 b3a85c2c40c..5b62d5c1fee 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/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index 70451f2803e..9bc690a856e 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -16,7 +16,7 @@ /obj/item/clothing/gloves/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood) + RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom,clean_blood)) /obj/item/clothing/gloves/clean_blood(datum/source, strength) . = ..() diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 62abfd612aa..c25294e9872 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/f13factionhead.dm b/code/modules/clothing/head/f13factionhead.dm index 040e46b894b..9db0850834e 100644 --- a/code/modules/clothing/head/f13factionhead.dm +++ b/code/modules/clothing/head/f13factionhead.dm @@ -253,7 +253,7 @@ . = ..() AddComponent(/datum/component/armor_plate) */ -obj/item/clothing/head/helmet/f13/enclave/usmcriot +/obj/item/clothing/head/helmet/f13/enclave/usmcriot name = "old United States Marine Corp riot helmet" desc = "A pre-war riot armor helmet used by the USCM For various tasks and operations, it's handled the nuclear wasteland somewhat better than the rest of the armors you've seen." icon_state = "modified_usmc_riot" @@ -1081,7 +1081,7 @@ obj/item/clothing/head/helmet/f13/enclave/usmcriot icon_state = "army_general" item_state = "army_general" -obj/item/clothing/head/f13/army/beret +/obj/item/clothing/head/f13/army/beret name = "US Army beret" desc = "A black beret, standard issue for all US Army personnel not authorised to wear a different beret." icon = 'icons/fallout/clothing/hats.dmi' diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index fbf88c74dbc..403e811e493 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -216,7 +216,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 68658c6a803..4f2be1729ec 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -375,7 +375,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 69454328f1a..23e8a1d6d80 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -267,7 +267,7 @@ /obj/item/clothing/head/foilhat/Initialize(mapload) . = ..() if(!warped) - AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, INV_SLOTBIT_HEAD, 6, TRUE, null, CALLBACK(src, .proc/warp_up)) + AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, INV_SLOTBIT_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 3eca29718bf..109eb17ab97 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -20,7 +20,7 @@ /obj/item/clothing/mask/equipped(mob/M, slot) . = ..() if (slot == SLOT_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/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index e8f1b151a53..3f764b07625 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -374,7 +374,7 @@ //VERY SUPER BADASS NECKERCHIEFS// ////////////////////////////////// -obj/item/clothing/neck/neckerchief +/obj/item/clothing/neck/neckerchief icon = 'icons/obj/clothing/masks.dmi' //In order to reuse the bandana sprite w_class = WEIGHT_CLASS_TINY var/sourceBandanaType diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index b9fff13a33f..9de5d7af03b 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -33,7 +33,7 @@ /obj/item/clothing/shoes/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood) + RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom,clean_blood)) /obj/item/clothing/shoes/examine(mob/user) . = ..() @@ -77,7 +77,7 @@ equipped_before_drop = TRUE if(can_be_tied && tied == SHOES_UNTIED) our_alert = user.throw_alert("shoealert", /atom/movable/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 @@ -134,7 +134,7 @@ else if(tied == SHOES_UNTIED && our_guy && user == our_guy) our_alert = our_guy.throw_alert("shoealert", /atom/movable/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 @@ -161,7 +161,7 @@ return user.visible_message(span_notice("[user] begins [tied ? "unknotting" : "tying"] the laces of [user.p_their()] [src.name]."), span_notice("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, span_notice("You [tied ? "unknot" : "tie"] the laces of your [src.name].")) if(tied == SHOES_UNTIED) adjust_laces(SHOES_TIED, user) @@ -185,7 +185,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, span_notice("You [tied ? "untie" : "knot"] the laces on [loc]'s [src.name].")) if(tied == SHOES_UNTIED) adjust_laces(SHOES_KNOTTED, user) @@ -266,6 +266,6 @@ to_chat(user, span_notice("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, span_notice("You [tied ? "untie" : "tie"] the laces on [src].")) adjust_laces(tied ? SHOES_TIED : SHOES_UNTIED, user) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index e7e6ae2b08b..8779a8e7078 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -335,14 +335,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 diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 55739d0e3ce..b029433bc04 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -129,12 +129,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) @@ -142,14 +142,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 657efc08682..744b395093b 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 @@ -425,7 +425,7 @@ crashing = FALSE /obj/item/flightpack/proc/door_pass(obj/structure/mineral_door/door) - INVOKE_ASYNC(door, /obj/structure/mineral_door.proc/Open) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/structure/mineral_door,Open)) var/turf/T = get_turf(door) wearer.forceMove(T) wearer.visible_message(span_boldnotice("[wearer] rolls to [wearer.p_their()] sides and slips past [door]!")) @@ -445,7 +445,7 @@ if((!A.allowed(wearer)) && !A.emergency) nopass = TRUE if(!nopass) - INVOKE_ASYNC(A, /obj/machinery/door.proc/open) + INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door,open)) wearer.visible_message(span_warning("[wearer] rolls sideways and slips past [A]")) var/turf/target = get_turf(A) if(istype(A, /obj/machinery/door/window) && (get_turf(wearer) == get_turf(A))) @@ -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 c7bb4e2dcb5..93991935b7d 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -650,7 +650,7 @@ armor //Baseline hardsuits 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 844b49fcd9f..6afe6dddce4 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -377,7 +377,7 @@ Contains: /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/Initialize() . = ..() - AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, INV_SLOTBIT_HEAD, charges, TRUE, null, CALLBACK(src, .proc/anti_magic_gone)) + AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, INV_SLOTBIT_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 @@ -398,7 +398,7 @@ Contains: /obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize() . = ..() - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, INV_SLOTBIT_OCLOTHING, charges, TRUE, null, CALLBACK(src, .proc/anti_magic_gone)) + AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, INV_SLOTBIT_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/arfsuits.dm b/code/modules/clothing/suits/arfsuits.dm index e029d39ca06..d8dc98ca1cd 100644 --- a/code/modules/clothing/suits/arfsuits.dm +++ b/code/modules/clothing/suits/arfsuits.dm @@ -4847,7 +4847,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/power_armor/proc/end_emp_effect(slowdown_induced) diff --git a/code/modules/clothing/suits/f13armor.dm b/code/modules/clothing/suits/f13armor.dm index 9efb7bfc88c..999b6924b76 100644 --- a/code/modules/clothing/suits/f13armor.dm +++ b/code/modules/clothing/suits/f13armor.dm @@ -544,7 +544,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/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 220ad00b9b9..1bd66dcec3a 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -189,7 +189,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) @@ -211,7 +211,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) @@ -248,9 +248,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 @@ -279,9 +279,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 8baf2e09c06..6a568e09b3b 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, span_notice("Printing report, please wait...")) - addtimer(CALLBACK(src, .proc/PrintReport), 100) + addtimer(CALLBACK(src,PROC_REF(PrintReport)), 100) else to_chat(user, span_notice("The scanner has no logs or is in use.")) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index cb6f6a337f8..2c314779479 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -131,8 +131,8 @@ /mob/living/simple_animal/nest_spawn_hole_guy/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_HOSTILE_CHECK_FACTION, .proc/no_attack_pls) - RegisterSignal(src, COMSIG_MOB_APPLY_DAMAGE, .proc/im_hit) + RegisterSignal(src, COMSIG_HOSTILE_CHECK_FACTION,PROC_REF(no_attack_pls)) + RegisterSignal(src, COMSIG_MOB_APPLY_DAMAGE,PROC_REF(im_hit)) /mob/living/simple_animal/nest_spawn_hole_guy/update_overlays() . = ..() diff --git a/code/modules/events/fake_virus.dm b/code/modules/events/fake_virus.dm index c145f97b61a..2bbdfb0e806 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, span_warning("[pick("Your head hurts.", "Your head pounds.")]")), rand(30,150)) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), onecoughman, span_warning("[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 f529e09ff4c..4791101c608 100644 --- a/code/modules/events/fugitive_spawning.dm +++ b/code/modules/events/fugitive_spawning.dm @@ -56,7 +56,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 @@ -69,7 +69,7 @@ player_mind.special_role = "Fugitive" player_mind.add_antag_datum(/datum/antagonist/fugitive) var/datum/antagonist/fugitive/fugitiveantag = player_mind.has_antag_datum(/datum/antagonist/fugitive) - INVOKE_ASYNC(fugitiveantag, /datum/antagonist/fugitive.proc/greet, backstory) //some fugitives have a sleep on their greet, so we don't want to stop the entire antag granting proc with fluff + INVOKE_ASYNC(fugitiveantag, TYPE_PROC_REF(/datum/antagonist/fugitive,greet), backstory) //some fugitives have a sleep on their greet, so we don't want to stop the entire antag granting proc with fluff switch(backstory) if("prisoner") diff --git a/code/modules/events/ghost_role.dm b/code/modules/events/ghost_role.dm index 25e71ab8c99..5dc858a6ca4 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/immovable_rod.dm b/code/modules/events/immovable_rod.dm index 20f834d60ab..0aa7baf8bdb 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -144,7 +144,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 if(L && (L.density || prob(10))) L.ex_act(EXPLODE_HEAVY) -obj/effect/immovablerod/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags) +/obj/effect/immovablerod/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags) if(ishuman(user)) var/mob/living/carbon/human/U = user if(U.job in list("Research Director")) diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 93b3564337e..4226b879a5d 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -53,8 +53,8 @@ // threat_msg.title = "Business proposition" // threat_msg.content = "Ahoy! This be the [ship_name]. Cough up [payoff] credits or you'll walk the plank." // threat_msg.possible_answers = list("We'll pay.","We will not be extorted.") - threat_msg.answer_callback = CALLBACK(GLOBAL_PROC, .proc/pirates_answered, threat_msg, payoff, ship_name, initial_send_time, response_max_time, ship_template) - addtimer(CALLBACK(GLOBAL_PROC, .proc/spawn_pirates, threat_msg, ship_template, FALSE), response_max_time) + threat_msg.answer_callback = CALLBACK(usr, GLOBAL_PROC_REF(pirates_answered), threat_msg, payoff, ship_name, initial_send_time, response_max_time, ship_template) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(spawn_pirates), threat_msg, ship_template, FALSE), response_max_time) SScommunications.send_message(threat_msg,unique = TRUE) /proc/pirates_answered(datum/comm_message/threat_msg, payoff, ship_name, initial_send_time, response_max_time, ship_template) @@ -222,7 +222,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 @@ -420,7 +420,7 @@ status_report = "Sending..." pad.visible_message(span_notice("[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/spacevine.dm b/code/modules/events/spacevine.dm index f0735916f29..3444927373a 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -280,7 +280,7 @@ . = ..() add_atom_colour("#ffffff", FIXED_COLOUR_PRIORITY) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 5fb04e7f812..518f5e89fb7 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/campfire.dm b/code/modules/fallout/obj/campfire.dm index 615c9a6ef65..a867c1e9b69 100644 --- a/code/modules/fallout/obj/campfire.dm +++ b/code/modules/fallout/obj/campfire.dm @@ -19,7 +19,7 @@ /obj/structure/campfire/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -63,7 +63,7 @@ /obj/structure/campfire/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER if(fired) - INVOKE_ASYNC(src, .proc/burn_process) + INVOKE_ASYNC(src,PROC_REF(burn_process)) /obj/structure/campfire/process() if(fuel <= 0) diff --git a/code/modules/fallout/obj/explosives.dm b/code/modules/fallout/obj/explosives.dm index 3529ae7e79e..906a7825f4f 100644 --- a/code/modules/fallout/obj/explosives.dm +++ b/code/modules/fallout/obj/explosives.dm @@ -115,7 +115,7 @@ /obj/item/mine/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -135,7 +135,7 @@ to_chat(user, span_danger("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, span_notice("You drop the mine and activate the 5-second arming process.")) return @@ -164,7 +164,7 @@ if(arrived.movement_type & FLYING) return - INVOKE_ASYNC(src, .proc/triggermine, arrived) + INVOKE_ASYNC(src,PROC_REF(triggermine), arrived) /obj/item/mine/proc/triggermine(mob/victim) if(triggered) diff --git a/code/modules/fallout/obj/rockitlauncher.dm b/code/modules/fallout/obj/rockitlauncher.dm index 6a48b01cfe5..1348b26f432 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/stack/f13Cash.dm b/code/modules/fallout/obj/stack/f13Cash.dm index a6403f6828d..dfc443a86be 100644 --- a/code/modules/fallout/obj/stack/f13Cash.dm +++ b/code/modules/fallout/obj/stack/f13Cash.dm @@ -73,7 +73,7 @@ /obj/item/stack/f13Cash/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_ITEM_MOB_DROPPED, .proc/dingaling) + RegisterSignal(src, COMSIG_ITEM_MOB_DROPPED,PROC_REF(dingaling)) /obj/item/stack/f13Cash/attack_self(mob/user) if (flippable) diff --git a/code/modules/fallout/obj/structures/barrel.dm b/code/modules/fallout/obj/structures/barrel.dm index 232734b428d..999914ffe6c 100644 --- a/code/modules/fallout/obj/structures/barrel.dm +++ b/code/modules/fallout/obj/structures/barrel.dm @@ -73,7 +73,7 @@ ..() //extend the zap boom()*/ -obj/structure/reagent_dispensers/barrel/explosive/bullet_act(obj/item/projectile/P) +/obj/structure/reagent_dispensers/barrel/explosive/bullet_act(obj/item/projectile/P) ..() if(!QDELETED(src)) //wasn't deleted by the projectile's effects. if(!P.nodamage && ((P.damage_type == BURN) || (P.damage_type == BRUTE))) diff --git a/code/modules/fallout/obj/structures/mob_spawners.dm b/code/modules/fallout/obj/structures/mob_spawners.dm index f80eba33162..aa551fc21bd 100644 --- a/code/modules/fallout/obj/structures/mob_spawners.dm +++ b/code/modules/fallout/obj/structures/mob_spawners.dm @@ -149,7 +149,7 @@ GLOBAL_LIST_EMPTY(player_made_nests) var/image/overlay_image = image(icon, icon_state = cover_state) add_overlay(overlay_image) if(timer) - addtimer(CALLBACK(src, .proc/do_unseal), timer) + addtimer(CALLBACK(src,PROC_REF(do_unseal)), timer) /obj/structure/nest/proc/try_unseal(mob/user = null, obj/item/I = null) if(!istype(user)) diff --git a/code/modules/fallout/obj/structures/simple_door.dm b/code/modules/fallout/obj/structures/simple_door.dm index 2adb2c50c50..c9650b96976 100644 --- a/code/modules/fallout/obj/structures/simple_door.dm +++ b/code/modules/fallout/obj/structures/simple_door.dm @@ -356,7 +356,7 @@ can_disasemble = TRUE can_have_lock = TRUE -obj/structure/simple_door/house/add_debris_element() +/obj/structure/simple_door/house/add_debris_element() AddElement(/datum/element/debris, DEBRIS_WOOD, -10, 5) // cleaned and repainted white diff --git a/code/modules/fallout/obj/structures/wasteplants.dm b/code/modules/fallout/obj/structures/wasteplants.dm index 57ed575172a..d4602191959 100644 --- a/code/modules/fallout/obj/structures/wasteplants.dm +++ b/code/modules/fallout/obj/structures/wasteplants.dm @@ -46,7 +46,7 @@ density = 0 var/has_plod = TRUE var/produce - var/timer = 5000 //50 seconds + var/timer = 30 SECONDS /obj/structure/flora/wasteplant/Destroy() if(LAZYLEN(contents)) @@ -68,8 +68,7 @@ to_chat(user, span_notice("You pluck [product] from [src].")) 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() @@ -136,7 +135,7 @@ desc = "The sacred datura root, useful as an anesthetic for surgery and in healing salves, as well as for rites of passage rituals and ceremonies" produce = /obj/item/reagent_containers/food/snacks/grown/datura -obj/structure/flora/wasteplant/wild_punga +/obj/structure/flora/wasteplant/wild_punga name = "wild punga" icon_state = "wild_punga" desc = "Punga fruit plants flower at a single point at the terminus of their stems, gradually developing into large, fleshy fruits with a yellow/brown, thick skin." diff --git a/code/modules/fallout/obj/structures/well.dm b/code/modules/fallout/obj/structures/well.dm index f929e4a3853..ea71f460279 100644 --- a/code/modules/fallout/obj/structures/well.dm +++ b/code/modules/fallout/obj/structures/well.dm @@ -17,7 +17,7 @@ if(!moving) moving = TRUE flick("wellwheel-filling", src) - addtimer(CALLBACK(src, .proc/Reset), using_time) + addtimer(CALLBACK(src,PROC_REF(Reset)), using_time) return /obj/structure/sink/well/proc/Reset() diff --git a/code/modules/fallout/obj/trash/electronics.dm b/code/modules/fallout/obj/trash/electronics.dm index 6922a5fc49b..6648ea3e742 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(span_notice("[user] slides [W] smoothly into [src]."), span_notice("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, span_warning("Try as you might, you can't get [W] to fit into [src].")) diff --git a/code/modules/fallout/turf/walls.dm b/code/modules/fallout/turf/walls.dm index ae22984fa55..4756e400b26 100644 --- a/code/modules/fallout/turf/walls.dm +++ b/code/modules/fallout/turf/walls.dm @@ -87,7 +87,7 @@ set_opacity(0) ..() -turf/closed/wall/f13/wood/house/update_damage_overlay() +/turf/closed/wall/f13/wood/house/update_damage_overlay() if(broken) return ..() @@ -376,7 +376,7 @@ turf/closed/wall/f13/wood/house/update_damage_overlay() var/tickerPeriod = 300 //in deciseconds var/go/fullDark -turf/closed/indestructible/f13/splashscreen/New() +/turf/closed/indestructible/f13/splashscreen/New() .=..() name = "Fallout 13" desc = "The wasteland is calling!" @@ -394,7 +394,7 @@ turf/closed/indestructible/f13/splashscreen/New() spawn() src.ticker() return -turf/closed/indestructible/f13/splashscreen/proc/ticker() +/turf/closed/indestructible/f13/splashscreen/proc/ticker() while(src && istype(src,/turf/closed/indestructible/f13/splashscreen)) src.swapImage() sleep(src.tickerPeriod) diff --git a/code/modules/farming/farming_structures.dm b/code/modules/farming/farming_structures.dm index 1d02662e106..ec29515d689 100644 --- a/code/modules/farming/farming_structures.dm +++ b/code/modules/farming/farming_structures.dm @@ -61,7 +61,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() @@ -73,7 +73,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 8a14befcac6..d9ba053a349 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 86495536028..0cf89dcaad6 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 e0b66768695..2a645a81e08 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, span_notice("... [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 3cedb6c5c44..10b0e1d418e 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -286,7 +286,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 @@ -330,10 +330,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( for(var/i in 1 to rand(5, 10)) target.playsound_local(source, 'sound/weapons/laser.ogg', 25, 1) if(prob(50)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/sear.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/,playsound_local), source, 'sound/weapons/sear.ogg', 25, 1), rand(5,10)) hits++ else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/,playsound_local), source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6)) if(hits >= 4 && prob(70)) target.playsound_local(source, get_sfx("bodyfall"), 25, 1) @@ -343,10 +343,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( for(var/i in 1 to rand(5, 10)) target.playsound_local(source, 'sound/weapons/taser2.ogg', 25, 1) if(prob(50)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/tap.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/,playsound_local), source, 'sound/weapons/tap.ogg', 25, 1), rand(5,10)) hits++ else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/,playsound_local), source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10)) sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6)) if(hits >= 3 && prob(70)) target.playsound_local(source, get_sfx("bodyfall"), 25, 1) @@ -364,10 +364,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( for(var/i in 1 to rand(3, 6)) target.playsound_local(source, get_sfx("gunshot"), 25) if(prob(60)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/pierce.ogg', 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/,playsound_local), source, 'sound/weapons/pierce.ogg', 25, 1), rand(5,10)) hits++ else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, "ricochet", 25, 1), rand(5,10)) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/,playsound_local), source, "ricochet", 25, 1), rand(5,10)) sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6)) if(hits >= 2 && prob(80)) target.playsound_local(source, get_sfx("bodyfall"), 25, 1) @@ -1075,7 +1075,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /obj/effect/hallucination/danger/lava/Initialize(mapload, _target) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -1088,7 +1088,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /obj/effect/hallucination/danger/lava/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER if(AM == target) - INVOKE_ASYNC(target, /mob/living/.proc/adjustStaminaLoss, 20) + INVOKE_ASYNC(target, TYPE_PROC_REF(/mob/living/,adjustStaminaLoss), 20) new /datum/hallucination/fire(target) /obj/effect/hallucination/danger/chasm @@ -1097,7 +1097,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /obj/effect/hallucination/danger/chasm/Initialize(mapload, _target) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -1114,7 +1114,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( return to_chat(target, span_userdanger("You fall into the chasm!")) target.DefaultCombatKnockdown(40) - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, target, span_notice("It's surprisingly shallow.")), 15) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), target, span_notice("It's surprisingly shallow.")), 15) QDEL_IN(src, 30) /obj/effect/hallucination/danger/anomaly @@ -1124,7 +1124,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( . = ..() START_PROCESSING(SSobj, src) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -1243,13 +1243,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/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 7f03e4454ce..53b5ef9645f 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -23,13 +23,13 @@ gulp_size = max(round(reagents.total_volume / 5), 5) /obj/item/reagent_containers/food/drinks/take_a_bellybite(datum/source, obj/vore_belly/gut, mob/living/vorer) - INVOKE_ASYNC(src, .proc/attempt_forcedrink, vorer, vorer, TRUE, TRUE, TRUE) + INVOKE_ASYNC(src,PROC_REF(attempt_forcedrink), vorer, vorer, TRUE, TRUE, TRUE) if(gut.can_taste) checkLiked(min(gulp_size/reagents.total_volume, 1), vorer) return TRUE /obj/item/reagent_containers/food/drinks/attack(mob/living/M, mob/user, def_zone) - INVOKE_ASYNC(src, .proc/attempt_forcedrink, M, user) + INVOKE_ASYNC(src,PROC_REF(attempt_forcedrink), M, user) /obj/item/reagent_containers/food/drinks/proc/attempt_forcedrink(mob/living/M, mob/user, force, silent, vorebite) if(!reagents || !reagents.total_volume) @@ -91,7 +91,7 @@ if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell var/mob/living/silicon/robot/bro = user bro.cell.use(30) - addtimer(CALLBACK(reagents, /datum/reagents.proc/add_reagent, refill, trans), 600) + addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents,add_reagent), refill, trans), 600) else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. if (!is_refillable()) @@ -540,10 +540,10 @@ /obj/item/reagent_containers/food/drinks/soda_cans/take_a_bellybite(datum/source, obj/vore_belly/gut, mob/living/vorer) if(!is_drainable()) - INVOKE_ASYNC(src, .proc/pop_top, vorer, vorer, TRUE, TRUE, TRUE) + INVOKE_ASYNC(src,PROC_REF(pop_top), vorer, vorer, TRUE, TRUE, TRUE) return TRUE if(!reagents.total_volume) - INVOKE_ASYNC(src, .proc/crush_can, vorer, vorer, TRUE, TRUE, TRUE) + INVOKE_ASYNC(src,PROC_REF(crush_can), vorer, vorer, TRUE, TRUE, TRUE) return TRUE return ..() diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index c0422660edd..698c253542a 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -112,7 +112,7 @@ list_reagents = list(/datum/reagent/consumable/nukaberry = 50) foodtype = NUKA -obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_float +/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_float name = "Cosmic Float" list_reagents = list(/datum/reagent/consumable/nukafloat = 50) foodtype = NUKA diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 22b5958f1c6..b58fd72f434 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -25,7 +25,7 @@ /obj/item/reagent_containers/food/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_VORE_ATOM_DIGESTED, .proc/take_a_bellybite) + RegisterSignal(src, COMSIG_VORE_ATOM_DIGESTED,PROC_REF(take_a_bellybite)) /obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 70dfbc1b905..900f1bcc918 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -103,7 +103,7 @@ All foods are distributed among various categories. Use common sense. return /obj/item/reagent_containers/food/snacks/take_a_bellybite(datum/source, obj/vore_belly/gut, mob/living/vorer) - INVOKE_ASYNC(src, .proc/attempt_forcefeed, vorer, vorer, TRUE, TRUE, TRUE) + INVOKE_ASYNC(src,PROC_REF(attempt_forcefeed), vorer, vorer, TRUE, TRUE, TRUE) if(gut.can_taste) checkLiked(min(bitesize / reagents.total_volume, 1), vorer) return TRUE @@ -111,7 +111,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, forced, silent, vorebite) if(!eatverb) @@ -175,7 +175,8 @@ All foods are distributed among various categories. Use common sense. M.visible_message( span_notice("[M] unwillingly [eatverb]s \the [src]."), span_notice("You unwillingly [eatverb] \the [src].")) - if((600 * (1 + M.overeatduration / 1000)) to INFINITY) + //if((600 * (1 + M.overeatduration / 1000)) to INFINITY) // Had to change this to a const, sorry if it don't work! Can convert it to an if else statemetnt but I'm lazy. + if(650 to INFINITY) if(HAS_TRAIT(M, TRAIT_VORACIOUS)) M.visible_message( span_notice("[M] gluttonously [eatverb]s \the [src], cramming it down [M.p_their()] throat!"), diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm index 106ac459892..0cf8c4d23a6 100644 --- a/code/modules/food_and_drinks/food/snacks_cake.dm +++ b/code/modules/food_and_drinks/food/snacks_cake.dm @@ -307,7 +307,7 @@ tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) foodtype = GRAIN | DAIRY | SUGAR -obj/item/reagent_containers/food/snacks/store/cake/pound_cake +/obj/item/reagent_containers/food/snacks/store/cake/pound_cake name = "pound cake" desc = "A condensed cake made for filling people up quickly." icon_state = "pound_cake" diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index c2141bab28e..02c601e59a6 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -441,7 +441,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) @@ -469,7 +469,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 a6c2b8ed2c2..a35cc774560 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -490,7 +490,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 7bcbc409f41..d54c59caa37 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 d098fe48797..df5f51c1125 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 ca32971bd01..e57b2018506 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, span_notice("The machine now has [grinded] monkey\s worth of material stored."))) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), user, span_notice("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 bf4a9dbd811..0b9b6821f35 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 d4eadb0ebbf..fe901495aa2 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -577,7 +577,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/holiday/party_time.dm b/code/modules/holiday/party_time.dm index 181991d5f06..7aa69acdc0a 100644 --- a/code/modules/holiday/party_time.dm +++ b/code/modules/holiday/party_time.dm @@ -148,7 +148,7 @@ GLOBAL_LIST_EMPTY(party_landmarks) return FALSE for(var/mob/living/seer in range(10, src)) seer.overlay_fullscreen("flash", type, 2) - addtimer(CALLBACK(seer, /mob/living.proc/clear_fullscreen, "flash", 25), 2.5 SECONDS) + addtimer(CALLBACK(seer, TYPE_PROC_REF(/mob/living,clear_fullscreen), "flash", 25), 2.5 SECONDS) for(var/turf/blocker in block(locate(x + template.width*0.5,y + template.height*0.5,z),locate(x - template.width*0.5,y - template.height*0.5,z))) for(var/atom/movable/AM in blocker) if(!AM.anchored) diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index 1a320ec7df4..a51a80234da 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 e2e75b99de1..61abd24d423 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 688e1ee0ef1..d2fe26d0616 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -178,7 +178,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 3dd00c1466d..d7a2f29b243 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -67,7 +67,7 @@ var/uses = 1 if(seed) uses = round(seed.potency / 20) - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, INV_SLOTBIT_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, INV_SLOTBIT_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 07c965f2116..d11cb8e7e7b 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -352,7 +352,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)) @@ -467,7 +467,7 @@ to_chat(user, span_notice("You swallow a gulp of [src].")) var/fraction = min(5/reagents.total_volume, 1) reagents.reaction(M, INGEST, fraction) - addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5) + addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents,trans_to), M, 5), 5) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) /obj/item/reagent_containers/food/snacks/grown/coconut/afterattack(obj/target, mob/user, proximity) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 485db30ee38..ff4fc2a6b7d 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -203,7 +203,7 @@ /obj/structure/bonfire/prelit/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -212,7 +212,7 @@ /obj/structure/bonfire/dense/prelit/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -340,7 +340,7 @@ /obj/structure/bonfire/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER if(burning & !grill) - INVOKE_ASYNC(src, .proc/Burn) + INVOKE_ASYNC(src,PROC_REF(Burn)) /obj/structure/bonfire/proc/Burn() var/turf/current_location = get_turf(src) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 101dcc1b499..3f85f95a18f 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/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index db3e04c4ad0..f6caf3237b8 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -106,7 +106,7 @@ S.reagents_add = reagents_add.Copy() // Faster than grabbing the list from genes. return S -obj/item/seeds/proc/is_gene_forbidden(typepath) +/obj/item/seeds/proc/is_gene_forbidden(typepath) return (typepath in forbiddengenes) diff --git a/code/modules/instruments/instrument_data/_instrument_data.dm b/code/modules/instruments/instrument_data/_instrument_data.dm index 447bcdffb1a..97c9e4b25da 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 0caa1843a35..5bdfdc2e012 100644 --- a/code/modules/instruments/instruments/item.dm +++ b/code/modules/instruments/instruments/item.dm @@ -357,7 +357,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 828178fcbe9..4d84fa0ae55 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -161,7 +161,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 ff01ff5c7ab..98662474bad 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 d575357a911..20919b9d3f7 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -342,7 +342,7 @@ assembly.visible_message(span_danger("[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 3a129f97371..5c18e44859c 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/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index 724f8575acc..c8092b1ffc1 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/integrated_electronics/subtypes/weaponized.dm b/code/modules/integrated_electronics/subtypes/weaponized.dm index 61fb69052e4..11d282adbdc 100644 --- a/code/modules/integrated_electronics/subtypes/weaponized.dm +++ b/code/modules/integrated_electronics/subtypes/weaponized.dm @@ -197,7 +197,7 @@ dt = clamp(detonation_time.data, 1, 12)*10 else dt = 15 - addtimer(CALLBACK(attached_grenade, /obj/item/grenade.proc/prime), dt) + addtimer(CALLBACK(attached_grenade, TYPE_PROC_REF(/obj/item/grenade,prime)), dt) var/atom/holder = loc message_admins("activated a grenade assembly. Last touches: Assembly: [holder.fingerprintslast] Circuit: [fingerprintslast] Grenade: [attached_grenade.fingerprintslast]") diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm index 5d843c56a0e..7771a5d7da6 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -65,7 +65,7 @@ SEND_SOUND(owner, sound('sound/effects/adminnotification.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. @@ -80,7 +80,7 @@ GLOB.interviews.cooldown_ckeys |= owner_ckey log_admin_private("[key_name(denied_by)] has denied interview #[id] for [owner_ckey][!owner ? "(DC)": ""].") message_admins(span_adminnotice("[key_name(denied_by)] has denied [link_self()] for [owner_ckey][!owner ? "(DC)": ""].")) - addtimer(CALLBACK(GLOB.interviews, /datum/interview_manager.proc/release_from_cooldown, owner_ckey), 180) + addtimer(CALLBACK(GLOB.interviews, TYPE_PROC_REF(/datum/interview_manager,release_from_cooldown), owner_ckey), 180) if (owner) SEND_SOUND(owner, sound('sound/effects/adminnotification.ogg')) to_chat(owner, "-- Interview Update --" \ diff --git a/code/modules/jobs/job_types/SS13/captain.dm b/code/modules/jobs/job_types/SS13/captain.dm index dcaa037ebfd..228f9f1efe1 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(usr, 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 395f15be17e..15fb059370a 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(usr, GLOBAL_PROC_REF(_addtimer), CALLBACK(pick(GLOB.announcement_systems), /obj/machinery/announcement_system/proc/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/legion.dm b/code/modules/jobs/job_types/legion.dm index 89325e36ffc..7c37ce7228f 100644 --- a/code/modules/jobs/job_types/legion.dm +++ b/code/modules/jobs/job_types/legion.dm @@ -1306,7 +1306,7 @@ Venator - Zero slots, role built on cloning vet ranger, linear just vastly bett // Slavemaster -datum/job/CaesarsLegion/Legionnaire/f13slavemaster +/datum/job/CaesarsLegion/Legionnaire/f13slavemaster title = "Legion Slavemaster" flag = F13SLAVEMASTER total_positions = 1 diff --git a/code/modules/jobs/job_types/silicon.dm b/code/modules/jobs/job_types/silicon.dm index a544a264fca..31b2c8589e9 100644 --- a/code/modules/jobs/job_types/silicon.dm +++ b/code/modules/jobs/job_types/silicon.dm @@ -69,7 +69,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(usr, 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/jobs/job_types/wasteland.dm b/code/modules/jobs/job_types/wasteland.dm index c4406e03118..15c120167ef 100644 --- a/code/modules/jobs/job_types/wasteland.dm +++ b/code/modules/jobs/job_types/wasteland.dm @@ -1729,7 +1729,7 @@ Raider DM.add_member(H) H.gang = DM -datum/job/wasteland/f13dendoctor +/datum/job/wasteland/f13dendoctor title = "Den Doctor" flag = F13DENDOCTOR faction = FACTION_WASTELAND diff --git a/code/modules/keybindings/setup.dm b/code/modules/keybindings/setup.dm index 56daa3dbe72..7e4818ae254 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/language/common.dm b/code/modules/language/common.dm index 68669ad4b60..f44659cc566 100644 --- a/code/modules/language/common.dm +++ b/code/modules/language/common.dm @@ -18,10 +18,9 @@ Sources: http://www.sttmedia.com/syllablefrequency-english http://www.chinahighlights.com/travelguide/learning-chinese/pinyin-syllables.htm -*/______qdel_list_wrapper(list/L) - . = ..() +*/ - //New list generated with chatgpt sounding 'vaguely' like english. Better than it sounding way too much like chinese, lol +//New list generated with chatgpt sounding 'vaguely' like english. Better than it sounding way too much like chinese, lol /datum/language/common/syllables = list( "a", "zib", diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm index 86c75b5434b..957ebcc69c2 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 4a77b3cae77..acb77983aa8 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -190,10 +190,10 @@ if(turn == 1) send_message(span_notice("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(span_red("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(span_green("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. @@ -408,9 +408,9 @@ if(D.id != "mafia") //so as to not trigger shutters on station, lol continue if(close) - INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/close) + INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/poddoor,close)) else - INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/open) + INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/poddoor,open)) /** * The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried. @@ -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 5fe9934d8ca..73a9ba4d7c1 100644 --- a/code/modules/mafia/roles.dm +++ b/code/modules/mafia/roles.dm @@ -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 diff --git a/code/modules/mapping/reader.dm b/code/modules/mapping/reader.dm index e4887768e0f..81b34a842ad 100644 --- a/code/modules/mapping/reader.dm +++ b/code/modules/mapping/reader.dm @@ -421,8 +421,9 @@ //then instance the /turf and, if multiple tiles are presents, simulates the DMM underlays piling effect var/first_turf_index = 1 - while(!ispath(members[first_turf_index], /turf)) //find first /turf object in members - first_turf_index++ + if(LAZYLEN(members) && LAZYACCESS(members, first_turf_index)) + while(!ispath(members[first_turf_index], /turf)) //find first /turf object in members + first_turf_index++ //turn off base new Initialization until the whole thing is loaded SSatoms.map_loader_begin() diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index 204f423ced5..d163f84bbf3 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 19edd94f3a0..65d4da18174 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -40,8 +40,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() . = ..() @@ -120,7 +120,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 @@ -420,7 +420,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) @@ -484,7 +484,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 aa30284fff9..55f6ffa43a2 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 304c774056f..fff6645b332 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -72,7 +72,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 013e72da44b..6c55435a959 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) . = ..() @@ -103,4 +103,4 @@ L.DefaultCombatKnockdown(60) if(ishuman(L)) shake_camera(L, 20, 1) - addtimer(CALLBACK(L, /mob/living/carbon.proc/vomit), 20) + addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/carbon,vomit)), 20) diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index f19526c8f8d..de0da02ad33 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 397cbfe4fa2..cee33048b42 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 bdbb34aec68..3ff40d462b3 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -613,7 +613,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 @@ -1054,7 +1054,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) @@ -1132,7 +1132,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, span_notice("You shatter the bottle!")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1) message_admins(span_adminnotice("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!")) @@ -1244,11 +1244,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 @@ -1259,12 +1259,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, span_warning("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) @@ -1302,7 +1302,7 @@ user.visible_message(span_hierophant_warning("[user] starts fiddling with [src]'s pommel..."), \ span_notice("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) @@ -1314,7 +1314,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, span_warning("You need to be on solid ground to detach the beacon!")) return @@ -1331,7 +1331,7 @@ user.update_action_buttons_icon() user.visible_message(span_hierophant_warning("[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) @@ -1343,7 +1343,7 @@ to_chat(user, span_warning("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) @@ -1355,7 +1355,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 @@ -1364,7 +1364,7 @@ to_chat(user, span_warning("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]") @@ -1377,7 +1377,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" @@ -1385,7 +1385,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 @@ -1424,7 +1424,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 5c55a21164d..65c678e682d 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 e92e2c52202..26822b0a4bd 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -343,7 +343,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ else user.visible_message(span_warning("[user] strikes \the [src], causing a chain reaction!"), span_danger("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) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/caps.dm b/code/modules/mob/dead/new_player/sprite_accessories/caps.dm index 822fcf960da..d9746724906 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/caps.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/caps.dm @@ -1,4 +1,4 @@ -datum/sprite_accessory/caps +/datum/sprite_accessory/caps icon = 'icons/mob/mutant_bodyparts.dmi' color_src = HAIR relevant_layers = list(BODY_ADJ_LAYER) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index 074a86dc552..ca93133d820 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -800,7 +800,7 @@ icon_state = "husky" matrixed_sections = MATRIX_RED_GREEN -datum/sprite_accessory/tails/mam_tails/insect +/datum/sprite_accessory/tails/mam_tails/insect name = "Insect" icon_state = "insect" matrixed_sections = MATRIX_RED diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index c0a9ef3f608..aea5a4f086a 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 9186822a452..3d7dce13023 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 241b2a3d00f..1da03160dc0 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 8a14d9f3886..3ce94c06c87 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", /atom/movable/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 3dc0b4fd7f8..82878ad7ffc 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 0651558c42e..486c9773676 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -34,7 +34,7 @@ /obj/item/clothing/mask/facehugger/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -100,7 +100,7 @@ /obj/item/clothing/mask/facehugger/proc/on_entered(atom/target) SIGNAL_HANDLER - INVOKE_ASYNC(src, /atom/.proc/HasProximity, target) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/,HasProximity), target) return /obj/item/clothing/mask/facehugger/on_found(mob/finder) @@ -118,7 +118,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") @@ -190,7 +190,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) @@ -199,7 +199,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 @@ -242,7 +242,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 2224268db64..7db2b361414 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -259,7 +259,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 da8cee906e6..32509a6df13 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -10,7 +10,7 @@ if(ckey) SSsecondwind.i_died(ckey) if(!gibbed) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src,PROC_REF(emote), "deathgasp") SWplz = new SWplz.Grant(src) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 60f78630f65..09d9fbfb138 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -506,7 +506,7 @@ hasPickedUp = TRUE damageMult = rock.throwforce if(!timerEnabled) - addtimer(CALLBACK(src, .proc/reset_damage), 2.5 SECONDS) + addtimer(CALLBACK(src,PROC_REF(reset_damage)), 2.5 SECONDS) timerEnabled = TRUE COOLDOWN_START(src, rock_cooldown, 2.5 SECONDS) to_chat(user, span_notice("You find a nice hefty throwing rock!")) @@ -546,7 +546,7 @@ hasPickedUp = TRUE damageMult = brick.throwforce if(!timerEnabled) - addtimer(CALLBACK(src, .proc/reset_damage), 2.5 SECONDS) + addtimer(CALLBACK(src,PROC_REF(reset_damage)), 2.5 SECONDS) timerEnabled = TRUE COOLDOWN_START(src, brick_cooldown, 2.5 SECONDS) to_chat(user, span_notice("You find a nice weighty brick!")) @@ -589,7 +589,7 @@ hasPickedUp = TRUE damageMult = snowball.throwforce if(!timerEnabled) - addtimer(CALLBACK(src, .proc/reset_damage), 2.5 SECONDS) + addtimer(CALLBACK(src,PROC_REF(reset_damage)), 2.5 SECONDS) timerEnabled = TRUE COOLDOWN_START(src, snowball_cooldown, 2.5 SECONDS) to_chat(user, span_notice("You pack together a nice round snowball!")) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 4e6aac4bcbd..5cf84f158bd 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -51,7 +51,7 @@ if(SSticker.HasRoundStarted()) SSblackbox.ReportDeath(src) if(is_devil(src)) - INVOKE_ASYNC(is_devil(src), /datum/antagonist/devil.proc/beginResurrectionCheck, src) + INVOKE_ASYNC(is_devil(src), TYPE_PROC_REF(/datum/antagonist/devil,beginResurrectionCheck), src) /mob/living/carbon/human/proc/makeSkeleton() ADD_TRAIT(src, TRAIT_DISFIGURED, TRAIT_GENERIC) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 353c137e3db..d76e833d939 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -244,7 +244,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/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 25e8911a1b1..2e9e363e054 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -268,15 +268,14 @@ GLOBAL_LIST_INIT(personalitytrait2description, list( var/bandaid_max_time = initial(BP.current_gauze.covering_lifespan) var/bandaid_time = BP.get_covering_timeleft(COVERING_BANDAGE, COVERING_TIME_TRUE) // how much life we have left in these bandages - switch(bandaid_time) - if((bandaid_max_time * BANDAGE_GOODLIFE_DURATION) to INFINITY) - msg += "fresh " - if((bandaid_max_time * BANDAGE_MIDLIFE_DURATION) to (bandaid_max_time * BANDAGE_GOODLIFE_DURATION)) - msg += "slightly worn " - if((bandaid_max_time * BANDAGE_ENDLIFE_DURATION) to (bandaid_max_time * BANDAGE_MIDLIFE_DURATION)) - msg += "badly worn " - if(-INFINITY to (bandaid_max_time * BANDAGE_ENDLIFE_DURATION)) - msg += "nearly ruined " + if(bandaid_time > bandaid_max_time * BANDAGE_GOODLIFE_DURATION) + msg += "fresh " + else if(bandaid_time > bandaid_max_time * BANDAGE_MIDLIFE_DURATION) + msg += "slightly worn " + else if(bandaid_time > bandaid_max_time * BANDAGE_ENDLIFE_DURATION) + msg += "badly worn " + else + msg += "nearly ruined " msg += "[BP.current_gauze.name]" if(has_bleed_wounds) msg += span_warning(" covering a bleeding wound!\n") @@ -288,15 +287,14 @@ GLOBAL_LIST_INIT(personalitytrait2description, list( var/bandaid_max_time = initial(BP.current_suture.covering_lifespan) var/bandaid_time = BP.get_covering_timeleft(COVERING_SUTURE, COVERING_TIME_TRUE) // how much life we have left in these bandages - switch(bandaid_time) - if((bandaid_max_time * SUTURE_GOODLIFE_DURATION) to INFINITY) - msg += "sturdy " - if((bandaid_max_time * SUTURE_MIDLIFE_DURATION) to (bandaid_max_time * SUTURE_GOODLIFE_DURATION)) - msg += "slightly frayed " - if((bandaid_max_time * SUTURE_ENDLIFE_DURATION) to (bandaid_max_time * SUTURE_MIDLIFE_DURATION)) - msg += "badly frayed " - if(-INFINITY to (bandaid_max_time * SUTURE_ENDLIFE_DURATION)) - msg += "nearly popped " + if(bandaid_time > bandaid_max_time * SUTURE_GOODLIFE_DURATION) + msg += "sturdy " + else if(bandaid_time > bandaid_max_time * SUTURE_MIDLIFE_DURATION) + msg += "slightly frayed " + else if(bandaid_time > bandaid_max_time * SUTURE_ENDLIFE_DURATION) + msg += "badly frayed " + else + msg += "nearly popped " msg += "[BP.current_suture.name]" if(has_bleed_wounds) msg += span_warning(" covering a bleeding wound!\n") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1bb6c3069f0..2bf9ec1a326 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -44,7 +44,7 @@ GLOBAL_VAR_INIT(crotch_call_cooldown, 0) if(CONFIG_GET(flag/disable_stambuffer)) enable_intentional_sprint_mode() - RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood) + RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom,clean_blood)) GLOB.human_list += src // var/datum/atom_hud/data/human/genital/pornHud = GLOB.huds[GENITAL_PORNHUD] // pornHud.add_to_hud(src) @@ -60,7 +60,7 @@ GLOBAL_VAR_INIT(crotch_call_cooldown, 0) AddElement(/datum/element/flavor_text, _name = "OOC Notes", _addendum = "Put information on ERP/lewd-related preferences here. THIS SHOULD NOT CONTAIN REGULAR FLAVORTEXT!!", _always_show = TRUE, _save_key = "ooc_notes", _examine_no_preview = TRUE) AddElement(/datum/element/flavor_text, _name = "Background Info Notes", _addendum = "Put information about your character's background!", _always_show = TRUE, _save_key = "background_info_notes", _examine_no_preview = TRUE) AddElement(/datum/element/flavor_text, _name = "F-list link", _always_show = FALSE, _save_key = "flist", _examine_no_preview = TRUE, _attach_internet_link = TRUE) - RegisterSignal(src, COMSIG_HUMAN_UPDATE_GENITALS, .proc/signal_update_genitals) + RegisterSignal(src, COMSIG_HUMAN_UPDATE_GENITALS,PROC_REF(signal_update_genitals)) /mob/living/carbon/human/Destroy() QDEL_NULL(physiology) @@ -234,7 +234,7 @@ GLOBAL_VAR_INIT(crotch_call_cooldown, 0) ..() var/mob/living/simple_animal/bot/mulebot/MB = AM if(istype(MB)) - INVOKE_ASYNC(MB, /mob/living/simple_animal/bot/mulebot/.proc/RunOver, src) + INVOKE_ASYNC(MB, TYPE_PROC_REF(/mob/living/simple_animal/bot/mulebot/,RunOver), src) spreadFire(AM) @@ -1056,7 +1056,7 @@ GLOBAL_VAR_INIT(crotch_call_cooldown, 0) 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/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 6f961181fc7..1da7f85f0a4 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -823,27 +823,27 @@ var/msg = span_notice("[src]'s [LB.name] is ") var/list/damage_words = list() if(brutedamage || burndamage || bleeddamage) - switch(brutedamage) - if(1 to (limb_max_damage*0.4)) - damage_words += LB.light_brute_msg - if((limb_max_damage*0.4) to (limb_max_damage*0.8)) - damage_words += LB.medium_brute_msg - if((limb_max_damage*0.8) to INFINITY) - damage_words += LB.heavy_brute_msg - switch(burndamage) - if(1 to (limb_max_damage*0.4)) - damage_words += LB.light_burn_msg - if((limb_max_damage*0.4) to (limb_max_damage*0.8)) - damage_words += LB.medium_burn_msg - if((limb_max_damage*0.8) to INFINITY) - damage_words += LB.heavy_burn_msg - switch(bleeddamage) - if(1 to (limb_max_damage*0.4)) - damage_words += LB.light_bleed_msg - if((limb_max_damage*0.4) to (limb_max_damage*0.8)) - damage_words += LB.medium_bleed_msg - if((limb_max_damage*0.8) to INFINITY) - damage_words += LB.heavy_bleed_msg + if(brutedamage < limb_max_damage * 0.4) + damage_words += LB.light_brute_msg + else if(brutedamage < limb_max_damage * 0.8) + damage_words += LB.medium_brute_msg + else + damage_words += LB.heavy_brute_msg + + if(burndamage < limb_max_damage * 0.4) + damage_words += LB.light_burn_msg + else if(burndamage < limb_max_damage * 0.8) + damage_words += LB.medium_burn_msg + else + damage_words += LB.heavy_burn_msg + + if(bleeddamage < limb_max_damage * 0.4) + damage_words += LB.light_bleed_msg + else if(bleeddamage < limb_max_damage * 0.8) + damage_words += LB.medium_bleed_msg + else + damage_words += LB.heavy_bleed_msg + msg += span_alert(english_list(damage_words)) else msg += span_green("intact") @@ -870,16 +870,17 @@ message_bandage += "It is coated with " var/bandaid_max_time = initial(LB.current_gauze.covering_lifespan) var/bandaid_time = LB.get_covering_timeleft(COVERING_BANDAGE, COVERING_TIME_TRUE) + // how much life we have left in these bandages - switch(bandaid_time) - if((bandaid_max_time * BANDAGE_GOODLIFE_DURATION) to INFINITY) - message_bandage += "fresh " - if((bandaid_max_time * BANDAGE_MIDLIFE_DURATION) to (bandaid_max_time * BANDAGE_GOODLIFE_DURATION)) - message_bandage += "slightly worn " - if((bandaid_max_time * BANDAGE_ENDLIFE_DURATION) to (bandaid_max_time * BANDAGE_MIDLIFE_DURATION)) - message_bandage += "badly worn " - if(-INFINITY to (bandaid_max_time * BANDAGE_ENDLIFE_DURATION)) - message_bandage += "nearly ruined " + if(bandaid_time > bandaid_max_time * BANDAGE_GOODLIFE_DURATION) + message_bandage += "fresh " + else if(bandaid_time > bandaid_max_time * BANDAGE_MIDLIFE_DURATION) + message_bandage += "slightly worn " + else if(bandaid_time > bandaid_max_time * BANDAGE_ENDLIFE_DURATION) + message_bandage += "badly worn " + else + message_bandage += "nearly ruined " + message_bandage += "[LB.current_gauze.name]" if(has_bleed_wounds) message_bandage += span_warning(" covering a bleeding wound! ") @@ -893,16 +894,17 @@ message_suture += "It is stitched up with " var/bandaid_max_time = initial(LB.current_suture.covering_lifespan) var/bandaid_time = LB.get_covering_timeleft(COVERING_SUTURE, COVERING_TIME_TRUE) + // how much life we have left in these bandages - switch(bandaid_time) - if((bandaid_max_time * SUTURE_GOODLIFE_DURATION) to INFINITY) - message_suture += "sturdy " - if((bandaid_max_time * SUTURE_MIDLIFE_DURATION) to (bandaid_max_time * SUTURE_GOODLIFE_DURATION)) - message_suture += "slightly frayed " - if((bandaid_max_time * SUTURE_ENDLIFE_DURATION) to (bandaid_max_time * SUTURE_MIDLIFE_DURATION)) - message_suture += "badly frayed " - if(-INFINITY to (bandaid_max_time * SUTURE_ENDLIFE_DURATION)) - message_suture += "nearly popped " + if(bandaid_time > bandaid_max_time * SUTURE_GOODLIFE_DURATION) + message_suture += "sturdy " + else if(bandaid_time > bandaid_max_time * SUTURE_MIDLIFE_DURATION) + message_suture += "slightly frayed " + else if(bandaid_time > bandaid_max_time * SUTURE_ENDLIFE_DURATION) + message_suture += "badly frayed " + else + message_suture += "nearly popped " + message_suture += "[LB.current_suture.name]" if(has_bleed_wounds) message_suture += span_warning(" closing a bleeding wound! ") @@ -953,27 +955,26 @@ var/msg = "[src]'s [LB.name] is " var/list/damage_words = list() if(brutedamage || burndamage || bleeddamage) - switch(brutedamage) - if(1 to (limb_max_damage*0.4)) - damage_words += LB.light_brute_msg - if((limb_max_damage*0.4) to (limb_max_damage*0.8)) - damage_words += LB.medium_brute_msg - if((limb_max_damage*0.8) to INFINITY) - damage_words += LB.heavy_brute_msg - switch(burndamage) - if(1 to (limb_max_damage*0.4)) - damage_words += LB.light_burn_msg - if((limb_max_damage*0.4) to (limb_max_damage*0.8)) - damage_words += LB.medium_burn_msg - if((limb_max_damage*0.8) to INFINITY) - damage_words += LB.heavy_burn_msg - switch(bleeddamage) - if(1 to (limb_max_damage*0.4)) - damage_words += LB.light_bleed_msg - if((limb_max_damage*0.4) to (limb_max_damage*0.8)) - damage_words += LB.medium_bleed_msg - if((limb_max_damage*0.8) to INFINITY) - damage_words += LB.heavy_bleed_msg + if(brutedamage < limb_max_damage * 0.4) + damage_words += LB.light_brute_msg + else if(brutedamage < limb_max_damage * 0.8) + damage_words += LB.medium_brute_msg + else + damage_words += LB.heavy_brute_msg + + if(burndamage < limb_max_damage * 0.4) + damage_words += LB.light_burn_msg + else if(burndamage < limb_max_damage * 0.8) + damage_words += LB.medium_burn_msg + else + damage_words += LB.heavy_burn_msg + + if(bleeddamage < limb_max_damage * 0.4) + damage_words += LB.light_bleed_msg + else if(bleeddamage < limb_max_damage * 0.8) + damage_words += LB.medium_bleed_msg + else + damage_words += LB.heavy_bleed_msg msg += english_list(damage_words) else msg += "intact" @@ -1000,16 +1001,17 @@ message_bandage += "It is coated with " var/bandaid_max_time = initial(LB.current_gauze.covering_lifespan) var/bandaid_time = LB.get_covering_timeleft(COVERING_BANDAGE, COVERING_TIME_TRUE) + // how much life we have left in these bandages - switch(bandaid_time) - if((bandaid_max_time * BANDAGE_GOODLIFE_DURATION) to INFINITY) - message_bandage += "fresh " - if((bandaid_max_time * BANDAGE_MIDLIFE_DURATION) to (bandaid_max_time * BANDAGE_GOODLIFE_DURATION)) - message_bandage += "slightly worn " - if((bandaid_max_time * BANDAGE_ENDLIFE_DURATION) to (bandaid_max_time * BANDAGE_MIDLIFE_DURATION)) - message_bandage += "badly worn " - if(-INFINITY to (bandaid_max_time * BANDAGE_ENDLIFE_DURATION)) - message_bandage += "nearly ruined " + if(bandaid_time > bandaid_max_time * BANDAGE_GOODLIFE_DURATION) + message_bandage += "fresh " + else if(bandaid_time > bandaid_max_time * BANDAGE_MIDLIFE_DURATION) + message_bandage += "slightly worn " + else if(bandaid_time > bandaid_max_time * BANDAGE_ENDLIFE_DURATION) + message_bandage += "badly worn " + else + message_bandage += "nearly ruined " + message_bandage += "[LB.current_gauze.name]" if(has_bleed_wounds) message_bandage += span_warning(" covering a bleeding wound! ") @@ -1023,16 +1025,17 @@ message_suture += "It is stitched up with " var/bandaid_max_time = initial(LB.current_suture.covering_lifespan) var/bandaid_time = LB.get_covering_timeleft(COVERING_SUTURE, COVERING_TIME_TRUE) + // how much life we have left in these bandages - switch(bandaid_time) - if((bandaid_max_time * SUTURE_GOODLIFE_DURATION) to INFINITY) - message_suture += "sturdy " - if((bandaid_max_time * SUTURE_MIDLIFE_DURATION) to (bandaid_max_time * SUTURE_GOODLIFE_DURATION)) - message_suture += "slightly frayed " - if((bandaid_max_time * SUTURE_ENDLIFE_DURATION) to (bandaid_max_time * SUTURE_MIDLIFE_DURATION)) - message_suture += "badly frayed " - if(-INFINITY to (bandaid_max_time * SUTURE_ENDLIFE_DURATION)) - message_suture += "nearly popped " + if(bandaid_time > bandaid_max_time * SUTURE_GOODLIFE_DURATION) + message_suture += "sturdy " + else if(bandaid_time > bandaid_max_time * SUTURE_MIDLIFE_DURATION) + message_suture += "slightly frayed " + else if(bandaid_time > bandaid_max_time * SUTURE_ENDLIFE_DURATION) + message_suture += "badly frayed " + else + message_suture += "nearly popped " + message_suture += "[LB.current_suture.name]" if(has_bleed_wounds) message_suture += span_warning(" closing a bleeding wound! ") diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 8d49ed04e32..658c270c636 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1503,7 +1503,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, span_danger("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 @@ -1752,7 +1752,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) // for(var/i in 1 to 3) // vol *= 0.75 // dist = round(dist*0.75) - // addtimer(CALLBACK(src, .proc/bootysmack, get_turf(target), vol, dist), time) + // addtimer(CALLBACK(src,PROC_REF(bootysmack), get_turf(target), vol, dist), time) // time += 0.5 SECONDS target.adjustStaminaLoss(25) user.visible_message( 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 763cb079efe..3101fcd18a9 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -121,10 +121,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/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 4db0573c1bd..dc15582fd27 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) @@ -95,7 +95,7 @@ EMPeffect = TRUE spec_updatehealth(H) to_chat(H, span_notice("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) @@ -105,7 +105,7 @@ to_chat(user, span_notice("You tap [H] on the back with your card.")) H.visible_message(span_danger("[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) @@ -124,7 +124,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 581a841ca09..9d41e41dee5 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -469,7 +469,7 @@ var/mob/living/carbon/human/H = owner H.visible_message(span_warning("[H] starts vibrating!"), span_danger("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(span_warning("[H] disappears in a shower of sparks!"), span_danger("You teleport!")) @@ -558,7 +558,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)) @@ -666,7 +666,7 @@ H.forceMove(src) cloth_golem = H to_chat(cloth_golem, span_notice("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 @@ -920,7 +920,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 b07ed878b1d..4b1e1309c95 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -905,8 +905,8 @@ linked_mobs.Add(M) if(!selflink) to_chat(M, span_notice("You are now connected to [slimelink_owner.real_name]'s Slime Link.")) - 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)) var/datum/action/innate/linked_speech/action = new(src) linked_actions.Add(action) action.Grant(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 7a40b994a9b..41f0e2e91a8 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 5264be6fce5..d61fe9800e5 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 a10ff7ade63..d1684cfc00b 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -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) @@ -410,7 +410,7 @@ var/mob/living/carbon/monkey/M = AM if(!istype(M) || !M) return - INVOKE_ASYNC(src, .proc/knockOver, M) + INVOKE_ASYNC(src,PROC_REF(knockOver), M) return /mob/living/carbon/monkey/proc/monkeyDrop(obj/item/A) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index e3092d04c35..5b23e9a4f2c 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -173,4 +173,4 @@ if(prob(10)) var/obj/item/clothing/head/helmet/justice/escape/helmet = new(src) equip_to_slot_or_del(helmet,SLOT_HEAD) - INVOKE_ASYNC(helmet, /obj/item.proc/attack_self, src) // todo encapsulate toggle + INVOKE_ASYNC(helmet, TYPE_PROC_REF(/obj/item,attack_self), src) // todo encapsulate toggle diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index e96aa2e212c..7dc19083fce 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -84,7 +84,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/emote.dm b/code/modules/mob/living/emote.dm index 15a0f7d674e..88aa54e0e21 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -49,7 +49,7 @@ /datum/emote/living/chuckle/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 1, -1, 1, -1, 1 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 1, -1, 1, -1, 1 SECONDS) /datum/emote/living/chuckle/get_sound(mob/living/M) if(ishuman(M)) @@ -81,7 +81,7 @@ /datum/emote/living/cough/run_emote(mob/user, params) . = ..() // var/matrix/tf = matrix(user.transform) - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 2, -1, 1, -1, 1 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 2, -1, 1, -1, 1 SECONDS) /datum/emote/living/cough/can_run_emote(mob/user, status_check = TRUE , intentional) . = ..() @@ -212,7 +212,7 @@ H.CloseWings() else H.OpenWings() - addtimer(CALLBACK(H, open ? /mob/living/carbon/human/atom/.proc/OpenWings : /mob/living/carbon/human/atom/.proc/CloseWings), wing_time) + addtimer(CALLBACK(H, TYPE_PROC_REF(open ? /mob/living/carbon/human/atom/.proc/OpenWings : /mob/living/carbon/human/atom/,CloseWings)), wing_time) /datum/emote/living/flap/aflap key = "aflap" @@ -325,7 +325,7 @@ /datum/emote/living/giggle/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 1, -1, 1, -1, 0.5 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 1, -1, 1, -1, 0.5 SECONDS) /datum/emote/living/giggle/get_sound(mob/living/M) if(ishuman(M)) @@ -367,7 +367,7 @@ /datum/emote/living/jump/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, -1, 5, -4, 0, 0.8 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), -1, 5, -4, 0, 0.8 SECONDS) /datum/emote/living/kiss key = "kiss" @@ -395,7 +395,7 @@ /datum/emote/living/audible/laugh/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 2, -2, 2, -2, 1.5 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 2, -2, 2, -2, 1.5 SECONDS) /datum/emote/living/audible/laugh/get_sound(mob/living/user) . = ..() @@ -450,7 +450,7 @@ /datum/emote/living/nod/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_directional_tilt, 5, 0.5 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_directional_tilt), 5, 0.5 SECONDS) /datum/emote/living/point key = "point" @@ -512,7 +512,7 @@ /datum/emote/living/shake/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 1, -1, 1, -1, 1.2 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 1, -1, 1, -1, 1.2 SECONDS) /datum/emote/living/shiver key = "shiver" @@ -523,7 +523,7 @@ /datum/emote/living/shiver/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 1, -1, 1, -1, 1 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 1, -1, 1, -1, 1 SECONDS) /datum/emote/living/sigh key = "sigh" @@ -566,7 +566,7 @@ /datum/emote/living/shake/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 2, -2, 2, -2, 1.5 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 2, -2, 2, -2, 1.5 SECONDS) /datum/emote/living/sneeze/get_sound(mob/living/M) if(ishuman(M)) @@ -1146,7 +1146,7 @@ /datum/emote/aflap/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, -1, 5, -4, 0, 0.8 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), -1, 5, -4, 0, 0.8 SECONDS) /datum/emote/flaparms key = "flapa" @@ -1155,7 +1155,7 @@ /datum/emote/flapa/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, -1, 5, -4, 0, 0.8 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), -1, 5, -4, 0, 0.8 SECONDS) /datum/emote/aflaparms key = "aflapa" @@ -1164,7 +1164,7 @@ /datum/emote/aflapa/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, -1, 5, -4, 0, 0.8 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), -1, 5, -4, 0, 0.8 SECONDS) /datum/emote/wah key = "wah" @@ -1237,7 +1237,7 @@ /datum/emote/living/bwoing/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 2, -2, 2, -2, 0.6 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 2, -2, 2, -2, 0.6 SECONDS) /datum/emote/living/bwoing/skip key = "skip" @@ -1253,7 +1253,7 @@ /datum/emote/living/bounce/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 2, 0, 2, 0, 1.5 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 2, 0, 2, 0, 1.5 SECONDS) /datum/emote/plap key = "plap" @@ -1284,7 +1284,7 @@ /datum/emote/aie/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 0, 5, 0, 0, 0.8 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 0, 5, 0, 0, 0.8 SECONDS) /datum/emote/nightstalker @@ -1409,7 +1409,7 @@ /datum/emote/rattle/run_emote(mob/user, params) . = ..() - INVOKE_ASYNC(user, /atom/.proc/do_double_bounce, 1, -1, 1, -1, 1.5 SECONDS) + INVOKE_ASYNC(user, TYPE_PROC_REF(/atom/,do_double_bounce), 1, -1, 1, -1, 1.5 SECONDS) /datum/emote/snakehiss @@ -2209,7 +2209,7 @@ GLOBAL_LIST_INIT(special_phrases, list( emote_type = EMOTE_AUDIBLE sound = 'modular_coyote/sound/verbs/foxgecker.ogg' - datum/emote/living/mow //cat looking ass playing brick game looking ass cat i swear to god I'm taking you to the vet merek +/datum/emote/living/mow //cat looking ass playing brick game looking ass cat i swear to god I'm taking you to the vet merek key = "mow" key_third_person = "mows like an insane cat." message = "mows!" diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index ec1e5b4241e..04aa2c76090 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 cdb31f55aea..de50b47b747 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -97,7 +97,7 @@ handle_diginvis() //AI becomes unable to see mob if((movement_type & FLYING) && !(movement_type & FLOATING)) //TODO: Better floating - INVOKE_ASYNC(src, /atom/movable.proc/float, TRUE) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable,float), TRUE) if(!loc) return FALSE @@ -214,7 +214,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 da7949589b1..6bf8dd13e67 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -3,7 +3,7 @@ add_verb(src, /mob/living/verb/subtler) . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -485,12 +485,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) @@ -923,7 +923,7 @@ else throw_alert("gravity", /atom/movable/screen/alert/weightless) if(!override && !is_flying()) - INVOKE_ASYNC(src, /atom/movable.proc/float, !has_gravity) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable,float), !has_gravity) /mob/living/float(on) if(throwing) diff --git a/code/modules/mob/living/living_active_block.dm b/code/modules/mob/living/living_active_block.dm index a5a1fb41def..5050cbecd7e 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, span_warning("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 e0b06f4e4b2..21a954f4820 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 4d2e8351466..2a7de7f67c0 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 f09b606a06b..bce55527724 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -537,10 +537,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(usr, GLOBAL_PROC_REF(cult_ending_helper), 1), 120) + addtimer(CALLBACK(usr, 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_REF(makeNewConstruct), /mob/living/simple_animal/hostile/construct/harvester, src, null, TRUE) // must pass keyword args explicitly else switch(rand(1, 6)) if(1) @@ -568,7 +568,7 @@ /mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/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 354e6bd9b6a..190661a37ae 100644 --- a/code/modules/mob/living/living_mobility.dm +++ b/code/modules/mob/living/living_mobility.dm @@ -171,7 +171,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 c0df19ba57f..00f5475a948 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/atom/movable/screen/sprintbutton/S = locate() in hud_used?.static_inventory diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 6fc87adc2c1..c9ccc005c25 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -244,6 +244,7 @@ the_dead[M] = TRUE var/eavesdropping + var/eavesrendered if(eavesdrop_range) eavesdropping = stars(message) @@ -265,7 +266,7 @@ speech_bubble_recipients.Add(M.client) var/image/I = image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER) I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA - INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, speech_bubble_recipients, 30) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), I, speech_bubble_recipients, 30) /mob/proc/binarycheck() return FALSE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1d65712825a..54d708d0a47 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 29543a792f8..0c56455c43a 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 4591720b798..5ce8818f190 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 cdaba8b963d..587d307e67e 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -175,7 +175,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 26a77a37e82..d061b5696f5 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 d92f4a5999c..1faab8c4476 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -9,7 +9,7 @@ throw_alert("newlaw", /atom/movable/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 a7fe9016946..4e95fa2273f 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -316,7 +316,7 @@ deltimer(radio_short_timerid) radio_short = TRUE to_chat(src, span_danger("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 d9a78c45dfd..2e9612c6641 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) @@ -334,11 +334,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 @@ -747,7 +747,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) @@ -950,7 +950,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 f1a62e67420..a38f9ee9b94 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 80b3670414a..fc9e09d219a 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) @@ -334,7 +334,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" @@ -427,7 +427,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" @@ -475,7 +475,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" @@ -580,7 +580,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" @@ -641,7 +641,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" @@ -697,7 +697,7 @@ var/mob/living/silicon/robot/assault = loc assault.faction += "wastebots" //So other assaultrons don't gank you for existing. -obj/item/robot_module/assaultron/remove_module(obj/item/I, delete_after) +/obj/item/robot_module/assaultron/remove_module(obj/item/I, delete_after) ..() var/mob/living/silicon/robot/assault = loc assault.faction -= "wastebots" //Removes the faction if the module is removed. diff --git a/code/modules/mob/living/silicon/silicon_movement.dm b/code/modules/mob/living/silicon/silicon_movement.dm index 590326eda1b..6cc0f42f88f 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 611a8815459..7d9989a67b2 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -28,12 +28,12 @@ if(ismob(AM) && AM == target) visible_message("[src] flails his swords and cuts [AM]!") playsound(src,'sound/effects/beepskyspinsabre.ogg',100,TRUE,-1) - INVOKE_ASYNC(src, .proc/stun_attack, AM) + INVOKE_ASYNC(src,PROC_REF(stun_attack), AM) /mob/living/simple_animal/bot/secbot/grievous/Initialize() . = ..() weapon = new baton_type(src) - INVOKE_ASYNC(weapon, /obj/item.proc/attack_self, src) + INVOKE_ASYNC(weapon, TYPE_PROC_REF(/obj/item,attack_self), src) /mob/living/simple_animal/bot/secbot/grievous/Destroy() QDEL_NULL(weapon) @@ -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 9b54f79cfba..753dd489070 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -559,7 +559,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, span_notice("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, span_notice("[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.")) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index ebed677948a..dc46caaeecb 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -147,7 +147,7 @@ stolen_valor += C.job update_titles() - INVOKE_ASYNC(weapon, /obj/item/weapon/.proc/attack, C, src) + INVOKE_ASYNC(weapon, TYPE_PROC_REF(/obj/item/weapon/,attack), C, src) C.Knockdown(20) /mob/living/simple_animal/bot/cleanbot/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index c4e736c8609..828f6fed8cf 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/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index fc846e97fe4..6ac62966dc7 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(usr, 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) @@ -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 ac39b915b77..5b89877e41c 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/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 041eef217ed..3c3ac80d527 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -209,7 +209,7 @@ id = /obj/item/card/id mask = /obj/item/clothing/mask/rat/bee -obj/effect/mob_spawn/human/corpse/raider +/obj/effect/mob_spawn/human/corpse/raider uniform = /obj/item/clothing/under/jabroni suit = /obj/item/clothing/suit/armor/heavy/metal shoes = /obj/item/clothing/shoes/jackboots @@ -217,7 +217,7 @@ obj/effect/mob_spawn/human/corpse/raider hair_style = "Bald" facial_hair_style = "Shaved" -obj/effect/mob_spawn/human/corpse/raidermelee +/obj/effect/mob_spawn/human/corpse/raidermelee name = "Raider Melee Corpse" uniform = /obj/item/clothing/under/jabroni suit = /obj/item/clothing/suit/armor/light/leather/leather_jacket @@ -253,7 +253,7 @@ obj/effect/mob_spawn/human/corpse/raidermelee hair_style = "Bald" facial_hair_style = "Shaved" -obj/effect/mob_spawn/human/corpse/raiderbossalt +/obj/effect/mob_spawn/human/corpse/raiderbossalt name = "Raider Boss Corpse" uniform = /obj/item/clothing/under/f13/mercc suit = /obj/item/clothing/suit/armor/heavy/metal/reinforced diff --git a/code/modules/mob/living/simple_animal/eldritch_demons.dm b/code/modules/mob/living/simple_animal/eldritch_demons.dm index f9233a7fe30..8da0595afc4 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) diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 95d0f411e1d..f9b2db8585a 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -254,7 +254,7 @@ /mob/living/simple_animal/pet/dog/corgi/proc/place_on_head(obj/item/item_to_add, mob/user) if(istype(item_to_add, /obj/item/grenade/plastic)) // last thing he ever wears, I guess - INVOKE_ASYNC(item_to_add, /obj/item.proc/afterattack, src,user,1) + INVOKE_ASYNC(item_to_add, TYPE_PROC_REF(/obj/item,afterattack), src,user,1) return if(inventory_head) @@ -460,7 +460,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_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/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index fce350848f3..adc697f283c 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -103,7 +103,7 @@ . = ..() if(can_be_held) //icon/item state is defined in mob_holder/drone_worn_icon() - AddElement(/datum/element/mob_holder, null, 'icons/mob/clothing/head.dmi', 'icons/mob/inhands/clothing_righthand.dmi', 'icons/mob/inhands/clothing_lefthand.dmi', INV_SLOTBIT_HEAD, /datum/element/mob_holder.proc/drone_worn_icon) + AddElement(/datum/element/mob_holder, null, 'icons/mob/clothing/head.dmi', 'icons/mob/inhands/clothing_righthand.dmi', 'icons/mob/inhands/clothing_lefthand.dmi', INV_SLOTBIT_HEAD, TYPE_PROC_REF(/datum/element/mob_holder,drone_worn_icon)) /mob/living/simple_animal/drone/med_hud_set_health() var/image/holder = hud_list[DIAG_HUD] diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index b09823be62e..59a375d9a7f 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -68,7 +68,7 @@ var/mob/M = AM to_chat(M, span_notice("[icon2html(src, M)] Squeak!")) if(istype(AM, /obj/item/reagent_containers/food/snacks/royalcheese)) - INVOKE_ASYNC(src, .proc/evolve) + INVOKE_ASYNC(src,PROC_REF(evolve)) qdel(AM) /mob/living/simple_animal/mouse/handle_automated_action() 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 8946f4512e1..7cf0bd6d726 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 ba633306dbf..ad064a6f508 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm @@ -38,7 +38,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/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index 3dfc0831984..e9412285b2c 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -110,7 +110,7 @@ /obj/effect/snare/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 3edd70db0c0..f0fc1b7b402 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -108,7 +108,7 @@ to_chat(user, span_info("You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.")) qdel(src) -mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it. +/mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it. name = "Terrygold" icon_state = "butterbear" icon_living = "butterbear" @@ -153,7 +153,7 @@ mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Seve to_chat(src, span_notice("Your name is now \"new_name\"!")) name = new_name -mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path. +/mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path. var/atom/my_target = get_target() if(!isliving(my_target)) return diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 7d9ce1cba30..0757ed0d994 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -210,7 +210,7 @@ return beehome = BB BB.bees |= src - RegisterSignal(BB, COMSIG_PARENT_QDELETING, .proc/move_out) + RegisterSignal(BB, COMSIG_PARENT_QDELETING,PROC_REF(move_out)) /mob/living/simple_animal/hostile/poison/bees/proc/move_out() if(!beehome) @@ -326,7 +326,7 @@ /mob/living/simple_animal/hostile/poison/bees/short/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/death), 50 SECONDS) + addtimer(CALLBACK(src,PROC_REF(death)), 50 SECONDS) /mob/living/simple_animal/hostile/poison/bees/short/frenly //these bees need to be frenly or they'd murder everyone faction = list("neutral") 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 401127972fb..dd44473f21e 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 8d2148095e7..10f7ca4c3af 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/Securitron.dm @@ -111,8 +111,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() @@ -262,5 +262,5 @@ minimum_distance = 1 /mob/living/simple_animal/hostile/securitron/sentrybot/self_destruct/AttackingTarget() - 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/deathclaw.dm b/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm index 72f8f8ba25f..afd1f74f697 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/deathclaw.dm @@ -420,7 +420,7 @@ return if(!charging) visible_message(span_danger("\The [src] growls, enraged!")) - addtimer(CALLBACK(src, .proc/Charge), 3) + addtimer(CALLBACK(src,PROC_REF(Charge)), 3) . = ..() // I swear I looked at this like 10 times before, never once noticed this wasnt here, fmdakm /mob/living/simple_animal/hostile/deathclaw/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) @@ -446,7 +446,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 d6da2b34258..87a7f41b000 100644 --- a/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm +++ b/code/modules/mob/living/simple_animal/hostile/f13/supermutant.dm @@ -448,7 +448,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 @@ -518,7 +518,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 c7708c396a3..67f6ed02aa4 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -446,7 +446,6 @@ name = "Wrap" panel = "Spider" active = FALSE - datum/action/spell_action/action = null desc = "Wrap something or someone in a cocoon. If it's a living being, you'll also consume them, allowing you to lay eggs." ranged_mousepointer = 'icons/effects/wrap_target.dmi' action_icon = 'icons/mob/actions/actions_animal.dmi' @@ -491,7 +490,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 60d8483a3e9..933f8b5f214 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -52,7 +52,7 @@ return Infect(my_target) to_chat(src, span_userdanger("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 b87adf5ce40..b82d6111449 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -231,7 +231,7 @@ return var/atom/my_target = get_target() if(dodging && my_target && in_melee && isturf(loc) && isturf(my_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) @@ -248,7 +248,7 @@ if(go2bed) if(lonely_timer_id) return - lonely_timer_id = addtimer(CALLBACK(src, .proc/queue_unbirth), 30 SECONDS, TIMER_STOPPABLE) + lonely_timer_id = addtimer(CALLBACK(src,PROC_REF(queue_unbirth)), 30 SECONDS, TIMER_STOPPABLE) else if(!lonely_timer_id) return @@ -484,7 +484,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) @@ -612,7 +612,7 @@ minimum_distance = 1 //Stop moving away if(melee_windup_sound) playsound(src.loc, melee_windup_sound, 150, TRUE, distant_range = 4) //Play the windup sound effect to warn that an attack is coming. - INVOKE_ASYNC(src, /atom/.proc/do_windup, melee_windup_magnitude, melee_windup_time) //Bouncing bitches. + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/,do_windup), melee_windup_magnitude, melee_windup_time) //Bouncing bitches. if(do_after(user=src,delay=melee_windup_time,needhand=FALSE,progress=FALSE,required_mobility_flags=null,allow_movement=TRUE,stay_close=FALSE,public_progbar=FALSE)) my_target = get_target() //Switch targets if we did during our windup. if(my_target && Adjacent(my_target)) //If we waited, check if we died or something before finishing the attack windup. If so, don't attack. @@ -643,7 +643,7 @@ vision_range = aggro_vision_range var/atom/my_target = get_target() if(my_target && LAZYLEN(emote_taunt) && prob(taunt_chance)) - INVOKE_ASYNC(src, .proc/emote, "me", EMOTE_VISIBLE, "[pick(emote_taunt)] at [my_target].") + INVOKE_ASYNC(src,PROC_REF(emote), "me", EMOTE_VISIBLE, "[pick(emote_taunt)] at [my_target].") taunt_chance = max(taunt_chance-7,2) if(LAZYLEN(emote_taunt_sound)) var/taunt_choice = pick(emote_taunt_sound) @@ -696,17 +696,17 @@ return visible_message(span_danger("[src] [islist(ranged_message) ? pick(ranged_message) : ranged_message] at [A]!")) 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 * auto_fire_delay) + addtimer(CALLBACK(src,PROC_REF(Shoot), A), i * auto_fire_delay) ThrowSomething(A) ranged_cooldown = world.time + ranged_cooldown_time if(sound_after_shooting) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, sound_after_shooting, 100, 0, 0), sound_after_shooting_delay, TIMER_STOPPABLE) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(playsound), src, sound_after_shooting, 100, 0, 0), sound_after_shooting_delay, TIMER_STOPPABLE) if(projectiletype) if(LAZYLEN(variation_list[MOB_PROJECTILE]) >= 2) // Gotta have multiple different projectiles to cycle through projectiletype = vary_from_list(variation_list[MOB_PROJECTILE], TRUE) @@ -830,7 +830,7 @@ DestroyObjectsInDirection(direction) -mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with megafauna destroying everything around them +/mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with megafauna destroying everything around them if(environment_smash) EscapeConfinement() for(var/dir in GLOB.cardinals) @@ -902,7 +902,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega 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() @@ -916,7 +916,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega 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) @@ -971,7 +971,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega if(!new_target) return target = WEAKREF(new_target) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/handle_target_del, TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING,PROC_REF(handle_target_del), TRUE) /mob/living/simple_animal/hostile/proc/queue_unbirth() SSidlenpcpool.add_to_culling(src) @@ -1038,7 +1038,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega visible_message(span_green("[src] shudders as the EMP overloads its servos!")) LoseTarget() toggle_ai(AI_OFF) - addtimer(CALLBACK(src, .proc/un_emp_stun), min(intensity, 3 SECONDS)) + addtimer(CALLBACK(src,PROC_REF(un_emp_stun)), min(intensity, 3 SECONDS)) /mob/living/simple_animal/hostile/proc/un_emp_stun() active_emp_flags -= MOB_EMP_STUN @@ -1055,7 +1055,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega visible_message(span_green("[src] lets out a burst of static and whips its gun around wildly!")) var/list/old_faction = faction faction = null - addtimer(CALLBACK(src, .proc/un_emp_berserk, old_faction), intensity SECONDS * 0.5) + addtimer(CALLBACK(src,PROC_REF(un_emp_berserk), old_faction), intensity SECONDS * 0.5) /mob/living/simple_animal/hostile/proc/un_emp_berserk(list/unberserk) active_emp_flags -= MOB_EMP_BERSERK 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 19646705363..2382a2fbc75 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -82,12 +82,12 @@ /obj/structure/leaper_bubble/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) - INVOKE_ASYNC(src, /atom/movable.proc/float, TRUE) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable,float), TRUE) QDEL_IN(src, 100) /obj/structure/leaper_bubble/Destroy() @@ -217,7 +217,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 @@ -228,18 +228,18 @@ var/atom/my_target = get_target() if(my_target && AIStatus == AI_ON && projectile_ready && !ckey) face_atom(my_target) - addtimer(CALLBACK(src, .proc/OpenFire, my_target), 5) + addtimer(CALLBACK(src,PROC_REF(OpenFire), my_target), 5) /mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlop() var/turf/new_turf = get_turf(get_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 f273a595db5..bdeb9db5947 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm @@ -73,9 +73,9 @@ walk(src,0) update_icons() if(prob(50) && get_dist(src,my_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() @@ -85,9 +85,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() var/atom/my_target = get_target() @@ -119,7 +119,7 @@ playsound(src, 'sound/weapons/thudswoosh.ogg', 25, 1) playsound(src, 'sound/voice/mook_leap_yell.ogg', 100, 1) var/target_turf = get_turf(my_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() @@ -140,11 +140,11 @@ if(isliving(my_target)) var/mob/living/L = my_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 6d30b16b764..81d43d83e14 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm @@ -136,7 +136,7 @@ if(get_dist(src,my_target) >= 4 && prob(40)) SolarBeamStartup(my_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 || !get_target()) @@ -148,7 +148,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) @@ -168,7 +168,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() @@ -176,10 +176,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() var/atom/my_target = get_target() @@ -203,7 +203,7 @@ ranged_cooldown = world.time + ranged_cooldown_time if(my_target) face_atom(my_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/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index f3a8a78821a..1dcb5754647 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -233,13 +233,13 @@ Featuring: if(mecha.defense_action && mecha.defense_action.owner && !mecha.defense_mode) mecha.leg_overload_mode = 0 mecha.defense_action.Activate(TRUE) - addtimer(CALLBACK(mecha.defense_action, /datum/action/innate/mecha/mech_defense_mode.proc/Activate, FALSE), 100) //10 seconds of defense, then toggle off + addtimer(CALLBACK(mecha.defense_action, TYPE_PROC_REF(/datum/action/innate/mecha/mech_defense_mode,Activate), FALSE), 100) //10 seconds of defense, then toggle off else if(prob(retreat_chance)) //Speed boost if possible if(mecha.overload_action && mecha.overload_action.owner && !mecha.leg_overload_mode) mecha.overload_action.Activate(TRUE) - addtimer(CALLBACK(mecha.overload_action, /datum/action/innate/mecha/mech_defense_mode.proc/Activate, FALSE), 100) //10 seconds of speeeeed, then toggle off + addtimer(CALLBACK(mecha.overload_action, TYPE_PROC_REF(/datum/action/innate/mecha/mech_defense_mode,Activate), FALSE), 100) //10 seconds of speeeeed, then toggle off retreat_distance = 50 spawn(100) 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 a5583ae3730..76b3b62e2f0 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, FALSE) + INVOKE_ASYNC(src,PROC_REF(ground_slam), stomp_range, 1, FALSE) /// Slams the ground around the behemoth throwing back enemies caught nearby /mob/living/simple_animal/hostile/megafauna/behemoth/proc/ground_slam(range, delay, do_damage) 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 9b8b30bafb0..b3d54f83bee 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 @@ -112,7 +112,7 @@ Difficulty: Medium if(QDELETED(my_target)) return if(!CheckActionCooldown() || !Adjacent(my_target)) //some cheating - INVOKE_ASYNC(src, .proc/quick_attack_loop) + INVOKE_ASYNC(src,PROC_REF(quick_attack_loop)) return face_atom(my_target) // if(isliving(my_target)) @@ -132,7 +132,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) @@ -147,13 +147,13 @@ Difficulty: Medium if(. && my_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() var/atom/my_target = get_target() Goto(my_target, move_to_delay, minimum_distance) if(get_dist(src, my_target) > MINER_DASH_RANGE && dash_cooldown <= world.time) - INVOKE_ASYNC(src, .proc/dash, my_target) + INVOKE_ASYNC(src,PROC_REF(dash), my_target) else shoot_ka() transform_weapon() @@ -181,7 +181,7 @@ Difficulty: Medium if(dashing || !CheckActionCooldown() || !Adjacent(my_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() @@ -251,7 +251,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 6d9e015eb94..1191823a612 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -77,15 +77,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/captainarlem.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/captainarlem.dm index c24e22843e4..21978dd7766 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/captainarlem.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/captainarlem.dm @@ -58,10 +58,10 @@ eyebots() 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/megafauna/captainarlem/Initialize() @@ -70,7 +70,7 @@ if(B != src) return INITIALIZE_HINT_QDEL //There can be only one -mob/living/simple_animal/hostile/megafauna/captainarlem/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) +/mob/living/simple_animal/hostile/megafauna/captainarlem/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) if(charging) return ..() @@ -178,7 +178,7 @@ mob/living/simple_animal/hostile/megafauna/captainarlem/do_attack_animation(atom /mob/living/simple_animal/hostile/megafauna/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/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 6115de1efeb..314bf0fe203 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -79,7 +79,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 @@ -90,7 +90,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() @@ -142,8 +142,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 b3ee67fb878..01026038fd8 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 @@ -98,7 +98,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) @@ -282,7 +282,7 @@ Difficulty: Extremely Hard return forceMove(user) to_chat(user, span_notice("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 targette 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) @@ -343,7 +343,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, span_userdanger("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 aa9c60bcb7f..52818054fc1 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -114,15 +114,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() @@ -139,7 +139,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) @@ -360,7 +360,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 73dbc735f84..1a89bb78a7b 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -161,10 +161,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() return ..() @@ -262,9 +262,9 @@ Difficulty: Normal while(health && !QDELETED(my_target) && cross_counter) cross_counter-- if(prob(60)) - INVOKE_ASYNC(src, .proc/cardinal_blasts, my_target) + INVOKE_ASYNC(src,PROC_REF(cardinal_blasts), my_target) else - INVOKE_ASYNC(src, .proc/diagonal_blasts, my_target) + INVOKE_ASYNC(src,PROC_REF(diagonal_blasts), my_target) sleep(6 + target_slowness) animate(src, color = oldcolor, time = 8) addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8) @@ -310,13 +310,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, my_target) + INVOKE_ASYNC(src,PROC_REF(alldir_blasts), my_target) else if(prob(60)) - INVOKE_ASYNC(src, .proc/cardinal_blasts, my_target) + INVOKE_ASYNC(src,PROC_REF(cardinal_blasts), my_target) else - INVOKE_ASYNC(src, .proc/diagonal_blasts, my_target) + INVOKE_ASYNC(src,PROC_REF(diagonal_blasts), my_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) @@ -327,7 +327,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) @@ -338,7 +338,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) @@ -349,7 +349,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 @@ -368,13 +368,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 targette var/turf/previousturf = T @@ -526,7 +526,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) @@ -614,10 +614,10 @@ 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)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -637,7 +637,7 @@ Difficulty: Normal /obj/effect/temp_visual/hierophant/blast/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER if(bursting) - INVOKE_ASYNC(src, .proc/do_damage, get_turf(src)) + INVOKE_ASYNC(src,PROC_REF(do_damage), get_turf(src)) /obj/effect/temp_visual/hierophant/blast/proc/do_damage(turf/T) if(!damage) @@ -693,7 +693,7 @@ Difficulty: Normal if(H.beacon == src) to_chat(user, span_notice("You start removing your hierophant beacon...")) H.timer = world.time + 51 - INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update) + INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club,prepare_icon_update)) if(do_after(user, 50, target = src)) playsound(src,'sound/magic/blind.ogg', 200, 1, -4) new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user) @@ -703,7 +703,7 @@ Difficulty: Normal qdel(src) else H.timer = world.time - INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update) + INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club,prepare_icon_update)) else to_chat(user, span_hierophant_warning("You touch the beacon with the club, but nothing happens.")) else 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 ab01d56534f..adf9fa5bbdc 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -92,7 +92,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 c5c087cd627..06b4925d455 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 7779f2b4107..16caaa87717 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -110,7 +110,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 6bdf4df09f7..0fb47538dbb 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 @@ -160,15 +160,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(span_boldwarning("[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(span_boldwarning("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) @@ -177,7 +177,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(span_boldwarning("The stirring stops, and nothing emerges. Perhaps try again later.")) activity = TUMOR_INACTIVE @@ -193,7 +193,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) @@ -240,11 +240,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 9e4db660f03..875a71c09b3 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 @@ -137,7 +137,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" @@ -213,11 +213,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 9bac94986de..b363719ab16 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) QDEL_NULL(my_mirror) @@ -143,13 +143,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) @@ -166,11 +166,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 @@ -271,4 +271,4 @@ return owner.visible_message(span_danger("[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 48594bbdf4f..446b0bbb312 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 @@ -104,7 +104,7 @@ T = get_step(T, dir_to_target) playsound(src,'sound/magic/demon_attack1.ogg', 200, 1) visible_message(span_boldwarning("[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) @@ -133,7 +133,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 @@ -161,7 +161,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 9f7ac6a4ad4..f23fc4de426 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(span_hierophant_warning("[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 4d8367fb57b..2143a0fdd38 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 @@ -55,7 +55,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() var/atom/my_target = get_target() 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 f7861cb177c..d3ede94b5ef 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 @@ -160,7 +160,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) . = ..() @@ -174,7 +174,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 @@ -196,7 +196,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 af70d71d924..c613205c1c1 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 @@ -161,7 +161,7 @@ return stored_mob = prefbreak prefbreak.forceMove(src) - RegisterSignal(prefbreak, COMSIG_PARENT_QDELETING, .proc/squirt_mob) + RegisterSignal(prefbreak, COMSIG_PARENT_QDELETING,PROC_REF(squirt_mob)) /mob/living/simple_animal/hostile/asteroid/hivelord/legion/proc/squirt_mob() visible_message(span_warning("The skulls on [src] wail in anger as they flee from their dying host!")) 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 51718a4bc54..f9350e21a3a 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(span_boldannounce("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!")) visible_message(span_warning("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 d693759f69e..1a3daabfc30 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 7d546d83ef1..ecb659ae131 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -39,7 +39,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/proc/get_player() var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the Royal Rat, cheesey be his crown?", ROLE_SENTIENCE, null, FALSE, 100, POLL_IGNORE_SENTIENCE_POTION) @@ -247,13 +247,13 @@ MOB_MINIMUM_DISTANCE_CHANGE_PER_TURN_CHANCE(100), ) -/mob/living/simple_animal/hostile/rat/Initialize() +/mob/living/simple_animal/hostile/rat/Initialize(mapload) . = ..() if(cheesy) SSmobs.cheeserats += src AddComponent(/datum/component/swarming) AddElement(/datum/element/mob_holder, "mouse_gray") - if(!is_smol) + if(!is_smol && !mapload) do_alert_animation(src) resize = 1.5 update_transform() @@ -399,4 +399,4 @@ /mob/living/simple_animal/hostile/rat/skitter/curious/frenly/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/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index f66b05cd16e..96024af3167 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. @@ -41,7 +41,7 @@ /obj/effect/ebeam/vine/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -141,7 +141,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 @@ -203,5 +203,5 @@ * Arguments: * * datum/beam/vine - The vine to be removed from the list. */ -mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force) +/mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force) vines -= vine diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 13bf5b80d4f..9101033d33a 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/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 138ce7a70db..2749d723895 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -351,7 +351,7 @@ GLOBAL_LIST_EMPTY(playmob_cooldowns) . = ..() if(can_ghost_into) AddElement(/datum/element/ghost_role_eligibility, free_ghosting = FALSE, penalize_on_ghost = TRUE) - RegisterSignal(src, COMSIG_HOSTILE_CHECK_FACTION, .proc/infight_check) + RegisterSignal(src, COMSIG_HOSTILE_CHECK_FACTION,PROC_REF(infight_check)) /mob/living/simple_animal/proc/infight_check(mob/living/simple_animal/H) if(SSmobs.debug_disable_mob_ceasefire) @@ -459,7 +459,7 @@ GLOBAL_LIST_EMPTY(playmob_cooldowns) can_ghost_into = TRUE AddElement(/datum/element/ghost_role_eligibility, free_ghosting = TRUE, penalize_on_ghost = FALSE) LAZYADD(GLOB.mob_spawners[initial(name)], src) - // RegisterSignal(src, COMSIG_MOB_GHOSTIZE_FINAL, .proc/set_ghost_timeout) + // RegisterSignal(src, COMSIG_MOB_GHOSTIZE_FINAL,PROC_REF(set_ghost_timeout)) if(istype(user)) lazarused = TRUE lazarused_by = WEAKREF(user) @@ -727,7 +727,7 @@ GLOBAL_LIST_EMPTY(playmob_cooldowns) if(death_sound) playsound(get_turf(src),death_sound, 200, ignore_walls = TRUE, vary = FALSE, frequency = SOUND_FREQ_NORMALIZED(sound_pitch, vary_pitches[1], vary_pitches[2])) if(deathmessage || !del_on_death) - INVOKE_ASYNC(src, .proc/emote, "deathgasp") + INVOKE_ASYNC(src,PROC_REF(emote), "deathgasp") if(del_on_death) ..(gibbed) // if(prob(del_on_death*100)) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index b983c9bef51..fd1d7eb5998 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 25319c5722c..12580eeb9e4 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -644,7 +644,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 8f1e3faa552..97ba0fda097 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -214,7 +214,7 @@ M.show_message(msg, MSG_VISUAL, msg, MSG_AUDIBLE) ///Adds the functionality to self_message. -mob/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs, mob/target, target_message, visible_message_flags = NONE, pref_check) +/mob/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs, mob/target, target_message, visible_message_flags = NONE, pref_check) . = ..() //if(self_message && target != src) //show_message(self_message, MSG_VISUAL, blind_message, MSG_AUDIBLE, pref_check) @@ -411,8 +411,8 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA 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) @@ -454,13 +454,13 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA 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 = span_smallnotice("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(usr, 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 = span_smallnotice("[src] makes eye contact with you.") - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3) + addtimer(CALLBACK(usr, 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/say.dm b/code/modules/mob/say.dm index f9c9b880057..a5028dbacbf 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -11,7 +11,7 @@ if(!length(message)) return if(!findtext(message, "*")) //this is used to abort the play_AC_typing_indicator() in case someone is using an emote. - INVOKE_ASYNC(src, .proc/play_AC_typing_indicator, message) + INVOKE_ASYNC(src,PROC_REF(play_AC_typing_indicator), message) if(is_autowhisper) return whisper_verb(message) return say_verb(message) @@ -29,7 +29,7 @@ return clear_typing_indicator() if(!findtext(message, "*")) //this is used to abort the play_AC_typing_indicator() in case someone is using an emote. - INVOKE_ASYNC(src, .proc/play_AC_typing_indicator, message) + INVOKE_ASYNC(src,PROC_REF(play_AC_typing_indicator), message) say(message) /mob/verb/me_typing_indicator() diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 9cd29c993d7..84a2c745803 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -17,7 +17,7 @@ return M.get_top_level_mob() return src -proc/get_top_level_mob(mob/S) +/proc/get_top_level_mob(mob/S) if(istype(S.loc,/mob)&&S.loc!=S) var/mob/M=S.loc return M.get_top_level_mob() diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 2b7a2bbb6b7..bd3749128ac 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 @@ -175,7 +175,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 ec378b035aa..6a5749b7471 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -40,7 +40,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. @@ -60,7 +60,7 @@ GLOBAL_LIST_EMPTY(typing_indicator_overlays) appearance_flags = RESET_COLOR | TILE_BOUND | PIXEL_SCALE layer = ABOVE_FLY_LAYER -mob/proc/toggle_typing_indicator() +/mob/proc/toggle_typing_indicator() if(!typing_indicator_current && typing_indicator_enabled) display_typing_indicator() else diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index a81d9e32180..17a69b65b4e 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 78efd7c239a..bb72d1d7bb9 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 d8fc1a62c9f..565d4b69d24 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, span_notice("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 fc4c318a98f..33ebc58e11d 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(span_warning("[affecting.name] vanishes into thin air!"), \ span_notice("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 481ca21ef5c..1590d9a4158 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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("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, span_notice("Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED.")) diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 4fe08c09c73..4bc344dabc6 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -228,7 +228,7 @@ user.visible_message(span_notice("With a sudden blaze, [H] stands back up.")) H.fakefire() fulfillContract(H, 1)//Revival contracts are always signed in blood - addtimer(CALLBACK(H, /mob/living/carbon/human.proc/fakefireextinguish), 5, TIMER_UNIQUE) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human,fakefireextinguish)), 5, TIMER_UNIQUE) addtimer(CALLBACK(src, "resetcooldown"), 300, TIMER_UNIQUE) else ..() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 7c916bfd414..76854c63184 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 bf3798fa733..7727e43042c 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -165,7 +165,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) @@ -192,7 +192,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 3adcdb7709a..f7fe7222e81 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/pits/pits.dm b/code/modules/pits/pits.dm index da471ee80c6..409b70a2c4b 100644 --- a/code/modules/pits/pits.dm +++ b/code/modules/pits/pits.dm @@ -11,7 +11,7 @@ layer = HIGH_TURF_LAYER var/turf/open/indestructible/ground/outside/desert/parent -obj/dugpit/New(lnk) +/obj/dugpit/New(lnk) ..() parent = lnk diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index a1810070c33..6ee1f3fe63b 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 4d10ce4f5ed..1372b2c1d9f 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/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm index d8fdd05bdcd..616769b8c09 100644 --- a/code/modules/plumbing/plumbers/fermenter.dm +++ b/code/modules/plumbing/plumbers/fermenter.dm @@ -41,14 +41,14 @@ if(move_dir == eat_dir) return TRUE var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) /obj/machinery/plumbing/fermenter/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/ferment, AM) + INVOKE_ASYNC(src,PROC_REF(ferment), AM) /obj/machinery/plumbing/fermenter/proc/ferment(atom/AM) if(stat & NOPOWER) diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm index 6a52cd4fac7..3826ed1a9a5 100644 --- a/code/modules/plumbing/plumbers/grinder_chemical.dm +++ b/code/modules/plumbing/plumbers/grinder_chemical.dm @@ -14,7 +14,7 @@ . = ..() AddComponent(/datum/component/plumbing/simple_supply, bolt) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -46,7 +46,7 @@ /obj/machinery/plumbing/grinder_chemical/proc/on_entered(atom/movable/AM) SIGNAL_HANDLER - INVOKE_ASYNC(src, .proc/grind, AM) + INVOKE_ASYNC(src,PROC_REF(grind), AM) /obj/machinery/plumbing/grinder_chemical/proc/grind(atom/AM) if(stat & NOPOWER) diff --git a/code/modules/plumbing/plumbers/medipenrefill.dm b/code/modules/plumbing/plumbers/medipenrefill.dm index 33714eeb9c4..52ab98c07d8 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, span_danger("There aren't enough reagents to finish this operation.")) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 179f607f806..417fbd27d90 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(span_notice("[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(span_notice("[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(span_notice("[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(span_danger("[jumper] misses [jumper.p_their()] step!"), \ span_userdanger("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(span_notice("[jumper] fails!"), \ span_userdanger("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(span_danger("[jumper] bursts into flames of pure awesomness!"), \ span_userdanger("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/pool/pool_wires.dm b/code/modules/pool/pool_wires.dm index d9b3d28b84d..04f1d2f7bf1 100644 --- a/code/modules/pool/pool_wires.dm +++ b/code/modules/pool/pool_wires.dm @@ -35,7 +35,7 @@ P.temperature_unlocked = FALSE if(WIRE_SHOCK) P.shocked = !P.shocked - addtimer(CALLBACK(P, /obj/machinery/autolathe.proc/reset, wire), 60) + addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/machinery/autolathe,reset), wire), 60) /datum/wires/poolcontroller/on_cut(wire, mend) var/obj/machinery/pool/controller/P = holder diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index d66f14009b3..ec3a9779dc6 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -245,12 +245,12 @@ if(AMS.processing) AMS.shutdown_core() AMS.control_unit = null - addtimer(CALLBACK(AMS, /obj/machinery/am_shielding.proc/controllerscan), 10) + addtimer(CALLBACK(AMS, TYPE_PROC_REF(/obj/machinery/am_shielding,controllerscan)), 10) linked_shielding = list() 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 b5ef5829153..1348f455f39 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(span_danger("[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 111613ea351..69b0c92b2ef 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -188,7 +188,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 @@ -1073,7 +1073,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 @@ -1142,7 +1142,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/atom/movable/screen/alert/hackingapc/A A = malf.throw_alert("hackingapc", /atom/movable/screen/alert/hackingapc) @@ -1462,7 +1462,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() @@ -1489,7 +1489,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 1a7302453c9..12d5a69d0f8 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/cell.dm b/code/modules/power/cell.dm index b2afaeb2587..42ecab7d11a 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -42,7 +42,7 @@ if(ratingdesc) desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." update_icon() - RegisterSignal(src, COMSIG_ATOM_LICKED, .proc/lick_battery) + RegisterSignal(src, COMSIG_ATOM_LICKED,PROC_REF(lick_battery)) /obj/item/stock_parts/cell/Destroy() STOP_PROCESSING(SSobj, src) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 2200536012c..d2d0a13d74e 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -291,7 +291,7 @@ update(0) if(flicker_chance) START_PROCESSING(SSmachines, src) - RegisterSignal(src, COMSIG_ATOM_LICKED, .proc/lick_light) + RegisterSignal(src, COMSIG_ATOM_LICKED,PROC_REF(lick_light)) /obj/machinery/light/proc/lick_light(atom/A, mob/living/carbon/licker, obj/item/hand_item/tongue) if(!iscarbon(licker) || !tongue) diff --git a/code/modules/power/multiz.dm b/code/modules/power/multiz.dm index 0b8d1eea40c..a9ef5344f7a 100644 --- a/code/modules/power/multiz.dm +++ b/code/modules/power/multiz.dm @@ -38,13 +38,13 @@ icon_state = "cablerelay-off" to_chat(user, span_danger("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/rtg.dm b/code/modules/power/rtg.dm index a57a8513907..41d8aecf637 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -76,7 +76,7 @@ span_italic("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(usr, 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 01230877bf9..ebdd0f61447 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -19,7 +19,7 @@ /obj/machinery/field/containment/Initialize() . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -66,10 +66,10 @@ /obj/machinery/field/containment/proc/on_entered(mob/mover) SIGNAL_HANDLER if(isliving(mover)) - INVOKE_ASYNC(src, .proc/shock, mover) + INVOKE_ASYNC(src,PROC_REF(shock), mover) if(ismachinery(mover) || isstructure(mover) || ismecha(mover)) - INVOKE_ASYNC(src, .proc/bump_field, mover) + INVOKE_ASYNC(src,PROC_REF(bump_field), mover) /obj/machinery/field/containment/proc/set_master(master1,master2) if(!master1 || !master2) @@ -140,4 +140,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 d508d56fcaa..f11e42f26d9 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 a9c66d51105..4fcc2cc095d 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(usr, 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 8f179c4c328..7884ca3dbc4 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) @@ -46,7 +46,7 @@ /obj/effect/accelerated_particle/proc/on_entered(atom/A) SIGNAL_HANDLER if(isliving(A)) - INVOKE_ASYNC(src, .proc/toxmob, A) + INVOKE_ASYNC(src,PROC_REF(toxmob), A) /obj/effect/accelerated_particle/ex_act(severity, target) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 7ddc27f77b9..657b43dda86 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 47979b3e9c2..fc57409898f 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -296,7 +296,7 @@ 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) diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index c78c2487394..d5bac170b20 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -86,7 +86,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 @@ -124,7 +124,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 cc0ecf13a67..f10fa4784e3 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 diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 3a6dc7c7da4..c94fda93cec 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/procedural_mapping/mapGenerator.dm b/code/modules/procedural_mapping/mapGenerator.dm index 323f74d0efe..ad81312d4e2 100644 --- a/code/modules/procedural_mapping/mapGenerator.dm +++ b/code/modules/procedural_mapping/mapGenerator.dm @@ -108,7 +108,7 @@ if(!modules || !modules.len) return for(var/datum/mapGeneratorModule/mod in modules) - INVOKE_ASYNC(mod, /datum/mapGeneratorModule.proc/generate) + INVOKE_ASYNC(mod, TYPE_PROC_REF(/datum/mapGeneratorModule,generate)) //Requests the mapGeneratorModule(s) to (re)generate this one turf @@ -119,7 +119,7 @@ if(!modules || !modules.len) return for(var/datum/mapGeneratorModule/mod in modules) - INVOKE_ASYNC(mod, /datum/mapGeneratorModule.proc/place, T) + INVOKE_ASYNC(mod, TYPE_PROC_REF(/datum/mapGeneratorModule,place), T) //Replaces all paths in the module list with actual module datums diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index c3675fd773a..cf36d77e859 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -212,9 +212,9 @@ return var/turf/this_turf_here = get_turf(src) if(still_warm && this_turf_here && this_turf_here.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(usr, 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(this_turf_here && this_turf_here.bullet_bounce_sound) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, this_turf_here.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(usr, GLOBAL_PROC_REF(playsound), src, this_turf_here.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/get_casing_destination(eject_direction, max_dist = 6, max_spread = 2) if(!eject_direction) diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index ae2ac10025b..4c769267457 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -66,7 +66,7 @@ /datum/material/blackpowder = MATS_SHOTGUN_POWDER * MATS_AMMO_POWDER_HANDLOAD_MULT) fire_power = CASING_POWER_SHOTGUN * CASING_POWER_MOD_HANDLOAD -obj/item/ammo_casing/shotgun/executioner +/obj/item/ammo_casing/shotgun/executioner name = "executioner slug" desc = "A 12 gauge lead slug purpose built to annihilate flesh on impact." icon_state = "stunshell" diff --git a/code/modules/projectiles/ammunition/caseless/rocket.dm b/code/modules/projectiles/ammunition/caseless/rocket.dm index 5be59b47c59..4b3cf3cd946 100644 --- a/code/modules/projectiles/ammunition/caseless/rocket.dm +++ b/code/modules/projectiles/ammunition/caseless/rocket.dm @@ -55,7 +55,7 @@ icon_state = "nuclear" projectile_type = /obj/item/projectile/bullet/mininuke -obj/item/ammo_casing/caseless/mininuke/meganuke +/obj/item/ammo_casing/caseless/mininuke/meganuke name = "\improper Meganuke" desc = "You thought a mininuke was high yield? try a mininuke that fires mininukes." projectile_type = /obj/item/projectile/bullet/meganuke diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 4cc32236ba5..442aaea710b 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -55,8 +55,8 @@ /obj/item/ammo_box/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_ATOM_POST_ADMIN_SPAWN, .proc/admin_load) - RegisterSignal(src, COMSIG_GUN_MAG_ADMIN_RELOAD, .proc/admin_load) + RegisterSignal(src, COMSIG_ATOM_POST_ADMIN_SPAWN,PROC_REF(admin_load)) + RegisterSignal(src, COMSIG_GUN_MAG_ADMIN_RELOAD,PROC_REF(admin_load)) /// An aheal, but for ammo boxes /obj/item/ammo_box/proc/admin_load() diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index eadda26db96..2adf74c8278 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -267,8 +267,8 @@ ATTACHMENTS /obj/item/gun/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_ATOM_POST_ADMIN_SPAWN, .proc/admin_fill_gun) - RegisterSignal(src, COMSIG_GUN_MAG_ADMIN_RELOAD, .proc/admin_fill_gun) + RegisterSignal(src, COMSIG_ATOM_POST_ADMIN_SPAWN,PROC_REF(admin_fill_gun)) + RegisterSignal(src, COMSIG_GUN_MAG_ADMIN_RELOAD,PROC_REF(admin_fill_gun)) /obj/item/gun/proc/admin_fill_gun() return @@ -465,7 +465,7 @@ ATTACHMENTS else if(G.can_trigger_gun(user)) loop_counter++ var/stam_cost = G.getstamcost(user) - addtimer(CALLBACK(G, /obj/item/gun.proc/process_fire, target, user, TRUE, params, null, stam_cost), loop_counter) + addtimer(CALLBACK(G, TYPE_PROC_REF(/obj/item/gun,process_fire), target, user, TRUE, params, null, stam_cost), loop_counter) var/stam_cost = getstamcost(user) @@ -841,7 +841,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(span_notice("[user] looks down the scope of [src]."), span_notice("You look down the scope of [src].")) else @@ -851,7 +851,7 @@ ATTACHMENTS user.client.pixel_y = 0 UnregisterSignal(user, COMSIG_ATOM_DIR_CHANGE) user.visible_message(span_notice("[user] looks up from the scope of [src]."), span_notice("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 13a999d57be..ad3926f0bc9 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -146,7 +146,7 @@ GLOBAL_LIST_EMPTY(gun_accepted_magazines) 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(usr, GLOBAL_PROC_REF(playsound), src, 'sound/weapons/gun_chamber_round.ogg', 100, 1), 3) else playsound(src, "gun_insert_empty_magazine", 70, 1) new_mag.update_icon() diff --git a/code/modules/projectiles/guns/ballistic/flintlock.dm b/code/modules/projectiles/guns/ballistic/flintlock.dm index eaffb266f32..09f26757864 100644 --- a/code/modules/projectiles/guns/ballistic/flintlock.dm +++ b/code/modules/projectiles/guns/ballistic/flintlock.dm @@ -176,7 +176,7 @@ firing = TRUE var/shoot_delay = round(max(gaussian(prefire_time, prefire_time * prefire_randomness), prefire_time * 0.75), 0.1) fuse_loop.start() - addtimer(CALLBACK(src, .proc/fire_at_cursor, user), shoot_delay) + addtimer(CALLBACK(src,PROC_REF(fire_at_cursor), user), shoot_delay) update_icon() return TRUE diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 6e3256a9dd7..fca0992be9f 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -139,7 +139,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)) @@ -170,7 +170,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/magic.dm b/code/modules/projectiles/guns/magic.dm index 96a5440f13a..2be8681f718 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -71,7 +71,7 @@ return FALSE // Already full soundloop.start() charge_start_message() - charge_timer = addtimer(CALLBACK(src, .proc/charge), recharge_rate, TIMER_UNIQUE|TIMER_STOPPABLE) + charge_timer = addtimer(CALLBACK(src,PROC_REF(charge)), recharge_rate, TIMER_UNIQUE|TIMER_STOPPABLE) /obj/item/gun/magic/proc/charge() recharge_newshot() @@ -83,7 +83,7 @@ return FALSE charges++ charge_partial_message() - charge_timer = addtimer(CALLBACK(src, .proc/charge), recharge_rate, TIMER_UNIQUE|TIMER_STOPPABLE) + charge_timer = addtimer(CALLBACK(src,PROC_REF(charge)), recharge_rate, TIMER_UNIQUE|TIMER_STOPPABLE) /obj/item/gun/magic/proc/charge_full_message() audible_message("[src] lets out a satisfied hum and falls quiet.") diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 9df197059ad..95296a0a08f 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -262,7 +262,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/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm index 1771b71998c..4e4cdc643b7 100644 --- a/code/modules/projectiles/guns/misc/grenade_launcher.dm +++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm @@ -44,4 +44,4 @@ F.active = 1 F.icon_state = initial(F.icon_state) + "_active" playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - addtimer(CALLBACK(F, /obj/item/grenade.proc/prime), 15) + addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade,prime)), 15) diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 8457385a10e..dae511dac87 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -52,7 +52,7 @@ current_target = target active = TRUE current_beam = new(user,current_target,time=6000,beam_icon_state="medbeam",btype=/obj/effect/ebeam/medical) - INVOKE_ASYNC(current_beam, /datum/beam.proc/Start) + INVOKE_ASYNC(current_beam, TYPE_PROC_REF(/datum/beam,Start)) SSblackbox.record_feedback("tally", "gun_fired", 1, type) diff --git a/code/modules/projectiles/multichance_projectile_hit_behaviour.dm b/code/modules/projectiles/multichance_projectile_hit_behaviour.dm index 9b532899ca4..59c96a4c55d 100644 --- a/code/modules/projectiles/multichance_projectile_hit_behaviour.dm +++ b/code/modules/projectiles/multichance_projectile_hit_behaviour.dm @@ -63,7 +63,7 @@ if(prob(PROB_ARMS_HIT+firer_crit_shot_add)) if(!T.mcphb_arms_hit) to_chat(firer, span_green("The [P] hits [T] on their arm, making it jitter and forcing it to move inconsistently!")) - INVOKE_ASYNC(T, /mob.proc/emote, "me", EMOTE_VISIBLE, "'s arms jitter in pain!") + INVOKE_ASYNC(T, TYPE_PROC_REF(/mob,emote), "me", EMOTE_VISIBLE, "'s arms jitter in pain!") T.mcphb_arms_hit = TRUE //arms got hit, so for a while don't do damage T.melee_damage_lower *= TRGT_DEBUFF_MULT_DAM_ARMS_HIT T.melee_damage_upper *= TRGT_DEBUFF_MULT_DAM_ARMS_HIT @@ -104,7 +104,7 @@ if(prob(PROB_LEGS_HIT+firer_crit_shot_add)) if(!T.mcphb_legs_hit) to_chat(firer, span_green("The [P] hits [T] on their legs, forcing them to trudge along!")) - INVOKE_ASYNC(T, /mob.proc/emote, "me", EMOTE_VISIBLE, "'s legs jitter in pain!") + INVOKE_ASYNC(T, TYPE_PROC_REF(/mob,emote), "me", EMOTE_VISIBLE, "'s legs jitter in pain!") T.mcphb_legs_hit = TRUE T.move_to_delay *= SPEED_MULT_LEGS_HIT diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 54ca843301c..22f228adbed 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -771,7 +771,7 @@ fired = TRUE randomize_damage() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) if(hitscan) diff --git a/code/modules/projectiles/projectile/energy/net_snare.dm b/code/modules/projectiles/projectile/energy/net_snare.dm index db9239ee03b..3c6bb7c9dd4 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/energy/stun.dm b/code/modules/projectiles/projectile/energy/stun.dm index 7143de07b23..efbc439350f 100644 --- a/code/modules/projectiles/projectile/energy/stun.dm +++ b/code/modules/projectiles/projectile/energy/stun.dm @@ -32,7 +32,7 @@ C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") else if(tase_duration && (C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE) && !HAS_TRAIT(C, TRAIT_TASED_RESISTANCE)) C.apply_status_effect(strong_tase? STATUS_EFFECT_TASED : STATUS_EFFECT_TASED_WEAK, tase_duration) - addtimer(CALLBACK(C, /mob/living/carbon.proc/do_jitter_animation, jitter), 5) + addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon,do_jitter_animation), jitter), 5) /obj/item/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet do_sparks(1, TRUE, src) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 79728d54bb0..dac29c5011d 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -381,8 +381,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) @@ -396,7 +396,7 @@ /obj/structure/closet/decay/proc/decay() animate(src, alpha = 0, time = 30) - addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, src), 30) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(qdel), src), 30) /obj/structure/closet/decay/open(mob/living/user) . = ..() @@ -404,12 +404,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 @@ -505,7 +505,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(usr, GLOBAL_PROC_REF(explosion), T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i) /obj/item/projectile/magic/aoe/fireball/lowpower name = "bolt of fireball" diff --git a/code/modules/projectiles/projectile/special/hallucination.dm b/code/modules/projectiles/projectile/special/hallucination.dm index 3c51b5ac13f..c7d9d695cb2 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 @@ -171,7 +171,7 @@ if(hal_target.dna && hal_target.dna.check_mutation(HULK)) hal_target.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") else if((hal_target.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(hal_target, TRAIT_STUNIMMUNE)) - addtimer(CALLBACK(hal_target, /mob/living/carbon.proc/do_jitter_animation, 20), 5) + addtimer(CALLBACK(hal_target, TYPE_PROC_REF(/mob/living/carbon,do_jitter_animation), 20), 5) /obj/item/projectile/hallucination/disabler name = "disabler beam" diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index c9bf08a7012..1b10ca47cc5 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -479,7 +479,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 df4e6bb5492..2c988e3dace 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -95,16 +95,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 848bd1eaea9..6e8a75dea1a 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 792d71eee98..769f4faf6f9 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 diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 0caefc18a2f..bc0e59b06f8 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 567c07eff5d..0437377b6b5 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -2666,15 +2666,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(tastes[taste] > minimum_percent*2) + primary_tastes += taste + else if(tastes[taste] > minimum_percent) + 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/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 45a1fc86176..c60a64b6b6b 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1025,8 +1025,8 @@ M.visible_message(span_warning("[M]'s body starts convulsing!")) M.notify_ghost_cloning(source = M) M.do_jitter_animation(10) - addtimer(CALLBACK(M, /mob/living/carbon.proc/do_jitter_animation, 10), 40) //jitter immediately, then again after 4 and 8 seconds - addtimer(CALLBACK(M, /mob/living/carbon.proc/do_jitter_animation, 10), 80) + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living/carbon,do_jitter_animation), 10), 40) //jitter immediately, then again after 4 and 8 seconds + addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living/carbon,do_jitter_animation), 10), 80) spawn(100) //so the ghost has time to re-enter if(iscarbon(M)) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 83bb4db339d..483a1caafd4 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2641,7 +2641,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/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 2dc5a8e845d..cbf3d3600b0 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -6,7 +6,7 @@ required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/copper = 1) required_catalysts = list(/datum/reagent/toxin/plasma = 5) -datum/chemical_reaction/rezadone +/datum/chemical_reaction/rezadone name = "Rezadone" id = /datum/reagent/medicine/rezadone results = list(/datum/reagent/medicine/rezadone = 3) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 8e03d68525e..47631b94ac4 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 a4674029c5d..2ecc2eea4f5 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -125,11 +125,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(span_danger("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" @@ -138,7 +138,7 @@ /datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T) T.visible_message(span_danger("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" @@ -147,7 +147,7 @@ /datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T) T.visible_message(span_danger("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 @@ -227,11 +227,11 @@ /datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message(span_danger("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) @@ -270,11 +270,11 @@ /datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) T.visible_message(span_danger("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) @@ -455,11 +455,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(span_danger("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) @@ -580,7 +580,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 @@ -655,7 +655,7 @@ S.visible_message(span_danger("Infused with plasma, the core begins to expand uncontrollably!")) S.icon_state = "[S.base_state]_active" S.active = TRUE - addtimer(CALLBACK(S, /obj/item/grenade.proc/prime), rand(15,60)) + addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade,prime)), rand(15,60)) qdel(holder.my_atom) //deleto ..() @@ -671,7 +671,7 @@ S.visible_message(span_danger("Infused with slime jelly, the core begins to expand uncontrollably!")) S.icon_state = "[S.base_state]_active" S.active = TRUE - addtimer(CALLBACK(S, /obj/item/grenade.proc/prime), rand(15,60)) + addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade,prime)), rand(15,60)) qdel(holder.my_atom) //deleto ..() diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index cd901b6e1ad..bf6aacd029a 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 58505071a6c..714a7c2bada 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -139,7 +139,7 @@ else if(bartender_check(target) && thrown) visible_message(span_notice("[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/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm index df1d3d6f3d7..9ce502cc19c 100644 --- a/code/modules/reagents/reagent_containers/chem_pack.dm +++ b/code/modules/reagents/reagent_containers/chem_pack.dm @@ -44,7 +44,7 @@ . += span_notice("Alt-click to seal it.") -obj/item/reagent_containers/chem_pack/attack_self(mob/user) +/obj/item/reagent_containers/chem_pack/attack_self(mob/user) if(sealed) return ..() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 630061778f4..69621e7fb21 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -11,7 +11,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) @@ -61,7 +61,7 @@ log_reagent("INGESTION: SELF: [key_name(user)] (loc [user.loc] at [AREACOORD(T)]) - [reagents.log_list()]") var/fraction = min(5/reagents.total_volume, 1) reagents.reaction(M, INGEST, fraction) - addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5, null, null, null, self_fed? "self swallowed" : "fed by [user]"), 5) + addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents,trans_to), M, 5, null, null, null, self_fed? "self swallowed" : "fed by [user]"), 5) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) /obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 422a613a796..d03a6daa258 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)) @@ -508,7 +508,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)) diff --git a/code/modules/reagents/reagent_containers/medspray.dm b/code/modules/reagents/reagent_containers/medspray.dm index f50a060c7af..ac5c6ac5ad2 100644 --- a/code/modules/reagents/reagent_containers/medspray.dm +++ b/code/modules/reagents/reagent_containers/medspray.dm @@ -32,7 +32,7 @@ to_chat(user, span_notice("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 0d38fd31f79..7235430ea04 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, span_notice("[makes_me_think]")), 50) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), M, span_notice("[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 fe62a98112c..f4305942c69 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -90,7 +90,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 91a6cd4e8ac..e8d629006fc 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) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index ab1934f291b..aef95724790 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 aa618f2699c..7e57491d771 100644 --- a/code/modules/recycling/disposal/construction.dm +++ b/code/modules/recycling/disposal/construction.dm @@ -30,7 +30,7 @@ if(flip) var/datum/component/simple_rotation/rotcomp = GetComponent(/datum/component/simple_rotation) - INVOKE_ASYNC(CALLBACK(rotcomp, /datum/component/simple_rotation.proc/BaseRot, ROTATION_FLIP)) + INVOKE_ASYNC(CALLBACK(rotcomp, TYPE_PROC_REF(/datum/component/simple_rotation,BaseRot), ROTATION_FLIP)) update_icon() @@ -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/holder.dm b/code/modules/recycling/disposal/holder.dm index 37b052399d4..146d91e07e8 100644 --- a/code/modules/recycling/disposal/holder.dm +++ b/code/modules/recycling/disposal/holder.dm @@ -70,9 +70,9 @@ var/delay = world.tick_lag var/datum/move_loop/our_loop = SSmove_manager.move_disposals(src, delay = delay, timeout = delay * count) if(our_loop) - RegisterSignal(our_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, .proc/pre_move) - RegisterSignal(our_loop, COMSIG_MOVELOOP_POSTPROCESS, .proc/try_expel) - RegisterSignal(our_loop, COMSIG_PARENT_QDELETING, .proc/movement_stop) + RegisterSignal(our_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK,PROC_REF(pre_move)) + RegisterSignal(our_loop, COMSIG_MOVELOOP_POSTPROCESS,PROC_REF(try_expel)) + RegisterSignal(our_loop, COMSIG_PARENT_QDELETING,PROC_REF(movement_stop)) current_pipe = loc /obj/structure/disposalholder/proc/pre_move(datum/move_loop/source) diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm index 8994983effc..9d0f36f932f 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 642c8708de3..619e5620a03 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, span_notice("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 6081e51697f..ed0d6a180f9 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, span_notice("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, span_danger("[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, span_notice("[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 c7202a12ca1..9060dfc5a96 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 19a73d42fbd..1dedf5b09a3 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_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index d0f7fff97f9..3be6621f8ad 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -100,7 +100,7 @@ UnregisterSignal(chamber, COMSIG_PARENT_QDELETING) chamber = new_chamber if(chamber) - RegisterSignal(chamber, COMSIG_PARENT_QDELETING, .proc/react_to_chamber_del) + RegisterSignal(chamber, COMSIG_PARENT_QDELETING,PROC_REF(react_to_chamber_del)) /obj/machinery/computer/nanite_chamber_control/proc/react_to_chamber_del(datum/source) SIGNAL_HANDLER diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index b00554e52c8..d8292ab9287 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 260811445b8..61ff8963260 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/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index 1a9f36ac3e9..1d39566c79a 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -11,7 +11,7 @@ /datum/nanite_program/sleepy/on_trigger(comm_message) to_chat(host_mob, span_warning("You start to feel very sleepy...")) host_mob.drowsyness += 20 - addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200)) + addtimer(CALLBACK(host_mob, TYPE_PROC_REF(/mob/living,Sleeping), 200), rand(60,200)) /datum/nanite_program/paralyzing name = "Paralysis" diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index 1979a6d8042..ef1303fc3c9 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(span_warning("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow..."),\ span_userdanger("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 5def27035b0..f3dcce79d8b 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 874129b75d5..106f59393b8 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 d95b73a6924..b577c903281 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, span_danger("You feel a sudden tug from an unknown force, and feel a pull to bluespace!")) to_chat(owner, span_notice("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 @@ -236,7 +236,7 @@ duration = -1 alert_type = null -datum/status_effect/rebreathing/tick() +/datum/status_effect/rebreathing/tick() owner.adjustOxyLoss(-6, 0) //Just a bit more than normal breathing. /////////////////////////////////////////////////////// @@ -528,7 +528,7 @@ datum/status_effect/rebreathing/tick() ADD_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus") return ..() -datum/status_effect/stabilized/blue/on_remove() +/datum/status_effect/stabilized/blue/on_remove() REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus") return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 32cdc8b91c9..e2dd19976d9 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(span_danger("[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 ff155ecf567..a5202155153 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(span_warning("[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(span_danger("[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 3f2a66e01fd..ccdc1b33b62 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(span_danger("[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 79570cc46d0..dc2126e3c1e 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 665401102a5..6f1a1b299c9 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -254,7 +254,7 @@ to_chat(user, span_warning("Your glow is already enhanced!")) return species.update_glow(user, 5) - addtimer(CALLBACK(species, /datum/species/jelly/luminescent.proc/update_glow, user, LUMINESCENT_DEFAULT_GLOW), 600) + addtimer(CALLBACK(species, TYPE_PROC_REF(/datum/species/jelly/luminescent,update_glow), user, LUMINESCENT_DEFAULT_GLOW), 600) to_chat(user, span_notice("You start glowing brighter.")) if(SLIME_ACTIVATE_MAJOR) @@ -460,7 +460,7 @@ return to_chat(user, span_notice("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 12704924b4b..7fec472dfa5 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 46e566508be..6e18789fa5e 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -159,7 +159,7 @@ toggle_the_gate() /obj/structure/necropolis_gate/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/structure/necropolis_gate/locked @@ -298,7 +298,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) . = ..() icon_state = "[tile_key][rand(1, tile_random_sprite_max)]" var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) @@ -328,7 +328,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) switch(fall_on_cross) if(COLLAPSE_ON_CROSS, DESTROY_ON_CROSS) if((I && I.w_class >= WEIGHT_CLASS_BULKY) || (L && !(L.movement_type & FLYING) && L.mob_size >= MOB_SIZE_HUMAN)) //too heavy! too big! aaah! - INVOKE_ASYNC(src, .proc/collapse) + INVOKE_ASYNC(src,PROC_REF(collapse)) if(UNIQUE_EFFECT) crossed_effect(AM) @@ -347,7 +347,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 47be724c5b7..476b18da9c0 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 7ffe568044b..87ecc81ad12 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 da855c0cf2e..92284a45957 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(usr, 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/on_move.dm b/code/modules/shuttle/on_move.dm index c23ce92a07f..b53fc83dfe6 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) . = ..() diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index 4bf6eac0ebe..2a0bdf7f9ca 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 47a8b537d78..69f2bc0e9c6 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -94,7 +94,7 @@ L.visible_message(span_revennotice("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious."), span_revendanger("[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) @@ -181,7 +181,7 @@ . = ..() var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/smithing/anvil.dm b/code/modules/smithing/anvil.dm index 7bde3b1cf1e..80d3e8290c3 100644 --- a/code/modules/smithing/anvil.dm +++ b/code/modules/smithing/anvil.dm @@ -108,7 +108,7 @@ GLOBAL_LIST_INIT(anvil_recipes, list( /obj/structure/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/anvil/attackby(obj/item/I, mob/user) diff --git a/code/modules/smithing/finished_items.dm b/code/modules/smithing/finished_items.dm index 98ff5adfd57..49259df4abc 100644 --- a/code/modules/smithing/finished_items.dm +++ b/code/modules/smithing/finished_items.dm @@ -73,8 +73,8 @@ /obj/item/melee/smith/twohand/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/melee/smith/twohand/proc/on_wield(obj/item/source, mob/user) wielded = TRUE diff --git a/code/modules/spells/spell_but_good.dm b/code/modules/spells/spell_but_good.dm index 120ec806c14..c0596fd0eec 100644 --- a/code/modules/spells/spell_but_good.dm +++ b/code/modules/spells/spell_but_good.dm @@ -55,7 +55,7 @@ if(!isliving(loc)) // fuck qdel(src) return - RegisterSignal(loc, COMSIG_MOB_CLICKON, .proc/intercept_click) + RegisterSignal(loc, COMSIG_MOB_CLICKON,PROC_REF(intercept_click)) owner = WEAKREF(loc) /obj/item/hand_item/caster/Destroy() diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm index fa4be10141b..359c69c7479 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 26dd1579861..b0aa076794b 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 a970f0045c5..4becb00cf9b 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 8e9b8dbf026..3c576603edb 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(span_warning("[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 2abe80c8caa..4766eb484d3 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 8a71ac617e2..cd7908e1c83 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 e622b4a1cad..25f808a5dc3 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 bc835c89a56..865eeba41b0 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 d641be3ae3e..6372c39ae94 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() @@ -83,7 +83,7 @@ . = ..() setDir(pick(GLOB.cardinals)) var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = .proc/on_entered, + COMSIG_ATOM_ENTERED =PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index d72a6e33775..0f412ebdeba 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -31,7 +31,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 @@ -285,7 +285,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 867820d2570..6ca9ab6b035 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, span_notice("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, span_userdanger("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, span_notice("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 a4b825dbba5..1e453a37be9 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 92cb695d883..1f5939aa2b9 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -330,7 +330,7 @@ if(!silent) to_chat(owner, span_warning("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 2e7e4d88710..ba968bac369 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!",span_notice("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 @@ -98,7 +98,7 @@ owner.set_heartattack(TRUE) failed = TRUE -obj/item/organ/heart/slime +/obj/item/organ/heart/slime name = "slime heart" desc = "It seems we've gotten to the slimy core of the matter." icon_state = "heart-s-on" @@ -199,7 +199,7 @@ obj/item/organ/heart/slime 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 @@ -213,7 +213,7 @@ obj/item/organ/heart/slime var/rid = /datum/reagent/medicine/epinephrine var/ramount = 10 -obj/item/organ/heart/cybernetic/upgraded/on_life() +/obj/item/organ/heart/cybernetic/upgraded/on_life() . = ..() if(!.) return diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 7e58ff0c0c7..5bf48ee6d13 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/soda_organ.dm b/code/modules/surgery/organs/soda_organ.dm index 1de913958f0..3ecb18bea04 100644 --- a/code/modules/surgery/organs/soda_organ.dm +++ b/code/modules/surgery/organs/soda_organ.dm @@ -91,7 +91,7 @@ /obj/item/organ/sodie_organ/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = TRUE) . = ..() - RegisterSignal(M, COMSIG_CARBON_REAGENT_POST_LIFE, .proc/bank_sauce) + RegisterSignal(M, COMSIG_CARBON_REAGENT_POST_LIFE,PROC_REF(bank_sauce)) /obj/item/organ/sodie_organ/Remove(special = FALSE) UnregisterSignal(owner, COMSIG_CARBON_REAGENT_POST_LIFE) diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 5550eb4570a..27d3cc1ef89 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 d5d879bc457..1f9ecdbd8de 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -112,15 +112,15 @@ M.dna.species.say_mod = say_mod if(length(initial_accents) || length(accents)) //M.UnregisterSignal(M, COMSIG_MOB_SAY) - RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech, override = TRUE) + RegisterSignal(M, COMSIG_MOB_SAY,PROC_REF(handle_speech), override = TRUE) /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, TYPE_PROC_REF(COMSIG_MOB_SAY, /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 a9b1d7b8086..6dcbf65f311 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -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(usr, GLOBAL_PROC_REF(_step), L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1)) //WALK else if((findtext(message, walk_words))) @@ -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 @@ -504,7 +504,7 @@ 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(/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, span_nicegreen("[E.enthrallGender] is so nice to listen to.")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), L, span_nicegreen("[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, span_love("[E.enthrallGender] has praised me!!")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), L, span_love("[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, span_nicegreen("I've been praised for doing a good job!")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), L, span_nicegreen("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(usr, GLOBAL_PROC_REF(to_chat), L, "I've let [E.enthrallGender] down...!"), 5) else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, span_warning("I've let [E.enthrallGender] down...")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), L, span_warning("I've let [E.enthrallGender] down...")), 5) else - addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, span_warning("I've failed [E.master]...")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), L, span_warning("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(usr, 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(usr, 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 @@ -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(usr, 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(usr, 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(usr, 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, span_warning("You're unable to forget about [(E.lewd?"the dominating presence of [E.enthrallGender]":"[E.master]")]!")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), C, span_warning("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, span_warning("You wake up, forgetting everything that just happened. You must've dozed off..? How embarassing!")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), C, span_warning("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(usr, 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(usr, 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(usr, 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(usr, 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(usr, 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(usr, 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(usr, 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(usr, 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(usr, 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, span_notice("You whisper your triggers to [(E.lewd?"Your [E.enthrallGender]":"[E.master]")].")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), C, span_notice("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, span_notice("[(E.lewd?"your [E.enthrallGender]":"[E.master]")] whispers you a new trigger.")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), H, span_notice("[(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, span_warning("Your pet looks at you confused, it seems they don't understand that effect!")) @@ -1203,7 +1203,7 @@ objective = replacetext(lowertext(objective), "strangle", "meow at") 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, span_notice("[(E.lewd?"Your [E.enthrallGender]":"[E.master]")] whispers you a new objective.")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), H, span_notice("[(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]") @@ -1232,7 +1232,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, span_nicegreen("[(E.lewd?"You hear the words of your [E.enthrallGender] again!! They're back!!":"You recognise the voice of [E.master].")]")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), H, span_nicegreen("[(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 @@ -1247,7 +1247,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(usr, 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.") @@ -1260,7 +1260,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(usr, GLOBAL_PROC_REF(to_chat), L, "Your muscles freeze up!"), 5) to_chat(user, "You cause [L] to freeze up!") //HALLUCINATE @@ -1281,7 +1281,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(usr, GLOBAL_PROC_REF(to_chat), L, "You feel your metabolism speed up!"), 5) to_chat(user, "You speed [L]'s metabolism up!") //COLD @@ -1292,7 +1292,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(usr, GLOBAL_PROC_REF(to_chat), L, "You feel your metabolism slow down!"), 5) to_chat(user, "You slow [L]'s metabolism down!") //GET UP @@ -1306,7 +1306,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(usr, 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 @@ -1318,7 +1318,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(usr, 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 666201a3225..f4c43b6a541 100644 --- a/code/modules/tgs/v3210/api.dm +++ b/code/modules/tgs/v3210/api.dm @@ -102,7 +102,7 @@ #if DM_VERSION >= 515 call_ext(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval #else - 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 #endif return TRUE diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index 73d56426c1b..c9d3b4ea72c 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) @@ -48,8 +48,8 @@ window.send_asset(get_asset_datum(/datum/asset/spritesheet/chat)) initialized_at = world.time - addtimer(CALLBACK(src, .proc/request_telemetry), 1 SECONDS) - addtimer(CALLBACK(src, .proc/on_initialize_timed_out), 10 SECONDS) + addtimer(CALLBACK(src,PROC_REF(request_telemetry)), 1 SECONDS) + addtimer(CALLBACK(src,PROC_REF(on_initialize_timed_out)), 10 SECONDS) /** * private diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index 31e570cd943..455ee8bdf0a 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 1bf0883bd78..73a58d8930e 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/unit_tests/emoting.dm b/code/modules/unit_tests/emoting.dm index 5795ab34374..2e9fefe0815 100644 --- a/code/modules/unit_tests/emoting.dm +++ b/code/modules/unit_tests/emoting.dm @@ -3,7 +3,7 @@ /datum/unit_test/emoting/Run() var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human) - RegisterSignal(human, COMSIG_MOB_EMOTE, .proc/on_emote_used) + RegisterSignal(human, COMSIG_MOB_EMOTE,PROC_REF(on_emote_used)) human.say("*shrug") TEST_ASSERT_EQUAL(emotes_used, 1, "Human did not shrug") diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index 6ae1577dbf9..8f6a376224c 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/speedbike.dm b/code/modules/vehicles/speedbike.dm index adbc79b16b8..33d07eb9194 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -44,7 +44,7 @@ icon = 'icons/obj/car.dmi' icon_state = "speedwagon" layer = LYING_MOB_LAYER - var/static/mutable_appearance/overlay = mutable_appearance(icon, "speedwagon_cover", ABOVE_MOB_LAYER) + var/mutable_appearance/overlay max_buckled_mobs = 4 var/crash_all = FALSE //CHAOS pixel_y = -48 @@ -52,6 +52,7 @@ /obj/vehicle/ridden/space/speedwagon/Initialize() . = ..() + overlay = mutable_appearance(icon, "speedwagon_cover", ABOVE_MOB_LAYER) add_overlay(overlay) var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.vehicle_move_delay = 0 diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index 25e39a51537..d5749997543 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -26,7 +26,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/vending/brahminvendordm.dm b/code/modules/vending/brahminvendordm.dm index 03aae646508..d0a10d7e7fa 100644 --- a/code/modules/vending/brahminvendordm.dm +++ b/code/modules/vending/brahminvendordm.dm @@ -68,7 +68,7 @@ GLOBAL_VAR(orbital_cow_cooldown) COOLDOWN_START(src, clickyclick, 4 SECONDS) playsound(src, 'sound/machines/keyboard_beep.ogg', 40, ignore_walls = TRUE) user.show_message(span_notice("You press one or more buttons on the uplink...")) - addtimer(CALLBACK(src, .proc/claim_beacon, user), 3 SECONDS) + addtimer(CALLBACK(src,PROC_REF(claim_beacon), user), 3 SECONDS) /obj/item/brahmin_beacon/proc/claim_beacon(mob/user) if(!GLOB.orbital_cow_catapult_ready) @@ -84,9 +84,9 @@ GLOBAL_VAR(orbital_cow_cooldown) playsound(src, 'sound/machines/fuckedup_fax.ogg', 80, ignore_walls = TRUE) if(in_range(src, user)) user.show_message(span_notice("...and the uplink starts making noises like it's doing something!")) - addtimer(CALLBACK(src, .proc/drop_cow, user), 7.5 SECONDS) + addtimer(CALLBACK(src,PROC_REF(drop_cow), user), 7.5 SECONDS) addtimer(VARSET_CALLBACK(GLOB, orbital_cow_catapult_ready, TRUE), COW_CANNON_RELOAD_DELAY) - addtimer(CALLBACK(src, .proc/reset_beacon), COW_CANNON_RELOAD_DELAY) + addtimer(CALLBACK(src,PROC_REF(reset_beacon)), COW_CANNON_RELOAD_DELAY) /obj/item/brahmin_beacon/proc/drop_cow(mob/user) var/obj/structure/closet/supplypod/bluespacepod/pod = new() @@ -109,7 +109,7 @@ GLOBAL_VAR(orbital_cow_cooldown) var/turf/hereiam = get_turf(src) hereiam.visible_message(span_userdanger("[src] starts beeping furiously! HIT THE DECK!")) new /obj/effect/abstract/DPtarget(get_turf(src), pod) - addtimer(CALLBACK(src, .proc/reset_beacon), 7.5 SECONDS) + addtimer(CALLBACK(src,PROC_REF(reset_beacon)), 7.5 SECONDS) /obj/item/brahmin_beacon/proc/reset_beacon(mob/user) delivering_cow = FALSE @@ -120,6 +120,6 @@ GLOBAL_VAR(orbital_cow_cooldown) if(beeps_left-- < 0) beeps_left = initial(beeps_left) return - addtimer(CALLBACK(src, .proc/beep_loop), 0.2 SECONDS) + addtimer(CALLBACK(src,PROC_REF(beep_loop)), 0.2 SECONDS) #undef COW_CANNON_RELOAD_DELAY diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index b16ae3ad311..18004e01c4f 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -252,15 +252,15 @@ /obj/vore_belly/ComponentInitialize() . = ..() - RegisterSignal(src, COMSIG_VORE_DEVOUR_ATOM, .proc/nom_mob) - RegisterSignal(src, COMSIG_VORE_STOP_SOUNDS, .proc/stop_sounds) - RegisterSignal(src, COMSIG_VORE_AUTO_EMOTE, .proc/auto_emote) - RegisterSignal(src, COMSIG_VORE_ADD_BELLY, .proc/add_belly) - RegisterSignal(src, COMSIG_BELLY_EXPEL_SPECIFIC, .proc/release_specific_contents) - RegisterSignal(src, COMSIG_VORE_EXPEL_MOB_OOC, .proc/ooc_escape) - RegisterSignal(src, COMSIG_VORE_EXPEL_ALL, .proc/release_all_contents) - RegisterSignal(src, COMSIG_VORE_RECALCULATE_SLOWDOWN, .proc/update_slowdowns) - RegisterSignal(src, COMSIG_BELLY_HANDLE_TRASH, .proc/hork_trash) + RegisterSignal(src, COMSIG_VORE_DEVOUR_ATOM,PROC_REF(nom_mob)) + RegisterSignal(src, COMSIG_VORE_STOP_SOUNDS,PROC_REF(stop_sounds)) + RegisterSignal(src, COMSIG_VORE_AUTO_EMOTE,PROC_REF(auto_emote)) + RegisterSignal(src, COMSIG_VORE_ADD_BELLY,PROC_REF(add_belly)) + RegisterSignal(src, COMSIG_BELLY_EXPEL_SPECIFIC,PROC_REF(release_specific_contents)) + RegisterSignal(src, COMSIG_VORE_EXPEL_MOB_OOC,PROC_REF(ooc_escape)) + RegisterSignal(src, COMSIG_VORE_EXPEL_ALL,PROC_REF(release_all_contents)) + RegisterSignal(src, COMSIG_VORE_RECALCULATE_SLOWDOWN,PROC_REF(update_slowdowns)) + RegisterSignal(src, COMSIG_BELLY_HANDLE_TRASH,PROC_REF(hork_trash)) /obj/vore_belly/Destroy() // be kind, undefined @@ -294,11 +294,11 @@ SIGNAL_HANDLER owner = new_owner START_PROCESSING(SSvore, src) - RegisterSignal(new_owner, COMSIG_VORE_STOP_SOUNDS, .proc/stop_sounds) - RegisterSignal(new_owner, COMSIG_BELLY_EXPEL_SPECIFIC, .proc/release_specific_contents) - RegisterSignal(new_owner, COMSIG_VORE_EXPEL_MOB_OOC, .proc/ooc_escape) - RegisterSignal(new_owner, COMSIG_VORE_EXPEL_ALL, .proc/release_all_contents) - RegisterSignal(new_owner, COMSIG_MOB_APPLY_DAMAGE, .proc/pass_damage) // OUR APC IS UNDER ATTACK + RegisterSignal(new_owner, COMSIG_VORE_STOP_SOUNDS,PROC_REF(stop_sounds)) + RegisterSignal(new_owner, COMSIG_BELLY_EXPEL_SPECIFIC,PROC_REF(release_specific_contents)) + RegisterSignal(new_owner, COMSIG_VORE_EXPEL_MOB_OOC,PROC_REF(ooc_escape)) + RegisterSignal(new_owner, COMSIG_VORE_EXPEL_ALL,PROC_REF(release_all_contents)) + RegisterSignal(new_owner, COMSIG_MOB_APPLY_DAMAGE,PROC_REF(pass_damage)) // OUR APC IS UNDER ATTACK // Called whenever an atom enters this belly /obj/vore_belly/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) @@ -311,10 +311,10 @@ SEND_SIGNAL(src, COMSIG_BELLY_EXPEL_SPECIFIC, living_prey) // oops! out you go! return living_prey.become_blind("belly_[REF(src)]") - RegisterSignal(living_prey, COMSIG_MOB_DEATH, .proc/digestion_death) - RegisterSignal(living_prey, COMSIG_MOB_GHOSTIZE, .proc/stop_sounds_ghostize) - RegisterSignal(living_prey, COMSIG_LIVING_RESIST, .proc/relay_resist) - RegisterSignal(living_prey, COMSIG_ATOM_RELAYMOVE, .proc/relay_resist) + RegisterSignal(living_prey, COMSIG_MOB_DEATH,PROC_REF(digestion_death)) + RegisterSignal(living_prey, COMSIG_MOB_GHOSTIZE,PROC_REF(stop_sounds_ghostize)) + RegisterSignal(living_prey, COMSIG_LIVING_RESIST,PROC_REF(relay_resist)) + RegisterSignal(living_prey, COMSIG_ATOM_RELAYMOVE,PROC_REF(relay_resist)) if(CHECK_PREFS(living_prey, VOREPREF_VORE_MESSAGES)) var/raw_desc //Let's use this to avoid needing to write the reformat code twice if(absorbed_desc && SEND_SIGNAL(living_prey, COMSIG_VORE_ABSORBED_STATE)) @@ -330,7 +330,7 @@ formatted_desc = replacetext(formatted_desc, "%prey", living_prey) //replace with whatever mob entered into this belly to_chat(living_prey, span_notice("[formatted_desc]"), pref_check = VOREPREF_VORE_MESSAGES) - RegisterSignal(arrived, COMSIG_PARENT_PREQDELETED, .proc/trigger_slowdown_update) + RegisterSignal(arrived, COMSIG_PARENT_PREQDELETED,PROC_REF(trigger_slowdown_update)) //Generic entered message SEND_SIGNAL(arrived, COMSIG_VORE_ATOM_DEVOURED, src, owner) SEND_SIGNAL(arrived, COMSIG_VORE_UPDATE_PANEL) @@ -623,7 +623,7 @@ // M.updateVRPanel() // Setup the autotransfer checks if needed if(!isnull(transferlocation) && autotransferchance > 0) - addtimer(CALLBACK(src, .proc/check_autotransfer, movable_prey), autotransferwait) + addtimer(CALLBACK(src,PROC_REF(check_autotransfer), movable_prey), autotransferwait) /obj/vore_belly/proc/check_autotransfer(atom/movable/movable_prey) // Some sanity checks @@ -634,7 +634,7 @@ return SEND_SIGNAL(src, COMSIG_VORE_UPDATE_PANEL) // Didn't transfer, so wait before retrying - addtimer(CALLBACK(src, .proc/check_autotransfer, movable_prey), autotransferwait) + addtimer(CALLBACK(src,PROC_REF(check_autotransfer), movable_prey), autotransferwait) ///Transfers contents from one belly to another /obj/vore_belly/proc/transfer_contents(atom/movable/movable_prey, obj/vore_belly/target, silent = FALSE) @@ -845,13 +845,13 @@ send_voremessage(living_prey, struggle_messages_outside, struggle_messages_inside) if(!escapechance && owner.stat != CONSCIOUS) - INVOKE_ASYNC(src, .proc/attempt_escape, living_prey) //If owner is stat (dead, KO) we can actually escape + INVOKE_ASYNC(src,PROC_REF(attempt_escape), living_prey) //If owner is stat (dead, KO) we can actually escape return if(!escapable) //If the stomach has escapable enabled. return if(prob(escapechance)) //Let's have it check to see if the prey escapes first. - INVOKE_ASYNC(src, .proc/attempt_escape, living_prey) + INVOKE_ASYNC(src,PROC_REF(attempt_escape), living_prey) if(prob(transferchance) && transferlocation) //Next, let's have it see if they end up getting into an even bigger mess then when they started. var/list/assbellies = list() SEND_SIGNAL(src, COMSIG_VORE_GET_BELLIES, assbellies, TRUE) diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index a753a64f74d..565bcd5a551 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -1,7 +1,7 @@ ///////////////////// Mob Living ///////////////////// /mob/living/ComponentInitialize() . = ..() - RegisterSignal(src, list(COMSIG_MOB_CLIENT_LOGIN, COMSIG_MOB_KEY_CHANGE), .proc/vorify) + RegisterSignal(src, list(COMSIG_MOB_CLIENT_LOGIN, COMSIG_MOB_KEY_CHANGE),PROC_REF(vorify)) /mob/living/proc/vorify() if(!CHECK_PREFS(src, VOREPREF_MASTER)) diff --git a/code/modules/vore/eating/vore_core.dm b/code/modules/vore/eating/vore_core.dm index 010f8fb5e59..23d402a1933 100644 --- a/code/modules/vore/eating/vore_core.dm +++ b/code/modules/vore/eating/vore_core.dm @@ -34,31 +34,31 @@ /datum/component/vore/Initialize() if(!SSvore.should_have_vore(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOB_CLIENT_LOGIN), .proc/setup_vore) - RegisterSignal(parent, list(COMSIG_VORE_SAVE_PREFS), .proc/save_prefs) - RegisterSignal(parent, list(COMSIG_VORE_LOAD_PREFS), .proc/load_prefs) - RegisterSignal(parent, list(COMSIG_VORE_ABSORBED_STATE), .proc/absorbed_state) - RegisterSignal(parent, list(COMSIG_VORE_ADD_BELLY), .proc/add_belly) - RegisterSignal(parent, list(COMSIG_VORE_REMOVE_BELLY), .proc/remove_belly) - RegisterSignal(parent, list(COMSIG_VORE_GET_BELLIES), .proc/get_bellies) - RegisterSignal(parent, list(COMSIG_VORE_HAS_BELLIES), .proc/has_belly) - RegisterSignal(parent, list(COMSIG_VORE_VERIFY_BELLY), .proc/verify_belly) - RegisterSignal(parent, list(COMSIG_VORE_SET_SELECTED_BELLY), .proc/select_belly) - RegisterSignal(parent, list(COMSIG_VORE_SWAP_BELLY_INDEX), .proc/swap_belly_index) - RegisterSignal(parent, list(COMSIG_VORE_DO_VORE), .proc/vore_attack) - RegisterSignal(parent, list(COMSIG_VORE_SNIFF_LIVING), .proc/sniff_mob) - RegisterSignal(parent, list(COMSIG_VORE_UPDATE_PANEL), .proc/update_vore_panel) - RegisterSignal(parent, list(COMSIG_VORE_TOGGLE_VOREMODE), .proc/toggle_voremode) - RegisterSignal(parent, list(COMSIG_VORE_GET_VOREMODE), .proc/get_voremode) - RegisterSignal(parent, list(COMSIG_VORE_CAN_EAT), .proc/can_eat) - RegisterSignal(parent, list(COMSIG_VORE_CAN_BE_EATEN), .proc/can_be_eaten) - RegisterSignal(parent, list(COMSIG_VORE_CAN_BE_FED_PREY), .proc/can_be_fed_prey) - RegisterSignal(parent, list(COMSIG_VORE_RECALCULATE_SLOWDOWN), .proc/update_slowdowns) - RegisterSignal(parent, list(COMSIG_VORE_CHECK_EDIBILITY), .proc/can_eat_item) - RegisterSignal(parent, list(COMSIG_VORE_DO_MESSAGE), .proc/do_voremessage) - RegisterSignal(parent, list(COMSIG_VORE_EXISTS), .proc/setup_vore) - RegisterSignal(parent, list(COMSIG_PARENT_EXAMINE), .proc/examine_bellies) - RegisterSignal(parent, list(COMSIG_MOB_DEATH), .proc/you_died) // casual + RegisterSignal(parent, list(COMSIG_MOB_CLIENT_LOGIN),PROC_REF(setup_vore)) + RegisterSignal(parent, list(COMSIG_VORE_SAVE_PREFS),PROC_REF(save_prefs)) + RegisterSignal(parent, list(COMSIG_VORE_LOAD_PREFS),PROC_REF(load_prefs)) + RegisterSignal(parent, list(COMSIG_VORE_ABSORBED_STATE),PROC_REF(absorbed_state)) + RegisterSignal(parent, list(COMSIG_VORE_ADD_BELLY),PROC_REF(add_belly)) + RegisterSignal(parent, list(COMSIG_VORE_REMOVE_BELLY),PROC_REF(remove_belly)) + RegisterSignal(parent, list(COMSIG_VORE_GET_BELLIES),PROC_REF(get_bellies)) + RegisterSignal(parent, list(COMSIG_VORE_HAS_BELLIES),PROC_REF(has_belly)) + RegisterSignal(parent, list(COMSIG_VORE_VERIFY_BELLY),PROC_REF(verify_belly)) + RegisterSignal(parent, list(COMSIG_VORE_SET_SELECTED_BELLY),PROC_REF(select_belly)) + RegisterSignal(parent, list(COMSIG_VORE_SWAP_BELLY_INDEX),PROC_REF(swap_belly_index)) + RegisterSignal(parent, list(COMSIG_VORE_DO_VORE),PROC_REF(vore_attack)) + RegisterSignal(parent, list(COMSIG_VORE_SNIFF_LIVING),PROC_REF(sniff_mob)) + RegisterSignal(parent, list(COMSIG_VORE_UPDATE_PANEL),PROC_REF(update_vore_panel)) + RegisterSignal(parent, list(COMSIG_VORE_TOGGLE_VOREMODE),PROC_REF(toggle_voremode)) + RegisterSignal(parent, list(COMSIG_VORE_GET_VOREMODE),PROC_REF(get_voremode)) + RegisterSignal(parent, list(COMSIG_VORE_CAN_EAT),PROC_REF(can_eat)) + RegisterSignal(parent, list(COMSIG_VORE_CAN_BE_EATEN),PROC_REF(can_be_eaten)) + RegisterSignal(parent, list(COMSIG_VORE_CAN_BE_FED_PREY),PROC_REF(can_be_fed_prey)) + RegisterSignal(parent, list(COMSIG_VORE_RECALCULATE_SLOWDOWN),PROC_REF(update_slowdowns)) + RegisterSignal(parent, list(COMSIG_VORE_CHECK_EDIBILITY),PROC_REF(can_eat_item)) + RegisterSignal(parent, list(COMSIG_VORE_DO_MESSAGE),PROC_REF(do_voremessage)) + RegisterSignal(parent, list(COMSIG_VORE_EXISTS),PROC_REF(setup_vore)) + RegisterSignal(parent, list(COMSIG_PARENT_EXAMINE),PROC_REF(examine_bellies)) + RegisterSignal(parent, list(COMSIG_MOB_DEATH),PROC_REF(you_died)) // casual START_PROCESSING(SSvore, src) if(isliving(parent)) var/mob/living/master = parent @@ -214,7 +214,7 @@ SEND_SIGNAL(master, COMSIG_VORE_EXPEL_ALL, TRUE, TRUE) /datum/component/vore/proc/add_belly(mob/living/source, obj/vore_belly/gut) - RegisterSignal(gut, list(COMSIG_VORE_UPDATE_PANEL), .proc/update_vore_panel) + RegisterSignal(gut, list(COMSIG_VORE_UPDATE_PANEL),PROC_REF(update_vore_panel)) vore_organs |= gut /datum/component/vore/proc/remove_belly(mob/living/source, obj/vore_belly/gut) @@ -390,7 +390,7 @@ if(!SEND_SIGNAL(living_pred, COMSIG_VORE_CAN_BE_FED_PREY)) to_chat(master, span_alert("[living_pred] would prefer not to be fed!")) return FALSE // they cont want to eat em - INVOKE_ASYNC(src, .proc/feed_prey_to_predator, living_pred, movable_prey) + INVOKE_ASYNC(src,PROC_REF(feed_prey_to_predator), living_pred, movable_prey) if(VORETYPE_FEED_US_TO_PRED) if(!master.Adjacent(living_pred)) to_chat(master, span_alert("You are too far away from [living_pred]!")) @@ -408,7 +408,7 @@ if(!SEND_SIGNAL(living_pred, COMSIG_VORE_CAN_BE_FED_PREY)) to_chat(master, span_alert("[living_pred] would prefer not to be fed prey!")) return FALSE // they cont want to eat em - INVOKE_ASYNC(src, .proc/feed_self_to_other, living_pred) + INVOKE_ASYNC(src,PROC_REF(feed_self_to_other), living_pred) if(VORETYPE_EAT_PREY) if(!master.Adjacent(movable_prey)) to_chat(master, span_alert("You are too far away from [movable_prey]!")) @@ -423,7 +423,7 @@ if(!can_eat()) // just in case to_chat(master, span_alert("You can't eat [movable_prey] right now!")) return FALSE - INVOKE_ASYNC(src, .proc/devour_prey, movable_prey) + INVOKE_ASYNC(src,PROC_REF(devour_prey), movable_prey) return TRUE /datum/component/vore/proc/devour_prey(atom/movable/movable_prey) @@ -622,7 +622,7 @@ to_chat(probably_master, span_alert("Okay! See you on the other side!")) qdel(master) else - INVOKE_ASYNC(src, .proc/you_died) + INVOKE_ASYNC(src,PROC_REF(you_died)) if("Fall out") to_chat(probably_master, span_alert("Ejecting your corpse!")) SEND_SIGNAL(master.loc, COMSIG_BELLY_EXPEL_SPECIFIC, master) diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index ece38384151..94595e534bb 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -32,7 +32,7 @@ /datum/vore_look/New(mob/living/new_host) if(istype(new_host)) host = new_host - RegisterSignal(host, COMSIG_PARENT_QDELETING, .proc/disown) + RegisterSignal(host, COMSIG_PARENT_QDELETING,PROC_REF(disown)) . = ..() /datum/vore_look/Destroy() diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 5c3d1092e4a..439a15b91bd 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -64,7 +64,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/config/resources.txt b/config/resources.txt index f742419f101..4648b5cb893 100644 --- a/config/resources.txt +++ b/config/resources.txt @@ -4,7 +4,7 @@ # To use this, the compile option PRELOAD_RSC must be set to 0 to keep byond from preloading resources #EXTERNAL_RSC_URLS http://tgstation13.download/byond/tgstationv2.zip -EXTERNAL_RSC_URLS http://resources.coyotebayou.com/coyotebayou-rsc-2022-12-6.zip +#EXTERNAL_RSC_URLS http://resources.coyotebayou.com/coyotebayou-rsc-2022-12-6.zip ######################## # Browser Asset Config # diff --git a/dependencies.sh b/dependencies.sh index 7b314c222d7..1327545a0d5 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -4,8 +4,8 @@ #Final authority on what's required to fully build the project # byond version -export BYOND_MAJOR=514 -export BYOND_MINOR=1571 +export BYOND_MAJOR=515 +export BYOND_MINOR=1633 #rust_g git tag export RUST_G_VERSION=0.5.0 @@ -15,7 +15,7 @@ export NODE_VERSION=18 export NODE_VERSION_PRECISE=18.13.0 # SpacemanDMM git tag -export SPACEMAN_DMM_VERSION=suite-1.7.1 +export SPACEMAN_DMM_VERSION=suite-1.8 # Python version for mapmerge and other tools export PYTHON_VERSION=3.7.9 diff --git a/fortune13.dme b/fortune13.dme index a95330b8629..0196f6d402f 100644 --- a/fortune13.dme +++ b/fortune13.dme @@ -15,6 +15,7 @@ // BEGIN_INCLUDE #include "_maps\_basemap.dm" +#include "code\__byond_version_compat.dm" #include "code\_compile_options.dm" #include "code\world.dm" #include "code\__DEFINES\_auxtools.dm" diff --git a/modular_citadel/code/datums/components/souldeath.dm b/modular_citadel/code/datums/components/souldeath.dm index ab45210a466..2860bd4dad2 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 b1006567384..9d8ec803448 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -128,8 +128,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!")]" @@ -484,14 +484,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, span_notice("[saytext]")), 5) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(to_chat), C, span_notice("[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(usr, 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/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm index bce548169b7..fe251c6cfa1 100644 --- a/modular_citadel/code/modules/client/loadout/head.dm +++ b/modular_citadel/code/modules/client/loadout/head.dm @@ -473,7 +473,7 @@ "NCR Trooper", )*/ -datum/gear/head/steelpot_bandolier +/datum/gear/head/steelpot_bandolier name = "NCR bandolier helmet" path = /obj/item/clothing/head/f13/ncr/steelpot_bandolier subcategory = LOADOUT_SUBCATEGORY_HEAD_HELMETS diff --git a/modular_citadel/code/modules/clothing/trek.dm b/modular_citadel/code/modules/clothing/trek.dm index 35080a789ad..e8d2452687c 100644 --- a/modular_citadel/code/modules/clothing/trek.dm +++ b/modular_citadel/code/modules/clothing/trek.dm @@ -69,27 +69,27 @@ armor = ARMOR_VALUE_LIGHT var/unbuttoned = 0 - verb/toggle() - set name = "Toggle coat buttons" - set category = "Object" - set src in usr - - var/mob/living/L = usr - if(!istype(L) || !CHECK_MOBILITY(L, MOBILITY_USE)) - return FALSE - - switch(unbuttoned) - if(0) - icon_state = "[initial(icon_state)]_open" - item_state = "[initial(item_state)]_open" - unbuttoned = 1 - to_chat(usr,"You unbutton the coat.") - if(1) - icon_state = "[initial(icon_state)]" - item_state = "[initial(item_state)]" - unbuttoned = 0 - to_chat(usr,"You button up the coat.") - usr.update_inv_wear_suit() +/obj/item/clothing/suit/storage/fluff/fedcoat/verb/toggle() + set name = "Toggle coat buttons" + set category = "Object" + set src in usr + + var/mob/living/L = usr + if(!istype(L) || !CHECK_MOBILITY(L, MOBILITY_USE)) + return FALSE + + switch(unbuttoned) + if(0) + icon_state = "[initial(icon_state)]_open" + item_state = "[initial(item_state)]_open" + unbuttoned = 1 + to_chat(usr,"You unbutton the coat.") + if(1) + icon_state = "[initial(icon_state)]" + item_state = "[initial(item_state)]" + unbuttoned = 0 + to_chat(usr,"You button up the coat.") + usr.update_inv_wear_suit() //Variants /obj/item/clothing/suit/storage/fluff/fedcoat/medsci diff --git a/modular_citadel/code/modules/mentor/mentorhelp.dm b/modular_citadel/code/modules/mentor/mentorhelp.dm index d3be97f4c90..f19bb711909 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(usr, 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/projectiles/guns/energy/energy_gun.dm b/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm index e14fccc3a04..6446aece5f4 100644 --- a/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm @@ -2,7 +2,7 @@ The Recolourable Energy Gun *////////////////////////////////////////////////////////////////////////////////////////////// -obj/item/gun/energy/e_gun/cx +/obj/item/gun/energy/e_gun/cx name = "\improper CX Model D Energy Gun" desc = "An overpriced hybrid energy gun with two settings: disable, and kill. Manufactured by CX Armories. Has a polychromic coating." icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' @@ -14,18 +14,18 @@ obj/item/gun/energy/e_gun/cx flight_y_offset = 10 var/body_color = "#252528" -obj/item/gun/energy/e_gun/cx/ComponentInitialize() +/obj/item/gun/energy/e_gun/cx/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) -obj/item/gun/energy/e_gun/cx/update_overlays() +/obj/item/gun/energy/e_gun/cx/update_overlays() . = ..() var/mutable_appearance/body_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "cxegun_body") if(body_color) body_overlay.color = body_color . += body_overlay -obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user) +/obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user) . = ..() if(!in_range(src, user)) //Basic checks to prevent abuse return @@ -39,7 +39,7 @@ obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user) body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1) update_icon() -obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) +/obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(isinhands) var/mutable_appearance/body_inhand = mutable_appearance(icon_file, "cxe_body") diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index 826c6a67a6d..b194c723cc5 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -59,7 +59,7 @@ N.nanite_volume += -10*cached_purity ..() -datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume) +/datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume) for(var/active_obj in react_objs) if(O == active_obj) return diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 261e342c2d8..499b1b80a5a 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -349,7 +349,7 @@ RateUpLim = 15 FermiChem = TRUE -datum/chemical_reaction/fermi/eigenstate +/datum/chemical_reaction/fermi/eigenstate name = "Eigenstasium" id = /datum/reagent/fermi/eigenstate results = list(/datum/reagent/fermi/eigenstate = 1) diff --git a/modular_citadel/code/modules/reagents/objects/clothes.dm b/modular_citadel/code/modules/reagents/objects/clothes.dm index 04f7fa513a9..992c416b940 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/game/objects/structures/firebow.dm b/modular_coyote/code/game/objects/structures/firebow.dm index 93da9db6eca..baf2e78a92b 100644 --- a/modular_coyote/code/game/objects/structures/firebow.dm +++ b/modular_coyote/code/game/objects/structures/firebow.dm @@ -70,7 +70,7 @@ /obj/item/firebow/proc/StartBurning(mob/user) cinder = TRUE heat = 1500 - addtimer(CALLBACK(src, .proc/Extinguish, user), burnLength) + addtimer(CALLBACK(src,PROC_REF(Extinguish), user), burnLength) UpdateIcon() /obj/item/firebow/proc/Extinguish(mob/user) diff --git a/modular_coyote/code/game/objects/structures/sacredwell.dm b/modular_coyote/code/game/objects/structures/sacredwell.dm index c0c8e7186ae..5c459a72ab3 100644 --- a/modular_coyote/code/game/objects/structures/sacredwell.dm +++ b/modular_coyote/code/game/objects/structures/sacredwell.dm @@ -236,7 +236,7 @@ GLOBAL_LIST_EMPTY(sacred_well_items) if(debug) say("cooldown started!!") set_light(1, -1, "#f9ff48") - addtimer(CALLBACK(src, .proc/end_cooldown), 1.5 MINUTES) + addtimer(CALLBACK(src,PROC_REF(end_cooldown)), 1.5 MINUTES) /obj/structure/sacredwell/proc/end_cooldown() //might need to fiddle w/ this...... if(debug) diff --git a/modular_coyote/code/mailbird.dm b/modular_coyote/code/mailbird.dm index d88154254b4..688bdab3152 100644 --- a/modular_coyote/code/mailbird.dm +++ b/modular_coyote/code/mailbird.dm @@ -82,9 +82,9 @@ var/delayRespond = rand(2,4) SECONDS var/delayAnim = delayRespond + rand(1,2) SECONDS var/delayQuery = delayAnim + 1.5 SECONDS - addtimer(CALLBACK(src, .proc/respond), delayRespond) - addtimer(CALLBACK(src, .proc/arrive), delayAnim) - addtimer(CALLBACK(src, .proc/queryCaller), delayQuery) + addtimer(CALLBACK(src,PROC_REF(respond)), delayRespond) + addtimer(CALLBACK(src,PROC_REF(arrive)), delayAnim) + addtimer(CALLBACK(src,PROC_REF(queryCaller)), delayQuery) /obj/effect/mailbird/proc/respond() playsound(src.loc, 'modular_coyote/sound/mobsounds/crowrespond.ogg', 50, FALSE) //Magic numbers bad. Oh well. 50 is volume (average) and FALSE is for whether or not playsound should go through walls. @@ -152,7 +152,7 @@ qdel(src) return component.unsetTarget() - addtimer(CALLBACK(src, .proc/deliver), rand(60, 90) SECONDS) + addtimer(CALLBACK(src,PROC_REF(deliver)), rand(60, 90) SECONDS) /obj/effect/mailbird/proc/deliver() icon_state = "crow-glide" @@ -176,7 +176,7 @@ component.changeTarget(following) pixel_y = 60 pixel_x = -100 - addtimer(CALLBACK(src, .proc/dropAndLeave, success), 0.5 SECONDS) + addtimer(CALLBACK(src,PROC_REF(dropAndLeave), success), 0.5 SECONDS) playsound(src.loc, 'modular_coyote/sound/mobsounds/crowrespond.ogg', 50, FALSE) animate(src, pixel_y = 30, pixel_x = 0, time = 0.5 SECONDS, flags = ANIMATION_PARALLEL) animate(src, alpha = 255, time = 0.1 SECONDS, flags = ANIMATION_PARALLEL) @@ -187,7 +187,7 @@ to_chat(following, span_info("A crow swoops in and gently deposits \a [mail] at your feet.")) else to_chat(following, span_warning("The crow returns \the [mail], unable to find someone to deliver to.")) - addtimer(CALLBACK(src, .proc/fadeAway), 0.4 SECONDS) + addtimer(CALLBACK(src,PROC_REF(fadeAway)), 0.4 SECONDS) animate(src, pixel_y = 60, pixel_x = 100, time = 0.5 SECONDS) /obj/effect/mailbird/proc/fadeAway() @@ -206,7 +206,7 @@ return COMPONENT_INCOMPATIBLE target = newTarget - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(target, COMSIG_MOVABLE_MOVED,PROC_REF(move_react)) /datum/component/mailbird_movement/proc/unsetTarget() UnregisterSignal(target, COMSIG_MOVABLE_MOVED) @@ -217,7 +217,7 @@ return COMPONENT_INCOMPATIBLE unsetTarget() target = newTarget - RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(target, COMSIG_MOVABLE_MOVED,PROC_REF(move_react)) /datum/component/mailbird_movement/proc/move_react(atom/moved, atom/oldloc, direction) var/atom/movable/A = parent diff --git a/modular_coyote/code/modules/mapping/ambient_lighting.dm b/modular_coyote/code/modules/mapping/ambient_lighting.dm index 3ddc081c8a6..fa6dda96a94 100644 --- a/modular_coyote/code/modules/mapping/ambient_lighting.dm +++ b/modular_coyote/code/modules/mapping/ambient_lighting.dm @@ -1,7 +1,7 @@ /area/f13/ambientlighting/LateInitialize() . = ..() - RegisterSignal(src, COMSIG_EXIT_AREA, .proc/HandleExitLighting) - RegisterSignal(src, COMSIG_ENTER_AREA, .proc/HandleEnterLighting) + RegisterSignal(src, COMSIG_EXIT_AREA,PROC_REF(HandleExitLighting)) + RegisterSignal(src, COMSIG_ENTER_AREA,PROC_REF(HandleEnterLighting)) /area/f13/ambientlighting/proc/HandleExitLighting(datum/source, mob/user) if(!iscarbon(user)) diff --git a/modular_coyote/code/modules/mechanical_erp/merp_component.dm b/modular_coyote/code/modules/mechanical_erp/merp_component.dm index 3c3767707c4..ed0b5424ec6 100644 --- a/modular_coyote/code/modules/mechanical_erp/merp_component.dm +++ b/modular_coyote/code/modules/mechanical_erp/merp_component.dm @@ -53,14 +53,14 @@ /datum/component/merp/Initialize() if(!SSmerp.should_merp(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_MOB_CLIENT_LOGIN), .proc/setup_merp) - RegisterSignal(parent, list(COMSIG_MERP_GIVE_MERP_INITIATOR), .proc/give_initiator) - RegisterSignal(parent, list(COMSIG_MERP_GIVE_HAND_BIT), .proc/give_merp_item) - RegisterSignal(parent, list(COMSIG_MERP_DO_PLAP), .proc/plap) - RegisterSignal(parent, list(COMSIG_MERP_GET_PLAPPED), .proc/get_plapped) - RegisterSignal(parent, list(COMSIG_MERP_KILL_COMBO), .proc/combo_died) // ): - RegisterSignal(parent, list(COMSIG_MERP_PLAP_EXPIRED), .proc/plap_died) // ): - RegisterSignal(parent, list(COMSIG_MERP_GET_OTHER_COMBOS), .proc/get_combos) + RegisterSignal(parent, list(COMSIG_MOB_CLIENT_LOGIN),PROC_REF(setup_merp)) + RegisterSignal(parent, list(COMSIG_MERP_GIVE_MERP_INITIATOR),PROC_REF(give_initiator)) + RegisterSignal(parent, list(COMSIG_MERP_GIVE_HAND_BIT),PROC_REF(give_merp_item)) + RegisterSignal(parent, list(COMSIG_MERP_DO_PLAP),PROC_REF(plap)) + RegisterSignal(parent, list(COMSIG_MERP_GET_PLAPPED),PROC_REF(get_plapped)) + RegisterSignal(parent, list(COMSIG_MERP_KILL_COMBO),PROC_REF(combo_died)) // ): + RegisterSignal(parent, list(COMSIG_MERP_PLAP_EXPIRED),PROC_REF(plap_died)) // ): + RegisterSignal(parent, list(COMSIG_MERP_GET_OTHER_COMBOS),PROC_REF(get_combos)) START_PROCESSING(SSmerp, src) setup_merp() diff --git a/modular_coyote/code/modules/misc_patches.dm b/modular_coyote/code/modules/misc_patches.dm index c72a4b7fede..4002c4a7f26 100644 --- a/modular_coyote/code/modules/misc_patches.dm +++ b/modular_coyote/code/modules/misc_patches.dm @@ -14,7 +14,7 @@ /obj/item/reagent_containers/food/drinks/Initialize(mapload) . = ..() - RegisterSignal(src, COMSIG_ATOM_LICKED, .proc/LapDrink) + RegisterSignal(src, COMSIG_ATOM_LICKED,PROC_REF(LapDrink)) /obj/item/reagent_containers/food/drinks/Destroy() diff --git a/modular_coyote/code/modules/regeneration/sleepingpart/regenerate_sleeping.dm b/modular_coyote/code/modules/regeneration/sleepingpart/regenerate_sleeping.dm index 28b75c70617..788c1c03cbc 100644 --- a/modular_coyote/code/modules/regeneration/sleepingpart/regenerate_sleeping.dm +++ b/modular_coyote/code/modules/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/modular_coyote/eris/code/gun_firemode.dm b/modular_coyote/eris/code/gun_firemode.dm index ad5ba6ff299..545d2fa7b06 100644 --- a/modular_coyote/eris/code/gun_firemode.dm +++ b/modular_coyote/eris/code/gun_firemode.dm @@ -198,7 +198,7 @@ fire_type_default = GUN_FIREMODE_AUTO shoot_delay_default = GUN_FIRE_RATE_200 -datum/firemode/automatic/rpm250 +/datum/firemode/automatic/rpm250 name = "Fully Automatic" desc = "Automatic - 250 RPM." fire_type_default = GUN_FIREMODE_AUTO diff --git a/modular_coyote/eris/code/living_recoil.dm b/modular_coyote/eris/code/living_recoil.dm index 22945b4cef6..0898ac963d1 100644 --- a/modular_coyote/eris/code/living_recoil.dm +++ b/modular_coyote/eris/code/living_recoil.dm @@ -55,7 +55,7 @@ mob/proc/handle_movement_recoil() // Used in movement/mob.dm G.check_safety_cursor(src) if(recoil > 0) - recoil_reduction_timer = addtimer(CALLBACK(src, .proc/calc_recoil), 0.1 SECONDS, TIMER_STOPPABLE) + recoil_reduction_timer = addtimer(CALLBACK(src,PROC_REF(calc_recoil)), 0.1 SECONDS, TIMER_STOPPABLE) else if(!istype(G)) remove_cursor() diff --git a/modular_coyote/eris/code/mods/_upgrades.dm b/modular_coyote/eris/code/mods/_upgrades.dm index 8129849be30..e6efca0fcd0 100644 --- a/modular_coyote/eris/code/mods/_upgrades.dm +++ b/modular_coyote/eris/code/mods/_upgrades.dm @@ -39,10 +39,10 @@ var/list/weapon_upgrades = list() //variable name(string) -> num /datum/component/item_upgrade/RegisterWithParent() - RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ_NOHIT, .proc/attempt_install) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(parent, COMSIG_UPGRADE_REMOVE, .proc/uninstall) - RegisterSignal(parent, COMSIG_GET_UPGRADES, .proc/get_upgrades) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ_NOHIT,PROC_REF(attempt_install)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_UPGRADE_REMOVE,PROC_REF(uninstall)) + RegisterSignal(parent, COMSIG_GET_UPGRADES,PROC_REF(get_upgrades)) /datum/component/item_upgrade/proc/attempt_install(datum/source, atom/movable/target, mob/living/user) return can_apply(target, user) && apply(target, user) @@ -104,8 +104,8 @@ var/obj/item/I = parent I.forceMove(A) A.item_upgrades.Add(I) - RegisterSignal(A, COMSIG_UPGRADE_APPVAL, .proc/apply_values) - RegisterSignal(A, COMSIG_UPGRADE_ADDVAL, .proc/add_values) + RegisterSignal(A, COMSIG_UPGRADE_APPVAL,PROC_REF(apply_values)) + RegisterSignal(A, COMSIG_UPGRADE_ADDVAL,PROC_REF(add_values)) A.AddComponent(/datum/component/upgrade_removal) A.refresh_upgrades() return TRUE @@ -452,7 +452,7 @@ dupe_mode = COMPONENT_DUPE_UNIQUE /datum/component/upgrade_removal/RegisterWithParent() - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/attempt_uninstall) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,PROC_REF(attempt_uninstall)) /datum/component/upgrade_removal/UnregisterFromParent() UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY) diff --git a/modular_sand/code/datums/components/autoplapper.dm b/modular_sand/code/datums/components/autoplapper.dm index 989a514138d..d099bd51a75 100644 --- a/modular_sand/code/datums/components/autoplapper.dm +++ b/modular_sand/code/datums/components/autoplapper.dm @@ -73,8 +73,8 @@ else to_chat(pLapper, span_notice("First action recorded! Perform it again to start looping that action!")) plap_listening = TRUE - RegisterSignal(pLapper, COMSIG_SPLURT_INTERACTION_PITCHED, .proc/check_finalized) // quietly wait for anotehr plap of our kind - plap_ignore_timer = addtimer(CALLBACK(src, .proc/give_up), SSinteractions.max_autoplap_interval, TIMER_CLIENT_TIME | TIMER_STOPPABLE) + RegisterSignal(pLapper, COMSIG_SPLURT_INTERACTION_PITCHED,PROC_REF(check_finalized)) // quietly wait for anotehr plap of our kind + plap_ignore_timer = addtimer(CALLBACK(src,PROC_REF(give_up)), SSinteractions.max_autoplap_interval, TIMER_CLIENT_TIME | TIMER_STOPPABLE) SEND_SIGNAL(pLapper, COMSIG_SPLURT_ADD_AUTOPLAPPER, src) /datum/autoplapper/Destroy(force, ...) diff --git a/modular_sand/code/datums/components/container_item/container_item.dm b/modular_sand/code/datums/components/container_item/container_item.dm index fda012cb0ea..872a710e202 100644 --- a/modular_sand/code/datums/components/container_item/container_item.dm +++ b/modular_sand/code/datums/components/container_item/container_item.dm @@ -3,7 +3,7 @@ /datum/component/container_item/Initialize() . = ..() - RegisterSignal(parent, COMSIG_CONTAINER_TRY_ATTACH, .proc/try_attach) + RegisterSignal(parent, COMSIG_CONTAINER_TRY_ATTACH,PROC_REF(try_attach)) /// Called when parent is added to the container. /datum/component/container_item/proc/try_attach(datum/source, atom/container, mob/user) diff --git a/modular_sand/code/datums/components/glory_kill.dm b/modular_sand/code/datums/components/glory_kill.dm index 94267c23c08..aee9f5e9340 100644 --- a/modular_sand/code/datums/components/glory_kill.dm +++ b/modular_sand/code/datums/components/glory_kill.dm @@ -41,10 +41,10 @@ /datum/component/glory_kill/RegisterWithParent() . = ..() - RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/glory_kill) - RegisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE, .proc/health_modified) - RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examined) + RegisterSignal(parent, COMSIG_CLICK_ALT,PROC_REF(glory_kill)) + RegisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE,PROC_REF(health_modified)) + RegisterSignal(parent, COMSIG_MOB_DEATH,PROC_REF(on_death)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(examined)) /datum/component/glory_kill/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_CLICK_ALT, COMSIG_MOB_APPLY_DAMAGE, COMSIG_MOB_DEATH, COMSIG_MOB_EXAMINATE)) diff --git a/modular_sand/code/datums/components/interaction_menu_granter.dm b/modular_sand/code/datums/components/interaction_menu_granter.dm index 0b49b2d91d3..34e4e214e19 100644 --- a/modular_sand/code/datums/components/interaction_menu_granter.dm +++ b/modular_sand/code/datums/components/interaction_menu_granter.dm @@ -69,11 +69,11 @@ /datum/component/interaction_menu_granter/RegisterWithParent() . = ..() - RegisterSignal(parent, COMSIG_CLICK_CTRL_SHIFT, .proc/open_menu) - RegisterSignal(parent, COMSIG_SPLURT_REMOVE_AUTOPLAPPER, .proc/kill_autoplapper) - RegisterSignal(parent, COMSIG_SPLURT_ADD_AUTOPLAPPER, .proc/confirm_autoplap) - RegisterSignal(parent, COMSIG_SPLURT_SOMEONE_CUMMED, .proc/stop_all_autoplappers) - RegisterSignal(parent, COMSIG_SPLURT_I_CAME, .proc/stop_all_autoplappers) + RegisterSignal(parent, COMSIG_CLICK_CTRL_SHIFT,PROC_REF(open_menu)) + RegisterSignal(parent, COMSIG_SPLURT_REMOVE_AUTOPLAPPER,PROC_REF(kill_autoplapper)) + RegisterSignal(parent, COMSIG_SPLURT_ADD_AUTOPLAPPER,PROC_REF(confirm_autoplap)) + RegisterSignal(parent, COMSIG_SPLURT_SOMEONE_CUMMED,PROC_REF(stop_all_autoplappers)) + RegisterSignal(parent, COMSIG_SPLURT_I_CAME,PROC_REF(stop_all_autoplappers)) /datum/component/interaction_menu_granter/Destroy(force, ...) weaktarget = null @@ -457,7 +457,7 @@ /datum/component/interaction_menu_granter/proc/queue_save() if(savetimer) deltimer(savetimer) - savetimer = addtimer(CALLBACK(src, .proc/save_prefs), 4 SECONDS, TIMER_STOPPABLE) // save in 4 seconds + savetimer = addtimer(CALLBACK(src,PROC_REF(save_prefs)), 4 SECONDS, TIMER_STOPPABLE) // save in 4 seconds /datum/component/interaction_menu_granter/proc/save_prefs() var/mob/living/self = parent diff --git a/modular_sand/code/datums/components/riding.dm b/modular_sand/code/datums/components/riding.dm index 9c486d38f48..00d088c0fdf 100644 --- a/modular_sand/code/datums/components/riding.dm +++ b/modular_sand/code/datums/components/riding.dm @@ -1,6 +1,6 @@ /datum/component/riding/human/Initialize() . = ..() - RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/update_dir) + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE,PROC_REF(update_dir)) /datum/component/riding/human/proc/update_dir(mob/source, dir, newdir) var/mob/living/carbon/human/H = source diff --git a/modular_sand/code/datums/components/storage/concrete/dresser.dm b/modular_sand/code/datums/components/storage/concrete/dresser.dm index 03233081ef2..a3dc1bbdb2c 100644 --- a/modular_sand/code/datums/components/storage/concrete/dresser.dm +++ b/modular_sand/code/datums/components/storage/concrete/dresser.dm @@ -9,8 +9,8 @@ /datum/component/storage/concrete/dresser/Initialize() if(..()) return ELEMENT_INCOMPATIBLE - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/signal_show_attempt, TRUE) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_PAW, .proc/signal_show_attempt, TRUE) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND,PROC_REF(signal_show_attempt), TRUE) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_PAW,PROC_REF(signal_show_attempt), TRUE) /datum/component/storage/concrete/dresser/user_show_to_mob(mob/M, force, trigger_on_found) . = ..() diff --git a/modular_sand/code/datums/elements/holder_micro.dm b/modular_sand/code/datums/elements/holder_micro.dm index c395706a937..536ee82a843 100644 --- a/modular_sand/code/datums/elements/holder_micro.dm +++ b/modular_sand/code/datums/elements/holder_micro.dm @@ -3,9 +3,9 @@ /datum/element/mob_holder/micro/Attach(datum/target, worn_state, alt_worn, right_hand, left_hand, inv_slots = NONE, proctype, escape_on_find) . = ..() - RegisterSignal(target, COMSIG_CLICK_ALT, .proc/mob_try_pickup_micro, TRUE) - RegisterSignal(target, COMSIG_MICRO_PICKUP_FEET, .proc/mob_pickup_micro_feet) - RegisterSignal(target, COMSIG_MOB_RESIZED, .proc/on_resize) + RegisterSignal(target, COMSIG_CLICK_ALT,PROC_REF(mob_try_pickup_micro), TRUE) + RegisterSignal(target, COMSIG_MICRO_PICKUP_FEET,PROC_REF(mob_pickup_micro_feet)) + RegisterSignal(target, COMSIG_MOB_RESIZED,PROC_REF(on_resize)) /datum/element/mob_holder/micro/Detach(datum/source, force) . = ..() diff --git a/modular_sand/code/datums/elements/skirt_peeking.dm b/modular_sand/code/datums/elements/skirt_peeking.dm index 426900d7911..ccfba68bbbd 100644 --- a/modular_sand/code/datums/elements/skirt_peeking.dm +++ b/modular_sand/code/datums/elements/skirt_peeking.dm @@ -6,8 +6,8 @@ if(!ishuman(peeked)) return ELEMENT_INCOMPATIBLE - RegisterSignal(peeked, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(peeked, COMSIG_PARENT_EXAMINE_MORE, .proc/on_closer_look) + RegisterSignal(peeked, COMSIG_PARENT_EXAMINE,PROC_REF(on_examine)) + RegisterSignal(peeked, COMSIG_PARENT_EXAMINE_MORE,PROC_REF(on_closer_look)) /datum/element/skirt_peeking/proc/can_skirt_peek(mob/living/carbon/human/peeked, mob/peeker) var/mob/living/living_peeker = peeker @@ -105,7 +105,7 @@ examine_content += span_purple(string) // Let's see if we caught them, addtimer so it appears after the peek. - addtimer(CALLBACK(src, .proc/try_notice, peeked, peeker), 1) + addtimer(CALLBACK(src,PROC_REF(try_notice), peeked, peeker), 1) /// Alright, they've peeked us and everything, did we notice it though? /datum/element/skirt_peeking/proc/try_notice(mob/living/carbon/human/peeked, mob/living/peeker) diff --git a/modular_sand/code/datums/interactions/interaction_datums/lewd/self/cb_does_it_better/coy_head.dm b/modular_sand/code/datums/interactions/interaction_datums/lewd/self/cb_does_it_better/coy_head.dm index 6e6fe0d3cf5..a4d098ede64 100644 --- a/modular_sand/code/datums/interactions/interaction_datums/lewd/self/cb_does_it_better/coy_head.dm +++ b/modular_sand/code/datums/interactions/interaction_datums/lewd/self/cb_does_it_better/coy_head.dm @@ -302,7 +302,7 @@ //////////////////// //Good Boy 1A10// //////////////////// -datum/interaction/lewd/mutual/good_boy +/datum/interaction/lewd/mutual/good_boy description = "Partner/Head - Call them a good boy." simple_sounds = null require_user_hands = FALSE // yap yap @@ -328,7 +328,7 @@ datum/interaction/lewd/mutual/good_boy //////////////////// //Good Girl 1A11// //////////////////// -datum/interaction/lewd/mutual/good_girl +/datum/interaction/lewd/mutual/good_girl description = "Partner/Head - Call them a good girl." simple_sounds = null require_user_hands = FALSE // yap yap @@ -354,7 +354,7 @@ datum/interaction/lewd/mutual/good_girl //////////////////// //Praise them 1A12// //////////////////// -datum/interaction/lewd/mutual/praise_them +/datum/interaction/lewd/mutual/praise_them description = "Partner/Head - Praise them." simple_sounds = null require_user_hands = FALSE // yap yap @@ -380,7 +380,7 @@ datum/interaction/lewd/mutual/praise_them //////////////////// //Play with their mouth 1A13// //////////////////// -datum/interaction/lewd/mutual/mouth_play +/datum/interaction/lewd/mutual/mouth_play description = "Partner/Head - Play with their mouth." simple_sounds = null require_user_hands = FALSE // yap yap @@ -406,7 +406,7 @@ datum/interaction/lewd/mutual/mouth_play //////////////////// //Beg to be bred, FE 1A14// //////////////////// -datum/interaction/lewd/mutual/nesting_behavior +/datum/interaction/lewd/mutual/nesting_behavior description = "Partner/Head - Beg them to breed you, Feminine Edition." simple_sounds = null require_user_hands = FALSE // yap yap @@ -433,7 +433,7 @@ datum/interaction/lewd/mutual/nesting_behavior //////////////////// //Beg to be bred, ME 1A15// //////////////////// -datum/interaction/lewd/mutual/nesting_behavior_butt +/datum/interaction/lewd/mutual/nesting_behavior_butt description = "Partner/Head - Beg them to breed you, Butt Edition." simple_sounds = null require_user_hands = FALSE // yap yap @@ -459,7 +459,7 @@ datum/interaction/lewd/mutual/nesting_behavior_butt //////////////////// //Play with their hair 1A16// //////////////////// -datum/interaction/lewd/mutual/hair_play +/datum/interaction/lewd/mutual/hair_play description = "Partner/Head - Play with their hair." simple_sounds = null require_user_hands = FALSE // yap yap diff --git a/modular_sand/code/datums/interactions/interaction_datums/lewd/self/coyote_self_lewdness.dm b/modular_sand/code/datums/interactions/interaction_datums/lewd/self/coyote_self_lewdness.dm index dc887df8e63..9486ed264f6 100644 --- a/modular_sand/code/datums/interactions/interaction_datums/lewd/self/coyote_self_lewdness.dm +++ b/modular_sand/code/datums/interactions/interaction_datums/lewd/self/coyote_self_lewdness.dm @@ -118,7 +118,7 @@ ///////////////// //Squirm Lewdly// //////////////// -datum/interaction/lewd/self/lewd_squirm +/datum/interaction/lewd/self/lewd_squirm description = "Self/Crotch - Squirm lewdly." require_user_hands = TRUE //True or false, you have to have hands to do whatever this action is. @@ -142,7 +142,7 @@ datum/interaction/lewd/self/lewd_squirm //////////////////// //Dirty Talk - Soft// //////////////////// -datum/interaction/lewd/self/dirtytalksoft +/datum/interaction/lewd/self/dirtytalksoft description = "Self/Crotch - Talk dirty (tame)." simple_sounds = null require_user_hands = FALSE // yap yap @@ -188,7 +188,7 @@ datum/interaction/lewd/self/dirtytalksoft ///////////////// //Rub Clit// //////////////// -datum/interaction/lewd/self/rub_clit //lewd makes it pink, the name is just what the code calls it. Step 2 on this line. Step 3 is just below it. +/datum/interaction/lewd/self/rub_clit //lewd makes it pink, the name is just what the code calls it. Step 2 on this line. Step 3 is just below it. description = "Self/Crotch - Rub your clitoris." //This naming convention is to help players who want to filter functions. In this case its Self, as in, yourSELF, and a function of the 'area' crotch. Then it describes what you're doing to the area. // Self/Partner for the left hand side. // Head/Neck/Body/Arms/Stomach/Crotch/Thighs/Legs/Tail for the right hand side. @@ -224,7 +224,7 @@ datum/interaction/lewd/self/rub_clit //lewd makes it pink, the name is just what ///////////////// //Jerk Hard///// //////////////// -datum/interaction/lewd/self/jerk_hard //lewd makes it pink, the name is just what the code calls it. Step 2 on this line. Step 3 is just below it. +/datum/interaction/lewd/self/jerk_hard //lewd makes it pink, the name is just what the code calls it. Step 2 on this line. Step 3 is just below it. description = "Self/Crotch - Jerk yourself off hard." //This naming convention is to help players who want to filter functions. In this case its Self, as in, yourSELF, and a function of the 'area' crotch. Then it describes what you're doing to the area. // Self/Partner for the left hand side. // Head/Neck/Body/Arms/Stomach/Crotch/Thighs/Legs/Tail for the right hand side. @@ -265,7 +265,7 @@ datum/interaction/lewd/self/jerk_hard //lewd makes it pink, the name is just wha ////////////////////////// //Play with own nips///// //////////////////////// -datum/interaction/lewd/self/nip_play //lewd makes it pink, the name is just what the code calls it. Step 2 on this line. Step 3 is just below it. +/datum/interaction/lewd/self/nip_play //lewd makes it pink, the name is just what the code calls it. Step 2 on this line. Step 3 is just below it. description = "Self/Crotch - Play with your nipples." //This naming convention is to help players who want to filter functions. In this case its Self, as in, yourSELF, and a function of the 'area' crotch. Then it describes what you're doing to the area. // Self/Partner for the left hand side. // Head/Neck/Body/Arms/Stomach/Crotch/Thighs/Legs/Tail for the right hand side. @@ -307,7 +307,7 @@ datum/interaction/lewd/self/nip_play //lewd makes it pink, the name is just what ////////////////////////// //Autofellate///// //////////////////////// -datum/interaction/lewd/self/autofellate +/datum/interaction/lewd/self/autofellate description = "Self/Crotch - Suck yourself off." simple_sounds = null require_user_hands = FALSE // yap yap diff --git a/modular_sand/code/datums/traits/neutral.dm b/modular_sand/code/datums/traits/neutral.dm index ea574d896b9..e60c83684d6 100644 --- a/modular_sand/code/datums/traits/neutral.dm +++ b/modular_sand/code/datums/traits/neutral.dm @@ -48,11 +48,11 @@ /datum/quirk/estrous_active/add() // Add examine hook - RegisterSignal(quirk_holder, COMSIG_PARENT_EXAMINE, .proc/quirk_examine_estrous_active) + RegisterSignal(quirk_holder, COMSIG_PARENT_EXAMINE,PROC_REF(quirk_examine_estrous_active)) // Add organ change hooks - RegisterSignal(quirk_holder, COMSIG_MOB_ORGAN_ADD, .proc/update_heat_type) - RegisterSignal(quirk_holder, COMSIG_MOB_ORGAN_REMOVE, .proc/update_heat_type) + RegisterSignal(quirk_holder, COMSIG_MOB_ORGAN_ADD,PROC_REF(update_heat_type)) + RegisterSignal(quirk_holder, COMSIG_MOB_ORGAN_REMOVE,PROC_REF(update_heat_type)) /datum/quirk/estrous_active/remove() // Remove signals diff --git a/modular_sand/code/datums/wires/firealarm.dm b/modular_sand/code/datums/wires/firealarm.dm index cb8ef5f71ff..08b8ea2f58f 100644 --- a/modular_sand/code/datums/wires/firealarm.dm +++ b/modular_sand/code/datums/wires/firealarm.dm @@ -37,7 +37,7 @@ A.detecting = !A.detecting if(WIRE_FIRE_TRIGGER) A.alarm() - addtimer(CALLBACK(A, /obj/machinery/firealarm.proc/reset, wire), 1000) + addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/firealarm,reset), wire), 1000) /datum/wires/firealarm/on_cut(index, mend) var/obj/machinery/firealarm/A = holder diff --git a/modular_sand/code/game/objects/items/borg_shapeshifter.dm b/modular_sand/code/game/objects/items/borg_shapeshifter.dm index f9917d3ce79..194e575a27e 100644 --- a/modular_sand/code/game/objects/items/borg_shapeshifter.dm +++ b/modular_sand/code/game/objects/items/borg_shapeshifter.dm @@ -136,7 +136,7 @@ "Clown" = image(icon = 'icons/mob/robots.dmi', icon_state = "clown"), "Syndicate" = image(icon = 'icons/mob/robots.dmi', icon_state = "synd_sec") )) - var/module_selection = show_radial_menu(R, R , module_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/module_selection = show_radial_menu(R, R , module_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!module_selection) return FALSE @@ -145,7 +145,7 @@ var/static/list/standard_icons = sortList(list( "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "robot") )) - var/borg_icon = show_radial_menu(R, R , standard_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , standard_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -171,7 +171,7 @@ wide.pixel_x = -16 med_icons[a] = wide med_icons = sortList(med_icons) - var/borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -235,7 +235,7 @@ wide.pixel_x = -16 engi_icons[a] = wide engi_icons = sortList(engi_icons) - var/borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -305,7 +305,7 @@ wide.pixel_x = -16 sec_icons[a] = wide sec_icons = sortList(sec_icons) - var/borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -380,7 +380,7 @@ wide.pixel_x = -16 service_icons[a] = wide service_icons = sortList(service_icons) - var/borg_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -464,7 +464,7 @@ wide.pixel_x = -16 mining_icons[a] = wide mining_icons = sortList(mining_icons) - var/borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -516,7 +516,7 @@ "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider"), "Drake" = image(icon = 'modular_sand/icons/mob/cyborg/drakemech.dmi', icon_state = "drakepeacebox") )) - var/borg_icon = show_radial_menu(R, R , peace_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , peace_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -540,7 +540,7 @@ var/static/list/clown_icons = sortList(list( "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "clown") )) - var/borg_icon = show_radial_menu(R, R , clown_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , clown_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -555,7 +555,7 @@ "Medical" = image(icon = 'icons/mob/robots.dmi', icon_state = "synd_medical"), "Assault" = image(icon = 'icons/mob/robots.dmi', icon_state = "synd_sec") )) - var/borg_icon = show_radial_menu(R, R , syndicatejack_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/borg_icon = show_radial_menu(R, R , syndicatejack_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) if(!borg_icon) return FALSE switch(borg_icon) @@ -632,7 +632,7 @@ return if(listeningTo) UnregisterSignal(listeningTo, signalCache) - RegisterSignal(user, signalCache, .proc/disrupt) + RegisterSignal(user, signalCache,PROC_REF(disrupt)) listeningTo = user /obj/item/borg_shapeshifter/proc/deactivate(mob/living/silicon/robot/user) diff --git a/modular_sand/code/game/objects/items/fleshlight.dm b/modular_sand/code/game/objects/items/fleshlight.dm index b0c2f7c8ad5..78cf0f7d5ec 100644 --- a/modular_sand/code/game/objects/items/fleshlight.dm +++ b/modular_sand/code/game/objects/items/fleshlight.dm @@ -666,7 +666,7 @@ playsound(src, 'sound/machines/ping.ogg', 50, FALSE) to_chat(user, "[P] has been linked up successfully.") update_portal() - RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/drop_out) + RegisterSignal(user, COMSIG_PARENT_QDELETING,PROC_REF(drop_out)) else to_chat(user, "One of these pieces has already been paired.") else @@ -710,7 +710,7 @@ to_chat(user, span_notice("The panties are not linked to a portal fleshlight.")) else update_portal() - RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/drop_out) + RegisterSignal(user, COMSIG_PARENT_QDELETING,PROC_REF(drop_out)) else update_portal() UnregisterSignal(user, COMSIG_PARENT_QDELETING) diff --git a/modular_sand/code/modules/clothing/spacesuits/chronosuit.dm b/modular_sand/code/modules/clothing/spacesuits/chronosuit.dm index 945f95424df..8fbbcf14f44 100644 --- a/modular_sand/code/modules/clothing/spacesuits/chronosuit.dm +++ b/modular_sand/code/modules/clothing/spacesuits/chronosuit.dm @@ -135,12 +135,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) @@ -148,14 +148,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/modular_sand/code/modules/clothing/spacesuits/hardsuit.dm b/modular_sand/code/modules/clothing/spacesuits/hardsuit.dm index c6190c83949..e9c38bdcac8 100644 --- a/modular_sand/code/modules/clothing/spacesuits/hardsuit.dm +++ b/modular_sand/code/modules/clothing/spacesuits/hardsuit.dm @@ -108,9 +108,9 @@ if(prob(explodioprobemp)) playsound(src.loc, 'sound/effects/fuse.ogg', 60, 1, 10) visible_message("The power module on the [src] begins to smoke, glowing with an alarming warmth! Get away from it, now!") - addtimer(CALLBACK(src, .proc/detonate),50) + addtimer(CALLBACK(src,PROC_REF(detonate),50)) else - addtimer(CALLBACK(src, .proc/revivemessage), rebootdelay) + addtimer(CALLBACK(src,PROC_REF(revivemessage)), rebootdelay) return /obj/item/clothing/suit/space/hardsuit/powerarmor/proc/revivemessage() //we use this proc to add a timer, so we can have it take a while to boot diff --git a/modular_sand/code/modules/mining/equipment/kinetic_crusher.dm b/modular_sand/code/modules/mining/equipment/kinetic_crusher.dm index 7cedccf6ff7..5e351037db6 100644 --- a/modular_sand/code/modules/mining/equipment/kinetic_crusher.dm +++ b/modular_sand/code/modules/mining/equipment/kinetic_crusher.dm @@ -75,7 +75,7 @@ /obj/item/crusher_trophy/brokentech/on_projectile_fire(obj/item/projectile/destabilizer/marker, mob/living/user) . = ..() if(cooldowntime < world.time) - INVOKE_ASYNC(src, .proc/invokesmoke, user) + INVOKE_ASYNC(src,PROC_REF(invokesmoke), user) /obj/item/crusher_trophy/brokentech/proc/invokesmoke(mob/living/user) cooldown = world.time + cooldowntime @@ -207,7 +207,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 @@ -397,7 +397,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 diff --git a/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm b/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm index 6fa85fd385d..7591dfea9eb 100644 --- a/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm +++ b/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm @@ -226,8 +226,8 @@ /obj/item/crucible/Initialize(mapload) . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/wield) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/unwield) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD,PROC_REF(wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD,PROC_REF(unwield)) /obj/item/crucible/ComponentInitialize() . = ..() @@ -637,7 +637,7 @@ /obj/item/clothing/accessory/lavawalk/ComponentInitialize() . = ..() lavawalk = new(src) - RegisterSignal(lavawalk, COMSIG_ACTION_TRIGGER, .proc/activate) + RegisterSignal(lavawalk, COMSIG_ACTION_TRIGGER,PROC_REF(activate)) /obj/item/clothing/accessory/lavawalk/Destroy() . = ..() @@ -673,7 +673,7 @@ //L.balloon_alert(L, "activated") ADD_TRAIT(L, TRAIT_ASHSTORM_IMMUNE, src) ADD_TRAIT(L, TRAIT_LAVA_IMMUNE, src) - timer = addtimer(CALLBACK(src, .proc/reset_user, L), effectduration) + timer = addtimer(CALLBACK(src,PROC_REF(reset_user), L), effectduration) action.StartCooldown() /obj/item/clothing/accessory/lavawalk/proc/reset_user(mob/living/user) diff --git a/modular_sand/code/modules/mob/emote.dm b/modular_sand/code/modules/mob/emote.dm index e725562c1ce..6a67f2071e6 100644 --- a/modular_sand/code/modules/mob/emote.dm +++ b/modular_sand/code/modules/mob/emote.dm @@ -11,7 +11,7 @@ I.icon_state = state M.vis_contents += I animate(I, alpha = 255, time = 5, easing = BOUNCE_EASING, pixel_y = 10) - addtimer(CALLBACK(GLOBAL_PROC, /proc/finish_flick, M, I), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) + addtimer(CALLBACK(usr, GLOBAL_PROC_REF(finish_flick), M, I), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) /proc/finish_flick(mob/M, I) M.vis_contents -= I diff --git a/modular_sand/code/modules/mob/living/silicon/robot/robot_modules.dm b/modular_sand/code/modules/mob/living/silicon/robot/robot_modules.dm index c52935fbd48..6fd57945eac 100644 --- a/modular_sand/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/modular_sand/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -156,7 +156,7 @@ "BootyNukie" = image(icon = 'modular_splurt/icons/mob/robots.dmi', icon_state = "bootynukie"), // SPLURT Addon (Hyper Port) "BootyGorlex" = image(icon = 'modular_splurt/icons/mob/robots.dmi', icon_state = "bootygorlex") // SPLURT Addon (Hyper Port) )) - var/syndiejack_icon = show_radial_menu(R, R , syndicatejack_icons, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE) + var/syndiejack_icon = show_radial_menu(R, R , syndicatejack_icons, custom_check = CALLBACK(src,PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(syndiejack_icon) if("Saboteur") cyborg_base_icon = "synd_engi" diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index b4a8993f4e1..042d2fec7c8 100644 --- a/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -36,13 +36,13 @@ Removes slaughterlings (because they are bullshit), instead replacing them with blood_warp() bloodsmacks() if(prob(25)) - INVOKE_ASYNC(src, .proc/blood_spray) - INVOKE_ASYNC(src, .proc/bloodsmacks) + INVOKE_ASYNC(src,PROC_REF(blood_spray)) + INVOKE_ASYNC(src,PROC_REF(bloodsmacks)) 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/charge() bloodsmacks() @@ -71,7 +71,7 @@ Removes slaughterlings (because they are bullshit), instead replacing them with mobcount++ if(mobcount) var/hand = rand(0,1) - INVOKE_ASYNC(src, .proc/bloodsmack, T, hand) + INVOKE_ASYNC(src,PROC_REF(bloodsmack), T, hand) /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodsmack(turf/T, handedness) if(handedness) diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/glaurung.dm b/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/glaurung.dm index 1e1efc46092..ecd43177c6f 100644 --- a/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/glaurung.dm +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/glaurung.dm @@ -86,7 +86,7 @@ Difficulty: Medium var/range = 20 var/list/turfs = list() turfs = line_target(0, range, at) - INVOKE_ASYNC(src, .proc/fire_line, turfs) + INVOKE_ASYNC(src,PROC_REF(fire_line), turfs) /mob/living/simple_animal/hostile/megafauna/dragon/glaurung/OpenFire() if(swooping) diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm b/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm index c392c9e0dd9..9cb0b4e8913 100644 --- a/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm @@ -68,57 +68,57 @@ switch(anger_modifier) if(0 to 25) if(prob(50)) - INVOKE_ASYNC(src, .proc/plasmashot, target) + INVOKE_ASYNC(src,PROC_REF(plasmashot), target) if(prob(80)) sleep(6) - INVOKE_ASYNC(src, .proc/plasmashot, target) + INVOKE_ASYNC(src,PROC_REF(plasmashot), target) if(prob(50)) sleep(6) - INVOKE_ASYNC(src, .proc/plasmashot, target) + INVOKE_ASYNC(src,PROC_REF(plasmashot), target) else animate(src, color = "#ff0000", time = 3) sleep(4) - INVOKE_ASYNC(src, .proc/shockwave, src.dir, 7, 2.5) + INVOKE_ASYNC(src,PROC_REF(shockwave), src.dir, 7, 2.5) if(25 to 50) if(prob(60)) special = TRUE - INVOKE_ASYNC(src, .proc/plasmaburst, target, FALSE) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), target, FALSE) sleep(6) - INVOKE_ASYNC(src, .proc/plasmaburst, target, TRUE) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), target, TRUE) if(prob(50)) sleep(6) - INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) + INVOKE_ASYNC(src,PROC_REF(plasmashot), target, FALSE) if(prob(50)) sleep(6) - INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) + INVOKE_ASYNC(src,PROC_REF(plasmashot), target, FALSE) special = FALSE else special = TRUE animate(src, color = "#ff0000", time = 3) sleep(4) - INVOKE_ASYNC(src, .proc/shockwave, WEST, 10, TRUE) - INVOKE_ASYNC(src, .proc/shockwave, EAST, 10, TRUE) + INVOKE_ASYNC(src,PROC_REF(shockwave), WEST, 10, TRUE) + INVOKE_ASYNC(src,PROC_REF(shockwave), EAST, 10, TRUE) sleep(7) - INVOKE_ASYNC(src, .proc/shockwave, NORTH, 10, TRUE) - INVOKE_ASYNC(src, .proc/shockwave, SOUTH, 10, TRUE) + INVOKE_ASYNC(src,PROC_REF(shockwave), NORTH, 10, TRUE) + INVOKE_ASYNC(src,PROC_REF(shockwave), SOUTH, 10, TRUE) animate(src, color = initial(color), time = 5) special = FALSE if(50 to INFINITY) if(prob(75)) if(prob(60)) - INVOKE_ASYNC(src, .proc/plasmaburst, target) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), target) special = TRUE animate(src, color = "#ff0000", time = 3) sleep(5) - INVOKE_ASYNC(src, .proc/shockwave, src.dir, 15) + INVOKE_ASYNC(src,PROC_REF(shockwave), src.dir, 15) if(prob(60)) sleep(5) - INVOKE_ASYNC(src, .proc/plasmaburst, target) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), target) sleep(5) - INVOKE_ASYNC(src, .proc/plasmaburst, target) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), target) if(prob(50)) sleep(5) - INVOKE_ASYNC(src, .proc/plasmaburst, target) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), target) animate(src, color = initial(color), time = 3) special = FALSE else @@ -129,11 +129,11 @@ animate(src, color = "#ff0000", time = 3) special = TRUE sleep(3) - INVOKE_ASYNC(src, .proc/plasmaburst, left, TRUE) - INVOKE_ASYNC(src, .proc/plasmaburst, right, FALSE) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), left, TRUE) + INVOKE_ASYNC(src,PROC_REF(plasmaburst), right, FALSE) sleep(3) - INVOKE_ASYNC(src, .proc/plasmashot, up, FALSE) - INVOKE_ASYNC(src, .proc/plasmashot, down, FALSE) + INVOKE_ASYNC(src,PROC_REF(plasmashot), up, FALSE) + INVOKE_ASYNC(src,PROC_REF(plasmashot), down, FALSE) sleep(10) animate(src, color = initial(color), time = 3) special = FALSE @@ -142,13 +142,13 @@ sleep(3) special = TRUE for(var/dire in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/shockwave, dire, 7, TRUE, 3) + INVOKE_ASYNC(src,PROC_REF(shockwave), dire, 7, TRUE, 3) sleep(6) animate(src, color = initial(color), time = 3) special = FALSE else special = TRUE - INVOKE_ASYNC(src, .proc/ultishockwave, 7, 5) + INVOKE_ASYNC(src,PROC_REF(ultishockwave), 7, 5) sleep(10) special = FALSE diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm index 8372abd7a26..2d2348f7687 100644 --- a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm @@ -116,7 +116,7 @@ new /obj/effect/temp_visual/dir_setting/bloodsplatter/candy(T, get_dir(T, target)) T = get_step(T, dir_to_target) sleep(1) - addtimer(CALLBACK(src, .proc/blood_charge_2, dir_to_target, 0), 5) + addtimer(CALLBACK(src,PROC_REF(blood_charge_2), dir_to_target, 0), 5) /mob/living/simple_animal/hostile/asteroid/elite/candy/proc/bloodytrap(mob/target) playsound(src,'sound/magic/Blind.ogg', 200, 1) @@ -229,7 +229,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/blood_charge_2, move_dir, (times_ran + 1)), 2) + addtimer(CALLBACK(src,PROC_REF(blood_charge_2), move_dir, (times_ran + 1)), 2) /obj/effect/temp_visual/dir_setting/bloodsplatter/candy duration = 10 diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm index d4796330271..09b3bf60241 100644 --- a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm @@ -114,7 +114,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/drakeling/proc/lava_around() ranged_cooldown = world.time + 50 for(var/d in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/lava_wall, d, 5) + INVOKE_ASYNC(src,PROC_REF(lava_wall), d, 5) /mob/living/simple_animal/hostile/asteroid/elite/drakeling/proc/fire_spew() ranged_cooldown = world.time + 25 @@ -129,7 +129,7 @@ visible_message(span_boldwarning("[src] violently puffs smoke!They're going to make a fire moat!")) sleep(5) for(var/d in GLOB.alldirs) - INVOKE_ASYNC(src, .proc/fire_wall, d, 10) + INVOKE_ASYNC(src,PROC_REF(fire_wall), d, 10) // Drakeling helpers diff --git a/modular_sand/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/modular_sand/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index e1beced5b0f..1b893c6f3af 100644 --- a/modular_sand/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/modular_sand/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -5,7 +5,7 @@ /obj/machinery/chem_dispenser/Initialize(mapload) if(upgrade_reagents4) - upgrade_reagents4 = sortList(upgrade_reagents4, /proc/cmp_reagents_asc) + upgrade_reagents4 = sortList(upgrade_reagents4, GLOBAL_PROC_REF(cmp_reagents_asc)) . = ..() /obj/machinery/chem_dispenser/drinks diff --git a/modular_sand/code/modules/resize/resizing.dm b/modular_sand/code/modules/resize/resizing.dm index 913fcbb294a..73f5a5dbccc 100644 --- a/modular_sand/code/modules/resize/resizing.dm +++ b/modular_sand/code/modules/resize/resizing.dm @@ -66,7 +66,7 @@ user.forceMove(target.loc) user.sizediffStamLoss(target) user.add_movespeed_modifier(/datum/movespeed_modifier/stomp, TRUE) //Full stop - addtimer(CALLBACK(user, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP, TRUE), 3) //0.3 seconds + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/,remove_movespeed_modifier), MOVESPEED_ID_STOMP, TRUE), 3) //0.3 seconds if(iscarbon(user)) if(istype(user) && user.dna.features["taur"] == "Naga" || user.dna.features["taur"] == "Tentacle") target.visible_message(span_danger("[src] carefully rolls their tail over [target]!"), span_danger("[src]'s huge tail rolls over you!")) @@ -81,7 +81,7 @@ user.sizediffBruteloss(target) playsound(loc, 'sound/misc/splort.ogg', 50, 1) user.add_movespeed_modifier(/datum/movespeed_modifier/stomp, TRUE) - addtimer(CALLBACK(user, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP, TRUE), 10) //1 second + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/,remove_movespeed_modifier), MOVESPEED_ID_STOMP, TRUE), 10) //1 second //user.Stun(20) if(iscarbon(user)) if(istype(user) && (user.dna.features["taur"] == "Naga" || user.dna.features["taur"] == "Tentacle")) @@ -96,7 +96,7 @@ user.sizediffStamLoss(target) user.sizediffStun(target) user.add_movespeed_modifier(/datum/movespeed_modifier/stomp, TRUE) - addtimer(CALLBACK(user, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP, TRUE), 7)//About 3/4th a second + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/,remove_movespeed_modifier), MOVESPEED_ID_STOMP, TRUE), 7)//About 3/4th a second if(iscarbon(user)) var/feetCover = (user.wear_suit && (user.wear_suit.body_parts_covered & FEET)) || (user.w_uniform && (user.w_uniform.body_parts_covered & FEET) || (user.shoes && (user.shoes.body_parts_covered & FEET))) if(feetCover) diff --git a/modular_sand/code/modules/ruins/lavalandruin_code/doom.dm b/modular_sand/code/modules/ruins/lavalandruin_code/doom.dm index b693d9b8400..6fa23209f63 100644 --- a/modular_sand/code/modules/ruins/lavalandruin_code/doom.dm +++ b/modular_sand/code/modules/ruins/lavalandruin_code/doom.dm @@ -78,8 +78,8 @@ for(var/mob/living/simple_animal/hostile/asteroid/elite/candy/C in view(15)) candylist += C if(candylist.len) - INVOKE_ASYNC(src, /obj/machinery/door/airlock/titanium/doomed/locked.proc/close) - addtimer(CALLBACK(src, .proc/bolt), 5) + INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/door/airlock/titanium/doomed/locked,close)) + addtimer(CALLBACK(src,PROC_REF(bolt)), 5) /obj/machinery/door/airlock/titanium/doomed/locked/process() . = ..() diff --git a/modular_sand/code/modules/ruins/lavalandruin_code/misc.dm b/modular_sand/code/modules/ruins/lavalandruin_code/misc.dm index d001b41fda6..fe2530ba996 100644 --- a/modular_sand/code/modules/ruins/lavalandruin_code/misc.dm +++ b/modular_sand/code/modules/ruins/lavalandruin_code/misc.dm @@ -73,7 +73,7 @@ /obj/effect/wrath/Initialize(mapload) . = ..() megalist = list("Cockblock", "Cockblock", "Cockblock") //cockblock just to be sure that no one goes through the wrath wall in the 10 minute grace period - addtimer(CALLBACK(src, .proc/updatemegalist), 6000) //10 minutes delay so that all megafauna can spawn and etc. + addtimer(CALLBACK(src,PROC_REF(updatemegalist)), 6000) //10 minutes delay so that all megafauna can spawn and etc. /obj/effect/wrath/proc/updatemegalist() megalist = list() diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm index b0e76c32e3b..f6e72e4093c 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm @@ -109,7 +109,7 @@ ENABLE_BITFIELD(G.genital_flags, GENITAL_CHASTENED) H.update_genitals() - RegisterSignal(src, COMSIG_MOB_ITEM_DROPPING, .proc/mob_can_unequip) + RegisterSignal(src, COMSIG_MOB_ITEM_DROPPING,PROC_REF(mob_can_unequip)) /obj/item/clothing/underwear/chastity_belt/proc/mob_can_unequip(obj/item/source, force, newloc, no_move, invdrop, silent) if(force) diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm index 02105fbd3cb..d114a5ad32c 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm @@ -99,8 +99,8 @@ is_overlay_on = TRUE H.update_genitals() - RegisterSignal(H, COMSIG_MOB_ITEM_EQUIPPED, .proc/mob_equipped_item) - RegisterSignal(H, COMSIG_MOB_ITEM_DROPPED, .proc/mob_dropped_item) + RegisterSignal(H, COMSIG_MOB_ITEM_EQUIPPED,PROC_REF(mob_equipped_item)) + RegisterSignal(H, COMSIG_MOB_ITEM_DROPPED,PROC_REF(mob_dropped_item)) /obj/item/genital_equipment/chastity_cage/item_removing(datum/source, obj/item/organ/genital/G, mob/user) . = TRUE diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm index b600c0d9c02..bb8f28c4cba 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/metal_chastity_cage.dm @@ -13,7 +13,7 @@ . = ..() var/mob/living/carbon/human/H = equipment.get_wearer() - RegisterSignal(H, COMSIG_MOVABLE_MOVED, .proc/on_move) + RegisterSignal(H, COMSIG_MOVABLE_MOVED,PROC_REF(on_move)) skin_overlay = mutable_appearance(icon, "worn_[icon_state]_[cage_sprite]_skin", skin_overlay_layer) skin_overlay.color = G.color diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/genital_equipment.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/genital_equipment.dm index 428b16cafce..1cc52b1fd00 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/genital_equipment.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/genital_equipment.dm @@ -5,10 +5,10 @@ /obj/item/genital_equipment/ComponentInitialize() . = ..() var/list/procs_list = list( - "before_inserting" = CALLBACK(src, .proc/item_inserting), - "after_inserting" = CALLBACK(src, .proc/item_inserted), - "before_removing" = CALLBACK(src, .proc/item_removing), - "after_removing" = CALLBACK(src, .proc/item_removed) + "before_inserting" = CALLBACK(src,PROC_REF(item_inserting)), + "after_inserting" = CALLBACK(src,PROC_REF(item_inserted)), + "before_removing" = CALLBACK(src,PROC_REF(item_removing)), + "after_removing" = CALLBACK(src,PROC_REF(item_removed)) ) AddComponent(/datum/component/genital_equipment, genital_slot, procs_list) equipment = GetComponent(/datum/component/genital_equipment) diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.dm b/modular_splurt/code/game/objects/items/lewd_items/leash.dm index 88ed837f87b..fdd35bdfe57 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/leash.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/leash.dm @@ -45,8 +45,8 @@ Icons, maybe? /datum/status_effect/leash_pet/on_apply() - //redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/owner_resist)))) - RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist) + //redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src,PROC_REF(owner_resist))))) + RegisterSignal(owner, COMSIG_LIVING_RESIST,PROC_REF(owner_resist)) redirect_component = owner if(!owner.stat) to_chat(owner, span_userdanger("You have been leashed!")) @@ -103,11 +103,11 @@ Icons, maybe? user.apply_status_effect(/datum/status_effect/leash_dom) //Is the leasher leash_pet = C //Save pet reference for later leash_master = user //Save dom reference for later - //mobhook_leash_pet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_pet_move))) - RegisterSignal(leash_pet, COMSIG_MOVABLE_MOVED, .proc/on_pet_move) + //mobhook_leash_pet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src,PROC_REF(on_pet_move)))) + RegisterSignal(leash_pet, COMSIG_MOVABLE_MOVED,PROC_REF(on_pet_move)) mobhook_leash_pet = leash_pet - //mobhook_leash_master = leash_master.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_master_move))) - RegisterSignal(leash_master, COMSIG_MOVABLE_MOVED, .proc/on_master_move) + //mobhook_leash_master = leash_master.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src,PROC_REF(on_master_move)))) + RegisterSignal(leash_master, COMSIG_MOVABLE_MOVED,PROC_REF(on_master_move)) mobhook_leash_master = leash_master leash_used = 1 if(!leash_pet.has_status_effect(/datum/status_effect/leash_dom)) //Add slowdown if the pet didn't leash themselves @@ -339,7 +339,7 @@ Icons, maybe? if(leash_master == "null") return //Dropping procs any time the leash changes slots. So, we will wait a tick and see if the leash was actually dropped - addtimer(CALLBACK(src, .proc/drop_effects, user, silent), 1) + addtimer(CALLBACK(src,PROC_REF(drop_effects), user, silent), 1) /obj/item/leash/proc/drop_effects(mob/user, silent) if(leash_master.is_holding_item_of_type(/obj/item/leash) || istype(leash_master.get_item_by_slot(ITEM_SLOT_BELT), /obj/item/leash)) @@ -348,8 +348,8 @@ Icons, maybe? viewing.show_message(span_notice("[leash_master] has dropped the leash."), 1) //DOM HAS DROPPED LEASH. PET IS FREE. SCP HAS BREACHED CONTAINMENT. leash_pet.remove_movespeed_modifier(MOVESPEED_ID_LEASH) - //mobhook_leash_freepet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_freepet_move))) - RegisterSignal(leash_pet, COMSIG_MOVABLE_MOVED, .proc/on_freepet_move) + //mobhook_leash_freepet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src,PROC_REF(on_freepet_move)))) + RegisterSignal(leash_pet, COMSIG_MOVABLE_MOVED,PROC_REF(on_freepet_move)) mobhook_leash_freepet = leash_pet leash_master.remove_status_effect(/datum/status_effect/leash_dom) //No dom with no leash. We will get a new dom if the leash is picked back up. leash_master = "null" @@ -360,7 +360,7 @@ Icons, maybe? . = ..() if(leash_used == 0) //Don't apply statuses with a fresh leash. Keeps things clean on the backend. return - addtimer(CALLBACK(src, .proc/equip_effects, user), 2) + addtimer(CALLBACK(src,PROC_REF(equip_effects), user), 2) /obj/item/leash/proc/equip_effects(mob/user) if(leash_pet == "null") @@ -370,8 +370,8 @@ Icons, maybe? leash_master = "null" return leash_master.apply_status_effect(/datum/status_effect/leash_dom) - //mobhook_leash_master = leash_master.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_master_move))) - RegisterSignal(leash_master, COMSIG_MOVABLE_MOVED, .proc/on_master_move) + //mobhook_leash_master = leash_master.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src,PROC_REF(on_master_move)))) + RegisterSignal(leash_master, COMSIG_MOVABLE_MOVED,PROC_REF(on_master_move)) mobhook_leash_master = leash_master leash_pet.remove_status_effect(/datum/status_effect/leash_freepet) //QDEL_NULL(mobhook_leash_freepet) diff --git a/modular_splurt/code/game/objects/items/lewd_items/rope.dm b/modular_splurt/code/game/objects/items/lewd_items/rope.dm index d950844904b..8cf53ed9900 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/rope.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/rope.dm @@ -434,14 +434,14 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list( roped_mob.clear_cuffs(roped_mob.legcuffed, 0) roped_mob = new_mob if(roped_mob != null) - RegisterSignal(roped_mob, COMSIG_MOVABLE_MOVED, .proc/on_mob_move) + RegisterSignal(roped_mob, COMSIG_MOVABLE_MOVED,PROC_REF(on_mob_move)) /obj/item/restraints/bondage_rope/proc/set_roped_master(mob/living/carbon/new_master) if(roped_master != null && roped_mob != roped_master) UnregisterSignal(roped_master, COMSIG_MOVABLE_MOVED) roped_master = new_master if(roped_master != null && roped_mob != roped_master) - RegisterSignal(roped_master, COMSIG_MOVABLE_MOVED, .proc/on_master_move) + RegisterSignal(roped_master, COMSIG_MOVABLE_MOVED,PROC_REF(on_master_move)) /obj/item/restraints/bondage_rope/proc/set_roped_object(obj/new_object, new_object_type) if(roped_object != null) @@ -450,7 +450,7 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list( roped_object_type = new_object_type set_rope_slowdown(roped_mob) if(roped_object != null) - RegisterSignal(roped_object, COMSIG_MOVABLE_MOVED, .proc/on_object_move) + RegisterSignal(roped_object, COMSIG_MOVABLE_MOVED,PROC_REF(on_object_move)) // Returns true, if roped mob can tug their object behind them /obj/item/restraints/bondage_rope/proc/can_move_object() diff --git a/modular_splurt/code/game/objects/items/lewd_items/vibrator.dm b/modular_splurt/code/game/objects/items/lewd_items/vibrator.dm index be625903c65..2aa12adef50 100644 --- a/modular_splurt/code/game/objects/items/lewd_items/vibrator.dm +++ b/modular_splurt/code/game/objects/items/lewd_items/vibrator.dm @@ -21,8 +21,8 @@ /obj/item/electropack/vibrator/ComponentInitialize() . = ..() var/list/procs_list = list( - "before_inserting" = CALLBACK(src, .proc/item_inserting), - "after_inserting" = CALLBACK(src, .proc/item_inserted), + "before_inserting" = CALLBACK(src,PROC_REF(item_inserting)), + "after_inserting" = CALLBACK(src,PROC_REF(item_inserted)), ) AddComponent(/datum/component/genital_equipment, list(ORGAN_SLOT_VAGINA, ORGAN_SLOT_ANUS, ORGAN_SLOT_PENIS, ORGAN_SLOT_BREASTS, ORGAN_SLOT_BUTT, ORGAN_SLOT_BELLY), procs_list) diff --git a/modular_sunset/code/game/objects/sunsetmisc.dm b/modular_sunset/code/game/objects/sunsetmisc.dm index d266281177d..c755b5d55a5 100644 --- a/modular_sunset/code/game/objects/sunsetmisc.dm +++ b/modular_sunset/code/game/objects/sunsetmisc.dm @@ -1,4 +1,4 @@ -obj/item/bighorn_flag +/obj/item/bighorn_flag name = "Bighorn flag" desc = "A flag depicting the head of a bighorner. It's the symbol of the town of Bighorn." icon = 'modular_sunset/icons/structures/bighorn_flag.dmi' @@ -9,7 +9,7 @@ obj/item/bighorn_flag w_class = 4 layer = 4.1 -obj/item/bighorn_sign +/obj/item/bighorn_sign name = "Bighorn sign" desc = "A repurposed highway sign with the spray painted name of 'Bighorn'." icon = 'modular_sunset/icons/structures/bighorn_sign.dmi' @@ -20,7 +20,7 @@ obj/item/bighorn_sign w_class = 4 layer = 5 -obj/item/trade_sign +/obj/item/trade_sign name = "Trade sign" desc = "A wooden sign with seemingly hand forged lettering bolted to it." icon = 'modular_sunset/icons/structures/sunset_signs.dmi' diff --git a/tgui/packages/tgui-dev-server/dreamseeker.js b/tgui/packages/tgui-dev-server/dreamseeker.js index c11ecad1b0d..1faa713af01 100644 --- a/tgui/packages/tgui-dev-server/dreamseeker.js +++ b/tgui/packages/tgui-dev-server/dreamseeker.js @@ -27,6 +27,9 @@ export class DreamSeeker { .map(key => encodeURIComponent(key) + '=' + encodeURIComponent(params[key])) .join('&'); + logger.log( + `topic call at ${this.client.defaults.baseURL + '/dummy?' + query}` + ); return this.client.get('/dummy?' + query); } } diff --git a/tgui/packages/tgui-dev-server/reloader.js b/tgui/packages/tgui-dev-server/reloader.js index 22527890409..2440509620e 100644 --- a/tgui/packages/tgui-dev-server/reloader.js +++ b/tgui/packages/tgui-dev-server/reloader.js @@ -67,7 +67,8 @@ export const findCacheRoot = async () => { const onCacheRootFound = cacheRoot => { logger.log(`found cache at '${cacheRoot}'`); - // Plant a dummy + // Plant a dummy browser window file, + // we'll be using this to avoid world topic. For byond 514. fs.closeSync(fs.openSync(cacheRoot + '/dummy', 'w')); }; @@ -93,6 +94,8 @@ export const reloadByondCache = async bundleDir => { // Clear garbage const garbage = await resolveGlob(cacheDir, './*.+(bundle|chunk|hot-update).*'); try { + // Plant a dummy, we're avoiding world topic by placing it here..? + fs.closeSync(fs.openSync(cacheRoot + '/dummy', 'w')); for (let file of garbage) { fs.unlinkSync(file); } diff --git a/tgui/packages/tgui-panel/themes.js b/tgui/packages/tgui-panel/themes.js index 1ef6caaf459..11a2fcd1820 100644 --- a/tgui/packages/tgui-panel/themes.js +++ b/tgui/packages/tgui-panel/themes.js @@ -82,7 +82,7 @@ export const setClientTheme = name => { }); } if (name === 'dark') { - Byond.winset({ + return Byond.winset({ // Main windows 'infowindow.background-color': COLOR_DARK_BG, 'infowindow.text-color': COLOR_DARK_TEXT, diff --git a/tgui/public/tgui-common.bundle.js b/tgui/public/tgui-common.bundle.js new file mode 100644 index 00000000000..14254837b6a --- /dev/null +++ b/tgui/public/tgui-common.bundle.js @@ -0,0 +1 @@ +(self.webpackChunktgui_workspace=self.webpackChunktgui_workspace||[]).push([["tgui-common"],{46877:function(e,t,n){"use strict";t.__esModule=!0,t.createPopper=void 0,t.popperGenerator=v;var r=d(n(86310)),o=d(n(99470)),i=d(n(24403)),a=d(n(84416)),u=(d(n(59493)),d(n(3738))),s=d(n(82053)),c=(d(n(53131)),d(n(13611)),d(n(63992)),d(n(76197))),l=d(n(76316));t.detectOverflow=l["default"];var f=n(50695);n(63570);function d(e){return e&&e.__esModule?e:{"default":e}}var p={placement:"bottom",modifiers:[],strategy:"absolute"};function h(){for(var e=arguments.length,t=new Array(e),n=0;n0&&(0,o.round)(u.width)/e.offsetWidth||1,c=e.offsetHeight>0&&(0,o.round)(u.height)/e.offsetHeight||1);var l=((0,r.isElement)(e)?(0,i["default"])(e):window).visualViewport,f=!(0,a["default"])()&&n,d=(u.left+(f&&l?l.offsetLeft:0))/s,p=(u.top+(f&&l?l.offsetTop:0))/c,h=u.width/s,v=u.height/c;return{width:h,height:v,top:p,right:d+h,bottom:p+v,left:d,x:d,y:p}};var r=n(50695),o=n(49055),i=u(n(34510)),a=u(n(55812));function u(e){return e&&e.__esModule?e:{"default":e}}},96087:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t,n,r){var o="clippingParents"===t?function(e){var t=(0,a["default"])((0,d["default"])(e)),n=["absolute","fixed"].indexOf((0,c["default"])(e).position)>=0,r=n&&(0,l.isHTMLElement)(e)?(0,u["default"])(e):e;if(!(0,l.isElement)(r))return[];return t.filter((function(e){return(0,l.isElement)(e)&&(0,p["default"])(e,r)&&"body"!==(0,h["default"])(e)}))}(e):[].concat(t),i=[].concat(o,[n]),s=i[0],f=i.reduce((function(t,n){var o=y(e,n,r);return t.top=(0,m.max)(o.top,t.top),t.right=(0,m.min)(o.right,t.right),t.bottom=(0,m.min)(o.bottom,t.bottom),t.left=(0,m.max)(o.left,t.left),t}),y(e,s,r));return f.width=f.right-f.left,f.height=f.bottom-f.top,f.x=f.left,f.y=f.top,f};var r=n(63570),o=g(n(93596)),i=g(n(48532)),a=g(n(24403)),u=g(n(84416)),s=g(n(45385)),c=g(n(59493)),l=n(50695),f=g(n(41012)),d=g(n(1534)),p=g(n(1676)),h=g(n(72417)),v=g(n(1656)),m=n(49055);function g(e){return e&&e.__esModule?e:{"default":e}}function y(e,t,n){return t===r.viewport?(0,v["default"])((0,o["default"])(e,n)):(0,l.isElement)(t)?function(e,t){var n=(0,f["default"])(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):(0,v["default"])((0,i["default"])((0,s["default"])(e)))}},86310:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t,n){void 0===n&&(n=!1);var f=(0,a.isHTMLElement)(t),d=(0,a.isHTMLElement)(t)&&function(e){var t=e.getBoundingClientRect(),n=(0,l.round)(t.width)/e.offsetWidth||1,r=(0,l.round)(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),p=(0,s["default"])(t),h=(0,r["default"])(e,d,n),v={scrollLeft:0,scrollTop:0},m={x:0,y:0};(f||!f&&!n)&&(("body"!==(0,i["default"])(t)||(0,c["default"])(p))&&(v=(0,o["default"])(t)),(0,a.isHTMLElement)(t)?((m=(0,r["default"])(t,!0)).x+=t.clientLeft,m.y+=t.clientTop):p&&(m.x=(0,u["default"])(p)));return{x:h.left+v.scrollLeft-m.x,y:h.top+v.scrollTop-m.y,width:h.width,height:h.height}};var r=f(n(41012)),o=f(n(29806)),i=f(n(72417)),a=n(50695),u=f(n(47948)),s=f(n(45385)),c=f(n(63937)),l=n(49055);function f(e){return e&&e.__esModule?e:{"default":e}}},59493:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(0,o["default"])(e).getComputedStyle(e)};var r,o=(r=n(34510))&&r.__esModule?r:{"default":r}},45385:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(((0,r.isElement)(e)?e.ownerDocument:e.document)||window.document).documentElement};var r=n(50695)},48532:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t,n=(0,r["default"])(e),s=(0,a["default"])(e),c=null==(t=e.ownerDocument)?void 0:t.body,l=(0,u.max)(n.scrollWidth,n.clientWidth,c?c.scrollWidth:0,c?c.clientWidth:0),f=(0,u.max)(n.scrollHeight,n.clientHeight,c?c.scrollHeight:0,c?c.clientHeight:0),d=-s.scrollLeft+(0,i["default"])(e),p=-s.scrollTop;"rtl"===(0,o["default"])(c||n).direction&&(d+=(0,u.max)(n.clientWidth,c?c.clientWidth:0)-l);return{width:l,height:f,x:d,y:p}};var r=s(n(45385)),o=s(n(59493)),i=s(n(47948)),a=s(n(63365)),u=n(49055);function s(e){return e&&e.__esModule?e:{"default":e}}},15346:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},99470:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=e.offsetWidth,r=e.offsetHeight;Math.abs(t.width-n)<=1&&(n=t.width);Math.abs(t.height-r)<=1&&(r=t.height);return{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}};var r,o=(r=n(41012))&&r.__esModule?r:{"default":r}},72417:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e?(e.nodeName||"").toLowerCase():null}},29806:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return e!==(0,o["default"])(e)&&(0,i.isHTMLElement)(e)?(0,a["default"])(e):(0,r["default"])(e)};var r=u(n(63365)),o=u(n(34510)),i=n(50695),a=u(n(15346));function u(e){return e&&e.__esModule?e:{"default":e}}},84416:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,r["default"])(e),n=f(e);for(;n&&(0,u["default"])(n)&&"static"===(0,i["default"])(n).position;)n=f(n);if(n&&("html"===(0,o["default"])(n)||"body"===(0,o["default"])(n)&&"static"===(0,i["default"])(n).position))return t;return n||function(e){var t=/firefox/i.test((0,c["default"])());if(/Trident/i.test((0,c["default"])())&&(0,a.isHTMLElement)(e)){if("fixed"===(0,i["default"])(e).position)return null}var n=(0,s["default"])(e);(0,a.isShadowRoot)(n)&&(n=n.host);for(;(0,a.isHTMLElement)(n)&&["html","body"].indexOf((0,o["default"])(n))<0;){var r=(0,i["default"])(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t};var r=l(n(34510)),o=l(n(72417)),i=l(n(59493)),a=n(50695),u=l(n(91285)),s=l(n(1534)),c=l(n(77708));function l(e){return e&&e.__esModule?e:{"default":e}}function f(e){return(0,a.isHTMLElement)(e)&&"fixed"!==(0,i["default"])(e).position?e.offsetParent:null}},1534:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){if("html"===(0,r["default"])(e))return e;return e.assignedSlot||e.parentNode||((0,i.isShadowRoot)(e)?e.host:null)||(0,o["default"])(e)};var r=a(n(72417)),o=a(n(45385)),i=n(50695);function a(e){return e&&e.__esModule?e:{"default":e}}},6072:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function s(e){if(["html","body","#document"].indexOf((0,i["default"])(e))>=0)return e.ownerDocument.body;if((0,a.isHTMLElement)(e)&&(0,o["default"])(e))return e;return s((0,r["default"])(e))};var r=u(n(1534)),o=u(n(63937)),i=u(n(72417)),a=n(50695);function u(e){return e&&e.__esModule?e:{"default":e}}},93596:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n=(0,r["default"])(e),u=(0,o["default"])(e),s=n.visualViewport,c=u.clientWidth,l=u.clientHeight,f=0,d=0;if(s){c=s.width,l=s.height;var p=(0,a["default"])();(p||!p&&"fixed"===t)&&(f=s.offsetLeft,d=s.offsetTop)}return{width:c,height:l,x:f+(0,i["default"])(e),y:d}};var r=u(n(34510)),o=u(n(45385)),i=u(n(47948)),a=u(n(55812));function u(e){return e&&e.__esModule?e:{"default":e}}},34510:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}},63365:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}};var r,o=(r=n(34510))&&r.__esModule?r:{"default":r}},47948:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(0,r["default"])((0,o["default"])(e)).left+(0,i["default"])(e).scrollLeft};var r=a(n(41012)),o=a(n(45385)),i=a(n(63365));function a(e){return e&&e.__esModule?e:{"default":e}}},50695:function(e,t,n){"use strict";t.__esModule=!0,t.isElement=function(e){var t=(0,o["default"])(e).Element;return e instanceof t||e instanceof Element},t.isHTMLElement=function(e){var t=(0,o["default"])(e).HTMLElement;return e instanceof t||e instanceof HTMLElement},t.isShadowRoot=function(e){if("undefined"==typeof ShadowRoot)return!1;var t=(0,o["default"])(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot};var r,o=(r=n(34510))&&r.__esModule?r:{"default":r}},55812:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(){return!/^((?!chrome|android).)*safari/i.test((0,o["default"])())};var r,o=(r=n(77708))&&r.__esModule?r:{"default":r}},63937:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)};var r,o=(r=n(59493))&&r.__esModule?r:{"default":r}},91285:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return["table","td","th"].indexOf((0,o["default"])(e))>=0};var r,o=(r=n(72417))&&r.__esModule?r:{"default":r}},24403:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function s(e,t){var n;void 0===t&&(t=[]);var u=(0,r["default"])(e),c=u===(null==(n=e.ownerDocument)?void 0:n.body),l=(0,i["default"])(u),f=c?[l].concat(l.visualViewport||[],(0,a["default"])(u)?u:[]):u,d=t.concat(f);return c?d:d.concat(s((0,o["default"])(f)))};var r=u(n(6072)),o=u(n(1534)),i=u(n(34510)),a=u(n(63937));function u(e){return e&&e.__esModule?e:{"default":e}}},63570:function(e,t){"use strict";t.__esModule=!0,t.write=t.viewport=t.variationPlacements=t.top=t.start=t.right=t.reference=t.read=t.popper=t.placements=t.modifierPhases=t.main=t.left=t.end=t.clippingParents=t.bottom=t.beforeWrite=t.beforeRead=t.beforeMain=t.basePlacements=t.auto=t.afterWrite=t.afterRead=t.afterMain=void 0;t.top="top";var n="bottom";t.bottom=n;var r="right";t.right=r;var o="left";t.left=o;var i="auto";t.auto=i;var a=["top",n,r,o];t.basePlacements=a;var u="start";t.start=u;var s="end";t.end=s;t.clippingParents="clippingParents";t.viewport="viewport";t.popper="popper";t.reference="reference";var c=a.reduce((function(e,t){return e.concat([t+"-"+u,t+"-"+s])}),[]);t.variationPlacements=c;var l=[].concat(a,[i]).reduce((function(e,t){return e.concat([t,t+"-"+u,t+"-"+s])}),[]);t.placements=l;var f="beforeRead";t.beforeRead=f;var d="read";t.read=d;var p="afterRead";t.afterRead=p;var h="beforeMain";t.beforeMain=h;var v="main";t.main=v;var m="afterMain";t.afterMain=m;var g="beforeWrite";t.beforeWrite=g;var y="write";t.write=y;var b="afterWrite";t.afterWrite=b;var x=[f,d,p,h,v,m,g,y,b];t.modifierPhases=x},42346:function(e,t,n){"use strict";t.__esModule=!0;var r={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};t.popperGenerator=t.detectOverflow=t.createPopperLite=t.createPopperBase=t.createPopper=void 0;var o=n(63570);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(73694);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(46877);t.popperGenerator=a.popperGenerator,t.detectOverflow=a.detectOverflow,t.createPopperBase=a.createPopper;var u=n(28153);t.createPopper=u.createPopper;var s=n(3922);t.createPopperLite=s.createPopper},43154:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=(r=n(72417))&&r.__esModule?r:{"default":r},i=n(50695);var a={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},a=t.elements[e];(0,i.isHTMLElement)(a)&&(0,o["default"])(a)&&(Object.assign(a.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?a.removeAttribute(e):a.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],a=t.attributes[e]||{},u=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});(0,i.isHTMLElement)(r)&&(0,o["default"])(r)&&(Object.assign(r.style,u),Object.keys(a).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};t["default"]=a},82562:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=d(n(63992)),o=d(n(99470)),i=d(n(1676)),a=d(n(84416)),u=d(n(63185)),s=n(54155),c=d(n(45499)),l=d(n(92806)),f=n(63570);n(50695);function d(e){return e&&e.__esModule?e:{"default":e}}var p=function(e,t){return e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e,(0,c["default"])("number"!=typeof e?e:(0,l["default"])(e,f.basePlacements))};var h={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,i=e.name,c=e.options,l=n.elements.arrow,d=n.modifiersData.popperOffsets,h=(0,r["default"])(n.placement),v=(0,u["default"])(h),m=[f.left,f.right].indexOf(h)>=0?"height":"width";if(l&&d){var g=p(c.padding,n),y=(0,o["default"])(l),b="y"===v?f.top:f.left,x="y"===v?f.bottom:f.right,w=n.rects.reference[m]+n.rects.reference[v]-d[v]-n.rects.popper[m],E=d[v]-n.rects.reference[v],_=(0,a["default"])(l),D=_?"y"===v?_.clientHeight||0:_.clientWidth||0:0,C=w/2-E/2,k=g[b],A=D-y[m]-g[x],S=D/2-y[m]/2+C,N=(0,s.within)(k,S,A),O=v;n.modifiersData[i]=((t={})[O]=N,t.centerOffset=N-S,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&(0,i["default"])(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};t["default"]=h},94698:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,t.mapToStyles=p;var r=n(63570),o=f(n(84416)),i=f(n(34510)),a=f(n(45385)),u=f(n(59493)),s=f(n(63992)),c=f(n(4529)),l=n(49055);function f(e){return e&&e.__esModule?e:{"default":e}}var d={top:"auto",right:"auto",bottom:"auto",left:"auto"};function p(e){var t,n=e.popper,s=e.popperRect,c=e.placement,f=e.variation,p=e.offsets,h=e.position,v=e.gpuAcceleration,m=e.adaptive,g=e.roundOffsets,y=e.isFixed,b=p.x,x=void 0===b?0:b,w=p.y,E=void 0===w?0:w,_="function"==typeof g?g({x:x,y:E}):{x:x,y:E};x=_.x,E=_.y;var D=p.hasOwnProperty("x"),C=p.hasOwnProperty("y"),k=r.left,A=r.top,S=window;if(m){var N=(0,o["default"])(n),O="clientHeight",F="clientWidth";if(N===(0,i["default"])(n)&&(N=(0,a["default"])(n),"static"!==(0,u["default"])(N).position&&"absolute"===h&&(O="scrollHeight",F="scrollWidth")),c===r.top||(c===r.left||c===r.right)&&f===r.end)A=r.bottom,E-=(y&&N===S&&S.visualViewport?S.visualViewport.height:N[O])-s.height,E*=v?1:-1;if(c===r.left||(c===r.top||c===r.bottom)&&f===r.end)k=r.right,x-=(y&&N===S&&S.visualViewport?S.visualViewport.width:N[F])-s.width,x*=v?1:-1}var M,T=Object.assign({position:h},m&&d),I=!0===g?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:(0,l.round)(t*r)/r||0,y:(0,l.round)(n*r)/r||0}}({x:x,y:E}):{x:x,y:E};return x=I.x,E=I.y,v?Object.assign({},T,((M={})[A]=C?"0":"",M[k]=D?"0":"",M.transform=(S.devicePixelRatio||1)<=1?"translate("+x+"px, "+E+"px)":"translate3d("+x+"px, "+E+"px, 0)",M)):Object.assign({},T,((t={})[A]=C?E+"px":"",t[k]=D?x+"px":"",t.transform="",t))}var h={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,u=n.roundOffsets,l=void 0===u||u,f={placement:(0,s["default"])(t.placement),variation:(0,c["default"])(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,p(Object.assign({},f,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,p(Object.assign({},f,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};t["default"]=h},84841:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=(r=n(34510))&&r.__esModule?r:{"default":r};var i={passive:!0};var a={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,u=void 0===a||a,s=r.resize,c=void 0===s||s,l=(0,o["default"])(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return u&&f.forEach((function(e){e.addEventListener("scroll",n.update,i)})),c&&l.addEventListener("resize",n.update,i),function(){u&&f.forEach((function(e){e.removeEventListener("scroll",n.update,i)})),c&&l.removeEventListener("resize",n.update,i)}},data:{}};t["default"]=a},69161:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=l(n(37436)),o=l(n(63992)),i=l(n(45979)),a=l(n(76316)),u=l(n(93004)),s=n(63570),c=l(n(4529));function l(e){return e&&e.__esModule?e:{"default":e}}var f={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,l=e.name;if(!t.modifiersData[l]._skip){for(var f=n.mainAxis,d=void 0===f||f,p=n.altAxis,h=void 0===p||p,v=n.fallbackPlacements,m=n.padding,g=n.boundary,y=n.rootBoundary,b=n.altBoundary,x=n.flipVariations,w=void 0===x||x,E=n.allowedAutoPlacements,_=t.options.placement,D=(0,o["default"])(_),C=v||(D===_||!w?[(0,r["default"])(_)]:function(e){if((0,o["default"])(e)===s.auto)return[];var t=(0,r["default"])(e);return[(0,i["default"])(e),t,(0,i["default"])(t)]}(_)),k=[_].concat(C).reduce((function(e,n){return e.concat((0,o["default"])(n)===s.auto?(0,u["default"])(t,{placement:n,boundary:g,rootBoundary:y,padding:m,flipVariations:w,allowedAutoPlacements:E}):n)}),[]),A=t.rects.reference,S=t.rects.popper,N=new Map,O=!0,F=k[0],M=0;M=0,P=L?"width":"height",j=(0,a["default"])(t,{placement:T,boundary:g,rootBoundary:y,altBoundary:b,padding:m}),V=L?B?s.right:s.left:B?s.bottom:s.top;A[P]>S[P]&&(V=(0,r["default"])(V));var R=(0,r["default"])(V),z=[];if(d&&z.push(j[I]<=0),h&&z.push(j[V]<=0,j[R]<=0),z.every((function(e){return e}))){F=T,O=!1;break}N.set(T,z)}if(O)for(var K=function(e){var t=k.find((function(t){var n=N.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return F=t,"break"},U=w?3:1;U>0;U--){if("break"===K(U))break}t.placement!==F&&(t.modifiersData[l]._skip=!0,t.placement=F,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};t["default"]=f},96965:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=n(63570),i=(r=n(76316))&&r.__esModule?r:{"default":r};function a(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function u(e){return[o.top,o.right,o.bottom,o.left].some((function(t){return e[t]>=0}))}var s={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,c=(0,i["default"])(t,{elementContext:"reference"}),l=(0,i["default"])(t,{altBoundary:!0}),f=a(c,r),d=a(l,o,s),p=u(f),h=u(d);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:d,isReferenceHidden:p,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}};t["default"]=s},73694:function(e,t,n){"use strict";t.__esModule=!0,t.preventOverflow=t.popperOffsets=t.offset=t.hide=t.flip=t.eventListeners=t.computeStyles=t.arrow=t.applyStyles=void 0;var r=d(n(43154));t.applyStyles=r["default"];var o=d(n(82562));t.arrow=o["default"];var i=d(n(94698));t.computeStyles=i["default"];var a=d(n(84841));t.eventListeners=a["default"];var u=d(n(69161));t.flip=u["default"];var s=d(n(96965));t.hide=s["default"];var c=d(n(71832));t.offset=c["default"];var l=d(n(87883));t.popperOffsets=l["default"];var f=d(n(77600));function d(e){return e&&e.__esModule?e:{"default":e}}t.preventOverflow=f["default"]},71832:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,t.distanceAndSkiddingToXY=a;var r,o=(r=n(63992))&&r.__esModule?r:{"default":r},i=n(63570);function a(e,t,n){var r=(0,o["default"])(e),a=[i.left,i.top].indexOf(r)>=0?-1:1,u="function"==typeof n?n(Object.assign({},t,{placement:e})):n,s=u[0],c=u[1];return s=s||0,c=(c||0)*a,[i.left,i.right].indexOf(r)>=0?{x:c,y:s}:{x:s,y:c}}var u={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,u=void 0===o?[0,0]:o,s=i.placements.reduce((function(e,n){return e[n]=a(n,t.rects,u),e}),{}),c=s[t.placement],l=c.x,f=c.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=f),t.modifiersData[r]=s}};t["default"]=u},87883:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=(r=n(4320))&&r.__esModule?r:{"default":r};var i={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=(0,o["default"])({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};t["default"]=i},77600:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=n(63570),o=h(n(63992)),i=h(n(63185)),a=h(n(1072)),u=n(54155),s=h(n(99470)),c=h(n(84416)),l=h(n(76316)),f=h(n(4529)),d=h(n(40321)),p=n(49055);function h(e){return e&&e.__esModule?e:{"default":e}}var v={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,h=e.name,v=n.mainAxis,m=void 0===v||v,g=n.altAxis,y=void 0!==g&&g,b=n.boundary,x=n.rootBoundary,w=n.altBoundary,E=n.padding,_=n.tether,D=void 0===_||_,C=n.tetherOffset,k=void 0===C?0:C,A=(0,l["default"])(t,{boundary:b,rootBoundary:x,padding:E,altBoundary:w}),S=(0,o["default"])(t.placement),N=(0,f["default"])(t.placement),O=!N,F=(0,i["default"])(S),M=(0,a["default"])(F),T=t.modifiersData.popperOffsets,I=t.rects.reference,B=t.rects.popper,L="function"==typeof k?k(Object.assign({},t.rects,{placement:t.placement})):k,P="number"==typeof L?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(T){if(m){var R,z="y"===F?r.top:r.left,K="y"===F?r.bottom:r.right,U="y"===F?"height":"width",Y=T[F],H=Y+A[z],W=Y-A[K],$=D?-B[U]/2:0,G=N===r.start?I[U]:B[U],q=N===r.start?-B[U]:-I[U],Z=t.elements.arrow,X=D&&Z?(0,s["default"])(Z):{width:0,height:0},Q=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:(0,d["default"])(),J=Q[z],ee=Q[K],te=(0,u.within)(0,I[U],X[U]),ne=O?I[U]/2-$-te-J-P.mainAxis:G-te-J-P.mainAxis,re=O?-I[U]/2+$+te+ee+P.mainAxis:q+te+ee+P.mainAxis,oe=t.elements.arrow&&(0,c["default"])(t.elements.arrow),ie=oe?"y"===F?oe.clientTop||0:oe.clientLeft||0:0,ae=null!=(R=null==j?void 0:j[F])?R:0,ue=Y+ne-ae-ie,se=Y+re-ae,ce=(0,u.within)(D?(0,p.min)(H,ue):H,Y,D?(0,p.max)(W,se):W);T[F]=ce,V[F]=ce-Y}if(y){var le,fe="x"===F?r.top:r.left,de="x"===F?r.bottom:r.right,pe=T[M],he="y"===M?"height":"width",ve=pe+A[fe],me=pe-A[de],ge=-1!==[r.top,r.left].indexOf(S),ye=null!=(le=null==j?void 0:j[M])?le:0,be=ge?ve:pe-I[he]-B[he]-ye+P.altAxis,xe=ge?pe+I[he]+B[he]-ye-P.altAxis:me,we=D&&ge?(0,u.withinMaxClamp)(be,pe,xe):(0,u.within)(D?be:ve,pe,D?xe:me);T[M]=we,V[M]=we-pe}t.modifiersData[h]=V}},requiresIfExists:["offset"]};t["default"]=v},3922:function(e,t,n){"use strict";t.__esModule=!0,t.defaultModifiers=t.createPopper=void 0;var r=n(46877);t.popperGenerator=r.popperGenerator,t.detectOverflow=r.detectOverflow;var o=s(n(84841)),i=s(n(87883)),a=s(n(94698)),u=s(n(43154));function s(e){return e&&e.__esModule?e:{"default":e}}var c=[o["default"],i["default"],a["default"],u["default"]];t.defaultModifiers=c;var l=(0,r.popperGenerator)({defaultModifiers:c});t.createPopper=l},28153:function(e,t,n){"use strict";t.__esModule=!0;var r={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};t.defaultModifiers=t.createPopperLite=t.createPopper=void 0;var o=n(46877);t.popperGenerator=o.popperGenerator,t.detectOverflow=o.detectOverflow;var i=m(n(84841)),a=m(n(87883)),u=m(n(94698)),s=m(n(43154)),c=m(n(71832)),l=m(n(69161)),f=m(n(77600)),d=m(n(82562)),p=m(n(96965)),h=n(3922);t.createPopperLite=h.createPopper;var v=n(73694);function m(e){return e&&e.__esModule?e:{"default":e}}Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===v[e]||(t[e]=v[e]))}));var g=[i["default"],a["default"],u["default"],s["default"],c["default"],l["default"],f["default"],d["default"],p["default"]];t.defaultModifiers=g;var y=(0,o.popperGenerator)({defaultModifiers:g});t.createPopperLite=t.createPopper=y},93004:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){void 0===t&&(t={});var n=t,u=n.placement,s=n.boundary,c=n.rootBoundary,l=n.padding,f=n.flipVariations,d=n.allowedAutoPlacements,p=void 0===d?o.placements:d,h=(0,r["default"])(u),v=h?f?o.variationPlacements:o.variationPlacements.filter((function(e){return(0,r["default"])(e)===h})):o.basePlacements,m=v.filter((function(e){return p.indexOf(e)>=0}));0===m.length&&(m=v);var g=m.reduce((function(t,n){return t[n]=(0,i["default"])(e,{placement:n,boundary:s,rootBoundary:c,padding:l})[(0,a["default"])(n)],t}),{});return Object.keys(g).sort((function(e,t){return g[e]-g[t]}))};var r=u(n(4529)),o=n(63570),i=u(n(76316)),a=u(n(63992));function u(e){return e&&e.__esModule?e:{"default":e}}},4320:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t,n=e.reference,u=e.element,s=e.placement,c=s?(0,r["default"])(s):null,l=s?(0,o["default"])(s):null,f=n.x+n.width/2-u.width/2,d=n.y+n.height/2-u.height/2;switch(c){case a.top:t={x:f,y:n.y-u.height};break;case a.bottom:t={x:f,y:n.y+n.height};break;case a.right:t={x:n.x+n.width,y:d};break;case a.left:t={x:n.x-u.width,y:d};break;default:t={x:n.x,y:n.y}}var p=c?(0,i["default"])(c):null;if(null!=p){var h="y"===p?"height":"width";switch(l){case a.start:t[p]=t[p]-(n[h]/2-u[h]/2);break;case a.end:t[p]=t[p]+(n[h]/2-u[h]/2)}}return t};var r=u(n(63992)),o=u(n(4529)),i=u(n(63185)),a=n(63570);function u(e){return e&&e.__esModule?e:{"default":e}}},82053:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=undefined,n(e())}))}))),t}}},76316:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){void 0===t&&(t={});var n=t,d=n.placement,p=void 0===d?e.placement:d,h=n.strategy,v=void 0===h?e.strategy:h,m=n.boundary,g=void 0===m?s.clippingParents:m,y=n.rootBoundary,b=void 0===y?s.viewport:y,x=n.elementContext,w=void 0===x?s.popper:x,E=n.altBoundary,_=void 0!==E&&E,D=n.padding,C=void 0===D?0:D,k=(0,l["default"])("number"!=typeof C?C:(0,f["default"])(C,s.basePlacements)),A=w===s.popper?s.reference:s.popper,S=e.rects.popper,N=e.elements[_?A:w],O=(0,r["default"])((0,c.isElement)(N)?N:N.contextElement||(0,o["default"])(e.elements.popper),g,b,v),F=(0,i["default"])(e.elements.reference),M=(0,a["default"])({reference:F,element:S,strategy:"absolute",placement:p}),T=(0,u["default"])(Object.assign({},S,M)),I=w===s.popper?T:F,B={top:O.top-I.top+k.top,bottom:I.bottom-O.bottom+k.bottom,left:O.left-I.left+k.left,right:I.right-O.right+k.right},L=e.modifiersData.offset;if(w===s.popper&&L){var P=L[p];Object.keys(B).forEach((function(e){var t=[s.right,s.bottom].indexOf(e)>=0?1:-1,n=[s.top,s.bottom].indexOf(e)>=0?"y":"x";B[e]+=P[n]*t}))}return B};var r=d(n(96087)),o=d(n(45385)),i=d(n(41012)),a=d(n(4320)),u=d(n(1656)),s=n(63570),c=n(50695),l=d(n(45499)),f=d(n(92806));function d(e){return e&&e.__esModule?e:{"default":e}}},92806:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}},23387:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0?"x":"y"}},37436:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.replace(/left|right|bottom|top/g,(function(e){return n[e]}))};var n={left:"right",right:"left",bottom:"top",top:"bottom"}},45979:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.replace(/start|end/g,(function(e){return n[e]}))};var n={start:"end",end:"start"}},4529:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.split("-")[1]}},49055:function(e,t){"use strict";t.__esModule=!0,t.round=t.min=t.max=void 0;var n=Math.max;t.max=n;var r=Math.min;t.min=r;var o=Math.round;t.round=o},76197:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}},45499:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return Object.assign({},(0,o["default"])(),e)};var r,o=(r=n(40321))&&r.__esModule?r:{"default":r}},3738:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=function(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}(e);return r.modifierPhases.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])};var r=n(63570)},1656:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},13611:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n=new Set;return e.filter((function(e){var r=t(e);if(!n.has(r))return n.add(r),!0}))}},77708:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(){var e=navigator.userAgentData;if(null!=e&&e.brands)return e.brands.map((function(e){return e.brand+"/"+e.version})).join(" ");return navigator.userAgent}},53131:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){e.forEach((function(t){[].concat(Object.keys(t),i).filter((function(e,t,n){return n.indexOf(e)===t})).forEach((function(n){switch(n){case"name":t.name;break;case"enabled":t.enabled;break;case"phase":o.modifierPhases.indexOf(t.phase);break;case"fn":t.fn;break;case"effect":null!=t.effect&&t.effect;break;case"requires":null!=t.requires&&Array.isArray(t.requires);break;case"requiresIfExists":Array.isArray(t.requiresIfExists)}t.requires&&t.requires.forEach((function(t){e.find((function(e){return e.name===t}))}))}))}))};(r=n(23387))&&r.__esModule;var r,o=n(63570);var i=["name","enabled","phase","fn","effect","requires","options"]},54155:function(e,t,n){"use strict";t.__esModule=!0,t.within=o,t.withinMaxClamp=function(e,t,n){var r=o(e,t,n);return r>n?n:r};var r=n(49055);function o(e,t,n){return(0,r.max)(e,(0,r.min)(t,n))}},79030:function(e,t,n){"use strict";var r=n(48609),o=n(29141),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not a function")}},82269:function(e,t,n){"use strict";var r=n(99418),o=n(29141),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not a constructor")}},1198:function(e,t,n){"use strict";var r=n(48609),o=String,i=TypeError;e.exports=function(e){if("object"==typeof e||r(e))return e;throw i("Can't set "+o(e)+" as a prototype")}},21650:function(e,t,n){"use strict";var r=n(42847),o=n(8356),i=n(92867).f,a=r("unscopables"),u=Array.prototype;u[a]==undefined&&i(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},1491:function(e,t,n){"use strict";var r=n(59524).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},99078:function(e,t,n){"use strict";var r=n(52625),o=TypeError;e.exports=function(e,t){if(r(t,e))return e;throw o("Incorrect invocation")}},8782:function(e,t,n){"use strict";var r=n(46840),o=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not an object")}},13338:function(e){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},29613:function(e,t,n){"use strict";var r=n(3440);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},89746:function(e,t,n){"use strict";var r,o,i,a=n(13338),u=n(4098),s=n(25511),c=n(48609),l=n(46840),f=n(35821),d=n(13149),p=n(29141),h=n(90460),v=n(83972),m=n(92867).f,g=n(52625),y=n(45526),b=n(97916),x=n(42847),w=n(93054),E=n(29017),_=E.enforce,D=E.get,C=s.Int8Array,k=C&&C.prototype,A=s.Uint8ClampedArray,S=A&&A.prototype,N=C&&y(C),O=k&&y(k),F=Object.prototype,M=s.TypeError,T=x("toStringTag"),I=w("TYPED_ARRAY_TAG"),B="TypedArrayConstructor",L=a&&!!b&&"Opera"!==d(s.opera),P=!1,j={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},V={BigInt64Array:8,BigUint64Array:8},R=function(e){if(!l(e))return!1;var t=d(e);return"DataView"===t||f(j,t)||f(V,t)},z=function(e){if(!l(e))return!1;var t=d(e);return f(j,t)||f(V,t)};for(r in j)(i=(o=s[r])&&o.prototype)?_(i)[B]=o:L=!1;for(r in V)(i=(o=s[r])&&o.prototype)&&(_(i)[B]=o);if((!L||!c(N)||N===Function.prototype)&&(N=function(){throw M("Incorrect invocation")},L))for(r in j)s[r]&&b(s[r],N);if((!L||!O||O===F)&&(O=N.prototype,L))for(r in j)s[r]&&b(s[r].prototype,O);if(L&&y(S)!==O&&b(S,O),u&&!f(O,T))for(r in P=!0,m(O,T,{get:function(){return l(this)?this[I]:undefined}}),j)s[r]&&h(s[r],I,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:L,TYPED_ARRAY_TAG:P&&I,aTypedArray:function(e){if(z(e))return e;throw M("Target is not a typed array")},aTypedArrayConstructor:function(e){if(c(e)&&(!b||g(N,e)))return e;throw M(p(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n,r){if(u){if(n)for(var o in j){var i=s[o];if(i&&f(i.prototype,e))try{delete i.prototype[e]}catch(a){try{i.prototype[e]=t}catch(c){}}}O[e]&&!n||v(O,e,n?t:L&&k[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,n){var r,o;if(u){if(b){if(n)for(r in j)if((o=s[r])&&f(o,e))try{delete o[e]}catch(i){}if(N[e]&&!n)return;try{return v(N,e,n?t:L&&N[e]||t)}catch(i){}}for(r in j)!(o=s[r])||o[e]&&!n||v(o,e,t)}},getTypedArrayConstructor:function K(e){var t=y(e);if(l(t)){var n=D(t);return n&&f(n,B)?n[B]:K(t)}},isView:R,isTypedArray:z,TypedArray:N,TypedArrayPrototype:O}},78463:function(e,t,n){"use strict";var r=n(25511),o=n(38457),i=n(4098),a=n(13338),u=n(2142),s=n(90460),c=n(83856),l=n(3440),f=n(99078),d=n(53893),p=n(60780),h=n(93614),v=n(65359),m=n(45526),g=n(97916),y=n(86658).f,b=n(92867).f,x=n(7381),w=n(51450),E=n(13453),_=n(29017),D=u.PROPER,C=u.CONFIGURABLE,k=_.get,A=_.set,S="ArrayBuffer",N="DataView",O="prototype",F="Wrong index",M=r[S],T=M,I=T&&T[O],B=r[N],L=B&&B[O],P=Object.prototype,j=r.Array,V=r.RangeError,R=o(x),z=o([].reverse),K=v.pack,U=v.unpack,Y=function(e){return[255&e]},H=function(e){return[255&e,e>>8&255]},W=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},$=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},G=function(e){return K(e,23,4)},q=function(e){return K(e,52,8)},Z=function(e,t){b(e[O],t,{get:function(){return k(this)[t]}})},X=function(e,t,n,r){var o=h(n),i=k(e);if(o+t>i.byteLength)throw V(F);var a=k(i.buffer).bytes,u=o+i.byteOffset,s=w(a,u,u+t);return r?s:z(s)},Q=function(e,t,n,r,o,i){var a=h(n),u=k(e);if(a+t>u.byteLength)throw V(F);for(var s=k(u.buffer).bytes,c=a+u.byteOffset,l=r(+o),f=0;fne;)(ee=te[ne++])in T||s(T,ee,M[ee]);I.constructor=T}g&&m(L)!==P&&g(L,P);var re=new B(new T(2)),oe=o(L.setInt8);re.setInt8(0,2147483648),re.setInt8(1,2147483649),!re.getInt8(0)&&re.getInt8(1)||c(L,{setInt8:function(e,t){oe(this,e,t<<24>>24)},setUint8:function(e,t){oe(this,e,t<<24>>24)}},{unsafe:!0})}else I=(T=function(e){f(this,I);var t=h(e);A(this,{bytes:R(j(t),0),byteLength:t}),i||(this.byteLength=t)})[O],L=(B=function(e,t,n){f(this,L),f(e,I);var r=k(e).byteLength,o=d(t);if(o<0||o>r)throw V("Wrong offset");if(o+(n=n===undefined?r-o:p(n))>r)throw V("Wrong length");A(this,{buffer:e,byteLength:n,byteOffset:o}),i||(this.buffer=e,this.byteLength=n,this.byteOffset=o)})[O],i&&(Z(T,"byteLength"),Z(B,"buffer"),Z(B,"byteLength"),Z(B,"byteOffset")),c(L,{getInt8:function(e){return X(this,1,e)[0]<<24>>24},getUint8:function(e){return X(this,1,e)[0]},getInt16:function(e){var t=X(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=X(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return $(X(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return $(X(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return U(X(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return U(X(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){Q(this,1,e,Y,t)},setUint8:function(e,t){Q(this,1,e,Y,t)},setInt16:function(e,t){Q(this,2,e,H,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){Q(this,2,e,H,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){Q(this,4,e,W,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){Q(this,4,e,W,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){Q(this,4,e,G,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){Q(this,8,e,q,t,arguments.length>2?arguments[2]:undefined)}});E(T,S),E(B,N),e.exports={ArrayBuffer:T,DataView:B}},96833:function(e,t,n){"use strict";var r=n(39134),o=n(46085),i=n(83440),a=n(80323),u=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),s=i(n),c=o(e,s),l=o(t,s),f=arguments.length>2?arguments[2]:undefined,d=u((f===undefined?s:o(f,s))-l,s-c),p=1;for(l0;)l in n?n[c]=n[l]:a(n,c),c+=p,l+=p;return n}},7381:function(e,t,n){"use strict";var r=n(39134),o=n(46085),i=n(83440);e.exports=function(e){for(var t=r(this),n=i(t),a=arguments.length,u=o(a>1?arguments[1]:undefined,n),s=a>2?arguments[2]:undefined,c=s===undefined?n:o(s,n);c>u;)t[u++]=e;return t}},11421:function(e,t,n){"use strict";var r=n(40975).forEach,o=n(38575)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}},13093:function(e,t,n){"use strict";var r=n(83440);e.exports=function(e,t){for(var n=0,o=r(t),i=new e(o);o>n;)i[n]=t[n++];return i}},58578:function(e,t,n){"use strict";var r=n(66343),o=n(68609),i=n(39134),a=n(6350),u=n(92443),s=n(99418),c=n(83440),l=n(15072),f=n(49267),d=n(26405),p=Array;e.exports=function(e){var t=i(e),n=s(this),h=arguments.length,v=h>1?arguments[1]:undefined,m=v!==undefined;m&&(v=r(v,h>2?arguments[2]:undefined));var g,y,b,x,w,E,_=d(t),D=0;if(!_||this===p&&u(_))for(g=c(t),y=n?new this(g):p(g);g>D;D++)E=m?v(t[D],D):t[D],l(y,D,E);else for(w=(x=f(t,_)).next,y=n?new this:[];!(b=o(w,x)).done;D++)E=m?a(x,v,[b.value,D],!0):b.value,l(y,D,E);return y.length=D,y}},16077:function(e,t,n){"use strict";var r=n(19091),o=n(46085),i=n(83440),a=function(e){return function(t,n,a){var u,s=r(t),c=i(s),l=o(a,c);if(e&&n!=n){for(;c>l;)if((u=s[l++])!=u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},40975:function(e,t,n){"use strict";var r=n(66343),o=n(38457),i=n(89753),a=n(39134),u=n(83440),s=n(56940),c=o([].push),l=function(e){var t=1==e,n=2==e,o=3==e,l=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,v,m,g){for(var y,b,x=a(h),w=i(x),E=r(v,m),_=u(w),D=0,C=g||s,k=t?C(h,_):n||d?C(h,0):undefined;_>D;D++)if((p||D in w)&&(b=E(y=w[D],D,x),e))if(t)k[D]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return D;case 2:c(k,y)}else switch(e){case 4:return!1;case 7:c(k,y)}return f?-1:o||l?l:k}};e.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},10303:function(e,t,n){"use strict";var r=n(42177),o=n(19091),i=n(53893),a=n(83440),u=n(38575),s=Math.min,c=[].lastIndexOf,l=!!c&&1/[1].lastIndexOf(1,-0)<0,f=u("lastIndexOf"),d=l||!f;e.exports=d?function(e){if(l)return r(c,this,arguments)||0;var t=o(this),n=a(t),u=n-1;for(arguments.length>1&&(u=s(u,i(arguments[1]))),u<0&&(u=n+u);u>=0;u--)if(u in t&&t[u]===e)return u||0;return-1}:c},731:function(e,t,n){"use strict";var r=n(3440),o=n(42847),i=n(88088),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},38575:function(e,t,n){"use strict";var r=n(3440);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){return 1},1)}))}},55202:function(e,t,n){"use strict";var r=n(79030),o=n(39134),i=n(89753),a=n(83440),u=TypeError,s=function(e){return function(t,n,s,c){r(n);var l=o(t),f=i(l),d=a(l),p=e?d-1:0,h=e?-1:1;if(s<2)for(;;){if(p in f){c=f[p],p+=h;break}if(p+=h,e?p<0:d<=p)throw u("Reduce of empty array with no initial value")}for(;e?p>=0:d>p;p+=h)p in f&&(c=n(c,f[p],p,l));return c}};e.exports={left:s(!1),right:s(!0)}},76628:function(e,t,n){"use strict";var r=n(4098),o=n(64739),i=TypeError,a=Object.getOwnPropertyDescriptor,u=r&&!function(){if(this!==undefined)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=u?function(e,t){if(o(e)&&!a(e,"length").writable)throw i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},51450:function(e,t,n){"use strict";var r=n(46085),o=n(83440),i=n(15072),a=Array,u=Math.max;e.exports=function(e,t,n){for(var s=o(e),c=r(t,s),l=r(n===undefined?s:n,s),f=a(u(l-c,0)),d=0;c0;)e[r]=e[--r];r!==i++&&(e[r]=n)}return e},a=function(e,t,n,r){for(var o=t.length,i=n.length,a=0,u=0;a1?arguments[1]:undefined);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!b(this,e)}}),i(d,n?{get:function(e){var t=b(this,e);return t&&t.value},set:function(e,t){return y(this,0===e?0:e,t)}}:{add:function(e){return y(this,e=0===e?0:e,e)}}),p&&r(d,"size",{get:function(){return v(this).size}}),f},setStrong:function(e,t,n){var r=t+" Iterator",o=g(t),i=g(r);l(e,t,(function(e,t){m(this,{type:r,target:e,state:o(e),kind:t,last:undefined})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?f("keys"==t?n.key:"values"==t?n.value:[n.key,n.value],!1):(e.target=undefined,f(undefined,!0))}),n?"entries":"values",!n,!0),d(t)}}},94034:function(e,t,n){"use strict";var r=n(38457),o=n(83856),i=n(94986).getWeakData,a=n(99078),u=n(8782),s=n(92625),c=n(46840),l=n(6111),f=n(40975),d=n(35821),p=n(29017),h=p.set,v=p.getterFor,m=f.find,g=f.findIndex,y=r([].splice),b=0,x=function(e){return e.frozen||(e.frozen=new w)},w=function(){this.entries=[]},E=function(e,t){return m(e.entries,(function(e){return e[0]===t}))};w.prototype={get:function(e){var t=E(this,e);if(t)return t[1]},has:function(e){return!!E(this,e)},set:function(e,t){var n=E(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=g(this.entries,(function(t){return t[0]===e}));return~t&&y(this.entries,t,1),!!~t}},e.exports={getConstructor:function(e,t,n,r){var f=e((function(e,o){a(e,p),h(e,{type:t,id:b++,frozen:undefined}),s(o)||l(o,e[r],{that:e,AS_ENTRIES:n})})),p=f.prototype,m=v(t),g=function(e,t,n){var r=m(e),o=i(u(t),!0);return!0===o?x(r).set(t,n):o[r.id]=n,e};return o(p,{"delete":function(e){var t=m(this);if(!c(e))return!1;var n=i(e);return!0===n?x(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=m(this);if(!c(e))return!1;var n=i(e);return!0===n?x(t).has(e):n&&d(n,t.id)}}),o(p,n?{get:function(e){var t=m(this);if(c(e)){var n=i(e);return!0===n?x(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return g(this,e,t)}}:{add:function(e){return g(this,e,!0)}}),f}}},18207:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(38457),a=n(50330),u=n(83972),s=n(94986),c=n(6111),l=n(99078),f=n(48609),d=n(92625),p=n(46840),h=n(3440),v=n(32938),m=n(13453),g=n(5283);e.exports=function(e,t,n){var y=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),x=y?"set":"add",w=o[e],E=w&&w.prototype,_=w,D={},C=function(e){var t=i(E[e]);u(E,e,"add"==e?function(e){return t(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&t(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?undefined:t(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&t(this,0===e?0:e)}:function(e,n){return t(this,0===e?0:e,n),this})};if(a(e,!f(w)||!(b||E.forEach&&!h((function(){(new w).entries().next()})))))_=n.getConstructor(t,e,y,x),s.enable();else if(a(e,!0)){var k=new _,A=k[x](b?{}:-0,1)!=k,S=h((function(){k.has(1)})),N=v((function(e){new w(e)})),O=!b&&h((function(){for(var e=new w,t=5;t--;)e[x](t,t);return!e.has(-0)}));N||((_=t((function(e,t){l(e,E);var n=g(new w,e,_);return d(t)||c(t,n[x],{that:n,AS_ENTRIES:y}),n}))).prototype=E,E.constructor=_),(S||O)&&(C("delete"),C("has"),y&&C("get")),(O||A)&&C(x),b&&E.clear&&delete E.clear}return D[e]=_,r({global:!0,constructor:!0,forced:_!=w},D),m(_,e),b||n.setStrong(_,e,y),_}},25361:function(e,t,n){"use strict";var r=n(35821),o=n(32884),i=n(18593),a=n(92867);e.exports=function(e,t,n){for(var u=o(t),s=a.f,c=i.f,l=0;l"+s+""}},49764:function(e){"use strict";e.exports=function(e,t){return{value:e,done:t}}},90460:function(e,t,n){"use strict";var r=n(4098),o=n(92867),i=n(12311);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},12311:function(e){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},15072:function(e,t,n){"use strict";var r=n(21266),o=n(92867),i=n(12311);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},39901:function(e,t,n){"use strict";var r=n(38457),o=n(3440),i=n(99335).start,a=RangeError,u=isFinite,s=Math.abs,c=Date.prototype,l=c.toISOString,f=r(c.getTime),d=r(c.getUTCDate),p=r(c.getUTCFullYear),h=r(c.getUTCHours),v=r(c.getUTCMilliseconds),m=r(c.getUTCMinutes),g=r(c.getUTCMonth),y=r(c.getUTCSeconds);e.exports=o((function(){return"0385-07-25T07:06:39.999Z"!=l.call(new Date(-50000000000001))}))||!o((function(){l.call(new Date(NaN))}))?function(){if(!u(f(this)))throw a("Invalid time value");var e=this,t=p(e),n=v(e),r=t<0?"-":t>9999?"+":"";return r+i(s(t),r?6:4,0)+"-"+i(g(e)+1,2,0)+"-"+i(d(e),2,0)+"T"+i(h(e),2,0)+":"+i(m(e),2,0)+":"+i(y(e),2,0)+"."+i(n,3,0)+"Z"}:l},52653:function(e,t,n){"use strict";var r=n(8782),o=n(79910),i=TypeError;e.exports=function(e){if(r(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw i("Incorrect hint");return o(this,e)}},39836:function(e,t,n){"use strict";var r=n(1402),o=n(92867);e.exports=function(e,t,n){return n.get&&r(n.get,t,{getter:!0}),n.set&&r(n.set,t,{setter:!0}),o.f(e,t,n)}},83972:function(e,t,n){"use strict";var r=n(48609),o=n(92867),i=n(1402),a=n(60095);e.exports=function(e,t,n,u){u||(u={});var s=u.enumerable,c=u.name!==undefined?u.name:t;if(r(n)&&i(n,c,u),u.global)s?e[t]=n:a(t,n);else{try{u.unsafe?e[t]&&(s=!0):delete e[t]}catch(l){}s?e[t]=n:o.f(e,t,{value:n,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return e}},83856:function(e,t,n){"use strict";var r=n(83972);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},60095:function(e,t,n){"use strict";var r=n(25511),o=Object.defineProperty;e.exports=function(e,t){try{o(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},80323:function(e,t,n){"use strict";var r=n(29141),o=TypeError;e.exports=function(e,t){if(!delete e[t])throw o("Cannot delete property "+r(t)+" of "+r(e))}},4098:function(e,t,n){"use strict";var r=n(3440);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4246:function(e){"use strict";var t="object"==typeof document&&document.all,n=void 0===t&&t!==undefined;e.exports={all:t,IS_HTMLDDA:n}},9639:function(e,t,n){"use strict";var r=n(25511),o=n(46840),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},30684:function(e){"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},98861:function(e,t,n){"use strict";var r=n(46032).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},87789:function(e,t,n){"use strict";var r=n(79346),o=n(68173);e.exports=!r&&!o&&"object"==typeof window&&"object"==typeof document},40073:function(e){"use strict";e.exports="function"==typeof Bun&&Bun&&"string"==typeof Bun.version},79346:function(e){"use strict";e.exports="object"==typeof Deno&&Deno&&"object"==typeof Deno.version},79920:function(e,t,n){"use strict";var r=n(46032);e.exports=/MSIE|Trident/.test(r)},50988:function(e,t,n){"use strict";var r=n(46032),o=n(25511);e.exports=/ipad|iphone|ipod/i.test(r)&&o.Pebble!==undefined},39050:function(e,t,n){"use strict";var r=n(46032);e.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},68173:function(e,t,n){"use strict";var r=n(86790),o=n(25511);e.exports="process"==r(o.process)},63938:function(e,t,n){"use strict";var r=n(46032);e.exports=/web0s(?!.*chrome)/i.test(r)},46032:function(e,t,n){"use strict";var r=n(53242);e.exports=r("navigator","userAgent")||""},88088:function(e,t,n){"use strict";var r,o,i=n(25511),a=n(46032),u=i.process,s=i.Deno,c=u&&u.versions||s&&s.version,l=c&&c.v8;l&&(o=(r=l.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},51737:function(e,t,n){"use strict";var r=n(46032).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},51264:function(e){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},579:function(e,t,n){"use strict";var r=n(38457),o=Error,i=r("".replace),a=String(o("zxcasd").stack),u=/\n\s*at [^:]*:[^\n]*/,s=u.test(a);e.exports=function(e,t){if(s&&"string"==typeof e&&!o.prepareStackTrace)for(;t--;)e=i(e,u,"");return e}},77385:function(e,t,n){"use strict";var r=n(3440),o=n(12311);e.exports=!r((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",o(1,7)),7!==e.stack)}))},65439:function(e,t,n){"use strict";var r=n(25511),o=n(18593).f,i=n(90460),a=n(83972),u=n(60095),s=n(25361),c=n(50330);e.exports=function(e,t){var n,l,f,d,p,h=e.target,v=e.global,m=e.stat;if(n=v?r:m?r[h]||u(h,{}):(r[h]||{}).prototype)for(l in t){if(d=t[l],f=e.dontCallGetSet?(p=o(n,l))&&p.value:n[l],!c(v?l:h+(m?".":"#")+l,e.forced)&&f!==undefined){if(typeof d==typeof f)continue;s(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,l,d,e)}}},3440:function(e){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},3306:function(e,t,n){"use strict";n(34067);var r=n(42481),o=n(83972),i=n(34062),a=n(3440),u=n(42847),s=n(90460),c=u("species"),l=RegExp.prototype;e.exports=function(e,t,n,f){var d=u(e),p=!a((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),h=p&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[d]=/./[d]),n.exec=function(){return t=!0,null},n[d](""),!t}));if(!p||!h||n){var v=r(/./[d]),m=t(d,""[e],(function(e,t,n,o,a){var u=r(e),s=t.exec;return s===i||s===l.exec?p&&!a?{done:!0,value:v(t,n,o)}:{done:!0,value:u(n,t,o)}:{done:!1}}));o(String.prototype,e,m[0]),o(l,d,m[1])}f&&s(l[d],"sham",!0)}},44094:function(e,t,n){"use strict";var r=n(64739),o=n(83440),i=n(30684),a=n(66343);e.exports=function u(e,t,n,s,c,l,f,d){for(var p,h=c,v=0,m=!!f&&a(f,d);v0&&r(p)?h=u(e,t,p,o(p),h,l-1)-1:(i(h+1),e[h]=p),h++),v++;return h}},14097:function(e,t,n){"use strict";var r=n(3440);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},42177:function(e,t,n){"use strict";var r=n(61120),o=Function.prototype,i=o.apply,a=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(i):function(){return a.apply(i,arguments)})},66343:function(e,t,n){"use strict";var r=n(42481),o=n(79030),i=n(61120),a=r(r.bind);e.exports=function(e,t){return o(e),t===undefined?e:i?a(e,t):function(){return e.apply(t,arguments)}}},61120:function(e,t,n){"use strict";var r=n(3440);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},87637:function(e,t,n){"use strict";var r=n(38457),o=n(79030),i=n(46840),a=n(35821),u=n(92098),s=n(61120),c=Function,l=r([].concat),f=r([].join),d={},p=function(e,t,n){if(!a(d,t)){for(var r=[],o=0;o]*>)/g,l=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,n,r,f,d){var p=n+e.length,h=r.length,v=l;return f!==undefined&&(f=o(f),v=c),u(d,v,(function(o,u){var c;switch(a(u,0)){case"$":return"$";case"&":return e;case"`":return s(t,0,n);case"'":return s(t,p);case"<":c=f[s(u,1,-1)];break;default:var l=+u;if(0===l)return o;if(l>h){var d=i(l/10);return 0===d?o:d<=h?r[d-1]===undefined?a(u,1):r[d-1]+a(u,1):o}c=r[l-1]}return c===undefined?"":c}))}},25511:function(e,t,n){"use strict";var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},35821:function(e,t,n){"use strict";var r=n(38457),o=n(39134),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(o(e),t)}},94083:function(e){"use strict";e.exports={}},74394:function(e,t,n){"use strict";var r=n(25511);e.exports=function(e,t){var n=r.console;n&&n.error&&(1==arguments.length?n.error(e):n.error(e,t))}},44648:function(e,t,n){"use strict";var r=n(53242);e.exports=r("document","documentElement")},46999:function(e,t,n){"use strict";var r=n(4098),o=n(3440),i=n(9639);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},65359:function(e){"use strict";var t=Array,n=Math.abs,r=Math.pow,o=Math.floor,i=Math.log,a=Math.LN2;e.exports={pack:function(e,u,s){var c,l,f,d=t(s),p=8*s-u-1,h=(1<>1,m=23===u?r(2,-24)-r(2,-77):0,g=e<0||0===e&&1/e<0?1:0,y=0;for((e=n(e))!=e||e===Infinity?(l=e!=e?1:0,c=h):(c=o(i(e)/a),e*(f=r(2,-c))<1&&(c--,f*=2),(e+=c+v>=1?m/f:m*r(2,1-v))*f>=2&&(c++,f/=2),c+v>=h?(l=0,c=h):c+v>=1?(l=(e*f-1)*r(2,u),c+=v):(l=e*r(2,v-1)*r(2,u),c=0));u>=8;)d[y++]=255&l,l/=256,u-=8;for(c=c<0;)d[y++]=255&c,c/=256,p-=8;return d[--y]|=128*g,d},unpack:function(e,t){var n,o=e.length,i=8*o-t-1,a=(1<>1,s=i-7,c=o-1,l=e[c--],f=127&l;for(l>>=7;s>0;)f=256*f+e[c--],s-=8;for(n=f&(1<<-s)-1,f>>=-s,s+=t;s>0;)n=256*n+e[c--],s-=8;if(0===f)f=1-u;else{if(f===a)return n?NaN:l?-Infinity:Infinity;n+=r(2,t),f-=u}return(l?-1:1)*n*r(2,f-t)}}},89753:function(e,t,n){"use strict";var r=n(38457),o=n(3440),i=n(86790),a=Object,u=r("".split);e.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?u(e,""):a(e)}:a},5283:function(e,t,n){"use strict";var r=n(48609),o=n(46840),i=n(97916);e.exports=function(e,t,n){var a,u;return i&&r(a=t.constructor)&&a!==n&&o(u=a.prototype)&&u!==n.prototype&&i(e,u),e}},91634:function(e,t,n){"use strict";var r=n(38457),o=n(48609),i=n(45065),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},31738:function(e,t,n){"use strict";var r=n(46840),o=n(90460);e.exports=function(e,t){r(t)&&"cause"in t&&o(e,"cause",t.cause)}},94986:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(94083),a=n(46840),u=n(35821),s=n(92867).f,c=n(86658),l=n(26661),f=n(77311),d=n(93054),p=n(14097),h=!1,v=d("meta"),m=0,g=function(e){s(e,v,{value:{objectID:"O"+m++,weakData:{}}})},y=e.exports={enable:function(){y.enable=function(){},h=!0;var e=c.f,t=o([].splice),n={};n[v]=1,e(n).length&&(c.f=function(n){for(var r=e(n),o=0,i=r.length;oy;y++)if((x=O(e[y]))&&c(v,x))return x;return new h(!1)}m=l(e,g)}for(w=C?e.next:m.next;!(E=o(w,m)).done;){try{x=O(E.value)}catch(F){d(m,"throw",F)}if("object"==typeof x&&x&&c(v,x))return x}return new h(!1)}},94648:function(e,t,n){"use strict";var r=n(68609),o=n(8782),i=n(87869);e.exports=function(e,t,n){var a,u;o(e);try{if(!(a=i(e,"return"))){if("throw"===t)throw n;return n}a=r(a,e)}catch(s){u=!0,a=s}if("throw"===t)throw n;if(u)throw a;return o(a),n}},40897:function(e,t,n){"use strict";var r=n(98852).IteratorPrototype,o=n(8356),i=n(12311),a=n(13453),u=n(87804),s=function(){return this};e.exports=function(e,t,n,c){var l=t+" Iterator";return e.prototype=o(r,{next:i(+!c,n)}),a(e,l,!1,!0),u[l]=s,e}},63424:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(65787),a=n(2142),u=n(48609),s=n(40897),c=n(45526),l=n(97916),f=n(13453),d=n(90460),p=n(83972),h=n(42847),v=n(87804),m=n(98852),g=a.PROPER,y=a.CONFIGURABLE,b=m.IteratorPrototype,x=m.BUGGY_SAFARI_ITERATORS,w=h("iterator"),E="keys",_="values",D="entries",C=function(){return this};e.exports=function(e,t,n,a,h,m,k){s(n,t,a);var A,S,N,O=function(e){if(e===h&&B)return B;if(!x&&e in T)return T[e];switch(e){case E:case _:case D:return function(){return new n(this,e)}}return function(){return new n(this)}},F=t+" Iterator",M=!1,T=e.prototype,I=T[w]||T["@@iterator"]||h&&T[h],B=!x&&I||O(h),L="Array"==t&&T.entries||I;if(L&&(A=c(L.call(new e)))!==Object.prototype&&A.next&&(i||c(A)===b||(l?l(A,b):u(A[w])||p(A,w,C)),f(A,F,!0,!0),i&&(v[F]=C)),g&&h==_&&I&&I.name!==_&&(!i&&y?d(T,"name",_):(M=!0,B=function(){return o(I,this)})),h)if(S={values:O(_),keys:m?B:O(E),entries:O(D)},k)for(N in S)(x||M||!(N in T))&&p(T,N,S[N]);else r({target:t,proto:!0,forced:x||M},S);return i&&!k||T[w]===B||p(T,w,B,{name:h}),v[t]=B,S}},98852:function(e,t,n){"use strict";var r,o,i,a=n(3440),u=n(48609),s=n(46840),c=n(8356),l=n(45526),f=n(83972),d=n(42847),p=n(65787),h=d("iterator"),v=!1;[].keys&&("next"in(i=[].keys())?(o=l(l(i)))!==Object.prototype&&(r=o):v=!0),!s(r)||a((function(){var e={};return r[h].call(e)!==e}))?r={}:p&&(r=c(r)),u(r[h])||f(r,h,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:v}},87804:function(e){"use strict";e.exports={}},83440:function(e,t,n){"use strict";var r=n(60780);e.exports=function(e){return r(e.length)}},1402:function(e,t,n){"use strict";var r=n(3440),o=n(48609),i=n(35821),a=n(4098),u=n(2142).CONFIGURABLE,s=n(91634),c=n(29017),l=c.enforce,f=c.get,d=Object.defineProperty,p=a&&!r((function(){return 8!==d((function(){}),"length",{value:8}).length})),h=String(String).split("String"),v=e.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!i(e,"name")||u&&e.name!==t)&&(a?d(e,"name",{value:t,configurable:!0}):e.name=t),p&&n&&i(n,"arity")&&e.length!==n.arity&&d(e,"length",{value:n.arity});try{n&&i(n,"constructor")&&n.constructor?a&&d(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=undefined)}catch(o){}var r=l(e);return i(r,"source")||(r.source=h.join("string"==typeof t?t:"")),e};Function.prototype.toString=v((function(){return o(this)&&f(this).source||s(this)}),"toString")},48277:function(e){"use strict";var t=Math.expm1,n=Math.exp;e.exports=!t||t(10)>22025.465794806718||t(10)<22025.465794806718||-2e-17!=t(-2e-17)?function(e){var t=+e;return 0==t?t:t>-1e-6&&t<1e-6?t+t*t/2:n(t)-1}:t},36344:function(e,t,n){"use strict";var r=n(54768),o=Math.abs,i=Math.pow,a=i(2,-52),u=i(2,-23),s=i(2,127)*(2-u),c=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=+e,l=o(i),f=r(i);return ls||n!=n?f*Infinity:f*n}},84234:function(e){"use strict";var t=Math.log,n=Math.LOG10E;e.exports=Math.log10||function(e){return t(e)*n}},77477:function(e){"use strict";var t=Math.log;e.exports=Math.log1p||function(e){var n=+e;return n>-1e-8&&n<1e-8?n-n*n/2:t(1+n)}},54768:function(e){"use strict";e.exports=Math.sign||function(e){var t=+e;return 0==t||t!=t?t:t<0?-1:1}},6730:function(e){"use strict";var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var r=+e;return(r>0?n:t)(r)}},5934:function(e,t,n){"use strict";var r,o,i,a,u,s,c,l,f=n(25511),d=n(66343),p=n(18593).f,h=n(3017).set,v=n(39050),m=n(50988),g=n(63938),y=n(68173),b=f.MutationObserver||f.WebKitMutationObserver,x=f.document,w=f.process,E=f.Promise,_=p(f,"queueMicrotask"),D=_&&_.value;D||(r=function(){var e,t;for(y&&(e=w.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=undefined,n}}i=undefined,e&&e.enter()},v||y||g||!b||!x?!m&&E&&E.resolve?((c=E.resolve(undefined)).constructor=E,l=d(c.then,c),a=function(){l(r)}):y?a=function(){w.nextTick(r)}:(h=d(h,f),a=function(){h(r)}):(u=!0,s=x.createTextNode(""),new b(r).observe(s,{characterData:!0}),a=function(){s.data=u=!u})),e.exports=D||function(e){var t={fn:e,next:undefined};i&&(i.next=t),o||(o=t,a()),i=t}},26149:function(e,t,n){"use strict";var r=n(79030),o=TypeError,i=function(e){var t,n;this.promise=new e((function(e,r){if(t!==undefined||n!==undefined)throw o("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new i(e)}},88124:function(e,t,n){"use strict";var r=n(39599);e.exports=function(e,t){return e===undefined?arguments.length<2?"":t:r(e)}},96215:function(e,t,n){"use strict";var r=n(23939),o=TypeError;e.exports=function(e){if(r(e))throw o("The method doesn't accept regular expressions");return e}},90059:function(e,t,n){"use strict";var r=n(25511).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},39302:function(e,t,n){"use strict";var r=n(25511),o=n(3440),i=n(38457),a=n(39599),u=n(93842).trim,s=n(87780),c=i("".charAt),l=r.parseFloat,f=r.Symbol,d=f&&f.iterator,p=1/l(s+"-0")!=-Infinity||d&&!o((function(){l(Object(d))}));e.exports=p?function(e){var t=u(a(e)),n=l(t);return 0===n&&"-"==c(t,0)?-0:n}:l},89466:function(e,t,n){"use strict";var r=n(25511),o=n(3440),i=n(38457),a=n(39599),u=n(93842).trim,s=n(87780),c=r.parseInt,l=r.Symbol,f=l&&l.iterator,d=/^[+-]?0x/i,p=i(d.exec),h=8!==c(s+"08")||22!==c(s+"0x16")||f&&!o((function(){c(Object(f))}));e.exports=h?function(e,t){var n=u(a(e));return c(n,t>>>0||(p(d,n)?16:10))}:c},24293:function(e,t,n){"use strict";var r=n(4098),o=n(38457),i=n(68609),a=n(3440),u=n(27911),s=n(13963),c=n(70704),l=n(39134),f=n(89753),d=Object.assign,p=Object.defineProperty,h=o([].concat);e.exports=!d||a((function(){if(r&&1!==d({b:1},d(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),o="abcdefghijklmnopqrst";return e[n]=7,o.split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||u(d({},t)).join("")!=o}))?function(e,t){for(var n=l(e),o=arguments.length,a=1,d=s.f,p=c.f;o>a;)for(var v,m=f(arguments[a++]),g=d?h(u(m),d(m)):u(m),y=g.length,b=0;y>b;)v=g[b++],r&&!i(p,m,v)||(n[v]=m[v]);return n}:d},8356:function(e,t,n){"use strict";var r,o=n(8782),i=n(9672),a=n(51264),u=n(94083),s=n(44648),c=n(9639),l=n(50331),f="prototype",d="script",p=l("IE_PROTO"),h=function(){},v=function(e){return"<"+d+">"+e+""},m=function(e){e.write(v("")),e.close();var t=e.parentWindow.Object;return e=null,t},g=function(){try{r=new ActiveXObject("htmlfile")}catch(i){}var e,t,n;g="undefined"!=typeof document?document.domain&&r?m(r):(t=c("iframe"),n="java"+d+":",t.style.display="none",s.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(v("document.F=Object")),e.close(),e.F):m(r);for(var o=a.length;o--;)delete g[f][a[o]];return g()};u[p]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(h[f]=o(e),n=new h,h[f]=null,n[p]=e):n=g(),t===undefined?n:i.f(n,t)}},9672:function(e,t,n){"use strict";var r=n(4098),o=n(78590),i=n(92867),a=n(8782),u=n(19091),s=n(27911);t.f=r&&!o?Object.defineProperties:function(e,t){a(e);for(var n,r=u(t),o=s(t),c=o.length,l=0;c>l;)i.f(e,n=o[l++],r[n]);return e}},92867:function(e,t,n){"use strict";var r=n(4098),o=n(46999),i=n(78590),a=n(8782),u=n(21266),s=TypeError,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,f="enumerable",d="configurable",p="writable";t.f=r?i?function(e,t,n){if(a(e),t=u(t),a(n),"function"==typeof e&&"prototype"===t&&"value"in n&&p in n&&!n[p]){var r=l(e,t);r&&r[p]&&(e[t]=n.value,n={configurable:d in n?n[d]:r[d],enumerable:f in n?n[f]:r[f],writable:!1})}return c(e,t,n)}:c:function(e,t,n){if(a(e),t=u(t),a(n),o)try{return c(e,t,n)}catch(r){}if("get"in n||"set"in n)throw s("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},18593:function(e,t,n){"use strict";var r=n(4098),o=n(68609),i=n(70704),a=n(12311),u=n(19091),s=n(21266),c=n(35821),l=n(46999),f=Object.getOwnPropertyDescriptor;t.f=r?f:function(e,t){if(e=u(e),t=s(t),l)try{return f(e,t)}catch(n){}if(c(e,t))return a(!o(i.f,e,t),e[t])}},26661:function(e,t,n){"use strict";var r=n(86790),o=n(19091),i=n(86658).f,a=n(51450),u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return u&&"Window"==r(e)?function(e){try{return i(e)}catch(t){return a(u)}}(e):i(o(e))}},86658:function(e,t,n){"use strict";var r=n(61698),o=n(51264).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},13963:function(e,t){"use strict";t.f=Object.getOwnPropertySymbols},45526:function(e,t,n){"use strict";var r=n(35821),o=n(48609),i=n(39134),a=n(50331),u=n(16308),s=a("IE_PROTO"),c=Object,l=c.prototype;e.exports=u?c.getPrototypeOf:function(e){var t=i(e);if(r(t,s))return t[s];var n=t.constructor;return o(n)&&t instanceof n?n.prototype:t instanceof c?l:null}},77311:function(e,t,n){"use strict";var r=n(3440),o=n(46840),i=n(86790),a=n(29613),u=Object.isExtensible,s=r((function(){u(1)}));e.exports=s||a?function(e){return!!o(e)&&(!a||"ArrayBuffer"!=i(e))&&(!u||u(e))}:u},52625:function(e,t,n){"use strict";var r=n(38457);e.exports=r({}.isPrototypeOf)},61698:function(e,t,n){"use strict";var r=n(38457),o=n(35821),i=n(19091),a=n(16077).indexOf,u=n(94083),s=r([].push);e.exports=function(e,t){var n,r=i(e),c=0,l=[];for(n in r)!o(u,n)&&o(r,n)&&s(l,n);for(;t.length>c;)o(r,n=t[c++])&&(~a(l,n)||s(l,n));return l}},27911:function(e,t,n){"use strict";var r=n(61698),o=n(51264);e.exports=Object.keys||function(e){return r(e,o)}},70704:function(e,t){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);t.f=o?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},17446:function(e,t,n){"use strict";var r=n(65787),o=n(25511),i=n(3440),a=n(51737);e.exports=r||!i((function(){if(!(a&&a<535)){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete o[e]}}))},97916:function(e,t,n){"use strict";var r=n(38457),o=n(8782),i=n(1198);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),t=n instanceof Array}catch(a){}return function(n,r){return o(n),i(r),t?e(n,r):n.__proto__=r,n}}():undefined)},33903:function(e,t,n){"use strict";var r=n(4098),o=n(38457),i=n(27911),a=n(19091),u=o(n(70704).f),s=o([].push),c=function(e){return function(t){for(var n,o=a(t),c=i(o),l=c.length,f=0,d=[];l>f;)n=c[f++],r&&!u(o,n)||s(d,e?[n,o[n]]:o[n]);return d}};e.exports={entries:c(!0),values:c(!1)}},28006:function(e,t,n){"use strict";var r=n(23371),o=n(13149);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},79910:function(e,t,n){"use strict";var r=n(68609),o=n(48609),i=n(46840),a=TypeError;e.exports=function(e,t){var n,u;if("string"===t&&o(n=e.toString)&&!i(u=r(n,e)))return u;if(o(n=e.valueOf)&&!i(u=r(n,e)))return u;if("string"!==t&&o(n=e.toString)&&!i(u=r(n,e)))return u;throw a("Can't convert object to primitive value")}},32884:function(e,t,n){"use strict";var r=n(53242),o=n(38457),i=n(86658),a=n(13963),u=n(8782),s=o([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(u(e)),n=a.f;return n?s(t,n(e)):t}},18524:function(e,t,n){"use strict";var r=n(25511);e.exports=r},15058:function(e){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},9325:function(e,t,n){"use strict";var r=n(25511),o=n(46795),i=n(48609),a=n(50330),u=n(91634),s=n(42847),c=n(87789),l=n(79346),f=n(65787),d=n(88088),p=o&&o.prototype,h=s("species"),v=!1,m=i(r.PromiseRejectionEvent),g=a("Promise",(function(){var e=u(o),t=e!==String(o);if(!t&&66===d)return!0;if(f&&(!p["catch"]||!p["finally"]))return!0;if(!d||d<51||!/native code/.test(e)){var n=new o((function(e){e(1)})),r=function(e){e((function(){}),(function(){}))};if((n.constructor={})[h]=r,!(v=n.then((function(){}))instanceof r))return!0}return!t&&(c||l)&&!m}));e.exports={CONSTRUCTOR:g,REJECTION_EVENT:m,SUBCLASSING:v}},46795:function(e,t,n){"use strict";var r=n(25511);e.exports=r.Promise},77125:function(e,t,n){"use strict";var r=n(8782),o=n(46840),i=n(26149);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},40554:function(e,t,n){"use strict";var r=n(46795),o=n(32938),i=n(9325).CONSTRUCTOR;e.exports=i||!o((function(e){r.all(e).then(undefined,(function(){}))}))},64692:function(e,t,n){"use strict";var r=n(92867).f;e.exports=function(e,t,n){n in e||r(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},65921:function(e){"use strict";var t=function(){this.head=null,this.tail=null};t.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}},e.exports=t},84639:function(e,t,n){"use strict";var r=n(68609),o=n(8782),i=n(48609),a=n(86790),u=n(34062),s=TypeError;e.exports=function(e,t){var n=e.exec;if(i(n)){var c=r(n,e,t);return null!==c&&o(c),c}if("RegExp"===a(e))return r(u,e,t);throw s("RegExp#exec called on incompatible receiver")}},34062:function(e,t,n){"use strict";var r,o,i=n(68609),a=n(38457),u=n(39599),s=n(52673),c=n(86325),l=n(71928),f=n(8356),d=n(29017).get,p=n(62986),h=n(74842),v=l("native-string-replace",String.prototype.replace),m=RegExp.prototype.exec,g=m,y=a("".charAt),b=a("".indexOf),x=a("".replace),w=a("".slice),E=(o=/b*/g,i(m,r=/a/,"a"),i(m,o,"a"),0!==r.lastIndex||0!==o.lastIndex),_=c.BROKEN_CARET,D=/()??/.exec("")[1]!==undefined;(E||D||_||p||h)&&(g=function(e){var t,n,r,o,a,c,l,p=this,h=d(p),C=u(e),k=h.raw;if(k)return k.lastIndex=p.lastIndex,t=i(g,k,C),p.lastIndex=k.lastIndex,t;var A=h.groups,S=_&&p.sticky,N=i(s,p),O=p.source,F=0,M=C;if(S&&(N=x(N,"y",""),-1===b(N,"g")&&(N+="g"),M=w(C,p.lastIndex),p.lastIndex>0&&(!p.multiline||p.multiline&&"\n"!==y(C,p.lastIndex-1))&&(O="(?: "+O+")",M=" "+M,F++),n=new RegExp("^(?:"+O+")",N)),D&&(n=new RegExp("^"+O+"$(?!\\s)",N)),E&&(r=p.lastIndex),o=i(m,S?n:p,M),S?o?(o.input=w(o.input,F),o[0]=w(o[0],F),o.index=p.lastIndex,p.lastIndex+=o[0].length):p.lastIndex=0:E&&o&&(p.lastIndex=p.global?o.index+o[0].length:r),D&&o&&o.length>1&&i(v,o[0],n,(function(){for(a=1;ab)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")}))},49290:function(e,t,n){"use strict";var r=n(92625),o=TypeError;e.exports=function(e){if(r(e))throw o("Can't call method on "+e);return e}},87091:function(e){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},23852:function(e,t,n){"use strict";var r,o=n(25511),i=n(42177),a=n(48609),u=n(40073),s=n(46032),c=n(92098),l=n(44020),f=o.Function,d=/MSIE .\./.test(s)||u&&((r=o.Bun.version.split(".")).length<3||0==r[0]&&(r[1]<3||3==r[1]&&0==r[2]));e.exports=function(e,t){var n=t?2:1;return d?function(r,o){var u=l(arguments.length,1)>n,s=a(r)?r:f(r),d=u?c(arguments,n):[],p=u?function(){i(s,this,d)}:s;return t?e(p,o):e(p)}:e}},97194:function(e,t,n){"use strict";var r=n(53242),o=n(92867),i=n(42847),a=n(4098),u=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[u]&&n(t,u,{configurable:!0,get:function(){return this}})}},13453:function(e,t,n){"use strict";var r=n(92867).f,o=n(35821),i=n(42847)("toStringTag");e.exports=function(e,t,n){e&&!n&&(e=e.prototype),e&&!o(e,i)&&r(e,i,{configurable:!0,value:t})}},50331:function(e,t,n){"use strict";var r=n(71928),o=n(93054),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},45065:function(e,t,n){"use strict";var r=n(25511),o=n(60095),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},71928:function(e,t,n){"use strict";var r=n(65787),o=n(45065);(e.exports=function(e,t){return o[e]||(o[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.27.1",mode:r?"pure":"global",copyright:"\xa9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.1/LICENSE",source:"https://github.com/zloirock/core-js"})},75693:function(e,t,n){"use strict";var r=n(8782),o=n(82269),i=n(92625),a=n(42847)("species");e.exports=function(e,t){var n,u=r(e).constructor;return u===undefined||i(n=r(u)[a])?t:o(n)}},86651:function(e,t,n){"use strict";var r=n(3440);e.exports=function(e){return r((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},59524:function(e,t,n){"use strict";var r=n(38457),o=n(53893),i=n(39599),a=n(49290),u=r("".charAt),s=r("".charCodeAt),c=r("".slice),l=function(e){return function(t,n){var r,l,f=i(a(t)),d=o(n),p=f.length;return d<0||d>=p?e?"":undefined:(r=s(f,d))<55296||r>56319||d+1===p||(l=s(f,d+1))<56320||l>57343?e?u(f,d):r:e?c(f,d,d+2):l-56320+(r-55296<<10)+65536}};e.exports={codeAt:l(!1),charAt:l(!0)}},8751:function(e,t,n){"use strict";var r=n(46032);e.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},99335:function(e,t,n){"use strict";var r=n(38457),o=n(60780),i=n(39599),a=n(82341),u=n(49290),s=r(a),c=r("".slice),l=Math.ceil,f=function(e){return function(t,n,r){var a,f,d=i(u(t)),p=o(n),h=d.length,v=r===undefined?" ":i(r);return p<=h||""==v?d:((f=s(v,l((a=p-h)/v.length))).length>a&&(f=c(f,0,a)),e?d+f:f+d)}};e.exports={start:f(!1),end:f(!0)}},82341:function(e,t,n){"use strict";var r=n(53893),o=n(39599),i=n(49290),a=RangeError;e.exports=function(e){var t=o(i(this)),n="",u=r(e);if(u<0||u==Infinity)throw a("Wrong number of repetitions");for(;u>0;(u>>>=1)&&(t+=t))1&u&&(n+=t);return n}},91898:function(e,t,n){"use strict";var r=n(93842).end,o=n(44082);e.exports=o("trimEnd")?function(){return r(this)}:"".trimEnd},44082:function(e,t,n){"use strict";var r=n(2142).PROPER,o=n(3440),i=n(87780);e.exports=function(e){return o((function(){return!!i[e]()||"\u200b\x85\u180e"!=="\u200b\x85\u180e"[e]()||r&&i[e].name!==e}))}},92368:function(e,t,n){"use strict";var r=n(93842).start,o=n(44082);e.exports=o("trimStart")?function(){return r(this)}:"".trimStart},93842:function(e,t,n){"use strict";var r=n(38457),o=n(49290),i=n(39599),a=n(87780),u=r("".replace),s="["+a+"]",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),f=function(e){return function(t){var n=i(o(t));return 1&e&&(n=u(n,c,"")),2&e&&(n=u(n,l,"")),n}};e.exports={start:f(1),end:f(2),trim:f(3)}},60265:function(e,t,n){"use strict";var r=n(88088),o=n(3440);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},31572:function(e,t,n){"use strict";var r=n(68609),o=n(53242),i=n(42847),a=n(83972);e.exports=function(){var e=o("Symbol"),t=e&&e.prototype,n=t&&t.valueOf,u=i("toPrimitive");t&&!t[u]&&a(t,u,(function(e){return r(n,this)}),{arity:1})}},47862:function(e,t,n){"use strict";var r=n(60265);e.exports=r&&!!Symbol["for"]&&!!Symbol.keyFor},3017:function(e,t,n){"use strict";var r,o,i,a,u=n(25511),s=n(42177),c=n(66343),l=n(48609),f=n(35821),d=n(3440),p=n(44648),h=n(92098),v=n(9639),m=n(44020),g=n(39050),y=n(68173),b=u.setImmediate,x=u.clearImmediate,w=u.process,E=u.Dispatch,_=u.Function,D=u.MessageChannel,C=u.String,k=0,A={},S="onreadystatechange";try{r=u.location}catch(T){}var N=function(e){if(f(A,e)){var t=A[e];delete A[e],t()}},O=function(e){return function(){N(e)}},F=function(e){N(e.data)},M=function(e){u.postMessage(C(e),r.protocol+"//"+r.host)};b&&x||(b=function(e){m(arguments.length,1);var t=l(e)?e:_(e),n=h(arguments,1);return A[++k]=function(){s(t,undefined,n)},o(k),k},x=function(e){delete A[e]},y?o=function(e){w.nextTick(O(e))}:E&&E.now?o=function(e){E.now(O(e))}:D&&!g?(a=(i=new D).port2,i.port1.onmessage=F,o=c(a.postMessage,a)):u.addEventListener&&l(u.postMessage)&&!u.importScripts&&r&&"file:"!==r.protocol&&!d(M)?(o=M,u.addEventListener("message",F,!1)):o=S in v("script")?function(e){p.appendChild(v("script"))[S]=function(){p.removeChild(this),N(e)}}:function(e){setTimeout(O(e),0)}),e.exports={set:b,clear:x}},43270:function(e,t,n){"use strict";var r=n(38457);e.exports=r(1..valueOf)},46085:function(e,t,n){"use strict";var r=n(53893),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},3114:function(e,t,n){"use strict";var r=n(73716),o=TypeError;e.exports=function(e){var t=r(e,"number");if("number"==typeof t)throw o("Can't convert number to bigint");return BigInt(t)}},93614:function(e,t,n){"use strict";var r=n(53893),o=n(60780),i=RangeError;e.exports=function(e){if(e===undefined)return 0;var t=r(e),n=o(t);if(t!==n)throw i("Wrong length or index");return n}},19091:function(e,t,n){"use strict";var r=n(89753),o=n(49290);e.exports=function(e){return r(o(e))}},53893:function(e,t,n){"use strict";var r=n(6730);e.exports=function(e){var t=+e;return t!=t||0===t?0:r(t)}},60780:function(e,t,n){"use strict";var r=n(53893),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},39134:function(e,t,n){"use strict";var r=n(49290),o=Object;e.exports=function(e){return o(r(e))}},13129:function(e,t,n){"use strict";var r=n(91459),o=RangeError;e.exports=function(e,t){var n=r(e);if(n%t)throw o("Wrong offset");return n}},91459:function(e,t,n){"use strict";var r=n(53893),o=RangeError;e.exports=function(e){var t=r(e);if(t<0)throw o("The argument can't be less than 0");return t}},73716:function(e,t,n){"use strict";var r=n(68609),o=n(46840),i=n(32437),a=n(87869),u=n(79910),s=n(42847),c=TypeError,l=s("toPrimitive");e.exports=function(e,t){if(!o(e)||i(e))return e;var n,s=a(e,l);if(s){if(t===undefined&&(t="default"),n=r(s,e,t),!o(n)||i(n))return n;throw c("Can't convert object to primitive value")}return t===undefined&&(t="number"),u(e,t)}},21266:function(e,t,n){"use strict";var r=n(73716),o=n(32437);e.exports=function(e){var t=r(e,"string");return o(t)?t:t+""}},23371:function(e,t,n){"use strict";var r={};r[n(42847)("toStringTag")]="z",e.exports="[object z]"===String(r)},39599:function(e,t,n){"use strict";var r=n(13149),o=String;e.exports=function(e){if("Symbol"===r(e))throw TypeError("Cannot convert a Symbol value to a string");return o(e)}},29141:function(e){"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(n){return"Object"}}},63541:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(68609),a=n(4098),u=n(1187),s=n(89746),c=n(78463),l=n(99078),f=n(12311),d=n(90460),p=n(22796),h=n(60780),v=n(93614),m=n(13129),g=n(21266),y=n(35821),b=n(13149),x=n(46840),w=n(32437),E=n(8356),_=n(52625),D=n(97916),C=n(86658).f,k=n(68071),A=n(40975).forEach,S=n(97194),N=n(92867),O=n(18593),F=n(29017),M=n(5283),T=F.get,I=F.set,B=F.enforce,L=N.f,P=O.f,j=Math.round,V=o.RangeError,R=c.ArrayBuffer,z=R.prototype,K=c.DataView,U=s.NATIVE_ARRAY_BUFFER_VIEWS,Y=s.TYPED_ARRAY_TAG,H=s.TypedArray,W=s.TypedArrayPrototype,$=s.aTypedArrayConstructor,G=s.isTypedArray,q="BYTES_PER_ELEMENT",Z="Wrong length",X=function(e,t){$(e);for(var n=0,r=t.length,o=new e(r);r>n;)o[n]=t[n++];return o},Q=function(e,t){L(e,t,{get:function(){return T(this)[t]}})},J=function(e){var t;return _(z,e)||"ArrayBuffer"==(t=b(e))||"SharedArrayBuffer"==t},ee=function(e,t){return G(e)&&!w(t)&&t in e&&p(+t)&&t>=0},te=function(e,t){return t=g(t),ee(e,t)?f(2,e[t]):P(e,t)},ne=function(e,t,n){return t=g(t),!(ee(e,t)&&x(n)&&y(n,"value"))||y(n,"get")||y(n,"set")||n.configurable||y(n,"writable")&&!n.writable||y(n,"enumerable")&&!n.enumerable?L(e,t,n):(e[t]=n.value,e)};a?(U||(O.f=te,N.f=ne,Q(W,"buffer"),Q(W,"byteOffset"),Q(W,"byteLength"),Q(W,"length")),r({target:"Object",stat:!0,forced:!U},{getOwnPropertyDescriptor:te,defineProperty:ne}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,s=e+(n?"Clamped":"")+"Array",c="get"+e,f="set"+e,p=o[s],g=p,y=g&&g.prototype,b={},w=function(e,t){L(e,t,{get:function(){return function(e,t){var n=T(e);return n.view[c](t*a+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=T(e);n&&(r=(r=j(r))<0?0:r>255?255:255&r),o.view[f](t*a+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};U?u&&(g=t((function(e,t,n,r){return l(e,y),M(x(t)?J(t)?r!==undefined?new p(t,m(n,a),r):n!==undefined?new p(t,m(n,a)):new p(t):G(t)?X(g,t):i(k,g,t):new p(v(t)),e,g)})),D&&D(g,H),A(C(p),(function(e){e in g||d(g,e,p[e])})),g.prototype=y):(g=t((function(e,t,n,r){l(e,y);var o,u,s,c=0,f=0;if(x(t)){if(!J(t))return G(t)?X(g,t):i(k,g,t);o=t,f=m(n,a);var d=t.byteLength;if(r===undefined){if(d%a)throw V(Z);if((u=d-f)<0)throw V(Z)}else if((u=h(r)*a)+f>d)throw V(Z);s=u/a}else s=v(t),o=new R(u=s*a);for(I(e,{buffer:o,byteOffset:f,byteLength:u,length:s,view:new K(o)});c1?arguments[1]:undefined,D=_!==undefined,C=c(w);if(C&&!l(C))for(b=(y=s(w,C)).next,w=[];!(g=o(b,y)).done;)w.push(g.value);for(D&&E>2&&(_=r(_,arguments[2])),n=u(w),h=new(d(x))(n),v=f(h),t=0;n>t;t++)m=D?_(w[t],t):w[t],h[t]=v?p(m):+m;return h}},35927:function(e,t,n){"use strict";var r=n(89746),o=n(75693),i=r.aTypedArrayConstructor,a=r.getTypedArrayConstructor;e.exports=function(e){return i(o(e,a(e)))}},93054:function(e,t,n){"use strict";var r=n(38457),o=0,i=Math.random(),a=r(1..toString);e.exports=function(e){return"Symbol("+(e===undefined?"":e)+")_"+a(++o+i,36)}},79415:function(e,t,n){"use strict";var r=n(60265);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},78590:function(e,t,n){"use strict";var r=n(4098),o=n(3440);e.exports=r&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},44020:function(e){"use strict";var t=TypeError;e.exports=function(e,n){if(e2?arguments[2]:undefined,u=o(w,this);a?n=a(y(),u?i(this):w):(n=u?this:s(w),c(n,g,"Error")),t!==undefined&&c(n,"message",h(t)),m&&c(n,"stack",f(n.stack,1)),d(n,r);var l=[];return p(e,b,{that:l}),c(n,"errors",l),n};a?a(x,y):u(x,y,{name:!0});var w=x.prototype=s(y.prototype,{constructor:l(1,x),message:l(1,""),name:l(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:x})},89150:function(e,t,n){"use strict";n(86265)},72674:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(78463),a=n(97194),u="ArrayBuffer",s=i[u];r({global:!0,constructor:!0,forced:o[u]!==s},{ArrayBuffer:s}),a(u)},64432:function(e,t,n){"use strict";var r=n(65439),o=n(89746);r({target:"ArrayBuffer",stat:!0,forced:!o.NATIVE_ARRAY_BUFFER_VIEWS},{isView:o.isView})},97750:function(e,t,n){"use strict";var r=n(65439),o=n(42481),i=n(3440),a=n(78463),u=n(8782),s=n(46085),c=n(60780),l=n(75693),f=a.ArrayBuffer,d=a.DataView,p=d.prototype,h=o(f.prototype.slice),v=o(p.getUint8),m=o(p.setUint8);r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:i((function(){return!new f(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(h&&t===undefined)return h(u(this),e);for(var n=u(this).byteLength,r=s(e,n),o=s(t===undefined?n:t,n),i=new(l(this,f))(c(o-r)),a=new d(this),p=new d(i),g=0;r=51||!o((function(){var e=[];return e[v]=!1,e.concat()[0]!==e})),g=d("concat"),y=function(e){if(!a(e))return!1;var t=e[v];return t!==undefined?!!t:i(e)};r({target:"Array",proto:!0,arity:1,forced:!m||!g},{concat:function(e){var t,n,r,o,i,a=u(this),d=f(a,0),p=0;for(t=-1,r=arguments.length;t1?arguments[1]:undefined)}})},47676:function(e,t,n){"use strict";var r=n(65439),o=n(7381),i=n(21650);r({target:"Array",proto:!0},{fill:o}),i("fill")},84836:function(e,t,n){"use strict";var r=n(65439),o=n(40975).filter;r({target:"Array",proto:!0,forced:!n(731)("filter")},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},98452:function(e,t,n){"use strict";var r=n(65439),o=n(40975).findIndex,i=n(21650),a="findIndex",u=!0;a in[]&&Array(1)[a]((function(){u=!1})),r({target:"Array",proto:!0,forced:u},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i(a)},13307:function(e,t,n){"use strict";var r=n(65439),o=n(40975).find,i=n(21650),a="find",u=!0;a in[]&&Array(1)[a]((function(){u=!1})),r({target:"Array",proto:!0,forced:u},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i(a)},73790:function(e,t,n){"use strict";var r=n(65439),o=n(44094),i=n(79030),a=n(39134),u=n(83440),s=n(56940);r({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),r=u(n);return i(e),(t=s(n,0)).length=o(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},66108:function(e,t,n){"use strict";var r=n(65439),o=n(44094),i=n(39134),a=n(83440),u=n(53893),s=n(56940);r({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=i(this),n=a(t),r=s(t,0);return r.length=o(r,t,t,n,0,e===undefined?1:u(e)),r}})},40324:function(e,t,n){"use strict";var r=n(65439),o=n(11421);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},52650:function(e,t,n){"use strict";var r=n(65439),o=n(58578);r({target:"Array",stat:!0,forced:!n(32938)((function(e){Array.from(e)}))},{from:o})},40873:function(e,t,n){"use strict";var r=n(65439),o=n(16077).includes,i=n(3440),a=n(21650);r({target:"Array",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},83754:function(e,t,n){"use strict";var r=n(65439),o=n(42481),i=n(16077).indexOf,a=n(38575),u=o([].indexOf),s=!!u&&1/u([1],1,-0)<0,c=a("indexOf");r({target:"Array",proto:!0,forced:s||!c},{indexOf:function(e){var t=arguments.length>1?arguments[1]:undefined;return s?u(this,e,t)||0:i(this,e,t)}})},21361:function(e,t,n){"use strict";n(65439)({target:"Array",stat:!0},{isArray:n(64739)})},20452:function(e,t,n){"use strict";var r=n(19091),o=n(21650),i=n(87804),a=n(29017),u=n(92867).f,s=n(63424),c=n(49764),l=n(65787),f=n(4098),d="Array Iterator",p=a.set,h=a.getterFor(d);e.exports=s(Array,"Array",(function(e,t){p(this,{type:d,target:r(e),index:0,kind:t})}),(function(){var e=h(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=undefined,c(undefined,!0)):c("keys"==n?r:"values"==n?t[r]:[r,t[r]],!1)}),"values");var v=i.Arguments=i.Array;if(o("keys"),o("values"),o("entries"),!l&&f&&"values"!==v.name)try{u(v,"name",{value:"values"})}catch(m){}},19037:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(89753),a=n(19091),u=n(38575),s=o([].join),c=i!=Object,l=u("join",",");r({target:"Array",proto:!0,forced:c||!l},{join:function(e){return s(a(this),e===undefined?",":e)}})},96967:function(e,t,n){"use strict";var r=n(65439),o=n(10303);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},93340:function(e,t,n){"use strict";var r=n(65439),o=n(40975).map;r({target:"Array",proto:!0,forced:!n(731)("map")},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},35391:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(99418),a=n(15072),u=Array;r({target:"Array",stat:!0,forced:o((function(){function e(){}return!(u.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new(i(this)?this:u)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},36147:function(e,t,n){"use strict";var r=n(65439),o=n(55202).right,i=n(38575),a=n(88088),u=n(68173);r({target:"Array",proto:!0,forced:!i("reduceRight")||!u&&a>79&&a<83},{reduceRight:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},15490:function(e,t,n){"use strict";var r=n(65439),o=n(55202).left,i=n(38575),a=n(88088),u=n(68173);r({target:"Array",proto:!0,forced:!i("reduce")||!u&&a>79&&a<83},{reduce:function(e){var t=arguments.length;return o(this,e,t,t>1?arguments[1]:undefined)}})},23128:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(64739),a=o([].reverse),u=[1,2];r({target:"Array",proto:!0,forced:String(u)===String(u.reverse())},{reverse:function(){return i(this)&&(this.length=this.length),a(this)}})},49866:function(e,t,n){"use strict";var r=n(65439),o=n(64739),i=n(99418),a=n(46840),u=n(46085),s=n(83440),c=n(19091),l=n(15072),f=n(42847),d=n(731),p=n(92098),h=d("slice"),v=f("species"),m=Array,g=Math.max;r({target:"Array",proto:!0,forced:!h},{slice:function(e,t){var n,r,f,d=c(this),h=s(d),y=u(e,h),b=u(t===undefined?h:t,h);if(o(d)&&(n=d.constructor,(i(n)&&(n===m||o(n.prototype))||a(n)&&null===(n=n[v]))&&(n=undefined),n===m||n===undefined))return p(d,y,b);for(r=new(n===undefined?m:n)(g(b-y,0)),f=0;y1?arguments[1]:undefined)}})},53260:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(79030),a=n(39134),u=n(83440),s=n(80323),c=n(39599),l=n(3440),f=n(89497),d=n(38575),p=n(98861),h=n(79920),v=n(88088),m=n(51737),g=[],y=o(g.sort),b=o(g.push),x=l((function(){g.sort(undefined)})),w=l((function(){g.sort(null)})),E=d("sort"),_=!l((function(){if(v)return v<70;if(!(p&&p>3)){if(h)return!0;if(m)return m<603;var e,t,n,r,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)g.push({k:t+r,v:n})}for(g.sort((function(e,t){return t.v-e.v})),r=0;rc(n)?1:-1}}(e)),n=u(o),r=0;rx-r+n;m--)d(b,m-1)}else if(n>r)for(m=x-r;m>w;m--)y=m+n-1,(g=m+r-1)in b?b[y]=b[g]:d(b,y);for(m=0;m94906265.62425156?a(t)+s:o(t-1+u(t-1)*u(t+1))}})},86628:function(e,t,n){"use strict";var r=n(65439),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function u(e){var t=+e;return isFinite(t)&&0!=t?t<0?-u(-t):i(t+a(t*t+1)):t}})},48432:function(e,t,n){"use strict";var r=n(65439),o=Math.atanh,i=Math.log;r({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(e){var t=+e;return 0==t?t:i((1+t)/(1-t))/2}})},39081:function(e,t,n){"use strict";var r=n(65439),o=n(54768),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(e){var t=+e;return o(t)*a(i(t),1/3)}})},84666:function(e,t,n){"use strict";var r=n(65439),o=Math.floor,i=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(e){var t=e>>>0;return t?31-o(i(t+.5)*a):32}})},12687:function(e,t,n){"use strict";var r=n(65439),o=n(48277),i=Math.cosh,a=Math.abs,u=Math.E;r({target:"Math",stat:!0,forced:!i||i(710)===Infinity},{cosh:function(e){var t=o(a(e)-1)+1;return(t+1/(t*u*u))*(u/2)}})},97015:function(e,t,n){"use strict";var r=n(65439),o=n(48277);r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},73838:function(e,t,n){"use strict";n(65439)({target:"Math",stat:!0},{fround:n(36344)})},35559:function(e,t,n){"use strict";var r=n(65439),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,arity:2,forced:!!o&&o(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,r,o=0,u=0,s=arguments.length,c=0;u0?(r=n/c)*r:n;return c===Infinity?Infinity:c*a(o)}})},86378:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=Math.imul;r({target:"Math",stat:!0,forced:o((function(){return-5!=i(4294967295,5)||2!=i.length}))},{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},93550:function(e,t,n){"use strict";n(65439)({target:"Math",stat:!0},{log10:n(84234)})},98102:function(e,t,n){"use strict";n(65439)({target:"Math",stat:!0},{log1p:n(77477)})},30584:function(e,t,n){"use strict";var r=n(65439),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(e){return o(e)/i}})},95379:function(e,t,n){"use strict";n(65439)({target:"Math",stat:!0},{sign:n(54768)})},92091:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(48277),a=Math.abs,u=Math.exp,s=Math.E;r({target:"Math",stat:!0,forced:o((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){var t=+e;return a(t)<1?(i(t)-i(-t))/2:(u(t-1)-u(-t-1))*(s/2)}})},73398:function(e,t,n){"use strict";var r=n(65439),o=n(48277),i=Math.exp;r({target:"Math",stat:!0},{tanh:function(e){var t=+e,n=o(t),r=o(-t);return n==Infinity?1:r==Infinity?-1:(n-r)/(i(t)+i(-t))}})},77545:function(e,t,n){"use strict";n(13453)(Math,"Math",!0)},72430:function(e,t,n){"use strict";n(65439)({target:"Math",stat:!0},{trunc:n(6730)})},23794:function(e,t,n){"use strict";var r=n(65439),o=n(65787),i=n(4098),a=n(25511),u=n(18524),s=n(38457),c=n(50330),l=n(35821),f=n(5283),d=n(52625),p=n(32437),h=n(73716),v=n(3440),m=n(86658).f,g=n(18593).f,y=n(92867).f,b=n(43270),x=n(93842).trim,w="Number",E=a[w],_=u[w],D=E.prototype,C=a.TypeError,k=s("".slice),A=s("".charCodeAt),S=function(e){var t=h(e,"number");return"bigint"==typeof t?t:N(t)},N=function(e){var t,n,r,o,i,a,u,s,c=h(e,"number");if(p(c))throw C("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=x(c),43===(t=A(c,0))||45===t){if(88===(n=A(c,2))||120===n)return NaN}else if(48===t){switch(A(c,1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+c}for(a=(i=k(c,2)).length,u=0;uo)return NaN;return parseInt(i,r)}return+c},O=c(w,!E(" 0o1")||!E("0b1")||E("+0x1")),F=function(e){return d(D,e)&&v((function(){b(e)}))},M=function(e){var t=arguments.length<1?0:E(S(e));return F(this)?f(Object(t),this,M):t};M.prototype=D,O&&!o&&(D.constructor=M),r({global:!0,constructor:!0,wrap:!0,forced:O},{Number:M});var T=function(e,t){for(var n,r=i?m(t):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;r.length>o;o++)l(t,n=r[o])&&!l(e,n)&&y(e,n,g(t,n))};o&&_&&T(u[w],_),(O||o)&&T(u[w],E)},55349:function(e,t,n){"use strict";n(65439)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},27495:function(e,t,n){"use strict";n(65439)({target:"Number",stat:!0},{isFinite:n(90059)})},59798:function(e,t,n){"use strict";n(65439)({target:"Number",stat:!0},{isInteger:n(22796)})},33089:function(e,t,n){"use strict";n(65439)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},37881:function(e,t,n){"use strict";var r=n(65439),o=n(22796),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},78876:function(e,t,n){"use strict";n(65439)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},9344:function(e,t,n){"use strict";n(65439)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},86071:function(e,t,n){"use strict";var r=n(65439),o=n(39302);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},84717:function(e,t,n){"use strict";var r=n(65439),o=n(89466);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},86649:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(53893),a=n(43270),u=n(82341),s=n(3440),c=RangeError,l=String,f=Math.floor,d=o(u),p=o("".slice),h=o(1..toFixed),v=function b(e,t,n){return 0===t?n:t%2==1?b(e,t-1,n*e):b(e*e,t/2,n)},m=function(e,t,n){for(var r=-1,o=n;++r<6;)o+=t*e[r],e[r]=o%1e7,o=f(o/1e7)},g=function(e,t){for(var n=6,r=0;--n>=0;)r+=e[n],e[n]=f(r/t),r=r%t*1e7},y=function(e){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==e[t]){var r=l(e[t]);n=""===n?r:n+d("0",7-r.length)+r}return n};r({target:"Number",proto:!0,forced:s((function(){return"0.000"!==h(8e-5,3)||"1"!==h(.9,0)||"1.25"!==h(1.255,2)||"1000000000000000128"!==h(0xde0b6b3a7640080,0)}))||!s((function(){h({})}))},{toFixed:function(e){var t,n,r,o,u=a(this),s=i(e),f=[0,0,0,0,0,0],h="",b="0";if(s<0||s>20)throw c("Incorrect fraction digits");if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return l(u);if(u<0&&(h="-",u=-u),u>1e-21)if(n=(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(u*v(2,69,1))-69)<0?u*v(2,-t,1):u/v(2,t,1),n*=4503599627370496,(t=52-t)>0){for(m(f,0,n),r=s;r>=7;)m(f,1e7,0),r-=7;for(m(f,v(10,r,1),0),r=t-1;r>=23;)g(f,1<<23),r-=23;g(f,1<0?h+((o=b.length)<=s?"0."+d("0",s-o)+b:p(b,0,o-s)+"."+p(b,o-s)):h+b}})},424:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(3440),a=n(43270),u=o(1..toPrecision);r({target:"Number",proto:!0,forced:i((function(){return"1"!==u(1,undefined)}))||!i((function(){u({})}))},{toPrecision:function(e){return e===undefined?u(a(this)):u(a(this),e)}})},51829:function(e,t,n){"use strict";var r=n(65439),o=n(24293);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==o},{assign:o})},93543:function(e,t,n){"use strict";n(65439)({target:"Object",stat:!0,sham:!n(4098)},{create:n(8356)})},51647:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(17446),a=n(79030),u=n(39134),s=n(92867);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(e,t){s.f(u(this),e,{get:a(t),enumerable:!0,configurable:!0})}})},44589:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(9672).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==i,sham:!o},{defineProperties:i})},9024:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(92867).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==i,sham:!o},{defineProperty:i})},60291:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(17446),a=n(79030),u=n(39134),s=n(92867);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(e,t){s.f(u(this),e,{set:a(t),enumerable:!0,configurable:!0})}})},62412:function(e,t,n){"use strict";var r=n(65439),o=n(33903).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},96064:function(e,t,n){"use strict";var r=n(65439),o=n(14097),i=n(3440),a=n(46840),u=n(94986).onFreeze,s=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){s(1)})),sham:!o},{freeze:function(e){return s&&a(e)?s(u(e)):e}})},61640:function(e,t,n){"use strict";var r=n(65439),o=n(6111),i=n(15072);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,n){i(t,e,n)}),{AS_ENTRIES:!0}),t}})},62506:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(19091),a=n(18593).f,u=n(4098),s=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||s,sham:!u},{getOwnPropertyDescriptor:function(e,t){return a(i(e),t)}})},10828:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(32884),a=n(19091),u=n(18593),s=n(15072);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(e){for(var t,n,r=a(e),o=u.f,c=i(r),l={},f=0;c.length>f;)(n=o(r,t=c[f++]))!==undefined&&s(l,t,n);return l}})},69270:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(26661).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},31656:function(e,t,n){"use strict";var r=n(65439),o=n(60265),i=n(3440),a=n(13963),u=n(39134);r({target:"Object",stat:!0,forced:!o||i((function(){a.f(1)}))},{getOwnPropertySymbols:function(e){var t=a.f;return t?t(u(e)):[]}})},50077:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(39134),a=n(45526),u=n(16308);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(e){return a(i(e))}})},32961:function(e,t,n){"use strict";var r=n(65439),o=n(77311);r({target:"Object",stat:!0,forced:Object.isExtensible!==o},{isExtensible:o})},86181:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(46840),a=n(86790),u=n(29613),s=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){s(1)}))||u},{isFrozen:function(e){return!i(e)||!(!u||"ArrayBuffer"!=a(e))||!!s&&s(e)}})},58055:function(e,t,n){"use strict";var r=n(65439),o=n(3440),i=n(46840),a=n(86790),u=n(29613),s=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){s(1)}))||u},{isSealed:function(e){return!i(e)||!(!u||"ArrayBuffer"!=a(e))||!!s&&s(e)}})},81011:function(e,t,n){"use strict";n(65439)({target:"Object",stat:!0},{is:n(87091)})},94625:function(e,t,n){"use strict";var r=n(65439),o=n(39134),i=n(27911);r({target:"Object",stat:!0,forced:n(3440)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},66807:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(17446),a=n(39134),u=n(21266),s=n(45526),c=n(18593).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(e){var t,n=a(this),r=u(e);do{if(t=c(n,r))return t.get}while(n=s(n))}})},90146:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(17446),a=n(39134),u=n(21266),s=n(45526),c=n(18593).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(e){var t,n=a(this),r=u(e);do{if(t=c(n,r))return t.set}while(n=s(n))}})},43015:function(e,t,n){"use strict";var r=n(65439),o=n(46840),i=n(94986).onFreeze,a=n(14097),u=n(3440),s=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){s(1)})),sham:!a},{preventExtensions:function(e){return s&&o(e)?s(i(e)):e}})},82034:function(e,t,n){"use strict";var r=n(65439),o=n(46840),i=n(94986).onFreeze,a=n(14097),u=n(3440),s=Object.seal;r({target:"Object",stat:!0,forced:u((function(){s(1)})),sham:!a},{seal:function(e){return s&&o(e)?s(i(e)):e}})},84641:function(e,t,n){"use strict";n(65439)({target:"Object",stat:!0},{setPrototypeOf:n(97916)})},84005:function(e,t,n){"use strict";var r=n(23371),o=n(83972),i=n(28006);r||o(Object.prototype,"toString",i,{unsafe:!0})},58928:function(e,t,n){"use strict";var r=n(65439),o=n(33903).values;r({target:"Object",stat:!0},{values:function(e){return o(e)}})},60586:function(e,t,n){"use strict";var r=n(65439),o=n(39302);r({global:!0,forced:parseFloat!=o},{parseFloat:o})},16664:function(e,t,n){"use strict";var r=n(65439),o=n(89466);r({global:!0,forced:parseInt!=o},{parseInt:o})},95938:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(79030),a=n(26149),u=n(15058),s=n(6111);r({target:"Promise",stat:!0},{allSettled:function(e){var t=this,n=a.f(t),r=n.resolve,c=n.reject,l=u((function(){var n=i(t.resolve),a=[],u=0,c=1;s(e,(function(e){var i=u++,s=!1;c++,o(n,t,e).then((function(e){s||(s=!0,a[i]={status:"fulfilled",value:e},--c||r(a))}),(function(e){s||(s=!0,a[i]={status:"rejected",reason:e},--c||r(a))}))})),--c||r(a)}));return l.error&&c(l.value),n.promise}})},38977:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(79030),a=n(26149),u=n(15058),s=n(6111);r({target:"Promise",stat:!0,forced:n(40554)},{all:function(e){var t=this,n=a.f(t),r=n.resolve,c=n.reject,l=u((function(){var n=i(t.resolve),a=[],u=0,l=1;s(e,(function(e){var i=u++,s=!1;l++,o(n,t,e).then((function(e){s||(s=!0,a[i]=e,--l||r(a))}),c)})),--l||r(a)}));return l.error&&c(l.value),n.promise}})},24875:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(79030),a=n(53242),u=n(26149),s=n(15058),c=n(6111),l="No one promise resolved";r({target:"Promise",stat:!0},{any:function(e){var t=this,n=a("AggregateError"),r=u.f(t),f=r.resolve,d=r.reject,p=s((function(){var r=i(t.resolve),a=[],u=0,s=1,p=!1;c(e,(function(e){var i=u++,c=!1;s++,o(r,t,e).then((function(e){c||p||(p=!0,f(e))}),(function(e){c||p||(c=!0,a[i]=e,--s||d(new n(a,l)))}))})),--s||d(new n(a,l))}));return p.error&&d(p.value),r.promise}})},49361:function(e,t,n){"use strict";var r=n(65439),o=n(65787),i=n(9325).CONSTRUCTOR,a=n(46795),u=n(53242),s=n(48609),c=n(83972),l=a&&a.prototype;if(r({target:"Promise",proto:!0,forced:i,real:!0},{"catch":function(e){return this.then(undefined,e)}}),!o&&s(a)){var f=u("Promise").prototype["catch"];l["catch"]!==f&&c(l,"catch",f,{unsafe:!0})}},54064:function(e,t,n){"use strict";var r,o,i,a=n(65439),u=n(65787),s=n(68173),c=n(25511),l=n(68609),f=n(83972),d=n(97916),p=n(13453),h=n(97194),v=n(79030),m=n(48609),g=n(46840),y=n(99078),b=n(75693),x=n(3017).set,w=n(5934),E=n(74394),_=n(15058),D=n(65921),C=n(29017),k=n(46795),A=n(9325),S=n(26149),N="Promise",O=A.CONSTRUCTOR,F=A.REJECTION_EVENT,M=A.SUBCLASSING,T=C.getterFor(N),I=C.set,B=k&&k.prototype,L=k,P=B,j=c.TypeError,V=c.document,R=c.process,z=S.f,K=z,U=!!(V&&V.createEvent&&c.dispatchEvent),Y="unhandledrejection",H=function(e){var t;return!(!g(e)||!m(t=e.then))&&t},W=function(e,t){var n,r,o,i=t.value,a=1==t.state,u=a?e.ok:e.fail,s=e.resolve,c=e.reject,f=e.domain;try{u?(a||(2===t.rejection&&X(t),t.rejection=1),!0===u?n=i:(f&&f.enter(),n=u(i),f&&(f.exit(),o=!0)),n===e.promise?c(j("Promise-chain cycle")):(r=H(n))?l(r,n,s,c):s(n)):c(i)}catch(d){f&&!o&&f.exit(),c(d)}},$=function(e,t){e.notified||(e.notified=!0,w((function(){for(var n,r=e.reactions;n=r.get();)W(n,e);e.notified=!1,t&&!e.rejection&&q(e)})))},G=function(e,t,n){var r,o;U?((r=V.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),c.dispatchEvent(r)):r={promise:t,reason:n},!F&&(o=c["on"+e])?o(r):e===Y&&E("Unhandled promise rejection",n)},q=function(e){l(x,c,(function(){var t,n=e.facade,r=e.value;if(Z(e)&&(t=_((function(){s?R.emit("unhandledRejection",r,n):G(Y,n,r)})),e.rejection=s||Z(e)?2:1,t.error))throw t.value}))},Z=function(e){return 1!==e.rejection&&!e.parent},X=function(e){l(x,c,(function(){var t=e.facade;s?R.emit("rejectionHandled",t):G("rejectionhandled",t,e.value)}))},Q=function(e,t,n){return function(r){e(t,r,n)}},J=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,$(e,!0))},ee=function ne(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw j("Promise can't be resolved itself");var r=H(t);r?w((function(){var n={done:!1};try{l(r,t,Q(ne,n,e),Q(J,n,e))}catch(o){J(n,o,e)}})):(e.value=t,e.state=1,$(e,!1))}catch(o){J({done:!1},o,e)}}};if(O&&(L=function(e){y(this,P),v(e),l(r,this);var t=T(this);try{e(Q(ee,t),Q(J,t))}catch(n){J(t,n)}},P=L.prototype,(r=function(e){I(this,{type:N,done:!1,notified:!1,parent:!1,reactions:new D,rejection:!1,state:0,value:undefined})}).prototype=f(P,"then",(function(e,t){var n=T(this),r=z(b(this,L));return n.parent=!0,r.ok=!m(e)||e,r.fail=m(t)&&t,r.domain=s?R.domain:undefined,0==n.state?n.reactions.add(r):w((function(){W(r,n)})),r.promise})),o=function(){var e=new r,t=T(e);this.promise=e,this.resolve=Q(ee,t),this.reject=Q(J,t)},S.f=z=function(e){return e===L||undefined===e?new o(e):K(e)},!u&&m(k)&&B!==Object.prototype)){i=B.then,M||f(B,"then",(function(e,t){var n=this;return new L((function(e,t){l(i,n,e,t)})).then(e,t)}),{unsafe:!0});try{delete B.constructor}catch(te){}d&&d(B,P)}a({global:!0,constructor:!0,wrap:!0,forced:O},{Promise:L}),p(L,N,!1,!0),h(N)},31625:function(e,t,n){"use strict";var r=n(65439),o=n(65787),i=n(46795),a=n(3440),u=n(53242),s=n(48609),c=n(75693),l=n(77125),f=n(83972),d=i&&i.prototype;if(r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){d["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=c(this,u("Promise")),n=s(e);return this.then(n?function(n){return l(t,e()).then((function(){return n}))}:e,n?function(n){return l(t,e()).then((function(){throw n}))}:e)}}),!o&&s(i)){var p=u("Promise").prototype["finally"];d["finally"]!==p&&f(d,"finally",p,{unsafe:!0})}},37759:function(e,t,n){"use strict";n(54064),n(38977),n(49361),n(79024),n(91525),n(15078)},79024:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(79030),a=n(26149),u=n(15058),s=n(6111);r({target:"Promise",stat:!0,forced:n(40554)},{race:function(e){var t=this,n=a.f(t),r=n.reject,c=u((function(){var a=i(t.resolve);s(e,(function(e){o(a,t,e).then(n.resolve,r)}))}));return c.error&&r(c.value),n.promise}})},91525:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(26149);r({target:"Promise",stat:!0,forced:n(9325).CONSTRUCTOR},{reject:function(e){var t=i.f(this);return o(t.reject,undefined,e),t.promise}})},15078:function(e,t,n){"use strict";var r=n(65439),o=n(53242),i=n(65787),a=n(46795),u=n(9325).CONSTRUCTOR,s=n(77125),c=o("Promise"),l=i&&!u;r({target:"Promise",stat:!0,forced:i||u},{resolve:function(e){return s(l&&this===c?a:this,e)}})},96161:function(e,t,n){"use strict";var r=n(65439),o=n(42177),i=n(79030),a=n(8782);r({target:"Reflect",stat:!0,forced:!n(3440)((function(){Reflect.apply((function(){}))}))},{apply:function(e,t,n){return o(i(e),t,a(n))}})},12977:function(e,t,n){"use strict";var r=n(65439),o=n(53242),i=n(42177),a=n(87637),u=n(82269),s=n(8782),c=n(46840),l=n(8356),f=n(3440),d=o("Reflect","construct"),p=Object.prototype,h=[].push,v=f((function(){function e(){}return!(d((function(){}),[],e)instanceof e)})),m=!f((function(){d((function(){}))})),g=v||m;r({target:"Reflect",stat:!0,forced:g,sham:g},{construct:function(e,t){u(e),s(t);var n=arguments.length<3?e:u(arguments[2]);if(m&&!v)return d(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return i(h,r,t),new(i(a,e,r))}var o=n.prototype,f=l(c(o)?o:p),g=i(e,f,t);return c(g)?g:f}})},30687:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(8782),a=n(21266),u=n(92867);r({target:"Reflect",stat:!0,forced:n(3440)((function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})})),sham:!o},{defineProperty:function(e,t,n){i(e);var r=a(t);i(n);try{return u.f(e,r,n),!0}catch(o){return!1}}})},68136:function(e,t,n){"use strict";var r=n(65439),o=n(8782),i=n(18593).f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},64434:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(8782),a=n(18593);r({target:"Reflect",stat:!0,sham:!o},{getOwnPropertyDescriptor:function(e,t){return a.f(i(e),t)}})},24010:function(e,t,n){"use strict";var r=n(65439),o=n(8782),i=n(45526);r({target:"Reflect",stat:!0,sham:!n(16308)},{getPrototypeOf:function(e){return i(o(e))}})},43207:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(46840),a=n(8782),u=n(72040),s=n(18593),c=n(45526);r({target:"Reflect",stat:!0},{get:function l(e,t){var n,r,f=arguments.length<3?e:arguments[2];return a(e)===f?e[t]:(n=s.f(e,t))?u(n)?n.value:n.get===undefined?undefined:o(n.get,f):i(r=c(e))?l(r,t,f):void 0}})},73055:function(e,t,n){"use strict";n(65439)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},17847:function(e,t,n){"use strict";var r=n(65439),o=n(8782),i=n(77311);r({target:"Reflect",stat:!0},{isExtensible:function(e){return o(e),i(e)}})},36825:function(e,t,n){"use strict";n(65439)({target:"Reflect",stat:!0},{ownKeys:n(32884)})},51301:function(e,t,n){"use strict";var r=n(65439),o=n(53242),i=n(8782);r({target:"Reflect",stat:!0,sham:!n(14097)},{preventExtensions:function(e){i(e);try{var t=o("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},51517:function(e,t,n){"use strict";var r=n(65439),o=n(8782),i=n(1198),a=n(97916);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){o(e),i(t);try{return a(e,t),!0}catch(n){return!1}}})},68527:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(8782),a=n(46840),u=n(72040),s=n(3440),c=n(92867),l=n(18593),f=n(45526),d=n(12311);r({target:"Reflect",stat:!0,forced:s((function(){var e=function(){},t=c.f(new e,"a",{configurable:!0});return!1!==Reflect.set(e.prototype,"a",1,t)}))},{set:function p(e,t,n){var r,s,h,v=arguments.length<4?e:arguments[3],m=l.f(i(e),t);if(!m){if(a(s=f(e)))return p(s,t,n,v);m=d(0)}if(u(m)){if(!1===m.writable||!a(v))return!1;if(r=l.f(v,t)){if(r.get||r.set||!1===r.writable)return!1;r.value=n,c.f(v,t,r)}else c.f(v,t,d(0,n))}else{if((h=m.set)===undefined)return!1;o(h,v,n)}return!0}})},64028:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(13453);r({global:!0},{Reflect:{}}),i(o.Reflect,"Reflect",!0)},52634:function(e,t,n){"use strict";var r=n(4098),o=n(25511),i=n(38457),a=n(50330),u=n(5283),s=n(90460),c=n(86658).f,l=n(52625),f=n(23939),d=n(39599),p=n(83904),h=n(86325),v=n(64692),m=n(83972),g=n(3440),y=n(35821),b=n(29017).enforce,x=n(97194),w=n(42847),E=n(62986),_=n(74842),D=w("match"),C=o.RegExp,k=C.prototype,A=o.SyntaxError,S=i(k.exec),N=i("".charAt),O=i("".replace),F=i("".indexOf),M=i("".slice),T=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,I=/a/g,B=/a/g,L=new C(I)!==I,P=h.MISSED_STICKY,j=h.UNSUPPORTED_Y,V=r&&(!L||P||E||_||g((function(){return B[D]=!1,C(I)!=I||C(B)==B||"/a/i"!=C(I,"i")})));if(a("RegExp",V)){for(var R=function(e,t){var n,r,o,i,a,c,h=l(k,this),v=f(e),m=t===undefined,g=[],x=e;if(!h&&v&&m&&e.constructor===R)return e;if((v||l(k,e))&&(e=e.source,m&&(t=p(x))),e=e===undefined?"":d(e),t=t===undefined?"":d(t),x=e,E&&"dotAll"in I&&(r=!!t&&F(t,"s")>-1)&&(t=O(t,/s/g,"")),n=t,P&&"sticky"in I&&(o=!!t&&F(t,"y")>-1)&&j&&(t=O(t,/y/g,"")),_&&(i=function(e){for(var t,n=e.length,r=0,o="",i=[],a={},u=!1,s=!1,c=0,l="";r<=n;r++){if("\\"===(t=N(e,r)))t+=N(e,++r);else if("]"===t)u=!1;else if(!u)switch(!0){case"["===t:u=!0;break;case"("===t:S(T,M(e,r+1))&&(r+=2,s=!0),o+=t,c++;continue;case">"===t&&s:if(""===l||y(a,l))throw new A("Invalid capture group name");a[l]=!0,i[i.length]=[l,c],s=!1,l="";continue}s?l+=t:o+=t}return[o,i]}(e),e=i[0],g=i[1]),a=u(C(e,t),h?this:k,R),(r||o||g.length)&&(c=b(a),r&&(c.dotAll=!0,c.raw=R(function(e){for(var t,n=e.length,r=0,o="",i=!1;r<=n;r++)"\\"!==(t=N(e,r))?i||"."!==t?("["===t?i=!0:"]"===t&&(i=!1),o+=t):o+="[\\s\\S]":o+=t+N(e,++r);return o}(e),n)),o&&(c.sticky=!0),g.length&&(c.groups=g)),e!==x)try{s(a,"source",""===x?"(?:)":x)}catch(w){}return a},z=c(C),K=0;z.length>K;)v(R,C,z[K++]);k.constructor=R,R.prototype=k,m(o,"RegExp",R,{constructor:!0})}x("RegExp")},34067:function(e,t,n){"use strict";var r=n(65439),o=n(34062);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},58023:function(e,t,n){"use strict";var r=n(25511),o=n(4098),i=n(39836),a=n(52673),u=n(3440),s=r.RegExp,c=s.prototype;o&&u((function(){var e=!0;try{s(".","d")}catch(u){e=!1}var t={},n="",r=e?"dgimsy":"gimsy",o=function(e,r){Object.defineProperty(t,e,{get:function(){return n+=r,!0}})},i={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(i.hasIndices="d"),i)o(a,i[a]);return Object.getOwnPropertyDescriptor(c,"flags").get.call(t)!==r||n!==r}))&&i(c,"flags",{configurable:!0,get:a})},85574:function(e,t,n){"use strict";var r=n(4098),o=n(86325).MISSED_STICKY,i=n(86790),a=n(39836),u=n(29017).get,s=RegExp.prototype,c=TypeError;r&&o&&a(s,"sticky",{configurable:!0,get:function(){if(this===s)return undefined;if("RegExp"===i(this))return!!u(this).sticky;throw c("Incompatible receiver, RegExp required")}})},78607:function(e,t,n){"use strict";n(34067);var r,o,i=n(65439),a=n(68609),u=n(48609),s=n(8782),c=n(39599),l=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),f=/./.test;i({target:"RegExp",proto:!0,forced:!l},{test:function(e){var t=s(this),n=c(e),r=t.exec;if(!u(r))return a(f,t,n);var o=a(r,t,n);return null!==o&&(s(o),!0)}})},21313:function(e,t,n){"use strict";var r=n(2142).PROPER,o=n(83972),i=n(8782),a=n(39599),u=n(3440),s=n(83904),c="toString",l=RegExp.prototype[c],f=u((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d=r&&l.name!=c;(f||d)&&o(RegExp.prototype,c,(function(){var e=i(this);return"/"+a(e.source)+"/"+a(s(e))}),{unsafe:!0})},46177:function(e,t,n){"use strict";n(18207)("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(88511))},42255:function(e,t,n){"use strict";n(46177)},47763:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("anchor")},{anchor:function(e){return o(this,"a","name",e)}})},14330:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("big")},{big:function(){return o(this,"big","","")}})},44245:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("blink")},{blink:function(){return o(this,"blink","","")}})},12870:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("bold")},{bold:function(){return o(this,"b","","")}})},42200:function(e,t,n){"use strict";var r=n(65439),o=n(59524).codeAt;r({target:"String",proto:!0},{codePointAt:function(e){return o(this,e)}})},41707:function(e,t,n){"use strict";var r,o=n(65439),i=n(42481),a=n(18593).f,u=n(60780),s=n(39599),c=n(96215),l=n(49290),f=n(83196),d=n(65787),p=i("".endsWith),h=i("".slice),v=Math.min,m=f("endsWith");o({target:"String",proto:!0,forced:!!(d||m||(r=a(String.prototype,"endsWith"),!r||r.writable))&&!m},{endsWith:function(e){var t=s(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,r=t.length,o=n===undefined?r:v(u(n),r),i=s(e);return p?p(t,i,o):h(t,o-i.length,o)===i}})},2896:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("fixed")},{fixed:function(){return o(this,"tt","","")}})},68134:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("fontcolor")},{fontcolor:function(e){return o(this,"font","color",e)}})},26269:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("fontsize")},{fontsize:function(e){return o(this,"font","size",e)}})},5923:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(46085),a=RangeError,u=String.fromCharCode,s=String.fromCodePoint,c=o([].join);r({target:"String",stat:!0,arity:1,forced:!!s&&1!=s.length},{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,o=0;r>o;){if(t=+arguments[o++],i(t,1114111)!==t)throw a(t+" is not a valid code point");n[o]=t<65536?u(t):u(55296+((t-=65536)>>10),t%1024+56320)}return c(n,"")}})},47543:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(96215),a=n(49290),u=n(39599),s=n(83196),c=o("".indexOf);r({target:"String",proto:!0,forced:!s("includes")},{includes:function(e){return!!~c(u(a(this)),u(i(e)),arguments.length>1?arguments[1]:undefined)}})},10073:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("italics")},{italics:function(){return o(this,"i","","")}})},20861:function(e,t,n){"use strict";var r=n(59524).charAt,o=n(39599),i=n(29017),a=n(63424),u=n(49764),s="String Iterator",c=i.set,l=i.getterFor(s);a(String,"String",(function(e){c(this,{type:s,string:o(e),index:0})}),(function(){var e,t=l(this),n=t.string,o=t.index;return o>=n.length?u(undefined,!0):(e=r(n,o),t.index+=e.length,u(e,!1))}))},25767:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("link")},{link:function(e){return o(this,"a","href",e)}})},64622:function(e,t,n){"use strict";var r=n(65439),o=n(68609),i=n(42481),a=n(40897),u=n(49764),s=n(49290),c=n(60780),l=n(39599),f=n(8782),d=n(92625),p=n(86790),h=n(23939),v=n(83904),m=n(87869),g=n(83972),y=n(3440),b=n(42847),x=n(75693),w=n(1491),E=n(84639),_=n(29017),D=n(65787),C=b("matchAll"),k="RegExp String",A=k+" Iterator",S=_.set,N=_.getterFor(A),O=RegExp.prototype,F=TypeError,M=i("".indexOf),T=i("".matchAll),I=!!T&&!y((function(){T("a",/./)})),B=a((function(e,t,n,r){S(this,{type:A,regexp:e,string:t,global:n,unicode:r,done:!1})}),k,(function(){var e=N(this);if(e.done)return u(undefined,!0);var t=e.regexp,n=e.string,r=E(t,n);return null===r?(e.done=!0,u(undefined,!0)):e.global?(""===l(r[0])&&(t.lastIndex=w(n,c(t.lastIndex),e.unicode)),u(r,!1)):(e.done=!0,u(r,!1))})),L=function(e){var t,n,r,o=f(this),i=l(e),a=x(o,RegExp),u=l(v(o));return t=new a(a===RegExp?o.source:o,u),n=!!~M(u,"g"),r=!!~M(u,"u"),t.lastIndex=c(o.lastIndex),new B(t,i,n,r)};r({target:"String",proto:!0,forced:I},{matchAll:function(e){var t,n,r,i,a=s(this);if(d(e)){if(I)return T(a,e)}else{if(h(e)&&(t=l(s(v(e))),!~M(t,"g")))throw F("`.matchAll` does not allow non-global regexes");if(I)return T(a,e);if((r=m(e,C))===undefined&&D&&"RegExp"==p(e)&&(r=L),r)return o(r,e,a)}return n=l(a),i=new RegExp(e,"g"),D?o(L,i,n):i[C](n)}}),D||C in O||g(O,C,L)},38947:function(e,t,n){"use strict";var r=n(68609),o=n(3306),i=n(8782),a=n(92625),u=n(60780),s=n(39599),c=n(49290),l=n(87869),f=n(1491),d=n(84639);o("match",(function(e,t,n){return[function(t){var n=c(this),o=a(t)?undefined:l(t,e);return o?r(o,t,n):new RegExp(t)[e](s(n))},function(e){var r=i(this),o=s(e),a=n(t,r,o);if(a.done)return a.value;if(!r.global)return d(r,o);var c=r.unicode;r.lastIndex=0;for(var l,p=[],h=0;null!==(l=d(r,o));){var v=s(l[0]);p[h]=v,""===v&&(r.lastIndex=f(o,u(r.lastIndex),c)),h++}return 0===h?null:p}]}))},9436:function(e,t,n){"use strict";var r=n(65439),o=n(99335).end;r({target:"String",proto:!0,forced:n(8751)},{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},3741:function(e,t,n){"use strict";var r=n(65439),o=n(99335).start;r({target:"String",proto:!0,forced:n(8751)},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},94095:function(e,t,n){"use strict";var r=n(65439),o=n(38457),i=n(19091),a=n(39134),u=n(39599),s=n(83440),c=o([].push),l=o([].join);r({target:"String",stat:!0},{raw:function(e){for(var t=i(a(e).raw),n=s(t),r=arguments.length,o=[],f=0;n>f;){if(c(o,u(t[f++])),f===n)return l(o,"");fe.length?-1:""===t?n:y(e,t,n)};r({target:"String",proto:!0},{replaceAll:function(e,t){var n,r,i,h,_,D,C,k,A,S=a(this),N=0,O=0,F="";if(!s(e)){if((n=c(e))&&(r=l(a(d(e))),!~y(r,"g")))throw g("`.replaceAll` does not allow non-global regexes");if(i=f(e,m))return o(i,e,S,t);if(v&&n)return b(l(S),e,t)}for(h=l(S),_=l(e),(D=u(t))||(t=l(t)),C=_.length,k=w(1,C),N=E(h,_,0);-1!==N;)A=D?l(t(_,N,h)):p(_,h,N,[],undefined,t),F+=x(h,O,N)+A,O=N+C,N=E(h,_,N+k);return O=O&&(N+=C(u,O,T)+j,O=T+M.length)}return N+C(u,O)}]}),!!u((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}))||!k||A)},39704:function(e,t,n){"use strict";var r=n(68609),o=n(3306),i=n(8782),a=n(92625),u=n(49290),s=n(87091),c=n(39599),l=n(87869),f=n(84639);o("search",(function(e,t,n){return[function(t){var n=u(this),o=a(t)?undefined:l(t,e);return o?r(o,t,n):new RegExp(t)[e](c(n))},function(e){var r=i(this),o=c(e),a=n(t,r,o);if(a.done)return a.value;var u=r.lastIndex;s(u,0)||(r.lastIndex=0);var l=f(r,o);return s(r.lastIndex,u)||(r.lastIndex=u),null===l?-1:l.index}]}))},59732:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("small")},{small:function(){return o(this,"small","","")}})},36240:function(e,t,n){"use strict";var r=n(42177),o=n(68609),i=n(38457),a=n(3306),u=n(8782),s=n(92625),c=n(23939),l=n(49290),f=n(75693),d=n(1491),p=n(60780),h=n(39599),v=n(87869),m=n(51450),g=n(84639),y=n(34062),b=n(86325),x=n(3440),w=b.UNSUPPORTED_Y,E=4294967295,_=Math.min,D=[].push,C=i(/./.exec),k=i(D),A=i("".slice),S=!x((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));a("split",(function(e,t,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var i=h(l(this)),a=n===undefined?E:n>>>0;if(0===a)return[];if(e===undefined)return[i];if(!c(e))return o(t,i,e,a);for(var u,s,f,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),v=0,g=new RegExp(e.source,p+"g");(u=o(y,g,i))&&!((s=g.lastIndex)>v&&(k(d,A(i,v,u.index)),u.length>1&&u.index=a));)g.lastIndex===u.index&&g.lastIndex++;return v===i.length?!f&&C(g,"")||k(d,""):k(d,A(i,v)),d.length>a?m(d,0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:o(t,this,e,n)}:t,[function(t,n){var r=l(this),a=s(t)?undefined:v(t,e);return a?o(a,t,r,n):o(i,h(r),t,n)},function(e,r){var o=u(this),a=h(e),s=n(i,o,a,r,i!==t);if(s.done)return s.value;var c=f(o,RegExp),l=o.unicode,v=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(w?"g":"y"),m=new c(w?"^(?:"+o.source+")":o,v),y=r===undefined?E:r>>>0;if(0===y)return[];if(0===a.length)return null===g(m,a)?[a]:[];for(var b=0,x=0,D=[];x1?arguments[1]:undefined,t.length)),r=s(e);return p?p(t,r,n):h(t,n,n+r.length)===r}})},70796:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("strike")},{strike:function(){return o(this,"strike","","")}})},78800:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("sub")},{sub:function(){return o(this,"sub","","")}})},92421:function(e,t,n){"use strict";var r=n(65439),o=n(10782);r({target:"String",proto:!0,forced:n(86651)("sup")},{sup:function(){return o(this,"sup","","")}})},69534:function(e,t,n){"use strict";n(20640);var r=n(65439),o=n(91898);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==o},{trimEnd:o})},3716:function(e,t,n){"use strict";var r=n(65439),o=n(92368);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==o},{trimLeft:o})},20640:function(e,t,n){"use strict";var r=n(65439),o=n(91898);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==o},{trimRight:o})},73702:function(e,t,n){"use strict";n(3716);var r=n(65439),o=n(92368);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==o},{trimStart:o})},97713:function(e,t,n){"use strict";var r=n(65439),o=n(93842).trim;r({target:"String",proto:!0,forced:n(44082)("trim")},{trim:function(){return o(this)}})},45465:function(e,t,n){"use strict";n(68666)("asyncIterator")},73245:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(68609),a=n(38457),u=n(65787),s=n(4098),c=n(60265),l=n(3440),f=n(35821),d=n(52625),p=n(8782),h=n(19091),v=n(21266),m=n(39599),g=n(12311),y=n(8356),b=n(27911),x=n(86658),w=n(26661),E=n(13963),_=n(18593),D=n(92867),C=n(9672),k=n(70704),A=n(83972),S=n(71928),N=n(50331),O=n(94083),F=n(93054),M=n(42847),T=n(39479),I=n(68666),B=n(31572),L=n(13453),P=n(29017),j=n(40975).forEach,V=N("hidden"),R="Symbol",z="prototype",K=P.set,U=P.getterFor(R),Y=Object[z],H=o.Symbol,W=H&&H[z],$=o.TypeError,G=o.QObject,q=_.f,Z=D.f,X=w.f,Q=k.f,J=a([].push),ee=S("symbols"),te=S("op-symbols"),ne=S("wks"),re=!G||!G[z]||!G[z].findChild,oe=s&&l((function(){return 7!=y(Z({},"a",{get:function(){return Z(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=q(Y,t);r&&delete Y[t],Z(e,t,n),r&&e!==Y&&Z(Y,t,r)}:Z,ie=function(e,t){var n=ee[e]=y(W);return K(n,{type:R,tag:e,description:t}),s||(n.description=t),n},ae=function(e,t,n){e===Y&&ae(te,t,n),p(e);var r=v(t);return p(n),f(ee,r)?(n.enumerable?(f(e,V)&&e[V][r]&&(e[V][r]=!1),n=y(n,{enumerable:g(0,!1)})):(f(e,V)||Z(e,V,g(1,{})),e[V][r]=!0),oe(e,r,n)):Z(e,r,n)},ue=function(e,t){p(e);var n=h(t),r=b(n).concat(de(n));return j(r,(function(t){s&&!i(ce,n,t)||ae(e,t,n[t])})),e},se=function(e,t){return t===undefined?y(e):ue(y(e),t)},ce=function(e){var t=v(e),n=i(Q,this,t);return!(this===Y&&f(ee,t)&&!f(te,t))&&(!(n||!f(this,t)||!f(ee,t)||f(this,V)&&this[V][t])||n)},le=function(e,t){var n=h(e),r=v(t);if(n!==Y||!f(ee,r)||f(te,r)){var o=q(n,r);return!o||!f(ee,r)||f(n,V)&&n[V][r]||(o.enumerable=!0),o}},fe=function(e){var t=X(h(e)),n=[];return j(t,(function(e){f(ee,e)||f(O,e)||J(n,e)})),n},de=function(e){var t=e===Y,n=X(t?te:h(e)),r=[];return j(n,(function(e){!f(ee,e)||t&&!f(Y,e)||J(r,ee[e])})),r};c||(H=function(){if(d(W,this))throw $("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?m(arguments[0]):undefined,t=F(e),n=function r(e){this===Y&&i(r,te,e),f(this,V)&&f(this[V],t)&&(this[V][t]=!1),oe(this,t,g(1,e))};return s&&re&&oe(Y,t,{configurable:!0,set:n}),ie(t,e)},A(W=H[z],"toString",(function(){return U(this).tag})),A(H,"withoutSetter",(function(e){return ie(F(e),e)})),k.f=ce,D.f=ae,C.f=ue,_.f=le,x.f=w.f=fe,E.f=de,T.f=function(e){return ie(M(e),e)},s&&(Z(W,"description",{configurable:!0,get:function(){return U(this).description}}),u||A(Y,"propertyIsEnumerable",ce,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:H}),j(b(ne),(function(e){I(e)})),r({target:R,stat:!0,forced:!c},{useSetter:function(){re=!0},useSimple:function(){re=!1}}),r({target:"Object",stat:!0,forced:!c,sham:!s},{create:se,defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:le}),r({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:fe}),B(),L(H,R),O[V]=!0},12231:function(e,t,n){"use strict";var r=n(65439),o=n(4098),i=n(25511),a=n(38457),u=n(35821),s=n(48609),c=n(52625),l=n(39599),f=n(92867).f,d=n(25361),p=i.Symbol,h=p&&p.prototype;if(o&&s(p)&&(!("description"in h)||p().description!==undefined)){var v={},m=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:l(arguments[0]),t=c(h,this)?new p(e):e===undefined?p():p(e);return""===e&&(v[t]=!0),t};d(m,p),m.prototype=h,h.constructor=m;var g="Symbol(test)"==String(p("test")),y=a(h.valueOf),b=a(h.toString),x=/^Symbol\((.*)\)[^)]+$/,w=a("".replace),E=a("".slice);f(h,"description",{configurable:!0,get:function(){var e=y(this);if(u(v,e))return"";var t=b(e),n=g?E(t,7,-1):w(t,x,"$1");return""===n?undefined:n}}),r({global:!0,constructor:!0,forced:!0},{Symbol:m})}},11418:function(e,t,n){"use strict";var r=n(65439),o=n(53242),i=n(35821),a=n(39599),u=n(71928),s=n(47862),c=u("string-to-symbol-registry"),l=u("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!s},{"for":function(e){var t=a(e);if(i(c,t))return c[t];var n=o("Symbol")(t);return c[t]=n,l[n]=t,n}})},80407:function(e,t,n){"use strict";n(68666)("hasInstance")},30414:function(e,t,n){"use strict";n(68666)("isConcatSpreadable")},70890:function(e,t,n){"use strict";n(68666)("iterator")},92414:function(e,t,n){"use strict";n(73245),n(11418),n(49590),n(282),n(31656)},49590:function(e,t,n){"use strict";var r=n(65439),o=n(35821),i=n(32437),a=n(29141),u=n(71928),s=n(47862),c=u("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!s},{keyFor:function(e){if(!i(e))throw TypeError(a(e)+" is not a symbol");if(o(c,e))return c[e]}})},75712:function(e,t,n){"use strict";n(68666)("matchAll")},20926:function(e,t,n){"use strict";n(68666)("match")},93604:function(e,t,n){"use strict";n(68666)("replace")},62278:function(e,t,n){"use strict";n(68666)("search")},76494:function(e,t,n){"use strict";n(68666)("species")},76685:function(e,t,n){"use strict";n(68666)("split")},24200:function(e,t,n){"use strict";var r=n(68666),o=n(31572);r("toPrimitive"),o()},75914:function(e,t,n){"use strict";var r=n(53242),o=n(68666),i=n(13453);o("toStringTag"),i(r("Symbol"),"Symbol")},14965:function(e,t,n){"use strict";n(68666)("unscopables")},37313:function(e,t,n){"use strict";var r=n(38457),o=n(89746),i=r(n(96833)),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return i(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},93349:function(e,t,n){"use strict";var r=n(89746),o=n(40975).every,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("every",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},13317:function(e,t,n){"use strict";var r=n(89746),o=n(7381),i=n(3114),a=n(13149),u=n(68609),s=n(38457),c=n(3440),l=r.aTypedArray,f=r.exportTypedArrayMethod,d=s("".slice);f("fill",(function(e){var t=arguments.length;l(this);var n="Big"===d(a(this),0,3)?i(e):+e;return u(o,this,n,t>1?arguments[1]:undefined,t>2?arguments[2]:undefined)}),c((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})))},23238:function(e,t,n){"use strict";var r=n(89746),o=n(40975).filter,i=n(43657),a=r.aTypedArray;(0,r.exportTypedArrayMethod)("filter",(function(e){var t=o(a(this),e,arguments.length>1?arguments[1]:undefined);return i(this,t)}))},92404:function(e,t,n){"use strict";var r=n(89746),o=n(40975).findIndex,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("findIndex",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},84904:function(e,t,n){"use strict";var r=n(89746),o=n(40975).find,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("find",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},24953:function(e,t,n){"use strict";n(63541)("Float32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},80733:function(e,t,n){"use strict";n(63541)("Float64",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},97248:function(e,t,n){"use strict";var r=n(89746),o=n(40975).forEach,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},54272:function(e,t,n){"use strict";var r=n(1187);(0,n(89746).exportTypedArrayStaticMethod)("from",n(68071),r)},49836:function(e,t,n){"use strict";var r=n(89746),o=n(16077).includes,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("includes",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},83200:function(e,t,n){"use strict";var r=n(89746),o=n(16077).indexOf,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("indexOf",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},64249:function(e,t,n){"use strict";n(63541)("Int16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},27744:function(e,t,n){"use strict";n(63541)("Int32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},72781:function(e,t,n){"use strict";n(63541)("Int8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},95012:function(e,t,n){"use strict";var r=n(25511),o=n(3440),i=n(38457),a=n(89746),u=n(20452),s=n(42847)("iterator"),c=r.Uint8Array,l=i(u.values),f=i(u.keys),d=i(u.entries),p=a.aTypedArray,h=a.exportTypedArrayMethod,v=c&&c.prototype,m=!o((function(){v[s].call([1])})),g=!!v&&v.values&&v[s]===v.values&&"values"===v.values.name,y=function(){return l(p(this))};h("entries",(function(){return d(p(this))}),m),h("keys",(function(){return f(p(this))}),m),h("values",y,m||!g,{name:"values"}),h(s,y,m||!g,{name:"values"})},55430:function(e,t,n){"use strict";var r=n(89746),o=n(38457),i=r.aTypedArray,a=r.exportTypedArrayMethod,u=o([].join);a("join",(function(e){return u(i(this),e)}))},32194:function(e,t,n){"use strict";var r=n(89746),o=n(42177),i=n(10303),a=r.aTypedArray;(0,r.exportTypedArrayMethod)("lastIndexOf",(function(e){var t=arguments.length;return o(i,a(this),t>1?[e,arguments[1]]:[e])}))},24793:function(e,t,n){"use strict";var r=n(89746),o=n(40975).map,i=n(35927),a=r.aTypedArray;(0,r.exportTypedArrayMethod)("map",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(i(e))(t)}))}))},94098:function(e,t,n){"use strict";var r=n(89746),o=n(1187),i=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(i(this))(t);t>e;)n[e]=arguments[e++];return n}),o)},13917:function(e,t,n){"use strict";var r=n(89746),o=n(55202).right,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduceRight",(function(e){var t=arguments.length;return o(i(this),e,t,t>1?arguments[1]:undefined)}))},15882:function(e,t,n){"use strict";var r=n(89746),o=n(55202).left,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduce",(function(e){var t=arguments.length;return o(i(this),e,t,t>1?arguments[1]:undefined)}))},15883:function(e,t,n){"use strict";var r=n(89746),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var e,t=this,n=o(t).length,r=a(n/2),i=0;i1?arguments[1]:undefined,1),n=s(e);if(m)return o(p,this,n,t);var r=this.length,i=a(n),c=0;if(i+t>r)throw l("Wrong length");for(;ci;)c[i]=n[i++];return c}),i((function(){new Int8Array(1).slice()})))},21040:function(e,t,n){"use strict";var r=n(89746),o=n(40975).some,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("some",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},48106:function(e,t,n){"use strict";var r=n(25511),o=n(42481),i=n(3440),a=n(79030),u=n(89497),s=n(89746),c=n(98861),l=n(79920),f=n(88088),d=n(51737),p=s.aTypedArray,h=s.exportTypedArrayMethod,v=r.Uint16Array,m=v&&o(v.prototype.sort),g=!(!m||i((function(){m(new v(2),null)}))&&i((function(){m(new v(2),{})}))),y=!!m&&!i((function(){if(f)return f<74;if(c)return c<67;if(l)return!0;if(d)return d<602;var e,t,n=new v(516),r=Array(516);for(e=0;e<516;e++)t=e%4,n[e]=515-e,r[e]=e-2*t+3;for(m(n,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(n[e]!==r[e])return!0}));h("sort",(function(e){return e!==undefined&&a(e),y?m(this,e):u(p(this),function(e){return function(t,n){return e!==undefined?+e(t,n)||0:n!=n?-1:t!=t?1:0===t&&0===n?1/t>0&&1/n<0?1:-1:t>n}}(e))}),!y||g)},50140:function(e,t,n){"use strict";var r=n(89746),o=n(60780),i=n(46085),a=n(35927),u=r.aTypedArray;(0,r.exportTypedArrayMethod)("subarray",(function(e,t){var n=u(this),r=n.length,s=i(e,r);return new(a(n))(n.buffer,n.byteOffset+s*n.BYTES_PER_ELEMENT,o((t===undefined?r:i(t,r))-s))}))},95577:function(e,t,n){"use strict";var r=n(25511),o=n(42177),i=n(89746),a=n(3440),u=n(92098),s=r.Int8Array,c=i.aTypedArray,l=i.exportTypedArrayMethod,f=[].toLocaleString,d=!!s&&a((function(){f.call(new s(1))}));l("toLocaleString",(function(){return o(f,d?u(c(this)):c(this),u(arguments))}),a((function(){return[1,2].toLocaleString()!=new s([1,2]).toLocaleString()}))||!a((function(){s.prototype.toLocaleString.call([1,2])})))},66325:function(e,t,n){"use strict";var r=n(89746).exportTypedArrayMethod,o=n(3440),i=n(25511),a=n(38457),u=i.Uint8Array,s=u&&u.prototype||{},c=[].toString,l=a([].join);o((function(){c.call({})}))&&(c=function(){return l(this)});var f=s.toString!=c;r("toString",c,f)},5546:function(e,t,n){"use strict";n(63541)("Uint16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},31233:function(e,t,n){"use strict";n(63541)("Uint32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},85862:function(e,t,n){"use strict";n(63541)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},13802:function(e,t,n){"use strict";n(63541)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},86023:function(e,t,n){"use strict";var r,o=n(14097),i=n(25511),a=n(38457),u=n(83856),s=n(94986),c=n(18207),l=n(94034),f=n(46840),d=n(29017).enforce,p=n(3440),h=n(26942),v=Object,m=Array.isArray,g=v.isExtensible,y=v.isFrozen,b=v.isSealed,x=v.freeze,w=v.seal,E={},_={},D=!i.ActiveXObject&&"ActiveXObject"in i,C=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},k=c("WeakMap",C,l),A=k.prototype,S=a(A.set);if(h)if(D){r=l.getConstructor(C,"WeakMap",!0),s.enable();var N=a(A["delete"]),O=a(A.has),F=a(A.get);u(A,{"delete":function(e){if(f(e)&&!g(e)){var t=d(this);return t.frozen||(t.frozen=new r),N(this,e)||t.frozen["delete"](e)}return N(this,e)},has:function(e){if(f(e)&&!g(e)){var t=d(this);return t.frozen||(t.frozen=new r),O(this,e)||t.frozen.has(e)}return O(this,e)},get:function(e){if(f(e)&&!g(e)){var t=d(this);return t.frozen||(t.frozen=new r),O(this,e)?F(this,e):t.frozen.get(e)}return F(this,e)},set:function(e,t){if(f(e)&&!g(e)){var n=d(this);n.frozen||(n.frozen=new r),O(this,e)?S(this,e,t):n.frozen.set(e,t)}else S(this,e,t);return this}})}else o&&p((function(){var e=x([]);return S(new k,e,1),!y(e)}))&&u(A,{set:function(e,t){var n;return m(e)&&(y(e)?n=E:b(e)&&(n=_)),S(this,e,t),n==E&&x(e),n==_&&w(e),this}})},13989:function(e,t,n){"use strict";n(86023)},48989:function(e,t,n){"use strict";n(18207)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(94034))},89330:function(e,t,n){"use strict";n(48989)},24053:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(3017).clear;r({global:!0,bind:!0,enumerable:!0,forced:o.clearImmediate!==i},{clearImmediate:i})},69207:function(e,t,n){"use strict";n(24053),n(72357)},24288:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(5934),a=n(79030),u=n(44020),s=n(68173),c=o.process;r({global:!0,enumerable:!0,dontCallGetSet:!0},{queueMicrotask:function(e){u(arguments.length,1),a(e);var t=s&&c.domain;i(t?t.bind(e):e)}})},72357:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(3017).set,a=n(23852),u=o.setImmediate?a(i,!1):i;r({global:!0,bind:!0,enumerable:!0,forced:o.setImmediate!==u},{setImmediate:u})},39514:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(23852)(o.setInterval,!0);r({global:!0,bind:!0,forced:o.setInterval!==i},{setInterval:i})},78402:function(e,t,n){"use strict";var r=n(65439),o=n(25511),i=n(23852)(o.setTimeout,!0);r({global:!0,bind:!0,forced:o.setTimeout!==i},{setTimeout:i})},50010:function(e,t,n){"use strict";n(39514),n(78402)},90928:function(e,t,n){"use strict";var r;function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}!function(i){var a,u,s,c=arguments,l=(a=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,u=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,s=/[^-+\dA-Z]/g,function(e,t,n,r){if(1!==c.length||"string"!==v(e)||/\d/.test(e)||(t=e,e=undefined),(e=e||0===e?e:new Date)instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");var o=(t=String(l.masks[t]||t||l.masks["default"])).slice(0,4);"UTC:"!==o&&"GMT:"!==o||(t=t.slice(4),n=!0,"GMT:"===o&&(r=!0));var i=function(){return n?"getUTC":"get"},m=function(){return e[i()+"Date"]()},g=function(){return e[i()+"Day"]()},y=function(){return e[i()+"Month"]()},b=function(){return e[i()+"FullYear"]()},x=function(){return e[i()+"Hours"]()},w=function(){return e[i()+"Minutes"]()},E=function(){return e[i()+"Seconds"]()},_=function(){return e[i()+"Milliseconds"]()},D=function(){return n?0:e.getTimezoneOffset()},C=function(){return p(e)},k=function(){return h(e)},A={d:function(){return m()},dd:function(){return f(m())},ddd:function(){return l.i18n.dayNames[g()]},DDD:function(){return d({y:b(),m:y(),d:m(),_:i(),dayName:l.i18n.dayNames[g()],short:!0})},dddd:function(){return l.i18n.dayNames[g()+7]},DDDD:function(){return d({y:b(),m:y(),d:m(),_:i(),dayName:l.i18n.dayNames[g()+7]})},m:function(){return y()+1},mm:function(){return f(y()+1)},mmm:function(){return l.i18n.monthNames[y()]},mmmm:function(){return l.i18n.monthNames[y()+12]},yy:function(){return String(b()).slice(2)},yyyy:function(){return f(b(),4)},h:function(){return x()%12||12},hh:function(){return f(x()%12||12)},H:function(){return x()},HH:function(){return f(x())},M:function(){return w()},MM:function(){return f(w())},s:function(){return E()},ss:function(){return f(E())},l:function(){return f(_(),3)},L:function(){return f(Math.floor(_()/10))},t:function(){return x()<12?l.i18n.timeNames[0]:l.i18n.timeNames[1]},tt:function(){return x()<12?l.i18n.timeNames[2]:l.i18n.timeNames[3]},T:function(){return x()<12?l.i18n.timeNames[4]:l.i18n.timeNames[5]},TT:function(){return x()<12?l.i18n.timeNames[6]:l.i18n.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":(String(e).match(u)||[""]).pop().replace(s,"").replace(/GMT\+0000/g,"UTC")},o:function(){return(D()>0?"-":"+")+f(100*Math.floor(Math.abs(D())/60)+Math.abs(D())%60,4)},p:function(){return(D()>0?"-":"+")+f(Math.floor(Math.abs(D())/60),2)+":"+f(Math.floor(Math.abs(D())%60),2)},S:function(){return["th","st","nd","rd"][m()%10>3?0:(m()%100-m()%10!=10)*m()%10]},W:function(){return C()},WW:function(){return f(C())},N:function(){return k()}};return t.replace(a,(function(e){return e in A?A[e]():e.slice(1,e.length-1)}))});l.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},l.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]};var f=function(e,t){for(e=String(e),t=t||2;e.lengthe.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?n-1:0),o=1;o/gm),Z=m(/\${[\w\W]*}/gm),X=m(/^data-[\-\w.\u00B7-\uFFFF]/),Q=m(/^aria-[\-\w]+$/),J=m(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ee=m(/^(?:\w+script|data):/i),te=m(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ne=m(/^html$/i),re=function(){function e(){return"undefined"==typeof window?null:window}return e}(),oe=function(){function t(t,n){if("object"!==e(t)||"function"!=typeof t.createPolicy)return null;var r=null,o="data-tt-policy-suffix";n.currentScript&&n.currentScript.hasAttribute(o)&&(r=n.currentScript.getAttribute(o));var i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML:function(){function e(e){return e}return e}(),createScriptURL:function(){function e(e){return e}return e}()})}catch(a){return null}}return t}();function ie(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:re(),n=function(){function e(e){return ie(e)}return e}();if(n.version="2.4.3",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,i=t.document,a=t.DocumentFragment,u=t.HTMLTemplateElement,s=t.Node,c=t.Element,l=t.NodeFilter,f=t.NamedNodeMap,d=void 0===f?t.NamedNodeMap||t.MozNamedAttrMap:f,p=t.HTMLFormElement,h=t.DOMParser,m=t.trustedTypes,g=c.prototype,y=L(g,"cloneNode"),b=L(g,"nextSibling"),x=L(g,"childNodes"),M=L(g,"parentNode");if("function"==typeof u){var T=i.createElement("template");T.content&&T.content.ownerDocument&&(i=T.content.ownerDocument)}var ae=oe(m,r),ue=ae?ae.createHTML(""):"",se=i,ce=se.implementation,le=se.createNodeIterator,fe=se.createDocumentFragment,de=se.getElementsByTagName,pe=r.importNode,he={};try{he=B(i).documentMode?i.documentMode:{}}catch(Mt){}var ve={};n.isSupported="function"==typeof M&&ce&&"undefined"!=typeof ce.createHTMLDocument&&9!==he;var me,ge,ye=G,be=q,xe=Z,we=X,Ee=Q,_e=ee,De=te,Ce=J,ke=null,Ae=I({},[].concat(o(P),o(j),o(V),o(z),o(U))),Se=null,Ne=I({},[].concat(o(Y),o(H),o(W),o($))),Oe=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Fe=null,Me=null,Te=!0,Ie=!0,Be=!1,Le=!1,Pe=!1,je=!1,Ve=!1,Re=!1,ze=!1,Ke=!1,Ue=!0,Ye=!1,He="user-content-",We=!0,$e=!1,Ge={},qe=null,Ze=I({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Xe=null,Qe=I({},["audio","video","img","source","image","track"]),Je=null,et=I({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tt="http://www.w3.org/1998/Math/MathML",nt="http://www.w3.org/2000/svg",rt="http://www.w3.org/1999/xhtml",ot=rt,it=!1,at=null,ut=I({},[tt,nt,rt],C),st=["application/xhtml+xml","text/html"],ct="text/html",lt=null,ft=i.createElement("form"),dt=function(){function e(e){return e instanceof RegExp||e instanceof Function}return e}(),pt=function(){function t(t){lt&<===t||(t&&"object"===e(t)||(t={}),t=B(t),me=me=-1===st.indexOf(t.PARSER_MEDIA_TYPE)?ct:t.PARSER_MEDIA_TYPE,ge="application/xhtml+xml"===me?C:D,ke="ALLOWED_TAGS"in t?I({},t.ALLOWED_TAGS,ge):Ae,Se="ALLOWED_ATTR"in t?I({},t.ALLOWED_ATTR,ge):Ne,at="ALLOWED_NAMESPACES"in t?I({},t.ALLOWED_NAMESPACES,C):ut,Je="ADD_URI_SAFE_ATTR"in t?I(B(et),t.ADD_URI_SAFE_ATTR,ge):et,Xe="ADD_DATA_URI_TAGS"in t?I(B(Qe),t.ADD_DATA_URI_TAGS,ge):Qe,qe="FORBID_CONTENTS"in t?I({},t.FORBID_CONTENTS,ge):Ze,Fe="FORBID_TAGS"in t?I({},t.FORBID_TAGS,ge):{},Me="FORBID_ATTR"in t?I({},t.FORBID_ATTR,ge):{},Ge="USE_PROFILES"in t&&t.USE_PROFILES,Te=!1!==t.ALLOW_ARIA_ATTR,Ie=!1!==t.ALLOW_DATA_ATTR,Be=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Le=t.SAFE_FOR_TEMPLATES||!1,Pe=t.WHOLE_DOCUMENT||!1,Re=t.RETURN_DOM||!1,ze=t.RETURN_DOM_FRAGMENT||!1,Ke=t.RETURN_TRUSTED_TYPE||!1,Ve=t.FORCE_BODY||!1,Ue=!1!==t.SANITIZE_DOM,Ye=t.SANITIZE_NAMED_PROPS||!1,We=!1!==t.KEEP_CONTENT,$e=t.IN_PLACE||!1,Ce=t.ALLOWED_URI_REGEXP||Ce,ot=t.NAMESPACE||rt,t.CUSTOM_ELEMENT_HANDLING&&dt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Oe.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&dt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Oe.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Oe.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Le&&(Ie=!1),ze&&(Re=!0),Ge&&(ke=I({},o(U)),Se=[],!0===Ge.html&&(I(ke,P),I(Se,Y)),!0===Ge.svg&&(I(ke,j),I(Se,H),I(Se,$)),!0===Ge.svgFilters&&(I(ke,V),I(Se,H),I(Se,$)),!0===Ge.mathMl&&(I(ke,z),I(Se,W),I(Se,$))),t.ADD_TAGS&&(ke===Ae&&(ke=B(ke)),I(ke,t.ADD_TAGS,ge)),t.ADD_ATTR&&(Se===Ne&&(Se=B(Se)),I(Se,t.ADD_ATTR,ge)),t.ADD_URI_SAFE_ATTR&&I(Je,t.ADD_URI_SAFE_ATTR,ge),t.FORBID_CONTENTS&&(qe===Ze&&(qe=B(qe)),I(qe,t.FORBID_CONTENTS,ge)),We&&(ke["#text"]=!0),Pe&&I(ke,["html","head","body"]),ke.table&&(I(ke,["tbody"]),delete Fe.tbody),v&&v(t),lt=t)}return t}(),ht=I({},["mi","mo","mn","ms","mtext"]),vt=I({},["foreignobject","desc","title","annotation-xml"]),mt=I({},["title","style","font","a","script"]),gt=I({},j);I(gt,V),I(gt,R);var yt=I({},z);I(yt,K);var bt=function(){function e(e){var t=M(e);t&&t.tagName||(t={namespaceURI:ot,tagName:"template"});var n=D(e.tagName),r=D(t.tagName);return!!at[e.namespaceURI]&&(e.namespaceURI===nt?t.namespaceURI===rt?"svg"===n:t.namespaceURI===tt?"svg"===n&&("annotation-xml"===r||ht[r]):Boolean(gt[n]):e.namespaceURI===tt?t.namespaceURI===rt?"math"===n:t.namespaceURI===nt?"math"===n&&vt[r]:Boolean(yt[n]):e.namespaceURI===rt?!(t.namespaceURI===nt&&!vt[r])&&!(t.namespaceURI===tt&&!ht[r])&&!yt[n]&&(mt[n]||!gt[n]):!("application/xhtml+xml"!==me||!at[e.namespaceURI]))}return e}(),xt=function(){function e(e){_(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(Mt){try{e.outerHTML=ue}catch(Mt){e.remove()}}}return e}(),wt=function(){function e(e,t){try{_(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(Mt){_(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Se[e])if(Re||ze)try{xt(t)}catch(Mt){}else try{t.setAttribute(e,"")}catch(Mt){}}return e}(),Et=function(){function e(e){var t,n;if(Ve)e=""+e;else{var r=k(e,/^[\r\n\t ]+/);n=r&&r[0]}"application/xhtml+xml"===me&&ot===rt&&(e=''+e+"");var o=ae?ae.createHTML(e):e;if(ot===rt)try{t=(new h).parseFromString(o,me)}catch(Mt){}if(!t||!t.documentElement){t=ce.createDocument(ot,"template",null);try{t.documentElement.innerHTML=it?ue:o}catch(Mt){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(i.createTextNode(n),a.childNodes[0]||null),ot===rt?de.call(t,Pe?"html":"body")[0]:Pe?t.documentElement:a}return e}(),_t=function(){function e(e){return le.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)}return e}(),Dt=function(){function e(e){return e instanceof p&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof d)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)}return e}(),Ct=function(){function t(t){return"object"===e(s)?t instanceof s:t&&"object"===e(t)&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}return t}(),kt=function(){function e(e,t,r){ve[e]&&w(ve[e],(function(e){e.call(n,t,r,lt)}))}return e}(),At=function(){function e(e){var t;if(kt("beforeSanitizeElements",e,null),Dt(e))return xt(e),!0;if(O(/[\u0080-\uFFFF]/,e.nodeName))return xt(e),!0;var r=ge(e.nodeName);if(kt("uponSanitizeElement",e,{tagName:r,allowedTags:ke}),e.hasChildNodes()&&!Ct(e.firstElementChild)&&(!Ct(e.content)||!Ct(e.content.firstElementChild))&&O(/<[/\w]/g,e.innerHTML)&&O(/<[/\w]/g,e.textContent))return xt(e),!0;if("select"===r&&O(/