mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-25 00:41:48 +00:00
515 Compatibility (#19636)
* 515 compat * double spaces * Callback documentation, aa review * spacing * NAMEOF_STATIC * big beta
This commit is contained in:
@@ -160,5 +160,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
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
USAGE:
|
||||
|
||||
var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn)
|
||||
var/datum/callback/C = new(object|null, PROC_REF(procname)|GLOBAL_PROC_REF(procname)|TYPE_PROC_REF(type, procname), arg1, arg2, ... argn)
|
||||
var/timerid = addtimer(C, time, timertype)
|
||||
OR
|
||||
var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype)
|
||||
var/timerid = addtimer(CALLBACK(object|null, PROC_REF(procname)|GLOBAL_PROC_REF(procname)|TYPE_PROC_REF(type, procname), arg1, arg2, ... argn), time, timertype)
|
||||
|
||||
Note: proc strings can only be given for datum proc calls, global procs must be proc paths
|
||||
Also proc strings are strongly advised against because they don't compile error if the proc stops existing
|
||||
@@ -19,28 +19,20 @@
|
||||
|
||||
PROC TYPEPATH SHORTCUTS (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...)
|
||||
|
||||
global proc while in another global proc:
|
||||
.procname
|
||||
global proc:
|
||||
GLOBAL_PROC_REF(procname)
|
||||
Example:
|
||||
CALLBACK(GLOBAL_PROC, .some_proc_here)
|
||||
CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(some_proc_here))
|
||||
|
||||
proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents:
|
||||
.procname
|
||||
proc defined on current(src) object:
|
||||
PROC_REF(procname)
|
||||
Example:
|
||||
CALLBACK(src, .some_proc_here)
|
||||
CALLBACK(src, PROC_REF(some_proc_here))
|
||||
|
||||
|
||||
when the above doesn't apply:
|
||||
.proc/procname
|
||||
proc defined on some other type:
|
||||
TYPE_PROC_REF(some_type, procname)
|
||||
Example:
|
||||
CALLBACK(src, .proc/some_proc_here)
|
||||
|
||||
proc defined on a parent of a some type:
|
||||
/some/type/.proc/some_proc_here
|
||||
|
||||
|
||||
|
||||
Other wise you will have to do the full typepath of the proc (/type/of/thing/proc/procname)
|
||||
CALLBACK(other_atom, TYPE_PROC_REF(other_atom_type, procname)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -65,7 +65,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, lifespan, italics, size, symbol)
|
||||
INVOKE_ASYNC(src, PROC_REF(generate_image), text, target, owner, lifespan, italics, size, symbol)
|
||||
|
||||
/datum/chatmessage/Destroy()
|
||||
if (owned_by)
|
||||
@@ -100,7 +100,7 @@
|
||||
/datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, lifespan, italics, size, symbol)
|
||||
// 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 = CHAT_MESSAGE_MAX_LENGTH
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
@@ -52,13 +52,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(datum/source, old_dir, new_dir)
|
||||
if(old_dir == new_dir)
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
if(!istype(I)) //Something went wrong
|
||||
return
|
||||
if(!hide_tape) //if TRUE this hides the tape overlay and added examine text
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/add_tape_overlay)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/add_tape_text)
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_tape_overlay))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(add_tape_text))
|
||||
x_offset = x
|
||||
y_offset = y
|
||||
RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/afterattack)
|
||||
RegisterSignal(parent, COMSIG_ITEM_PICKUP, .proc/pick_up)
|
||||
RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(afterattack))
|
||||
RegisterSignal(parent, COMSIG_ITEM_PICKUP, PROC_REF(pick_up))
|
||||
I.update_icon() //Do this first so the action button properly shows the icon
|
||||
if(!hide_tape) //the tape can no longer be removed if TRUE
|
||||
var/datum/action/item_action/remove_tape/RT = new(I)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/datum/component/emissive_blocker/Initialize(_stored_blocker)
|
||||
var/atom/movable/A = parent
|
||||
stored_blocker = _stored_blocker
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/update_generic_block)
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, PROC_REF(update_generic_block))
|
||||
A.add_overlay(stored_blocker)
|
||||
|
||||
/datum/component/emissive_blocker/Destroy()
|
||||
|
||||
@@ -24,7 +24,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
|
||||
@@ -38,13 +38,13 @@
|
||||
footstep_sounds = 'sound/effects/footstep/slime1.ogg'
|
||||
if(FOOTSTEP_OBJ_MACHINE)
|
||||
footstep_sounds = 'sound/effects/bang.ogg'
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_simplestep_machine) //Note that this doesn't get called for humans.
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep_machine)) //Note that this doesn't get called for humans.
|
||||
return
|
||||
if(FOOTSTEP_OBJ_ROBOT)
|
||||
footstep_sounds = 'sound/effects/tank_treads.ogg'
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_simplestep_machine) //Note that this doesn't get called for humans.
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep_machine)) //Note that this doesn't get called for humans.
|
||||
return
|
||||
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/simulated/floor (eventually /turf/open)
|
||||
/datum/component/footstep/proc/prepare_step()
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -36,7 +36,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()
|
||||
@@ -52,9 +52,9 @@
|
||||
registered_turfs = block(lowleft_turf, upright_turf) //small problems with z level edges due to object size offsets, but nothing truly problematic.
|
||||
//register the signals
|
||||
for(var/registered_turf in registered_turfs)
|
||||
RegisterSignal(registered_turf, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_INITIALIZED_ON), .proc/objectEnter)
|
||||
RegisterSignal(registered_turf, COMSIG_ATOM_EXITED, .proc/objectLeave)
|
||||
RegisterSignal(registered_turf, COMSIG_TURF_CHANGE, .proc/OnTurfChange)
|
||||
RegisterSignal(registered_turf, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_INITIALIZED_ON), PROC_REF(objectEnter))
|
||||
RegisterSignal(registered_turf, COMSIG_ATOM_EXITED, PROC_REF(objectLeave))
|
||||
RegisterSignal(registered_turf, COMSIG_TURF_CHANGE, PROC_REF(OnTurfChange))
|
||||
for(var/thing in registered_turf)
|
||||
var/atom/check_atom = thing
|
||||
if(!(check_atom.flags_2 & CRITICAL_ATOM_2))
|
||||
@@ -76,7 +76,7 @@
|
||||
RegisterWithTurfs()
|
||||
|
||||
/datum/component/largetransparency/proc/OnTurfChange()
|
||||
addtimer(CALLBACK(src, .proc/OnMove), 0, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain
|
||||
addtimer(CALLBACK(src, PROC_REF(OnMove)), 0, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain
|
||||
|
||||
/datum/component/largetransparency/proc/objectEnter(datum/source, atom/enterer)
|
||||
if(!(enterer.flags_2 & CRITICAL_ATOM_2))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
orbiter_list += orbiter
|
||||
|
||||
// make sure orbits get cleaned up nicely if the parent qdels
|
||||
RegisterSignal(orbiter, COMSIG_PARENT_QDELETING, .proc/end_orbit)
|
||||
RegisterSignal(orbiter, COMSIG_PARENT_QDELETING, PROC_REF(end_orbit))
|
||||
|
||||
var/orbit_flags = 0
|
||||
if(lock_in_orbit)
|
||||
@@ -115,7 +115,7 @@
|
||||
store_orbit_data(orbiter, orbit_flags)
|
||||
|
||||
if(!lock_in_orbit)
|
||||
RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, .proc/orbiter_move_react)
|
||||
RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, PROC_REF(orbiter_move_react))
|
||||
|
||||
// Head first!
|
||||
if(pre_rotation)
|
||||
@@ -274,13 +274,13 @@
|
||||
return
|
||||
var/atom/cur_atom = start
|
||||
while(cur_atom.loc && !isturf(cur_atom.loc) && !(cur_atom.loc in orbiter_list))
|
||||
RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, .proc/on_intermediate_move, TRUE)
|
||||
RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
|
||||
RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, PROC_REF(on_intermediate_move), TRUE)
|
||||
RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
|
||||
cur_atom = cur_atom.loc
|
||||
|
||||
// Set the topmost atom (right before the turf) to be our new leader
|
||||
RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, .proc/parent_move_react, TRUE)
|
||||
RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
|
||||
RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, PROC_REF(parent_move_react), TRUE)
|
||||
RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
|
||||
return cur_atom
|
||||
|
||||
/**
|
||||
@@ -296,9 +296,9 @@
|
||||
return
|
||||
// Remove all signals upwards of the child and re-register them as the new parent
|
||||
remove_signals(exiting)
|
||||
RegisterSignal(exiting, COMSIG_MOVABLE_MOVED, .proc/parent_move_react, TRUE)
|
||||
RegisterSignal(exiting, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
|
||||
INVOKE_ASYNC(src, .proc/handle_parent_move, exiting, exiting.loc, new_loc)
|
||||
RegisterSignal(exiting, COMSIG_MOVABLE_MOVED, PROC_REF(parent_move_react), TRUE)
|
||||
RegisterSignal(exiting, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_parent_move), exiting, exiting.loc, new_loc)
|
||||
|
||||
/**
|
||||
* Called when an intermediate (somewhere between the topmost and the orbited) atom moves.
|
||||
@@ -312,9 +312,9 @@
|
||||
return
|
||||
|
||||
remove_signals(old_loc) // TODO this doesn't work if something's removed from hand
|
||||
RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, .proc/parent_move_react, TRUE)
|
||||
RegisterSignal(tracked, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
|
||||
INVOKE_ASYNC(src, .proc/handle_parent_move, tracked, old_loc, tracked.loc)
|
||||
RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(parent_move_react), TRUE)
|
||||
RegisterSignal(tracked, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_parent_move), tracked, old_loc, tracked.loc)
|
||||
|
||||
/**
|
||||
* Returns TRUE if atom_to_find is transitively a parent of src.
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
persistent_overlay = image_overlay
|
||||
target = _target
|
||||
if(timer)
|
||||
addtimer(CALLBACK(src, .proc/remove_persistent_overlay), timer)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_persistent_overlay)), timer)
|
||||
if(target)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/remove_persistent_overlay)
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/remove_persistent_overlay)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(remove_persistent_overlay))
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(remove_persistent_overlay))
|
||||
add_persistent_overlay()
|
||||
|
||||
/datum/component/persistent_overlay/Destroy()
|
||||
|
||||
@@ -52,9 +52,9 @@
|
||||
|
||||
/datum/component/proximity_monitor/RegisterWithParent()
|
||||
if(ismovable(hasprox_receiver))
|
||||
RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_MOVED, .proc/on_receiver_move)
|
||||
RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_DISPOSING, .proc/on_disposal_enter)
|
||||
RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_EXIT_DISPOSALS, .proc/on_disposal_exit)
|
||||
RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_MOVED, PROC_REF(on_receiver_move))
|
||||
RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_DISPOSING, PROC_REF(on_disposal_enter))
|
||||
RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_EXIT_DISPOSALS, PROC_REF(on_disposal_exit))
|
||||
map_nested_locs()
|
||||
|
||||
/datum/component/proximity_monitor/UnregisterFromParent()
|
||||
@@ -148,9 +148,9 @@
|
||||
if(loc_to_check in nested_receiver_locs)
|
||||
continue
|
||||
nested_receiver_locs += loc_to_check
|
||||
RegisterSignal(loc_to_check, COMSIG_MOVABLE_MOVED, .proc/on_nested_loc_move)
|
||||
RegisterSignal(loc_to_check, COMSIG_MOVABLE_DISPOSING, .proc/on_disposal_enter)
|
||||
RegisterSignal(loc_to_check, COMSIG_MOVABLE_EXIT_DISPOSALS, .proc/on_disposal_exit)
|
||||
RegisterSignal(loc_to_check, COMSIG_MOVABLE_MOVED, PROC_REF(on_nested_loc_move))
|
||||
RegisterSignal(loc_to_check, COMSIG_MOVABLE_DISPOSING, PROC_REF(on_disposal_enter))
|
||||
RegisterSignal(loc_to_check, COMSIG_MOVABLE_EXIT_DISPOSALS, PROC_REF(on_disposal_exit))
|
||||
loc_to_check = loc_to_check.loc
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
hl3_release_date = _half_life
|
||||
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(isitem(parent))
|
||||
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
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
if(strength > RAD_MINIMUM_CONTAMINATION)
|
||||
@@ -30,7 +30,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)
|
||||
|
||||
/datum/component/radioactive/Destroy()
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
slip_verb = _slip_verb
|
||||
|
||||
/datum/component/slippery/RegisterWithParent()
|
||||
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/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED))
|
||||
|
||||
@@ -21,7 +21,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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -22,20 +22,20 @@
|
||||
/datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override, squeak_on_move, extrarange, falloff_exponent, fallof_distance)
|
||||
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, 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(squeak_on_move)
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_squeak)
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_squeak))
|
||||
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)
|
||||
@@ -98,7 +98,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)
|
||||
@@ -106,7 +106,7 @@
|
||||
// Disposal pipes related shit
|
||||
/datum/component/squeak/proc/disposing_react(datum/source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/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(disposal_holder, COMSIG_ATOM_DIR_CHANGE, .proc/holder_dir_change)
|
||||
RegisterSignal(disposal_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
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
src.forced_surgery = forced_surgery
|
||||
|
||||
/datum/component/surgery_initiator/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/initiate_surgery_moment)
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_SHARPNESS, .proc/on_parent_sharpness_change)
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(initiate_surgery_moment))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_SHARPNESS, PROC_REF(on_parent_sharpness_change))
|
||||
|
||||
/datum/component/surgery_initiator/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_ITEM_ATTACK)
|
||||
@@ -83,7 +83,7 @@
|
||||
if(L.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST))
|
||||
to_chat(user, "<span class='notice'>You realise that a ghost probably doesn't have any useful organs.</span>")
|
||||
return //no cult ghost surgery please
|
||||
INVOKE_ASYNC(src, .proc/do_initiate_surgery_moment, target, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(do_initiate_surgery_moment), target, user)
|
||||
// This signal is actually part of the attack chain, so it needs to return true to stop it
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
offset_x = rand(-max_x, max_x)
|
||||
offset_y = rand(-max_y, max_y)
|
||||
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/join_swarm)
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/leave_swarm)
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(join_swarm))
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, PROC_REF(leave_swarm))
|
||||
|
||||
/datum/component/swarming/Destroy()
|
||||
for(var/other in swarm_members)
|
||||
|
||||
@@ -38,11 +38,11 @@ BONUS
|
||||
if(3, 4)
|
||||
if(!(head_organ.h_style == "Bald") && !(head_organ.h_style == "Balding Hair"))
|
||||
to_chat(H, "<span class='warning'>Your hair starts to fall out in clumps...</span>")
|
||||
addtimer(CALLBACK(src, .proc/change_hair, H, head_organ, null, "Balding Hair"), 5 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, null, "Balding Hair"), 5 SECONDS)
|
||||
if(5)
|
||||
if(!(head_organ.f_style == "Shaved") || !(head_organ.h_style == "Bald"))
|
||||
to_chat(H, "<span class='warning'>Your hair starts to fall out in clumps...</span>")
|
||||
addtimer(CALLBACK(src, .proc/change_hair, H, head_organ, "Shaved", "Bald"), 5 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, "Shaved", "Bald"), 5 SECONDS)
|
||||
|
||||
/datum/symptom/shedding/proc/change_hair(mob/living/carbon/human/H, obj/item/organ/external/head/head_organ, f_style, h_style)
|
||||
if(!H || !head_organ)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"<span class='userdanger'>You cough up butterflies!</span>")
|
||||
for(var/i in 1 to 2)
|
||||
var/mob/living/simple_animal/butterfly/B = new(affected_mob.loc)
|
||||
addtimer(CALLBACK(B, /mob/living/simple_animal/butterfly/.proc/decompose), rand(5, 25) SECONDS)
|
||||
addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/simple_animal/butterfly, decompose)), rand(5, 25) SECONDS)
|
||||
|
||||
/**
|
||||
* Made so severe anxiety does not overload the SSmob while keeping it's effect
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
return ELEMENT_INCOMPATIBLE
|
||||
SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src)
|
||||
if(element_flags & ELEMENT_DETACH)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/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)
|
||||
|
||||
@@ -10,7 +10,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)
|
||||
. = ..()
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
return ELEMENT_INCOMPATIBLE
|
||||
|
||||
if(protects) // Does this protect things in its contents from being affected?
|
||||
RegisterSignal(target, COMSIG_ATOM_RAD_PROBE, .proc/rad_probe_react)
|
||||
RegisterSignal(target, COMSIG_ATOM_RAD_PROBE, PROC_REF(rad_probe_react))
|
||||
if(contamination_proof) // Can this object be contaminated?
|
||||
RegisterSignal(target, COMSIG_ATOM_RAD_CONTAMINATING, .proc/rad_contaminating)
|
||||
RegisterSignal(target, COMSIG_ATOM_RAD_CONTAMINATING, PROC_REF(rad_contaminating))
|
||||
if(_amount != 1) // If it's 1 it won't have any impact on radiation passing through anyway
|
||||
RegisterSignal(target, COMSIG_ATOM_RAD_WAVE_PASSING, .proc/rad_pass)
|
||||
RegisterSignal(target, COMSIG_ATOM_RAD_WAVE_PASSING, PROC_REF(rad_pass))
|
||||
|
||||
amount = _amount
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
if(!ismovable(target))
|
||||
return ELEMENT_INCOMPATIBLE
|
||||
if(isliving(target))
|
||||
RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/LivingWaddle)
|
||||
RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(LivingWaddle))
|
||||
else
|
||||
RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/Waddle)
|
||||
RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(Waddle))
|
||||
|
||||
/datum/element/waddling/Detach(datum/source, force)
|
||||
. = ..()
|
||||
|
||||
@@ -252,12 +252,12 @@ if(!result || result.ckey != __ckey){\
|
||||
if(href_list["add_mob"])
|
||||
var/list/mobs = getpois(TRUE, TRUE)
|
||||
var/datum/async_input/A = input_autocomplete_async(usr, "Please, select a mob: ", mobs)
|
||||
A.on_close(CALLBACK(src, .proc/add_mob, usr))
|
||||
A.on_close(CALLBACK(src, PROC_REF(add_mob), usr))
|
||||
return
|
||||
if(href_list["add_ckey"])
|
||||
var/list/ckeys = GLOB.logging.get_ckeys_logged()
|
||||
var/datum/async_input/A = input_autocomplete_async(usr, "Please, select a ckey: ", ckeys)
|
||||
A.on_close(CALLBACK(src, .proc/add_ckey, usr))
|
||||
A.on_close(CALLBACK(src, PROC_REF(add_ckey), usr))
|
||||
return
|
||||
if(href_list["remove_mob"])
|
||||
var/mob/M = locate(href_list["remove_mob"])
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
return
|
||||
if(!chance || prob(chance))
|
||||
play(get_sound(looped))
|
||||
addtimer(CALLBACK(src, .proc/sound_loop, ++looped), mid_length)
|
||||
addtimer(CALLBACK(src, PROC_REF(sound_loop), ++looped), mid_length)
|
||||
|
||||
/datum/looping_sound/proc/play(soundfile)
|
||||
var/list/atoms_cache = output_atoms
|
||||
@@ -102,7 +102,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(looped)
|
||||
if(end_sound)
|
||||
|
||||
@@ -968,7 +968,7 @@
|
||||
log_admin("[key_name(usr)] has equipped [key_name(current)] as a wizard")
|
||||
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a wizard")
|
||||
if("name")
|
||||
INVOKE_ASYNC(SSticker.mode, /datum/game_mode/wizard.proc/name_wizard, current)
|
||||
INVOKE_ASYNC(SSticker.mode, TYPE_PROC_REF(/datum/game_mode/wizard, name_wizard), current)
|
||||
log_admin("[key_name(usr)] has allowed wizard [key_name(current)] to name themselves")
|
||||
message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves")
|
||||
if("autoobjectives")
|
||||
@@ -1652,7 +1652,7 @@
|
||||
SSticker.mode.equip_wizard(current)
|
||||
for(var/obj/item/spellbook/S in current.contents)
|
||||
S.op = 0
|
||||
INVOKE_ASYNC(SSticker.mode, /datum/game_mode/wizard.proc/name_wizard, current)
|
||||
INVOKE_ASYNC(SSticker.mode, TYPE_PROC_REF(/datum/game_mode/wizard, name_wizard), current)
|
||||
SSticker.mode.forge_wizard_objectives(src)
|
||||
SSticker.mode.greet_wizard(src)
|
||||
SSticker.mode.update_wiz_icons_added(src)
|
||||
@@ -1787,7 +1787,7 @@
|
||||
H.update_inv_w_uniform()
|
||||
|
||||
add_attack_logs(missionary, current, "Converted to a zealot for [convert_duration/600] minutes")
|
||||
addtimer(CALLBACK(src, .proc/remove_zealot, jumpsuit), convert_duration) //deconverts after the timer expires
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_zealot), jumpsuit), convert_duration) //deconverts after the timer expires
|
||||
return TRUE
|
||||
|
||||
/datum/mind/proc/remove_zealot(obj/item/clothing/under/jumpsuit = null)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/obj/effect/proc_holder/spell/charge_up/Click()
|
||||
if(cast_check(TRUE, FALSE, usr))
|
||||
if(!start_time)
|
||||
INVOKE_ASYNC(src, .proc/StartChargeup, usr)
|
||||
INVOKE_ASYNC(src, PROC_REF(StartChargeup), usr)
|
||||
else
|
||||
if(!try_stop_buildup(usr))
|
||||
return // Don't remove the click intercept
|
||||
@@ -52,7 +52,7 @@
|
||||
user.add_overlay(charge_up_overlay)
|
||||
playsound(user, charge_sound, 50, FALSE, channel = charge_sound.channel)
|
||||
start_time = world.time
|
||||
if(do_mob(user, user, max_charge_time, extra_checks = list(CALLBACK(src, .proc/stopped_casting)), only_use_extra_checks = TRUE))
|
||||
if(do_mob(user, user, max_charge_time, extra_checks = list(CALLBACK(src, PROC_REF(stopped_casting))), only_use_extra_checks = TRUE))
|
||||
if(start_time)
|
||||
Discharge(user)
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains
|
||||
to_chat(target, "<span class='warning'>You are somehow too bound to your current location to abandon it.</span>")
|
||||
continue
|
||||
INVOKE_ASYNC(src, .proc/do_jaunt, target)
|
||||
INVOKE_ASYNC(src, PROC_REF(do_jaunt), target)
|
||||
|
||||
/obj/effect/proc_holder/spell/ethereal_jaunt/proc/do_jaunt(mob/living/target)
|
||||
target.notransform = TRUE
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
active_on += target
|
||||
target.regenerate_icons()
|
||||
if(duration < base_cooldown)
|
||||
addtimer(CALLBACK(src, .proc/remove, target), duration, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove), target), duration, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
|
||||
/obj/effect/proc_holder/spell/genetic/Destroy()
|
||||
for(var/V in active_on)
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/knock/cast(list/targets, mob/user = usr)
|
||||
for(var/turf/T in targets)
|
||||
for(var/obj/machinery/door/door in T.contents)
|
||||
INVOKE_ASYNC(src, .proc/try_open_airlock, door)
|
||||
INVOKE_ASYNC(src, PROC_REF(try_open_airlock), door)
|
||||
for(var/obj/structure/closet/C in T.contents)
|
||||
INVOKE_ASYNC(src, .proc/try_open_closet, C)
|
||||
INVOKE_ASYNC(src, PROC_REF(try_open_closet), C)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/knock/proc/try_open_airlock(obj/machinery/door/door)
|
||||
if(istype(door, /obj/machinery/door/airlock/hatch/gamma))
|
||||
|
||||
@@ -44,4 +44,4 @@
|
||||
target.AdjustJitter(2000 SECONDS) //High numbers for violent convulsions
|
||||
target.AdjustStuttering(4 SECONDS)
|
||||
target.Slowed(6 SECONDS)
|
||||
addtimer(CALLBACK(target, /mob/living.proc/AdjustJitter, -2000 SECONDS, 10), 2 SECONDS) //Still jittery, but vastly less
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, AdjustJitter), -2000 SECONDS, 10), 2 SECONDS) //Still jittery, but vastly less
|
||||
|
||||
@@ -54,10 +54,10 @@
|
||||
/obj/effect/proc_holder/spell/mimic/cast(list/targets, mob/user)
|
||||
var/atom/movable/A = targets[1]
|
||||
if(A == user)
|
||||
INVOKE_ASYNC(src, .proc/pick_form, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(pick_form), user)
|
||||
return
|
||||
|
||||
INVOKE_ASYNC(src, .proc/remember_form, A, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(remember_form), A, user)
|
||||
|
||||
/obj/effect/proc_holder/spell/mimic/proc/remember_form(atom/movable/A, mob/user)
|
||||
if(A.name in available_forms)
|
||||
@@ -127,8 +127,8 @@
|
||||
user.create_log(MISC_LOG, "Mimicked into [user]")
|
||||
|
||||
if(!selected_form)
|
||||
RegisterSignal(user, COMSIG_PARENT_EXAMINE, .proc/examine_override)
|
||||
RegisterSignal(user, COMSIG_MOB_DEATH, .proc/on_death)
|
||||
RegisterSignal(user, COMSIG_PARENT_EXAMINE, PROC_REF(examine_override))
|
||||
RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(on_death))
|
||||
|
||||
selected_form = form
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
/datum/status_effect/stacking/ground_pound/stacks_consumed_effect()
|
||||
flick("legion-smash", latest_attacker)
|
||||
addtimer(CALLBACK(latest_attacker, /mob/living/simple_animal/hostile/asteroid/big_legion/.proc/throw_mobs), 1 SECONDS)
|
||||
addtimer(CALLBACK(latest_attacker, TYPE_PROC_REF(/mob/living/simple_animal/hostile/asteroid/big_legion, throw_mobs)), 1 SECONDS)
|
||||
|
||||
/datum/status_effect/stacking/ground_pound/on_remove()
|
||||
latest_attacker = null
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -37,7 +37,7 @@ GLOBAL_VAR_INIT(slower_restart, FALSE)
|
||||
server_announce_global("Server update complete. Changes will be applied on the next round.")
|
||||
if(TGS_EVENT_WATCHDOG_DETACH)
|
||||
server_announce_adminonly("\[Info] Server manager restarting...")
|
||||
reattach_timer = addtimer(CALLBACK(src, .proc/LateOnReattach), 1 MINUTES, TIMER_STOPPABLE)
|
||||
reattach_timer = addtimer(CALLBACK(src, PROC_REF(LateOnReattach)), 1 MINUTES, TIMER_STOPPABLE)
|
||||
if(TGS_EVENT_WATCHDOG_REATTACH)
|
||||
var/datum/tgs_version/old_version = world.TgsVersion()
|
||||
var/datum/tgs_version/new_version = args[2]
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
to_chat(M, telegraph_message)
|
||||
if(telegraph_sound)
|
||||
SEND_SOUND(M, sound(telegraph_sound))
|
||||
addtimer(CALLBACK(src, .proc/start), telegraph_duration)
|
||||
addtimer(CALLBACK(src, PROC_REF(start)), telegraph_duration)
|
||||
|
||||
/datum/weather/proc/start()
|
||||
if(stage >= MAIN_STAGE)
|
||||
@@ -85,7 +85,7 @@
|
||||
to_chat(M, weather_message)
|
||||
if(weather_sound)
|
||||
SEND_SOUND(M, sound(weather_sound))
|
||||
addtimer(CALLBACK(src, .proc/wind_down), weather_duration)
|
||||
addtimer(CALLBACK(src, PROC_REF(wind_down)), weather_duration)
|
||||
|
||||
/datum/weather/proc/wind_down()
|
||||
if(stage >= WIND_DOWN_STAGE)
|
||||
@@ -99,7 +99,7 @@
|
||||
to_chat(M, end_message)
|
||||
if(end_sound)
|
||||
SEND_SOUND(M, sound(end_sound))
|
||||
addtimer(CALLBACK(src, .proc/end), end_duration)
|
||||
addtimer(CALLBACK(src, PROC_REF(end)), end_duration)
|
||||
|
||||
/datum/weather/proc/end()
|
||||
if(stage == END_STAGE)
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
A.autoclose = mend
|
||||
if(mend)
|
||||
if(!A.density)
|
||||
INVOKE_ASYNC(A, /obj/machinery/door/airlock/.proc/close)
|
||||
INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, close))
|
||||
|
||||
if(WIRE_BOLT_LIGHT)
|
||||
A.lights = mend
|
||||
@@ -141,7 +141,7 @@
|
||||
else if(A.aiControlDisabled == AICONTROLDISABLED_PERMA)
|
||||
A.aiControlDisabled = AICONTROLDISABLED_BYPASS
|
||||
|
||||
addtimer(CALLBACK(A, /obj/machinery/door/airlock/.proc/ai_control_callback), 1 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/door/airlock, ai_control_callback)), 1 SECONDS)
|
||||
|
||||
if(WIRE_ELECTRIFY)
|
||||
//one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds.
|
||||
@@ -153,14 +153,14 @@
|
||||
if(A.emagged) 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))
|
||||
|
||||
if(WIRE_SAFETY)
|
||||
A.safe = !A.safe
|
||||
if(!A.density)
|
||||
INVOKE_ASYNC(A, /obj/machinery/door/airlock/.proc/close)
|
||||
INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, close))
|
||||
|
||||
if(WIRE_SPEED)
|
||||
A.normalspeed = !A.normalspeed
|
||||
|
||||
@@ -62,13 +62,13 @@
|
||||
if(!A.shorted)
|
||||
A.shorted = TRUE
|
||||
A.update_icon()
|
||||
addtimer(CALLBACK(A, /obj/machinery/alarm/.proc/unshort_callback), 120 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, unshort_callback)), 120 SECONDS)
|
||||
|
||||
if(WIRE_AI_CONTROL)
|
||||
if(!A.aidisabled)
|
||||
A.aidisabled = TRUE
|
||||
A.updateDialog()
|
||||
addtimer(CALLBACK(A, /obj/machinery/alarm/.proc/enable_ai_control_callback), 10 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, enable_ai_control_callback)), 10 SECONDS)
|
||||
|
||||
|
||||
if(WIRE_SYPHON)
|
||||
|
||||
@@ -30,19 +30,19 @@
|
||||
switch(wire)
|
||||
if(WIRE_IDSCAN)
|
||||
A.locked = FALSE
|
||||
addtimer(CALLBACK(A, /obj/machinery/power/apc/.proc/relock_callback), 30 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, relock_callback)), 30 SECONDS)
|
||||
|
||||
|
||||
if(WIRE_MAIN_POWER1, WIRE_MAIN_POWER2)
|
||||
if(!A.shorted)
|
||||
A.shorted = TRUE
|
||||
addtimer(CALLBACK(A, /obj/machinery/power/apc/.proc/check_main_power_callback), 120 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, check_main_power_callback)), 120 SECONDS)
|
||||
|
||||
|
||||
if(WIRE_AI_CONTROL)
|
||||
if(!A.aidisabled)
|
||||
A.aidisabled = TRUE
|
||||
addtimer(CALLBACK(A, /obj/machinery/power/apc/.proc/check_ai_control_callback), 1 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, check_ai_control_callback)), 1 SECONDS)
|
||||
|
||||
..()
|
||||
|
||||
|
||||
@@ -42,12 +42,12 @@
|
||||
switch(wire)
|
||||
if(WIRE_AUTOLATHE_HACK)
|
||||
A.adjust_hacked(!A.hacked)
|
||||
addtimer(CALLBACK(A, /obj/machinery/autolathe/.proc/check_hacked_callback), 5 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, check_hacked_callback)), 5 SECONDS)
|
||||
|
||||
if(WIRE_ELECTRIFY)
|
||||
A.shocked = !A.shocked
|
||||
addtimer(CALLBACK(A, /obj/machinery/autolathe/.proc/check_electrified_callback), 5 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, check_electrified_callback)), 5 SECONDS)
|
||||
|
||||
if(WIRE_AUTOLATHE_DISABLE)
|
||||
A.disabled = !A.disabled
|
||||
addtimer(CALLBACK(A, /obj/machinery/autolathe/.proc/check_disabled_callback), 5 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, check_disabled_callback)), 5 SECONDS)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
switch(wire)
|
||||
if(WIRE_BOMB_LIGHT)
|
||||
N.lighthack = !N.lighthack
|
||||
addtimer(CALLBACK(N, /obj/machinery/nuclearbomb/.proc/reset_lighthack_callback), 10 SECONDS)
|
||||
addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/machinery/nuclearbomb, reset_lighthack_callback)), 10 SECONDS)
|
||||
|
||||
if(WIRE_BOMB_TIMING)
|
||||
if(N.timing)
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
if(WIRE_BOMB_SAFETY)
|
||||
N.safety = !N.safety
|
||||
addtimer(CALLBACK(N, /obj/machinery/nuclearbomb/.proc/reset_safety_callback), 10 SECONDS)
|
||||
addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/machinery/nuclearbomb, reset_safety_callback)), 10 SECONDS)
|
||||
|
||||
/datum/wires/nuclearbomb/on_cut(wire, mend)
|
||||
var/obj/machinery/nuclearbomb/N = holder
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
A.shocked = !A.shocked
|
||||
if(A.shocked)
|
||||
A.shock(usr, 100)
|
||||
addtimer(CALLBACK(A, /obj/machinery/suit_storage_unit/.proc/check_electrified_callback), 5 SECONDS)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/suit_storage_unit, check_electrified_callback)), 5 SECONDS)
|
||||
|
||||
if(WIRE_SSU_UV)
|
||||
A.uv_super = !A.uv_super
|
||||
|
||||
Reference in New Issue
Block a user