it compiles, that's better than it not compiling, right?

This commit is contained in:
Pinta
2024-03-24 06:36:59 -04:00
parent d46cf2d981
commit 63009681fa
452 changed files with 1046 additions and 987 deletions

View File

@@ -5,14 +5,14 @@
#define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB"
#define RUSTG_JOB_ERROR "JOB PANICKED"
#define rustg_dmi_strip_metadata(fname) call(RUST_G, "dmi_strip_metadata")(fname)
#define rustg_dmi_create_png(fname,width,height,data) call(RUST_G, "dmi_create_png")(fname,width,height,data)
#define rustg_dmi_strip_metadata(fname) LIBCALL(RUST_G, "dmi_strip_metadata")(fname)
#define rustg_dmi_create_png(fname,width,height,data) LIBCALL(RUST_G, "dmi_create_png")(fname,width,height,data)
#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_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")()
// RUST-G defines & procs for HTTP component
#define RUSTG_HTTP_METHOD_GET "get"
@@ -22,6 +22,6 @@
#define RUSTG_HTTP_METHOD_PATCH "patch"
#define RUSTG_HTTP_METHOD_HEAD "head"
#define rustg_http_request_blocking(method, url, body, headers) call(RUST_G, "http_request_blocking")(method, url, body, headers)
#define rustg_http_request_async(method, url, body, headers) call(RUST_G, "http_request_async")(method, url, body, headers)
#define rustg_http_check_request(req_id) call(RUST_G, "http_check_request")(req_id)
#define rustg_http_request_blocking(method, url, body, headers) LIBCALL(RUST_G, "http_request_blocking")(method, url, body, headers)
#define rustg_http_request_async(method, url, body, headers) LIBCALL(RUST_G, "http_request_async")(method, url, body, headers)
#define rustg_http_check_request(req_id) LIBCALL(RUST_G, "http_check_request")(req_id)

View File

@@ -383,7 +383,7 @@
/proc/flick_overlay(image/I, list/show_to, duration)
for(var/client/C in show_to)
C.images += I
addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_images_from_clients, I, show_to), duration, TIMER_CLIENT_TIME)
addtimer(CALLBACK(GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration, TIMER_CLIENT_TIME)
/proc/flick_overlay_view(image/I, atom/target, duration) //wrapper for the above, flicks to everyone who can see the target atom
var/list/viewing = list()

15
code/__HELPERS/nameof.dm Normal file
View File

@@ -0,0 +1,15 @@
/**
* 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)
/**
* 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

View File

@@ -1,8 +1,8 @@
#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE)
#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE)
#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
#define QDEL_NULL(item) qdel(item); item = null
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }
#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE)
#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC_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(); }

View File

@@ -1476,12 +1476,9 @@ 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
#define NAMEOF(datum, X) (#X || ##datum.##X)
#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##target, ##var_name, ##var_value)
#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value)
//dupe code because dm can't handle 3 level deep macros
#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##datum, NAMEOF(##datum, ##var), ##var_value)
#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value)
/proc/___callbackvarset(list_or_datum, var_name, var_value)
if(length(list_or_datum))

View File

@@ -0,0 +1,53 @@
// 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 1556
#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 procs exist on local type, unfortunately 515 killed the .proc/procname syntax so we have to use nameof()
#if DM_VERSION < 515
/// Call by name proc reference, checks if the proc exists on 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 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 existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)
#else
/// Call by name proc reference, checks if the proc exists on 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 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 existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)
#endif

View File

@@ -31,14 +31,6 @@
#define FORCE_MAP "_maps/runtimestation.json"
#endif
//Update this whenever you need to take advantage of more recent byond features
#define MIN_COMPILER_VERSION 512
#if DM_VERSION < MIN_COMPILER_VERSION
//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 512 or higher
#endif
//Compatability -- These procs were added in 513.1493, not 513.1490
//Which really shoulda bumped us up to 514 right then and there but instead Lummox is a dumb dumb
#if DM_BUILD < 1493

View File

@@ -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

View File

@@ -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

View File

@@ -29,7 +29,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

View File

@@ -146,7 +146,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.Invoke()
else

View File

@@ -42,7 +42,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

View File

@@ -149,7 +149,7 @@
var/good_update = istext(new_value)
log_config("Entry [entry] is deprecated and will be removed soon. Migrate to [new_ver.name]![good_update ? " Suggested new value is: [new_value]" : ""]")
if(!warned_deprecated_configs)
addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, "This server is using deprecated configuration settings. Please check the logs and update accordingly."), 0)
addtimer(CALLBACK(GLOBAL_PROC_REF(message_admins), "This server is using deprecated configuration settings. Please check the logs and update accordingly."), 0)
warned_deprecated_configs = TRUE
if(good_update)
value = new_value

View File

@@ -14,5 +14,5 @@ SUBSYSTEM_DEF(assets)
preload = cache.Copy() //don't preload assets generated during the round
for(var/client/C in GLOB.clients)
addtimer(CALLBACK(GLOBAL_PROC, .proc/getFilesSlow, C, preload, FALSE), 10)
addtimer(CALLBACK(GLOBAL_PROC_REF(getFilesSlow), C, preload, FALSE), 10)
..()

View File

@@ -561,7 +561,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)

View File

@@ -131,7 +131,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

View File

@@ -149,7 +149,7 @@ SUBSYSTEM_DEF(pai)
if(!(ROLE_PAI in G.client?.prefs?.be_special))
continue
to_chat(G, "<span class='ghostalert'>[user] is requesting a pAI personality! Use the pAI button to submit yourself as one.</span>")
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))

View File

@@ -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

View File

@@ -156,7 +156,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

View File

@@ -405,7 +405,7 @@ SUBSYSTEM_DEF(ticker)
living.client.init_verbs()
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)
/datum/controller/subsystem/ticker/proc/release_characters(list/livings)
for(var/I in livings)
@@ -464,7 +464,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
SSvote.initiate_vote("map","server",TRUE)
@@ -609,7 +609,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"))

View File

@@ -259,7 +259,7 @@ SUBSYSTEM_DEF(timer)
if (!length(alltimers))
return
sortTim(alltimers, .proc/cmp_timer)
sortTim(alltimers,PROC_REF(cmp_timer))
var/datum/timedevent/head = alltimers[1]

View File

@@ -55,7 +55,7 @@ SUBSYSTEM_DEF(vis_overlays)
if(!thing.managed_vis_overlays)
thing.managed_vis_overlays = list(overlay)
RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_vis_overlay)
RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE,PROC_REF(rotate_vis_overlay))
else
thing.managed_vis_overlays += overlay

View File

@@ -31,7 +31,7 @@ SUBSYSTEM_DEF(weather)
run_weather(W, list(text2num(z)))
eligible_zlevels -= z
var/randTime = rand(3000, 6000)
addtimer(CALLBACK(src, .proc/make_eligible, z, possible_weather), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 5-10 minutes between weathers
addtimer(CALLBACK(src,PROC_REF(make_eligible), z, possible_weather), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 5-10 minutes between weathers
next_hit_by_zlevel["[z]"] = world.time + randTime + initial(W.telegraph_duration)
/datum/controller/subsystem/weather/Initialize(start_timeofday)

View File

@@ -62,13 +62,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
@@ -161,5 +161,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

View File

@@ -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)

View File

@@ -23,7 +23,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()
..()
@@ -174,7 +174,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_REF(flick_overlay), MA, list(owner.client), 30)
for(var/mob/M in GLOB.dead_mob_list)
var/link = FOLLOW_LINK(M, owner)

View File

@@ -87,7 +87,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 class='phobia'>$1</span>")
break

View File

@@ -182,7 +182,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)
@@ -226,7 +226,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)

View File

@@ -216,7 +216,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))

View File

@@ -33,7 +33,7 @@
when the above doesn't apply:
.proc/procname
Example:
CALLBACK(src, .proc/some_proc_here)
CALLBACK(src,PROC_REF(some_proc_here))
proc defined on a parent of a some type:
/some/type/.proc/some_proc_here

View File

@@ -43,7 +43,7 @@
stack_trace("/datum/chatmessage created with [isnull(owner) ? "null" : "invalid"] mob owner")
qdel(src)
return
INVOKE_ASYNC(src, .proc/generate_image, text, target, owner, extra_classes, lifespan)
INVOKE_ASYNC(src,PROC_REF(generate_image), text, target, owner, extra_classes, lifespan)
/datum/chatmessage/Destroy()
if (owned_by)
@@ -76,7 +76,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
@@ -133,7 +133,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)
@@ -153,7 +153,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

View File

@@ -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)

View File

@@ -16,8 +16,8 @@
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_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

View File

@@ -9,9 +9,9 @@
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(_maxamount)
maxamount = _maxamount

View File

@@ -9,13 +9,13 @@
/datum/component/art/Initialize(impress)
impressiveness = impress
if(isobj(parent))
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_obj_examine)
RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(on_obj_examine))
else
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_other_examine)
RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(on_other_examine))
if(isstructure(parent))
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/on_attack_hand)
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND,PROC_REF(on_attack_hand))
if(isitem(parent))
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/apply_moodlet)
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF,PROC_REF(apply_moodlet))
/datum/component/art/proc/apply_moodlet(mob/M, impress)
M.visible_message("<span class='notice'>[M] stops and looks intently at [parent].</span>", \

View File

@@ -18,10 +18,10 @@
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()
UnregisterSignal(parent, bounce_signals)

View File

@@ -12,7 +12,7 @@
probability = _probability
flags = _flags
RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED), .proc/Crossed)
RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED),PROC_REF(Crossed))
/datum/component/caltrop/proc/Crossed(datum/source, atom/movable/AM)
var/atom/A = parent

View File

@@ -31,7 +31,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
@@ -64,7 +64,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

View File

@@ -15,7 +15,7 @@
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine)
RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(examine))
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,.proc/action)
update_parent(index)

View File

@@ -1,7 +1,7 @@
/datum/component/personal_crafting/Initialize()
if(!ismob(parent))
return COMPONENT_INCOMPATIBLE
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
@@ -9,7 +9,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

View File

@@ -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/proc/get_examine_name(datum/source, mob/user, list/override)
var/atom/A = parent

View File

@@ -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

View File

@@ -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(datum/source, severity)
return flags

View File

@@ -8,7 +8,7 @@
return COMPONENT_INCOMPATIBLE
volume = volume_
e_range = e_range_
RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/play_footstep)
RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED),PROC_REF(play_footstep))
/datum/component/footstep/proc/play_footstep()
var/turf/open/T = get_turf(parent)

View File

@@ -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

View File

@@ -15,19 +15,19 @@
if(!ismovable(parent) && !isfloorturf(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_ATOM_ENTERED, .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_ATOM_ENTERED,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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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(ismovableatom(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)

View File

@@ -37,8 +37,8 @@
precondition = _precondition
after_insert = _after_insert
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy)
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine)
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,PROC_REF(OnAttackBy))
RegisterSignal(parent, COMSIG_PARENT_EXAMINE,PROC_REF(OnExamine))
var/list/possible_mats = list()
for(var/mat_type in subtypesof(/datum/material))

View File

@@ -20,12 +20,12 @@
START_PROCESSING(SSmood, src)
RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event)
RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event)
RegisterSignal(parent, COMSIG_INCREASE_SANITY, .proc/IncreaseSanity)
RegisterSignal(parent, COMSIG_DECREASE_SANITY, .proc/DecreaseSanity)
RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT,PROC_REF(add_event))
RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT,PROC_REF(clear_event))
RegisterSignal(parent, COMSIG_INCREASE_SANITY,PROC_REF(IncreaseSanity))
RegisterSignal(parent, COMSIG_DECREASE_SANITY,PROC_REF(DecreaseSanity))
RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, .proc/modify_hud)
RegisterSignal(parent, COMSIG_MOB_HUD_CREATED,PROC_REF(modify_hud))
var/mob/living/owner = parent
if(owner.hud_used)
modify_hud()
@@ -252,7 +252,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.
@@ -260,7 +260,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]
@@ -276,8 +276,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)

View File

@@ -40,31 +40,31 @@
cloud_sync()
/datum/component/nanites/RegisterWithParent()
RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites)
RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth)
RegisterSignal(parent, COMSIG_NANITE_DELETE, .proc/delete_nanites)
RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data)
RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs)
RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume)
RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites)
RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume)
RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud)
RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, .proc/set_cloud_sync)
RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety)
RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen)
RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program)
RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan)
RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync)
RegisterSignal(parent, COMSIG_HAS_NANITES,PROC_REF(confirm_nanites))
RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY,PROC_REF(check_stealth))
RegisterSignal(parent, COMSIG_NANITE_DELETE,PROC_REF(delete_nanites))
RegisterSignal(parent, COMSIG_NANITE_UI_DATA,PROC_REF(nanite_ui_data))
RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS,PROC_REF(get_programs))
RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME,PROC_REF(set_volume))
RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME,PROC_REF(adjust_nanites))
RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME,PROC_REF(set_max_volume))
RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD,PROC_REF(set_cloud))
RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC,PROC_REF(set_cloud_sync))
RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY,PROC_REF(set_safety))
RegisterSignal(parent, COMSIG_NANITE_SET_REGEN,PROC_REF(set_regen))
RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM,PROC_REF(add_program))
RegisterSignal(parent, COMSIG_NANITE_SCAN,PROC_REF(nanite_scan))
RegisterSignal(parent, COMSIG_NANITE_SYNC,PROC_REF(sync))
if(isliving(parent))
RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp)
RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death)
RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access)
RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock)
RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, .proc/on_minor_shock)
RegisterSignal(parent, COMSIG_SPECIES_GAIN, .proc/check_viable_biotype)
RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal)
RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal)
RegisterSignal(parent, COMSIG_ATOM_EMP_ACT,PROC_REF(on_emp))
RegisterSignal(parent, COMSIG_MOB_DEATH,PROC_REF(on_death))
RegisterSignal(parent, COMSIG_MOB_ALLOWED,PROC_REF(check_access))
RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT,PROC_REF(on_shock))
RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK,PROC_REF(on_minor_shock))
RegisterSignal(parent, COMSIG_SPECIES_GAIN,PROC_REF(check_viable_biotype))
RegisterSignal(parent, COMSIG_NANITE_SIGNAL,PROC_REF(receive_signal))
RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL,PROC_REF(receive_comm_signal))
/datum/component/nanites/UnregisterFromParent()
UnregisterSignal(parent, list(COMSIG_HAS_NANITES,

View File

@@ -22,10 +22,10 @@
/datum/component/orbiter/RegisterWithParent()
var/atom/target = parent
while(ismovableatom(target))
RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react)
RegisterSignal(target, COMSIG_MOVABLE_MOVED,PROC_REF(move_react))
target = target.loc
RegisterSignal(parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, .proc/orbiter_glide_size_update)
RegisterSignal(parent, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE,PROC_REF(orbiter_glide_size_update))
/datum/component/orbiter/UnregisterFromParent()
@@ -64,7 +64,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))
var/matrix/initial_transform = matrix(orbiter.transform)
orbiters[orbiter] = initial_transform
@@ -132,7 +132,7 @@
if(orbited?.loc && orbited.loc != newturf) // We want to know when anything holding us moves too
var/atom/target = orbited.loc
while(ismovableatom(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

View File

@@ -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()

View File

@@ -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

View File

@@ -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)
@@ -51,7 +51,7 @@
return
strength -= strength / hl3_release_date
if(strength <= RAD_BACKGROUND_RADIATION)
addtimer(CALLBACK(src, .proc/check_dissipate), 5 SECONDS)
addtimer(CALLBACK(src,PROC_REF(check_dissipate)), 5 SECONDS)
return PROCESS_KILL
/datum/component/radioactive/proc/check_dissipate()

View File

@@ -23,11 +23,11 @@ handles linking back and forth.
src.category = category
src.allow_standalone = allow_standalone
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()

View File

@@ -88,10 +88,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)

View File

@@ -7,7 +7,7 @@
intensity = max(_intensity, 0)
lube_flags = _lube_flags
callback = _callback
RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), .proc/Slip)
RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED),PROC_REF(Slip))
/datum/component/slippery/proc/Slip(datum/source, atom/movable/AM)
var/mob/victim = AM

View File

@@ -19,7 +19,7 @@
if(_max_mobs)
max_mobs=_max_mobs
RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), .proc/stop_spawning)
RegisterSignal(parent, list(COMSIG_PARENT_QDELETING),PROC_REF(stop_spawning))
START_PROCESSING(SSprocessing, src)
/datum/component/spawner/process()

View File

@@ -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.

View File

@@ -15,18 +15,18 @@
/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(ismovableatom(parent))
RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak)
RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/play_squeak_crossed)
RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react)
RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT),PROC_REF(play_squeak))
RegisterSignal(parent, COMSIG_MOVABLE_CROSSED,PROC_REF(play_squeak_crossed))
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)
@@ -71,7 +71,7 @@
play_squeak()
/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)
@@ -79,7 +79,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

View File

@@ -7,10 +7,10 @@
/datum/component/stationloving/Initialize(inform_admins = FALSE, allow_death = FALSE)
if(!ismovableatom(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(parent, list(COMSIG_MOVABLE_Z_CHANGED), .proc/check_in_bounds)
RegisterSignal(parent, list(COMSIG_MOVABLE_SECLUDED_LOCATION), .proc/relocate)
RegisterSignal(parent, list(COMSIG_PARENT_PREQDELETED), .proc/check_deletion)
RegisterSignal(parent, list(COMSIG_ITEM_IMBUE_SOUL), .proc/check_soul_imbue)
RegisterSignal(parent, list(COMSIG_MOVABLE_Z_CHANGED),PROC_REF(check_in_bounds))
RegisterSignal(parent, list(COMSIG_MOVABLE_SECLUDED_LOCATION),PROC_REF(relocate))
RegisterSignal(parent, list(COMSIG_PARENT_PREQDELETED),PROC_REF(check_deletion))
RegisterSignal(parent, list(COMSIG_ITEM_IMBUE_SOUL),PROC_REF(check_soul_imbue))
src.inform_admins = inform_admins
src.allow_death = allow_death
check_in_bounds() // Just in case something is being created outside of station/centcom

View File

@@ -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()

View File

@@ -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

View File

@@ -36,7 +36,7 @@
to_chat(M, "<span class='notice'>You start dumping out tier/cell rating [lowest_rating] parts from [parent].</span>")
var/turf/T = get_turf(A)
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress)))
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src,PROC_REF(mass_remove_from_storage), T, things, progress)))
stoplag(1)
qdel(progress)
A.do_squish(0.8, 1.2)
@@ -83,7 +83,7 @@
to_chat(M, "<span class='notice'>You start dumping out tier/cell rating [lowest_rating] parts from [parent].</span>")
var/turf/T = get_turf(A)
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress)))
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src,PROC_REF(mass_remove_from_storage), T, things, progress)))
stoplag(1)
qdel(progress)
A.do_squish(0.8, 1.2)

View File

@@ -71,39 +71,39 @@
closer = new(null, src)
orient2hud()
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_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/attackby)
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,PROC_REF(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_ATOM_CANREACH, .proc/canreach_react)
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_ATOM_CANREACH,PROC_REF(canreach_react))
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_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/close_all)
RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW,PROC_REF(close_all))
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_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()
@@ -123,7 +123,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))
@@ -189,7 +189,7 @@
return
var/datum/progressbar/progress = new(M, len, I.loc)
var/list/rejections = list()
while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress)))
while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src,PROC_REF(handle_mass_pickup), things, I.loc, rejections, progress)))
stoplag(1)
qdel(progress)
to_chat(M, "<span class='notice'>You put everything you could [insert_preposition] [parent].</span>")
@@ -247,7 +247,7 @@
var/turf/T = get_turf(A)
var/list/things = contents()
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress)))
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src,PROC_REF(mass_remove_from_storage), T, things, progress)))
stoplag(1)
qdel(progress)
A.do_squish(0.8, 1.2)

View File

@@ -8,8 +8,8 @@
offset_x = rand(-max_x, max_x)
offset_y = rand(-max_y, max_y)
RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/join_swarm)
RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/leave_swarm)
RegisterSignal(parent, COMSIG_MOVABLE_CROSSED,PROC_REF(join_swarm))
RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED,PROC_REF(leave_swarm))
/datum/component/swarming/proc/join_swarm(datum/source, atom/movable/AM)
var/datum/component/swarming/other_swarm = AM.GetComponent(/datum/component/swarming)

View File

@@ -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

View File

@@ -9,8 +9,8 @@
. = ..()
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN, .proc/on_start_orbit)
RegisterSignal(parent, COMSIG_ATOM_ORBIT_END, .proc/on_end_orbit)
RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN,PROC_REF(on_start_orbit))
RegisterSignal(parent, COMSIG_ATOM_ORBIT_END,PROC_REF(on_end_orbit))
/datum/component/twitch_plays/Destroy(force, silent)
for(var/i in players)
@@ -29,7 +29,7 @@
/datum/component/twitch_plays/proc/AttachPlayer(mob/dead/observer)
players |= observer
RegisterSignal(observer, COMSIG_PARENT_QDELETING, .proc/on_end_orbit)
RegisterSignal(observer, COMSIG_PARENT_QDELETING,PROC_REF(on_end_orbit))
/datum/component/twitch_plays/proc/DetachPlayer(mob/dead/observer)
players -= observer
@@ -46,11 +46,11 @@
. = ..()
if(. & COMPONENT_INCOMPATIBLE)
return
RegisterSignal(parent, COMSIG_TWITCH_PLAYS_MOVEMENT_DATA, .proc/fetch_data)
RegisterSignal(parent, COMSIG_TWITCH_PLAYS_MOVEMENT_DATA,PROC_REF(fetch_data))
/datum/component/twitch_plays/simple_movement/AttachPlayer(mob/dead/observer)
. = ..()
RegisterSignal(observer, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move)
RegisterSignal(observer, COMSIG_MOVABLE_PRE_MOVE,PROC_REF(pre_move))
/datum/component/twitch_plays/simple_movement/DetachPlayer(mob/dead/observer)
. = ..()

View File

@@ -32,19 +32,19 @@ GLOBAL_LIST_EMPTY(uplinks)
if(!isitem(parent))
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
uplink_items = get_uplink_items(gamemode, TRUE, allow_restricted)

View File

@@ -4,7 +4,7 @@
/datum/component/waddling/Initialize()
if(!isliving(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED), .proc/Waddle)
RegisterSignal(parent, list(COMSIG_MOVABLE_MOVED),PROC_REF(Waddle))
/datum/component/waddling/proc/Waddle()
var/mob/living/L = parent

View File

@@ -9,8 +9,8 @@
/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))

View File

@@ -30,12 +30,12 @@
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()
UnregisterSignal(parent, list(COMSIG_TURF_IS_WET, COMSIG_TURF_MAKE_DRY))
@@ -92,7 +92,7 @@
qdel(parent.GetComponent(/datum/component/slippery))
return
var/datum/component/slippery/S = parent.LoadComponent(/datum/component/slippery, NONE, CALLBACK(src, .proc/AfterSlip))
var/datum/component/slippery/S = parent.LoadComponent(/datum/component/slippery, NONE, CALLBACK(src,PROC_REF(AfterSlip)))
S.intensity = intensity
S.lube_flags = lube_flags

View File

@@ -40,7 +40,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)

View File

@@ -272,7 +272,7 @@
else if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma)
to_chat(M, "<span class='warning'>You feel yourself slip into a regenerative coma...</span>")
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)
@@ -280,7 +280,7 @@
M.fakedeath("regenerative_coma")
M.update_stat()
M.update_canmove()
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)

View File

@@ -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]

View File

@@ -11,7 +11,7 @@
if(type == /datum/element)
return ELEMENT_INCOMPATIBLE
if(element_flags & ELEMENT_DETACH)
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE)
RegisterSignal(target, COMSIG_PARENT_QDELETING,PROC_REF(Detach), override = TRUE)
/datum/element/proc/Detach(datum/source, force)
UnregisterSignal(source, COMSIG_PARENT_QDELETING)

View File

@@ -17,7 +17,7 @@
x_offset = x
y_offset = y
rotation_degree = rotation
RegisterSignal(target, COMSIG_ITEM_ATTACK_OBJ, .proc/tuck_into_bed)
RegisterSignal(target, COMSIG_ITEM_ATTACK_OBJ,PROC_REF(tuck_into_bed))
/datum/element/bed_tuckable/Detach(obj/target)
. = ..()
@@ -44,7 +44,7 @@
tucked.pixel_y = y_offset
if(rotation_degree)
tucked.transform = turn(tucked.transform, rotation_degree)
RegisterSignal(tucked, COMSIG_ITEM_PICKUP, .proc/untuck)
RegisterSignal(tucked, COMSIG_ITEM_PICKUP,PROC_REF(untuck))
return COMPONENT_NO_AFTERATTACK

View File

@@ -2,7 +2,7 @@
. = ..()
if(!ismovableatom(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)
. = ..()

View File

@@ -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)
. = ..()

View File

@@ -33,7 +33,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
save_key = _save_key
examine_no_preview = _examine_no_preview
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor)
RegisterSignal(target, COMSIG_PARENT_EXAMINE,PROC_REF(show_flavor))
if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being
var/mob/M = target
@@ -173,12 +173,12 @@ 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_PREFS_COPIED_TO, .proc/update_prefs_flavor_text)
RegisterSignal(target, COMSIG_HUMAN_HARDSET_DNA, .proc/update_dna_flavor_text)
RegisterSignal(target, COMSIG_HUMAN_ON_RANDOMIZE, .proc/unset_flavor)
RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO,PROC_REF(update_prefs_flavor_text))
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)
. = ..()
@@ -211,7 +211,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
. = ..()
if(. == ELEMENT_INCOMPATIBLE)
return
RegisterSignal(target, COMSIG_SILICON_PREFS_COPIED_TO, .proc/update_prefs_flavor_text)
RegisterSignal(target, COMSIG_SILICON_PREFS_COPIED_TO,PROC_REF(update_prefs_flavor_text))
/datum/element/flavor_text/silicon/Detach(mob/living/carbon/C)
. = ..()

View File

@@ -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)
. = ..()

View File

@@ -21,8 +21,8 @@
inv_slots = _inv_slots
proctype = _proctype
RegisterSignal(target, COMSIG_CLICK_ALT, .proc/mob_try_pickup)
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine)
RegisterSignal(target, COMSIG_CLICK_ALT,PROC_REF(mob_try_pickup))
RegisterSignal(target, COMSIG_PARENT_EXAMINE,PROC_REF(on_examine))
/datum/element/mob_holder/Detach(datum/source, force)
. = ..()

View File

@@ -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)

View File

@@ -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)

View File

@@ -3,7 +3,7 @@
/datum/element/trash/Attach(datum/target)
. = ..()
RegisterSignal(target, COMSIG_ITEM_ATTACK, .proc/UseFromHand)
RegisterSignal(target, COMSIG_ITEM_ATTACK,PROC_REF(UseFromHand))
/datum/element/trash/proc/UseFromHand(obj/item/source, mob/living/M, mob/living/user)
if((M == user || M.client?.prefs.cit_toggles & TRASH_FORCEFEED) && ishuman(user))

View File

@@ -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, INTENT_DISARM)
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)

View File

@@ -396,7 +396,7 @@ GLOBAL_LIST_EMPTY(explosions)
else
continue
addtimer(CALLBACK(GLOBAL_PROC, .proc/wipe_color_and_text, wipe_colours), 100)
addtimer(CALLBACK(GLOBAL_PROC_REF(wipe_color_and_text), wipe_colours), 100)
/proc/wipe_color_and_text(list/atom/wiping)
for(var/i in wiping)

View File

@@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(huds, list(
hudusers[M] = 1
if(next_time_allowed[M] > world.time)
if(!queued_to_see[M])
addtimer(CALLBACK(src, .proc/show_hud_images_after_cooldown, M), next_time_allowed[M] - world.time)
addtimer(CALLBACK(src,PROC_REF(show_hud_images_after_cooldown), M), next_time_allowed[M] - world.time)
queued_to_see[M] = TRUE
else
next_time_allowed[M] = world.time + ADD_HUD_TO_COOLDOWN

View File

@@ -67,7 +67,7 @@
if(!chance || prob(chance))
play(get_sound(starttime))
if(!timerid)
timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP)
timerid = addtimer(CALLBACK(src,PROC_REF(sound_loop), world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP)
/datum/looping_sound/proc/play(soundfile)
var/list/atoms_cache = output_atoms
@@ -92,7 +92,7 @@
if(start_sound)
play(start_sound)
start_wait = start_length
addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME)
addtimer(CALLBACK(src,PROC_REF(sound_loop)), start_wait, TIMER_CLIENT_TIME)
/datum/looping_sound/proc/on_stop()
if(end_sound)

View File

@@ -101,7 +101,7 @@
D.adjustStaminaLoss(20)
D.Stun(100)
restraining = TRUE
addtimer(CALLBACK(src, .proc/drop_restraining), 50, TIMER_UNIQUE)
addtimer(CALLBACK(src,PROC_REF(drop_restraining)), 50, TIMER_UNIQUE)
return TRUE
/datum/martial_art/cqc/proc/Consecutive(mob/living/carbon/human/A, mob/living/carbon/human/D)

View File

@@ -325,7 +325,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("<span class = 'danger'><b>[A] headbutts [D]!</b></span>")
D.adjustBruteLoss(rand(10,20))

View File

@@ -821,7 +821,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)

View File

@@ -46,7 +46,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)
@@ -76,7 +76,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

View File

@@ -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)

View File

@@ -18,7 +18,7 @@
ADD_TRAIT(owner, TRAIT_PUSHIMMUNE, 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)
if(proximity) //no telekinetic hulk attack

View File

@@ -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)
. = ..()
@@ -153,7 +153,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)
. = ..()
@@ -185,7 +185,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)
. = ..()
@@ -244,7 +244,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)
. = ..()

View File

@@ -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 class='userdanger'>You become frozen in a cube!</span>")
cube = icon('icons/effects/freeze.dmi', "ice_cube")

Some files were not shown because too many files have changed in this diff Show More