procs
This commit is contained in:
@@ -65,7 +65,7 @@
|
||||
obj_flags |= EMAGGED
|
||||
you_die_in_the_game_you_die_for_real = TRUE
|
||||
sparks.start()
|
||||
addtimer(CALLBACK(src, .proc/emagNotify), 150)
|
||||
addtimer(CALLBACK(src, PROC_REF(emagNotify)), 150)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/vr_sleeper/update_icon_state()
|
||||
@@ -179,8 +179,8 @@
|
||||
C.updateappearance(TRUE, TRUE, TRUE)
|
||||
var/datum/component/virtual_reality/VR = vr_mob.AddComponent(/datum/component/virtual_reality, you_die_in_the_game_you_die_for_real)
|
||||
if(VR.connect(M))
|
||||
RegisterSignal(VR, COMSIG_COMPONENT_UNREGISTER_PARENT, .proc/unset_vr_mob)
|
||||
RegisterSignal(VR, COMSIG_COMPONENT_REGISTER_PARENT, .proc/set_vr_mob)
|
||||
RegisterSignal(VR, COMSIG_COMPONENT_UNREGISTER_PARENT, PROC_REF(unset_vr_mob))
|
||||
RegisterSignal(VR, COMSIG_COMPONENT_REGISTER_PARENT, PROC_REF(set_vr_mob))
|
||||
if(!only_current_user_can_interact)
|
||||
VR.RegisterSignal(src, COMSIG_ATOM_EMAG_ACT, /datum/component/virtual_reality.proc/you_only_live_once)
|
||||
VR.RegisterSignal(src, COMSIG_MACHINE_EJECT_OCCUPANT, /datum/component/virtual_reality.proc/revert_to_reality)
|
||||
@@ -240,7 +240,7 @@
|
||||
vr_area = get_base_area(src)
|
||||
if(!vr_area)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
addtimer(CALLBACK(src, .proc/clean_up), 3 MINUTES, TIMER_LOOP)
|
||||
addtimer(CALLBACK(src, PROC_REF(clean_up)), 3 MINUTES, TIMER_LOOP)
|
||||
|
||||
/obj/effect/vr_clean_master/proc/clean_up()
|
||||
if (!vr_area)
|
||||
@@ -256,4 +256,4 @@
|
||||
if(!QDELETED(M) && (M in contents) && M.stat == DEAD)
|
||||
qdel(M)
|
||||
corpse_party -= M
|
||||
addtimer(CALLBACK(src, .proc/clean_up), 3 MINUTES)
|
||||
addtimer(CALLBACK(src, PROC_REF(clean_up)), 3 MINUTES)
|
||||
|
||||
@@ -747,7 +747,7 @@ GLOBAL_PROTECT(admin_verbs_hideable)
|
||||
if(!istype(T))
|
||||
to_chat(src, "<span class='notice'>You can only give a disease to a mob of type /mob/living.</span>", confidential = TRUE)
|
||||
return
|
||||
var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in sortList(SSdisease.diseases, /proc/cmp_typepaths_asc)
|
||||
var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in sortList(SSdisease.diseases, GLOBAL_PROC_REF(cmp_typepaths_asc))
|
||||
if(!D)
|
||||
return
|
||||
T.ForceContractDisease(new D, FALSE, TRUE)
|
||||
|
||||
@@ -119,7 +119,7 @@ GLOBAL_VAR(antag_prototypes)
|
||||
GLOB.antag_prototypes[cat_id] = list(A)
|
||||
else
|
||||
GLOB.antag_prototypes[cat_id] += A
|
||||
sortTim(GLOB.antag_prototypes,/proc/cmp_text_asc,associative=TRUE)
|
||||
sortTim(GLOB.antag_prototypes,GLOBAL_PROC_REF(cmp_text_asc),associative=TRUE)
|
||||
|
||||
var/list/sections = list()
|
||||
var/list/priority_sections = list()
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
else
|
||||
sections += T.antag_listing_entry()
|
||||
|
||||
sortTim(all_antagonists, /proc/cmp_antag_category)
|
||||
sortTim(all_antagonists, GLOBAL_PROC_REF(cmp_antag_category))
|
||||
|
||||
var/current_category
|
||||
var/list/current_section = list()
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
clients += list(client)
|
||||
|
||||
clients = sortList(clients, /proc/cmp_playtime)
|
||||
clients = sortList(clients, GLOBAL_PROC_REF(cmp_playtime))
|
||||
data["clients"] = clients
|
||||
return data
|
||||
|
||||
|
||||
@@ -620,7 +620,7 @@
|
||||
set desc = "Display del's log of everything that's passed through it."
|
||||
|
||||
var/list/dellog = list("<B>List of things that have gone through qdel this round</B><BR><BR><ol>")
|
||||
sortTim(SSgarbage.items, cmp=/proc/cmp_qdel_item_time, associative = TRUE)
|
||||
sortTim(SSgarbage.items, cmp=GLOBAL_PROC_REF(cmp_qdel_item_time), associative = TRUE)
|
||||
for(var/path in SSgarbage.items)
|
||||
var/datum/qdel_item/I = SSgarbage.items[path]
|
||||
dellog += "<li><u>[path]</u><ul>"
|
||||
@@ -829,9 +829,9 @@
|
||||
set desc = "Shows tracked profiling info from code lines that support it"
|
||||
|
||||
var/sortlist = list(
|
||||
"Avg time" = /proc/cmp_profile_avg_time_dsc,
|
||||
"Total Time" = /proc/cmp_profile_time_dsc,
|
||||
"Call Count" = /proc/cmp_profile_count_dsc
|
||||
"Avg time" = GLOBAL_PROC_REF(cmp_profile_avg_time_dsc),
|
||||
"Total Time" = GLOBAL_PROC_REF(cmp_profile_time_dsc),
|
||||
"Call Count" = GLOBAL_PROC_REF(cmp_profile_count_dsc)
|
||||
)
|
||||
var/sort = input(src, "Sort type?", "Sort Type", "Avg time") as null|anything in sortlist
|
||||
if (!sort)
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
for(var/entry in all_the_entrys)
|
||||
concatenated_logs += "<b>[entry]</b><br>[all_the_entrys[entry]]"
|
||||
if(length(concatenated_logs))
|
||||
sortTim(concatenated_logs, cmp = /proc/cmp_text_dsc) //Sort by timestamp.
|
||||
sortTim(concatenated_logs, cmp = GLOBAL_PROC_REF(cmp_text_dsc)) //Sort by timestamp.
|
||||
dat += "<font size=2px>"
|
||||
dat += concatenated_logs.Join("<br>")
|
||||
dat += "</font>"
|
||||
|
||||
@@ -348,7 +348,7 @@
|
||||
var/list/settings = list(
|
||||
"preview_callback" = CALLBACK(src, .proc/makeERTPreviewIcon),
|
||||
"mainsettings" = list(
|
||||
"template" = list("desc" = "Template", "callback" = CALLBACK(src, .proc/makeERTTemplateModified), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type),
|
||||
"template" = list("desc" = "Template", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/datum/ert", "subtypesonly" = TRUE, "value" = ertemplate.type),
|
||||
"teamsize" = list("desc" = "Team Size", "type" = "number", "value" = ertemplate.teamsize),
|
||||
"mission" = list("desc" = "Mission", "type" = "string", "value" = ertemplate.mission),
|
||||
"polldesc" = list("desc" = "Ghost poll description", "type" = "string", "value" = ertemplate.polldesc),
|
||||
|
||||
@@ -25,7 +25,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
|
||||
send_to_playing_players("<span class='userdanger'>Bagpipes begin to blare. You feel Scottish pride coming over you.</span>")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] used (delayed) THERE CAN BE ONLY ONE!</span>")
|
||||
log_admin("[key_name(usr)] used delayed THERE CAN BE ONLY ONE.")
|
||||
addtimer(CALLBACK(src, .proc/only_one), 420)
|
||||
addtimer(CALLBACK(src, PROC_REF(only_one)), 420)
|
||||
|
||||
/mob/living/carbon/human/proc/make_scottish()
|
||||
mind.add_antag_datum(/datum/antagonist/highlander)
|
||||
|
||||
@@ -1482,7 +1482,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
var/shots_this_limb = 0
|
||||
for(var/t in shuffle(open_adj_turfs))
|
||||
var/turf/iter_turf = t
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/firing_squad, dude, iter_turf, slice_part.body_zone, wound_bonuses[wound_bonus_rep], damage), delay_counter)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(firing_squad), dude, iter_turf, slice_part.body_zone, wound_bonuses[wound_bonus_rep], damage), delay_counter)
|
||||
delay_counter += delay_per_shot
|
||||
shots_this_limb++
|
||||
if(shots_this_limb > shots_per_limb_per_rep)
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
var/datum/round_event_control/disease_outbreak/DC = locate(/datum/round_event_control/disease_outbreak) in SSevents.control
|
||||
E = DC.runEvent()
|
||||
if("Choose")
|
||||
var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sortList(typesof(/datum/disease), /proc/cmp_typepaths_asc)
|
||||
var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sortList(typesof(/datum/disease), GLOBAL_PROC_REF(cmp_typepaths_asc))
|
||||
var/datum/round_event_control/disease_outbreak/DC = locate(/datum/round_event_control/disease_outbreak) in SSevents.control
|
||||
var/datum/round_event/disease_outbreak/DO = DC.runEvent()
|
||||
DO.virus_type = virus
|
||||
@@ -444,9 +444,9 @@
|
||||
var/ghostcandidates = list()
|
||||
for (var/j in 1 to min(prefs["amount"]["value"], length(candidates)))
|
||||
ghostcandidates += pick_n_take(candidates)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/doPortalSpawn, get_random_station_turf(), pathToSpawn, length(ghostcandidates), storm, ghostcandidates, outfit), i*prefs["delay"]["value"])
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, length(ghostcandidates), storm, ghostcandidates, outfit), i*prefs["delay"]["value"])
|
||||
else if (prefs["playersonly"]["value"] != "Yes")
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/doPortalSpawn, get_random_station_turf(), pathToSpawn, prefs["amount"]["value"], storm, null, outfit), i*prefs["delay"]["value"])
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(doPortalSpawn), get_random_station_turf(), pathToSpawn, prefs["amount"]["value"], storm, null, outfit), i*prefs["delay"]["value"])
|
||||
if("changebombcap")
|
||||
if(!is_funmin)
|
||||
return
|
||||
|
||||
@@ -63,11 +63,11 @@
|
||||
if(!check_rights(NONE))
|
||||
return
|
||||
var/list/names = list()
|
||||
var/list/componentsubtypes = sortList(subtypesof(/datum/component), /proc/cmp_typepaths_asc)
|
||||
var/list/componentsubtypes = sortList(subtypesof(/datum/component), GLOBAL_PROC_REF(cmp_typepaths_asc))
|
||||
names += "---Components---"
|
||||
names += componentsubtypes
|
||||
names += "---Elements---"
|
||||
names += sortList(subtypesof(/datum/element), /proc/cmp_typepaths_asc)
|
||||
names += sortList(subtypesof(/datum/element), GLOBAL_PROC_REF(cmp_typepaths_asc))
|
||||
var/result = input(usr, "Choose a component/element to add","better know what ur fuckin doin pal") as null|anything in names
|
||||
if(!usr || !result || result == "---Components---" || result == "---Elements---")
|
||||
return
|
||||
|
||||
@@ -181,8 +181,8 @@ GLOBAL_LIST_EMPTY(antagonists)
|
||||
apply_innate_effects()
|
||||
give_antag_moodies()
|
||||
remove_blacklisted_quirks()
|
||||
// RegisterSignal(owner, COMSIG_PRE_MINDSHIELD_IMPLANT, .proc/pre_mindshield)
|
||||
// RegisterSignal(owner, COMSIG_MINDSHIELD_IMPLANTED, .proc/on_mindshield)
|
||||
// RegisterSignal(owner, COMSIG_PRE_MINDSHIELD_IMPLANT, PROC_REF(pre_mindshield))
|
||||
// RegisterSignal(owner, COMSIG_MINDSHIELD_IMPLANTED, PROC_REF(on_mindshield))
|
||||
if(is_banned(owner.current) && replace_banned)
|
||||
replace_banned_player()
|
||||
else if(owner.current.client?.holder && (CONFIG_GET(flag/auto_deadmin_antagonists) || owner.current.client.prefs?.deadmin & DEADMIN_ANTAGONIST))
|
||||
@@ -547,7 +547,7 @@ GLOBAL_LIST_EMPTY(antagonists)
|
||||
if(!ispath(request_target))
|
||||
request_target = locate(request_target) in objectives
|
||||
if(istype(request_target))
|
||||
RegisterSignal(request_target, COMSIG_PARENT_QDELETING, .proc/clean_request_from_del_objective)
|
||||
RegisterSignal(request_target, COMSIG_PARENT_QDELETING, PROC_REF(clean_request_from_del_objective))
|
||||
requested_objective_changes[uid] = additions
|
||||
|
||||
|
||||
|
||||
@@ -660,7 +660,7 @@
|
||||
user.visible_message("<span class='notice'>[user] places down [src] and activates it.</span>", "<span class='notice'>You place down [src] and activate it.</span>")
|
||||
user.dropItemToGround(src)
|
||||
playsound(src, 'sound/machines/terminal_alert.ogg', 50)
|
||||
addtimer(CALLBACK(src, .proc/try_spawn_machine), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(try_spawn_machine)), 30)
|
||||
|
||||
/obj/item/abductor_machine_beacon/proc/try_spawn_machine()
|
||||
var/viable = FALSE
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
update_gland_hud()
|
||||
var/atom/movable/screen/alert/mind_control/mind_alert = owner.throw_alert("mind_control", /atom/movable/screen/alert/mind_control)
|
||||
mind_alert.command = command
|
||||
addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration)
|
||||
addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration)
|
||||
return TRUE
|
||||
|
||||
/obj/item/organ/heart/gland/proc/clear_mind_control()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
/obj/item/organ/heart/gland/access/activate()
|
||||
to_chat(owner, "<span class='notice'>You feel like a VIP for some reason.</span>")
|
||||
RegisterSignal(owner, COMSIG_MOB_ALLOWED, .proc/free_access)
|
||||
RegisterSignal(owner, COMSIG_MOB_ALLOWED, PROC_REF(free_access))
|
||||
|
||||
/obj/item/organ/heart/gland/access/proc/free_access(datum/source, obj/O)
|
||||
return TRUE
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
owner.visible_message("<span class='danger'>[owner]'s skin starts emitting electric arcs!</span>",\
|
||||
"<span class='warning'>You feel electric energy building up inside you!</span>")
|
||||
playsound(get_turf(owner), "sparks", 100, TRUE, -1)
|
||||
addtimer(CALLBACK(src, .proc/zap), rand(30, 100))
|
||||
addtimer(CALLBACK(src, PROC_REF(zap)), rand(30, 100))
|
||||
|
||||
/obj/item/organ/heart/gland/electric/proc/zap()
|
||||
tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN)
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
else
|
||||
to_chat(owner, "<span class='warning'>You feel a weird rumble behind your eye sockets...</span>")
|
||||
|
||||
addtimer(CALLBACK(src, .proc/finish_replace_eyes), rand(100, 200))
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_replace_eyes)), rand(100, 200))
|
||||
|
||||
/obj/item/organ/heart/gland/heal/proc/finish_replace_eyes()
|
||||
var/eye_type = /obj/item/organ/eyes
|
||||
@@ -125,7 +125,7 @@
|
||||
else
|
||||
to_chat(owner, "<span class='warning'>You feel a weird tingle in your [parse_zone(body_zone)]... even if you don't have one.</span>")
|
||||
|
||||
addtimer(CALLBACK(src, .proc/finish_replace_limb, body_zone), rand(150, 300))
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_replace_limb), body_zone), rand(150, 300))
|
||||
|
||||
/obj/item/organ/heart/gland/heal/proc/finish_replace_limb(body_zone)
|
||||
owner.visible_message("<span class='warning'>With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body!</span>",
|
||||
@@ -155,7 +155,7 @@
|
||||
if(owner.reagents.has_reagent(R.type))
|
||||
keep_going = TRUE
|
||||
if(keep_going)
|
||||
addtimer(CALLBACK(src, .proc/keep_replacing_blood), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(keep_replacing_blood)), 30)
|
||||
|
||||
/obj/item/organ/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest)
|
||||
if(chest.is_robotic_limb(FALSE))
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
if(LAZYLEN(broadcasted_mobs))
|
||||
active_mind_control = TRUE
|
||||
addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration)
|
||||
addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration)
|
||||
|
||||
update_gland_hud()
|
||||
return TRUE
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
/obj/item/organ/heart/gland/plasma/activate()
|
||||
to_chat(owner, "<span class='warning'>You feel bloated.</span>")
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, "<span class='userdanger'>A massive stomachache overcomes you.</span>"), 150)
|
||||
addtimer(CALLBACK(src, .proc/vomit_plasma), 200)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), owner, "<span class='userdanger'>A massive stomachache overcomes you.</span>"), 150)
|
||||
addtimer(CALLBACK(src, PROC_REF(vomit_plasma)), 200)
|
||||
|
||||
/obj/item/organ/heart/gland/plasma/proc/vomit_plasma()
|
||||
if(!owner)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
if(!iscarbon(M))
|
||||
continue
|
||||
entangled_mob = M
|
||||
addtimer(CALLBACK(src, .proc/quantum_swap), rand(600, 2400))
|
||||
addtimer(CALLBACK(src, PROC_REF(quantum_swap)), rand(600, 2400))
|
||||
return
|
||||
|
||||
/obj/item/organ/heart/gland/quantum/proc/quantum_swap()
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
/obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target)
|
||||
new /obj/effect/temp_visual/teleport_abductor(place)
|
||||
addtimer(CALLBACK(src, .proc/doMobToLoc, place, target), 80)
|
||||
addtimer(CALLBACK(src, PROC_REF(doMobToLoc), place, target), 80)
|
||||
|
||||
/obj/machinery/abductor/pad/proc/doPadToLoc(place)
|
||||
flick("alien-pad", src)
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/obj/machinery/abductor/pad/proc/PadToLoc(place)
|
||||
new /obj/effect/temp_visual/teleport_abductor(place)
|
||||
addtimer(CALLBACK(src, .proc/doPadToLoc, place), 80)
|
||||
addtimer(CALLBACK(src, PROC_REF(doPadToLoc), place), 80)
|
||||
|
||||
/obj/effect/temp_visual/teleport_abductor
|
||||
name = "Huh"
|
||||
|
||||
@@ -23,11 +23,11 @@
|
||||
|
||||
/datum/antagonist/ashwalker/on_body_transfer(mob/living/old_body, mob/living/new_body)
|
||||
. = ..()
|
||||
RegisterSignal(new_body, COMSIG_MOB_EXAMINATE, .proc/on_examinate)
|
||||
RegisterSignal(new_body, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate))
|
||||
|
||||
/datum/antagonist/ashwalker/on_gain()
|
||||
. = ..()
|
||||
RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, .proc/on_examinate)
|
||||
RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate))
|
||||
|
||||
/datum/antagonist/ashwalker/on_removal()
|
||||
. = ..()
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
return INITIALIZE_HINT_QDEL
|
||||
if(overmind)
|
||||
update_icon()
|
||||
addtimer(CALLBACK(src, .proc/generate_announcement), 1800)
|
||||
addtimer(CALLBACK(src, PROC_REF(generate_announcement)), 1800)
|
||||
. = ..()
|
||||
|
||||
/obj/structure/blob/core/proc/generate_announcement()
|
||||
|
||||
@@ -109,7 +109,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
|
||||
set_security_level("delta")
|
||||
max_blob_points = INFINITY
|
||||
blob_points = INFINITY
|
||||
addtimer(CALLBACK(src, .proc/victory), 450)
|
||||
addtimer(CALLBACK(src, PROC_REF(victory)), 450)
|
||||
else if(!free_strain_rerolls && (last_reroll_time + BLOB_REROLL_TIME<world.time))
|
||||
to_chat(src, "<b><span class='big'><font color=\"#EE4000\">You have gained another free strain re-roll.</font></span></b>")
|
||||
free_strain_rerolls = 1
|
||||
|
||||
@@ -341,7 +341,7 @@
|
||||
|
||||
//This handles the application of antag huds/special abilities
|
||||
/datum/antagonist/bloodsucker/apply_innate_effects(mob/living/mob_override)
|
||||
RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,.proc/LifeTick)
|
||||
RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE, PROC_REF(LifeTick))
|
||||
return
|
||||
|
||||
//This handles the removal of antag huds/special abilities
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
to_chat(user, "<span class='notice'>You lean quietly toward [target] and secretly draw out your fangs...</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You pull [target] close to you and draw out your fangs...</span>")
|
||||
if(!do_mob(user, target, feed_time, NONE, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target)))//sleep(10)
|
||||
if(!do_mob(user, target, feed_time, NONE, extra_checks = CALLBACK(src, PROC_REF(ContinueActive), user, target)))//sleep(10)
|
||||
to_chat(user, "<span class='warning'>Your feeding was interrupted.</span>")
|
||||
//DeactivatePower(user,target)
|
||||
return
|
||||
@@ -207,7 +207,7 @@
|
||||
//user.mobility_flags &= ~MOBILITY_MOVE // user.canmove = 0 // Prevents spilling blood accidentally.
|
||||
|
||||
// Abort? A bloody mistake.
|
||||
if(!do_mob(user, target, 2 SECONDS, NONE, extra_checks=CALLBACK(src, .proc/ContinueActive, user, target)))
|
||||
if(!do_mob(user, target, 2 SECONDS, NONE, extra_checks=CALLBACK(src, PROC_REF(ContinueActive), user, target)))
|
||||
// May have disabled Feed during do_mob
|
||||
if(!active || !ContinueActive(user, target))
|
||||
break
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
/datum/action/bloodsucker/targeted/haste/FireTargetedPower(atom/A)
|
||||
// This is a non-async proc to make sure the power is "locked" until this finishes.
|
||||
hit = list()
|
||||
RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move)
|
||||
RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
|
||||
var/mob/living/user = owner
|
||||
var/turf/T = isturf(A) ? A : get_turf(A)
|
||||
// Pulled? Not anymore.
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/datum/action/bloodsucker/lunge/New()
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
/datum/action/bloodsucker/lunge/Destroy()
|
||||
. = ..()
|
||||
@@ -31,14 +31,14 @@
|
||||
T.min_distance = 2
|
||||
active = TRUE
|
||||
user.toggle_throw_mode()
|
||||
RegisterSignal(user, COMSIG_CARBON_TACKLED, .proc/DelayedDeactivatePower)
|
||||
RegisterSignal(user, COMSIG_CARBON_TACKLED, PROC_REF(DelayedDeactivatePower))
|
||||
while(B && ContinueActive(user))
|
||||
B.AddBloodVolume(-0.1)
|
||||
sleep(5)
|
||||
|
||||
//Without this, the leap component would get removed too early, causing the normal crash into effects.
|
||||
/datum/action/bloodsucker/lunge/proc/DelayedDeactivatePower()
|
||||
addtimer(CALLBACK(src, .proc/DeactivatePower), 1 SECONDS, TIMER_UNIQUE)
|
||||
/datum/action/bloodsucker/lunge/proc/DelayedDeactivatePower()
|
||||
addtimer(CALLBACK(src, PROC_REF(DeactivatePower)), 1 SECONDS, TIMER_UNIQUE)
|
||||
|
||||
/datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner)
|
||||
. = ..()
|
||||
|
||||
@@ -114,9 +114,9 @@
|
||||
var/power_time = 138 + level_current * 12
|
||||
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30)
|
||||
L.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30)
|
||||
RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/ContinueTarget)
|
||||
RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(ContinueTarget))
|
||||
// 5 second windup
|
||||
addtimer(CALLBACK(src, .proc/apply_effects, L, target, power_time), 6 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(apply_effects), L, target, power_time), 6 SECONDS)
|
||||
|
||||
/datum/action/bloodsucker/targeted/mesmerize/proc/apply_effects(aggressor, victim, power_time)
|
||||
var/mob/living/carbon/target = victim
|
||||
|
||||
@@ -362,7 +362,7 @@
|
||||
B.organ_flags &= ~ORGAN_VITAL
|
||||
B.decoy_override = TRUE
|
||||
update_changeling_icons_added()
|
||||
RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE,.proc/regenerate)
|
||||
RegisterSignal(owner.current,COMSIG_LIVING_BIOLOGICAL_LIFE, PROC_REF(regenerate))
|
||||
return
|
||||
|
||||
/datum/antagonist/changeling/remove_innate_effects()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
user.visible_message("<span class='warning'>[user] vomits a glob of acid on [user.p_their()] [O]!</span>", \
|
||||
"<span class='warning'>We vomit acidic ooze onto our restraints!</span>")
|
||||
|
||||
addtimer(CALLBACK(src, .proc/dissolve_handcuffs, user, O), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(dissolve_handcuffs), user, O), 30)
|
||||
used = TRUE
|
||||
|
||||
if(user.legcuffed)
|
||||
@@ -31,7 +31,7 @@
|
||||
user.visible_message("<span class='warning'>[user] vomits a glob of acid on [user.p_their()] [O]!</span>", \
|
||||
"<span class='warning'>We vomit acidic ooze onto our restraints!</span>")
|
||||
|
||||
addtimer(CALLBACK(src, .proc/dissolve_legcuffs, user, O), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(dissolve_legcuffs), user, O), 30)
|
||||
used = TRUE
|
||||
|
||||
if(user.wear_suit && user.wear_suit.breakouttime && !used)
|
||||
@@ -40,7 +40,7 @@
|
||||
return FALSE
|
||||
user.visible_message("<span class='warning'>[user] vomits a glob of acid across the front of [user.p_their()] [S]!</span>", \
|
||||
"<span class='warning'>We vomit acidic ooze onto our straight jacket!</span>")
|
||||
addtimer(CALLBACK(src, .proc/dissolve_straightjacket, user, S), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(dissolve_straightjacket), user, S), 30)
|
||||
used = TRUE
|
||||
|
||||
|
||||
@@ -50,7 +50,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), 70)
|
||||
addtimer(CALLBACK(src, PROC_REF(open_closet), user, C), 70)
|
||||
used = TRUE
|
||||
|
||||
if(istype(user.loc, /obj/structure/spider/cocoon) && !used)
|
||||
@@ -59,7 +59,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), 25) //Very short because it's just webs
|
||||
addtimer(CALLBACK(src, PROC_REF(dissolve_cocoon), user, C), 25) //Very short because it's just webs
|
||||
used = TRUE
|
||||
|
||||
return used
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
user.tod = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time)
|
||||
user.fakedeath("changeling", TRUE) //play dead
|
||||
user.update_stat()
|
||||
addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(ready_to_regenerate), user), LING_FAKEDEATH_TIME, TIMER_UNIQUE)
|
||||
return TRUE
|
||||
|
||||
/datum/action/changeling/fakedeath/proc/revive(mob/living/user)
|
||||
|
||||
@@ -390,12 +390,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>")
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_grab, H, C))
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, PROC_REF(tentacle_grab), H, C))
|
||||
return BULLET_ACT_HIT
|
||||
|
||||
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, H, TRUE, TRUE, callback=CALLBACK(src, .proc/tentacle_stab, H, C))
|
||||
C.throw_at(get_step_towards(H,C), 8, 2, H, TRUE, TRUE, callback=CALLBACK(src, PROC_REF(tentacle_stab), H, C))
|
||||
return BULLET_ACT_HIT
|
||||
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>")
|
||||
@@ -711,7 +711,7 @@
|
||||
enhancement = slow_enhancement // fuck em up kiddo
|
||||
wound_enhancement = slow_wound_enhancement // really. fuck em up.
|
||||
to_chat(user, "<span class='notice'>[src] are now formed to allow for [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].</span>")
|
||||
addtimer(CALLBACK(src, .proc/use_buffs, user, TRUE), 0.1) // go fuckin get em
|
||||
addtimer(CALLBACK(src, PROC_REF(use_buffs), user, TRUE), 0.1) // go fuckin get em
|
||||
|
||||
/obj/item/clothing/gloves/fingerless/pugilist/cling/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
target.visible_message("<span class='warning'>A grotesque blade forms around [target.name]\'s arm!</span>", "<span class='userdanger'>Your arm twists and mutates, transforming into a horrific monstrosity!</span>", "<span class='italics'>You hear organic matter ripping and tearing!</span>")
|
||||
playsound(target, 'sound/effects/blobattack.ogg', 30, 1)
|
||||
|
||||
addtimer(CALLBACK(src, .proc/remove_fake, target, blade), 600)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_fake), target, blade), 600)
|
||||
return TRUE
|
||||
|
||||
/datum/action/changeling/sting/false_armblade/proc/remove_fake(mob/target, obj/item/melee/arm_blade/false/blade)
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
disguise_image.overlays = snap.overlays
|
||||
disguises[current_profile.name] = disguise_image
|
||||
|
||||
var/chosen_name = show_radial_menu(user, user, disguises, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 40, require_near = TRUE, tooltips = TRUE)
|
||||
var/chosen_name = show_radial_menu(user, user, disguises, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 40, require_near = TRUE, tooltips = TRUE)
|
||||
if(!chosen_name)
|
||||
return
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
/obj/effect/clockwork/overlay/wall/Initialize(mapload)
|
||||
. = ..()
|
||||
queue_smooth_neighbors(src)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/queue_smooth, src), 1)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(queue_smooth), src), 1)
|
||||
|
||||
/obj/effect/clockwork/overlay/wall/Destroy()
|
||||
queue_smooth_neighbors(src)
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
if(!cyborg_checks(cyborg))
|
||||
return
|
||||
to_chat(cyborg, "<span class='brass'>You start to charge from the [sigil_name]...</span>")
|
||||
if(!do_after(cyborg, 50, target = src, extra_checks = CALLBACK(src, .proc/cyborg_checks, cyborg, TRUE)))
|
||||
if(!do_after(cyborg, 50, target = src, extra_checks = CALLBACK(src, PROC_REF(cyborg_checks), cyborg, TRUE)))
|
||||
return
|
||||
var/giving_power = min(FLOOR(cyborg.cell.maxcharge - cyborg.cell.charge, MIN_CLOCKCULT_POWER), get_clockwork_power()) //give the borg either all our power or their missing power floored to MIN_CLOCKCULT_POWER
|
||||
if(adjust_clockwork_power(-giving_power))
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/obj/effect/clockwork/spatial_gateway/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_setup), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(check_setup)), 1)
|
||||
|
||||
/obj/effect/clockwork/spatial_gateway/Destroy()
|
||||
deltimer(timerid)
|
||||
@@ -161,7 +161,7 @@
|
||||
else
|
||||
animate(src, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(linked_gateway, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW)
|
||||
addtimer(CALLBACK(src, .proc/check_uses), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(check_uses)), 10)
|
||||
return TRUE
|
||||
|
||||
/obj/effect/clockwork/spatial_gateway/proc/check_uses()
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
/proc/generate_all_scripture()
|
||||
if(GLOB.all_scripture.len)
|
||||
return
|
||||
for(var/V in sortList(subtypesof(/datum/clockwork_scripture) - list(/datum/clockwork_scripture/channeled, /datum/clockwork_scripture/create_object, /datum/clockwork_scripture/create_object/construct), /proc/cmp_clockscripture_priority))
|
||||
for(var/V in sortList(subtypesof(/datum/clockwork_scripture) - list(/datum/clockwork_scripture/channeled, /datum/clockwork_scripture/create_object, /datum/clockwork_scripture/create_object/construct), GLOBAL_PROC_REF(cmp_clockscripture_priority)))
|
||||
var/datum/clockwork_scripture/S = new V
|
||||
GLOB.all_scripture[S.type] = S
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
/obj/item/clockwork/slab/dropped(mob/user)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later
|
||||
addtimer(CALLBACK(src, PROC_REF(check_on_mob), user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later
|
||||
|
||||
/obj/item/clockwork/slab/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE)
|
||||
. = ..()
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
/obj/item/clothing/glasses/judicial_visor/dropped(mob/user)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later
|
||||
addtimer(CALLBACK(src, PROC_REF(check_on_mob), user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later
|
||||
|
||||
/obj/item/clothing/glasses/judicial_visor/proc/check_on_mob(mob/user)
|
||||
if(user && src != user.get_item_by_slot(ITEM_SLOT_EYES)) //if we happen to check and we AREN'T in the slot, we need to remove our shit from whoever we got dropped from
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user]'s [name] starts consuming [target]!</span>", \
|
||||
"<span class='brass'>Your [name] starts consuming [target]...</span>")
|
||||
if(!do_after(user, fabrication_values["operation_time"], target = target, extra_checks = CALLBACK(src, .proc/fabricate_checks, fabrication_values, target, target_type, user, TRUE)))
|
||||
if(!do_after(user, fabrication_values["operation_time"], target = target, extra_checks = CALLBACK(src, PROC_REF(fabricate_checks), fabrication_values, target, target_type, user, TRUE)))
|
||||
return FALSE
|
||||
if(!silent)
|
||||
var/atom/A = fabrication_values["new_obj_type"]
|
||||
|
||||
+2
-2
@@ -131,7 +131,7 @@
|
||||
recalling = TRUE
|
||||
sound_to_playing_players('sound/machines/clockcult/ark_recall.ogg', 75, FALSE)
|
||||
hierophant_message("<span class='bold large_brass'>The Eminence has initiated a mass recall! You are being transported to the Ark!</span>")
|
||||
addtimer(CALLBACK(src, .proc/mass_recall), 100)
|
||||
addtimer(CALLBACK(src, PROC_REF(mass_recall)), 100)
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/proc/mass_recall()
|
||||
for(var/V in SSticker.mode.servants_of_ratvar)
|
||||
@@ -181,7 +181,7 @@
|
||||
make_glow()
|
||||
glow.icon_state = "clockwork_gateway_disrupted"
|
||||
resistance_flags |= INDESTRUCTIBLE
|
||||
addtimer(CALLBACK(src, .proc/go_boom), 2.7 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(go_boom)), 2.7 SECONDS)
|
||||
return
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
hierophant_message("<span class='brass'><b>[nominee] proposes selecting an Eminence from ghosts!</b> You may object by interacting with the eminence spire. The vote will otherwise pass in 30 seconds.</span>")
|
||||
for(var/mob/M in servants_and_ghosts())
|
||||
M.playsound_local(M, 'sound/machines/clockcult/ocularwarden-target.ogg', 50, FALSE)
|
||||
selection_timer = addtimer(CALLBACK(src, .proc/kingmaker), 300, TIMER_STOPPABLE)
|
||||
selection_timer = addtimer(CALLBACK(src, PROC_REF(kingmaker)), 300, TIMER_STOPPABLE)
|
||||
|
||||
/obj/structure/destructible/clockwork/eminence_spire/proc/objection(mob/living/wright)
|
||||
if(alert(wright, "Object to the selection of [eminence_nominee] as Eminence?", "Objection!", "Object", "Cancel") == "Cancel" || !is_servant_of_ratvar(wright) || !wright.canUseTopic(src) || !eminence_nominee)
|
||||
|
||||
+1
-1
@@ -171,7 +171,7 @@
|
||||
priority_announce("Energy signal no longer detected.","Central Command Higher Dimensional Affairs")
|
||||
return
|
||||
sound_to_playing_players('sound/magic/clockwork/ark_activation_sequence.ogg', 80) //if this isn't lessened in volume it peaks for some reason
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/clockcult_ending_helper), 300)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(clockcult_ending_helper)), 300)
|
||||
|
||||
/proc/clockcult_ending_helper()
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
"<span class='userdanger'>A massive brass spike rips through your chassis and bursts into shrapnel in your casing!</span>")
|
||||
squirrel.adjustBruteLoss(50)
|
||||
squirrel.Stun(20)
|
||||
addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(take_damage), max_integrity), 1)
|
||||
else
|
||||
squirrel.visible_message("<span class='boldwarning'>A massive brass spike erupts from the ground, impaling [squirrel]!</span>", \
|
||||
"<span class='userdanger'>A massive brass spike rams through your chest, hoisting you into the air!</span>")
|
||||
@@ -72,7 +72,7 @@
|
||||
if(M)
|
||||
M.take_damage(50,BRUTE,MELEE)
|
||||
M.visible_message("<span class='danger'>A massive brass spike erupts from the ground, penetrating \the [M] and shattering the trap into pieces!</span>")
|
||||
addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(take_damage), max_integrity), 1)
|
||||
else
|
||||
visible_message("<span class='danger'>A massive brass spike erupts from the ground!</span>")
|
||||
|
||||
|
||||
@@ -268,7 +268,7 @@
|
||||
SEND_SOUND(ranged_ability_user, sound('sound/effects/ghost.ogg',0,1,50))
|
||||
var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER)
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, FALSE)
|
||||
addtimer(CALLBACK(H,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(H, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
to_chat(ranged_ability_user,"<span class='cult'><b>[H] has been cursed with living nightmares!</b></span>")
|
||||
attached_action.charges--
|
||||
attached_action.desc = attached_action.base_desc
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
if(B.current)
|
||||
SEND_SOUND(B.current, 'sound/hallucinations/i_see_you2.ogg')
|
||||
to_chat(B.current, "<span class='cultlarge'>The veil weakens as your cult grows, your eyes begin to glow...")
|
||||
addtimer(CALLBACK(src, .proc/rise, B.current), 200)
|
||||
addtimer(CALLBACK(src, PROC_REF(rise), B.current), 200)
|
||||
cult_risen = TRUE
|
||||
|
||||
if(ratio > CULT_ASCENDENT && !cult_ascendent)
|
||||
@@ -316,7 +316,7 @@
|
||||
if(B.current)
|
||||
SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg')
|
||||
to_chat(B.current, "<span class='cultlarge'>Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!")
|
||||
addtimer(CALLBACK(src, .proc/ascend, B.current), 200)
|
||||
addtimer(CALLBACK(src, PROC_REF(ascend), B.current), 200)
|
||||
cult_ascendent = TRUE
|
||||
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
S.release_shades(owner)
|
||||
B.current.setDir(SOUTH)
|
||||
new /obj/effect/temp_visual/cult/blood(final)
|
||||
addtimer(CALLBACK(B.current, /mob/.proc/reckon, final), 10)
|
||||
addtimer(CALLBACK(B.current, TYPE_PROC_REF(/mob, reckon), final), 10)
|
||||
else
|
||||
return
|
||||
antag.cult_team.reckoning_complete = TRUE
|
||||
@@ -290,7 +290,7 @@
|
||||
B.current.client.images += C.cult_team.blood_target_image
|
||||
attached_action.owner.update_action_buttons_icon()
|
||||
remove_ranged_ability("<span class='cult'>The marking rite is complete! It will last for 90 seconds.</span>")
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), 900, TIMER_STOPPABLE)
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reset_blood_target,C.cult_team)), 900, TIMER_STOPPABLE)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -377,8 +377,8 @@
|
||||
desc = "Remove the Blood Mark you previously set."
|
||||
button_icon_state = "emp"
|
||||
owner.update_action_buttons_icon()
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), base_cooldown, TIMER_STOPPABLE)
|
||||
addtimer(CALLBACK(src, .proc/reset_button), base_cooldown)
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reset_blood_target,C.cult_team)), base_cooldown, TIMER_STOPPABLE)
|
||||
addtimer(CALLBACK(src, PROC_REF(reset_button)), base_cooldown)
|
||||
|
||||
|
||||
//////// ELDRITCH PULSE /////////
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
sword.spinning = TRUE
|
||||
sword.block_chance = 100
|
||||
sword.slowdown += 1.5
|
||||
addtimer(CALLBACK(src, .proc/stop_spinning), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(stop_spinning)), 50)
|
||||
holder.update_action_buttons_icon()
|
||||
|
||||
/datum/action/innate/cult/spin2win/proc/stop_spinning()
|
||||
@@ -718,8 +718,8 @@
|
||||
|
||||
/obj/item/cult_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/cult_spear/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
to_chat(user, "<span class='cultitalic'>You study the schematics etched into the altar...</span>")
|
||||
|
||||
var/list/options = list("Eldritch Whetstone" = radial_whetstone, "Construct Shell" = radial_shell, "Flask of Unholy Water" = radial_unholy_water)
|
||||
var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
|
||||
var/reward
|
||||
switch(choice)
|
||||
@@ -158,7 +158,7 @@
|
||||
|
||||
|
||||
var/list/options = list("Shielded Robe" = radial_shielded, "Flagellant's Robe" = radial_flagellant, "Mirror Shield" = radial_mirror)
|
||||
var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
|
||||
var/reward
|
||||
switch(choice)
|
||||
@@ -294,7 +294,7 @@
|
||||
to_chat(user, "<span class='cultitalic'>You flip through the black pages of the archives...</span>")
|
||||
|
||||
var/list/options = list("Zealot's Blindfold" = radial_blindfold, "Shuttle Curse" = radial_curse, "Veil Walker Set" = radial_veilwalker)
|
||||
var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, src, options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
|
||||
var/reward
|
||||
switch(choice)
|
||||
|
||||
@@ -447,7 +447,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
outer_portal = new(T, 600, color)
|
||||
light_range = 4
|
||||
update_light()
|
||||
addtimer(CALLBACK(src, .proc/close_portal), 600, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(close_portal)), 600, TIMER_UNIQUE)
|
||||
|
||||
/obj/effect/rune/teleport/proc/close_portal()
|
||||
qdel(inner_portal)
|
||||
@@ -673,7 +673,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
W.density = TRUE
|
||||
W.update_state()
|
||||
W.spread_density()
|
||||
density_timer = addtimer(CALLBACK(src, .proc/lose_density), 3000, TIMER_STOPPABLE)
|
||||
density_timer = addtimer(CALLBACK(src, PROC_REF(lose_density)), 3000, TIMER_STOPPABLE)
|
||||
|
||||
/obj/effect/rune/wall/proc/lose_density()
|
||||
if(density)
|
||||
@@ -683,7 +683,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
var/oldcolor = color
|
||||
add_atom_colour("#696969", FIXED_COLOUR_PRIORITY)
|
||||
animate(src, color = oldcolor, time = 50, easing = EASE_IN)
|
||||
addtimer(CALLBACK(src, .proc/recharge), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(recharge)), 50)
|
||||
|
||||
/obj/effect/rune/wall/proc/recharge()
|
||||
recharging = FALSE
|
||||
@@ -1001,11 +1001,11 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
if(ishuman(M))
|
||||
if(!iscultist(M))
|
||||
AH.remove_hud_from(M)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/hudFix, M), duration)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(hudFix), M), duration)
|
||||
var/image/A = image('icons/mob/mob.dmi',M,"cultist", ABOVE_MOB_LAYER)
|
||||
A.override = 1
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, FALSE)
|
||||
addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"human_apoc",TRUE), duration)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"human_apoc",TRUE), duration)
|
||||
images += A
|
||||
SEND_SOUND(M, pick(sound('sound/ambience/antag/bloodcult.ogg'),sound('sound/spookoween/ghost_whisper.ogg'),sound('sound/spookoween/ghosty_wind.ogg')))
|
||||
else
|
||||
@@ -1013,13 +1013,13 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
var/image/B = image('icons/mob/mob.dmi',M,construct, ABOVE_MOB_LAYER)
|
||||
B.override = 1
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "mob_apoc", B, FALSE)
|
||||
addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"mob_apoc",TRUE), duration)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"mob_apoc",TRUE), duration)
|
||||
images += B
|
||||
if(!iscultist(M))
|
||||
if(M.client)
|
||||
var/image/C = image('icons/effects/cult_effects.dmi',M,"bloodsparkles", ABOVE_MOB_LAYER)
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, FALSE)
|
||||
addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), duration)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), duration)
|
||||
images += C
|
||||
else
|
||||
to_chat(M, "<span class='cultlarge'>An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!</span>")
|
||||
|
||||
@@ -67,7 +67,7 @@ the new instance inside the host to be updated to the template's stats.
|
||||
browser = new /datum/browser(src, "disease_menu", "Adaptation Menu", 1000, 770, src)
|
||||
|
||||
freemove_end = world.time + freemove_time
|
||||
freemove_end_timerid = addtimer(CALLBACK(src, .proc/infect_random_patient_zero), freemove_time, TIMER_STOPPABLE)
|
||||
freemove_end_timerid = addtimer(CALLBACK(src, PROC_REF(infect_random_patient_zero)), freemove_time, TIMER_STOPPABLE)
|
||||
|
||||
/mob/camera/disease/Destroy()
|
||||
. = ..()
|
||||
@@ -264,7 +264,7 @@ the new instance inside the host to be updated to the template's stats.
|
||||
/mob/camera/disease/proc/set_following(mob/living/L)
|
||||
if(following_host)
|
||||
UnregisterSignal(following_host, COMSIG_MOVABLE_MOVED)
|
||||
RegisterSignal(L, COMSIG_MOVABLE_MOVED, .proc/follow_mob)
|
||||
RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(follow_mob))
|
||||
following_host = L
|
||||
follow_mob()
|
||||
|
||||
@@ -306,7 +306,7 @@ the new instance inside the host to be updated to the template's stats.
|
||||
/mob/camera/disease/proc/adapt_cooldown()
|
||||
to_chat(src, "<span class='notice'>You have altered your genetic structure. You will be unable to adapt again for [DisplayTimeText(adaptation_cooldown)].</span>")
|
||||
next_adaptation_time = world.time + adaptation_cooldown
|
||||
addtimer(CALLBACK(src, .proc/notify_adapt_ready), adaptation_cooldown)
|
||||
addtimer(CALLBACK(src, PROC_REF(notify_adapt_ready)), adaptation_cooldown)
|
||||
|
||||
/mob/camera/disease/proc/notify_adapt_ready()
|
||||
to_chat(src, "<span class='notice'>You are now ready to adapt again.</span>")
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
* Use this whenever you want to add someone to the list
|
||||
*/
|
||||
/datum/reality_smash_tracker/proc/AddMind(datum/mind/e_cultists)
|
||||
RegisterSignal(e_cultists.current,COMSIG_MOB_CLIENT_LOGIN,.proc/ReworkNetwork)
|
||||
RegisterSignal(e_cultists.current,COMSIG_MOB_CLIENT_LOGIN, PROC_REF(ReworkNetwork))
|
||||
targets |= e_cultists
|
||||
Generate()
|
||||
for(var/obj/effect/reality_smash/reality_smash in smashes)
|
||||
|
||||
@@ -170,11 +170,11 @@
|
||||
to_chat(user, "<span class='warning'>These items don't possess the required fingerprints or DNA.</span>")
|
||||
return FALSE
|
||||
|
||||
var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sortList(compiled_list, /proc/cmp_mob_realname_dsc)
|
||||
var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sortList(compiled_list, GLOBAL_PROC_REF(cmp_mob_realname_dsc))
|
||||
if(!chosen_mob)
|
||||
return FALSE
|
||||
curse(compiled_list[chosen_mob])
|
||||
addtimer(CALLBACK(src, .proc/uncurse, compiled_list[chosen_mob]),timer)
|
||||
addtimer(CALLBACK(src, PROC_REF(uncurse), compiled_list[chosen_mob]),timer)
|
||||
return TRUE
|
||||
|
||||
/datum/eldritch_knowledge/curse/proc/curse(mob/living/chosen_mob)
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
. = ..()
|
||||
current_user = user
|
||||
has_fire_ring = TRUE
|
||||
addtimer(CALLBACK(src, .proc/remove, user), duration, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove), user), duration, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/fire_sworn/proc/remove()
|
||||
has_fire_ring = FALSE
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
var/datum/antagonist/heretic/master = user.mind.has_antag_datum(/datum/antagonist/heretic)
|
||||
heretic_monster.set_owner(master)
|
||||
atoms -= humie
|
||||
RegisterSignal(humie,COMSIG_MOB_DEATH,.proc/remove_ghoul)
|
||||
RegisterSignal(humie,COMSIG_MOB_DEATH, PROC_REF(remove_ghoul))
|
||||
ghouls += humie
|
||||
|
||||
/datum/eldritch_knowledge/flesh_ghoul/proc/remove_ghoul(datum/source)
|
||||
@@ -114,7 +114,7 @@
|
||||
log_game("[key_name_admin(human_target)] has become a ghoul, their master is [user.real_name]")
|
||||
//we change it to true only after we know they passed all the checks
|
||||
. = TRUE
|
||||
RegisterSignal(human_target,COMSIG_MOB_DEATH,.proc/remove_ghoul)
|
||||
RegisterSignal(human_target,COMSIG_MOB_DEATH, PROC_REF(remove_ghoul))
|
||||
human_target.revive(full_heal = TRUE, admin_revive = TRUE)
|
||||
human_target.setMaxHealth(40)
|
||||
human_target.health = 40
|
||||
|
||||
@@ -194,7 +194,7 @@ GLOBAL_VAR(families_override_theme)
|
||||
|
||||
// see /datum/antagonist/gang/create_team() for how the gang team datum gets instantiated and added to our gangs list
|
||||
|
||||
addtimer(CALLBACK(src, .proc/announce_gang_locations), 5 MINUTES)
|
||||
addtimer(CALLBACK(src, PROC_REF(announce_gang_locations)), 5 MINUTES)
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, signalCache)
|
||||
RegisterSignal(user, signalCache, .proc/disrupt)
|
||||
RegisterSignal(user, signalCache, PROC_REF(disrupt))
|
||||
listeningTo = user
|
||||
|
||||
/obj/item/borg_chameleon/proc/deactivate(mob/living/silicon/robot/user)
|
||||
|
||||
@@ -470,7 +470,7 @@
|
||||
sound_to_playing_players('sound/machines/alarm.ogg')
|
||||
if(SSticker && SSticker.mode)
|
||||
SSticker.roundend_check_paused = TRUE
|
||||
addtimer(CALLBACK(src, .proc/actually_explode), 100)
|
||||
addtimer(CALLBACK(src, PROC_REF(actually_explode)), 100)
|
||||
|
||||
/obj/machinery/nuclearbomb/proc/actually_explode()
|
||||
if(!core)
|
||||
@@ -551,10 +551,10 @@
|
||||
var/datum/round_event_control/E = locate(/datum/round_event_control/vent_clog/beer) in SSevents.control
|
||||
if(E)
|
||||
E.runEvent()
|
||||
addtimer(CALLBACK(src, .proc/really_actually_explode), 110)
|
||||
addtimer(CALLBACK(src, PROC_REF(really_actually_explode)), 110)
|
||||
else
|
||||
visible_message("<span class='notice'>[src] fizzes ominously.</span>")
|
||||
addtimer(CALLBACK(src, .proc/fizzbuzz), 110)
|
||||
addtimer(CALLBACK(src, PROC_REF(fizzbuzz)), 110)
|
||||
|
||||
/obj/machinery/nuclearbomb/beer/proc/disarm()
|
||||
detonation_timer = null
|
||||
@@ -725,7 +725,7 @@ This is here to make the tiles around the station mininuke change when it's arme
|
||||
playsound(src, 'sound/machines/alarm.ogg', 50, -1, TRUE)
|
||||
for(var/i in 1 to 100)
|
||||
addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? "#00FF00" : "#FF0000", ADMIN_COLOUR_PRIORITY), i)
|
||||
addtimer(CALLBACK(src, .proc/manual_suicide, user), 101)
|
||||
addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), 101)
|
||||
return MANUAL_SUICIDE
|
||||
|
||||
/obj/item/disk/nuclear/proc/manual_suicide(mob/living/user)
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
to_chat(owner, "<B>If you feel you are not up to this task, give your ID to another operative.</B>")
|
||||
to_chat(owner, "<B>In your hand you will find a special item capable of triggering a greater challenge for your team. Examine it carefully and consult with your fellow operatives before activating it.</B>")
|
||||
owner.announce_objectives()
|
||||
addtimer(CALLBACK(src, .proc/nuketeam_name_assign), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(nuketeam_name_assign)), 1)
|
||||
|
||||
|
||||
/datum/antagonist/nukeop/leader/proc/nuketeam_name_assign()
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
//Lists notable loot.
|
||||
if(!cargo_hold || !cargo_hold.total_report)
|
||||
return "Nothing"
|
||||
cargo_hold.total_report.total_value = sortTim(cargo_hold.total_report.total_value, cmp = /proc/cmp_numeric_dsc, associative = TRUE)
|
||||
cargo_hold.total_report.total_value = sortTim(cargo_hold.total_report.total_value, cmp = GLOBAL_PROC_REF(cmp_numeric_dsc), associative = TRUE)
|
||||
var/count = 0
|
||||
var/list/loot_texts = list()
|
||||
for(var/datum/export/E in cargo_hold.total_report.total_value)
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
adjustBruteLoss(25) //hella effective
|
||||
inhibited = TRUE
|
||||
update_action_buttons_icon()
|
||||
addtimer(CALLBACK(src, .proc/reset_inhibit), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(reset_inhibit)), 30)
|
||||
|
||||
/mob/living/simple_animal/revenant/proc/reset_inhibit()
|
||||
inhibited = FALSE
|
||||
@@ -369,7 +369,7 @@
|
||||
|
||||
/obj/item/ectoplasm/revenant/New()
|
||||
..()
|
||||
addtimer(CALLBACK(src, .proc/try_reform), 600)
|
||||
addtimer(CALLBACK(src, PROC_REF(try_reform)), 600)
|
||||
|
||||
/obj/item/ectoplasm/revenant/proc/scatter()
|
||||
qdel(src)
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
s.set_up(4, 0, L)
|
||||
s.start()
|
||||
new /obj/effect/temp_visual/revenant(get_turf(L))
|
||||
addtimer(CALLBACK(src, .proc/overload_shock, L, user), 20)
|
||||
addtimer(CALLBACK(src, PROC_REF(overload_shock), L, user), 20)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/overload_shock(obj/machinery/light/L, mob/user)
|
||||
if(!L.on) //wait, wait, don't shock me
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
affected_mob.visible_message("<span class='warning'>[affected_mob] looks terrifyingly gaunt...</span>", "<span class='revennotice'>You suddenly feel like your skin is <i>wrong</i>...</span>")
|
||||
affected_mob.add_atom_colour("#1d2953", TEMPORARY_COLOUR_PRIORITY)
|
||||
new /obj/effect/temp_visual/revenant(affected_mob.loc)
|
||||
addtimer(CALLBACK(src, .proc/curses), 150)
|
||||
addtimer(CALLBACK(src, PROC_REF(curses)), 150)
|
||||
|
||||
/datum/disease/revblight/proc/curses()
|
||||
if(QDELETED(affected_mob))
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
. = ..()
|
||||
add_movespeed_modifier(/datum/movespeed_modifier/slaughter)
|
||||
var/slowdown_time = 6 SECONDS + (0.5 * consumed_buff)
|
||||
addtimer(CALLBACK(src, .proc/remove_movespeed_modifier, /datum/movespeed_modifier/slaughter), slowdown_time, TIMER_UNIQUE | TIMER_OVERRIDE)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_movespeed_modifier), /datum/movespeed_modifier/slaughter), slowdown_time, TIMER_UNIQUE | TIMER_OVERRIDE)
|
||||
|
||||
/mob/living/simple_animal/slaughter/Destroy()
|
||||
release_victims()
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
if(!silent)
|
||||
to_chat(H, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
|
||||
H.dna.remove_mutation(CLOWNMUT)
|
||||
RegisterSignal(M, COMSIG_MOVABLE_HEAR, .proc/handle_hearing)
|
||||
RegisterSignal(M, COMSIG_MOVABLE_HEAR, PROC_REF(handle_hearing))
|
||||
|
||||
/datum/antagonist/traitor/remove_innate_effects(mob/living/mob_override)
|
||||
. = ..()
|
||||
|
||||
@@ -736,7 +736,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
I.loc = T
|
||||
client.images += I
|
||||
I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively
|
||||
addtimer(CALLBACK(src, .proc/remove_transformer_image, client, I, T), 30)
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, T), 30)
|
||||
if(!success)
|
||||
to_chat(src, "<span class='warning'>[alert_msg]</span>")
|
||||
return success
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas
|
||||
var/obj/structure/closet/supplypod/extractionpod/empty_pod = new(pick(get_area_turfs(pod_storage_area))) //Lets not runtime
|
||||
|
||||
RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, .proc/enter_check)
|
||||
RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, PROC_REF(enter_check))
|
||||
|
||||
empty_pod.stay_after_drop = TRUE
|
||||
empty_pod.reversing = TRUE
|
||||
@@ -143,7 +143,7 @@
|
||||
[C.registered_account.account_balance] cr.", TRUE)
|
||||
|
||||
/datum/syndicate_contract/proc/handleVictimExperience(var/mob/living/M) // They're off to holding - handle the return timer and give some text about what's going on.
|
||||
addtimer(CALLBACK(src, .proc/returnVictim, M), 4 MINUTES) // Ship 'em back - dead or alive... 4 minutes wait.
|
||||
addtimer(CALLBACK(src, PROC_REF(returnVictim), M), 4 MINUTES) // Ship 'em back - dead or alive... 4 minutes wait.
|
||||
if(M.stat != DEAD) //Even if they weren't the target, we're still treating them the same.
|
||||
M.reagents.add_reagent(/datum/reagent/medicine/regen_jelly, 20) // Heal them up - gets them out of crit/soft crit. -- now 100% toxinlover friendly!!
|
||||
M.flash_act()
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
. = ..()
|
||||
if(.)
|
||||
update()
|
||||
RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance_genitals)
|
||||
RegisterSignal(owner, COMSIG_MOB_DEATH, PROC_REF(update_appearance_genitals))
|
||||
if(genital_flags & GENITAL_THROUGH_CLOTHES)
|
||||
owner.exposed_genitals += src
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
if(flash)
|
||||
add_overlay(flashing_overlay)
|
||||
attached_overlays += flashing_overlay
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 5)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5)
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
to_chat(I.owner, "<span class='warning'>Your photon projector implant overheats and deactivates!</span>")
|
||||
I.Retract()
|
||||
overheat = TRUE
|
||||
addtimer(CALLBACK(src, .proc/cooldown), flashcd * 2)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd * 2)
|
||||
|
||||
/obj/item/assembly/flash/armimplant/try_use_flash(mob/user = null)
|
||||
if(overheat)
|
||||
@@ -247,7 +247,7 @@
|
||||
to_chat(I.owner, "<span class='warning'>Your photon projector is running too hot to be used again so quickly!</span>")
|
||||
return FALSE
|
||||
overheat = TRUE
|
||||
addtimer(CALLBACK(src, .proc/cooldown), flashcd)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldown)), flashcd)
|
||||
playsound(src, 'sound/weapons/flash.ogg', 100, TRUE)
|
||||
update_icon(1)
|
||||
return TRUE
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
return
|
||||
if(listeningTo)
|
||||
UnregisterSignal(listeningTo, COMSIG_ATOM_EXITED)
|
||||
RegisterSignal(newloc, COMSIG_ATOM_EXITED, .proc/check_exit)
|
||||
RegisterSignal(newloc, COMSIG_ATOM_EXITED, PROC_REF(check_exit))
|
||||
listeningTo = newloc
|
||||
|
||||
/obj/item/assembly/infra/proc/check_exit(datum/source, atom/movable/offender)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/obj/item/assembly/timer/suicide_act(mob/living/user)
|
||||
user.visible_message("<span class='suicide'>[user] looks at the timer and decides [user.p_their()] fate! It looks like [user.p_theyre()] going to commit suicide!</span>")
|
||||
activate()//doesnt rely on timer_end to prevent weird metas where one person can control the timer and therefore someone's life. (maybe that should be how it works...)
|
||||
addtimer(CALLBACK(src, .proc/manual_suicide, user), time*10)//kill yourself once the time runs out
|
||||
addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), time*10)//kill yourself once the time runs out
|
||||
return MANUAL_SUICIDE
|
||||
|
||||
/obj/item/assembly/timer/proc/manual_suicide(mob/living/user)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
if(!istype(speaker, /obj/item/assembly/playback)) // Check if it isn't a playback device to prevent spam and lag
|
||||
if(message_language == languages) // If it isn't in the same language as the message, don't try to find the message
|
||||
if(check_activation(speaker, raw_message)) // Is it the message?
|
||||
addtimer(CALLBACK(src, .proc/pulse, 0), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(pulse), 0), 10)
|
||||
|
||||
/obj/item/assembly/voice/proc/record_speech(atom/movable/speaker, raw_message, datum/language/message_language)
|
||||
languages = message_language // Assign the message's language to a variable to use it elsewhere
|
||||
@@ -56,7 +56,7 @@
|
||||
say("Your voice pattern is saved.", language = languages)
|
||||
if(VOICE_SENSOR_MODE)
|
||||
if(length(raw_message))
|
||||
addtimer(CALLBACK(src, .proc/pulse, 0), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(pulse), 0), 10)
|
||||
|
||||
/obj/item/assembly/voice/proc/check_activation(atom/movable/speaker, raw_message)
|
||||
. = FALSE
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/datum/asset_transport/proc/Load()
|
||||
if (CONFIG_GET(flag/asset_simple_preload))
|
||||
for(var/client/C in GLOB.clients)
|
||||
addtimer(CALLBACK(src, .proc/send_assets_slow, C, preload), 1 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS)
|
||||
|
||||
/// Initialize - Called when SSassets initializes.
|
||||
/datum/asset_transport/proc/Initialize(list/assets)
|
||||
@@ -22,7 +22,7 @@
|
||||
if (!CONFIG_GET(flag/asset_simple_preload))
|
||||
return
|
||||
for(var/client/C in GLOB.clients)
|
||||
addtimer(CALLBACK(src, .proc/send_assets_slow, C, preload), 1 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS)
|
||||
|
||||
|
||||
/// Register a browser asset with the asset cache system
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
reaction = new r
|
||||
if(!reaction.exclude)
|
||||
. += reaction
|
||||
sortTim(., /proc/cmp_gas_reaction)
|
||||
sortTim(., GLOBAL_PROC_REF(cmp_gas_reaction))
|
||||
|
||||
/proc/cmp_gas_reaction(datum/gas_reaction/a, datum/gas_reaction/b) // compares lists of reactions by the maximum priority contained within the list
|
||||
return b.priority - a.priority
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
/obj/machinery/airalarm/Initialize(mapload, ndir, nbuild)
|
||||
. = ..()
|
||||
regenerate_TLV()
|
||||
RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,.proc/regenerate_TLV)
|
||||
RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS, PROC_REF(regenerate_TLV))
|
||||
wires = new /datum/wires/airalarm(src)
|
||||
|
||||
if(ndir)
|
||||
|
||||
@@ -48,7 +48,7 @@ It's like a regular ol' straight pipe, but you can turn it on and off.
|
||||
return
|
||||
update_icon_nopipes(TRUE)
|
||||
switching = TRUE
|
||||
addtimer(CALLBACK(src, .proc/finish_interact), 10)
|
||||
addtimer(CALLBACK(src, PROC_REF(finish_interact)), 10)
|
||||
|
||||
/obj/machinery/atmospherics/components/binary/valve/proc/finish_interact()
|
||||
toggle()
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
occupant_overlay.pixel_y--
|
||||
add_overlay(occupant_overlay)
|
||||
add_overlay("cover-on")
|
||||
addtimer(CALLBACK(src, .proc/run_anim, anim_up, occupant_overlay), 7, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(run_anim), anim_up, occupant_overlay), 7, TIMER_UNIQUE)
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/nap_violation(mob/violator)
|
||||
open_machine()
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
var/datum/gas_mixture/air_contents = airs[1]
|
||||
volume_rate = clamp(number, 0, air_contents.return_volume())
|
||||
|
||||
addtimer(CALLBACK(src, .proc/broadcast_status), 2)
|
||||
addtimer(CALLBACK(src, PROC_REF(broadcast_status)), 2)
|
||||
|
||||
if(!("status" in signal.data)) //do not update_icon
|
||||
update_icon()
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
if(!id_tag)
|
||||
id_tag = assign_uid_vents()
|
||||
generate_clean_filter_types()
|
||||
RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,.proc/generate_clean_filter_types)
|
||||
RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS, PROC_REF(generate_clean_filter_types))
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/proc/generate_clean_filter_types()
|
||||
clean_filter_types = list()
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
var/turf/T = get_turf(body)
|
||||
new /obj/effect/ctf/ammo(T)
|
||||
recently_dead_ckeys += body.ckey
|
||||
addtimer(CALLBACK(src, .proc/clear_cooldown, body.ckey), respawn_cooldown, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(clear_cooldown), body.ckey), respawn_cooldown, TIMER_UNIQUE)
|
||||
body.dust()
|
||||
|
||||
/obj/machinery/capture_the_flag/proc/clear_cooldown(ckey)
|
||||
@@ -390,7 +390,7 @@
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/floor_vanish), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf/proc/floor_vanish()
|
||||
if(isturf(loc))
|
||||
@@ -418,7 +418,7 @@
|
||||
|
||||
/obj/item/gun/ballistic/automatic/laser/ctf/dropped()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/floor_vanish), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/laser/ctf/proc/floor_vanish()
|
||||
if(isturf(loc))
|
||||
@@ -429,7 +429,7 @@
|
||||
|
||||
/obj/item/ammo_box/magazine/recharge/ctf/dropped()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/floor_vanish), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1)
|
||||
|
||||
/obj/item/ammo_box/magazine/recharge/ctf/proc/floor_vanish()
|
||||
if(isturf(loc))
|
||||
@@ -500,7 +500,7 @@
|
||||
|
||||
/obj/item/claymore/ctf/dropped(mob/user)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/floor_vanish), 1)
|
||||
addtimer(CALLBACK(src, PROC_REF(floor_vanish)), 1)
|
||||
|
||||
/obj/item/claymore/ctf/proc/floor_vanish()
|
||||
if(isturf(loc))
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/obj/item/clothing/head/rice_hat/cursed/equipped(mob/M, slot)
|
||||
. = ..()
|
||||
if (slot == ITEM_SLOT_HEAD)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech))
|
||||
else
|
||||
UnregisterSignal(M, COMSIG_MOB_SAY)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
/obj/effect/murderdome/dead_barricade/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/respawn), 3 MINUTES)
|
||||
addtimer(CALLBACK(src, PROC_REF(respawn)), 3 MINUTES)
|
||||
|
||||
/obj/effect/murderdome/dead_barricade/proc/respawn()
|
||||
if(!QDELETED(src))
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
easing = CUBIC_EASING | EASE_IN,
|
||||
)
|
||||
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_image_from_client, balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME(duration_mult))
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_image_from_client), balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME(duration_mult))
|
||||
|
||||
#undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN
|
||||
#undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT
|
||||
|
||||
@@ -344,7 +344,7 @@
|
||||
if (temp_pod.effectShrapnel == TRUE) //If already doing custom damage, set back to default (no shrapnel)
|
||||
temp_pod.effectShrapnel = FALSE
|
||||
return
|
||||
var/shrapnelInput = input("Please enter the type of pellet cloud you'd like to create on landing (Can be any projectile!)", "Projectile Typepath", 0) in sortList(subtypesof(/obj/item/projectile), /proc/cmp_typepaths_asc)
|
||||
var/shrapnelInput = input("Please enter the type of pellet cloud you'd like to create on landing (Can be any projectile!)", "Projectile Typepath", 0) in sortList(subtypesof(/obj/item/projectile), GLOBAL_PROC_REF(cmp_typepaths_asc))
|
||||
if (isnull(shrapnelInput))
|
||||
return
|
||||
var/shrapnelMagnitude = input("Enter the magnitude of the pellet cloud. This is usually a value around 1-5. Please note that Ryll-Ryll has asked me to tell you that if you go too crazy with the projectiles you might crash the server. So uh, be gentle!", "Shrapnel Magnitude", 0) as null|num
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
anomalous_box_provided = TRUE
|
||||
log_game("An anomalous pizza box was provided in a pizza crate at during cargo delivery")
|
||||
if(prob(50))
|
||||
addtimer(CALLBACK(src, .proc/anomalous_pizza_report), rand(300, 1800))
|
||||
addtimer(CALLBACK(src, PROC_REF(anomalous_pizza_report)), rand(300, 1800))
|
||||
else
|
||||
message_admins("An anomalous pizza box was silently created with no command report in a pizza crate delivery.")
|
||||
break
|
||||
|
||||
@@ -275,11 +275,11 @@
|
||||
var/mob/living/simple_animal/pet/gondola/gondolapod/benis = new(turf_underneath, src)
|
||||
benis.contents |= contents //Move the contents of this supplypod into the gondolapod mob.
|
||||
moveToNullspace()
|
||||
addtimer(CALLBACK(src, .proc/open_pod, benis), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplyprod while referencing the contents of the "holder", in this case the gondolapod mob
|
||||
addtimer(CALLBACK(src, PROC_REF(open_pod), benis), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplyprod while referencing the contents of the "holder", in this case the gondolapod mob
|
||||
else if (style == STYLE_SEETHROUGH)
|
||||
open_pod(src)
|
||||
else
|
||||
addtimer(CALLBACK(src, .proc/open_pod, src), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplypod, while referencing this supplypod's contents
|
||||
addtimer(CALLBACK(src, PROC_REF(open_pod), src), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplypod, while referencing this supplypod's contents
|
||||
|
||||
/obj/structure/closet/supplypod/proc/open_pod(atom/movable/holder, broken = FALSE, forced = FALSE) //The holder var represents an atom whose contents we will be working with
|
||||
if (!holder)
|
||||
@@ -307,9 +307,9 @@
|
||||
startExitSequence(src)
|
||||
else
|
||||
if (reversing)
|
||||
addtimer(CALLBACK(src, .proc/SetReverseIcon), delays[POD_LEAVING]/2) //Finish up the pod's duties after a certain amount of time
|
||||
addtimer(CALLBACK(src, PROC_REF(SetReverseIcon)), delays[POD_LEAVING]/2) //Finish up the pod's duties after a certain amount of time
|
||||
if(!stay_after_drop) // Departing should be handled manually
|
||||
addtimer(CALLBACK(src, .proc/startExitSequence, holder), delays[POD_LEAVING]*(4/5)) //Finish up the pod's duties after a certain amount of time
|
||||
addtimer(CALLBACK(src, PROC_REF(startExitSequence), holder), delays[POD_LEAVING]*(4/5)) //Finish up the pod's duties after a certain amount of time
|
||||
|
||||
/obj/structure/closet/supplypod/proc/startExitSequence(atom/movable/holder)
|
||||
if (leavingSound)
|
||||
@@ -330,7 +330,7 @@
|
||||
take_contents(holder)
|
||||
playsound(holder, close_sound, soundVolume*0.75, TRUE, -3)
|
||||
holder.setClosed()
|
||||
addtimer(CALLBACK(src, .proc/preReturn, holder), delays[POD_LEAVING] * 0.2) //Start to leave a bit after closing for cinematic effect
|
||||
addtimer(CALLBACK(src, PROC_REF(preReturn), holder), delays[POD_LEAVING] * 0.2) //Start to leave a bit after closing for cinematic effect
|
||||
|
||||
/obj/structure/closet/supplypod/take_contents(atom/movable/holder)
|
||||
var/turf/turf_underneath = holder.drop_location()
|
||||
@@ -407,7 +407,7 @@
|
||||
deleteRubble()
|
||||
animate(holder, alpha = 0, time = 8, easing = QUAD_EASING|EASE_IN, flags = ANIMATION_PARALLEL)
|
||||
animate(holder, pixel_z = 400, time = 10, easing = QUAD_EASING|EASE_IN, flags = ANIMATION_PARALLEL) //Animate our rising pod
|
||||
addtimer(CALLBACK(src, .proc/handleReturnAfterDeparting, holder), 15) //Finish up the pod's duties after a certain amount of time
|
||||
addtimer(CALLBACK(src, PROC_REF(handleReturnAfterDeparting), holder), 15) //Finish up the pod's duties after a certain amount of time
|
||||
|
||||
/obj/structure/closet/supplypod/setOpened() //Proc exists here, as well as in any atom that can assume the role of a "holder" of a supplypod. Check the open_pod() proc for more details
|
||||
opened = TRUE
|
||||
@@ -583,8 +583,8 @@
|
||||
if (soundStartTime < 0)
|
||||
soundStartTime = 1
|
||||
if (!pod.effectQuiet && !(pod.pod_flags & FIRST_SOUNDS))
|
||||
addtimer(CALLBACK(src, .proc/playFallingSound), soundStartTime)
|
||||
addtimer(CALLBACK(src, .proc/beginLaunch, pod.effectCircle), pod.delays[POD_TRANSIT])
|
||||
addtimer(CALLBACK(src, PROC_REF(playFallingSound)), soundStartTime)
|
||||
addtimer(CALLBACK(src, PROC_REF(beginLaunch), pod.effectCircle), pod.delays[POD_TRANSIT])
|
||||
|
||||
/obj/effect/pod_landingzone/proc/playFallingSound()
|
||||
playsound(src, pod.fallingSound, pod.soundVolume, TRUE, 6)
|
||||
@@ -607,7 +607,7 @@
|
||||
if (pod.style != STYLE_INVISIBLE)
|
||||
animate(pod.get_filter("motionblur"), y = 0, time = pod.delays[POD_FALLING], flags = ANIMATION_PARALLEL)
|
||||
animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING, flags = ANIMATION_PARALLEL) //Make the pod fall! At an angle!
|
||||
addtimer(CALLBACK(src, .proc/endLaunch), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
addtimer(CALLBACK(src, PROC_REF(endLaunch)), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
|
||||
/obj/effect/pod_landingzone/proc/setupSmoke(rotation)
|
||||
if (pod.style == STYLE_INVISIBLE || pod.style == STYLE_SEETHROUGH)
|
||||
@@ -623,7 +623,7 @@
|
||||
smoke_part.pixel_y = abs(cos(rotation))*32 * i
|
||||
smoke_part.add_filter("smoke_blur", 1, gauss_blur_filter(size = 4))
|
||||
var/time = (pod.delays[POD_FALLING] / length(smoke_effects))*(length(smoke_effects)-i)
|
||||
addtimer(CALLBACK(smoke_part, /obj/effect/supplypod_smoke/.proc/drawSelf, i), time, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
addtimer(CALLBACK(smoke_part, TYPE_PROC_REF(/obj/effect/supplypod_smoke, drawSelf), i), time, TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
QDEL_IN(smoke_part, pod.delays[POD_FALLING] + 35)
|
||||
|
||||
/obj/effect/pod_landingzone/proc/drawSmoke()
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
launched = TRUE
|
||||
playsound(src,'sound/machines/triple_beep.ogg',50,0)
|
||||
playsound(src,'sound/machines/warning-buzzer.ogg',50,0)
|
||||
addtimer(CALLBACK(src, .proc/endLaunch), 33)//wait 3.3 seconds (time it takes for supplypod to land), then update icon
|
||||
addtimer(CALLBACK(src, PROC_REF(endLaunch)), 33)//wait 3.3 seconds (time it takes for supplypod to land), then update icon
|
||||
if (SP_UNLINK)
|
||||
linked = FALSE
|
||||
playsound(src,'sound/machines/synth_no.ogg',50,0)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
var/datum/client_colour/CC = new colour_type()
|
||||
client_colours |= CC
|
||||
sortTim(client_colours, /proc/cmp_clientcolour_priority)
|
||||
sortTim(client_colours, GLOBAL_PROC_REF(cmp_clientcolour_priority))
|
||||
update_client_colour()
|
||||
|
||||
|
||||
|
||||
@@ -293,7 +293,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
prefs = new /datum/preferences(src)
|
||||
GLOB.preferences_datums[ckey] = prefs
|
||||
|
||||
addtimer(CALLBACK(src, .proc/ensure_keys_set, prefs), 10) //prevents possible race conditions
|
||||
addtimer(CALLBACK(src, PROC_REF(ensure_keys_set), prefs), 10) //prevents possible race conditions
|
||||
|
||||
prefs.last_ip = address //these are gonna be used for banning
|
||||
prefs.last_id = computer_id //these are gonna be used for banning
|
||||
@@ -363,7 +363,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
|
||||
// Initialize tgui panel
|
||||
src << browse(file('html/statbrowser.html'), "window=statbrowser")
|
||||
addtimer(CALLBACK(src, .proc/check_panel_loaded), 30 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(check_panel_loaded)), 30 SECONDS)
|
||||
tgui_panel.initialize()
|
||||
|
||||
if(alert_mob_dupe_login && !holder)
|
||||
|
||||
@@ -1429,7 +1429,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
//The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows.
|
||||
var/datum/job/lastJob
|
||||
|
||||
for(var/datum/job/job in sortList(SSjob.occupations, /proc/cmp_job_display_asc))
|
||||
for(var/datum/job/job in sortList(SSjob.occupations, GLOBAL_PROC_REF(cmp_job_display_asc)))
|
||||
|
||||
index += 1
|
||||
if((index >= limit) || (job.title in splitJobs))
|
||||
|
||||
@@ -47,7 +47,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
outline_color = COLOR_THEME_MIDNIGHT
|
||||
if(current_version < 46) //If you remove this, remove force_reset_keybindings() too.
|
||||
force_reset_keybindings_direct(TRUE)
|
||||
addtimer(CALLBACK(src, .proc/force_reset_keybindings), 30) //No mob available when this is run, timer allows user choice.
|
||||
addtimer(CALLBACK(src, PROC_REF(force_reset_keybindings)), 30) //No mob available when this is run, timer allows user choice.
|
||||
if(current_version < 55) //Bitflag toggles don't set their defaults when they're added, always defaulting to off instead.
|
||||
toggles |= SOUND_BARK
|
||||
if(current_version < 56)
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
for(var/path in subtypesof(/datum/outfit/job))
|
||||
var/datum/outfit/O = path
|
||||
standard_outfit_options[initial(O.name)] = path
|
||||
sortTim(standard_outfit_options, /proc/cmp_text_asc)
|
||||
sortTim(standard_outfit_options, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
outfit_options = standard_outfit_options
|
||||
|
||||
/datum/action/chameleon_outfit/Trigger()
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
if(iscarbon(loc))
|
||||
var/mob/living/carbon/C = loc
|
||||
C.visible_message("<span class='danger'>The [zone_name] on [C]'s [src.name] is [break_verb] away!</span>", "<span class='userdanger'>The [zone_name] on your [src.name] is [break_verb] away!</span>", vision_distance = COMBAT_MESSAGE_RANGE)
|
||||
RegisterSignal(C, COMSIG_MOVABLE_MOVED, .proc/bristle)
|
||||
RegisterSignal(C, COMSIG_MOVABLE_MOVED, PROC_REF(bristle))
|
||||
|
||||
zones_disabled++
|
||||
for(var/i in zone2body_parts_covered(def_zone))
|
||||
@@ -221,7 +221,7 @@
|
||||
return
|
||||
if(slot_flags & slot) //Was equipped to a valid slot for this item?
|
||||
if(iscarbon(user) && LAZYLEN(zones_disabled))
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/bristle)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(bristle))
|
||||
if(LAZYLEN(user_vars_to_edit))
|
||||
for(var/variable in user_vars_to_edit)
|
||||
if(variable in user.vars)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
return
|
||||
if(slot != ITEM_SLOT_EYES)
|
||||
return
|
||||
RegisterSignal(user, COMSIG_LIVING_COMBAT_ENABLED, .proc/injectadrenaline)
|
||||
RegisterSignal(user, COMSIG_LIVING_COMBAT_ENABLED, PROC_REF(injectadrenaline))
|
||||
|
||||
/obj/item/clothing/glasses/phantomthief/syndicate/dropped(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/obj/item/clothing/gloves/color/yellow/sprayon/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, .proc/Shocked)
|
||||
RegisterSignal(user, COMSIG_LIVING_SHOCK_PREVENTED, PROC_REF(Shocked))
|
||||
|
||||
/obj/item/clothing/gloves/color/yellow/sprayon/proc/Shocked()
|
||||
shocks_remaining--
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
/obj/item/clothing/gloves/fingerless/ablative/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(current_equipped_slot == ITEM_SLOT_GLOVES)
|
||||
RegisterSignal(user, COMSIG_LIVING_ACTIVE_PARRY_START, .proc/get_component_parry_data)
|
||||
RegisterSignal(user, COMSIG_LIVING_ACTIVE_PARRY_START, PROC_REF(get_component_parry_data))
|
||||
wornonce = TRUE
|
||||
|
||||
/obj/item/clothing/gloves/fingerless/ablative/dropped(mob/user)
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
/obj/item/clothing/head/warden/drill/equipped(mob/M, slot)
|
||||
. = ..()
|
||||
if (slot == ITEM_SLOT_HEAD)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech))
|
||||
else
|
||||
UnregisterSignal(M, COMSIG_MOB_SAY)
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user