procs
This commit is contained in:
@@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
if (picked && is_station_level(picked.z))
|
||||
GLOB.teleportlocs[AR.name] = AR
|
||||
|
||||
sortTim(GLOB.teleportlocs, /proc/cmp_text_asc)
|
||||
sortTim(GLOB.teleportlocs, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/**
|
||||
* Called when an area loads
|
||||
|
||||
+2
-2
@@ -688,7 +688,7 @@
|
||||
|
||||
/atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
|
||||
if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...).
|
||||
addtimer(CALLBACK(src, .proc/hitby_react, AM), 2)
|
||||
addtimer(CALLBACK(src, PROC_REF(hitby_react), AM), 2)
|
||||
|
||||
/atom/proc/hitby_react(atom/movable/AM)
|
||||
if(AM && isturf(AM.loc))
|
||||
@@ -1302,7 +1302,7 @@
|
||||
|
||||
/atom/proc/update_filters()
|
||||
filters = null
|
||||
filter_data = sortTim(filter_data, /proc/cmp_filter_data_priority, TRUE)
|
||||
filter_data = sortTim(filter_data, GLOBAL_PROC_REF(cmp_filter_data_priority), TRUE)
|
||||
for(var/f in filter_data)
|
||||
var/list/data = filter_data[f]
|
||||
var/list/arguments = data.Copy()
|
||||
|
||||
@@ -421,7 +421,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
/datum/game_mode/dynamic/post_setup(report)
|
||||
for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules)
|
||||
rule.candidates.Cut() // The rule should not use candidates at this point as they all are null.
|
||||
addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_roundstart_rule, rule), rule.delay)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic, execute_roundstart_rule), rule), rule.delay)
|
||||
|
||||
..()
|
||||
|
||||
@@ -740,7 +740,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
if (forced_latejoin_rule.ready(TRUE))
|
||||
if (!forced_latejoin_rule.repeatable)
|
||||
latejoin_rules = remove_from_list(latejoin_rules, forced_latejoin_rule.type)
|
||||
addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_midround_latejoin_rule, forced_latejoin_rule), forced_latejoin_rule.delay)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/game_mode/dynamic, execute_midround_latejoin_rule), forced_latejoin_rule), forced_latejoin_rule.delay)
|
||||
forced_latejoin_rule = null
|
||||
|
||||
else if (latejoin_injection_cooldown < world.time && prob(get_injection_chance()))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/game_mode/dynamic/proc/setup_hijacking()
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_PRE_RANDOM_EVENT, .proc/on_pre_random_event)
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_PRE_RANDOM_EVENT, PROC_REF(on_pre_random_event))
|
||||
|
||||
/datum/game_mode/dynamic/proc/on_pre_random_event(datum/source, datum/round_event_control/round_event_control)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
current_midround_rulesets = drafted_rules - rule
|
||||
|
||||
midround_injection_timer_id = addtimer(
|
||||
CALLBACK(src, .proc/execute_midround_rule, rule), \
|
||||
CALLBACK(src, PROC_REF(execute_midround_rule), rule), \
|
||||
ADMIN_CANCEL_MIDROUND_TIME, \
|
||||
TIMER_STOPPABLE, \
|
||||
)
|
||||
@@ -53,7 +53,7 @@
|
||||
midround_injection_timer_id = null
|
||||
if (!rule.repeatable)
|
||||
midround_rules = remove_from_list(midround_rules, rule.type)
|
||||
addtimer(CALLBACK(src, .proc/execute_midround_latejoin_rule, rule), rule.delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(execute_midround_latejoin_rule), rule), rule.delay)
|
||||
|
||||
/// Executes a random latejoin ruleset from the list of drafted rules.
|
||||
/datum/game_mode/dynamic/proc/pick_latejoin_rule(list/drafted_rules)
|
||||
@@ -62,7 +62,7 @@
|
||||
return
|
||||
if (!rule.repeatable)
|
||||
latejoin_rules = remove_from_list(latejoin_rules, rule.type)
|
||||
addtimer(CALLBACK(src, .proc/execute_midround_latejoin_rule, rule), rule.delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(execute_midround_latejoin_rule), rule), rule.delay)
|
||||
return TRUE
|
||||
|
||||
/// Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
/datum/game_mode/proc/post_setup(report) //Gamemodes can override the intercept report. Passing TRUE as the argument will force a report.
|
||||
if(!report)
|
||||
report = !CONFIG_GET(flag/no_intercept_report)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/display_roundstart_logout_report), ROUNDSTART_LOGOUT_REPORT_TIME)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(display_roundstart_logout_report)), ROUNDSTART_LOGOUT_REPORT_TIME)
|
||||
|
||||
if(prob(20)) //cit-change
|
||||
flipseclevel = TRUE
|
||||
@@ -100,7 +100,7 @@
|
||||
// delay = (delay SECONDS)
|
||||
// else
|
||||
// delay = (4 MINUTES) //default to 4 minutes if the delay isn't defined.
|
||||
// addtimer(CALLBACK(GLOBAL_PROC, .proc/reopen_roundstart_suicide_roles), delay)
|
||||
// addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reopen_roundstart_suicide_roles)), delay)
|
||||
|
||||
if(SSdbcore.Connect())
|
||||
var/list/to_set = list()
|
||||
@@ -120,7 +120,7 @@
|
||||
query_round_game_mode.Execute()
|
||||
qdel(query_round_game_mode)
|
||||
if(report)
|
||||
addtimer(CALLBACK(src, .proc/send_intercept, 0), rand(waittime_l, waittime_h))
|
||||
addtimer(CALLBACK(src, PROC_REF(send_intercept), 0), rand(waittime_l, waittime_h))
|
||||
generate_station_goals()
|
||||
gamemode_ready = TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -154,7 +154,7 @@ Class Procs:
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
else
|
||||
START_PROCESSING(SSmachines, src)
|
||||
RegisterSignal(src, COMSIG_ENTER_AREA, .proc/power_change)
|
||||
RegisterSignal(src, COMSIG_ENTER_AREA, PROC_REF(power_change))
|
||||
|
||||
if (occupant_typecache)
|
||||
occupant_typecache = typecacheof(occupant_typecache)
|
||||
@@ -528,7 +528,7 @@ Class Procs:
|
||||
I.play_tool_sound(src, 50)
|
||||
var/prev_anchored = anchored
|
||||
//as long as we're the same anchored state and we're either on a floor or are anchored, toggle our anchored state
|
||||
if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, .proc/unfasten_wrench_check, prev_anchored, user)))
|
||||
if(I.use_tool(src, user, time, extra_checks = CALLBACK(src, PROC_REF(unfasten_wrench_check), prev_anchored, user)))
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]secure [src].</span>")
|
||||
setAnchored(!anchored)
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
|
||||
@@ -55,4 +55,4 @@
|
||||
to_chat(user, "<span class='notice'>You activate [src]. It now has <b>[uses]</b> uses of foam remaining.</span>")
|
||||
cooldown = world.time + cooldown_time
|
||||
power_change()
|
||||
addtimer(CALLBACK(src, .proc/power_change), cooldown_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(power_change)), cooldown_time)
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
if(materials.materials[i] > 0)
|
||||
list_to_show += i
|
||||
|
||||
used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, /proc/cmp_typepaths_asc))
|
||||
used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, GLOBAL_PROC_REF(cmp_typepaths_asc)))
|
||||
if(isnull(used_material))
|
||||
return //Didn't pick any material, so you can't build shit either.
|
||||
custom_materials[used_material] += amount_needed
|
||||
@@ -223,7 +223,7 @@
|
||||
use_power(power)
|
||||
icon_state = "autolathe_n"
|
||||
var/time = is_stack ? 32 : (32 * coeff * multiplier) ** 0.8
|
||||
addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time)
|
||||
addtimer(CALLBACK(src, PROC_REF(make_item), power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time)
|
||||
. = TRUE
|
||||
else
|
||||
to_chat(usr, span_alert("Not enough materials for this operation."))
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
if(device)
|
||||
device.pulsed()
|
||||
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 15)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 15)
|
||||
|
||||
/obj/machinery/button/power_change()
|
||||
..()
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
if(can_use())
|
||||
GLOB.cameranet.addCamera(src)
|
||||
emped = 0 //Resets the consecutive EMP count
|
||||
addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100)
|
||||
addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 100)
|
||||
for(var/i in GLOB.player_list)
|
||||
var/mob/M = i
|
||||
if (M.client.eye == src)
|
||||
@@ -325,7 +325,7 @@
|
||||
change_msg = "reactivates"
|
||||
triggerCameraAlarm()
|
||||
if(!QDELETED(src)) //We'll be doing it anyway in destroy
|
||||
addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100)
|
||||
addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 100)
|
||||
if(displaymessage)
|
||||
if(user)
|
||||
visible_message("<span class='danger'>[user] [change_msg] [src]!</span>")
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
|
||||
/obj/item/civ_bounty_beacon/attack_self()
|
||||
loc.visible_message("<span class='warning'>\The [src] begins to beep loudly!</span>")
|
||||
addtimer(CALLBACK(src, .proc/launch_payload), 4 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(launch_payload)), 4 SECONDS)
|
||||
|
||||
/obj/item/civ_bounty_beacon/proc/launch_payload()
|
||||
playsound(src, "sparks", 80, TRUE)
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
log_game("[key_name(operator)] set the logs of [src] in [AREACOORD(src)] [should_log ? "On" : "Off"]")
|
||||
if("restore-console")
|
||||
restoring = TRUE
|
||||
addtimer(CALLBACK(src, .proc/restore_comp), rand(3,5) * 9)
|
||||
addtimer(CALLBACK(src, PROC_REF(restore_comp)), rand(3,5) * 9)
|
||||
if("access-apc")
|
||||
var/ref = params["ref"]
|
||||
playsound(src, "terminal_type", 50, FALSE)
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
|
||||
/obj/machinery/computer/security/telescreen/entertainment/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_CLICK, .proc/BigClick)
|
||||
RegisterSignal(src, COMSIG_CLICK, PROC_REF(BigClick))
|
||||
|
||||
// Bypass clickchain to allow humans to use the telescreen from a distance
|
||||
/obj/machinery/computer/security/telescreen/entertainment/proc/BigClick()
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
say("Initiating scan...")
|
||||
var/prev_locked = scanner.locked
|
||||
scanner.locked = TRUE
|
||||
addtimer(CALLBACK(src, .proc/finish_scan, scanner.occupant, prev_locked), 2 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_scan), scanner.occupant, prev_locked), 2 SECONDS)
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/computer/cloning/proc/Toggle_autoprocess(mob/user)
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
if("teleport")
|
||||
if(!teleporter || !beacon)
|
||||
return
|
||||
addtimer(CALLBACK(src, .proc/teleport, usr), 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(teleport), usr), 5)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/computer/prisoner/gulag_teleporter_computer/proc/scan_machinery()
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
say("Processing hub calibration to target...")
|
||||
calibrating = TRUE
|
||||
power_station.update_icon()
|
||||
addtimer(CALLBACK(src, .proc/finish_calibration), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_calibration)), 50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/computer/teleporter/proc/finish_calibration()
|
||||
@@ -150,7 +150,7 @@
|
||||
var/mob/living/M = target
|
||||
var/obj/item/implant/tracking/I = locate() in M.implants
|
||||
if(I)
|
||||
RegisterSignal(I, COMSIG_IMPLANT_REMOVING, .proc/untarget_implant)
|
||||
RegisterSignal(I, COMSIG_IMPLANT_REMOVING, PROC_REF(untarget_implant))
|
||||
imp_t = I
|
||||
else
|
||||
target = null
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You start to add cables to the frame...</span>")
|
||||
if(P.use_tool(src, user, 20, volume=50, amount=5, extra_checks = CALLBACK(src, .proc/check_state, 1)))
|
||||
if(P.use_tool(src, user, 20, volume=50, amount=5, extra_checks = CALLBACK(src, PROC_REF(check_state), 1)))
|
||||
to_chat(user, "<span class='notice'>You add cables to the frame.</span>")
|
||||
state = 2
|
||||
icon_state = "box_1"
|
||||
@@ -99,7 +99,7 @@
|
||||
if(P.tool_behaviour == TOOL_SCREWDRIVER && !anchored)
|
||||
user.visible_message("<span class='warning'>[user] disassembles the frame.</span>", \
|
||||
"<span class='notice'>You start to disassemble the frame...</span>", "<span class='hear'>You hear banging and clanking.</span>")
|
||||
if(P.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/check_state, 1)))
|
||||
if(P.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(check_state), 1)))
|
||||
if(state == 1)
|
||||
to_chat(user, "<span class='notice'>You disassemble the frame.</span>")
|
||||
var/obj/item/stack/sheet/metal/M = new (loc, 5)
|
||||
@@ -108,7 +108,7 @@
|
||||
return
|
||||
if(P.tool_behaviour == TOOL_WRENCH)
|
||||
to_chat(user, "<span class='notice'>You start [anchored ? "un" : ""]securing [src]...</span>")
|
||||
if(P.use_tool(src, user, 40, volume=75, extra_checks = CALLBACK(src, .proc/check_state, 1)))
|
||||
if(P.use_tool(src, user, 40, volume=75, extra_checks = CALLBACK(src, PROC_REF(check_state), 1)))
|
||||
if(state == 1)
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]secure [src].</span>")
|
||||
set_anchored(!anchored)
|
||||
@@ -117,7 +117,7 @@
|
||||
if(2)
|
||||
if(P.tool_behaviour == TOOL_WRENCH)
|
||||
to_chat(user, "<span class='notice'>You start [anchored ? "un" : ""]securing [src]...</span>")
|
||||
if(P.use_tool(src, user, 40, volume=75, extra_checks = CALLBACK(src, .proc/check_state, 2)))
|
||||
if(P.use_tool(src, user, 40, volume=75, extra_checks = CALLBACK(src, PROC_REF(check_state), 2)))
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]secure [src].</span>")
|
||||
set_anchored(!anchored)
|
||||
return
|
||||
@@ -175,7 +175,7 @@
|
||||
|
||||
if(P.tool_behaviour == TOOL_WRENCH && !circuit.needs_anchored)
|
||||
to_chat(user, "<span class='notice'>You start [anchored ? "un" : ""]securing [src]...</span>")
|
||||
if(P.use_tool(src, user, 40, volume=75, extra_checks = CALLBACK(src, .proc/check_state, 3)))
|
||||
if(P.use_tool(src, user, 40, volume=75, extra_checks = CALLBACK(src, PROC_REF(check_state), 3)))
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]secure [src].</span>")
|
||||
set_anchored(!anchored)
|
||||
return
|
||||
@@ -231,7 +231,7 @@
|
||||
for(var/obj/item/co in replacer)
|
||||
part_list += co
|
||||
//Sort the parts. This ensures that higher tier items are applied first.
|
||||
part_list = sortTim(part_list, /proc/cmp_rped_sort)
|
||||
part_list = sortTim(part_list, GLOBAL_PROC_REF(cmp_rped_sort))
|
||||
|
||||
for(var/path in req_components)
|
||||
while(req_components[path] > 0 && (locate(path) in part_list))
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
/obj/structure/barricade/security/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/deploy), deploy_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(deploy)), deploy_time)
|
||||
|
||||
/obj/structure/barricade/security/proc/deploy()
|
||||
icon_state = "barrier1"
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
if(cyclelinkedairlock.operating)
|
||||
cyclelinkedairlock.delayed_close_requested = TRUE
|
||||
else
|
||||
addtimer(CALLBACK(cyclelinkedairlock, .proc/close), 2)
|
||||
addtimer(CALLBACK(cyclelinkedairlock, PROC_REF(close)), 2)
|
||||
..()
|
||||
|
||||
/obj/machinery/door/airlock/proc/isElectrified()
|
||||
@@ -1042,7 +1042,7 @@
|
||||
user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \
|
||||
"<span class='notice'>You begin [welded ? "unwelding":"welding"] the airlock...</span>", \
|
||||
"<span class='italics'>You hear welding.</span>")
|
||||
if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user)))
|
||||
if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(weld_checks), W, user)))
|
||||
welded = !welded
|
||||
user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \
|
||||
"<span class='notice'>You [welded ? "weld the airlock shut":"unweld the airlock"].</span>")
|
||||
@@ -1054,7 +1054,7 @@
|
||||
user.visible_message("[user] is welding the airlock.", \
|
||||
"<span class='notice'>You begin repairing the airlock...</span>", \
|
||||
"<span class='italics'>You hear welding.</span>")
|
||||
if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, .proc/weld_checks, W, user)))
|
||||
if(W.use_tool(src, user, 40, volume=50, extra_checks = CALLBACK(src, PROC_REF(weld_checks), W, user)))
|
||||
obj_integrity = max_integrity
|
||||
stat &= ~BROKEN
|
||||
user.visible_message("[user.name] has repaired [src].", \
|
||||
@@ -1208,7 +1208,7 @@
|
||||
operating = FALSE
|
||||
if(delayed_close_requested)
|
||||
delayed_close_requested = FALSE
|
||||
addtimer(CALLBACK(src, .proc/close), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(close)), 1)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -1305,7 +1305,7 @@
|
||||
return
|
||||
operating = TRUE
|
||||
update_icon(AIRLOCK_EMAG, 1)
|
||||
addtimer(CALLBACK(src, .proc/open_sesame), 6)
|
||||
addtimer(CALLBACK(src, PROC_REF(open_sesame)), 6)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/airlock/proc/open_sesame()
|
||||
@@ -1381,7 +1381,7 @@
|
||||
deltimer(unelectrify_timerid)
|
||||
unelectrify_timerid = null
|
||||
if(secondsElectrified != ELECTRIFIED_PERMANENT)
|
||||
unelectrify_timerid = addtimer(CALLBACK(src, .proc/remove_electrify), secondsElectrified SECONDS, TIMER_STOPPABLE)
|
||||
unelectrify_timerid = addtimer(CALLBACK(src, PROC_REF(remove_electrify)), secondsElectrified SECONDS, TIMER_STOPPABLE)
|
||||
diag_hud_set_electrified()
|
||||
|
||||
if(user)
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
close()
|
||||
|
||||
/obj/machinery/door/proc/autoclose_in(wait)
|
||||
addtimer(CALLBACK(src, .proc/autoclose), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE)
|
||||
addtimer(CALLBACK(src, PROC_REF(autoclose)), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE)
|
||||
|
||||
/obj/machinery/door/proc/requiresID()
|
||||
return 1
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
do_animate("opening")
|
||||
playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1)
|
||||
src.icon_state ="[src.base_state]open"
|
||||
addtimer(CALLBACK(src, .proc/finish_opening), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_opening)), 10)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/window/proc/finish_opening()
|
||||
@@ -186,7 +186,7 @@
|
||||
density = TRUE
|
||||
air_update_turf(1)
|
||||
update_freelook_sight()
|
||||
addtimer(CALLBACK(src, .proc/finish_closing), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_closing)), 10)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/window/proc/finish_closing()
|
||||
@@ -231,7 +231,7 @@
|
||||
operating = TRUE
|
||||
flick("[src.base_state]spark", src)
|
||||
playsound(src, "sparks", 75, 1)
|
||||
addtimer(CALLBACK(src, .proc/open_windows_me), 6)
|
||||
addtimer(CALLBACK(src, PROC_REF(open_windows_me)), 6)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/window/proc/open_windows_me()
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5)
|
||||
|
||||
usr.set_machine(src)
|
||||
addtimer(CALLBACK(src, .proc/updateDialog), 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(updateDialog)), 5)
|
||||
|
||||
/obj/machinery/embedded_controller/process()
|
||||
if(program)
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
visible_message("<span class='notice'>The [name] begins warming up!</span>")
|
||||
say("Initializing harvest protocol.")
|
||||
update_icon()
|
||||
addtimer(CALLBACK(src, .proc/harvest), interval)
|
||||
addtimer(CALLBACK(src, PROC_REF(harvest)), interval)
|
||||
|
||||
/obj/machinery/harvester/proc/harvest()
|
||||
warming_up = FALSE
|
||||
@@ -132,7 +132,7 @@
|
||||
operation_order.Remove(BP)
|
||||
break
|
||||
use_power(5000)
|
||||
addtimer(CALLBACK(src, .proc/harvest), interval)
|
||||
addtimer(CALLBACK(src, PROC_REF(harvest)), interval)
|
||||
|
||||
/obj/machinery/harvester/proc/end_harvesting()
|
||||
warming_up = FALSE
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
START_PROCESSING(SSobj, src)
|
||||
start_time = world.time
|
||||
update_icon()
|
||||
timerid = addtimer(CALLBACK(src, .proc/finish_interrogation), 450, TIMER_STOPPABLE)
|
||||
timerid = addtimer(CALLBACK(src, PROC_REF(finish_interrogation)), 450, TIMER_STOPPABLE)
|
||||
|
||||
/obj/machinery/hypnochair/process()
|
||||
var/mob/living/carbon/C = occupant
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
flick("limbgrower_fill",src)
|
||||
icon_state = "limbgrower_idleon"
|
||||
selected_category = params["active_tab"]
|
||||
addtimer(CALLBACK(src, .proc/build_item, consumed_reagents_list), production_speed * production_coefficient)
|
||||
addtimer(CALLBACK(src, PROC_REF(build_item), consumed_reagents_list), production_speed * production_coefficient)
|
||||
. = TRUE
|
||||
|
||||
return
|
||||
|
||||
@@ -65,4 +65,4 @@
|
||||
if(isliving(O))
|
||||
var/mob/living/L = O
|
||||
to_chat(L, "<span class='warning'>You feel something click beneath you!</span>")
|
||||
addtimer(CALLBACK(src, .proc/drive), drive_delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(drive)), drive_delay)
|
||||
|
||||
@@ -358,7 +358,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
toggle_on(FALSE) //turns off the turret temporarily
|
||||
update_icon()
|
||||
//6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit
|
||||
addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 6 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 6 SECONDS)
|
||||
//turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here
|
||||
|
||||
/obj/machinery/porta_turret/emp_act(severity)
|
||||
@@ -378,7 +378,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
toggle_on(FALSE)
|
||||
remove_control()
|
||||
|
||||
addtimer(CALLBACK(src, .proc/toggle_on, TRUE), rand(60,600))
|
||||
addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(60,600))
|
||||
|
||||
/obj/machinery/porta_turret/take_damage(damage, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
|
||||
. = ..()
|
||||
@@ -387,7 +387,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
spark_system.start()
|
||||
if(on && !(turret_flags & TURRET_FLAG_SHOOT_ALL_REACT) && !(obj_flags & EMAGGED))
|
||||
turret_flags |= TURRET_FLAG_SHOOT_ALL_REACT
|
||||
addtimer(CALLBACK(src, .proc/reset_attacked), 60)
|
||||
addtimer(CALLBACK(src, PROC_REF(reset_attacked)), 60)
|
||||
|
||||
/obj/machinery/porta_turret/proc/reset_attacked()
|
||||
turret_flags &= ~TURRET_FLAG_SHOOT_ALL_REACT
|
||||
@@ -816,9 +816,9 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
if(target)
|
||||
setDir(get_dir(base, target))//even if you can't shoot, follow the target
|
||||
shootAt(target)
|
||||
addtimer(CALLBACK(src, .proc/shootAt, target), 5)
|
||||
addtimer(CALLBACK(src, .proc/shootAt, target), 10)
|
||||
addtimer(CALLBACK(src, .proc/shootAt, target), 15)
|
||||
addtimer(CALLBACK(src, PROC_REF(shootAt), target), 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(shootAt), target), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(shootAt), target), 15)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/porta_turret/ai
|
||||
@@ -1194,8 +1194,8 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
if(team_color == "blue")
|
||||
if(istype(P, /obj/item/projectile/beam/lasertag/redtag))
|
||||
toggle_on(FALSE)
|
||||
addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 10 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 10 SECONDS)
|
||||
else if(team_color == "red")
|
||||
if(istype(P, /obj/item/projectile/beam/lasertag/bluetag))
|
||||
toggle_on(FALSE)
|
||||
addtimer(CALLBACK(src, .proc/toggle_on, TRUE), 10 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 10 SECONDS)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
visible_message("There are positronic personalities available!")
|
||||
radio.talk_into(src, "There are positronic personalities available!", science_channel)
|
||||
playsound(loc, 'sound/machines/ping.ogg', 50)
|
||||
addtimer(CALLBACK(src, .proc/liftcooldown), 300)
|
||||
addtimer(CALLBACK(src, PROC_REF(liftcooldown)), 300)
|
||||
|
||||
/obj/machinery/posialert/proc/liftcooldown()
|
||||
inuse = FALSE
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
safety_mode = TRUE
|
||||
update_icon()
|
||||
L.forceMove(loc)
|
||||
addtimer(CALLBACK(src, .proc/reboot), SAFETY_COOLDOWN)
|
||||
addtimer(CALLBACK(src, PROC_REF(reboot)), SAFETY_COOLDOWN)
|
||||
|
||||
/obj/machinery/recycler/proc/reboot()
|
||||
playsound(src, 'sound/machines/ping.ogg', 50, 0)
|
||||
|
||||
@@ -338,7 +338,7 @@ GLOBAL_LIST_EMPTY(allConsoles)
|
||||
Radio.set_frequency(radio_freq)
|
||||
Radio.talk_into(src, "[emergency] emergency in [department]!!", radio_freq)
|
||||
update_icon()
|
||||
addtimer(CALLBACK(src, .proc/clear_emergency), 5 MINUTES)
|
||||
addtimer(CALLBACK(src, PROC_REF(clear_emergency)), 5 MINUTES)
|
||||
|
||||
if(href_list["department"] && message)
|
||||
var/sending = message
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/obj/machinery/sheetifier/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, .proc/CanInsertMaterials), CALLBACK(src, .proc/AfterInsertMaterials))
|
||||
AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, PROC_REF(CanInsertMaterials)), CALLBACK(src, .proc/AfterInsertMaterials))
|
||||
|
||||
/obj/machinery/sheetifier/update_overlays()
|
||||
. = ..()
|
||||
@@ -35,7 +35,7 @@
|
||||
var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing")
|
||||
processing_overlay.color = last_inserted_material.color
|
||||
flick_overlay_static(processing_overlay, src, 64)
|
||||
addtimer(CALLBACK(src, .proc/finish_processing), 64)
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_processing)), 64)
|
||||
|
||||
/obj/machinery/sheetifier/proc/finish_processing()
|
||||
busy_processing = FALSE
|
||||
|
||||
@@ -204,9 +204,9 @@
|
||||
update_icon()
|
||||
updateDialog()
|
||||
|
||||
var/spin_loop = addtimer(CALLBACK(src, .proc/do_spin), 2, TIMER_LOOP|TIMER_STOPPABLE)
|
||||
var/spin_loop = addtimer(CALLBACK(src, PROC_REF(do_spin)), 2, TIMER_LOOP|TIMER_STOPPABLE)
|
||||
|
||||
addtimer(CALLBACK(src, .proc/finish_spinning, spin_loop, user, the_name), SPIN_TIME - (REEL_DEACTIVATE_DELAY * reels.len))
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_spinning), spin_loop, user, the_name), SPIN_TIME - (REEL_DEACTIVATE_DELAY * reels.len))
|
||||
//WARNING: no sanity checking for user since it's not needed and would complicate things (machine should still spin even if user is gone), be wary of this if you're changing this code.
|
||||
|
||||
/obj/machinery/computer/slot_machine/proc/do_spin()
|
||||
|
||||
@@ -295,7 +295,7 @@
|
||||
else
|
||||
mob_occupant.adjustFireLoss(rand(10, 16))
|
||||
mob_occupant.emote("scream")
|
||||
addtimer(CALLBACK(src, .proc/cook), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cook)), 50)
|
||||
else
|
||||
uv_cycles = initial(uv_cycles)
|
||||
uv = FALSE
|
||||
@@ -403,7 +403,7 @@
|
||||
if(locked)
|
||||
visible_message("<span class='notice'>You see [user] kicking against the doors of [src]!</span>", \
|
||||
"<span class='notice'>You start kicking against the doors...</span>")
|
||||
addtimer(CALLBACK(src, .proc/resist_open, user), 300)
|
||||
addtimer(CALLBACK(src, PROC_REF(resist_open), user), 300)
|
||||
else
|
||||
open_machine()
|
||||
dump_contents()
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
chem_splash(get_turf(src), spread_range, list(reactants), temp_boost)
|
||||
|
||||
// Detonate it again in one second, until it's out of juice.
|
||||
addtimer(CALLBACK(src, .proc/detonate), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(detonate)), 10)
|
||||
|
||||
// If it's not a time release bomb, do normal explosion
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
if(istype(S) && S.hack_software)
|
||||
hacking = TRUE
|
||||
//Time it takes to bruteforce is dependant on the password length.
|
||||
addtimer(CALLBACK(src, .proc/BruteForce, usr), (10 SECONDS) * length(linkedServer.decryptkey))
|
||||
addtimer(CALLBACK(src, PROC_REF(BruteForce), usr), (10 SECONDS) * length(linkedServer.decryptkey))
|
||||
|
||||
if("del_log")
|
||||
if(!auth)
|
||||
@@ -344,7 +344,7 @@
|
||||
var/obj/item/paper/monitorkey/MK = new(loc, linkedServer)
|
||||
// Will help make emagging the console not so easy to get away with.
|
||||
MK.info += "<br><br><font color='red'>�%@%(*$%&(�&?*(%&�/{}</font>"
|
||||
addtimer(CALLBACK(src, .proc/UnmagConsole), (10 SECONDS) * length(linkedServer.decryptkey))
|
||||
addtimer(CALLBACK(src, PROC_REF(UnmagConsole)), (10 SECONDS) * length(linkedServer.decryptkey))
|
||||
//message = rebootmsg
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
R.set_connected_ai(masterAI)
|
||||
R.lawsync()
|
||||
R.lawupdate = 1
|
||||
addtimer(CALLBACK(src, .proc/unlock_new_robot, R), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(unlock_new_robot), R), 50)
|
||||
|
||||
/obj/machinery/transformer/proc/unlock_new_robot(mob/living/silicon/robot/R)
|
||||
playsound(src.loc, 'sound/machines/ping.ogg', 50, 0)
|
||||
|
||||
@@ -164,7 +164,7 @@ GLOBAL_LIST_INIT(dye_registry, list(
|
||||
|
||||
busy = TRUE
|
||||
update_icon()
|
||||
addtimer(CALLBACK(src, .proc/wash_cycle), 200)
|
||||
addtimer(CALLBACK(src, PROC_REF(wash_cycle)), 200)
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
I.alpha = 64
|
||||
I.appearance_flags = RESET_ALPHA
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessedAware, "blessing", I)
|
||||
RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, .proc/block_cult_teleport)
|
||||
RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, PROC_REF(block_cult_teleport))
|
||||
|
||||
/obj/effect/blessing/Destroy()
|
||||
UnregisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT)
|
||||
|
||||
@@ -72,7 +72,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
|
||||
sleep(5)
|
||||
step(E,direction)
|
||||
if(!QDELETED(src))
|
||||
addtimer(CALLBACK(src, .proc/decrement_total_effect), 20)
|
||||
addtimer(CALLBACK(src, PROC_REF(decrement_total_effect)), 20)
|
||||
|
||||
/datum/effect_system/proc/decrement_total_effect()
|
||||
total_effects--
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var/direct = pick(GLOB.alldirs)
|
||||
var/steps_amt = pick(1;25,2;50,3,4;200)
|
||||
for(var/j in 1 to steps_amt)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/_step, expl, direct), j)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), expl, direct), j)
|
||||
|
||||
/obj/effect/explosion
|
||||
name = "fire"
|
||||
@@ -55,4 +55,4 @@
|
||||
S.start()
|
||||
/datum/effect_system/explosion/smoke/start()
|
||||
..()
|
||||
addtimer(CALLBACK(src, .proc/create_smoke), 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(create_smoke)), 5)
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
/obj/structure/foamedmetal/resin/Initialize(mapload)
|
||||
. = ..()
|
||||
neutralize_air()
|
||||
addtimer(CALLBACK(src, .proc/neutralize_air), 5) // yeah this sucks, maybe when auxmos is out
|
||||
addtimer(CALLBACK(src, PROC_REF(neutralize_air)), 5) // yeah this sucks, maybe when auxmos is out
|
||||
|
||||
/obj/structure/foamedmetal/resin/proc/neutralize_air()
|
||||
if(isopenturf(loc))
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
if(C.smoke_delay)
|
||||
return 0
|
||||
C.smoke_delay++
|
||||
addtimer(CALLBACK(src, .proc/remove_smoke_delay, C), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_smoke_delay), C), 10)
|
||||
return 1
|
||||
|
||||
/obj/effect/particle_effect/smoke/proc/remove_smoke_delay(mob/living/carbon/C)
|
||||
|
||||
@@ -98,8 +98,8 @@
|
||||
else //if on the floor, glowshroom on-floor sprite
|
||||
icon_state = base_icon_state
|
||||
|
||||
addtimer(CALLBACK(src, .proc/Spread), delay_spread)
|
||||
addtimer(CALLBACK(src, .proc/Decay), delay_decay, FALSE) // Start decaying the plant
|
||||
addtimer(CALLBACK(src, PROC_REF(Spread)), delay_spread)
|
||||
addtimer(CALLBACK(src, PROC_REF(Decay)), delay_decay, FALSE) // Start decaying the plant
|
||||
|
||||
/**
|
||||
* Causes glowshroom spreading across the floor/walls.
|
||||
@@ -151,7 +151,7 @@
|
||||
CHECK_TICK
|
||||
if(shrooms_planted <= myseed.yield) //if we didn't get all possible shrooms planted, try again later
|
||||
myseed.adjust_yield(-shrooms_planted)
|
||||
addtimer(CALLBACK(src, .proc/Spread), delay_spread)
|
||||
addtimer(CALLBACK(src, PROC_REF(Spread)), delay_spread)
|
||||
|
||||
/obj/structure/glowshroom/proc/CalcDir(turf/location = loc)
|
||||
var/direction = 16
|
||||
@@ -204,7 +204,7 @@
|
||||
if(obj_integrity > max_integrity)
|
||||
obj_integrity = max_integrity
|
||||
if (myseed.endurance > 0)
|
||||
addtimer(CALLBACK(src, .proc/Decay), delay_decay, FALSE) // Recall decay timer
|
||||
addtimer(CALLBACK(src, PROC_REF(Decay)), delay_decay, FALSE) // Recall decay timer
|
||||
return
|
||||
if (myseed.endurance < 1) // Plant is gone
|
||||
qdel(src)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
else if(hasprox_receiver == host) //Default case
|
||||
hasprox_receiver = H
|
||||
host = H
|
||||
RegisterSignal(host, COMSIG_MOVABLE_MOVED, .proc/HandleMove)
|
||||
RegisterSignal(host, COMSIG_MOVABLE_MOVED, PROC_REF(HandleMove))
|
||||
last_host_loc = host.loc
|
||||
SetRange(current_range,TRUE)
|
||||
|
||||
|
||||
@@ -15,5 +15,5 @@
|
||||
message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].")
|
||||
log_game("An alien egg has been delivered to [AREACOORD(T)]")
|
||||
var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen."
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, /proc/_addtimer, CALLBACK(GLOBAL_PROC, /proc/print_command_report, message), announcement_time))
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, /proc/print_command_report, message), announcement_time))
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
@@ -496,7 +496,7 @@
|
||||
status = rcd_status
|
||||
delay = rcd_delay
|
||||
if (status == RCD_DECONSTRUCT)
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 11)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 11)
|
||||
delay -= 11
|
||||
icon_state = "rcd_end_reverse"
|
||||
else
|
||||
@@ -518,7 +518,7 @@
|
||||
qdel(src)
|
||||
else
|
||||
icon_state = "rcd_end"
|
||||
addtimer(CALLBACK(src, .proc/end), 15)
|
||||
addtimer(CALLBACK(src, PROC_REF(end)), 15)
|
||||
|
||||
/obj/effect/constructing_effect/proc/end()
|
||||
qdel(src)
|
||||
|
||||
@@ -738,7 +738,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
|
||||
/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, messy_throw = TRUE)
|
||||
thrownby = thrower
|
||||
callback = CALLBACK(src, .proc/after_throw, callback, (spin && messy_throw)) //replace their callback with our own
|
||||
callback = CALLBACK(src, PROC_REF(after_throw), callback, (spin && messy_throw)) //replace their callback with our own
|
||||
. = ..(target, range, speed, thrower, spin, diagonals_first, callback, force)
|
||||
|
||||
/obj/item/proc/after_throw(datum/callback/callback, messy_throw)
|
||||
@@ -910,7 +910,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
var/mob/living/L = usr
|
||||
if(usr.client.prefs.enable_tips)
|
||||
var/timedelay = usr.client.prefs.tip_delay/100
|
||||
usr.client.tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, usr), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it.
|
||||
usr.client.tip_timer = addtimer(CALLBACK(src, PROC_REF(openTip), location, control, params, usr), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it.
|
||||
if(usr.client.prefs.outline_enabled)
|
||||
if(istype(L) && L.incapacitated())
|
||||
apply_outline(COLOR_RED_GRAY) //if they're dead or handcuffed, let's show the outline as red to indicate that they can't interact with that right now
|
||||
@@ -972,7 +972,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
delay = user.mind.item_action_skills_mod(src, delay, skill_difficulty, SKILL_USE_TOOL, null, FALSE)
|
||||
|
||||
// Create a callback with checks that would be called every tick by do_after.
|
||||
var/datum/callback/tool_check = CALLBACK(src, .proc/tool_check_callback, user, amount, extra_checks)
|
||||
var/datum/callback/tool_check = CALLBACK(src, PROC_REF(tool_check_callback), user, amount, extra_checks)
|
||||
|
||||
if(ismob(target))
|
||||
if(!do_mob(user, target, delay, extra_checks=tool_check))
|
||||
|
||||
@@ -292,7 +292,7 @@ RLD
|
||||
"SOUTH" = image(icon = 'icons/mob/radial.dmi', icon_state = "csouth"),
|
||||
"WEST" = image(icon = 'icons/mob/radial.dmi', icon_state = "cwest")
|
||||
)
|
||||
var/computerdirs = show_radial_menu(user, src, computer_dirs, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/computerdirs = show_radial_menu(user, src, computer_dirs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(computerdirs)
|
||||
@@ -351,13 +351,13 @@ RLD
|
||||
"External Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance/external/glass)
|
||||
)
|
||||
|
||||
var/airlockcat = show_radial_menu(user, src, solid_or_glass_choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE)
|
||||
var/airlockcat = show_radial_menu(user, src, solid_or_glass_choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(airlockcat)
|
||||
if("Solid")
|
||||
if(advanced_airlock_setting == 1)
|
||||
var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE)
|
||||
var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(airlockpaint)
|
||||
@@ -402,7 +402,7 @@ RLD
|
||||
|
||||
if("Glass")
|
||||
if(advanced_airlock_setting == 1)
|
||||
var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE)
|
||||
var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(airlockpaint)
|
||||
@@ -548,7 +548,7 @@ RLD
|
||||
buzz loudly!</b></span>","<span class='danger'><b>[src] begins \
|
||||
vibrating violently!</b></span>")
|
||||
// 5 seconds to get rid of it
|
||||
addtimer(CALLBACK(src, .proc/detonate_pulse_explode), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 50)
|
||||
|
||||
/obj/item/construction/rcd/proc/detonate_pulse_explode()
|
||||
explosion(src, 0, 0, 3, 1, flame_range = 1)
|
||||
@@ -886,7 +886,7 @@ RLD
|
||||
machinery_data["cost"][A] = initial(M.rcd_cost)
|
||||
machinery_data["delay"][A] = initial(M.rcd_delay)
|
||||
|
||||
var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
/obj/item/rcl/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
update_icon()
|
||||
|
||||
/obj/item/rcl/ComponentInitialize()
|
||||
@@ -171,7 +171,7 @@
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED)
|
||||
RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, .proc/trigger)
|
||||
RegisterSignal(to_hook, COMSIG_MOVABLE_MOVED, PROC_REF(trigger))
|
||||
listeningTo = to_hook
|
||||
|
||||
/obj/item/rcl/proc/trigger(mob/user)
|
||||
@@ -252,7 +252,7 @@
|
||||
/obj/item/rcl/proc/showWiringGui(mob/user)
|
||||
var/list/choices = wiringGuiGenerateChoices(user)
|
||||
|
||||
wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, .proc/wiringGuiReact, user), radius = 42)
|
||||
wiring_gui_menu = show_radial_menu_persistent(user, src , choices, select_proc = CALLBACK(src, PROC_REF(wiringGuiReact), user), radius = 42)
|
||||
|
||||
/obj/item/rcl/proc/wiringGuiUpdate(mob/user)
|
||||
if(!wiring_gui_menu)
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
|
||||
/obj/item/binoculars/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/binoculars/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -25,8 +25,8 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/binoculars/proc/on_wield(obj/item/source, mob/user)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/on_walk)
|
||||
RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, .proc/rotate)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_walk))
|
||||
RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate))
|
||||
listeningTo = user
|
||||
user.visible_message("<span class='notice'>[user] holds [src] up to [user.p_their()] eyes.</span>", "<span class='notice'>You hold [src] up to your eyes.</span>")
|
||||
item_state = "binoculars_wielded"
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/obj/item/boombox/raiq/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, .proc/start_party)
|
||||
RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, PROC_REF(start_party))
|
||||
|
||||
/obj/item/boombox/raiq/proc/start_party()
|
||||
if(boomingandboxing)
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
/obj/item/broom/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/broom/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -28,7 +28,7 @@
|
||||
/// triggered on wield of two handed item
|
||||
/obj/item/broom/proc/on_wield(obj/item/source, mob/user)
|
||||
to_chat(user, "<span class='notice'>You brace the [src] against the ground in a firm sweeping stance.</span>")
|
||||
RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, .proc/sweep)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(sweep))
|
||||
|
||||
/// triggered on unwield of two handed item
|
||||
/obj/item/broom/proc/on_unwield(obj/item/source, mob/user)
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
* * user The mob choosing a skin of the cardboard cutout
|
||||
*/
|
||||
/obj/item/cardboard_cutout/proc/change_appearance(obj/item/toy/crayon/crayon, mob/living/user)
|
||||
var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, .proc/check_menu, user, crayon), radius = 36, require_near = TRUE)
|
||||
var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, PROC_REF(check_menu), user, crayon), radius = 36, require_near = TRUE)
|
||||
if(!new_appearance)
|
||||
return
|
||||
if(!do_after(user, 1 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM))
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
/obj/item/chainsaw/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/chainsaw/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
to_chat(user, "Your name has been sent to your employers for approval.")
|
||||
// Autoapproves after a certain time
|
||||
var/requires_approval = CONFIG_GET(flag/station_name_needs_approval)
|
||||
response_timer_id = addtimer(CALLBACK(src, .proc/check_state, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE)
|
||||
response_timer_id = addtimer(CALLBACK(src, PROC_REF(check_state), new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE)
|
||||
to_chat(GLOB.admins, "<span class='adminnotice'><b><font color=orange>CUSTOM STATION RENAME:</font></b>[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [html_encode(new_name)] ([requires_approval ? "REQUIRES ADMIN APPROVAL and will autodeny" : "will autoapprove"] in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (<A HREF='?_src_=holder;[HrefToken(TRUE)];reject_custom_name=[REF(src)]'>REJECT</A>)[requires_approval ? " (<A HREF='?_src_=holder;[HrefToken(TRUE)];approve_custom_name=[REF(src)]'>APPROVE</A>)" : ""] [ADMIN_CENTCOM_REPLY(user)]</span>")
|
||||
|
||||
/obj/item/station_charter/proc/check_state(designation, uname, ureal_name, ukey)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
add_overlay("flaps")
|
||||
add_overlay("hatch")
|
||||
add_overlay("legs_retracted")
|
||||
addtimer(CALLBACK(src, .proc/startUp), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(startUp)), 50)
|
||||
QDEL_IN(src, 8 MINUTES) //Self destruct after 8 min
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
if (account) // get_bank_account() may return FALSE
|
||||
account.transfer_money(B, amount)
|
||||
B.bank_card_talk("You have lost [percentage_lost * 100]% of your funds! A spacecoin credit deposit machine is located at: [get_area(src)].")
|
||||
addtimer(CALLBACK(src, .proc/dump), 150) //Drain every 15 seconds
|
||||
addtimer(CALLBACK(src, PROC_REF(dump)), 150) //Drain every 15 seconds
|
||||
|
||||
/obj/structure/checkoutmachine/process()
|
||||
var/anydir = pick(GLOB.cardinals)
|
||||
@@ -208,7 +208,7 @@
|
||||
/obj/effect/dumpeetTarget/Initialize(mapload, user)
|
||||
. = ..()
|
||||
bogdanoff = user
|
||||
addtimer(CALLBACK(src, .proc/startLaunch), 100)
|
||||
addtimer(CALLBACK(src, PROC_REF(startLaunch)), 100)
|
||||
sound_to_playing_players('sound/items/dump_it.ogg', 20)
|
||||
deadchat_broadcast("<span class='game deadsay'>Protocol CRAB-17 has been activated. A space-coin market has been launched at the station!</span>", turf_target = get_turf(src))
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
priority_announce("The spacecoin bubble has popped! Get to the credit deposit machine at [get_area(src)] and cash out before you lose all of your funds!", sender_override = "CRAB-17 Protocol")
|
||||
animate(DF, pixel_z = -8, time = 5, , easing = LINEAR_EASING)
|
||||
playsound(src, 'sound/weapons/mortar_whistle.ogg', 70, TRUE, 6)
|
||||
addtimer(CALLBACK(src, .proc/endLaunch), 5, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
addtimer(CALLBACK(src, PROC_REF(endLaunch)), 5, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
..()
|
||||
var/choice = input("Select a species", "Human Spawner", null) in GLOB.species_list
|
||||
selected_species = GLOB.species_list[choice]
|
||||
|
||||
|
||||
/* Revive this once we purge all the istype checks for tools for tool_behaviour
|
||||
/obj/item/debug/omnitool
|
||||
name = "omnitool"
|
||||
@@ -65,7 +65,7 @@
|
||||
"Scalpel" = image(icon = 'icons/obj/surgery.dmi', icon_state = "scalpel"),
|
||||
"Saw" = image(icon = 'icons/obj/surgery.dmi', icon_state = "saw")
|
||||
)
|
||||
var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(tool_result)
|
||||
|
||||
@@ -289,8 +289,8 @@
|
||||
|
||||
/obj/item/shockpaddles/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
if(!req_defib)
|
||||
return //If it doesn't need a defib, just say it exists
|
||||
if (!loc || !istype(loc, /obj/item/defibrillator)) //To avoid weird issues from admin spawns
|
||||
@@ -320,7 +320,7 @@
|
||||
. = ..()
|
||||
if(!req_defib)
|
||||
return
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/check_range)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(check_range))
|
||||
|
||||
/obj/item/shockpaddles/Moved()
|
||||
. = ..()
|
||||
|
||||
@@ -551,7 +551,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
||||
update_label()
|
||||
if (!silent)
|
||||
playsound(src, 'sound/machines/terminal_processing.ogg', 15, 1)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/machines/terminal_success.ogg', 15, 1), 13)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/machines/terminal_success.ogg', 15, 1), 13)
|
||||
|
||||
if("Eject")//Ejects the cart, only done from hub.
|
||||
if (!isnull(cartridge))
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
SEND_SIGNAL(AM, COMSIG_MOVABLE_SECLUDED_LOCATION)
|
||||
last_use = world.time
|
||||
icon_state = "desynchronizer-on"
|
||||
resync_timer = addtimer(CALLBACK(src, .proc/resync), duration , TIMER_STOPPABLE)
|
||||
resync_timer = addtimer(CALLBACK(src, PROC_REF(resync)), duration , TIMER_STOPPABLE)
|
||||
|
||||
/obj/item/desynchronizer/proc/resync()
|
||||
new /obj/effect/temp_visual/desynchronizer(sync_holder.drop_location())
|
||||
|
||||
@@ -401,7 +401,7 @@
|
||||
update_gut(hound)
|
||||
|
||||
if(cleaning)
|
||||
addtimer(CALLBACK(src, .proc/clean_cycle, hound), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(clean_cycle), hound), 50)
|
||||
|
||||
/obj/item/dogborg/sleeper/proc/CheckAccepted(obj/item/I)
|
||||
return is_type_in_typecache(I, important_items)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
maptext = "[circuits]"
|
||||
icon_state = "[initial(icon_state)]_recharging"
|
||||
var/recharge_time = min(600, circuit_cost * 5) //40W of cost for one fabrication = 20 seconds of recharge time; this is to prevent spamming
|
||||
addtimer(CALLBACK(src, .proc/recharge), recharge_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(recharge)), recharge_time)
|
||||
return TRUE //The actual circuit magic itself is done on a per-object basis
|
||||
|
||||
/obj/item/electroadaptive_pseudocircuit/afterattack(atom/target, mob/living/user, proximity)
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
if(!(obj_flags & EMAGGED))
|
||||
user.visible_message(span_notice("[user] scans [target] with [src]."), span_notice("You scan [target]'s radiation levels with [src]..."))
|
||||
addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents
|
||||
addtimer(CALLBACK(src, PROC_REF(scan), target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents
|
||||
else
|
||||
user.visible_message(span_notice("[user] scans [target] with [src]."), span_danger("You project [src]'s stored radiation into [target]!"))
|
||||
target.rad_act(radiation_count)
|
||||
@@ -222,7 +222,7 @@
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT)
|
||||
RegisterSignal(user, COMSIG_ATOM_RAD_ACT, .proc/redirect_rad_act)
|
||||
RegisterSignal(user, COMSIG_ATOM_RAD_ACT, PROC_REF(redirect_rad_act))
|
||||
listeningTo = user
|
||||
|
||||
/obj/item/geiger_counter/cyborg/proc/redirect_rad_act(datum/source, amount)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/obj/item/megaphone/equipped(mob/M, slot)
|
||||
. = ..()
|
||||
if (slot == ITEM_SLOT_HANDS)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech))
|
||||
else
|
||||
UnregisterSignal(M, COMSIG_MOB_SAY)
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
else if(!trigger_item)
|
||||
return
|
||||
can_trigger = FALSE
|
||||
addtimer(CALLBACK(src, .proc/trigger), trigger_delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(trigger)), trigger_delay)
|
||||
|
||||
/obj/item/pressure_plate/proc/trigger()
|
||||
can_trigger = TRUE
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
|
||||
// Non-subspace radios will check in a couple of seconds, and if the signal
|
||||
// was never received, send a mundane broadcast (no headsets).
|
||||
addtimer(CALLBACK(src, .proc/backup_transmission, signal), 20)
|
||||
addtimer(CALLBACK(src, PROC_REF(backup_transmission), signal), 20)
|
||||
|
||||
/obj/item/radio/proc/backup_transmission(datum/signal/subspace/vocal/signal)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
soundloop.stop()
|
||||
soundloop2.stop()
|
||||
to_chat(loc, span_userdanger("*ding*"))
|
||||
addtimer(CALLBACK(src, .proc/snap), 2)
|
||||
addtimer(CALLBACK(src, PROC_REF(snap)), 2)
|
||||
|
||||
/obj/item/reverse_bear_trap/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
|
||||
if(iscarbon(user))
|
||||
|
||||
@@ -992,7 +992,7 @@ GENETICS SCANNER
|
||||
|
||||
ready = FALSE
|
||||
icon_state = "[icon_state]_recharging"
|
||||
addtimer(CALLBACK(src, .proc/recharge), cooldown, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(recharge)), cooldown, TIMER_UNIQUE)
|
||||
|
||||
/obj/item/sequence_scanner/proc/recharge()
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
var/mob/holder = linked_swapper.loc
|
||||
to_chat(holder, span_notice("[linked_swapper] starts buzzing."))
|
||||
next_use = world.time + cooldown //only the one used goes on cooldown
|
||||
addtimer(CALLBACK(src, .proc/swap, user), 25)
|
||||
addtimer(CALLBACK(src, PROC_REF(swap), user), 25)
|
||||
|
||||
/obj/item/swapper/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -97,7 +97,7 @@ effective or pretty fucking useless.
|
||||
addtimer(VARSET_CALLBACK(src, icon_state, "health"), cooldown)
|
||||
if(knowledge)
|
||||
to_chat(user, "<span class='warning'>Successfully irradiated [M].</span>")
|
||||
addtimer(CALLBACK(src, .proc/radiation_aftereffect, M, intensity), (wavelength+(intensity*4))*5)
|
||||
addtimer(CALLBACK(src, PROC_REF(radiation_aftereffect), M, intensity), (wavelength+(intensity*4))*5)
|
||||
else
|
||||
if(knowledge)
|
||||
to_chat(user, "<span class='warning'>The radioactive microlaser is still recharging.</span>")
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
if(toggle)
|
||||
toggle = FALSE
|
||||
toggle_valve()
|
||||
addtimer(CALLBACK(src, .proc/toggle_off), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever
|
||||
addtimer(CALLBACK(src, PROC_REF(toggle_off)), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever
|
||||
|
||||
/obj/item/transfer_valve/proc/toggle_off()
|
||||
toggle = TRUE
|
||||
@@ -220,7 +220,7 @@
|
||||
|
||||
merge_gases()
|
||||
for(var/i in 1 to 6)
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 20 + (i - 1) * 10)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 20 + (i - 1) * 10)
|
||||
|
||||
else if(valve_open && tank_one && tank_two)
|
||||
split_gases()
|
||||
|
||||
@@ -86,8 +86,8 @@
|
||||
|
||||
/obj/item/dualsaber/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/dualsaber/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
say(answer)
|
||||
|
||||
on_cooldown = TRUE
|
||||
addtimer(CALLBACK(src, .proc/clear_cooldown), cooldown_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(clear_cooldown)), cooldown_time)
|
||||
|
||||
shaking = FALSE
|
||||
|
||||
|
||||
@@ -67,8 +67,8 @@
|
||||
. = ..()
|
||||
if(ispath(cell))
|
||||
cell = new cell
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/turn_on)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/turn_off)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(turn_on))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(turn_off))
|
||||
|
||||
/obj/item/electrostaff/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
/obj/item/fireaxe/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/fireaxe/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -13,6 +13,6 @@
|
||||
|
||||
for(var/turf/T in view(range,src))
|
||||
T.AddElement(/datum/element/forced_gravity, forced_value)
|
||||
addtimer(CALLBACK(T, /datum/.proc/_RemoveElement, list(forced_value)), duration)
|
||||
addtimer(CALLBACK(T, TYPE_PROC_REF(/datum, _RemoveElement), list(forced_value)), duration)
|
||||
|
||||
qdel(src)
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
message_admins("grenade primed by an assembly at [AREACOORD(DT)], attached by [ADMIN_LOOKUPFLW(M)] and last touched by [ADMIN_LOOKUPFLW(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name])</a>.")
|
||||
log_game("grenade primed by an assembly at [AREACOORD(DT)], attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name])")
|
||||
else
|
||||
addtimer(CALLBACK(src, .proc/prime), det_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(prime)), det_time)
|
||||
log_game("A grenade detonated at [AREACOORD(DT)]")
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
var/steps = rand(1,4)
|
||||
for(var/i in 1 to steps)
|
||||
step_away(src,loc)
|
||||
addtimer(CALLBACK(src, .proc/prime), rand(15,60))
|
||||
addtimer(CALLBACK(src, PROC_REF(prime)), rand(15,60))
|
||||
|
||||
/obj/item/grenade/clusterbuster/segment/prime(mob/living/lanced_by)
|
||||
new payload_spawner(drop_location(), payload, rand(min_spawned,max_spawned))
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
playsound(src, 'sound/weapons/armbomb.ogg', volume, 1)
|
||||
active = TRUE
|
||||
icon_state = initial(icon_state) + "_active"
|
||||
addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride)
|
||||
addtimer(CALLBACK(src, PROC_REF(prime)), isnull(delayoverride)? det_time : delayoverride)
|
||||
|
||||
/obj/item/grenade/proc/prime(mob/living/lanced_by)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
if(!QDELETED(target))
|
||||
location = get_turf(target)
|
||||
target.cut_overlay(plastic_overlay)
|
||||
UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/add_plastic_overlay)
|
||||
UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_plastic_overlay))
|
||||
if(!ismob(target) || full_damage_on_mobs)
|
||||
target.ex_act(EXPLODE_HEAVY, target)
|
||||
else
|
||||
@@ -129,11 +129,11 @@
|
||||
I.embedding["embed_chance"] = 0
|
||||
I.updateEmbedding()
|
||||
|
||||
RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/add_plastic_overlay)
|
||||
RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_plastic_overlay))
|
||||
target.update_icon()
|
||||
if(!nadeassembly)
|
||||
to_chat(user, "<span class='notice'>You plant the bomb. Timer counting down from [det_time].</span>")
|
||||
addtimer(CALLBACK(src, .proc/prime), det_time*10)
|
||||
addtimer(CALLBACK(src, PROC_REF(prime)), det_time*10)
|
||||
else
|
||||
qdel(src) //How?
|
||||
|
||||
|
||||
@@ -334,7 +334,7 @@
|
||||
|
||||
/obj/item/restraints/legcuffs/beartrap/energy/New()
|
||||
..()
|
||||
addtimer(CALLBACK(src, .proc/dissipate), 100)
|
||||
addtimer(CALLBACK(src, PROC_REF(dissipate)), 100)
|
||||
|
||||
/obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate()
|
||||
if(!ismob(loc))
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
. = ..()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
GLOB.poi_list += src
|
||||
RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, .proc/move_gracefully)
|
||||
RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, PROC_REF(move_gracefully))
|
||||
|
||||
/obj/item/his_grace/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
|
||||
nullrod_icons = sortList(nullrod_icons)
|
||||
|
||||
var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, .proc/check_menu, L), radius = 42, require_near = TRUE)
|
||||
var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), L), radius = 42, require_near = TRUE)
|
||||
if(!choice || !check_menu(L))
|
||||
return
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
ADD_TRAIT(src, TRAIT_NODROP, HOT_POTATO_TRAIT)
|
||||
name = "primed [name]"
|
||||
activation_time = timer + world.time
|
||||
detonation_timerid = addtimer(CALLBACK(src, .proc/detonate), delay, TIMER_STOPPABLE)
|
||||
detonation_timerid = addtimer(CALLBACK(src, PROC_REF(detonate)), delay, TIMER_STOPPABLE)
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("[user? "[ADMIN_LOOKUPFLW(user)] has primed [src]" : "A [src] has been primed"] (Timer:[delay],Explosive:[detonate_explosion],Range:[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_fire_range]) for detonation at [ADMIN_VERBOSEJMP(T)]")
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
/obj/item/implant/deathrattle/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE)
|
||||
. = ..()
|
||||
if(.)
|
||||
RegisterSignal(target, COMSIG_LIVING_PREDEATH, .proc/on_predeath)
|
||||
RegisterSignal(target, COMSIG_LIVING_PREDEATH, PROC_REF(on_predeath))
|
||||
|
||||
if(!group)
|
||||
to_chat(target, "<i>You hear a strange, robotic voice in your head...</i> \"<span class='robot'>Warning: No other linked implants detected.</span>\"")
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
popup = FALSE
|
||||
if(response == "No")
|
||||
return FALSE
|
||||
addtimer(CALLBACK(src, .proc/timed_explosion, cause), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(timed_explosion), cause), 1)
|
||||
|
||||
/obj/item/implant/explosive/implant(mob/living/target)
|
||||
for(var/X in target.implants)
|
||||
@@ -65,10 +65,10 @@
|
||||
if(delay > 7)
|
||||
imp_in?.visible_message("<span class='warning'>[imp_in] starts beeping ominously!</span>")
|
||||
playsound(get_turf(imp_in ? imp_in : src), 'sound/items/timer.ogg', 30, 0)
|
||||
addtimer(CALLBACK(src, .proc/double_pain, TRUE), delay * 0.25)
|
||||
addtimer(CALLBACK(src, .proc/double_pain), delay * 0.5)
|
||||
addtimer(CALLBACK(src, .proc/double_pain), delay * 0.75)
|
||||
addtimer(CALLBACK(src, .proc/boom_goes_the_weasel), delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(double_pain), TRUE), delay * 0.25)
|
||||
addtimer(CALLBACK(src, PROC_REF(double_pain)), delay * 0.5)
|
||||
addtimer(CALLBACK(src, PROC_REF(double_pain)), delay * 0.75)
|
||||
addtimer(CALLBACK(src, PROC_REF(boom_goes_the_weasel)), delay)
|
||||
else //If the delay is short, just blow up already jeez
|
||||
boom_goes_the_weasel()
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
. = ..()
|
||||
if(.)
|
||||
update_position()
|
||||
RegisterSignal(imp_in, COMSIG_MOVABLE_MOVED, .proc/update_position)
|
||||
RegisterSignal(imp_in, COMSIG_MOVABLE_MOVED, PROC_REF(update_position))
|
||||
|
||||
/obj/item/implant/warp/removed(mob/living/source, silent, special)
|
||||
. = ..()
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/obj/structure/closet/cardboard/agent/proc/reveal()
|
||||
alpha = 255
|
||||
addtimer(CALLBACK(src, .proc/go_invisible), 10, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(go_invisible)), 10, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
|
||||
/obj/structure/closet/cardboard/agent/Bump(atom/movable/A)
|
||||
. = ..()
|
||||
|
||||
@@ -139,8 +139,8 @@
|
||||
var/speedbase = abs((4 SECONDS) / limbs_to_dismember.len)
|
||||
for(bodypart in limbs_to_dismember)
|
||||
i++
|
||||
addtimer(CALLBACK(src, .proc/suicide_dismember, user, bodypart), speedbase * i)
|
||||
addtimer(CALLBACK(src, .proc/manual_suicide, user), (5 SECONDS) * i)
|
||||
addtimer(CALLBACK(src, PROC_REF(suicide_dismember), user, bodypart), speedbase * i)
|
||||
addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), (5 SECONDS) * i)
|
||||
return MANUAL_SUICIDE
|
||||
|
||||
/obj/item/melee/sabre/proc/suicide_dismember(mob/living/user, obj/item/bodypart/affecting)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if(target)
|
||||
unset_target()
|
||||
target = newtarget
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/unset_target)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(unset_target))
|
||||
|
||||
/obj/item/pinpointer/proc/unset_target()
|
||||
if(!target)
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
/obj/item/pitchfork/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/pitchfork/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
if(charging)
|
||||
return
|
||||
if(candy < candymax)
|
||||
addtimer(CALLBACK(src, .proc/charge_lollipops), charge_delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(charge_lollipops)), charge_delay)
|
||||
charging = TRUE
|
||||
|
||||
/obj/item/borg/lollipop/proc/charge_lollipops()
|
||||
|
||||
@@ -530,7 +530,7 @@
|
||||
/obj/item/shield/riot/implant/Moved()
|
||||
. = ..()
|
||||
if(istype(loc, /obj/item/organ/cyberimp/arm/shield))
|
||||
recharge_timerid = addtimer(CALLBACK(src, .proc/recharge), recharge_delay, flags = TIMER_STOPPABLE)
|
||||
recharge_timerid = addtimer(CALLBACK(src, PROC_REF(recharge)), recharge_delay, flags = TIMER_STOPPABLE)
|
||||
else //extending
|
||||
if(recharge_timerid)
|
||||
deltimer(recharge_timerid)
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
/obj/item/singularityhammer/New()
|
||||
..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/singularityhammer/ComponentInitialize()
|
||||
@@ -99,8 +99,8 @@
|
||||
|
||||
/obj/item/mjollnir/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/mjollnir/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
|
||||
/obj/item/spear/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
|
||||
|
||||
/obj/item/spear/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/Pickup_ores)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(Pickup_ores))
|
||||
listeningTo = user
|
||||
|
||||
/obj/item/storage/bag/ore/dropped(mob/user)
|
||||
|
||||
@@ -60,7 +60,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
var/image/bible_image = image(icon = 'icons/obj/storage.dmi', icon_state = GLOB.biblestates[i])
|
||||
skins += list("[GLOB.biblenames[i]]" = bible_image)
|
||||
|
||||
var/choice = show_radial_menu(user, src, skins, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 40, require_near = TRUE)
|
||||
var/choice = show_radial_menu(user, src, skins, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 40, require_near = TRUE)
|
||||
if(!choice)
|
||||
return FALSE
|
||||
var/bible_index = GLOB.biblenames.Find(choice)
|
||||
|
||||
@@ -903,7 +903,7 @@
|
||||
|
||||
/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/pen))
|
||||
var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, .proc/check_menu, user, W), radius = 36, require_near = TRUE)
|
||||
var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, W), radius = 36, require_near = TRUE)
|
||||
if(!choice)
|
||||
return FALSE
|
||||
if(icon_state == "paperbag_[choice]")
|
||||
|
||||
@@ -44,11 +44,11 @@
|
||||
|
||||
/obj/item/summon/dropped(mob/user, silent)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_activation), 0, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(check_activation)), 0, TIMER_UNIQUE)
|
||||
|
||||
/obj/item/summon/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_activation), 0, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(check_activation)), 0, TIMER_UNIQUE)
|
||||
|
||||
/obj/item/summon/proc/check_activation()
|
||||
if(!host)
|
||||
@@ -340,7 +340,7 @@
|
||||
Wake()
|
||||
|
||||
/datum/summon_weapon/proc/ResetIn(ds)
|
||||
reset_timerid = addtimer(CALLBACK(src, .proc/Reset), ds, TIMER_STOPPABLE)
|
||||
reset_timerid = addtimer(CALLBACK(src, PROC_REF(Reset)), ds, TIMER_STOPPABLE)
|
||||
|
||||
/datum/summon_weapon/proc/Target(atom/victim)
|
||||
if(!istype(victim) || !isturf(victim.loc) || (host && !host.CheckTarget(victim)))
|
||||
@@ -358,7 +358,7 @@
|
||||
/datum/summon_weapon/proc/AnimationLock(duration)
|
||||
if(animation_timerid)
|
||||
deltimer(animation_timerid)
|
||||
animation_timerid = addtimer(CALLBACK(src, .proc/Act), duration, TIMER_CLIENT_TIME | TIMER_STOPPABLE)
|
||||
animation_timerid = addtimer(CALLBACK(src, PROC_REF(Act)), duration, TIMER_CLIENT_TIME | TIMER_STOPPABLE)
|
||||
|
||||
/datum/summon_weapon/proc/Act()
|
||||
animation_timerid = null
|
||||
@@ -372,7 +372,7 @@
|
||||
state = STATE_RECOVER
|
||||
// register hit at the halfway mark
|
||||
// we can do better math to approximate when the attack will hit but i'm too tired to bother
|
||||
addtimer(CALLBACK(src, .proc/Hit, victim), attack_length / 2, TIMER_CLIENT_TIME)
|
||||
addtimer(CALLBACK(src, PROC_REF(Hit), victim), attack_length / 2, TIMER_CLIENT_TIME)
|
||||
// we need to approximate our incoming angle - again, better math exists but why bother
|
||||
var/incoming_angle = angle
|
||||
if(isturf(atom.loc) && (atom.loc != victim.loc))
|
||||
@@ -392,7 +392,7 @@
|
||||
return
|
||||
var/reset_angle = rand(0, 360)
|
||||
AnimationLock(MoveTo(host.master, null, reset_angle, 30, 90, reset_speed))
|
||||
addtimer(CALLBACK(src, .proc/Orbit, host.master, reset_angle, 30, 3 SECONDS), reset_speed, TIMER_CLIENT_TIME)
|
||||
addtimer(CALLBACK(src, PROC_REF(Orbit), host.master, reset_angle, 30, 3 SECONDS), reset_speed, TIMER_CLIENT_TIME)
|
||||
if(STATE_RECOVER)
|
||||
state = STATE_ATTACK
|
||||
AnimationLock(Rotate(rand(-angle_vary, angle_vary), attack_speed, null))
|
||||
@@ -520,7 +520,7 @@
|
||||
locked = target
|
||||
forceMove(locked.loc)
|
||||
if(ismovable(locked))
|
||||
RegisterSignal(locked, COMSIG_MOVABLE_MOVED, .proc/Update)
|
||||
RegisterSignal(locked, COMSIG_MOVABLE_MOVED, PROC_REF(Update))
|
||||
|
||||
/atom/movable/summon_weapon_effect/proc/Release()
|
||||
if(ismovable(locked))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user