515 Compatibility (#19636)

* 515 compat

* double spaces

* Callback documentation, aa review

* spacing

* NAMEOF_STATIC

* big beta
This commit is contained in:
S34N
2022-11-08 23:08:40 +00:00
committed by GitHub
parent 2e7e556383
commit 667dd5d4ac
378 changed files with 928 additions and 919 deletions
@@ -278,7 +278,7 @@ GLOBAL_LIST_EMPTY(antagonists)
if(wiki_page_name)
to_chat(owner.current, "<span class='motd'>For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/[wiki_page_name])</span>")
if(is_banned(owner.current) && replace_banned)
INVOKE_ASYNC(src, .proc/replace_banned_player)
INVOKE_ASYNC(src, PROC_REF(replace_banned_player))
return TRUE
/**
@@ -20,7 +20,7 @@
return FALSE
user.visible_message("<span class='warning'>[user] vomits a glob of acid on [user.p_their()] [O.name]!</span>", \
"<span class='warning'>We vomit acidic ooze onto our restraints!</span>")
addtimer(CALLBACK(src, .proc/dissolve_restraint, user, O), 3 SECONDS)
addtimer(CALLBACK(src, PROC_REF(dissolve_restraint), user, O), 3 SECONDS)
used = TRUE
if(user.legcuffed)
@@ -29,7 +29,7 @@
return FALSE
user.visible_message("<span class='warning'>[user] vomits a glob of acid on [user.p_their()] [O.name]!</span>", \
"<span class='warning'>We vomit acidic ooze onto our leg restraints!</span>")
addtimer(CALLBACK(src, .proc/dissolve_restraint, user, O), 3 SECONDS)
addtimer(CALLBACK(src, PROC_REF(dissolve_restraint), user, O), 3 SECONDS)
used = TRUE
if(user.wear_suit && user.wear_suit.breakouttime && !used)
@@ -38,7 +38,7 @@
return FALSE
user.visible_message("<span class='warning'>[user] vomits a glob of acid across the front of [user.p_their()] [S.name]!</span>", \
"<span class='warning'>We vomit acidic ooze onto our straight jacket!</span>")
addtimer(CALLBACK(src, .proc/dissolve_restraint, user, S), 3 SECONDS)
addtimer(CALLBACK(src, PROC_REF(dissolve_restraint), user, S), 3 SECONDS)
used = TRUE
if(istype(user.loc, /obj/structure/closet) && !used)
@@ -47,7 +47,7 @@
return FALSE
C.visible_message("<span class='warning'>[C]'s hinges suddenly begin to melt and run!</span>")
to_chat(user, "<span class='warning'>We vomit acidic goop onto the interior of [C]!</span>")
addtimer(CALLBACK(src, .proc/open_closet, user, C), 7 SECONDS)
addtimer(CALLBACK(src, PROC_REF(open_closet), user, C), 7 SECONDS)
used = TRUE
if(istype(user.loc, /obj/structure/spider/cocoon) && !used)
@@ -56,7 +56,7 @@
return FALSE
C.visible_message("<span class='warning'>[src] shifts and starts to fall apart!</span>")
to_chat(user, "<span class='warning'>We secrete acidic enzymes from our skin and begin melting our cocoon...</span>")
addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 2.5 SECONDS) //Very short because it's just webs
addtimer(CALLBACK(src, PROC_REF(dissolve_cocoon), user, C), 2.5 SECONDS) //Very short because it's just webs
used = TRUE
for(var/obj/item/grab/G in user.grabbed_by)
var/mob/living/carbon/M = G.assailant
@@ -18,7 +18,7 @@
user.updatehealth("fakedeath sting")
cling.regenerating = TRUE
addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME)
addtimer(CALLBACK(src, PROC_REF(ready_to_regenerate), user), LING_FAKEDEATH_TIME)
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
@@ -33,7 +33,7 @@
by quick repeated use!</span>")
recent_uses++
INVOKE_ASYNC(src, .proc/fleshmend, user)
INVOKE_ASYNC(src, PROC_REF(fleshmend), user)
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
@@ -58,7 +58,7 @@
target.say(":g AAAAARRRRGGGGGHHHHH!!")
to_chat(target, "<font color=#800040><span class='boldannounce'>You can now communicate in the changeling hivemind, say \":g message\" to communicate!</span>")
target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them
addtimer(CALLBACK(src, .proc/end_link, user, target), 180 SECONDS)
addtimer(CALLBACK(src, PROC_REF(end_link), user, target), 180 SECONDS)
if(!do_mob(user, target, 2 SECONDS))
to_chat(user, "<span class='warning'>Our link with [target] has ended!</span>")
@@ -8,7 +8,7 @@
/datum/action/changeling/sting/New(Target)
. = ..()
click_override = new(CALLBACK(src, .proc/try_to_sting))
click_override = new(CALLBACK(src, PROC_REF(try_to_sting)))
/datum/action/changeling/sting/Destroy(force, ...)
if(cling.owner.current.middleClickOverride == click_override)
@@ -137,7 +137,7 @@
/datum/action/changeling/sting/LSD/sting_action(mob/user, mob/living/carbon/target)
add_attack_logs(user, target, "LSD sting (changeling)")
addtimer(CALLBACK(src, .proc/start_hallucinations, target, 400 SECONDS), rand(30 SECONDS, 60 SECONDS))
addtimer(CALLBACK(src, PROC_REF(start_hallucinations), target, 400 SECONDS), rand(30 SECONDS, 60 SECONDS))
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
@@ -197,7 +197,7 @@
status = CONTRACT_STATUS_COMPLETED
completed_time = station_time_timestamp()
dead_extraction = target_dead
addtimer(CALLBACK(src, .proc/notify_completion, final_tc_reward, reward_credits, target_dead), COMPLETION_NOTIFY_DELAY)
addtimer(CALLBACK(src, PROC_REF(notify_completion), final_tc_reward, reward_credits, target_dead), COMPLETION_NOTIFY_DELAY)
/**
* Marks the contract as invalid and effectively cancels it for later use.
@@ -279,8 +279,8 @@
extraction_deadline = world.time + extraction_cooldown
M.visible_message("<span class='notice'>[M] enters a mysterious code on [U] and pulls a black and gold flare from [M.p_their()] belongings before lighting it.</span>",\
"<span class='notice'>You finish entering the signal on [U] and light an extraction flare, initiating the extraction process.</span>")
addtimer(CALLBACK(src, .proc/open_extraction_portal, U, M, F), EXTRACTION_PHASE_PORTAL)
extraction_timer_handle = addtimer(CALLBACK(src, .proc/deadline_reached), portal_duration, TIMER_STOPPABLE)
addtimer(CALLBACK(src, PROC_REF(open_extraction_portal), U, M, F), EXTRACTION_PHASE_PORTAL)
extraction_timer_handle = addtimer(CALLBACK(src, PROC_REF(deadline_reached)), portal_duration, TIMER_STOPPABLE)
/**
* Opens the extraction portal.
@@ -318,7 +318,7 @@
* * P - The extraction portal.
*/
/datum/syndicate_contract/proc/target_received(mob/living/M, obj/effect/portal/redspace/contractor/P)
INVOKE_ASYNC(src, .proc/clean_up)
INVOKE_ASYNC(src, PROC_REF(clean_up))
add_attack_logs(owning_hub.owner.current, M, "extracted to Syndicate Jail")
complete(M.stat == DEAD)
handle_target_experience(M, P)
@@ -350,7 +350,7 @@
var/mob/living/carbon/human/H = M
// Prepare their return
prisoner_timer_handle = addtimer(CALLBACK(src, .proc/handle_target_return, M, T), prison_time, TIMER_STOPPABLE)
prisoner_timer_handle = addtimer(CALLBACK(src, PROC_REF(handle_target_return), M, T), prison_time, TIMER_STOPPABLE)
LAZYSET(GLOB.prisoner_belongings.prisoners, M, src)
// Shove all of the victim's items in the secure locker.
@@ -181,7 +181,7 @@
E.GiveTarget(user) //so it starts running right away
E.Goto(user, E.move_to_delay, E.minimum_distance)
user.make_invisible()
addtimer(CALLBACK(user, /mob/living/.proc/reset_visibility), 6 SECONDS)
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, reset_visibility)), 6 SECONDS)
/obj/effect/proc_holder/spell/vampire/rally_thralls
name = "Rally Thralls (100)"
@@ -208,7 +208,7 @@
playsound(H, 'sound/magic/staff_healing.ogg', 30)
H.remove_CC()
H.add_overlay(I)
addtimer(CALLBACK(H, /atom/.proc/cut_overlay, I), 6 SECONDS) // this makes it obvious who your thralls are for a while.
addtimer(CALLBACK(H, TYPE_PROC_REF(/atom, cut_overlay), I), 6 SECONDS) // this makes it obvious who your thralls are for a while.
/obj/effect/proc_holder/spell/vampire/self/share_damage
name = "Blood Bond"
@@ -29,7 +29,7 @@
/obj/effect/proc_holder/spell/vampire/self/stomp/cast(list/targets, mob/user)
var/turf/T = get_turf(user)
playsound(T, 'sound/effects/meteorimpact.ogg', 100, TRUE)
addtimer(CALLBACK(src, .proc/hit_check, 1, T, user), 0.2 SECONDS)
addtimer(CALLBACK(src, PROC_REF(hit_check), 1, T, user), 0.2 SECONDS)
new /obj/effect/temp_visual/stomp(T)
/obj/effect/proc_holder/spell/vampire/self/stomp/proc/hit_check(range, turf/start_turf, mob/user, safe_targets = list())
@@ -49,12 +49,12 @@
if(L.move_resist > MOVE_FORCE_VERY_STRONG)
continue
var/throw_target = get_edge_target_turf(L, get_dir(start_turf, L))
INVOKE_ASYNC(L, /atom/movable/.proc/throw_at, throw_target, 3, 4)
INVOKE_ASYNC(L, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, 3, 4)
L.KnockDown(1 SECONDS)
safe_targets += L
var/new_range = range + 1
if(new_range <= max_range)
addtimer(CALLBACK(src, .proc/hit_check, new_range, start_turf, user, safe_targets), 0.2 SECONDS)
addtimer(CALLBACK(src, PROC_REF(hit_check), new_range, start_turf, user, safe_targets), 0.2 SECONDS)
/obj/effect/temp_visual/stomp
icon = 'icons/effects/seismic_stomp_effect.dmi'
@@ -160,10 +160,10 @@
switch(firer.a_intent)
if(INTENT_DISARM)
throw_target = get_edge_target_turf(L, get_dir(firer, L))
L.throw_at(throw_target, 2, 5, spin = FALSE, callback = CALLBACK(src, .proc/create_snare, L)) // shove away
L.throw_at(throw_target, 2, 5, spin = FALSE, callback = CALLBACK(src, PROC_REF(create_snare), L)) // shove away
if(INTENT_GRAB)
throw_target = get_step(firer, get_dir(firer, L))
L.throw_at(throw_target, 2, 5, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, .proc/create_snare, L)) // pull towards
L.throw_at(throw_target, 2, 5, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, PROC_REF(create_snare), L)) // pull towards
/obj/item/projectile/magic/demonic_grasp/proc/create_snare(mob/target)
new /obj/effect/temp_visual/demonic_snare(target.loc)
@@ -200,4 +200,4 @@
if(isliving(user))
var/mob/living/L = user
L.apply_status_effect(STATUS_EFFECT_CHARGING)
L.throw_at(target, targeting.range, 1, L, FALSE, callback = CALLBACK(L, /mob/living/.proc/remove_status_effect, STATUS_EFFECT_CHARGING))
L.throw_at(target, targeting.range, 1, L, FALSE, callback = CALLBACK(L, TYPE_PROC_REF(/mob/living, remove_status_effect), STATUS_EFFECT_CHARGING))
@@ -103,7 +103,7 @@
continue
new /obj/effect/temp_visual/blood_tendril(blood_turf)
addtimer(CALLBACK(src, .proc/apply_slowdown, T, area_of_affect, 6 SECONDS, user), 0.5 SECONDS)
addtimer(CALLBACK(src, PROC_REF(apply_slowdown), T, area_of_affect, 6 SECONDS, user), 0.5 SECONDS)
/obj/effect/proc_holder/spell/vampire/blood_tendrils/proc/apply_slowdown(turf/T, distance, slowed_amount, mob/user)
for(var/mob/living/L in range(distance, T))
@@ -26,7 +26,7 @@
var/mob/living/carbon/human/H = user
if(V.iscloaking)
H.physiology.burn_mod *= 1.3
user.RegisterSignal(user, COMSIG_LIVING_IGNITED, /mob/living.proc/update_vampire_cloak)
user.RegisterSignal(user, COMSIG_LIVING_IGNITED, TYPE_PROC_REF(/mob/living, update_vampire_cloak))
else
user.UnregisterSignal(user, COMSIG_LIVING_IGNITED)
H.physiology.burn_mod /= 1.3
@@ -144,7 +144,7 @@
/obj/effect/proc_holder/spell/vampire/soul_anchor/proc/make_anchor(mob/user, turf/anchor_turf)
anchor = new(anchor_turf)
timer = addtimer(CALLBACK(src, .proc/recall, user), 2 MINUTES, TIMER_STOPPABLE)
timer = addtimer(CALLBACK(src, PROC_REF(recall), user), 2 MINUTES, TIMER_STOPPABLE)
should_recharge_after_cast = TRUE
/obj/effect/proc_holder/spell/vampire/soul_anchor/proc/recall(mob/user)
@@ -68,7 +68,7 @@
var/datum/antagonist/vampire/V = U.mind.has_antag_datum(/datum/antagonist/vampire)
var/rejuv_bonus = V.get_rejuv_bonus()
if(rejuv_bonus)
INVOKE_ASYNC(src, .proc/heal, U, rejuv_bonus)
INVOKE_ASYNC(src, PROC_REF(heal), U, rejuv_bonus)
/obj/effect/proc_holder/spell/vampire/self/rejuvenate/proc/heal(mob/living/user, rejuv_bonus)
for(var/i in 1 to 5)