missed proc refs
This commit is contained in:
@@ -182,9 +182,9 @@
|
||||
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)
|
||||
VR.RegisterSignal(src, COMSIG_PARENT_QDELETING, /datum/component/virtual_reality.proc/machine_destroyed)
|
||||
VR.RegisterSignal(src, COMSIG_ATOM_EMAG_ACT, TYPE_PROC_REF(/datum/component/virtual_reality, you_only_live_once))
|
||||
VR.RegisterSignal(src, COMSIG_MACHINE_EJECT_OCCUPANT, TYPE_PROC_REF(/datum/component/virtual_reality, revert_to_reality))
|
||||
VR.RegisterSignal(src, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/datum/component/virtual_reality, machine_destroyed))
|
||||
to_chat(vr_mob, "<span class='notice'>Transfer successful! You are now playing as [vr_mob] in VR!</span>")
|
||||
else
|
||||
to_chat(M, "<span class='notice'>Transfer failed! virtual reality data likely corrupted!</span>")
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
return
|
||||
|
||||
LAZYADD(tagged_datums, target_datum)
|
||||
RegisterSignal(target_datum, COMSIG_PARENT_QDELETING, .proc/handle_tagged_del, override = TRUE)
|
||||
RegisterSignal(target_datum, COMSIG_PARENT_QDELETING, PROC_REF(handle_tagged_del), override = TRUE)
|
||||
to_chat(owner, span_notice("[target_datum] has been tagged."))
|
||||
|
||||
/// Get ahead of the curve with deleting
|
||||
|
||||
@@ -460,7 +460,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
|
||||
options |= SDQL2_OPTION_DO_NOT_AUTOGC
|
||||
|
||||
/datum/SDQL2_query/proc/ARun()
|
||||
INVOKE_ASYNC(src, .proc/Run)
|
||||
INVOKE_ASYNC(src, PROC_REF(Run))
|
||||
|
||||
/datum/SDQL2_query/proc/Run()
|
||||
if(SDQL2_IS_RUNNING)
|
||||
|
||||
@@ -217,7 +217,7 @@
|
||||
|
||||
//AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config.txt ~Carn
|
||||
if(CONFIG_GET(flag/popup_admin_pm))
|
||||
INVOKE_ASYNC(src, .proc/popup_admin_pm, recipient, msg)
|
||||
INVOKE_ASYNC(src, PROC_REF(popup_admin_pm), recipient, msg)
|
||||
|
||||
else //neither are admins
|
||||
to_chat(src, "<span class='danger'>Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.</span>", confidential = TRUE)
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
ertemplate = new /datum/ert/centcom_official
|
||||
|
||||
var/list/settings = list(
|
||||
"preview_callback" = CALLBACK(src, .proc/makeERTPreviewIcon),
|
||||
"preview_callback" = CALLBACK(src, PROC_REF(makeERTPreviewIcon)),
|
||||
"mainsettings" = list(
|
||||
"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),
|
||||
|
||||
@@ -19,7 +19,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
|
||||
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] used THERE CAN BE ONLY ONE!</span>")
|
||||
log_admin("[key_name(usr)] used THERE CAN BE ONLY ONE.")
|
||||
addtimer(CALLBACK(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 1), 50)
|
||||
addtimer(CALLBACK(SSshuttle.emergency, TYPE_PROC_REF(/obj/docking_port/mobile/emergency, request), null, 1), 50)
|
||||
|
||||
/client/proc/only_one_delayed()
|
||||
send_to_playing_players("<span class='userdanger'>Bagpipes begin to blare. You feel Scottish pride coming over you.</span>")
|
||||
|
||||
@@ -1593,7 +1593,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
/obj/effect/temp_visual/target/Initialize(mapload, list/flame_hit)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/fall, flame_hit)
|
||||
INVOKE_ASYNC(src, PROC_REF(fall), flame_hit)
|
||||
|
||||
/obj/effect/temp_visual/target/proc/fall(list/flame_hit)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -465,7 +465,7 @@
|
||||
SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Monkeyize All Humans"))
|
||||
for(var/i in GLOB.human_list)
|
||||
var/mob/living/carbon/human/H = i
|
||||
INVOKE_ASYNC(H, /mob/living/carbon.proc/monkeyize)
|
||||
INVOKE_ASYNC(H, TYPE_PROC_REF(/mob/living/carbon, monkeyize))
|
||||
ok = TRUE
|
||||
if("traitor_all")
|
||||
if(!is_funmin)
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
|
||||
/datum/antagonist/abductor/get_admin_commands()
|
||||
. = ..()
|
||||
.["Equip"] = CALLBACK(src,.proc/admin_equip)
|
||||
.["Equip"] = CALLBACK(src,PROC_REF(admin_equip))
|
||||
|
||||
/datum/antagonist/abductor/proc/admin_equip(mob/admin)
|
||||
if(!ishuman(owner.current))
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
return
|
||||
H.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY)
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(H)
|
||||
INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H) //could use moving out from the mine
|
||||
INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath/, mineEffect), H) //could use moving out from the mine
|
||||
|
||||
for(var/mob/living/carbon/human/P in GLOB.player_list)
|
||||
if(P == H || HAS_TRAIT(P, TRAIT_NO_MIDROUND_ANTAG))
|
||||
|
||||
@@ -499,7 +499,7 @@
|
||||
/datum/antagonist/changeling/get_admin_commands()
|
||||
. = ..()
|
||||
if(stored_profiles.len && (owner.current.real_name != first_prof.name))
|
||||
.["Transform to initial appearance."] = CALLBACK(src,.proc/admin_restore_appearance)
|
||||
.["Transform to initial appearance."] = CALLBACK(src,PROC_REF(admin_restore_appearance))
|
||||
|
||||
/datum/antagonist/changeling/proc/admin_restore_appearance(mob/admin)
|
||||
if(!stored_profiles.len || !iscarbon(owner.current))
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
user.DefaultCombatKnockdown(60)
|
||||
user.emote("gasp")
|
||||
|
||||
INVOKE_ASYNC(src, .proc/muscle_loop, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(muscle_loop), user)
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
if(reinf)
|
||||
fabrication_cost -= POWER_ROD
|
||||
for(var/obj/structure/grille/G in get_turf(src))
|
||||
INVOKE_ASYNC(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricate, G, user)
|
||||
INVOKE_ASYNC(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricate), G, user)
|
||||
return list("operation_time" = fabrication_time, "new_obj_type" = windowtype, "power_cost" = fabrication_cost, "spawn_dir" = dir, "dir_in_new" = new_dir)
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
@@ -237,7 +237,7 @@
|
||||
fabricator.repairing = src
|
||||
while(fabricator && user && src)
|
||||
if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \
|
||||
extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE)))
|
||||
extra_checks = CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricator_repair_checks), repair_values, src, user, TRUE)))
|
||||
break
|
||||
obj_integrity = clamp(obj_integrity + repair_values["healing_for_cycle"], 0, max_integrity)
|
||||
adjust_clockwork_power(-repair_values["power_required"])
|
||||
@@ -259,7 +259,7 @@
|
||||
fabricator.repairing = src
|
||||
while(fabricator && user && src)
|
||||
if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \
|
||||
extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE)))
|
||||
extra_checks = CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricator_repair_checks), repair_values, src, user, TRUE)))
|
||||
break
|
||||
fabricator_heal_tick(repair_values["healing_for_cycle"])
|
||||
adjust_clockwork_power(-repair_values["power_required"])
|
||||
@@ -323,7 +323,7 @@
|
||||
for(var/obj/item/clockwork/alloy_shards/S in get_turf(src)) //convert all other shards in the turf if we can
|
||||
if(S == src)
|
||||
continue //we want the shards to be fabricated after the main shard, thus this delay
|
||||
addtimer(CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricate, S, user, TRUE), 0)
|
||||
addtimer(CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricate), S, user, TRUE), 0)
|
||||
return list("operation_time" = 0, "new_obj_type" = null, "power_cost" = power_amount, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/clockwork/alloy_shards/medium/gear_bit/large/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent, power_amount)
|
||||
|
||||
@@ -44,6 +44,6 @@
|
||||
|
||||
/datum/action/innate/call_weapon/proc/weapon_reset(cooldown_time)
|
||||
cooldown = world.time + cooldown_time
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), cooldown_time)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), cooldown_time)
|
||||
owner.update_action_buttons_icon()
|
||||
QDEL_NULL(weapon)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
C.apply_damage((iscultist(C) ? damage * 2 : damage), BURN, (istype(part, /obj/item/bodypart/l_arm) ? BODY_ZONE_L_ARM : BODY_ZONE_R_ARM)) //Deals the damage to the holder instead of absorbing it instead + forcedrops. Doubled if a cultist of Nar'Sie.
|
||||
else
|
||||
owner.adjustFireLoss(iscultist(owner) ? damage * 2 : damage)
|
||||
addtimer(CALLBACK(owner, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
else if(!is_servant_of_ratvar(attacker)) //No exploiting my snowflake mechanics
|
||||
dam_absorbed += damage
|
||||
playsound(owner, 'sound/machines/clockcult/steam_whoosh.ogg', 30)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
user.emote("scream")
|
||||
user.apply_damage(30, BRUTE, BODY_ZONE_HEAD)
|
||||
user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30)
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off.
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off.
|
||||
|
||||
/obj/item/clothing/head/helmet/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
|
||||
if(equipper && !is_servant_of_ratvar(equipper))
|
||||
@@ -119,7 +119,7 @@
|
||||
user.apply_damage(15, BURN, BODY_ZONE_CHEST)
|
||||
user.adjust_fire_stacks(2)
|
||||
user.IgniteMob()
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
|
||||
/obj/item/clothing/gloves/clockwork
|
||||
name = "clockwork gauntlets"
|
||||
@@ -178,7 +178,7 @@
|
||||
user.emote("scream")
|
||||
user.apply_damage(7, BRUTE, BODY_ZONE_L_ARM)
|
||||
user.apply_damage(7, BRUTE, BODY_ZONE_R_ARM)
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
|
||||
/obj/item/clothing/shoes/clockwork
|
||||
name = "clockwork treads"
|
||||
@@ -228,4 +228,4 @@
|
||||
user.emote("scream")
|
||||
user.apply_damage(7, BURN, BODY_ZONE_L_LEG)
|
||||
user.apply_damage(7, BURN, BODY_ZONE_R_LEG)
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
|
||||
@@ -358,7 +358,7 @@
|
||||
recollecting = !recollecting
|
||||
. = TRUE
|
||||
if("recite")
|
||||
INVOKE_ASYNC(src, .proc/recite_scripture, text2path(params["script"]), usr, FALSE)
|
||||
INVOKE_ASYNC(src, PROC_REF(recite_scripture), text2path(params["script"]), usr, FALSE)
|
||||
. = TRUE
|
||||
if("bind")
|
||||
var/datum/clockwork_scripture/path = text2path(params["script"]) //we need a path and not a string
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
continue
|
||||
V.recharging = TRUE //To prevent exploiting multiple visors to bypass the cooldown
|
||||
V.update_status()
|
||||
addtimer(CALLBACK(V, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2)
|
||||
addtimer(CALLBACK(V, TYPE_PROC_REF(/obj/item/clothing/glasses/judicial_visor, recharge_visor), ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2)
|
||||
clockwork_say(ranged_ability_user, text2ratvar("Kneel, heathens!"))
|
||||
ranged_ability_user.visible_message("<span class='warning'>[ranged_ability_user]'s judicial visor fires a stream of energy at [target], creating a strange mark!</span>", "<span class='heavy_brass'>You direct [visor]'s power to [target]. You must wait for some time before doing this again.</span>")
|
||||
var/turf/targetturf = get_turf(target)
|
||||
@@ -139,7 +139,7 @@
|
||||
log_combat(ranged_ability_user, targetturf, "created a judicial marker")
|
||||
ranged_ability_user.update_action_buttons_icon()
|
||||
ranged_ability_user.update_inv_glasses()
|
||||
addtimer(CALLBACK(visor, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up
|
||||
addtimer(CALLBACK(visor, TYPE_PROC_REF(/obj/item/clothing/glasses/judicial_visor, recharge_visor), ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up
|
||||
remove_ranged_ability()
|
||||
|
||||
return TRUE
|
||||
@@ -161,7 +161,7 @@
|
||||
. = ..()
|
||||
set_light(1.4, 2, "#FE9C11")
|
||||
user = caster
|
||||
INVOKE_ASYNC(src, .proc/judicialblast)
|
||||
INVOKE_ASYNC(src, PROC_REF(judicialblast))
|
||||
|
||||
/obj/effect/clockwork/judicial_marker/singularity_act()
|
||||
return
|
||||
|
||||
@@ -114,11 +114,11 @@
|
||||
superheat_wall(A)
|
||||
return
|
||||
if(modifiers["middle"] || modifiers["ctrl"])
|
||||
INVOKE_ASYNC(src, .proc/issue_command, A)
|
||||
INVOKE_ASYNC(src, PROC_REF(issue_command), A)
|
||||
return
|
||||
if(GLOB.ark_of_the_clockwork_justiciar == A)
|
||||
var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar
|
||||
INVOKE_ASYNC(src, .proc/attempt_recall, G)
|
||||
INVOKE_ASYNC(src, PROC_REF(attempt_recall), G)
|
||||
else if(istype(A, /obj/structure/destructible/clockwork/trap/trigger))
|
||||
var/obj/structure/destructible/clockwork/trap/trigger/T = A
|
||||
T.visible_message("<span class='danger'>[T] clunks as it's activated remotely.</span>")
|
||||
|
||||
@@ -154,7 +154,7 @@ Judgement 80k power or nine converts
|
||||
if(!channel_time)
|
||||
return TRUE
|
||||
chant()
|
||||
if(!do_after(invoker, channel_time, target = invoker, extra_checks = CALLBACK(src, .proc/check_special_requirements)))
|
||||
if(!do_after(invoker, channel_time, target = invoker, extra_checks = CALLBACK(src, PROC_REF(check_special_requirements))))
|
||||
slab.busy = null
|
||||
chanting = FALSE
|
||||
scripture_fail()
|
||||
@@ -201,7 +201,7 @@ Judgement 80k power or nine converts
|
||||
|
||||
/datum/clockwork_scripture/channeled/scripture_effects()
|
||||
for(var/i in 1 to chant_amount)
|
||||
if(!do_after(invoker, chant_interval, target = invoker, extra_checks = CALLBACK(src, .proc/can_recite)))
|
||||
if(!do_after(invoker, chant_interval, target = invoker, extra_checks = CALLBACK(src, PROC_REF(can_recite))))
|
||||
break
|
||||
clockwork_say(invoker, text2ratvar(pick(chant_invocations)), whispered)
|
||||
if(multiple_invokers_used)
|
||||
|
||||
@@ -217,7 +217,7 @@
|
||||
playsound(owner, 'sound/magic/clockwork/fellowship_armory.ogg', 15 * do_message, TRUE) //get sound loudness based on how much we equipped
|
||||
cooldown = CLOCKWORK_ARMOR_COOLDOWN + world.time
|
||||
owner.update_action_buttons_icon()
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), CLOCKWORK_ARMOR_COOLDOWN)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), CLOCKWORK_ARMOR_COOLDOWN)
|
||||
return TRUE
|
||||
|
||||
/datum/action/innate/clockwork_armaments/proc/remove_item_if_better(obj/item/I, mob/user)
|
||||
@@ -418,7 +418,7 @@
|
||||
invoker.light_range = 4
|
||||
invoker.light_color = LIGHT_COLOR_FIRE
|
||||
invoker.update_light()
|
||||
addtimer(CALLBACK(invoker, /mob.proc/stop_void_volt_glow), channel_time)
|
||||
addtimer(CALLBACK(invoker, TYPE_PROC_REF(/mob, stop_void_volt_glow)), channel_time)
|
||||
..()//Do the timer & Chant
|
||||
|
||||
/mob/proc/stop_void_volt_glow() //Needed so the scripture being qdel()d doesn't prevent it.
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/Initialize(mapload)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/spawn_animation)
|
||||
INVOKE_ASYNC(src, PROC_REF(spawn_animation))
|
||||
glow = new(get_turf(src))
|
||||
if(!GLOB.ark_of_the_clockwork_justiciar)
|
||||
GLOB.ark_of_the_clockwork_justiciar = src
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@
|
||||
var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/clockwork_effects.dmi', "ratvar_alert")
|
||||
notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [get_area_name(src)] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay)
|
||||
SSpersistence.station_was_destroyed = TRUE
|
||||
INVOKE_ASYNC(src, .proc/purge_the_heresy)
|
||||
INVOKE_ASYNC(src, PROC_REF(purge_the_heresy))
|
||||
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/Destroy()
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
/obj/structure/destructible/clockwork/reflector/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation))
|
||||
AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, PROC_REF(can_be_rotated)),CALLBACK(src,PROC_REF(after_rotation)))
|
||||
|
||||
/obj/structure/destructible/clockwork/reflector/bullet_act(obj/item/projectile/P)
|
||||
if(!anchored || !allowed_projectile_typecache[P.type] || !(P.dir in GLOB.cardinals))
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
|
||||
/datum/antagonist/clockcult/get_admin_commands()
|
||||
. = ..()
|
||||
.["Give slab"] = CALLBACK(src,.proc/admin_give_slab)
|
||||
.["Give slab"] = CALLBACK(src,PROC_REF(admin_give_slab))
|
||||
|
||||
/datum/antagonist/clockcult/proc/admin_give_slab(mob/admin)
|
||||
if(!SSticker.mode.equip_servant(owner.current))
|
||||
|
||||
@@ -180,8 +180,8 @@
|
||||
|
||||
/datum/antagonist/cult/get_admin_commands()
|
||||
. = ..()
|
||||
.["Dagger"] = CALLBACK(src,.proc/admin_give_dagger)
|
||||
.["Dagger and Metal"] = CALLBACK(src,.proc/admin_give_metal)
|
||||
.["Dagger"] = CALLBACK(src,PROC_REF(admin_give_dagger))
|
||||
.["Dagger and Metal"] = CALLBACK(src,PROC_REF(admin_give_metal))
|
||||
|
||||
/datum/antagonist/cult/proc/admin_give_dagger(mob/admin)
|
||||
if(!equip_cultist(FALSE))
|
||||
|
||||
@@ -278,7 +278,7 @@
|
||||
C.cult_team.blood_target = target
|
||||
var/area/A = get_area(target)
|
||||
attached_action.cooldown = world.time + attached_action.base_cooldown
|
||||
addtimer(CALLBACK(attached_action.owner, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown)
|
||||
addtimer(CALLBACK(attached_action.owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown)
|
||||
C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
|
||||
C.cult_team.blood_target_image.appearance_flags = RESET_COLOR
|
||||
C.cult_team.blood_target_image.pixel_x = -target.pixel_x
|
||||
@@ -360,7 +360,7 @@
|
||||
C.cult_team.blood_target = target
|
||||
var/area/A = get_area(target)
|
||||
cooldown = world.time + base_cooldown
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown)
|
||||
C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
|
||||
C.cult_team.blood_target_image.appearance_flags = RESET_COLOR
|
||||
C.cult_team.blood_target_image.pixel_x = -target.pixel_x
|
||||
@@ -468,4 +468,4 @@
|
||||
attached_action.cooldown = world.time + attached_action.base_cooldown
|
||||
remove_ranged_ability("<span class='cult'>A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.</span>")
|
||||
caller.update_action_buttons_icon()
|
||||
addtimer(CALLBACK(caller, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown)
|
||||
addtimer(CALLBACK(caller, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown)
|
||||
|
||||
@@ -888,10 +888,10 @@
|
||||
qdel(src)
|
||||
return
|
||||
charging = TRUE
|
||||
INVOKE_ASYNC(src, .proc/charge, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(charge), user)
|
||||
if(do_after(user, 90, target = user))
|
||||
firing = TRUE
|
||||
INVOKE_ASYNC(src, .proc/pewpew, user, params)
|
||||
INVOKE_ASYNC(src, PROC_REF(pewpew), user, params)
|
||||
var/obj/structure/emergency_shield/invoker/N = new(user.loc)
|
||||
if(do_after(user, 90, target = user))
|
||||
user.DefaultCombatKnockdown(40)
|
||||
@@ -964,7 +964,7 @@
|
||||
playsound(L, 'sound/hallucinations/wail.ogg', 50, 1)
|
||||
L.emote("scream")
|
||||
var/datum/beam/current_beam = new(user,temp_target,time=7,beam_icon_state="blood_beam",btype=/obj/effect/ebeam/blood)
|
||||
INVOKE_ASYNC(current_beam, /datum/beam.proc/Start)
|
||||
INVOKE_ASYNC(current_beam, TYPE_PROC_REF(/datum/beam, Start))
|
||||
|
||||
|
||||
/obj/effect/ebeam/blood
|
||||
@@ -1011,7 +1011,7 @@
|
||||
playsound(src, 'sound/weapons/parry.ogg', 100, 1)
|
||||
if(illusions > 0)
|
||||
illusions--
|
||||
addtimer(CALLBACK(src, /obj/item/shield/mirror.proc/readd), 450)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/shield/mirror, readd)), 450)
|
||||
if(prob(60))
|
||||
var/mob/living/simple_animal/hostile/illusion/M = new(owner.loc)
|
||||
M.faction = list("cult")
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
cooldown = base_cooldown + world.time
|
||||
owner.update_action_buttons_icon()
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown)
|
||||
var/list/health
|
||||
if(damage_interrupt && isliving(owner))
|
||||
var/mob/living/L = owner
|
||||
@@ -66,7 +66,7 @@
|
||||
if(istype(T, /turf/open/floor/engine/cult))
|
||||
scribe_mod *= 0.5
|
||||
playsound(T, 'sound/magic/enter_blood.ogg', 100, FALSE)
|
||||
if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, /mob.proc/break_do_after_checks, health, action_interrupt)))
|
||||
if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob, break_do_after_checks), health, action_interrupt)))
|
||||
var/obj/effect/rune/new_rune = new rune_type(owner.loc)
|
||||
new_rune.keyword = chosen_keyword
|
||||
else
|
||||
|
||||
@@ -123,7 +123,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
|
||||
|
||||
/datum/antagonist/devil/get_admin_commands()
|
||||
. = ..()
|
||||
.["Toggle ascendable"] = CALLBACK(src,.proc/admin_toggle_ascendable)
|
||||
.["Toggle ascendable"] = CALLBACK(src,PROC_REF(admin_toggle_ascendable))
|
||||
|
||||
/datum/antagonist/devil/proc/admin_toggle_ascendable(mob/admin)
|
||||
ascendable = !ascendable
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
/datum/antagonist/heretic/get_admin_commands()
|
||||
. = ..()
|
||||
.["Equip"] = CALLBACK(src,.proc/equip_cultist)
|
||||
.["Equip"] = CALLBACK(src,PROC_REF(equip_cultist))
|
||||
|
||||
/datum/antagonist/heretic/roundend_report()
|
||||
var/list/parts = list()
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
if(!IS_HERETIC(user))
|
||||
return
|
||||
if(!is_in_use)
|
||||
INVOKE_ASYNC(src, .proc/activate , user)
|
||||
INVOKE_ASYNC(src, PROC_REF(activate) , user)
|
||||
|
||||
/obj/effect/eldritch/attackby(obj/item/I, mob/living/user)
|
||||
. = ..()
|
||||
@@ -218,8 +218,8 @@
|
||||
|
||||
/obj/effect/broken_illusion/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src,.proc/show_presence),15 SECONDS)
|
||||
addtimer(CALLBACK(src,.proc/remove_presence),195 SECONDS)
|
||||
addtimer(CALLBACK(src,PROC_REF(show_presence)),15 SECONDS)
|
||||
addtimer(CALLBACK(src,PROC_REF(remove_presence)),195 SECONDS)
|
||||
|
||||
var/image/I = image('icons/effects/eldritch.dmi',src,null,OBJ_LAYER)
|
||||
I.override = TRUE
|
||||
|
||||
@@ -359,15 +359,15 @@
|
||||
for(var/X in targets)
|
||||
var/T
|
||||
T = line_target(-25, range, X, user)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, user,T)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), user,T)
|
||||
T = line_target(10, range, X, user)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, user,T)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), user,T)
|
||||
T = line_target(0, range, X, user)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, user,T)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), user,T)
|
||||
T = line_target(-10, range, X, user)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, user,T)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), user,T)
|
||||
T = line_target(25, range, X, user)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, user,T)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), user,T)
|
||||
return ..()
|
||||
|
||||
/obj/effect/proc_holder/spell/pointed/nightwatchers_rite/proc/line_target(offset, range, atom/at , atom/user)
|
||||
@@ -446,7 +446,7 @@
|
||||
action_background_icon_state = "bg_ecult"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/fire_cascade/cast(list/targets, mob/user = usr)
|
||||
INVOKE_ASYNC(src, .proc/fire_cascade, user,range)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_cascade), user,range)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/fire_cascade/proc/fire_cascade(atom/centre,max_range)
|
||||
playsound(get_turf(centre), 'sound/items/welder.ogg', 75, TRUE)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/datum/antagonist/gang/get_admin_commands()
|
||||
. = ..()
|
||||
.["Give extra equipment"] = CALLBACK(src,.proc/equip_gangster_in_inventory)
|
||||
.["Give extra equipment"] = CALLBACK(src,PROC_REF(equip_gangster_in_inventory))
|
||||
|
||||
/datum/antagonist/gang/create_team(team_given) // gets called whenever add_antag_datum() is called on a mind
|
||||
if(team_given)
|
||||
|
||||
@@ -505,7 +505,7 @@
|
||||
|
||||
/obj/machinery/nuclearbomb/proc/really_actually_explode(off_station)
|
||||
Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker, TYPE_PROC_REF(/datum/controller/subsystem/ticker, station_explosion_detonation),src))
|
||||
INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z)
|
||||
INVOKE_ASYNC(GLOBAL_PROC,PROC_REF(KillEveryoneOnZLevel), z)
|
||||
|
||||
/obj/machinery/nuclearbomb/proc/get_cinematic_type(off_station)
|
||||
if(off_station < 2)
|
||||
|
||||
@@ -126,8 +126,8 @@
|
||||
|
||||
/datum/antagonist/nukeop/get_admin_commands()
|
||||
. = ..()
|
||||
.["Send to base"] = CALLBACK(src,.proc/admin_send_to_base)
|
||||
.["Tell code"] = CALLBACK(src,.proc/admin_tell_code)
|
||||
.["Send to base"] = CALLBACK(src,PROC_REF(admin_send_to_base))
|
||||
.["Tell code"] = CALLBACK(src,PROC_REF(admin_tell_code))
|
||||
|
||||
/datum/antagonist/nukeop/proc/admin_send_to_base(mob/admin)
|
||||
owner.current.forceMove(pick(GLOB.nukeop_start))
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
|
||||
/datum/antagonist/overthrow/get_admin_commands()
|
||||
. = ..()
|
||||
.["Give storage with random item"] = CALLBACK(src,.proc/equip_overthrow)
|
||||
.["Give overthrow boss equip"] = CALLBACK(src,.proc/equip_initial_overthrow_agent)
|
||||
.["Give storage with random item"] = CALLBACK(src,PROC_REF(equip_overthrow))
|
||||
.["Give overthrow boss equip"] = CALLBACK(src,PROC_REF(equip_initial_overthrow_agent))
|
||||
|
||||
// Dynamically creates the HUD for the team if it doesn't exist already, inserting it into the global huds list, and assigns it to the user. The index is saved into a var owned by the team datum.
|
||||
/datum/antagonist/overthrow/proc/update_overthrow_icons_added(datum/mind/traitor_mind)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
target.team = src
|
||||
target.find_target()
|
||||
objectives += target
|
||||
addtimer(CALLBACK(src,.proc/update_objectives),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src,PROC_REF(update_objectives)),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE)
|
||||
|
||||
/datum/team/overthrow/proc/update_objectives()
|
||||
var/datum/objective/overthrow/heads/heads_obj = locate() in objectives
|
||||
@@ -40,4 +40,4 @@
|
||||
O.objectives += heads_obj
|
||||
heads_obj.find_targets()
|
||||
|
||||
addtimer(CALLBACK(src,.proc/update_objectives),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src,PROC_REF(update_objectives)),OBJECTIVE_UPDATING_TIME,TIMER_UNIQUE)
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
if(stasis)
|
||||
return
|
||||
if(revealed && essence <= 0)
|
||||
INVOKE_ASYNC(src, .proc/death)
|
||||
INVOKE_ASYNC(src, PROC_REF(death))
|
||||
if(unreveal_time && world.time >= unreveal_time)
|
||||
unreveal_time = 0
|
||||
revealed = FALSE
|
||||
@@ -478,7 +478,7 @@
|
||||
log_combat(throwable, over, "spooky telekinesised at", throwable)
|
||||
var/obj/effect/temp_visual/telekinesis/T = new(get_turf(throwable))
|
||||
T.color = "#8715b4"
|
||||
addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 50)
|
||||
addtimer(CALLBACK(spooker, TYPE_PROC_REF(/mob/living/simple_animal/revenant, telekinesis_cooldown_end)), 50)
|
||||
sleep(5)
|
||||
throwable.float(FALSE, TRUE)
|
||||
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/overload/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
|
||||
if(attempt_cast(user))
|
||||
for(var/turf/T in targets)
|
||||
INVOKE_ASYNC(src, .proc/overload, T, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(overload), T, user)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/overload(turf/T, mob/user)
|
||||
for(var/obj/machinery/light/L in T)
|
||||
@@ -236,7 +236,7 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/defile/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
|
||||
if(attempt_cast(user))
|
||||
for(var/turf/T in targets)
|
||||
INVOKE_ASYNC(src, .proc/defile, T)
|
||||
INVOKE_ASYNC(src, PROC_REF(defile), T)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T)
|
||||
for(var/obj/effect/blessing/B in T)
|
||||
@@ -287,7 +287,7 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
|
||||
if(attempt_cast(user))
|
||||
for(var/turf/T in targets)
|
||||
INVOKE_ASYNC(src, .proc/malfunction, T, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(malfunction), T, user)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/proc/malfunction(turf/T, mob/user)
|
||||
for(var/mob/living/simple_animal/bot/bot in T)
|
||||
@@ -333,7 +333,7 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/blight/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
|
||||
if(attempt_cast(user))
|
||||
for(var/turf/T in targets)
|
||||
INVOKE_ASYNC(src, .proc/blight, T, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(blight), T, user)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/blight/proc/blight(turf/T, mob/user)
|
||||
for(var/mob/living/mob in T)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
/datum/antagonist/rev/get_admin_commands()
|
||||
. = ..()
|
||||
.["Promote"] = CALLBACK(src,.proc/admin_promote)
|
||||
.["Promote"] = CALLBACK(src,PROC_REF(admin_promote))
|
||||
|
||||
/datum/antagonist/rev/proc/admin_promote(mob/admin)
|
||||
var/datum/mind/O = owner
|
||||
@@ -113,10 +113,10 @@
|
||||
/datum/antagonist/rev/head/get_admin_commands()
|
||||
. = ..()
|
||||
. -= "Promote"
|
||||
.["Take flash"] = CALLBACK(src,.proc/admin_take_flash)
|
||||
.["Give flash"] = CALLBACK(src,.proc/admin_give_flash)
|
||||
.["Repair flash"] = CALLBACK(src,.proc/admin_repair_flash)
|
||||
.["Demote"] = CALLBACK(src,.proc/admin_demote)
|
||||
.["Take flash"] = CALLBACK(src,PROC_REF(admin_take_flash))
|
||||
.["Give flash"] = CALLBACK(src,PROC_REF(admin_give_flash))
|
||||
.["Repair flash"] = CALLBACK(src,PROC_REF(admin_repair_flash))
|
||||
.["Demote"] = CALLBACK(src,PROC_REF(admin_demote))
|
||||
|
||||
/datum/antagonist/rev/head/proc/admin_take_flash(mob/admin)
|
||||
var/list/L = owner.current.get_contents()
|
||||
@@ -322,7 +322,7 @@
|
||||
var/datum/antagonist/rev/R = M.has_antag_datum(/datum/antagonist/rev)
|
||||
R.objectives |= objectives
|
||||
|
||||
addtimer(CALLBACK(src,.proc/update_objectives),HEAD_UPDATE_PERIOD,TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src,PROC_REF(update_objectives)),HEAD_UPDATE_PERIOD,TIMER_UNIQUE)
|
||||
|
||||
/datum/team/revolution/proc/head_revolutionaries()
|
||||
. = list()
|
||||
@@ -348,7 +348,7 @@
|
||||
var/datum/antagonist/rev/rev = new_leader.has_antag_datum(/datum/antagonist/rev)
|
||||
rev.promote()
|
||||
|
||||
addtimer(CALLBACK(src,.proc/update_heads),HEAD_UPDATE_PERIOD,TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src,PROC_REF(update_heads)),HEAD_UPDATE_PERIOD,TIMER_UNIQUE)
|
||||
|
||||
/datum/team/revolution/proc/save_members()
|
||||
ex_headrevs = get_antag_minds(/datum/antagonist/rev/head, TRUE)
|
||||
|
||||
@@ -454,8 +454,8 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
for(var/obj/machinery/door/D in GLOB.airlocks)
|
||||
if(!is_station_level(D.z))
|
||||
continue
|
||||
INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, owner)
|
||||
addtimer(CALLBACK(D, /obj/machinery/door.proc/disable_lockdown), 900)
|
||||
INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door, hostile_lockdown), owner)
|
||||
addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/door, disable_lockdown)), 900)
|
||||
|
||||
var/obj/machinery/computer/communications/C = locate() in GLOB.machines
|
||||
if(C)
|
||||
@@ -463,7 +463,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
|
||||
minor_announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.","Network Alert:", TRUE)
|
||||
to_chat(owner, "<span class='danger'>Lockdown initiated. Network reset in 90 seconds.</span>")
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce,
|
||||
addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(minor_announce),
|
||||
"Automatic system reboot complete. Have a secure day.",
|
||||
"Network reset:"), 900)
|
||||
|
||||
@@ -612,7 +612,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
ranged_ability_user.playsound_local(ranged_ability_user, "sparks", 50, 0)
|
||||
attached_action.adjust_uses(-1)
|
||||
target.audible_message("<span class='userdanger'>You hear a loud electrical buzzing sound coming from [target]!</span>")
|
||||
addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/overload_machine.proc/detonate_machine, target), 50) //kaboom!
|
||||
addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/overload_machine, detonate_machine), target), 50) //kaboom!
|
||||
remove_ranged_ability("<span class='danger'>Overcharging machine...</span>")
|
||||
return TRUE
|
||||
|
||||
@@ -659,7 +659,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0)
|
||||
attached_action.adjust_uses(-1)
|
||||
target.audible_message("<span class='userdanger'>You hear a loud electrical buzzing sound coming from [target]!</span>")
|
||||
addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep!
|
||||
addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/override_machine, animate_machine), target), 50) //kabeep!
|
||||
remove_ranged_ability("<span class='danger'>Sending override signal...</span>")
|
||||
return TRUE
|
||||
|
||||
@@ -796,7 +796,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
for(var/obj/machinery/light/L in GLOB.machines)
|
||||
if(is_station_level(L.z))
|
||||
L.no_emergency = TRUE
|
||||
INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
|
||||
INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light/, update), FALSE)
|
||||
CHECK_TICK
|
||||
to_chat(owner, "<span class='notice'>Emergency light connections severed.</span>")
|
||||
owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE)
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
insaneinthemembrane.sanity = 0
|
||||
for(var/lore in typesof(/datum/brain_trauma/severe))
|
||||
C.gain_trauma(lore)
|
||||
addtimer(CALLBACK(src, /obj/singularity/wizard.proc/deranged, C), 100)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/singularity/wizard, deranged), C), 100)
|
||||
|
||||
/obj/singularity/wizard/proc/deranged(mob/living/carbon/C)
|
||||
if(!C || C.stat == DEAD)
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
/datum/antagonist/wizard/get_admin_commands()
|
||||
. = ..()
|
||||
.["Send to Lair"] = CALLBACK(src,.proc/admin_send_to_lair)
|
||||
.["Send to Lair"] = CALLBACK(src,PROC_REF(admin_send_to_lair))
|
||||
|
||||
/datum/antagonist/wizard/proc/admin_send_to_lair(mob/admin)
|
||||
owner.current.forceMove(pick(GLOB.wizardstart))
|
||||
|
||||
@@ -58,9 +58,9 @@
|
||||
//Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs
|
||||
/obj/item/assembly/proc/pulsed(radio = FALSE)
|
||||
if(wire_type & WIRE_RECEIVE)
|
||||
INVOKE_ASYNC(src, .proc/activate)
|
||||
INVOKE_ASYNC(src, PROC_REF(activate))
|
||||
if(radio && (wire_type & WIRE_RADIO_RECEIVE))
|
||||
INVOKE_ASYNC(src, .proc/activate)
|
||||
INVOKE_ASYNC(src, PROC_REF(activate))
|
||||
return TRUE
|
||||
|
||||
//Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
if(M.id == src.id)
|
||||
if(openclose == null)
|
||||
openclose = M.density
|
||||
INVOKE_ASYNC(M, openclose ? /obj/machinery/door/poddoor.proc/open : /obj/machinery/door/poddoor.proc/close)
|
||||
INVOKE_ASYNC(M, openclose ? TYPE_PROC_REF(/obj/machinery/door/poddoor, open) : TYPE_PROC_REF(/obj/machinery/door/poddoor, close))
|
||||
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10)
|
||||
|
||||
/obj/item/assembly/control/airlock
|
||||
@@ -83,7 +83,7 @@
|
||||
D.safe = !D.safe
|
||||
|
||||
for(var/D in open_or_close)
|
||||
INVOKE_ASYNC(D, doors_need_closing ? /obj/machinery/door/airlock.proc/close : /obj/machinery/door/airlock.proc/open)
|
||||
INVOKE_ASYNC(D, doors_need_closing ? TYPE_PROC_REF(/obj/machinery/door/airlock, close) : TYPE_PROC_REF(/obj/machinery/door/airlock, open))
|
||||
|
||||
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10)
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
cooldown = TRUE
|
||||
for(var/obj/machinery/door/poddoor/M in GLOB.machines)
|
||||
if (M.id == src.id)
|
||||
INVOKE_ASYNC(M, /obj/machinery/door/poddoor.proc/open)
|
||||
INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door/poddoor, open))
|
||||
|
||||
sleep(10)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
for(var/obj/machinery/door/poddoor/M in GLOB.machines)
|
||||
if (M.id == src.id)
|
||||
INVOKE_ASYNC(M, /obj/machinery/door/poddoor.proc/close)
|
||||
INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door/poddoor, close))
|
||||
|
||||
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10)
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
cooldown = TRUE
|
||||
for(var/obj/machinery/sparker/M in GLOB.machines)
|
||||
if (M.id == src.id)
|
||||
INVOKE_ASYNC(M, /obj/machinery/sparker.proc/ignite)
|
||||
INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/sparker, ignite))
|
||||
|
||||
for(var/obj/machinery/igniter/M in GLOB.machines)
|
||||
if(M.id == src.id)
|
||||
@@ -139,7 +139,7 @@
|
||||
cooldown = TRUE
|
||||
for(var/obj/machinery/flasher/M in GLOB.machines)
|
||||
if(M.id == src.id)
|
||||
INVOKE_ASYNC(M, /obj/machinery/flasher.proc/flash)
|
||||
INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/flasher, flash))
|
||||
|
||||
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 50)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/obj/item/assembly/infra/ComponentInitialize()
|
||||
. = ..()
|
||||
var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS
|
||||
AddComponent(/datum/component/simple_rotation, rotation_flags, after_rotation=CALLBACK(src,.proc/after_rotation))
|
||||
AddComponent(/datum/component/simple_rotation, rotation_flags, after_rotation=CALLBACK(src,PROC_REF(after_rotation)))
|
||||
|
||||
/obj/item/assembly/infra/proc/after_rotation()
|
||||
refreshBeam()
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
switch(action)
|
||||
if("signal")
|
||||
INVOKE_ASYNC(src, .proc/signal)
|
||||
INVOKE_ASYNC(src, PROC_REF(signal))
|
||||
. = TRUE
|
||||
if("freq")
|
||||
frequency = unformat_frequency(params["freq"])
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
on = !on
|
||||
|
||||
if("inject" in signal.data)
|
||||
INVOKE_ASYNC(src, .proc/inject)
|
||||
INVOKE_ASYNC(src, PROC_REF(inject))
|
||||
return
|
||||
|
||||
if("set_volume_rate" in signal.data)
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
/obj/effect/mob_spawn/Initialize(mapload)
|
||||
. = ..()
|
||||
if(instant || (roundstart && (mapload || (SSticker && SSticker.current_state > GAME_STATE_SETTING_UP))))
|
||||
INVOKE_ASYNC(src, .proc/create)
|
||||
INVOKE_ASYNC(src, PROC_REF(create))
|
||||
else if(ghost_usable)
|
||||
GLOB.poi_list |= src
|
||||
LAZYADD(GLOB.mob_spawners[job_description ? job_description : name], src)
|
||||
|
||||
@@ -89,7 +89,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations)
|
||||
|
||||
/datum/gateway_destination/gateway/post_transfer(atom/movable/AM)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(AM,/atom/movable.proc/setDir,SOUTH),0)
|
||||
addtimer(CALLBACK(AM,TYPE_PROC_REF(/atom/movable, setDir),SOUTH),0)
|
||||
|
||||
/* Special home destination, so we can check exile implants */
|
||||
/datum/gateway_destination/gateway/home
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/atom/proc/balloon_alert(mob/viewer, text)
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
|
||||
INVOKE_ASYNC(src, .proc/balloon_alert_perform, viewer, text)
|
||||
INVOKE_ASYNC(src, PROC_REF(balloon_alert_perform), viewer, text)
|
||||
|
||||
/// Create balloon alerts (text that floats up) to everything within range.
|
||||
/// Will only display to people who can see.
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
mode = new /datum/buildmode_mode/basic(src)
|
||||
holder = c
|
||||
buttons = list()
|
||||
li_cb = CALLBACK(src, .proc/post_login)
|
||||
li_cb = CALLBACK(src, PROC_REF(post_login))
|
||||
holder.player_details.post_login_callbacks += li_cb
|
||||
holder.show_popup_menus = FALSE
|
||||
create_buttons()
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
/mob/living/simple_animal/pet/gondola/gondolapod/setOpened()
|
||||
opened = TRUE
|
||||
update_icon()
|
||||
addtimer(CALLBACK(src, /atom.proc/setClosed), 50)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, setClosed)), 50)
|
||||
|
||||
/mob/living/simple_animal/pet/gondola/gondolapod/setClosed()
|
||||
opened = FALSE
|
||||
|
||||
@@ -971,7 +971,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
|
||||
//Precache the client with all other assets slowly, so as to not block other browse() calls
|
||||
if (CONFIG_GET(flag/asset_simple_preload))
|
||||
addtimer(CALLBACK(SSassets.transport, /datum/asset_transport.proc/send_assets_slow, src, SSassets.transport.preload), 5 SECONDS)
|
||||
addtimer(CALLBACK(SSassets.transport, TYPE_PROC_REF(/datum/asset_transport, send_assets_slow), src, SSassets.transport.preload), 5 SECONDS)
|
||||
|
||||
#if (PRELOAD_RSC == 0)
|
||||
for (var/name in GLOB.vox_sounds)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/obj/item/clothing/gloves/ComponentInitialize()
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood)
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom, clean_blood))
|
||||
|
||||
/obj/item/clothing/gloves/clean_blood(datum/source, strength)
|
||||
. = ..()
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
/obj/item/clothing/head/foilhat/Initialize(mapload)
|
||||
. = ..()
|
||||
if(!warped)
|
||||
AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, .proc/warp_up))
|
||||
AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, 6, TRUE, null, CALLBACK(src, PROC_REF(warp_up)))
|
||||
else
|
||||
warp_up()
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
/obj/item/clothing/shoes/ComponentInitialize()
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood)
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom, clean_blood))
|
||||
|
||||
/obj/item/clothing/shoes/suicide_act(mob/living/carbon/user)
|
||||
if(rand(2)>1)
|
||||
|
||||
@@ -397,7 +397,7 @@ Contains:
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, charges, TRUE, null, CALLBACK(src, .proc/anti_magic_gone))
|
||||
AddComponent(/datum/component/anti_magic, FALSE, FALSE, TRUE, ITEM_SLOT_HEAD, charges, TRUE, null, CALLBACK(src, PROC_REF(anti_magic_gone)))
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/proc/anti_magic_gone()
|
||||
var/mob/M = loc
|
||||
@@ -418,7 +418,7 @@ Contains:
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_OCLOTHING, charges, TRUE, null, CALLBACK(src, .proc/anti_magic_gone))
|
||||
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_OCLOTHING, charges, TRUE, null, CALLBACK(src, PROC_REF(anti_magic_gone)))
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/proc/anti_magic_gone()
|
||||
var/mob/M = loc
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
player_mind.special_role = "Fugitive"
|
||||
player_mind.add_antag_datum(/datum/antagonist/fugitive)
|
||||
var/datum/antagonist/fugitive/fugitiveantag = player_mind.has_antag_datum(/datum/antagonist/fugitive)
|
||||
INVOKE_ASYNC(fugitiveantag, /datum/antagonist/fugitive.proc/greet, backstory) //some fugitives have a sleep on their greet, so we don't want to stop the entire antag granting proc with fluff
|
||||
INVOKE_ASYNC(fugitiveantag, TYPE_PROC_REF(/datum/antagonist/fugitive, greet), backstory) //some fugitives have a sleep on their greet, so we don't want to stop the entire antag granting proc with fluff
|
||||
|
||||
switch(backstory)
|
||||
if("prisoner")
|
||||
|
||||
@@ -423,7 +423,7 @@
|
||||
status_report = "Sending... "
|
||||
pad.visible_message("<span class='notice'>[pad] starts charging up.</span>")
|
||||
pad.icon_state = pad.warmup_state
|
||||
sending_timer = addtimer(CALLBACK(src,.proc/send),warmup_time, TIMER_STOPPABLE)
|
||||
sending_timer = addtimer(CALLBACK(src,PROC_REF(send)),warmup_time, TIMER_STOPPABLE)
|
||||
|
||||
/obj/machinery/computer/piratepad_control/proc/stop_sending(custom_report)
|
||||
if(!sending)
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
|
||||
/datum/round_event/wizard/fake_explosion/start()
|
||||
sound_to_playing_players('sound/machines/alarm.ogg')
|
||||
addtimer(CALLBACK(GLOBAL_PROC,.proc/Cinematic, CINEMATIC_NUKE_FAKE, world), 100)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(Cinematic), CINEMATIC_NUKE_FAKE, world), 100)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
/obj/item/greentext/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.poi_list |= src
|
||||
roundend_callback = CALLBACK(src,.proc/check_winner)
|
||||
roundend_callback = CALLBACK(src,PROC_REF(check_winner))
|
||||
SSticker.OnRoundend(roundend_callback)
|
||||
|
||||
/obj/item/greentext/equipped(mob/living/user as mob)
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
var/atom/_host = host
|
||||
var/atom/new_host_loc = _host.loc
|
||||
if(last_host_loc != new_host_loc)
|
||||
INVOKE_ASYNC(src, .proc/recalculate_field)
|
||||
INVOKE_ASYNC(src, PROC_REF(recalculate_field))
|
||||
|
||||
/datum/proximity_monitor/advanced/proc/post_setup_field()
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
if(G.summoner && locate(/obj/effect/proc_holder/spell/aoe_turf/domain_expansion) in G.summoner.mind.spell_list) //It would only make sense that a person's stand would also be immune.
|
||||
immune[G] = TRUE
|
||||
if(start)
|
||||
INVOKE_ASYNC(src, .proc/domain_expansion)
|
||||
INVOKE_ASYNC(src, PROC_REF(domain_expansion))
|
||||
|
||||
/obj/effect/domain_expansion/Destroy()
|
||||
qdel(chronofield)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
if(G.summoner && locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in G.summoner.mind.spell_list) //It would only make sense that a person's stand would also be immune.
|
||||
immune[G] = TRUE
|
||||
if(start)
|
||||
INVOKE_ASYNC(src, .proc/timestop)
|
||||
INVOKE_ASYNC(src, PROC_REF(timestop))
|
||||
|
||||
/obj/effect/timestop/Destroy()
|
||||
qdel(chronofield)
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
|
||||
var/mob/living/silicon/robot/bro = user
|
||||
bro.cell.use(30)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/add_reagent, refill, trans), 600)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, add_reagent), refill, trans), 600)
|
||||
|
||||
else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us.
|
||||
if (!is_refillable())
|
||||
|
||||
@@ -100,7 +100,7 @@ All foods are distributed among various categories. Use common sense.
|
||||
/obj/item/reagent_containers/food/snacks/attack(mob/living/M, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
INVOKE_ASYNC(src, .proc/attempt_forcefeed, M, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(attempt_forcefeed), M, user)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/proc/attempt_forcefeed(mob/living/M, mob/living/user)
|
||||
if(!eatverb)
|
||||
|
||||
@@ -643,7 +643,7 @@ Since Ramadan is an entire month that lasts 29.5 days on average, the start and
|
||||
return "Have a merry Christmas!"
|
||||
|
||||
/datum/holiday/xmas/celebrate()
|
||||
SSticker.OnRoundstart(CALLBACK(src, .proc/roundstart_celebrate))
|
||||
SSticker.OnRoundstart(CALLBACK(src, PROC_REF(roundstart_celebrate)))
|
||||
|
||||
/datum/holiday/xmas/proc/roundstart_celebrate()
|
||||
for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor in GLOB.machines)
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
var/uses = 1
|
||||
if(seed)
|
||||
uses = round(seed.potency / 20)
|
||||
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, PROC_REF(block_magic)), CALLBACK(src, .proc/expire)) //deliver us from evil o melon god
|
||||
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, PROC_REF(block_magic)), CALLBACK(src, PROC_REF(expire))) //deliver us from evil o melon god
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/holymelon/proc/block_magic(mob/user, major)
|
||||
if(major)
|
||||
|
||||
@@ -446,7 +446,7 @@
|
||||
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, trans_to), M, 5), 5)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/coconut/afterattack(obj/target, mob/user, proximity)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
/obj/machinery/hydroponics/constructable/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, .proc/can_be_rotated))
|
||||
AddComponent(/datum/component/simple_rotation, ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS, null, CALLBACK(src, PROC_REF(can_be_rotated)))
|
||||
AddComponent(/datum/component/plumbing/simple_demand)
|
||||
|
||||
/obj/machinery/hydroponics/constructable/proc/can_be_rotated(mob/user, rotation_type)
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
tempo = sanitize_tempo(tempo + text2num(href_list["tempo"]))
|
||||
|
||||
else if(href_list["play"])
|
||||
INVOKE_ASYNC(src, .proc/start_playing, usr)
|
||||
INVOKE_ASYNC(src, PROC_REF(start_playing), usr)
|
||||
|
||||
else if(href_list["newline"])
|
||||
var/newline = html_encode(input("Enter your line: ", parent.name) as text|null)
|
||||
|
||||
@@ -419,7 +419,7 @@
|
||||
)
|
||||
|
||||
/obj/item/integrated_circuit/manipulation/matman/ComponentInitialize()
|
||||
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, mtypes, 100000, FALSE, /obj/item/stack, CALLBACK(src, PROC_REF(is_insertion_ready)), CALLBACK(src, .proc/AfterMaterialInsert))
|
||||
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, mtypes, 100000, FALSE, /obj/item/stack, CALLBACK(src, PROC_REF(is_insertion_ready)), CALLBACK(src, PROC_REF(AfterMaterialInsert)))
|
||||
materials.precise_insertion = TRUE
|
||||
.=..()
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
dt = clamp(detonation_time.data, 1, 12)*10
|
||||
else
|
||||
dt = 15
|
||||
addtimer(CALLBACK(attached_grenade, /obj/item/grenade.proc/prime), dt)
|
||||
addtimer(CALLBACK(attached_grenade, TYPE_PROC_REF(/obj/item/grenade, prime)), dt)
|
||||
var/atom/holder = loc
|
||||
message_admins("activated a grenade assembly. Last touches: Assembly: [holder.fingerprintslast] Circuit: [fingerprintslast] Grenade: [attached_grenade.fingerprintslast]")
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
full_macro_assert(prefs_override)
|
||||
|
||||
/client/proc/full_macro_assert(datum/preferences/prefs_override = prefs)
|
||||
INVOKE_ASYNC(src, .proc/do_full_macro_assert, prefs_override) // winget sleeps.
|
||||
INVOKE_ASYNC(src, PROC_REF(do_full_macro_assert), prefs_override) // winget sleeps.
|
||||
|
||||
// TODO: OVERHAUL ALL OF THIS AGAIN. While this works this is flatout horrid with the "use list but also don't use lists" crap. I hate my life.
|
||||
/client/proc/do_full_macro_assert(datum/preferences/prefs_override = prefs)
|
||||
|
||||
@@ -206,10 +206,10 @@
|
||||
if(turn == 1)
|
||||
send_message(span_notice("<b>The selected map is [current_map.name]!</b></br>[current_map.description]"))
|
||||
send_message("<b>Day [turn] started! There is no voting on the first day. Say hello to everybody!</b>")
|
||||
next_phase_timer = addtimer(CALLBACK(src,.proc/check_trial, FALSE),first_day_phase_period,TIMER_STOPPABLE) //no voting period = no votes = instant night
|
||||
next_phase_timer = addtimer(CALLBACK(src,PROC_REF(check_trial), FALSE),first_day_phase_period,TIMER_STOPPABLE) //no voting period = no votes = instant night
|
||||
else
|
||||
send_message("<b>Day [turn] started! Voting will start in 1 minute.</b>")
|
||||
next_phase_timer = addtimer(CALLBACK(src,.proc/start_voting_phase),day_phase_period,TIMER_STOPPABLE)
|
||||
next_phase_timer = addtimer(CALLBACK(src,PROC_REF(start_voting_phase)),day_phase_period,TIMER_STOPPABLE)
|
||||
|
||||
SStgui.update_uis(src)
|
||||
|
||||
@@ -254,7 +254,7 @@
|
||||
on_trial = loser
|
||||
on_trial.body.forceMove(get_turf(town_center_landmark))
|
||||
phase = MAFIA_PHASE_JUDGEMENT
|
||||
next_phase_timer = addtimer(CALLBACK(src, .proc/lynch),judgement_phase_period,TIMER_STOPPABLE)
|
||||
next_phase_timer = addtimer(CALLBACK(src, PROC_REF(lynch)),judgement_phase_period,TIMER_STOPPABLE)
|
||||
reset_votes("Day")
|
||||
else
|
||||
if(verbose)
|
||||
@@ -404,7 +404,7 @@
|
||||
for(var/datum/mafia_role/R in all_roles)
|
||||
R.reveal_role(src)
|
||||
phase = MAFIA_PHASE_VICTORY_LAP
|
||||
next_phase_timer = addtimer(CALLBACK(src,.proc/end_game),victory_lap_period,TIMER_STOPPABLE)
|
||||
next_phase_timer = addtimer(CALLBACK(src,PROC_REF(end_game)),victory_lap_period,TIMER_STOPPABLE)
|
||||
|
||||
/**
|
||||
* Cleans up the game, resetting variables back to the beginning and removing the map with the generator.
|
||||
@@ -445,9 +445,9 @@
|
||||
if(D.id != "mafia") //so as to not trigger shutters on station, lol
|
||||
continue
|
||||
if(close)
|
||||
INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/close)
|
||||
INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/poddoor, close))
|
||||
else
|
||||
INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/open)
|
||||
INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/poddoor, open))
|
||||
|
||||
/**
|
||||
* The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.
|
||||
@@ -460,7 +460,7 @@
|
||||
phase = MAFIA_PHASE_NIGHT
|
||||
send_message("<b>Night [turn] started! Lockdown will end in 45 seconds.</b>")
|
||||
SEND_SIGNAL(src,COMSIG_MAFIA_SUNDOWN)
|
||||
next_phase_timer = addtimer(CALLBACK(src, .proc/resolve_night),night_phase_period,TIMER_STOPPABLE)
|
||||
next_phase_timer = addtimer(CALLBACK(src, PROC_REF(resolve_night)),night_phase_period,TIMER_STOPPABLE)
|
||||
SStgui.update_uis(src)
|
||||
|
||||
/**
|
||||
|
||||
@@ -103,4 +103,4 @@
|
||||
L.DefaultCombatKnockdown(60)
|
||||
if(ishuman(L))
|
||||
shake_camera(L, 20, 1)
|
||||
addtimer(CALLBACK(L, /mob/living/carbon.proc/vomit), 20)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/carbon, vomit)), 20)
|
||||
|
||||
@@ -1093,7 +1093,7 @@
|
||||
|
||||
/obj/item/lava_staff/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/attempt_lava, target, user, proximity_flag, click_parameters)
|
||||
INVOKE_ASYNC(src, PROC_REF(attempt_lava), target, user, proximity_flag, click_parameters)
|
||||
|
||||
/obj/item/lava_staff/proc/attempt_lava(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
if(timer > world.time)
|
||||
@@ -1165,7 +1165,7 @@
|
||||
/obj/item/mayhem/attack_self(mob/user)
|
||||
for(var/mob/living/carbon/human/H in range(7,user))
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(H)
|
||||
INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H)
|
||||
INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath/, mineEffect), H)
|
||||
to_chat(user, "<span class='notice'>You shatter the bottle!</span>")
|
||||
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1)
|
||||
message_admins("<span class='adminnotice'>[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!</span>")
|
||||
@@ -1312,11 +1312,11 @@
|
||||
calculate_anger_mod(user)
|
||||
timer = world.time + CLICK_CD_MELEE //by default, melee attacks only cause melee blasts, and have an accordingly short cooldown
|
||||
if(proximity_flag)
|
||||
INVOKE_ASYNC(src, .proc/aoe_burst, T, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(aoe_burst), T, user)
|
||||
log_combat(user, target, "fired 3x3 blast at", src)
|
||||
else
|
||||
if(ismineralturf(target) && get_dist(user, target) < 6) //target is minerals, we can hit it(even if we can't see it)
|
||||
INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), T, user)
|
||||
timer = world.time + cooldown_time
|
||||
else if(target in view(5, get_turf(user))) //if the target is in view, hit it
|
||||
timer = world.time + cooldown_time
|
||||
@@ -1327,12 +1327,12 @@
|
||||
C.monster_damage_boost = TRUE
|
||||
log_combat(user, target, "fired a chaser at", src)
|
||||
else
|
||||
INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast
|
||||
INVOKE_ASYNC(src, PROC_REF(cardinal_blasts), T, user) //otherwise, just do cardinal blast
|
||||
log_combat(user, target, "fired cardinal blast at", src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>That target is out of range!</span>" )
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
|
||||
/obj/item/hierophant_club/proc/calculate_anger_mod(mob/user) //we get stronger as the user loses health
|
||||
chaser_cooldown = initial(chaser_cooldown)
|
||||
@@ -1370,7 +1370,7 @@
|
||||
user.visible_message("<span class='hierophant_warning'>[user] starts fiddling with [src]'s pommel...</span>", \
|
||||
"<span class='notice'>You start detaching the hierophant beacon...</span>")
|
||||
timer = world.time + 51
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
if(do_after(user, 50, target = user) && !beacon)
|
||||
var/turf/T = get_turf(user)
|
||||
playsound(T,'sound/magic/blind.ogg', 200, 1, -4)
|
||||
@@ -1382,7 +1382,7 @@
|
||||
<span class='notice'>You can remove the beacon to place it again by striking it with the club.</span>")
|
||||
else
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need to be on solid ground to detach the beacon!</span>")
|
||||
return
|
||||
@@ -1399,7 +1399,7 @@
|
||||
user.update_action_buttons_icon()
|
||||
user.visible_message("<span class='hierophant_warning'>[user] starts to glow faintly...</span>")
|
||||
timer = world.time + 50
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_on"
|
||||
var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc)
|
||||
var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc)
|
||||
@@ -1411,7 +1411,7 @@
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
return
|
||||
new /obj/effect/temp_visual/hierophant/telegraph(T, user)
|
||||
@@ -1423,7 +1423,7 @@
|
||||
if(user)
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
if(beacon)
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
return
|
||||
@@ -1432,7 +1432,7 @@
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
return
|
||||
user.log_message("teleported self from [AREACOORD(source)] to [beacon]")
|
||||
@@ -1445,7 +1445,7 @@
|
||||
var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies
|
||||
B.damage = 15
|
||||
for(var/mob/living/L in range(1, source))
|
||||
INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along
|
||||
INVOKE_ASYNC(src, PROC_REF(teleport_mob), source, L, T, user) //regardless, take all mobs near us along
|
||||
sleep(6) //at this point the blasts detonate
|
||||
if(beacon)
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
@@ -1453,7 +1453,7 @@
|
||||
qdel(TE1)
|
||||
qdel(TE2)
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
if(beacon)
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
teleporting = FALSE
|
||||
@@ -1492,7 +1492,7 @@
|
||||
sleep(2)
|
||||
new /obj/effect/temp_visual/hierophant/blast(T, user, friendly_fire_check)
|
||||
for(var/d in GLOB.cardinals)
|
||||
INVOKE_ASYNC(src, .proc/blast_wall, T, d, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d, user)
|
||||
|
||||
/obj/item/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long
|
||||
if(!T)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
else //Maybe uses plasma in the future, although that wouldn't make any sense...
|
||||
leaping = 1
|
||||
update_icons()
|
||||
throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end))
|
||||
throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(leap_end)))
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/proc/leap_end()
|
||||
leaping = 0
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
/obj/item/organ/body_egg/alien_embryo/egg_process()
|
||||
if(stage < 5 && prob(3))
|
||||
stage++
|
||||
INVOKE_ASYNC(src, .proc/RefreshInfectionImage)
|
||||
INVOKE_ASYNC(src, PROC_REF(RefreshInfectionImage))
|
||||
|
||||
if(stage == 5 && prob(50))
|
||||
for(var/datum/surgery/S in owner.surgeries)
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
MarkResistTime()
|
||||
visible_message("<span class='warning'>[src] attempts to unbuckle [p_them()]self!</span>", \
|
||||
"<span class='notice'>You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)</span>")
|
||||
if(do_after(src, buckle_cd, src, timed_action_flags = IGNORE_HELD_ITEM | IGNORE_INCAPACITATED, extra_checks = CALLBACK(src, .proc/cuff_resist_check)))
|
||||
if(do_after(src, buckle_cd, src, timed_action_flags = IGNORE_HELD_ITEM | IGNORE_INCAPACITATED, extra_checks = CALLBACK(src, PROC_REF(cuff_resist_check))))
|
||||
if(!buckled)
|
||||
return
|
||||
buckled.user_unbuckle_mob(src, src)
|
||||
|
||||
@@ -50,7 +50,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift)
|
||||
if(SSticker.HasRoundStarted())
|
||||
SSblackbox.ReportDeath(src)
|
||||
if(is_devil(src))
|
||||
INVOKE_ASYNC(is_devil(src), /datum/antagonist/devil.proc/beginResurrectionCheck, src)
|
||||
INVOKE_ASYNC(is_devil(src), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src)
|
||||
|
||||
/mob/living/carbon/human/proc/makeSkeleton()
|
||||
ADD_TRAIT(src, TRAIT_DISFIGURED, TRAIT_GENERIC)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
//rock paper scissors emote handling
|
||||
/mob/living/carbon/human/proc/beginRockPaperScissors(var/chosen_move)
|
||||
GLOB.rockpaperscissors_players[src] = list(chosen_move, ROCKPAPERSCISSORS_NOT_DECIDED)
|
||||
do_after(src, ROCKPAPERSCISSORS_TIME_LIMIT, src, extra_checks = CALLBACK(src, .proc/rockpaperscissors_tick))
|
||||
do_after(src, ROCKPAPERSCISSORS_TIME_LIMIT, src, extra_checks = CALLBACK(src, PROC_REF(rockpaperscissors_tick)))
|
||||
var/new_entry = GLOB.rockpaperscissors_players[src]
|
||||
if(new_entry[2] == ROCKPAPERSCISSORS_NOT_DECIDED)
|
||||
to_chat(src, "You put your hand back down.")
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
if(CONFIG_GET(flag/disable_stambuffer))
|
||||
enable_intentional_sprint_mode()
|
||||
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood)
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom, clean_blood))
|
||||
GLOB.human_list += src
|
||||
|
||||
/mob/living/carbon/human/proc/setup_human_dna()
|
||||
@@ -47,7 +47,7 @@
|
||||
AddElement(/datum/element/flavor_text/carbon, _name = "Flavor Text", _save_key = "flavor_text")
|
||||
AddElement(/datum/element/flavor_text/carbon/temporary, "", "Set Pose (Temporary Flavor Text)", "This should be used only for things pertaining to the current round!", _save_key = null)
|
||||
AddElement(/datum/element/flavor_text, _name = "OOC Notes", _addendum = "Put information on ERP/vore/lewd-related preferences here. THIS SHOULD NOT CONTAIN REGULAR FLAVORTEXT!!", _always_show = TRUE, _save_key = "ooc_notes", _examine_no_preview = TRUE)
|
||||
AddElement(/datum/element/strippable, GLOB.strippable_human_items, /mob/living/carbon/human/.proc/should_strip)
|
||||
AddElement(/datum/element/strippable, GLOB.strippable_human_items, TYPE_PROC_REF(/mob/living/carbon/human/, should_strip))
|
||||
|
||||
/mob/living/carbon/human/Destroy()
|
||||
QDEL_NULL(physiology)
|
||||
|
||||
@@ -50,7 +50,7 @@ There are several things that need to be remembered:
|
||||
|
||||
/mob/living/carbon/human/ComponentInitialize()
|
||||
. = ..()
|
||||
RegisterSignal(src, SIGNAL_TRAIT(TRAIT_HUMAN_NO_RENDER), /mob.proc/regenerate_icons)
|
||||
RegisterSignal(src, SIGNAL_TRAIT(TRAIT_HUMAN_NO_RENDER), TYPE_PROC_REF(/mob, regenerate_icons))
|
||||
|
||||
//HAIR OVERLAY
|
||||
/mob/living/carbon/human/update_hair()
|
||||
|
||||
@@ -482,7 +482,7 @@
|
||||
last_teleport = world.time
|
||||
UpdateButtons() //action icon looks unavailable
|
||||
//action icon looks available again
|
||||
addtimer(CALLBACK(src, .proc/UpdateButtons), cooldown + 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(UpdateButtons)), cooldown + 5)
|
||||
|
||||
|
||||
//honk
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
pickupTarget = null
|
||||
pickupTimer = 0
|
||||
else
|
||||
INVOKE_ASYNC(src, .proc/walk2derpless, pickupTarget.loc)
|
||||
INVOKE_ASYNC(src, PROC_REF(walk2derpless), pickupTarget.loc)
|
||||
if(Adjacent(pickupTarget) || Adjacent(pickupTarget.loc)) // next to target
|
||||
drop_all_held_items() // who cares about these items, i want that one!
|
||||
if(isturf(pickupTarget.loc)) // on floor
|
||||
@@ -131,7 +131,7 @@
|
||||
if(!pickpocketing)
|
||||
pickpocketing = TRUE
|
||||
M.visible_message("[src] starts trying to take [pickupTarget] from [M]", "[src] tries to take [pickupTarget]!")
|
||||
INVOKE_ASYNC(src, .proc/pickpocket, M)
|
||||
INVOKE_ASYNC(src, PROC_REF(pickpocket), M)
|
||||
return TRUE
|
||||
|
||||
switch(mode)
|
||||
@@ -167,7 +167,7 @@
|
||||
return TRUE
|
||||
|
||||
if(target != null)
|
||||
INVOKE_ASYNC(src, .proc/walk2derpless, target)
|
||||
INVOKE_ASYNC(src, PROC_REF(walk2derpless), target)
|
||||
|
||||
// pickup any nearby weapon
|
||||
if(!pickupTarget && prob(MONKEY_WEAPON_PROB))
|
||||
@@ -252,7 +252,7 @@
|
||||
|
||||
if(target.pulledby != src && !istype(target.pulledby, /mob/living/carbon/monkey/))
|
||||
|
||||
INVOKE_ASYNC(src, .proc/walk2derpless, target.loc)
|
||||
INVOKE_ASYNC(src, PROC_REF(walk2derpless), target.loc)
|
||||
|
||||
if(Adjacent(target) && isturf(target.loc))
|
||||
a_intent = INTENT_GRAB
|
||||
@@ -265,7 +265,7 @@
|
||||
frustration = 0
|
||||
|
||||
else if(!disposing_body)
|
||||
INVOKE_ASYNC(src, .proc/walk2derpless, bodyDisposal.loc)
|
||||
INVOKE_ASYNC(src, PROC_REF(walk2derpless), bodyDisposal.loc)
|
||||
|
||||
if(Adjacent(bodyDisposal))
|
||||
disposing_body = TRUE
|
||||
|
||||
@@ -185,4 +185,4 @@ GLOBAL_LIST_INIT(strippable_monkey_items, create_strippable_list(list(
|
||||
if(prob(10))
|
||||
var/obj/item/clothing/head/helmet/justice/escape/helmet = new(src)
|
||||
equip_to_slot_or_del(helmet,ITEM_SLOT_HEAD)
|
||||
INVOKE_ASYNC(helmet, /obj/item.proc/attack_self, src) // todo encapsulate toggle
|
||||
INVOKE_ASYNC(helmet, TYPE_PROC_REF(/obj/item, attack_self), src) // todo encapsulate toggle
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
H.CloseWings()
|
||||
else
|
||||
H.OpenWings()
|
||||
addtimer(CALLBACK(H, open ? /mob/living/carbon/human.proc/OpenWings : /mob/living/carbon/human.proc/CloseWings), wing_time)
|
||||
addtimer(CALLBACK(H, open ? TYPE_PROC_REF(/mob/living/carbon/human, OpenWings) : TYPE_PROC_REF(/mob/living/carbon/human, CloseWings)), wing_time)
|
||||
|
||||
/datum/emote/living/flap/aflap
|
||||
key = "aflap"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
break
|
||||
var/msg = "[key_name_admin(src)] [ADMIN_JMP(src)] was found to have no .loc with an attached client, if the cause is unknown it would be wise to ask how this was accomplished."
|
||||
message_admins(msg)
|
||||
INVOKE_ASYNC(GLOBAL_PROC, .proc/send2tgs_adminless_only, "Mob", msg, R_ADMIN)
|
||||
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(send2tgs_adminless_only), "Mob", msg, R_ADMIN)
|
||||
log_game("[key_name(src)] was found to have no .loc with an attached client.")
|
||||
|
||||
// This is a temporary error tracker to make sure we've caught everything
|
||||
@@ -83,7 +83,7 @@
|
||||
handle_diginvis() //AI becomes unable to see mob
|
||||
|
||||
if((movement_type & FLYING) && !(movement_type & FLOATING)) //TODO: Better floating
|
||||
INVOKE_ASYNC(src, /atom/movable.proc/float, TRUE)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, float), TRUE)
|
||||
|
||||
if(!loc)
|
||||
return FALSE
|
||||
@@ -201,7 +201,7 @@
|
||||
/mob/living/proc/gravity_animate()
|
||||
if(!get_filter("gravity"))
|
||||
add_filter("gravity",1, GRAVITY_MOTION_BLUR)
|
||||
INVOKE_ASYNC(src, .proc/gravity_pulse_animation)
|
||||
INVOKE_ASYNC(src, PROC_REF(gravity_pulse_animation))
|
||||
|
||||
/mob/living/proc/gravity_pulse_animation()
|
||||
animate(get_filter("gravity"), y = 1, time = 10)
|
||||
|
||||
@@ -909,7 +909,7 @@
|
||||
else
|
||||
throw_alert("gravity", /atom/movable/screen/alert/weightless)
|
||||
if(!override && !is_flying())
|
||||
INVOKE_ASYNC(src, /atom/movable.proc/float, !has_gravity)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, float), !has_gravity)
|
||||
|
||||
/mob/living/float(on)
|
||||
if(throwing)
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
var/delay = data.block_start_delay
|
||||
combat_flags |= COMBAT_FLAG_ACTIVE_BLOCK_STARTING
|
||||
animate(src, pixel_x = get_standard_pixel_x_offset(), pixel_y = get_standard_pixel_y_offset(), time = delay, FALSE, SINE_EASING | EASE_IN)
|
||||
if(!do_after(src, delay, src, (IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE), extra_checks = CALLBACK(src, .proc/continue_starting_active_block)))
|
||||
if(!do_after(src, delay, src, (IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE), extra_checks = CALLBACK(src, PROC_REF(continue_starting_active_block))))
|
||||
to_chat(src, "<span class='warning'>You fail to raise [I].</span>")
|
||||
combat_flags &= ~(COMBAT_FLAG_ACTIVE_BLOCK_STARTING)
|
||||
animate(src, pixel_x = get_standard_pixel_x_offset(), pixel_y = get_standard_pixel_y_offset(), time = 2.5, FALSE, SINE_EASING | EASE_IN, ANIMATION_END_NOW)
|
||||
|
||||
@@ -486,7 +486,7 @@
|
||||
if(owner)
|
||||
attach_to(owner)
|
||||
if(autorun)
|
||||
INVOKE_ASYNC(src, .proc/run_animation, windup, active, spindown)
|
||||
INVOKE_ASYNC(src, PROC_REF(run_animation), windup, active, spindown)
|
||||
|
||||
/obj/effect/abstract/parry/main/Destroy()
|
||||
detach_from(owner)
|
||||
|
||||
@@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
|
||||
speech_bubble_recipients.Add(M.client)
|
||||
var/image/I = image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER)
|
||||
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
|
||||
INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, speech_bubble_recipients, 30)
|
||||
INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(flick_overlay), I, speech_bubble_recipients, 30)
|
||||
|
||||
//Listening gets trimmed here if a vocal bark's present. If anyone ever makes this proc return listening, make sure to instead initialize a copy of listening in here to avoid wonkiness
|
||||
if(SEND_SIGNAL(src, COMSIG_MOVABLE_QUEUE_BARK, listening, args) || vocal_bark || vocal_bark_id)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
if(!gibbed)
|
||||
// Will update all AI status displays with a blue screen of death
|
||||
INVOKE_ASYNC(src, .proc/emote, "bsod")
|
||||
INVOKE_ASYNC(src, PROC_REF(emote), "bsod")
|
||||
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
mmi.brainmob.container = mmi
|
||||
mmi.update_appearance()
|
||||
|
||||
INVOKE_ASYNC(src, .proc/updatename)
|
||||
INVOKE_ASYNC(src, PROC_REF(updatename))
|
||||
|
||||
aicamera = new/obj/item/camera/siliconcam/robot_camera(src)
|
||||
toner = tonermax
|
||||
@@ -1006,7 +1006,7 @@
|
||||
hat_offset = module.hat_offset
|
||||
|
||||
magpulse = module.magpulsing
|
||||
INVOKE_ASYNC(src, .proc/updatename)
|
||||
INVOKE_ASYNC(src, PROC_REF(updatename))
|
||||
|
||||
|
||||
/mob/living/silicon/robot/proc/place_on_head(obj/item/new_hat)
|
||||
|
||||
@@ -215,7 +215,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
|
||||
ResetModule()
|
||||
return TRUE
|
||||
|
||||
INVOKE_ASYNC(src, .proc/beep_boop_rogue_bot, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(beep_boop_rogue_bot), user)
|
||||
return TRUE
|
||||
|
||||
/mob/living/silicon/robot/proc/beep_boop_rogue_bot(mob/user)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
R.module = RM
|
||||
R.update_module_innate()
|
||||
RM.rebuild_modules()
|
||||
INVOKE_ASYNC(RM, .proc/do_transform_animation)
|
||||
INVOKE_ASYNC(RM, PROC_REF(do_transform_animation))
|
||||
if(RM.dogborg || R.dogborg)
|
||||
RM.dogborg_equip()
|
||||
R.typing_indicator_state = /obj/effect/overlay/typing_indicator/machine/dogborg
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
/mob/living/simple_animal/bot/secbot/grievous/Initialize(mapload)
|
||||
. = ..()
|
||||
weapon = new baton_type(src)
|
||||
INVOKE_ASYNC(weapon, /obj/item.proc/attack_self, src)
|
||||
INVOKE_ASYNC(weapon, TYPE_PROC_REF(/obj/item, attack_self), src)
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/grievous/Destroy()
|
||||
QDEL_NULL(weapon)
|
||||
@@ -107,7 +107,7 @@
|
||||
if((C.name == oldtarget_name) && (world.time < last_found + 100))
|
||||
continue
|
||||
|
||||
threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
|
||||
threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons)))
|
||||
|
||||
if(!threatlevel)
|
||||
continue
|
||||
@@ -122,7 +122,7 @@
|
||||
icon_state = "grievous-c"
|
||||
visible_message("<b>[src]</b> points at [C.name]!")
|
||||
mode = BOT_HUNT
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
|
||||
break
|
||||
else
|
||||
continue
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user