mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 12:07:27 +01:00
515 compat 2, ./proc/ boogaloo (#19688)
* 515 compat 2, ./proc/ boogaloo * ASYNC * further CI checks * aa * lol escape this / pls * more of them * no idea why but this is scuffed so
This commit is contained in:
@@ -177,11 +177,11 @@ SUBSYSTEM_DEF(garbage)
|
||||
if(GC_QUEUE_CHECK)
|
||||
#ifdef REFERENCE_TRACKING
|
||||
if(reference_find_on_fail[refID] && !ref_search_stop)
|
||||
INVOKE_ASYNC(D, /datum/proc/find_references)
|
||||
INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references))
|
||||
ref_searching = TRUE
|
||||
#ifdef GC_FAILURE_HARD_LOOKUP
|
||||
else if (!ref_search_stop)
|
||||
INVOKE_ASYNC(D, /datum/proc/find_references)
|
||||
INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references))
|
||||
ref_searching = TRUE
|
||||
#endif
|
||||
reference_find_on_fail -= refID
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
playsound(loc, 'sound/weapons/flash.ogg', 100, 1)
|
||||
flick("[base_state]_flash", src)
|
||||
set_light(2, 1, COLOR_WHITE)
|
||||
addtimer(CALLBACK(src, /atom./proc/set_light, 0), 2)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light), 0), 2)
|
||||
last_flash = world.time
|
||||
use_power(1000)
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
M.playsound_local(epicenter, null, echo_volume, 1, frequency, S = explosion_echo_sound, distance_multiplier = 0)
|
||||
|
||||
if(creaking_explosion) // 5 seconds after the bang, the station begins to creak
|
||||
addtimer(CALLBACK(M, /mob/proc/playsound_local, epicenter, null, rand(FREQ_LOWER, FREQ_UPPER), 1, frequency, null, null, FALSE, hull_creaking_sound, 0), CREAK_DELAY)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, playsound_local), epicenter, null, rand(FREQ_LOWER, FREQ_UPPER), 1, frequency, null, null, FALSE, hull_creaking_sound, 0), CREAK_DELAY)
|
||||
|
||||
if(heavy_impact_range > 1)
|
||||
var/datum/effect_system/explosion/E
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
playsound(loc, use_sound, 100, 1)
|
||||
flick("[initial(icon_state)]2", src)
|
||||
set_light(2, 1, COLOR_WHITE)
|
||||
addtimer(CALLBACK(src, /atom./proc/set_light, 0), 2)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light), 0), 2)
|
||||
times_used++
|
||||
|
||||
if(user && !clown_check(user))
|
||||
|
||||
@@ -431,7 +431,7 @@ REAGENT SCANNER
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].</span>")
|
||||
cooldown = TRUE
|
||||
addtimer(CALLBACK(src,/obj/item/analyzer/proc/ping), cooldown_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(ping)), cooldown_time)
|
||||
|
||||
/obj/item/analyzer/proc/ping()
|
||||
if(isliving(loc))
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
var/previouscolor = color
|
||||
color = "#960000"
|
||||
animate(src, color = previouscolor, time = 8)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8)
|
||||
|
||||
/turf/simulated/floor/clockwork/reebe
|
||||
name = "cogplate"
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
var/previouscolor = color
|
||||
color = "#960000"
|
||||
animate(src, color = previouscolor, time = 8)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8)
|
||||
|
||||
/turf/simulated/wall/clockwork/devastate_wall()
|
||||
for(var/i in 1 to 2)
|
||||
|
||||
@@ -315,12 +315,12 @@
|
||||
if(INTENT_GRAB)
|
||||
C.visible_message("<span class='danger'>[L] is grabbed by [H]'s tentacle!</span>","<span class='userdanger'>A tentacle grabs you and pulls you towards [H]!</span>")
|
||||
add_attack_logs(H, C, "[H] grabbed [C] with a changeling tentacle")
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, callback=CALLBACK(H, /mob/proc/tentacle_grab, C))
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, callback=CALLBACK(H, TYPE_PROC_REF(/mob, tentacle_grab), C))
|
||||
return 1
|
||||
|
||||
if(INTENT_HARM)
|
||||
C.visible_message("<span class='danger'>[L] is thrown towards [H] by a tentacle!</span>","<span class='userdanger'>A tentacle grabs you and throws you towards [H]!</span>")
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, callback=CALLBACK(H, /mob/proc/tentacle_stab, C))
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, callback=CALLBACK(H, TYPE_PROC_REF(/mob, tentacle_stab), C))
|
||||
return 1
|
||||
else
|
||||
L.visible_message("<span class='danger'>[L] is pulled by [H]'s tentacle!</span>","<span class='userdanger'>A tentacle grabs you and pulls you towards [H]!</span>")
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
temp_power = light_power
|
||||
temp_range = light_range
|
||||
set_light(_range, _power, _color)
|
||||
addtimer(CALLBACK(src, /atom/proc/set_light, _reset_lighting ? initial(light_range) : temp_range, _reset_lighting ? initial(light_power) : temp_power, _reset_lighting ? initial(light_color) : temp_color), _duration, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light), _reset_lighting ? initial(light_range) : temp_range, _reset_lighting ? initial(light_power) : temp_power, _reset_lighting ? initial(light_color) : temp_color), _duration, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
|
||||
/mob/living/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = LIGHT_COLOR_WHITE, _duration = FLASH_LIGHT_DURATION, _reset_lighting = TRUE)
|
||||
mob_light(_color, _range, _power, _duration)
|
||||
|
||||
@@ -87,8 +87,8 @@
|
||||
//Handle species-specific deaths.
|
||||
dna.species.handle_death(gibbed, src)
|
||||
|
||||
if(SSticker && SSticker.mode)
|
||||
INVOKE_ASYNC(SSblackbox, /datum/controller/subsystem/blackbox/proc/ReportDeath, src)
|
||||
if(SSticker.mode)
|
||||
INVOKE_ASYNC(SSblackbox, TYPE_PROC_REF(/datum/controller/subsystem/blackbox, ReportDeath), src)
|
||||
|
||||
/mob/living/carbon/human/update_revive(updating)
|
||||
. = ..()
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
grow.Grant(H)
|
||||
var/datum/action/innate/slimecolor/recolor = new()
|
||||
recolor.Grant(H)
|
||||
RegisterSignal(H, COMSIG_HUMAN_UPDATE_DNA, /datum/species/slime/./proc/blend)
|
||||
RegisterSignal(H, COMSIG_HUMAN_UPDATE_DNA, PROC_REF(blend))
|
||||
blend(H)
|
||||
|
||||
|
||||
|
||||
@@ -291,7 +291,7 @@ Difficulty: Very Hard
|
||||
/obj/effect/temp_visual/at_shield/Initialize(mapload, new_target)
|
||||
. = ..()
|
||||
target = new_target
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, orbit), target, 0, FALSE, 0, 0, FALSE, TRUE)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/colossus/bullet_act(obj/item/projectile/P)
|
||||
if(!stat)
|
||||
|
||||
@@ -210,7 +210,7 @@ Difficulty: Hard
|
||||
blinking = TRUE
|
||||
SLEEP_CHECK_DEATH(4 + target_slowness)
|
||||
animate(src, color = oldcolor, time = 8)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8)
|
||||
SLEEP_CHECK_DEATH(8)
|
||||
blinking = FALSE
|
||||
else
|
||||
@@ -231,7 +231,7 @@ Difficulty: Hard
|
||||
INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.diagonals)
|
||||
SLEEP_CHECK_DEATH(6 + target_slowness)
|
||||
animate(src, color = oldcolor, time = 8)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8)
|
||||
SLEEP_CHECK_DEATH(8)
|
||||
blinking = FALSE
|
||||
|
||||
@@ -259,7 +259,7 @@ Difficulty: Hard
|
||||
SLEEP_CHECK_DEATH(8 + target_slowness)
|
||||
chaser_cooldown = world.time + initial(chaser_cooldown)
|
||||
animate(src, color = oldcolor, time = 8)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 8)
|
||||
SLEEP_CHECK_DEATH(8)
|
||||
blinking = FALSE
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ STATUS EFFECTS
|
||||
|
||||
if(stat == DEAD && !work_when_dead)
|
||||
return
|
||||
if(!instant && !do_mob(src, src, 1 SECONDS, extra_checks = list(CALLBACK(src, /mob/living/proc/cannot_stand)), only_use_extra_checks = TRUE))
|
||||
if(!instant && !do_mob(src, src, 1 SECONDS, extra_checks = list(CALLBACK(src, TYPE_PROC_REF(/mob/living, cannot_stand))), only_use_extra_checks = TRUE))
|
||||
return
|
||||
if(resting || body_position == STANDING_UP || HAS_TRAIT(src, TRAIT_FLOORED))
|
||||
return
|
||||
|
||||
@@ -471,7 +471,7 @@ GLOBAL_LIST_INIT(intents, list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM
|
||||
|
||||
resting = !resting // this happens before the do_mob so that you can stay resting if you are stunned.
|
||||
|
||||
if(!do_mob(src, src, 1 SECONDS, extra_checks = list(CALLBACK(src, /mob/living/proc/cannot_stand)), only_use_extra_checks = TRUE))
|
||||
if(!do_mob(src, src, 1 SECONDS, extra_checks = list(CALLBACK(src, TYPE_PROC_REF(/mob/living, cannot_stand))), only_use_extra_checks = TRUE))
|
||||
return
|
||||
|
||||
if(resting)
|
||||
|
||||
@@ -350,7 +350,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor
|
||||
|
||||
playsound(loc, pick('sound/items/polaroid1.ogg', 'sound/items/polaroid2.ogg'), 75, 1, -3)
|
||||
set_light(3, 2, LIGHT_COLOR_TUNGSTEN)
|
||||
addtimer(CALLBACK(src, /atom./proc/set_light, 0), 2)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light), 0), 2)
|
||||
pictures_left--
|
||||
to_chat(user, "<span class='notice'>[pictures_left] photos left.</span>")
|
||||
icon_state = icon_off
|
||||
|
||||
@@ -480,7 +480,7 @@
|
||||
if(stat & (NOPOWER | BROKEN))
|
||||
return FALSE
|
||||
if(!second_pass) //The first time, we just cut overlays
|
||||
addtimer(CALLBACK(src, /obj/machinery/power/apc/proc.flicker, TRUE), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(flicker), TRUE), 1)
|
||||
cut_overlays()
|
||||
managed_overlays = null
|
||||
// APC power distruptions have a chance to propogate to other machines on its network
|
||||
@@ -492,7 +492,7 @@
|
||||
M.flicker()
|
||||
else
|
||||
flick("apcemag", src) //Second time we cause the APC to update its icon, then add a timer to update icon later
|
||||
addtimer(CALLBACK(src, /obj/machinery/power/apc/proc.update_icon, TRUE), 10)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon), TRUE), 10)
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -992,7 +992,7 @@
|
||||
else if(isliving(target))//If we got a fleshbag on our hands
|
||||
var/mob/living/creature = target
|
||||
creature.set_shocked()
|
||||
addtimer(CALLBACK(creature, /mob/living/proc/reset_shocked), 10)
|
||||
addtimer(CALLBACK(creature, TYPE_PROC_REF(/mob/living, reset_shocked)), 10)
|
||||
//3 shots a human with no resistance. 2 to crit, one to death. This is at at least 10000 power.
|
||||
//There's no increase after that because the input power is effectivly capped at 10k
|
||||
//Does 1.5 damage at the least
|
||||
|
||||
@@ -334,7 +334,7 @@
|
||||
if(closest_type == LIVING)
|
||||
var/mob/living/closest_mob = closest_atom
|
||||
closest_mob.set_shocked()
|
||||
addtimer(CALLBACK(closest_mob, /mob/living/proc/reset_shocked), 10)
|
||||
addtimer(CALLBACK(closest_mob, TYPE_PROC_REF(/mob/living, reset_shocked)), 10)
|
||||
var/shock_damage = (zap_flags & ZAP_MOB_DAMAGE) ? (min(round(power / 600), 90) + rand(-5, 5)) : 0
|
||||
closest_mob.electrocute_act(shock_damage, source, 1, SHOCK_TESLA | ((zap_flags & ZAP_MOB_STUN) ? NONE : SHOCK_NOSTUN))
|
||||
if(issilicon(closest_mob))
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
stack_name = initial(S.name)
|
||||
use_power(min(1000, (amount_inserted / 100)))
|
||||
add_overlay("protolathe_[stack_name]")
|
||||
addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), "protolathe_[stack_name]"), 10)
|
||||
|
||||
/obj/machinery/r_n_d/proc/check_mat(datum/design/being_built, M)
|
||||
return 0 // number of copies of design beign_built you can make with material M
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
if(designate_time && (landing_clear != SHUTTLE_DOCKER_BLOCKED))
|
||||
to_chat(current_user, "<span class='warning'>Targeting transit location, please wait [DisplayTimeText(designate_time)]...</span>")
|
||||
designating_target_loc = the_eye.loc
|
||||
var/wait_completed = do_after(current_user, designate_time, FALSE, designating_target_loc, TRUE, CALLBACK(src, /obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget))
|
||||
var/wait_completed = do_after(current_user, designate_time, FALSE, designating_target_loc, TRUE, CALLBACK(src, PROC_REF(canDesignateTarget)))
|
||||
designating_target_loc = null
|
||||
if(!current_user)
|
||||
return
|
||||
|
||||
@@ -41,7 +41,7 @@ if grep -P '/obj/merge_conflict_marker' _maps/**/*.dmm; then
|
||||
st=1
|
||||
fi;
|
||||
# Check for non-515 compatable .proc/ syntax
|
||||
if grep -P --exclude='__byond_version_compat.dm' '\.proc/' code/**/*.dm; then
|
||||
if grep -P --exclude='__byond_version_compat.dm' '(\.proc\/)|(CALLBACK\(.*proc\/)|(INVOKE_ASYNC\(.*proc\/)' code/**/*.dm; then
|
||||
echo "ERROR: Outdated proc reference use detected in code, please use proc reference helpers."
|
||||
st=1
|
||||
fi;
|
||||
|
||||
Reference in New Issue
Block a user